-----------------------------------------------------------------------------
 MANIFEST                          |  261 -
 Makefile                          |   62 
 README.WIN                        |    6 
 aclocal.m4                        | 1416 ++++---
 config.guess                      |  123 
 config.sub                        |   72 
 configure                         | 6768 ++++++++++++++++++++++++------------
 configure.in                      |  119 
 doc/CHANGES                       |   85 
 doc/CREDITS                       |   71 
 doc/DEBUG_REFS                    |   16 
 doc/INSTALL                       |  105 
 doc/TODO                          |  143 
 doc/WHATSNEW                      |    5 
 doc/filtering                     |   15 
 doc/mailcap.sample                |    8 
 doc/tin.1                         |  260 -
 doc/tin.5                         |  248 -
 doc/tinews.1                      |   59 
 doc/tools.txt                     |   11 
 doc/url_handler.1                 |  169 
 include/autoconf.hin              |   39 
 include/bool.h                    |    2 
 include/bugrep.h                  |    2 
 include/debug.h                   |   58 
 include/extern.h                  |   29 
 include/keymap.h                  |    6 
 include/newsrc.h                  |   18 
 include/nntplib.h                 |   46 
 include/policy.h                  |   46 
 include/proto.h                   |   61 
 include/rfc2046.h                 |   10 
 include/stpwatch.h                |    2 
 include/tcurses.h                 |    2 
 include/tin.h                     |  147 
 include/tinrc.h                   |    2 
 include/tnntp.h                   |   12 
 include/trace.h                   |    2 
 include/version.h                 |   15 
 libcanlock/Build                  |   43 
 libcanlock/CHANGES                |   59 
 libcanlock/HOWTO                  |   40 
 libcanlock/MANIFEST               |   25 
 libcanlock/Makefile.in            |   50 
 libcanlock/README                 |   65 
 libcanlock/base64.c               |  324 -
 libcanlock/base64.h               |    2 
 libcanlock/canlock.h              |   10 
 libcanlock/canlock_md5.c          |   81 
 libcanlock/canlock_misc.c         |   55 
 libcanlock/canlock_sha1.c         |   81 
 libcanlock/canlocktest.c          |  106 
 libcanlock/endian.c               |  115 
 libcanlock/hmac_md5.c             |   75 
 libcanlock/hmac_md5.h             |    1 
 libcanlock/hmac_sha1.c            |   74 
 libcanlock/hmac_sha1.h            |    1 
 libcanlock/hmactest.c             |  154 
 libcanlock/include/base64.h       |   42 
 libcanlock/include/canlock.h      |    8 
 libcanlock/include/hmac_sha1.h    |    2 
 libcanlock/include/sha1.h         |   50 
 libcanlock/main.c                 |  424 --
 libcanlock/md5.c                  |  253 -
 libcanlock/md5.h                  |   30 
 libcanlock/sha1.c                 |  265 -
 libcanlock/sha1.h                 |   29 
 libcanlock/src/base64.c           |  136 
 libcanlock/src/canlock.c          |  186 
 libcanlock/src/hmac_sha1.c        |  119 
 libcanlock/src/sha1.c             |  353 +
 libcanlock/t/canlocktest.c        |  110 
 libcanlock/t/canlocktest.shouldbe |   15 
 libcanlock/t/hmactest.c           |  115 
 libcanlock/t/hmactest.shouldbe    |   24 
 mkdirs.sh                         |   19 
 pcre/version.sh                   |   12 
 po/de.gmo                         |binary
 po/de.po                          | 1375 +++----
 po/en_GB.gmo                      |binary
 po/en_GB.po                       | 1355 +++----
 po/et.gmo                         |binary
 po/et.po                          | 1382 +++----
 po/fr.gmo                         |binary
 po/fr.po                          | 1371 +++----
 po/ru.gmo                         |binary
 po/ru.po                          | 1365 +++----
 po/rw.gmo                         |binary
 po/rw.po                          | 1392 +++----
 po/sv.gmo                         |binary
 po/sv.po                          | 1360 +++----
 po/tin.pot                        | 1361 +++----
 po/tr.gmo                         |binary
 po/tr.po                          | 1392 +++----
 src/Makefile.in                   |   50 
 src/active.c                      |  152 
 src/art.c                         |  468 +-
 src/attrib.c                      |  336 +
 src/auth.c                        |  222 -
 src/charset.c                     |   10 
 src/color.c                       |    8 
 src/config.c                      |   62 
 src/cook.c                        |   25 
 src/curses.c                      |    4 
 src/debug.c                       |  188 -
 src/envarg.c                      |    2 
 src/feed.c                        |   15 
 src/filter.c                      |   74 
 src/global.c                      |    2 
 src/group.c                       |   20 
 src/hashstr.c                     |    2 
 src/header.c                      |   21 
 src/help.c                        |   11 
 src/inews.c                       |   46 
 src/init.c                        |   98 
 src/joinpath.c                    |   20 
 src/keymap.c                      |   32 
 src/lang.c                        |   21 
 src/list.c                        |   42 
 src/lock.c                        |    4 
 src/mail.c                        |  129 
 src/main.c                        |   58 
 src/makecfg.c                     |    2 
 src/memory.c                      |  163 
 src/mimetypes.c                   |   48 
 src/misc.c                        |   68 
 src/my_tmpfile.c                  |   37 
 src/newsrc.c                      |  340 -
 src/nntplib.c                     |  346 +
 src/nrctbl.c                      |   30 
 src/options_menu.c                |   37 
 src/page.c                        |   36 
 src/pgp.c                         |   10 
 src/post.c                        |  197 -
 src/prompt.c                      |    2 
 src/read.c                        |    3 
 src/refs.c                        |  222 -
 src/regex.c                       |   15 
 src/rfc1524.c                     |    2 
 src/rfc2045.c                     |   20 
 src/rfc2046.c                     |   21 
 src/rfc2047.c                     |  233 -
 src/save.c                        |   53 
 src/screen.c                      |    6 
 src/search.c                      |    8 
 src/select.c                      |   71 
 src/sigfile.c                     |   26 
 src/signal.c                      |   24 
 src/strftime.c                    |    2 
 src/string.c                      |   26 
 src/tags.c                        |   20 
 src/tcurses.c                     |    4 
 src/thread.c                      |   10 
 src/tincfg.tbl                    |    8 
 src/trace.c                       |    2 
 src/version.c                     |   11 
 src/xface.c                       |   42 
 src/xref.c                        |  307 +
 tin.spec                          |    2 
 tools/tinews.pl                   |  260 +
 tools/url_handler.pl              |  139 
 161 files changed, 17462 insertions(+), 13940 deletions(-)
-----------------------------------------------------------------------------
diff -Nurp tin-1.9.2/MANIFEST tin-1.9.3/MANIFEST
--- tin-1.9.2/MANIFEST	2007-02-01 15:09:13.000000000 +0100
+++ tin-1.9.3/MANIFEST	2008-05-06 19:24:22.000000000 +0200
@@ -1,149 +1,152 @@
-MANIFEST for tin-1.9.2 (Thu Feb  1 15:09:13 CET 2007)
+MANIFEST for tin-1.9.3 (Tue May  6 19:24:19 CEST 2008)
 ----------------------------------------------------
-  13104 ./Makefile
-   7558 ./MANIFEST
+  13263 ./Makefile
+   7531 ./MANIFEST
    1440 ./README
     564 ./README.MAC
-   1006 ./README.WIN
- 155443 ./aclocal.m4
+    992 ./README.WIN
+ 162131 ./aclocal.m4
     882 ./conf-tin
-  44469 ./config.guess
-  32587 ./config.sub
- 505380 ./configure
-  31023 ./configure.in
+  44556 ./config.guess
+  33560 ./config.sub
+ 570607 ./configure
+  32105 ./configure.in
    7123 ./install.sh
-    838 ./mkdirs.sh
+   1320 ./mkdirs.sh
    1505 ./tin.spec
   18847 ./doc/ABOUT-NLS
-   5299 ./doc/CHANGES
+   9312 ./doc/CHANGES
  252172 ./doc/CHANGES.old
-   4956 ./doc/CREDITS
-   1469 ./doc/DEBUG_REFS
-  30011 ./doc/INSTALL
-  33061 ./doc/TODO
-    232 ./doc/WHATSNEW
+   4995 ./doc/CREDITS
+   1305 ./doc/DEBUG_REFS
+  30210 ./doc/INSTALL
+  34207 ./doc/TODO
+    448 ./doc/WHATSNEW
    2618 ./doc/art_handling.txt
    1700 ./doc/article.txt
    3862 ./doc/auth.txt
    5377 ./doc/config-anomalies
-  11237 ./doc/filtering
+  11272 ./doc/filtering
   35304 ./doc/good-netkeeping-seal
    3803 ./doc/internals.txt
   23621 ./doc/iso2asc.txt
    3476 ./doc/keymap.sample
-    572 ./doc/mailcap.sample
+    633 ./doc/mailcap.sample
+   5870 ./doc/mbox.5
    3365 ./doc/mime.types
+   4168 ./doc/mmdf.5
+   2128 ./doc/newsoverview.5
    1541 ./doc/nov_tests
    5155 ./doc/opt-case.1
+   6963 ./doc/plp_snprintf.3
    3984 ./doc/pgp.txt
    2726 ./doc/rcvars.txt
    1525 ./doc/reading-mail.txt
    4947 ./doc/umlaute.txt
    4246 ./doc/umlauts.txt
+   5536 ./doc/url_handler.1
+ 119550 ./doc/tin.1
+  73457 ./doc/tin.5
    4675 ./doc/tin.defaults
-  11541 ./doc/tinews.1
-   2237 ./doc/tools.txt
-   5870 ./doc/mbox.5
-   4168 ./doc/mmdf.5
-   2128 ./doc/newsoverview.5
-   6963 ./doc/plp_snprintf.3
- 118450 ./doc/tin.1
-  73027 ./doc/tin.5
+  13098 ./doc/tinews.1
+   2418 ./doc/tools.txt
    4733 ./doc/w2r.1
    2196 ./doc/wildmat.3
     344 ./tools/expiretover
    3815 ./tools/metamutt
    2787 ./tools/opt-case.pl
    1410 ./tools/tinlock
-  25305 ./tools/tinews.pl
+  31444 ./tools/tinews.pl
+   3815 ./tools/url_handler.pl
    1654 ./tools/url_handler.sh
    3347 ./tools/w2r.pl
    1661 ./tools/expand_aliases.tgz
    2778 ./include/bool.h
    1947 ./include/bugrep.h
-  59085 ./include/extern.h
-  13574 ./include/keymap.h
-   6340 ./include/newsrc.h
-   8397 ./include/nntplib.h
+   2173 ./include/debug.h
+  59475 ./include/extern.h
+  13620 ./include/keymap.h
+   6331 ./include/newsrc.h
+   7720 ./include/nntplib.h
     665 ./include/plp_snprintf.h
-  12520 ./include/policy.h
-  30892 ./include/proto.h
-   5047 ./include/rfc2046.h
+  12654 ./include/policy.h
+  30878 ./include/proto.h
+   5118 ./include/rfc2046.h
    3373 ./include/stpwatch.h
    5756 ./include/tcurses.h
-  59588 ./include/tin.h
+  60221 ./include/tin.h
   13568 ./include/tinrc.h
-   4405 ./include/tnntp.h
+   4346 ./include/tnntp.h
    2264 ./include/trace.h
-   2508 ./include/version.h
-  25899 ./src/active.c
-  59717 ./src/art.c
-  32522 ./src/attrib.c
-  12972 ./src/auth.c
-  12425 ./src/charset.c
-   8220 ./src/color.c
-  59004 ./src/config.c
-  21665 ./src/cook.c
-  26667 ./src/curses.c
-  10378 ./src/debug.c
+   2352 ./include/version.h
+  28855 ./src/active.c
+  65981 ./src/art.c
+  35764 ./src/attrib.c
+  15596 ./src/auth.c
+  12440 ./src/charset.c
+   8232 ./src/color.c
+  58768 ./src/config.c
+  21786 ./src/cook.c
+  26680 ./src/curses.c
+  10819 ./src/debug.c
    3408 ./src/envarg.c
-  27169 ./src/feed.c
-  56748 ./src/filter.c
+  27256 ./src/feed.c
+  57128 ./src/filter.c
   18114 ./src/getline.c
    9070 ./src/global.c
-  47404 ./src/group.c
+  47414 ./src/group.c
    3900 ./src/hashstr.c
-   8351 ./src/header.c
-  28708 ./src/help.c
-  13665 ./src/inews.c
-  33383 ./src/init.c
-   2145 ./src/joinpath.c
-  89717 ./src/keymap.c
- 118045 ./src/lang.c
+   8209 ./src/header.c
+  28743 ./src/help.c
+  13735 ./src/inews.c
+  34015 ./src/init.c
+   2439 ./src/joinpath.c
+  89926 ./src/keymap.c
+ 118213 ./src/lang.c
    4486 ./src/langinfo.c
-   7102 ./src/list.c
-   6759 ./src/lock.c
-  13415 ./src/mail.c
-  22105 ./src/main.c
+   7691 ./src/list.c
+   6667 ./src/lock.c
+  16155 ./src/mail.c
+  22769 ./src/main.c
   10814 ./src/makecfg.c
-  12418 ./src/memory.c
-   5187 ./src/mimetypes.c
-  89340 ./src/misc.c
-  39712 ./src/newsrc.c
-  45995 ./src/nntplib.c
-   7192 ./src/nrctbl.c
-  42537 ./src/options_menu.c
-  58375 ./src/page.c
+  13008 ./src/memory.c
+   5283 ./src/mimetypes.c
+  89806 ./src/misc.c
+  36823 ./src/newsrc.c
+  49418 ./src/nntplib.c
+   7452 ./src/nrctbl.c
+  42789 ./src/options_menu.c
+  58392 ./src/page.c
   24138 ./src/parsdate.y
   16966 ./src/plp_snprintf.c
-  12713 ./src/pgp.c
- 132521 ./src/post.c
+  12765 ./src/pgp.c
+ 135370 ./src/post.c
   18446 ./src/prompt.c
-  10071 ./src/read.c
-  25559 ./src/refs.c
-   5276 ./src/regex.c
+  10070 ./src/read.c
+  26130 ./src/refs.c
+   5472 ./src/regex.c
   14475 ./src/rfc1524.c
-  15046 ./src/rfc2045.c
-  29853 ./src/rfc2046.c
-  32609 ./src/rfc2047.c
-  37062 ./src/save.c
+  15070 ./src/rfc2045.c
+  29921 ./src/rfc2046.c
+  34980 ./src/rfc2047.c
+  37203 ./src/save.c
   11358 ./src/screen.c
-  16533 ./src/search.c
-  30804 ./src/select.c
-   7590 ./src/sigfile.c
-  12476 ./src/signal.c
+  16550 ./src/search.c
+  30472 ./src/select.c
+   7706 ./src/sigfile.c
+  12712 ./src/signal.c
    7215 ./src/strftime.c
-  23476 ./src/string.c
-  13852 ./src/tags.c
-  16965 ./src/tcurses.c
+  23681 ./src/string.c
+  13907 ./src/tags.c
+  17052 ./src/tcurses.c
    3071 ./src/tmpfile.c
-   3364 ./src/my_tmpfile.c
-  40413 ./src/thread.c
+   3691 ./src/my_tmpfile.c
+  40411 ./src/thread.c
    2472 ./src/trace.c
-   4347 ./src/version.c
+   4303 ./src/version.c
    5453 ./src/wildmat.c
-   7153 ./src/xface.c
-   7784 ./src/xref.c
+   7296 ./src/xface.c
+  12278 ./src/xref.c
     422 ./pcre/AUTHORS
    2515 ./pcre/COPYING
  118928 ./pcre/ChangeLog
@@ -157,6 +160,7 @@ MANIFEST for tin-1.9.2 (Thu Feb  1 15:09
    6161 ./pcre/RunTest.in
     225 ./pcre/config.h
    8703 ./pcre/configure.in
+    395 ./pcre/version.sh
    6369 ./pcre/dftables.c
    1171 ./pcre/pcre-config.in
   12396 ./pcre/pcre.h
@@ -210,32 +214,25 @@ MANIFEST for tin-1.9.2 (Thu Feb  1 15:09
  108966 ./pcre/testdata/testoutput7
   53056 ./pcre/testdata/testoutput8
   28769 ./pcre/testdata/testoutput9
-  19917 ./include/autoconf.hin
-  21083 ./src/Makefile.in
-   7705 ./src/tincfg.tbl
-    946 ./libcanlock/Build
-    882 ./libcanlock/CHANGES
-   2357 ./libcanlock/HOWTO
-    789 ./libcanlock/MANIFEST
-   1351 ./libcanlock/README
-  10829 ./libcanlock/base64.c
-    160 ./libcanlock/base64.h
-    550 ./libcanlock/canlock.h
-   1990 ./libcanlock/canlock_md5.c
-   1158 ./libcanlock/canlock_misc.c
-   2015 ./libcanlock/canlock_sha1.c
-   3095 ./libcanlock/canlocktest.c
-   3254 ./libcanlock/endian.c
-   1598 ./libcanlock/hmac_md5.c
-     81 ./libcanlock/hmac_md5.h
-   1645 ./libcanlock/hmac_sha1.c
-     82 ./libcanlock/hmac_sha1.h
-   4345 ./libcanlock/hmactest.c
-   8348 ./libcanlock/main.c
-   8087 ./libcanlock/md5.c
-    640 ./libcanlock/md5.h
-   7324 ./libcanlock/sha1.c
-    677 ./libcanlock/sha1.h
+  20248 ./include/autoconf.hin
+  21368 ./src/Makefile.in
+   7769 ./src/tincfg.tbl
+   1929 ./libcanlock/CHANGES
+   2464 ./libcanlock/HOWTO
+   1259 ./libcanlock/README
+   1297 ./libcanlock/Makefile.in
+   3700 ./libcanlock/src/base64.c
+   5234 ./libcanlock/src/canlock.c
+   3656 ./libcanlock/src/hmac_sha1.c
+  12514 ./libcanlock/src/sha1.c
+   1873 ./libcanlock/include/base64.h
+    390 ./libcanlock/include/canlock.h
+    119 ./libcanlock/include/hmac_sha1.h
+   1208 ./libcanlock/include/sha1.h
+   2889 ./libcanlock/t/canlocktest.c
+   3135 ./libcanlock/t/hmactest.c
+    766 ./libcanlock/t/canlocktest.shouldbe
+   1021 ./libcanlock/t/hmactest.shouldbe
    9850 ./intl/bindtextdom.c
      72 ./intl/ChangeLog
   13325 ./intl/config.charset
@@ -269,21 +266,21 @@ MANIFEST for tin-1.9.2 (Thu Feb  1 15:09
      41 ./intl/VERSION
    4962 ./po/Makefile.inn
     847 ./po/POTFILES.in
- 123927 ./po/tin.pot
- 167511 ./po/de.gmo
- 200881 ./po/de.po
+ 123781 ./po/tin.pot
+ 168215 ./po/de.gmo
+ 201048 ./po/de.po
    7359 ./po/en_GB.gmo
- 126523 ./po/en_GB.po
- 157684 ./po/et.gmo
- 191031 ./po/et.po
- 160588 ./po/fr.gmo
- 196829 ./po/fr.po
- 128200 ./po/ru.gmo
- 178642 ./po/ru.po
+ 126376 ./po/en_GB.po
+ 156704 ./po/et.gmo
+ 191381 ./po/et.po
+ 159977 ./po/fr.gmo
+ 196667 ./po/fr.po
+ 127797 ./po/ru.gmo
+ 178497 ./po/ru.po
    2081 ./po/rw.gmo
- 170003 ./po/rw.po
-  23145 ./po/sv.gmo
- 131244 ./po/sv.po
-   5889 ./po/tr.gmo
- 190760 ./po/tr.po
-7885201 total
+ 170145 ./po/rw.po
+  23009 ./po/sv.gmo
+ 131090 ./po/sv.po
+   4671 ./po/tr.gmo
+ 190954 ./po/tr.po
+8001358 total
diff -Nurp tin-1.9.2/Makefile tin-1.9.3/Makefile
--- tin-1.9.2/Makefile	2007-02-01 15:09:12.000000000 +0100
+++ tin-1.9.3/Makefile	2008-05-06 19:24:18.000000000 +0200
@@ -1,15 +1,15 @@
 # Top level Makefile for tin
 # - for configuration options read the doc/INSTALL file.
 #
-# Updated: 2006-12-21
+# Updated: 2007-09-24
 #
 
 PROJECT	= tin
 LVER	= 1
 PVER	= 9
-SVER	= 2
+SVER	= 3
 VER	= $(LVER).$(PVER).$(SVER)
-DVER	= 20070201
+DVER	= 20080506
 EXE	= tin
 
 # directory structure
@@ -27,6 +27,7 @@ INTLDIR	= ./intl
 HFILES	= \
 	$(INCDIR)/bool.h \
 	$(INCDIR)/bugrep.h \
+	$(INCDIR)/debug.h \
 	$(INCDIR)/extern.h \
 	$(INCDIR)/keymap.h \
 	$(INCDIR)/newsrc.h \
@@ -132,23 +133,24 @@ DOC	= \
 	$(DOCDIR)/iso2asc.txt \
 	$(DOCDIR)/keymap.sample \
 	$(DOCDIR)/mailcap.sample \
+	$(DOCDIR)/mbox.5 \
 	$(DOCDIR)/mime.types \
+	$(DOCDIR)/mmdf.5 \
+	$(DOCDIR)/newsoverview.5 \
 	$(DOCDIR)/nov_tests \
 	$(DOCDIR)/opt-case.1 \
+	$(DOCDIR)/plp_snprintf.3 \
 	$(DOCDIR)/pgp.txt \
 	$(DOCDIR)/rcvars.txt \
 	$(DOCDIR)/reading-mail.txt \
 	$(DOCDIR)/umlaute.txt \
 	$(DOCDIR)/umlauts.txt \
+	$(DOCDIR)/url_handler.1 \
+	$(DOCDIR)/tin.1 \
+	$(DOCDIR)/tin.5 \
 	$(DOCDIR)/tin.defaults \
 	$(DOCDIR)/tinews.1 \
 	$(DOCDIR)/tools.txt \
-	$(DOCDIR)/mbox.5 \
-	$(DOCDIR)/mmdf.5 \
-	$(DOCDIR)/newsoverview.5 \
-	$(DOCDIR)/plp_snprintf.3 \
-	$(DOCDIR)/tin.1 \
-	$(DOCDIR)/tin.5 \
 	$(DOCDIR)/w2r.1 \
 	$(DOCDIR)/wildmat.3
 
@@ -158,6 +160,7 @@ TOL	= \
 	$(TOLDIR)/opt-case.pl \
 	$(TOLDIR)/tinlock \
 	$(TOLDIR)/tinews.pl \
+	$(TOLDIR)/url_handler.pl \
 	$(TOLDIR)/url_handler.sh \
 	$(TOLDIR)/w2r.pl \
 	$(TOLDIR)/expand_aliases.tgz
@@ -192,6 +195,7 @@ PCRE	= \
 	$(PCREDIR)/RunTest.in \
 	$(PCREDIR)/config.h \
 	$(PCREDIR)/configure.in \
+	$(PCREDIR)/version.sh \
 	$(PCREDIR)/dftables.c \
 	$(PCREDIR)/pcre-config.in \
 	$(PCREDIR)/pcre.h \
@@ -247,29 +251,22 @@ PCRE	= \
 	$(PCREDIR)/testdata/testoutput9
 
 CAN	= \
-	$(CANDIR)/Build \
 	$(CANDIR)/CHANGES \
 	$(CANDIR)/HOWTO \
-	$(CANDIR)/MANIFEST \
 	$(CANDIR)/README \
-	$(CANDIR)/base64.c \
-	$(CANDIR)/base64.h \
-	$(CANDIR)/canlock.h \
-	$(CANDIR)/canlock_md5.c \
-	$(CANDIR)/canlock_misc.c \
-	$(CANDIR)/canlock_sha1.c \
-	$(CANDIR)/canlocktest.c \
-	$(CANDIR)/endian.c \
-	$(CANDIR)/hmac_md5.c \
-	$(CANDIR)/hmac_md5.h \
-	$(CANDIR)/hmac_sha1.c \
-	$(CANDIR)/hmac_sha1.h \
-	$(CANDIR)/hmactest.c \
-	$(CANDIR)/main.c \
-	$(CANDIR)/md5.c \
-	$(CANDIR)/md5.h \
-	$(CANDIR)/sha1.c \
-	$(CANDIR)/sha1.h
+	$(CANDIR)/Makefile.in \
+	$(CANDIR)/src/base64.c \
+	$(CANDIR)/src/canlock.c \
+	$(CANDIR)/src/hmac_sha1.c \
+	$(CANDIR)/src/sha1.c \
+	$(CANDIR)/include/base64.h \
+	$(CANDIR)/include/canlock.h \
+	$(CANDIR)/include/hmac_sha1.h \
+	$(CANDIR)/include/sha1.h \
+	$(CANDIR)/t/canlocktest.c \
+	$(CANDIR)/t/hmactest.c \
+	$(CANDIR)/t/canlocktest.shouldbe \
+	$(CANDIR)/t/hmactest.shouldbe
 
 MISC	= \
 	$(INCDIR)/autoconf.hin \
@@ -393,7 +390,7 @@ clean:
 	@-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)/hmactest ; then $(CD) $(CANDIR) && ./Build clean ; fi
+	@-if $(TEST) -r $(CANDIR)/Makefile ; then $(CD) $(CANDIR) && $(MAKE) clean ; fi
 
 man:
 	@$(MAKE) manpage
@@ -430,10 +427,11 @@ chmod:
 	$(TOLDIR)/opt-case.pl \
 	$(TOLDIR)/tinlock \
 	$(TOLDIR)/tinews.pl \
+	$(TOLDIR)/url_handler.pl \
 	$(TOLDIR)/url_handler.sh \
 	$(TOLDIR)/w2r.pl \
 	$(PCREDIR)/perltest \
-	$(CANDIR)/Build
+	$(PCREDIR)/version.sh
 
 tar:
 	@$(ECHO) "Generating gzipped tar file..."
@@ -493,6 +491,7 @@ distclean:
 	@-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 \
 	$(TOPDIR)/config.cache \
 	$(TOPDIR)/config.log \
@@ -501,6 +500,7 @@ distclean:
 	$(INCDIR)/autoconf.h \
 	$(SRCDIR)/Makefile \
 	$(PCREDIR)/Makefile \
+	$(CANDIR)/Makefile \
 	$(INTLDIR)/po2tbl.sed
 
 configure: configure.in aclocal.m4
diff -Nurp tin-1.9.2/README.WIN tin-1.9.3/README.WIN
--- tin-1.9.2/README.WIN	2006-12-21 14:41:15.000000000 +0100
+++ tin-1.9.3/README.WIN	2008-05-06 18:55:51.000000000 +0200
@@ -7,7 +7,7 @@ Compile Tin For Windows
      - system
        - Windows NT
 
-     - Cygwin (http://sources.redhat.com/cygwin/)
+     - Cygwin <http://www.cygwin.com/>
        - Cygwin >= 1.1.x
        - ncurses
 
@@ -18,7 +18,7 @@ Compile Tin For Windows
 
      - configure
        - export CC=gcc
-       - ./configure --enable-nntp-only --disable-locale
+       - ./configure --enable-nntp-only --disable-nls
 
      - make
        - cd src
@@ -37,4 +37,4 @@ Compile Tin For Windows
               set HOME=c:\home
               set USER=username
        - tested with
-           1.5.8 release 20010221 "Blue Water"
+           1.9.3 release 20080506 "Dalintober"
diff -Nurp tin-1.9.2/aclocal.m4 tin-1.9.3/aclocal.m4
--- tin-1.9.2/aclocal.m4	2006-12-22 02:38:22.000000000 +0100
+++ tin-1.9.3/aclocal.m4	2008-03-31 22:21:34.000000000 +0200
@@ -2,10 +2,10 @@ 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   : 2006-12-21
+dnl Updated   : 2008-03-27
 dnl Notes     :
 dnl
-dnl Copyright (c) 1995-2007 Thomas E. Dickey <dickey@invisible-island.net>
+dnl Copyright (c) 1995-2008 Thomas E. Dickey <dickey@invisible-island.net>
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
@@ -146,7 +146,7 @@ strdup strtoul tsearch __argz_count __ar
    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl AM_ICONV version: 4 updated: 2005/06/20 05:31:53
+dnl AM_ICONV version: 12 updated: 2007/07/30 19:12:03
 dnl --------
 dnl Inserted as requested by gettext 0.10.40
 dnl File from /usr/share/aclocal
@@ -155,6 +155,11 @@ dnl ====================
 dnl serial AM2
 dnl
 dnl From Bruno Haible.
+dnl
+dnl ====================
+dnl Modified to use CF_FIND_LINKAGE and CF_ADD_SEARCHPATH, to broaden the
+dnl range of locations searched.  Retain the same cache-variable naming to
+dnl allow reuse with the other gettext macros -Thomas E Dickey
 AC_DEFUN([AM_ICONV],
 [
   dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
@@ -163,41 +168,22 @@ AC_DEFUN([AM_ICONV],
   AC_ARG_WITH([libiconv-prefix],
 [  --with-libiconv-prefix=DIR
                           search for libiconv in DIR/include and DIR/lib], [
-    for dir in `echo "$withval" | tr : ' '`; do
-      if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
-      if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
-    done
+    CF_ADD_OPTIONAL_PATH($withval, libiconv)
    ])
 
   AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-      [iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);],
-      am_cv_func_iconv=yes)
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS -liconv"
-      AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-        [iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);],
-        am_cv_lib_iconv=yes
-        am_cv_func_iconv=yes)
-      LIBS="$am_save_LIBS"
-    fi
-  ])
+    CF_FIND_LINKAGE(CF__ICONV_HEAD,
+      CF__ICONV_BODY,
+      iconv,
+      am_cv_func_iconv=yes,
+      am_cv_func_iconv=["no, consider installing GNU libiconv"])])
+
   if test "$am_cv_func_iconv" = yes; then
     AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
-    AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL(am_cv_proto_iconv, [
-      AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
+
+    AC_CACHE_CHECK([if the declaration of iconv() needs const.],
+		   am_cv_proto_iconv_const,[
+      AC_TRY_COMPILE(CF__ICONV_HEAD [
 extern
 #ifdef __cplusplus
 "C"
@@ -207,18 +193,28 @@ size_t iconv (iconv_t cd, char * *inbuf,
 #else
 size_t iconv();
 #endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([$]{ac_t:-
-         }[$]am_cv_proto_iconv)
+],[], am_cv_proto_iconv_const=no,
+      am_cv_proto_iconv_const=yes)])
+
+    if test "$am_cv_proto_iconv_const" = yes ; then
+      am_cv_proto_iconv_arg1="const"
+    else
+      am_cv_proto_iconv_arg1=""
+    fi
+
     AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
       [Define as const if the declaration of iconv() needs const.])
   fi
+
   LIBICONV=
-  if test "$am_cv_lib_iconv" = yes; then
-    LIBICONV="-liconv"
+  if test "$cf_cv_find_linkage_iconv" = yes; then
+    CF_ADD_INCDIR($cf_cv_header_path_iconv)
+    if test -n "$cf_cv_library_file_iconv" ; then
+      LIBICONV="-liconv"
+      CF_ADD_LIBDIR($cf_cv_library_path_iconv)
+    fi
   fi
+
   AC_SUBST(LIBICONV)
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -415,7 +411,7 @@ fi
 AC_SUBST($1)dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl AM_WITH_NLS version: 18 updated: 2006/01/22 20:26:00
+dnl AM_WITH_NLS version: 22 updated: 2007/07/29 13:35:20
 dnl -----------
 dnl Inserted as requested by gettext 0.10.40
 dnl File from /usr/share/aclocal
@@ -423,6 +419,11 @@ dnl gettext.m4
 dnl ====================
 dnl Macro to add for using GNU gettext.
 dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
+dnl ====================
+dnl Modified to use CF_FIND_LINKAGE and CF_ADD_SEARCHPATH, to broaden the
+dnl range of locations searched.  Retain the same cache-variable naming to
+dnl allow reuse with the other gettext macros -Thomas E Dickey
+dnl ====================
 dnl
 dnl This file can be copied and used freely without restrictions.  It can
 dnl be used in projects which are not available under the GNU General Public
@@ -466,208 +467,199 @@ dnl but we keep it in order not to force
 dnl maintainers.
 dnl
 AC_DEFUN([AM_WITH_NLS],
-  [AC_MSG_CHECKING([whether NLS is requested])
-    dnl Default is enabled NLS
-    ifelse([$4],,[
-    AC_ARG_ENABLE(nls,
-      [  --disable-nls           do not use Native Language Support],
-      USE_NLS=$enableval, USE_NLS=yes)],[
-    AC_ARG_ENABLE(nls,
-      [  --enable-nls            use Native Language Support],
-      USE_NLS=$enableval, USE_NLS=no)])
-    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
-      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)
-
-      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 have
-        dnl to fall back to GNU NLS library.
-	CATOBJEXT=NONE
-
-        dnl Add a version number to the cache macros.
-        define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
-        define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
-
-	CF_FIND_HEADER(libintl.h,gettext,
-	  [AC_DEFINE(HAVE_LIBINTL_H)
-	   AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
-	    [AC_TRY_LINK([#include <libintl.h>
-extern int _nl_msg_cat_cntr;],
-	       [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
-	       gt_cv_func_gnugettext_libc=yes,
-	       gt_cv_func_gnugettext_libc=no)])
-
-	   if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-	     CF_FIND_LINKAGE([#include <libintl.h>
-extern int _nl_msg_cat_cntr;],
-		  [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
-intl,
-		  gt_cv_func_gnugettext_libintl=yes,
-		  gt_cv_func_gnugettext_libintl=no)
-	   fi
-
-	   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 "$gt_cv_func_gnugettext_libc" = "yes" \
-	      || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
-		   && test "$PACKAGE" != gettext; }; then
-	     AC_DEFINE(HAVE_GETTEXT, 1,
-               [Define if the GNU gettext() function is already present or preinstalled.])
-
-	     if test "$gt_cv_func_gnugettext_libintl" = "yes"; 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="-lintl $LIBICONV"
-	     fi
-
-	     gt_save_LIBS="$LIBS"
-	     LIBS="$LIBS $INTLLIBS"
-	     AC_CHECK_FUNCS(dcgettext)
-	     LIBS="$gt_save_LIBS"
-
-	     dnl Search for GNU msgfmt in the PATH.
-	     AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-	       [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
-	     AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-
-	     dnl Search for GNU xgettext in the PATH.
-	     AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-	       [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
+[AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  ifelse([$4],,[
+  AC_ARG_ENABLE(nls,
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)],[
+  AC_ARG_ENABLE(nls,
+    [  --enable-nls            use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=no)])
+  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
+    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)
+
+    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 have
+      dnl to fall back to GNU NLS library.
+      CATOBJEXT=NONE
+
+      AC_CACHE_CHECK([for libintl.h and gettext()], cf_cv_func_gettext,[
+        CF_FIND_LINKAGE(CF__INTL_HEAD,
+        CF__INTL_BODY,
+        intl,
+        cf_cv_func_gettext=yes,
+        cf_cv_func_gettext=no)
+      ])
+
+      if test "$cf_cv_func_gettext" = yes ; then
+        AC_DEFINE(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
 
-	     CATOBJEXT=.gmo
-	   fi
-	])
+          gt_save_LIBS="$LIBS"
+          LIBS="$LIBS $INTLLIBS"
+          AC_CHECK_FUNCS(dcgettext)
+          LIBS="$gt_save_LIBS"
+
+          dnl Search for GNU msgfmt in the PATH.
+          AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+              [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
+          AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+          dnl Search for GNU xgettext in the PATH.
+          AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+              [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
 
-        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=yes
+          CATOBJEXT=.gmo
         fi
       fi
 
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-        if test ! -d $srcdir/intl ; then
-	  AC_MSG_ERROR(no NLS library is packaged with this application)
-	fi
-        dnl Mark actions used to generate GNU NLS library.
-        INTLOBJS="\$(GETTOBJS)"
-        AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-	  [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
-        AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-        AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-	  [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
-        AC_SUBST(MSGFMT)
-	BUILD_INCLUDED_LIBINTL=yes
-	USE_INCLUDED_LIBINTL=yes
-        CATOBJEXT=.gmo
-	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/ $//'`
+      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=yes
       fi
+    fi
 
-      dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-      dnl Test whether we really found GNU msgfmt.
-      if test "$GMSGFMT" != ":"; then
-	dnl If it is no GNU msgfmt we define it as : so that the
-	dnl Makefiles still can work.
-	if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
-	  : ;
-	else
-	  AC_MSG_RESULT(
-	    [found msgfmt program is not GNU msgfmt; ignore it])
-	  GMSGFMT=":"
-	fi
+    if test "$nls_cv_use_gnu_gettext" = "yes"; then
+      if test ! -d $srcdir/intl ; then
+        AC_MSG_ERROR(no NLS library is packaged with this application)
       fi
+      dnl Mark actions used to generate GNU NLS library.
+      INTLOBJS="\$(GETTOBJS)"
+      AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+          [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
+      AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+      AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+          [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
+      AC_SUBST(MSGFMT)
+      BUILD_INCLUDED_LIBINTL=yes
+      USE_INCLUDED_LIBINTL=yes
+      CATOBJEXT=.gmo
+      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/ $//'`
+    fi
 
-      dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-      dnl Test whether we really found GNU xgettext.
-      if test "$XGETTEXT" != ":"; then
-	dnl If it is no GNU xgettext we define it as : so that the
-	dnl Makefiles still can work.
-	if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
-	  : ;
-	else
-	  AC_MSG_RESULT(
-	    [found xgettext program is not GNU xgettext; ignore it])
-	  XGETTEXT=":"
-	fi
+    dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+    dnl Test whether we really found GNU msgfmt.
+    if test "$GMSGFMT" != ":"; then
+      dnl If it is no GNU msgfmt we define it as : so that the
+      dnl Makefiles still can work.
+      if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
+        : ;
+      else
+        AC_MSG_RESULT(
+          [found msgfmt program is not GNU msgfmt; ignore it])
+        GMSGFMT=":"
       fi
+    fi
 
-      dnl We need to process the po/ directory.
-      POSUB=po
+    dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+    dnl Test whether we really found GNU xgettext.
+    if test "$XGETTEXT" != ":"; then
+        dnl If it is no GNU xgettext we define it as : so that the
+        dnl Makefiles still can work.
+      if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
+        : ;
+      else
+        AC_MSG_RESULT(
+          [found xgettext program is not GNU xgettext; ignore it])
+        XGETTEXT=":"
+      fi
     fi
 
-    AC_OUTPUT_COMMANDS(
-     [for ac_file in $CONFIG_FILES; do
-        # Support "outfile[:infile[:infile...]]"
-        case "$ac_file" in
-          *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-        esac
-        # PO directories have a Makefile.in generated from Makefile.inn.
-        case "$ac_file" in */[Mm]akefile.in)
-          # Adjust a relative srcdir.
-          ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-          ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-          ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-	  ac_base=`basename $ac_file .in`
-          # In autoconf-2.13 it is called $ac_given_srcdir.
-          # In autoconf-2.50 it is called $srcdir.
-          test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-          case "$ac_given_srcdir" in
-            .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-            /*) top_srcdir="$ac_given_srcdir" ;;
-            *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-          esac
-          if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-            rm -f "$ac_dir/POTFILES"
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-            sed -e "/^#/d" -e "/^[ 	]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base"
-            sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base"
-          fi
-          ;;
+    dnl We need to process the po/ directory.
+    POSUB=po
+  fi
+
+  AC_OUTPUT_COMMANDS(
+   [for ac_file in $CONFIG_FILES; do
+
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+
+      # PO directories have a Makefile.in generated from Makefile.inn.
+      case "$ac_file" in */[Mm]akefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        ac_base=`basename $ac_file .in`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
         esac
-      done])
 
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          sed -e "/^#/d" -e "/^[ 	]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base"
+          sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base"
+        fi
+        ;;
+      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 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 bison,
-    dnl because plural.y uses bison specific features. It requires at least
-    dnl bison-1.26 because earlier versions generate a plural.c that doesn't
-    dnl compile.
-    dnl bison is only needed for the maintainer (who touches plural.y). But in
-    dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
-    dnl the rule in general Makefile. Now, some people carelessly touch the
-    dnl files or have a broken "make" program, hence the plural.c rule will
-    dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
-    dnl present or too old.
-    if test "$nls_cv_use_gnu_gettext" = "yes"; then
+  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
+  dnl because plural.y uses bison specific features. It requires at least
+  dnl bison-1.26 because earlier versions generate a plural.c that doesn't
+  dnl compile.
+  dnl bison is only needed for the maintainer (who touches plural.y). But in
+  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
+  dnl the rule in general Makefile. Now, some people carelessly touch the
+  dnl files or have a broken "make" program, hence the plural.c rule will
+  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
+  dnl present or too old.
+  if test "$nls_cv_use_gnu_gettext" = "yes"; then
     AC_CHECK_PROGS([INTLBISON], [bison])
     if test -z "$INTLBISON"; then
       ac_verc_fail=yes
@@ -683,48 +675,48 @@ 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])
+    AC_MSG_RESULT([$ac_prog_version])
     fi
     if test $ac_verc_fail = yes; then
       INTLBISON=:
     fi
-    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.
-    for lang in $ALL_LINGUAS; do
-      GMOFILES="$GMOFILES $lang.gmo"
-      POFILES="$POFILES $lang.po"
-    done
+  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.
+  for lang in $ALL_LINGUAS; do
+    GMOFILES="$GMOFILES $lang.gmo"
+    POFILES="$POFILES $lang.po"
+  done
 
-    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=
-    nls_cv_header_libgt=
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    DATADIRNAME=share
-    AC_SUBST(DATADIRNAME)
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    INSTOBJEXT=.mo
-    AC_SUBST(INSTOBJEXT)
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    GENCAT=gencat
-    AC_SUBST(GENCAT)
-  ])dnl
+  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=
+  nls_cv_header_libgt=
+
+  dnl For backward compatibility. Some Makefiles may be using this.
+  DATADIRNAME=share
+  AC_SUBST(DATADIRNAME)
+
+  dnl For backward compatibility. Some Makefiles may be using this.
+  INSTOBJEXT=.mo
+  AC_SUBST(INSTOBJEXT)
+
+  dnl For backward compatibility. Some Makefiles may be using this.
+  GENCAT=gencat
+  AC_SUBST(GENCAT)
+])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_ADD_CFLAGS version: 7 updated: 2004/04/25 17:48:30
 dnl -------------
@@ -808,42 +800,167 @@ AC_SUBST(EXTRA_CPPFLAGS)
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52
+dnl CF_ADD_INCDIR version: 9 updated: 2008/02/09 13:15:34
 dnl -------------
 dnl Add an include-directory to $CPPFLAGS.  Don't add /usr/include, since it's
 dnl redundant.  We don't normally need to add -I/usr/local/include for gcc,
 dnl but old versions (and some misinstalled ones) need that.  To make things
-dnl worse, gcc 3.x gives error messages if -I/usr/local/include is added to
+dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
 dnl the include-path).
 AC_DEFUN([CF_ADD_INCDIR],
 [
-for cf_add_incdir in $1
-do
-	while true
+if test -n "$1" ; then
+  for cf_add_incdir in $1
+  do
+	while test $cf_add_incdir != /usr/include
 	do
-		case $cf_add_incdir in
-		/usr/include) # (vi
-			;;
-		/usr/local/include) # (vi
+	  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
+
+		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"
-				CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-				AC_TRY_COMPILE([#include <stdio.h>],
-						[printf("Hello")],
-						[],
-						[CPPFLAGS="$cf_save_CPPFLAGS"])
+			  cf_save_CPPFLAGS=$CPPFLAGS
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  AC_TRY_COMPILE([#include <stdio.h>],
+				  [printf("Hello")],
+				  [],
+				  [cf_have_incdir=yes])
+			  CPPFLAGS=$cf_save_CPPFLAGS
 			fi
-			;;
-		*) # (vi
-			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"
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  CF_VERBOSE(adding $cf_add_incdir to include-path)
+		  ifelse($2,,CPPFLAGS,$2)="-I$cf_add_incdir $ifelse($2,,CPPFLAGS,[$]$2)"
+
+          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
+	  fi
 	done
+  done
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ADD_LIBDIR version: 6 updated: 2008/02/09 13:15:34
+dnl -------------
+dnl	Adds to the library-path
+dnl
+dnl	Some machines have trouble with multiple -L options.
+dnl
+dnl $1 is the (list of) directory(s) to add
+dnl $2 is the optional name of the variable to update (default LDFLAGS)
+dnl
+AC_DEFUN([CF_ADD_LIBDIR],
+[
+if test -n "$1" ; then
+  for cf_add_libdir in $1
+  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
+        CF_VERBOSE(adding $cf_add_libdir to library-path)
+        ifelse($2,,LDFLAGS,$2)="-L$cf_add_libdir $ifelse($2,,LDFLAGS,[$]$2)"
+      fi
+    fi
+  done
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ADD_OPTIONAL_PATH version: 1 updated: 2007/07/29 12:33:33
+dnl --------------------
+dnl Add an optional search-path to the compile/link variables.
+dnl See CF_WITH_PATH
+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 #(vi
+  no) #(vi
+      ;;
+  yes) #(vi
+      ;;
+  *)
+      CF_ADD_SEARCHPATH([$1], [AC_MSG_ERROR(cannot find $2 under $1)])
+      ;;
+  esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ADD_SEARCHPATH version: 4 updated: 2007/07/29 13:35:20
+dnl -----------------
+dnl Set $CPPFLAGS and $LDFLAGS with the directories given via the parameter.
+dnl They can be either the common root of include- and lib-directories, or the
+dnl lib-directory (to allow for things like lib64 directories).
+dnl See also CF_FIND_LINKAGE.
+dnl
+dnl $1 is the list of colon-separated directory names to search.
+dnl $2 is the action to take if a parameter does not yield a directory.
+AC_DEFUN([CF_ADD_SEARCHPATH],
+[
+for cf_searchpath in `echo "$1" | tr : ' '`; do
+	if test -d $cf_searchpath/include; then
+		CF_ADD_INCDIR($cf_searchpath/include)
+	elif test -d $cf_searchpath/../include ; then
+		CF_ADD_INCDIR($cf_searchpath/../include)
+	ifelse([$2],,,[else
+$2])
+	fi
+	if test -d $cf_searchpath/lib; then
+		CF_ADD_LIBDIR($cf_searchpath/lib)
+	elif test -d $cf_searchpath ; then
+		CF_ADD_LIBDIR($cf_searchpath)
+	ifelse([$2],,,[else
+$2])
+	fi
 done
+])
+dnl ---------------------------------------------------------------------------
+dnl CF_ADD_SUBDIR_PATH version: 2 updated: 2007/07/29 10:12:59
+dnl ------------------
+dnl Append to a search-list for a nonstandard header/lib-file
+dnl	$1 = the variable to return as result
+dnl	$2 = the package name
+dnl	$3 = the subdirectory, e.g., bin, include or lib
+dnl $4 = the directory under which we will test for subdirectories
+dnl $5 = a directory that we do not want $4 to match
+AC_DEFUN([CF_ADD_SUBDIR_PATH],
+[
+test "$4" != "$5" && \
+test -d "$4" && \
+ifelse([$5],NONE,,[(test $5 = NONE || test -d $5) &&]) {
+	test -n "$verbose" && echo "	... testing for $3-directories under $4"
+	test -d $4/$3 &&          $1="[$]$1 $4/$3"
+	test -d $4/$3/$2 &&       $1="[$]$1 $4/$3/$2"
+	test -d $4/$3/$2/$3 &&    $1="[$]$1 $4/$3/$2/$3"
+	test -d $4/$2/$3 &&       $1="[$]$1 $4/$2/$3"
+	test -d $4/$2/$3/$2 &&    $1="[$]$1 $4/$2/$3/$2"
+}
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
@@ -898,7 +1015,7 @@ fi
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44
+dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
 dnl ---------------
 dnl For programs that must use an ANSI compiler, obtain compiler options that
 dnl will make it recognize prototypes.  We'll do preprocessor checks in other
@@ -907,7 +1024,7 @@ dnl the preprocessor.
 AC_DEFUN([CF_ANSI_CC_REQD],
 [AC_REQUIRE([CF_ANSI_CC_CHECK])
 if test "$cf_cv_ansi_cc" = "no"; then
-	AC_ERROR(
+	AC_MSG_ERROR(
 [Your compiler does not appear to recognize prototypes.
 You have the following choices:
 	a. adjust your compiler options
@@ -951,7 +1068,7 @@ ifelse($3,,[    :]dnl
 ])dnl
   ])])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ARG_WITH version: 3 updated: 2000/07/20 00:41:18
+dnl CF_ARG_WITH version: 4 updated: 2008/03/23 14:48:54
 dnl -----------
 dnl Restricted form of AC_ARG_WITH that requires user to specify a value
 dnl $1 = option name
@@ -967,7 +1084,7 @@ ifelse($4,,[test -n "$withval" && \
 ])dnl
 case "$withval" in #(vi
 yes)
-  AC_ERROR(expected a value for --with-$1)
+  AC_MSG_ERROR(expected a value for --with-$1)
   ;; #(vi
 no) withval=""
   ;;
@@ -975,7 +1092,7 @@ esac
 $3="$withval"
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_BUILD_CC version: 5 updated: 2005/09/24 17:55:52
+dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
 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
@@ -1007,7 +1124,7 @@ if test "$cross_compiling" = yes ; then
 	AC_ARG_WITH(build-cpp,
 		[  --with-build-cpp=XXX    the build C preprocessor ($BUILD_CPP)],
 		[BUILD_CPP="$withval"],
-		[BUILD_CPP='$(BUILD_CC) -E'])
+		[BUILD_CPP='${BUILD_CC} -E'])
 	AC_MSG_RESULT($BUILD_CPP)
 
 	AC_MSG_CHECKING(for native build C flags)
@@ -1030,7 +1147,7 @@ if test "$cross_compiling" = yes ; then
 
 	AC_MSG_CHECKING(for native build linker-libraries)
 	AC_ARG_WITH(build-libs,
-		[  --with-build-libs=XXX   the build libraries ($(BUILD_LIBS)],
+		[  --with-build-libs=XXX   the build libraries (${BUILD_LIBS})],
 		[BUILD_LIBS="$withval"])
 	AC_MSG_RESULT($BUILD_LIBS)
 
@@ -1038,20 +1155,20 @@ if test "$cross_compiling" = yes ; then
 	BUILD_EXEEXT=
 	BUILD_OBJEXT=o
 
-	: ${BUILD_CC:='$(CC)'}
+	: ${BUILD_CC:='${CC}'}
 
-	if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '$(CC)' ) ; then
+	if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
 		AC_MSG_ERROR([Cross-build requires two compilers.
 Use --with-build-cc to specify the native compiler.])
 	fi
 
 else
-	: ${BUILD_CC:='$(CC)'}
-	: ${BUILD_CPP:='$(CPP)'}
-	: ${BUILD_CFLAGS:='$(CFLAGS)'}
-	: ${BUILD_CPPFLAGS:='$(CPPFLAGS)'}
-	: ${BUILD_LDFLAGS:='$(LDFLAGS)'}
-	: ${BUILD_LIBS:='$(LIBS)'}
+	: ${BUILD_CC:='${CC}'}
+	: ${BUILD_CPP:='${CPP}'}
+	: ${BUILD_CFLAGS:='${CFLAGS}'}
+	: ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
+	: ${BUILD_LDFLAGS:='${LDFLAGS}'}
+	: ${BUILD_LIBS:='${LIBS}'}
 	: ${BUILD_EXEEXT:='$x'}
 	: ${BUILD_OBJEXT:='o'}
 fi
@@ -1192,7 +1309,12 @@ PCREDIR_LIBS=
 PCREDIR_CPPFLAGS=
 case .$cf_pcre_home in #(vi
 .no) #(vi
-	# setup to compile the bundled PCRE:
+	# setup to compile the bundled PCRE.  "version.sh" is not provided by
+    # upstream; the user of this macro must provide it.
+#	. $srcdir/pcre/version.sh
+	AC_SUBST(PCRE_MAJOR)
+	AC_SUBST(PCRE_MINOR)
+	AC_SUBST(PCRE_DATE)
 	AC_SUBST(PCRE_DEFINES)
 	;;
 .yes) #(vi
@@ -1253,7 +1375,7 @@ AC_MSG_RESULT($cf_result)
 test $cf_result = yes && AC_DEFINE_UNQUOTED(DECL_$2)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CHECK_CACHE version: 10 updated: 2004/05/23 13:03:31
+dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
 dnl --------------
 dnl Check if we're accidentally using a cache from a different machine.
 dnl Derive the system name, as a check for reusing the autoconf cache.
@@ -1284,7 +1406,7 @@ test -n "$cf_cv_system_name" && AC_MSG_R
 
 if test ".$system_name" != ".$cf_cv_system_name" ; then
 	AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
-	AC_ERROR("Please remove config.cache and try again.")
+	AC_MSG_ERROR("Please remove config.cache and try again.")
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -1495,7 +1617,7 @@ else
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_COREFILE version: 2 updated: 1997/08/28 23:57:55
+dnl CF_COREFILE version: 3 updated: 2007/04/28 09:15:55
 dnl -----------
 dnl Check if the application can dump core (for debugging).
 AC_DEFUN([CF_COREFILE],
@@ -1520,13 +1642,13 @@ int main()
 /* Nicholas d'Alterio (nagd@ic.ac.uk) reports that the check for ability to
  * core dump causes the machine to crash - reason unknown (gcc 2.7.2)
  */
-	exit(1);
+	${cf_cv_main_return-return}(1);
 #else
 	int	pid, status;
 	if (found())
 		unlink("core");
 	if (found())
-		exit(1);
+		${cf_cv_main_return-return}(1);
 	if ((pid = fork()) != 0) {
 		while (wait(&status) <= 0)
 			;
@@ -1535,9 +1657,9 @@ int main()
 	}
 	if (found()) {
 		unlink("core");
-		exit(0);
+		${cf_cv_main_return-return}(0);
 	}
-	exit(1);
+	${cf_cv_main_return-return}(1);
 #endif
 }],
 	[cf_cv_corefile=yes],
@@ -1635,7 +1757,7 @@ fi
 AC_CHECK_HEADERS($cf_cv_ncurses_header)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CURSES_LIBS version: 24 updated: 2006/02/04 19:44:43
+dnl CF_CURSES_LIBS version: 27 updated: 2008/03/23 14:48:54
 dnl --------------
 dnl Look for the curses libraries.  Older curses implementations may require
 dnl termcap/termlib to be linked as well.  Call CF_CURSES_CPPFLAGS first.
@@ -1644,92 +1766,94 @@ AC_DEFUN([CF_CURSES_LIBS],[
 AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
 AC_MSG_CHECKING(if we have identified curses libraries)
 AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
-	[initscr(); tgoto("?", 0,0)],
-	cf_result=yes,
-	cf_result=no)
+    [initscr(); tgoto("?", 0,0)],
+    cf_result=yes,
+    cf_result=no)
 AC_MSG_RESULT($cf_result)
 
 if test "$cf_result" = no ; then
 case $host_os in #(vi
 freebsd*) #(vi
-	AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"])
-	;;
+    AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"])
+    ;;
 hpux10.*) #(vi
-	AC_CHECK_LIB(cur_colr,initscr,[
-		LIBS="-lcur_colr $LIBS"
-		ac_cv_func_initscr=yes
-		],[
-	AC_CHECK_LIB(Hcurses,initscr,[
-		# HP's header uses __HP_CURSES, but user claims _HP_CURSES.
-		LIBS="-lHcurses $LIBS"
-		CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
-		ac_cv_func_initscr=yes
-		])])
-	;;
+    AC_CHECK_LIB(cur_colr,initscr,[
+        LIBS="-lcur_colr $LIBS"
+        ac_cv_func_initscr=yes
+        ],[
+    AC_CHECK_LIB(Hcurses,initscr,[
+        # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
+        LIBS="-lHcurses $LIBS"
+        CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
+        ac_cv_func_initscr=yes
+        ])])
+    ;;
 linux*) # Suse Linux does not follow /usr/lib convention
-	LIBS="$LIBS -L/lib"
-	;;
+    CF_ADD_LIBDIR(/lib)
+    ;;
 sunos3*|sunos4*)
-	test -d /usr/5lib && \
-	LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap"
-	ac_cv_func_initscr=yes
-	;;
+    if test -d /usr/5lib ; then
+      CF_ADD_LIBDIR(/usr/5lib)
+      LIBS="$LIBS -lcurses -ltermcap"
+    fi
+    ac_cv_func_initscr=yes
+    ;;
 esac
 
 if test ".$ac_cv_func_initscr" != .yes ; then
-	cf_save_LIBS="$LIBS"
-	cf_term_lib=""
-	cf_curs_lib=""
-
-	if test ".${cf_cv_ncurses_version-no}" != .no
-	then
-		cf_check_list="ncurses curses cursesX"
-	else
-		cf_check_list="cursesX curses ncurses"
-	fi
+    cf_save_LIBS="$LIBS"
+    cf_term_lib=""
+    cf_curs_lib=""
+
+    if test ".${cf_cv_ncurses_version-no}" != .no
+    then
+        cf_check_list="ncurses curses cursesX"
+    else
+        cf_check_list="cursesX curses ncurses"
+    fi
 
-	# Check for library containing tgoto.  Do this before curses library
-	# because it may be needed to link the test-case for initscr.
-	AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
-		for cf_term_lib in $cf_check_list termcap termlib unknown
-		do
-			AC_CHECK_LIB($cf_term_lib,tgoto,[break])
-		done
-	])
+    # Check for library containing tgoto.  Do this before curses library
+    # because it may be needed to link the test-case for initscr.
+    AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
+        for cf_term_lib in $cf_check_list termcap termlib unknown
+        do
+            AC_CHECK_LIB($cf_term_lib,tgoto,[break])
+        done
+    ])
 
-	# Check for library containing initscr
-	test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
-	for cf_curs_lib in $cf_check_list xcurses jcurses unknown
-	do
-		AC_CHECK_LIB($cf_curs_lib,initscr,[break])
-	done
-	test $cf_curs_lib = unknown && AC_ERROR(no curses library found)
+    # Check for library containing initscr
+    test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
+    for cf_curs_lib in $cf_check_list xcurses jcurses unknown
+    do
+        AC_CHECK_LIB($cf_curs_lib,initscr,[break])
+    done
+    test $cf_curs_lib = unknown && AC_MSG_ERROR(no curses library found)
 
-	LIBS="-l$cf_curs_lib $cf_save_LIBS"
-	if test "$cf_term_lib" = unknown ; then
-		AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
-		AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
-			[initscr()],
-			[cf_result=yes],
-			[cf_result=no])
-		AC_MSG_RESULT($cf_result)
-		test $cf_result = no && AC_ERROR(Cannot link curses library)
-	elif test "$cf_curs_lib" = "$cf_term_lib" ; then
-		:
-	elif test "$cf_term_lib" != predefined ; then
-		AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
-		AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
-			[initscr(); tgoto((char *)0, 0, 0);],
-			[cf_result=no],
-			[
-			LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
-			AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
-				[initscr()],
-				[cf_result=yes],
-				[cf_result=error])
-			])
-		AC_MSG_RESULT($cf_result)
-	fi
+    LIBS="-l$cf_curs_lib $cf_save_LIBS"
+    if test "$cf_term_lib" = unknown ; then
+        AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
+        AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
+            [initscr()],
+            [cf_result=yes],
+            [cf_result=no])
+        AC_MSG_RESULT($cf_result)
+        test $cf_result = no && AC_MSG_ERROR(Cannot link curses library)
+    elif test "$cf_curs_lib" = "$cf_term_lib" ; then
+        :
+    elif test "$cf_term_lib" != predefined ; then
+        AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
+        AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
+            [initscr(); tgoto((char *)0, 0, 0);],
+            [cf_result=no],
+            [
+            LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
+            AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
+                [initscr()],
+                [cf_result=yes],
+                [cf_result=error])
+            ])
+        AC_MSG_RESULT($cf_result)
+    fi
 fi
 fi
 
@@ -2004,7 +2128,7 @@ AC_DEFUN([CF_ERRNO],
 CF_CHECK_ERRNO(errno)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FIND_HEADER version: 1 updated: 2006/01/22 20:26:00
+dnl CF_FIND_HEADER version: 2 updated: 2007/07/29 11:32:00
 dnl --------------
 dnl Find a header file, searching for it if it is not already in the include
 dnl path.
@@ -2021,7 +2145,7 @@ CF_HEADER_PATH(cf_search,$2)
 for cf_incdir in $cf_search
 do
 	if test -f $cf_incdir/$1 ; then
-		CF_ADD_CFLAGS(-I$cf_incdir)
+		CF_ADD_INCDIR($cf_incdir)
 		CF_VERBOSE(... found in $cf_incdir)
 		cf_find_header=yes
 		break
@@ -2036,7 +2160,7 @@ $4])
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FIND_IPV6_LIBS version: 6 updated: 2002/11/09 09:05:18
+dnl CF_FIND_IPV6_LIBS version: 7 updated: 2007/07/29 13:35:20
 dnl -----------------
 dnl Based on the IPV6 stack type, look for the corresponding library.
 AC_DEFUN([CF_FIND_IPV6_LIBS],[
@@ -2092,7 +2216,7 @@ if test "$cf_ipv6lib" != "none"; then
 		cf_header=$cf_incdir/netinet/ip6.h
 		if test -f $cf_header
 		then
-			CPPFLAGS="$CPPFLAGS -I$cf_incdir"
+			CF_ADD_INCDIR($cf_incdir)
 			test -n "$verbose" && echo "	... found $cf_header" 1>&AC_FD_MSG
 			break
 		fi
@@ -2197,7 +2321,7 @@ done
 ])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FIND_LIBRARY version: 8 updated: 2004/11/23 20:14:58
+dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54
 dnl ---------------
 dnl Look for a non-standard library, given parameters for AC_TRY_LINK.  We
 dnl prefer a standard location, and use -L options only if we do not find the
@@ -2242,47 +2366,120 @@ AC_DEFUN([CF_FIND_LIBRARY],
 eval 'cf_found_library=[$]cf_cv_have_lib_'$1
 ifelse($6,,[
 if test $cf_found_library = no ; then
-	AC_ERROR(Cannot link $1 library)
+	AC_MSG_ERROR(Cannot link $1 library)
 fi
 ])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FIND_LINKAGE version: 1 updated: 2006/01/22 20:26:00
+dnl CF_FIND_LINKAGE version: 12 updated: 2007/07/29 20:13:53
 dnl ---------------
-dnl Find a library, searching for it if it is not already in the library path.
-dnl
-dnl	$1 = headers for library entrypoint
-dnl	$2 = code fragment for library entrypoint
-dnl	$3 = the library name without the "-l" option or ".so" suffix.
-dnl	$4 = action to perform if successful
-dnl	$5 = action to perform if not successful
+dnl Find a library (specifically the linkage used in the code fragment),
+dnl searching for it if it is not already in the library path.
+dnl See also CF_ADD_SEARCHPATH.
+dnl
+dnl Parameters (4-on are optional):
+dnl     $1 = headers for library entrypoint
+dnl     $2 = code fragment for library entrypoint
+dnl     $3 = the library name without the "-l" option or ".so" suffix.
+dnl     $4 = action to perform if successful (default: update CPPFLAGS, etc)
+dnl     $5 = action to perform if not successful
+dnl     $6 = module name, if not the same as the library name
+dnl     $7 = extra libraries
+dnl
+dnl Sets these variables:
+dnl     $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
+dnl     $cf_cv_header_path_$3 - include-directory if needed
+dnl     $cf_cv_library_path_$3 - library-directory if needed
+dnl     $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
 AC_DEFUN([CF_FIND_LINKAGE],[
+
+# 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_$3=
+cf_cv_library_path_$3=
+
+CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
+
 AC_TRY_LINK([$1],[$2],
-	cf_find_linkage=yes,[
-	cf_find_linkage=no
-CF_LIBRARY_PATH(cf_search,$3)
-cf_save_LIBS="$LIBS"
-cf_save_LDFLAGS="$LDFLAGS"
-for cf_libdir in $cf_search
-do
-	if test -d $cf_libdir ; then
-		LIBS="-l$3 $cf_save_LIBS"
-		LDFLAGS="$cf_save_LDFLAGS -L$cf_libdir"
-		AC_TRY_LINK([$1],[$2],[
-			CF_VERBOSE(... found in $cf_libdir)
-			cf_find_linkage=yes
-			break],[
-			LIBS="$cf_save_LIBS"
-			LDFLAGS="$cf_save_LDFLAGS"])
-	fi
-	CF_VERBOSE(... tested $cf_libdir)
-done
-])
+    cf_cv_find_linkage_$3=yes,[
+    cf_cv_find_linkage_$3=no
+
+    CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
+
+    cf_save_CPPFLAGS="$CPPFLAGS"
+    cf_test_CPPFLAGS="$CPPFLAGS"
+
+    CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
+    for cf_cv_header_path_$3 in $cf_search
+    do
+      if test -d $cf_cv_header_path_$3 ; then
+        CF_VERBOSE(... testing $cf_cv_header_path_$3)
+        CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
+        AC_TRY_COMPILE([$1],[$2],[
+            CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
+            cf_cv_find_linkage_$3=maybe
+            cf_test_CPPFLAGS="$CPPFLAGS"
+            break],[
+            CPPFLAGS="$cf_save_CPPFLAGS"
+            ])
+      fi
+    done
+
+    if test "$cf_cv_find_linkage_$3" = maybe ; then
 
-if test "$cf_find_linkage" = yes ; then
-ifelse([$4],,:,[$4])
-ifelse([$5],,,[else
-$5])
+      CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
+
+      cf_save_LIBS="$LIBS"
+      cf_save_LDFLAGS="$LDFLAGS"
+
+      ifelse([$6],,,[
+        CPPFLAGS="$cf_test_CPPFLAGS"
+        LIBS="-l$3 $7 $cf_save_LIBS"
+        AC_TRY_LINK([$1],[$2],[
+            CF_VERBOSE(... found $3 library in system)
+            cf_cv_find_linkage_$3=yes])
+            CPPFLAGS="$cf_save_CPPFLAGS"
+            LIBS="$cf_save_LIBS"
+            ])
+
+      if test "$cf_cv_find_linkage_$3" != yes ; then
+        CF_LIBRARY_PATH(cf_search,$3)
+        for cf_cv_library_path_$3 in $cf_search
+        do
+          if test -d $cf_cv_library_path_$3 ; then
+            CF_VERBOSE(... testing $cf_cv_library_path_$3)
+            CPPFLAGS="$cf_test_CPPFLAGS"
+            LIBS="-l$3 $7 $cf_save_LIBS"
+            LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
+            AC_TRY_LINK([$1],[$2],[
+                CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
+                cf_cv_find_linkage_$3=yes
+                cf_cv_library_file_$3="-l$3"
+                break],[
+                CPPFLAGS="$cf_save_CPPFLAGS"
+                LIBS="$cf_save_LIBS"
+                LDFLAGS="$cf_save_LDFLAGS"
+                ])
+          fi
+        done
+        LIBS="$cf_save_LIBS"
+        CPPFLAGS="$cf_save_CPPFLAGS"
+        LDFLAGS="$cf_save_LDFLAGS"
+      fi
+
+    else
+      cf_cv_find_linkage_$3=no
+    fi
+    ],$7)
+
+if test "$cf_cv_find_linkage_$3" = yes ; then
+ifelse([$4],,[
+  CF_ADD_INCDIR($cf_cv_header_path_$3)
+  CF_ADD_LIBDIR($cf_cv_library_path_$3)
+  LIBS="-l$3 $LIBS"
+],[$4])
+else
+ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -2323,7 +2520,7 @@ linux*|gnu*)
 esac
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_FORK version: 2 updated: 1997/08/28 23:57:55
+dnl CF_FUNC_FORK version: 3 updated: 2007/04/28 09:15:55
 dnl ------------
 dnl Check if 'fork()' is available, and working.  Amiga (and possibly other
 dnl machines) have a non-working 'fork()' entrypoint.
@@ -2334,8 +2531,8 @@ AC_TRY_RUN([
 int main()
 {
 	if (fork() < 0)
-		exit(1);
-	exit(0);
+		${cf_cv_main_return-return}(1);
+	${cf_cv_main_return-return}(0);
 }],	[cf_cv_func_fork=yes],
 	[cf_cv_func_fork=no],
 	[cf_cv_func_fork=unknown])
@@ -2344,7 +2541,7 @@ AC_MSG_RESULT($cf_cv_func_fork)
 test $cf_cv_func_fork = yes && AC_DEFINE(HAVE_FORK)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_GETADDRINFO version: 5 updated: 2000/09/28 06:18:08
+dnl CF_FUNC_GETADDRINFO version: 6 updated: 2007/04/28 09:15:55
 dnl -------------------
 dnl Look for a working version of getaddrinfo(), for IPV6 support.
 AC_DEFUN([CF_FUNC_GETADDRINFO],[
@@ -2417,12 +2614,12 @@ int main()
 
    if (aitop)
      freeaddrinfo(aitop);
-   exit(0);
+   ${cf_cv_main_return-return}(0);
 
   bad:
    if (aitop)
      freeaddrinfo(aitop);
-   exit(1);
+   ${cf_cv_main_return-return}(1);
 }
 ],
 [cf_cv_getaddrinfo=yes],
@@ -2435,7 +2632,7 @@ if test "$cf_cv_getaddrinfo" = yes ; the
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52
+dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30
 dnl ---------------
 dnl Check for memmove, or a bcopy that can handle overlapping copy.  If neither
 dnl is found, add our own version of memmove to the list of objects.
@@ -2451,7 +2648,7 @@ int main() {
 	bcopy(data, temp, sizeof(data));
 	bcopy(temp+10, temp, 15);
 	bcopy(temp+5, temp+15, 10);
-	exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
+	${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
 }
 		],
 		[cf_cv_good_bcopy=yes],
@@ -2466,7 +2663,7 @@ int main() {
 	fi
 ])])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_SYSTEM version: 3 updated: 1997/10/22 22:02:10
+dnl CF_FUNC_SYSTEM version: 4 updated: 2007/04/28 09:15:55
 dnl --------------
 dnl Check if the 'system()' function returns a usable status, or if not, try
 dnl to use the status returned by a SIGCHLD.
@@ -2492,7 +2689,7 @@ RETSIGTYPE signal_handler (int sig)
 	int system_status;
 	wait (&wait_status);
 	system_status = WEXITSTATUS(wait_status); /* should be nonzero */
-	exit(system_status != 23);
+	${cf_cv_main_return-return}(system_status != 23);
 }
 
 int main()
@@ -2502,12 +2699,12 @@ int main()
 	 */
 	signal (SIGCHLD, signal_handler);
 	system("exit 23");
-	exit(1);
+	${cf_cv_main_return-return}(1);
 }
 ],
 	[cf_cv_system_status=no],
 	[AC_TRY_RUN(
-	[int main() { exit(system("exit 23") != (23 << 8)); }],
+	[int main() { ${cf_cv_main_return-return}(system("exit 23") != (23 << 8)); }],
 	[cf_cv_system_status=yes],
 	[cf_cv_system_status=unknown],
 	[cf_cv_system_status=unknown])],
@@ -2531,7 +2728,7 @@ if test "$GCC" = yes ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GCC_WARNINGS version: 20 updated: 2005/08/06 18:37:29
+dnl CF_GCC_WARNINGS version: 22 updated: 2007/07/29 09:55:12
 dnl ---------------
 dnl Check if the compiler supports useful warning options.  There's a few that
 dnl we don't use, simply because they're too noisy:
@@ -2556,7 +2753,7 @@ AC_REQUIRE([CF_GCC_VERSION])
 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
 
 cat > conftest.$ac_ext <<EOF
-#line __oline__ "configure"
+#line __oline__ "${as_me-configure}"
 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
 EOF
 
@@ -2577,7 +2774,7 @@ then
 	AC_CHECKING([for $CC warning options])
 	cf_save_CFLAGS="$CFLAGS"
 	EXTRA_CFLAGS="-Wall"
-	for cf_opt in $1 \
+	for cf_opt in \
 		wd1419 \
 		wd1682 \
 		wd1683 \
@@ -2836,24 +3033,24 @@ done
 ])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MAKEFLAGS version: 10 updated: 2006/08/05 09:56:13
+dnl CF_MAKEFLAGS version: 12 updated: 2006/10/21 08:27:03
 dnl ------------
-dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make'
+dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
 dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
-dnl $(MAKEFLAGS) variable incompatible because it adds the assignments :-)
+dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
 AC_DEFUN([CF_MAKEFLAGS],
 [
 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
 	cf_cv_makeflags=''
-	for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)'
+	for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
 	do
 		cat >cf_makeflags.tmp <<CF_EOF
 SHELL = /bin/sh
 all :
 	@ echo '.$cf_option'
 CF_EOF
-		cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null`
+		cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null | sed -e 's,[[ 	]]*$,,'`
 		case "$cf_result" in
 		.*k)
 			cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
@@ -2876,12 +3073,12 @@ CF_EOF
 AC_SUBST(cf_cv_makeflags)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MSG_LOG version: 3 updated: 1997/09/07 14:05:52
+dnl CF_MSG_LOG version: 4 updated: 2007/07/29 09:55:12
 dnl ----------
 dnl Write a debug message to config.log, along with the line number in the
 dnl configure script.
 AC_DEFUN([CF_MSG_LOG],[
-echo "(line __oline__) testing $* ..." 1>&AC_FD_CC
+echo "${as_me-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_NCURSES_BROKEN version: 6 updated: 1998/04/27 20:32:34
@@ -2913,7 +3110,7 @@ fi
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_CC_CHECK version: 3 updated: 2003/01/12 18:59:28
+dnl CF_NCURSES_CC_CHECK version: 4 updated: 2007/07/29 10:39:05
 dnl -------------------
 dnl Check if we can compile with ncurses' header file
 dnl $1 is the cache variable to set
@@ -2942,11 +3139,11 @@ printf("old\n");
 #endif
 #endif
 	]
-	,[$1=$cf_header]
+	,[$1=$2]
 	,[$1=no])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_CPPFLAGS version: 18 updated: 2005/12/31 13:26:39
+dnl CF_NCURSES_CPPFLAGS version: 19 updated: 2007/07/29 13:35:20
 dnl -------------------
 dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
 dnl the CPPFLAGS variable so we can include its header.
@@ -2974,8 +3171,9 @@ AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl
 cf_ncuhdr_root=ifelse($1,,ncurses,$1)
 
 test -n "$cf_cv_curses_dir" && \
-test "$cf_cv_curses_dir" != "no" && \
-CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
+test "$cf_cv_curses_dir" != "no" && { \
+  CF_ADD_INCDIR($cf_cv_curses_dir/include $cf_cv_curses_dir/include/$cf_ncuhdr_root)
+}
 
 AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
 	cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
@@ -2996,7 +3194,7 @@ AC_DEFINE(NCURSES)
 CF_NCURSES_VERSION
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_HEADER version: 1 updated: 2005/12/31 13:28:37
+dnl CF_NCURSES_HEADER version: 2 updated: 2008/03/23 14:48:54
 dnl -----------------
 dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
 dnl variations of ncurses' installs.
@@ -3031,7 +3229,7 @@ AC_CACHE_CHECK(for $cf_ncuhdr_root inclu
 		CPPFLAGS="$cf_save2_CPPFLAGS"
 		test "$cf_cv_ncurses_h2" != no && break
 	done
-	test "$cf_cv_ncurses_h2" = no && AC_ERROR(not found)
+	test "$cf_cv_ncurses_h2" = no && AC_MSG_ERROR(not found)
 	])
 
 	CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
@@ -3062,7 +3260,7 @@ esac
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_LIBS version: 12 updated: 2004/04/27 16:26:05
+dnl CF_NCURSES_LIBS version: 13 updated: 2007/07/29 10:29:20
 dnl ---------------
 dnl Look for the ncurses library.  This is a little complicated on Linux,
 dnl because it may be linked with the gpm (general purpose mouse) library.
@@ -3102,7 +3300,8 @@ LIBS="$cf_ncurses_LIBS $LIBS"
 
 if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
 then
-	LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
+	CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
+	LIBS="-l$cf_nculib_root $LIBS"
 else
 	CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
 		[#include <${cf_cv_ncurses_header-curses.h}>],
@@ -3130,7 +3329,7 @@ CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncul
 AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_VERSION version: 11 updated: 2003/11/06 19:59:57
+dnl CF_NCURSES_VERSION version: 12 updated: 2007/04/28 09:15:55
 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
@@ -3161,7 +3360,7 @@ int main()
 	make an error
 # endif
 #endif
-	exit(0);
+	${cf_cv_main_return-return}(0);
 }],[
 	cf_cv_ncurses_version=`cat $cf_tempfile`],,[
 
@@ -3235,6 +3434,35 @@ LIBS="$LIBS $cf_cv_netlibs"
 test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&AC_FD_MSG
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
+dnl ------------------
+dnl see CF_WITH_NO_LEAKS
+AC_DEFUN([CF_NO_LEAKS_OPTION],[
+AC_MSG_CHECKING(if you want to use $1 for testing)
+AC_ARG_WITH($1,
+	[$2],
+	[AC_DEFINE($3)ifelse([$4],,[
+	 $4
+])
+	: ${with_cflags:=-g}
+	: ${with_no_leaks:=yes}
+	 with_$1=yes],
+	[with_$1=])
+AC_MSG_RESULT(${with_$1:-no})
+
+case .$with_cflags in #(vi
+.*-g*)
+	case .$CFLAGS in #(vi
+	.*-g*) #(vi
+		;;
+	*)
+		CF_ADD_CFLAGS([-g])
+		;;
+	esac
+	;;
+esac
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_OUR_MESSAGES version: 7 updated: 2004/09/12 19:45:55
 dnl ---------------
 dnl Check if we use the messages included with this program
@@ -3365,7 +3593,7 @@ fi
 AC_MSG_RESULT($DEFAULT_MAILER)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PATH_SYNTAX version: 11 updated: 2006/09/02 08:55:46
+dnl CF_PATH_SYNTAX version: 12 updated: 2008/03/23 14:45:59
 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
@@ -3397,16 +3625,28 @@ case ".[$]$1" in #(vi
   $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
   ;;
 *)
-  ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
+  ifelse($2,,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
   ;;
 esac
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PDCURSES_X11 version: 6 updated: 2002/10/27 18:21:42
+dnl CF_PDCURSES_X11 version: 8 updated: 2008/03/23 14:48:54
 dnl ---------------
 dnl Configure for PDCurses' X11 library
 AC_DEFUN([CF_PDCURSES_X11],[
 AC_REQUIRE([CF_X_ATHENA])
+
+AC_PATH_PROGS(XCURSES_CONFIG,xcurses-config,none)
+
+if test "$XCURSES_CONFIG" != none ; then
+
+CPPFLAGS="`$XCURSES_CONFIG --cflags` $CPPFLAGS"
+LIBS="`$XCURSES_CONFIG --libs` $LIBS"
+
+cf_cv_lib_XCurses=yes
+
+else
+
 LDFLAGS="$LDFLAGS $X_LIBS"
 CF_CHECK_CFLAGS($X_CFLAGS)
 AC_CHECK_LIB(X11,XOpenDisplay,
@@ -3421,12 +3661,15 @@ char *XCursesProgramName = "test";
 [cf_cv_lib_XCurses=yes],
 [cf_cv_lib_XCurses=no])
 ])
+
+fi
+
 if test $cf_cv_lib_XCurses = yes ; then
 	AC_DEFINE(UNIX)
 	AC_DEFINE(XCURSES)
 	AC_DEFINE(HAVE_XCURSES)
 else
-	AC_ERROR(Cannot link with XCurses)
+	AC_MSG_ERROR(Cannot link with XCurses)
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -3779,7 +4022,7 @@ AC_MSG_RESULT($cf_cv_sig_args)
 AC_DEFINE_UNQUOTED(SIG_ARGS,$cf_cv_sig_args)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SIG_CONST version: 2 updated: 1997/08/28 23:57:55
+dnl CF_SIG_CONST version: 3 updated: 2007/04/28 09:15:55
 dnl ------------
 dnl Check for systems where the special signal constants aren't prototyped
 dnl (there's a lot of them, and the compiler can generate a lot of warning
@@ -3812,9 +4055,9 @@ int main()
 #define SIG_IGN NEW_IGN
 #define SIG_ERR NEW_ERR
 	 || NEW_DFL != SIG_DFL)
-	 	exit(1);
+	 	${cf_cv_main_return-return}(1);
 	signal(SIGINT, SIG_DFL);
-	exit(0);
+	${cf_cv_main_return-return}(0);
 }],
 	[cf_cv_sig_const=yes],
 	[cf_cv_sig_const=no],
@@ -3895,69 +4138,53 @@ if test "$cf_cv_sizechange" != no ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SOCKS version: 3 updated: 2001/01/01 09:54:40
+dnl CF_SOCKS version: 6 updated: 2008/03/23 14:48:54
 dnl --------
 dnl Check for socks library
 dnl $1 = the [optional] directory in which the library may be found
 AC_DEFUN([CF_SOCKS],[
-case "$1" in #(vi
-no|yes) #(vi
-  ;;
-*)
-  if test -d $1 ; then
-    if test -d $1/include ; then
-      CPPFLAGS="$CPPFLAGS -I$1/include"
-      LIBS="$LIBS -L$1/lib"
-    else
-      LIBS="$LIBS -L$1"
-      test -d $1/../include && CPPFLAGS="$CPPFLAGS -I$1/../include"
-    fi
+  CF_ADD_OPTIONAL_PATH($1, [socks library])
+  CF_FIND_LINKAGE([
+#include <stdio.h>
+],[
+      Raccept((char *)0)
+],
+      socks,
+      cf_cv_have_socks=yes,
+      cf_cv_have_socks=no)
+
+  if test "$cf_cv_have_socks" = yes ; then
+    AC_DEFINE(SOCKS)
+
+    AC_DEFINE(accept,Raccept)
+    AC_DEFINE(bind,Rbind)
+    AC_DEFINE(connect,Rconnect)
+    AC_DEFINE(getpeername,Rgetpeername)
+    AC_DEFINE(getsockname,Rgetsockname)
+    AC_DEFINE(listen,Rlisten)
+    AC_DEFINE(recvfrom,Rrecvfrom)
+    AC_DEFINE(select,Rselect)
+
+    CF_ADD_INCDIR($cf_cv_header_path_socks)
+    CF_ADD_LIBDIR($cf_cv_library_path_socks)
+    LIBS="$LIBS -lsocks"
   else
-    AC_MSG_WARN(expected a directory: $1)
+    AC_MSG_ERROR(cannot link with socks library)
   fi
-  ;;
-esac
-LIBS="$LIBS -lsocks"
-AC_DEFINE(SOCKS)
-AC_DEFINE(accept,Raccept)
-AC_DEFINE(bind,Rbind)
-AC_DEFINE(connect,Rconnect)
-AC_DEFINE(getpeername,Rgetpeername)
-AC_DEFINE(getsockname,Rgetsockname)
-AC_DEFINE(listen,Rlisten)
-AC_DEFINE(recvfrom,Rrecvfrom)
-AC_DEFINE(select,Rselect)
-AC_TRY_LINK([
-#include <stdio.h>],[
-	accept((char *)0)],,
-	[AC_ERROR(Cannot link with socks library)])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SOCKS5 version: 7 updated: 2001/01/01 09:54:40
+dnl CF_SOCKS5 version: 10 updated: 2008/03/23 14:48:54
 dnl ---------
 dnl Check for socks5 configuration
 dnl $1 = the [optional] directory in which the library may be found
 AC_DEFUN([CF_SOCKS5],[
-case "$1" in #(vi
-no|yes) #(vi
-  ;;
-*)
-  if test -d $1 ; then
-    if test -d $1/include ; then
-      CPPFLAGS="$CPPFLAGS -I$1/include"
-      LIBS="$LIBS -L$1/lib"
-    else
-      LIBS="$LIBS -L$1"
-      test -d $1/../include && CPPFLAGS="$CPPFLAGS -I$1/../include"
-    fi
-  else
-    AC_MSG_WARN(expected a directory: $1)
-  fi
-  ;;
-esac
+  CF_ADD_OPTIONAL_PATH($1, [socks5 library])
+
 LIBS="$LIBS -lsocks5"
+
 AC_DEFINE(USE_SOCKS5)
 AC_DEFINE(SOCKS)
+
 AC_MSG_CHECKING(if the socks library uses socks4 prefix)
 cf_use_socks4=error
 AC_TRY_LINK([
@@ -3968,8 +4195,9 @@ AC_TRY_LINK([
 	[AC_TRY_LINK([#include <socks.h>],
 		[SOCKSinit((char *)0)],
 		[cf_use_socks4=no],
-		[AC_ERROR(Cannot link with socks5 library)])])
+		[AC_MSG_ERROR(Cannot link with socks5 library)])])
 AC_MSG_RESULT($cf_use_socks4)
+
 if test "$cf_use_socks4" = "yes" ; then
 	AC_DEFINE(accept,Raccept)
 	AC_DEFINE(bind,Rbind)
@@ -3985,6 +4213,7 @@ else
 	AC_DEFINE(getsockname,SOCKSgetsockname)
 	AC_DEFINE(recvfrom,SOCKSrecvfrom)
 fi
+
 AC_MSG_CHECKING(if socks5p.h is available)
 AC_TRY_COMPILE([
 #define INCLUDE_PROTOTYPES
@@ -3993,6 +4222,7 @@ AC_TRY_COMPILE([
 	[cf_use_socks5p_h=yes],
 	[cf_use_socks5p_h=no])
 AC_MSG_RESULT($cf_use_socks5p_h)
+
 test "$cf_use_socks5p_h" = yes && AC_DEFINE(INCLUDE_PROTOTYPES)
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -4040,7 +4270,7 @@ if test "$ac_cv_header_termios_h" = yes 
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SUBDIR_PATH version: 3 updated: 2002/12/29 18:30:46
+dnl CF_SUBDIR_PATH version: 5 updated: 2007/07/29 09:55:12
 dnl --------------
 dnl Construct a search-list for a nonstandard header/lib-file
 dnl	$1 = the variable to return as result
@@ -4049,59 +4279,11 @@ dnl	$3 = the subdirectory, e.g., bin, in
 AC_DEFUN([CF_SUBDIR_PATH],
 [$1=""
 
-test -d [$]HOME && {
-	test -n "$verbose" && echo "	... testing $3-directories under [$]HOME"
-	test -d [$]HOME/$3 &&          $1="[$]$1 [$]HOME/$3"
-	test -d [$]HOME/$3/$2 &&       $1="[$]$1 [$]HOME/$3/$2"
-	test -d [$]HOME/$3/$2/$3 &&    $1="[$]$1 [$]HOME/$3/$2/$3"
-}
-
-# For other stuff under the home directory, it should be sufficient to put
-# a symbolic link for $HOME/$2 to the actual package location:
-test -d [$]HOME/$2 && {
-	test -n "$verbose" && echo "	... testing $3-directories under [$]HOME/$2"
-	test -d [$]HOME/$2/$3 &&       $1="[$]$1 [$]HOME/$2/$3"
-	test -d [$]HOME/$2/$3/$2 &&    $1="[$]$1 [$]HOME/$2/$3/$2"
-}
-
-test "$prefix" != /usr/local && \
-test -d /usr/local && {
-	test -n "$verbose" && echo "	... testing $3-directories under /usr/local"
-	test -d /usr/local/$3 &&       $1="[$]$1 /usr/local/$3"
-	test -d /usr/local/$3/$2 &&    $1="[$]$1 /usr/local/$3/$2"
-	test -d /usr/local/$3/$2/$3 && $1="[$]$1 /usr/local/$3/$2/$3"
-	test -d /usr/local/$2/$3 &&    $1="[$]$1 /usr/local/$2/$3"
-	test -d /usr/local/$2/$3/$2 && $1="[$]$1 /usr/local/$2/$3/$2"
-}
-
-test "$prefix" != NONE && \
-test -d $prefix && {
-	test -n "$verbose" && echo "	... testing $3-directories under $prefix"
-	test -d $prefix/$3 &&          $1="[$]$1 $prefix/$3"
-	test -d $prefix/$3/$2 &&       $1="[$]$1 $prefix/$3/$2"
-	test -d $prefix/$3/$2/$3 &&    $1="[$]$1 $prefix/$3/$2/$3"
-	test -d $prefix/$2/$3 &&       $1="[$]$1 $prefix/$2/$3"
-	test -d $prefix/$2/$3/$2 &&    $1="[$]$1 $prefix/$2/$3/$2"
-}
-
-test "$prefix" != /opt && \
-test -d /opt && {
-	test -n "$verbose" && echo "	... testing $3-directories under /opt"
-	test -d /opt/$3 &&             $1="[$]$1 /opt/$3"
-	test -d /opt/$3/$2 &&          $1="[$]$1 /opt/$3/$2"
-	test -d /opt/$3/$2/$3 &&       $1="[$]$1 /opt/$3/$2/$3"
-	test -d /opt/$2/$3 &&          $1="[$]$1 /opt/$2/$3"
-	test -d /opt/$2/$3/$2 &&       $1="[$]$1 /opt/$2/$3/$2"
-}
-
-test "$prefix" != /usr && \
-test -d /usr && {
-	test -n "$verbose" && echo "	... testing $3-directories under /usr"
-	test -d /usr/$3 &&             $1="[$]$1 /usr/$3"
-	test -d /usr/$3/$2 &&          $1="[$]$1 /usr/$3/$2"
-	test -d /usr/$3/$2/$3 &&       $1="[$]$1 /usr/$3/$2/$3"
-	test -d /usr/$2/$3 &&          $1="[$]$1 /usr/$2/$3"
-}
+CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
+CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
+CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
+CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
+CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
@@ -4192,9 +4374,11 @@ AC_MSG_RESULT($cf_cv_sys_select_timeval)
 test $cf_cv_sys_select_timeval = yes && AC_DEFINE(NEED_TIMEVAL_FIX)
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_TERMCAP_LIBS version: 10 updated: 2001/10/18 20:42:39
+dnl CF_TERMCAP_LIBS version: 11 updated: 2006/10/28 15:15:38
 dnl ---------------
 dnl Look for termcap libraries, or the equivalent in terminfo.
+dnl
+dnl The optional parameter may be "ncurses", "ncursesw".
 AC_DEFUN([CF_TERMCAP_LIBS],
 [
 AC_CACHE_VAL(cf_cv_termlib,[
@@ -4208,8 +4392,7 @@ AC_TRY_LINK([],[char *x=(char*)tgoto("",
 ifelse([$1],,,[
 case "$1" in # (vi
 ncurses*)
-	CF_NCURSES_CPPFLAGS($1)
-	CF_NCURSES_LIBS($1)
+	CF_NCURSES_CONFIG($1)
 	cf_cv_termlib=terminfo
 	;;
 esac
@@ -4331,7 +4514,7 @@ ncursesw/term.h)
 esac
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_TIOCGWINSZ version: 3 updated: 1997/11/29 01:04:53
+dnl CF_TIOCGWINSZ version: 4 updated: 2007/04/28 09:15:55
 dnl -------------
 dnl On some systems ioctl(fd, TIOCGWINSZ, &size) will always return {0,0} until
 dnl ioctl(fd, TIOCSWINSZ, &size) is called to explicitly set the size of the
@@ -4359,16 +4542,16 @@ int main()
 		if (ioctl (0, TIOCGSIZE, &size) == 0
 		 && size.ts_lines > 0
 		 && size.ts_cols > 0)
-			exit(0);
+			${cf_cv_main_return-return}(0);
 #else
 		struct winsize size;
 		if (ioctl(0, TIOCGWINSZ, &size) == 0
 		 && size.ws_row > 0
 		 && size.ws_col > 0)
-			exit(0);
+			${cf_cv_main_return-return}(0);
 #endif
 	}
-	exit(0);	/* we cannot guarantee this is run interactively */
+	${cf_cv_main_return-return}(0);	/* we cannot guarantee this is run interactively */
 }],
 		[cf_cv_use_tiocgwinsz=yes],
 		[cf_cv_use_tiocgwinsz=no],
@@ -4555,11 +4738,12 @@ AC_DEFUN([CF_UPPER],
 $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
+dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
 dnl ----------
 dnl Use AC_VERBOSE w/o the warnings
 AC_DEFUN([CF_VERBOSE],
 [test -n "$verbose" && echo "	$1" 1>&AC_FD_MSG
+CF_MSG_LOG([$1])
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_WAIT_HEADERS version: 2 updated: 1997/10/21 19:45:33
@@ -4605,24 +4789,22 @@ AC_ARG_WITH(curses-dir,
 	[cf_cv_curses_dir=no])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_DBMALLOC version: 4 updated: 2004/02/28 05:49:27
+dnl CF_WITH_DBMALLOC version: 6 updated: 2006/12/16 14:24:05
 dnl ----------------
 dnl Configure-option for dbmalloc.  The optional parameter is used to override
 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
 AC_DEFUN([CF_WITH_DBMALLOC],[
-AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
-AC_ARG_WITH(dbmalloc,
-	[  --with-dbmalloc         use Conor Cahill's dbmalloc library],
-	[with_dbmalloc=$withval],
-	[with_dbmalloc=no])
-AC_MSG_RESULT($with_dbmalloc)
+CF_NO_LEAKS_OPTION(dbmalloc,
+	[  --with-dbmalloc         test: use Conor Cahill's dbmalloc library],
+	[USE_DBMALLOC])
+
 if test "$with_dbmalloc" = yes ; then
 	AC_CHECK_HEADER(dbmalloc.h,
 		[AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse($1,,[],[,$1]))])
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_DFTENV version: 3 updated: 1998/04/01 11:39:13
+dnl CF_WITH_DFTENV version: 4 updated: 2008/03/23 14:48:54
 dnl --------------
 dnl Wrapper for AC_ARG_WITH to inherit/override an environment variable's
 dnl "#define" in the compile.
@@ -4635,31 +4817,29 @@ AC_DEFUN([CF_WITH_DFTENV],
 ifelse($4,,[withval="${$3}"],[withval="${$3-$4}"]))dnl
 case "$withval" in #(vi
 yes|no)
-  AC_ERROR(expected a value for --with-$1)
+  AC_MSG_ERROR(expected a value for --with-$1)
   ;;
 esac
 $3="$withval"
 AC_DEFINE_UNQUOTED($3,"[$]$3")dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_DMALLOC version: 4 updated: 2004/02/28 05:49:27
+dnl CF_WITH_DMALLOC version: 6 updated: 2006/12/16 14:24:05
 dnl ---------------
 dnl Configure-option for dmalloc.  The optional parameter is used to override
 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
 AC_DEFUN([CF_WITH_DMALLOC],[
-AC_MSG_CHECKING(if you want to link with dmalloc for testing)
-AC_ARG_WITH(dmalloc,
-	[  --with-dmalloc          use Gray Watson's dmalloc library],
-	[with_dmalloc=$withval],
-	[with_dmalloc=no])
-AC_MSG_RESULT($with_dmalloc)
+CF_NO_LEAKS_OPTION(dmalloc,
+	[  --with-dmalloc          test: use Gray Watson's dmalloc library],
+	[USE_DMALLOC])
+
 if test "$with_dmalloc" = yes ; then
 	AC_CHECK_HEADER(dmalloc.h,
 		[AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse($1,,[],[,$1]))])
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_PATH version: 7 updated: 2006/08/03 15:20:08
+dnl CF_WITH_PATH version: 8 updated: 2007/05/13 13:16:35
 dnl ------------
 dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
 dnl defaulting to yes/no.
@@ -4673,12 +4853,14 @@ dnl
 AC_DEFUN([CF_WITH_PATH],
 [AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
 ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl
+if ifelse($5,,true,[test -n "$5"]) ; then
 CF_PATH_SYNTAX(withval)
+fi
 $3="$withval"
 AC_SUBST($3)dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_PROGRAM version: 5 updated: 2001/07/22 23:07:22
+dnl CF_WITH_PROGRAM version: 6 updated: 2008/03/23 14:48:54
 dnl ---------------
 dnl Wrapper for AC_PATH_PROG, with command-line option.
 dnl Params:
@@ -4693,7 +4875,7 @@ define([cf_have_name], HAVE_[]translit($
 AC_ARG_WITH($1,[$2],ifelse($3,,
 [case "$withval" in #(vi
   yes[)]
-   AC_ERROR(expected a value for --with-$1)
+   AC_MSG_ERROR(expected a value for --with-$1)
    ;; #(vi
   no[)]
    ;; #(vi
@@ -4759,7 +4941,7 @@ AC_TRY_LINK([
 test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 24 updated: 2006/04/02 16:41:09
+dnl CF_XOPEN_SOURCE version: 25 updated: 2007/01/29 18:36:38
 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,
@@ -4793,7 +4975,7 @@ hpux*) #(vi
 irix[[56]].*) #(vi
 	CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
 	;;
-linux*|gnu*) #(vi
+linux*|gnu*|k*bsd*-gnu) #(vi
 	CF_GNU_SOURCE
 	;;
 mirbsd*) #(vi
@@ -4945,7 +5127,7 @@ elif test "$cf_x_athena_include" != defa
 fi
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_X_ATHENA_LIBS version: 3 updated: 2003/02/16 15:24:54
+dnl CF_X_ATHENA_LIBS version: 7 updated: 2008/03/23 14:46:03
 dnl ----------------
 dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of
 dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw.
@@ -4975,25 +5157,21 @@ do
 				LIBS="$cf_lib $LIBS"
 				AC_MSG_CHECKING(for $cf_test in $cf_lib)
 			fi
-			cf_SAVE="$LIBS"
-			LIBS="$X_PRE_LIBS $LIBS $X_EXTRA_LIBS"
 			AC_TRY_LINK([],[$cf_test()],
 				[cf_result=yes],
 				[cf_result=no])
 			AC_MSG_RESULT($cf_result)
 			if test "$cf_result" = yes ; then
 				cf_x_athena_lib="$cf_lib"
-				LIBS="$cf_SAVE"
 				break
-			else
-				LIBS="$cf_save"
 			fi
+			LIBS="$cf_save"
 		fi
 	done
 done
 
 if test -z "$cf_x_athena_lib" ; then
-	AC_ERROR(
+	AC_MSG_ERROR(
 [Unable to successfully link Athena library (-l$cf_x_athena_root) with test program])
 fi
 
@@ -5001,7 +5179,7 @@ CF_UPPER(cf_x_athena_LIBS,HAVE_LIB_$cf_x
 AC_DEFINE_UNQUOTED($cf_x_athena_LIBS)
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_X_TOOLKIT version: 10 updated: 2004/04/25 15:37:17
+dnl CF_X_TOOLKIT version: 12 updated: 2008/03/23 15:04:54
 dnl ------------
 dnl Check for X Toolkit libraries
 dnl
@@ -5026,17 +5204,53 @@ AC_CHECK_FUNC(XtAppInitialize,,[
 AC_CHECK_LIB(Xt, XtAppInitialize,
 	[AC_DEFINE(HAVE_LIBXT)
 	 cf_have_X_LIBS=Xt
-	 LIBS="-lXt $X_PRE_LIBS $LIBS"],,
+	 LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"],,
 	[$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])])
 
 if test $cf_have_X_LIBS = no ; then
-	AC_WARN(
+	AC_MSG_WARN(
 [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.])
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF__ICONV_BODY version: 2 updated: 2007/07/26 17:35:47
+dnl --------------
+dnl Test-code needed for iconv compile-checks
+define([CF__ICONV_BODY],[
+	iconv_t cd = iconv_open("","");
+	iconv(cd,NULL,NULL,NULL,NULL);
+	iconv_close(cd);]
+)dnl
+dnl ---------------------------------------------------------------------------
+dnl CF__ICONV_HEAD version: 1 updated: 2007/07/26 15:57:03
+dnl --------------
+dnl Header-files needed for iconv compile-checks
+define([CF__ICONV_HEAD],[
+#include <stdlib.h>
+#include <iconv.h>]
+)dnl
+dnl ---------------------------------------------------------------------------
+dnl CF__INTL_BODY version: 1 updated: 2007/07/26 17:35:47
+dnl -------------
+dnl Test-code needed for libintl compile-checks
+dnl $1 = parameter 2 from AM_WITH_NLS
+define([CF__INTL_BODY],[
+    bindtextdomain ("", "");
+    return (int) gettext ("")
+            ifelse([$1], need-ngettext, [ + (int) ngettext ("", "", 0)], [])
+            [ + _nl_msg_cat_cntr]
+])
+dnl ---------------------------------------------------------------------------
+dnl CF__INTL_HEAD version: 1 updated: 2007/07/26 17:35:47
+dnl -------------
+dnl Header-files needed for libintl compile-checks
+define([CF__INTL_HEAD],[
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl jm_GLIBC21 version: 3 updated: 2002/10/27 23:21:42
 dnl ----------
 dnl Inserted as requested by gettext 0.10.40
diff -Nurp tin-1.9.2/config.guess tin-1.9.3/config.guess
--- tin-1.9.2/config.guess	2007-01-29 02:53:00.000000000 +0100
+++ tin-1.9.3/config.guess	2008-04-14 20:45:24.000000000 +0200
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   Free Software Foundation, Inc.
 
-timestamp='2007-01-15'
+timestamp='2008-04-14'
 
 # 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
@@ -55,8 +56,8 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 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."
@@ -179,7 +180,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 		fi
 		;;
 	    *)
-	        os=netbsd
+		os=netbsd
 		;;
 	esac
 	# The OS release
@@ -329,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
-    i86pc:SunOS:5.*:*)
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
     sun4*:SunOS:6*:*)
@@ -374,23 +375,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint${UNAME_RELEASE}
 	exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
 	echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
+	exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint${UNAME_RELEASE}
 	exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-milan-mint${UNAME_RELEASE}
+	exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-hades-mint${UNAME_RELEASE}
+	exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-unknown-mint${UNAME_RELEASE}
+	exit ;;
     m68k:machten:*:*)
 	echo m68k-apple-machten${UNAME_RELEASE}
 	exit ;;
@@ -460,8 +461,8 @@ EOF
 	echo m88k-motorola-sysv3
 	exit ;;
     AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	# DG/UX returns AViiON for all architectures
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
 	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
 	then
 	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -531,7 +532,7 @@ EOF
 		echo rs6000-ibm-aix3.2
 	fi
 	exit ;;
-    *:AIX:*:[45])
+    *:AIX:*:[456])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
@@ -574,8 +575,8 @@ EOF
 	    9000/[678][0-9][0-9])
 		if [ -x /usr/bin/getconf ]; then
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
+		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+		    case "${sc_cpu_version}" in
                       523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
                       528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
                       532)                      # CPU_PA_RISC2_0
@@ -710,22 +711,22 @@ EOF
 	exit ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
 	echo c1-convex-bsd
-        exit ;;
+	exit ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
 	else echo c2-convex-bsd
 	fi
-        exit ;;
+	exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
 	echo c34-convex-bsd
-        exit ;;
+	exit ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
 	echo c38-convex-bsd
-        exit ;;
+	exit ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
 	echo c4-convex-bsd
-        exit ;;
+	exit ;;
     CRAY*Y-MP:*:*:*)
 	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
@@ -752,7 +753,7 @@ EOF
 	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
 	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
 	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit ;;
+	exit ;;
     5000:UNIX_System_V:4.*:*)
 	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
 	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
@@ -790,12 +791,18 @@ EOF
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit ;;
-    x86:Interix*:[3456]*)
-	echo i586-pc-interix${UNAME_RELEASE}
-	exit ;;
-    EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*)
-	echo x86_64-unknown-interix${UNAME_RELEASE}
-	exit ;;
+    *:Interix*:[3456]*)
+	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    EM64T | authenticamd)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	    IA64)
+	    	echo ia64-unknown-interix${UNAME_RELEASE}
+	    	exit ;;
+	esac ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 	echo i${UNAME_MACHINE}-pc-mks
 	exit ;;
@@ -829,7 +836,13 @@ EOF
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     arm*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	eval $set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null | grep -q __ARM_EABI__
+	then
+	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	else
+	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	fi
 	exit ;;
     avr32*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -916,7 +929,7 @@ EOF
 	  EV6)   UNAME_MACHINE=alphaev6 ;;
 	  EV67)  UNAME_MACHINE=alphaev67 ;;
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
+	esac
 	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
 	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
@@ -950,8 +963,8 @@ EOF
     x86_64:Linux:*:*)
 	echo x86_64-unknown-linux-gnu
 	exit ;;
-    xtensa:Linux:*:*)
-	echo xtensa-unknown-linux-gnu
+    xtensa*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     i*86:Linux:*:*)
 	# The BFD linker knows what the default object file format is, so
@@ -964,16 +977,13 @@ EOF
 				    s/.*supported targets: *//
 				    s/ .*//
 				    p'`
-        case "$ld_supported_targets" in
+	case "$ld_supported_targets" in
 	  elf32-i386)
 		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
 		;;
 	  a.out-i386-linux)
 		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
 		exit ;;
-	  coff-i386)
-		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit ;;
 	  "")
 		# Either a pre-BFD a.out linker (linux-gnuoldld) or
 		# one that does not give us useful --help.
@@ -1023,11 +1033,11 @@ EOF
 	echo i386-sequent-sysv4
 	exit ;;
     i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
+	# Unixware is an offshoot of SVR4, but it has its own version
+	# number series starting with 2...
+	# I am not positive that other SVR4 systems won't match this,
 	# I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
+	# Use sysv4.2uw... so that sysv4* matches it.
 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
 	exit ;;
     i*86:OS/2:*:*)
@@ -1087,10 +1097,10 @@ EOF
 	exit ;;
     pc:*:*:*)
 	# Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
+	# uname -m prints for DJGPP always 'pc', but it prints nothing about
+	# the processor, so we play safe by assuming i386.
 	echo i386-pc-msdosdjgpp
-        exit ;;
+	exit ;;
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
 	exit ;;
@@ -1125,8 +1135,8 @@ EOF
 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
 	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && { echo i486-ncr-sysv4; exit; } ;;
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	   && { echo i486-ncr-sysv4; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
 	echo m68k-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
@@ -1160,9 +1170,9 @@ EOF
 	fi
 	exit ;;
     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit ;;
+	              # says <Richard.M.Bartel@ccMail.Census.GOV>
+	echo i586-unisys-sysv4
+	exit ;;
     *:UNIX_System_V:4*:FTX*)
 	# From Gerald Hewes <hewes@openmarket.com>.
 	# How about differentiating between stratus architectures? -djm
@@ -1192,7 +1202,7 @@ EOF
 	else
 	        echo mips-unknown-sysv${UNAME_RELEASE}
 	fi
-        exit ;;
+	exit ;;
     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
 	echo powerpc-be-beos
 	exit ;;
@@ -1202,6 +1212,9 @@ EOF
     BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
 	echo i586-pc-beos
 	exit ;;
+    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
+	echo i586-pc-haiku
+	exit ;;
     SX-4:SUPER-UX:*:*)
 	echo sx4-nec-superux${UNAME_RELEASE}
 	exit ;;
@@ -1470,9 +1483,9 @@ This script, last modified $timestamp, h
 the operating system you are using. It is advised that you
 download the most up to date version of the config scripts from
 
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 If the version you run ($0) is already up to date, please
 send the following data and any information you think might be
diff -Nurp tin-1.9.2/config.sub tin-1.9.3/config.sub
--- tin-1.9.2/config.sub	2007-01-29 02:51:25.000000000 +0100
+++ tin-1.9.3/config.sub	2008-04-14 20:45:09.000000000 +0200
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   Free Software Foundation, Inc.
 
-timestamp='2007-01-18'
+timestamp='2008-04-14'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -71,8 +72,8 @@ Report bugs and patches to <config-patch
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 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."
@@ -249,12 +250,14 @@ case $basic_machine in
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | mcore | mep \
+	| maxq | mb | microblaze | mcore | mep | metag \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
 	| mips16 \
 	| mips64 | mips64el \
-	| mips64vr | mips64vrel \
+	| mips64octeon | mips64octeonel \
 	| mips64orion | mips64orionel \
+	| mips64r5900 | mips64r5900el \
+	| mips64vr | mips64vrel \
 	| mips64vr4100 | mips64vr4100el \
 	| mips64vr4300 | mips64vr4300el \
 	| mips64vr5000 | mips64vr5000el \
@@ -330,12 +333,14 @@ case $basic_machine in
 	| ip2k-* | iq2000-* \
 	| m32c- | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
 	| mips16-* \
 	| mips64-* | mips64el-* \
-	| mips64vr-* | mips64vrel-* \
+	| mips64octeon-* | mips64octeonel-* \
 	| mips64orion-* | mips64orionel-* \
+	| mips64r5900-* | mips64r5900el-* \
+	| mips64vr-* | mips64vrel-* \
 	| mips64vr4100-* | mips64vr4100el-* \
 	| mips64vr4300-* | mips64vr4300el-* \
 	| mips64vr5000-* | mips64vr5000el-* \
@@ -363,15 +368,19 @@ case $basic_machine in
 	| sparclite-* \
 	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
 	| tahoe-* | thumb-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
 	| tron-* \
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-	| xstormy16-* | xtensa-* \
+	| xstormy16-* | xtensa*-* \
 	| ymp-* \
 	| z8k-*)
 		;;
+	# Recognize the basic CPU types without company name, with glob match.
+	xtensa*)
+		basic_machine=$basic_machine-unknown
+		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
 	386bsd)
@@ -442,6 +451,14 @@ case $basic_machine in
 		basic_machine=ns32k-sequent
 		os=-dynix
 		;;
+	blackfin)
+		basic_machine=bfin-unknown
+		os=-linux
+		;;
+	blackfin-*)
+		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
 	c90)
 		basic_machine=c90-cray
 		os=-unicos
@@ -474,8 +491,8 @@ case $basic_machine in
 		basic_machine=craynv-cray
 		os=-unicosmp
 		;;
-	cr16c)
-		basic_machine=cr16c-unknown
+	cr16)
+		basic_machine=cr16-unknown
 		os=-elf
 		;;
 	crds | unos)
@@ -513,6 +530,10 @@ case $basic_machine in
 		basic_machine=m88k-motorola
 		os=-sysv3
 		;;
+	dicos)
+		basic_machine=i686-pc
+		os=-dicos
+		;;
 	djgpp)
 		basic_machine=i586-pc
 		os=-msdosdjgpp
@@ -667,6 +688,14 @@ case $basic_machine in
 		basic_machine=m68k-isi
 		os=-sysv
 		;;
+	m68knommu)
+		basic_machine=m68k-unknown
+		os=-linux
+		;;
+	m68knommu-*)
+		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
 	m88k-omron*)
 		basic_machine=m88k-omron
 		;;
@@ -682,6 +711,10 @@ case $basic_machine in
 		basic_machine=i386-pc
 		os=-mingw32
 		;;
+	mingw32ce)
+		basic_machine=arm-unknown
+		os=-mingw32ce
+		;;
 	miniframe)
 		basic_machine=m68000-convergent
 		;;
@@ -808,6 +841,14 @@ case $basic_machine in
 		basic_machine=i860-intel
 		os=-osf
 		;;
+	parisc)
+		basic_machine=hppa-unknown
+		os=-linux
+		;;
+	parisc-*)
+		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
 	pbd)
 		basic_machine=sparc-tti
 		;;
@@ -1016,6 +1057,10 @@ case $basic_machine in
 		basic_machine=tic6x-unknown
 		os=-coff
 		;;
+	tile*)
+		basic_machine=tile-unknown
+		os=-linux-gnu
+		;;
 	tx39)
 		basic_machine=mipstx39-unknown
 		;;
@@ -1351,6 +1396,9 @@ case $os in
 	-zvmoe)
 		os=-zvmoe
 		;;
+	-dicos*)
+		os=-dicos
+		;;
 	-none)
 		;;
 	*)
diff -Nurp tin-1.9.2/configure tin-1.9.3/configure
--- tin-1.9.2/configure	2007-02-01 15:09:13.000000000 +0100
+++ tin-1.9.3/configure	2008-05-06 19:24:19.000000000 +0200
@@ -190,7 +190,7 @@ cat <<\EOF
   --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)
   --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)
   --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)
-  --with-build-libs=XXX   the build libraries ($(BUILD_LIBS)
+  --with-build-libs=XXX   the build libraries (${BUILD_LIBS})
   --with-ispell           (default: from system path)
   --with-metamail         (default: from system path)
   --with-sum              (default: from system path)
@@ -203,21 +203,21 @@ cat <<\EOF
   --with-pgp              (default: from system path)
   --with-pgpk             (default: from system path)
   --with-gpg              (default: from system path)
+  --with-slrnface         (default: from system path)
   --with-shell=PROG       default $SHELL program (default: sh)
   --disable-nntp          disable reading via NNTP
   --enable-nntp-only      enable reading via NNTP only
-  --enable-debug          turn on debug/profiling/traces
+  --enable-debug          turn on debug support
   --disable-echo          display "compiling" commands
   --enable-prototypes     check for optional prototypes
   --enable-warnings       turn on GCC compiler warnings
-  --with-libdir=PATH      news-library (default: /usr/lib/news)
 EOF
 cat <<\EOF
+  --with-libdir=PATH      news-library (default: /usr/lib/news)
   --with-spooldir=PATH    news spool-directory (default: /var/spool/news)
   --with-nov-dir=PATH     news overview-directory (default: $SPOOLDIR)
   --with-nov-fname        specify names of overview files (default: .overview)
   --with-inews-dir=PATH   directory containing "inews" (default: $INEWSPATH)
-  --with-inn-nntplib=PATH specify INN-NNTP library (default: empty)
   --with-socks[=path]     link with socks library if available
   --with-socks5[=path]    link with socks5 library if available
   --disable-fcntl         disable fcntl() locking
@@ -233,20 +233,22 @@ cat <<\EOF
   --with-ncurses          link with ncurses if available (depriciated)
   --enable-curses         use curses interface (depriciated)
   --with-pcre=PATH        use installed pcre versus bundled
-  --with-dbmalloc         use Conor Cahill's dbmalloc library
-  --with-dmalloc          use Gray Watson's dmalloc library
-  --with-trace            use debugging/traces
+  --with-dbmalloc         test: use Conor Cahill's dbmalloc library
+  --with-dmalloc          test: use Gray Watson's dmalloc library
+  --with-trace            use debugging/traces for screen output
   --with-domain-name      sets $DOMAIN_NAME (default: empty)
   --with-nntp-default-server
                           (sets NNTP_DEFAULT_SERVER)
                           (default: news.$DOMAIN_NAME)
   --enable-mh-mail-handling
                           use MH style mail handling for mailgroups
+  --enable-cancel-locks   enable creation of Cancel-Locks
+  --disable-gsasl         don't use GNU SASL
   --disable-8bit-keys     disable 8-bit keycode support
-  --disable-color         disable ANSI-color support
-  --disable-etiquette     disable printing of posting-etiquette
 EOF
 cat <<\EOF
+  --disable-color         disable ANSI-color support
+  --disable-etiquette     disable printing of posting-etiquette
   --enable-break-long-lines
                           break long mime-encoded lines
   --disable-mime-strict-charset
@@ -261,10 +263,10 @@ cat <<\EOF
                           have fascist newsadmin
   --disable-inverse-video disable inverse video and highlighting
   --disable-piping        disable piping support
-  --disable-printing      disable printer support
-  --disable-append-pid    disable appending .pid to tmp-files
 EOF
 cat <<\EOF
+  --disable-printing      disable printer support
+  --disable-append-pid    disable appending .pid to tmp-files
   --disable-xhdr-xref     disable XHDR XREF fallback
   --enable-broken-listgroup-fix
                           send extra GROUP command before LISTGROUP
@@ -280,10 +282,10 @@ cat <<\EOF
   --disable-nls           do not use Native Language Support
   --with-included-gettext use the GNU gettext library included here
   --disable-included-msgs use included messages, for i18n support
-  --with-x                use the X Window System
-  --with-Xaw3d            link with Xaw 3d library
 EOF
 cat <<\EOF
+  --with-x                use the X Window System
+  --with-Xaw3d            link with Xaw 3d library
   --with-neXtaw           link with neXT Athena library
   --with-XawPlus          link with Athena-Plus library
 EOF
@@ -628,7 +630,7 @@ fi
 # Uses ac_ vars as temps to allow command line to override cache and checks.
 # --without-x overrides everything else, but does not touch the cache.
 echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:632: checking for X" >&5
+echo "configure:634: checking for X" >&5
 
 
 # Check whether --with-x or --without-x was given.
@@ -691,12 +693,12 @@ if test "$ac_x_includes" = NO; then
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 695 "configure"
+#line 697 "configure"
 #include "confdefs.h"
 #include <$x_direct_test_include>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:700: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:702: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -765,14 +767,14 @@ if test "$ac_x_libraries" = NO; then
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 769 "configure"
+#line 771 "configure"
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if { (eval echo configure:776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   LIBS="$ac_save_LIBS"
 # We can link X programs with no special library path.
@@ -863,7 +865,7 @@ fi
 
 
 PACKAGE=tin
-VERSION=1.9.2
+VERSION=1.9.3
 cat >> confdefs.h <<EOF
 #define PACKAGE "$PACKAGE"
 EOF
@@ -903,7 +905,7 @@ else { echo "configure: error: can not r
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:907: checking host system type" >&5
+echo "configure:909: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -958,6 +960,7 @@ if test "${with_install_prefix+set}" = s
 else
   withval="${DESTDIR-/}"
 fi
+if true ; then
 
 if test "x$prefix" != xNONE; then
   cf_path_syntax="$prefix"
@@ -988,6 +991,7 @@ case ".$withval" in #(vi
   ;;
 esac
 
+fi
 DESTDIR="$withval"
 
 case ".$DESTDIR" in # (vi
@@ -1005,7 +1009,7 @@ case "$host_os" in
 			# Extract the first word of "xlc", so it can be a program name with args.
 set dummy xlc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1009: checking for $ac_word" >&5
+echo "configure:1013: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XLC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1055,7 +1059,7 @@ save_CFLAGS="$CFLAGS"
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1059: checking for $ac_word" >&5
+echo "configure:1063: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1085,7 +1089,7 @@ 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1089: checking for $ac_word" >&5
+echo "configure:1093: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1136,7 +1140,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1140: checking for $ac_word" >&5
+echo "configure:1144: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1168,7 +1172,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1172: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1176: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1179,12 +1183,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1183 "configure"
+#line 1187 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:1188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1210,12 +1214,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1214: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1218: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1219: checking whether we are using GNU C" >&5
+echo "configure:1223: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1224,7 +1228,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1228: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1232: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1243,7 +1247,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1247: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1251: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1275,7 +1279,7 @@ else
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1279: checking how to run the C preprocessor" >&5
+echo "configure:1283: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1290,13 +1294,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1294 "configure"
+#line 1298 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1300: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1304: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1307,13 +1311,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1311 "configure"
+#line 1315 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1317: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1321: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1324,13 +1328,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1328 "configure"
+#line 1332 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1338: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1356,13 +1360,13 @@ echo "$ac_t""$CPP" 1>&6
 
 if test $ac_cv_prog_gcc = yes; then
     echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:1360: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:1364: checking whether ${CC-cc} needs -traditional" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
     ac_pattern="Autoconf.*'x'"
   cat > conftest.$ac_ext <<EOF
-#line 1366 "configure"
+#line 1370 "configure"
 #include "confdefs.h"
 #include <sgtty.h>
 Autoconf TIOCGETP
@@ -1380,7 +1384,7 @@ rm -f conftest*
 
   if test $ac_cv_prog_gcc_traditional = no; then
     cat > conftest.$ac_ext <<EOF
-#line 1384 "configure"
+#line 1388 "configure"
 #include "confdefs.h"
 #include <termio.h>
 Autoconf TCGETA
@@ -1402,7 +1406,7 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional
 fi
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1406: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1410: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1440,7 +1444,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1444: checking for a BSD compatible install" >&5
+echo "configure:1448: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1517,14 +1521,14 @@ EOF
   do
     rm -f y.tab.ch
     echo $ac_n "checking for $cf_prog""... $ac_c" 1>&6
-echo "configure:1521: checking for $cf_prog" >&5
+echo "configure:1525: checking for $cf_prog" >&5
     cf_command="$cf_prog conftest.y"
     cf_result=no
-    if { (eval echo configure:1524: \"$cf_command\") 1>&5; (eval $cf_command) 2>&5; } && test -s y.tab.c ; then
+    if { (eval echo configure:1528: \"$cf_command\") 1>&5; (eval $cf_command) 2>&5; } && 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 configure:1528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest ; then
+        if { (eval echo configure:1532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest ; then
           cf_result=yes
         fi
       else
@@ -1548,7 +1552,7 @@ 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1552: checking for $ac_word" >&5
+echo "configure:1556: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LINT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1579,9 +1583,9 @@ done
 test -n "$LINT" || LINT=":"
 
 echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:1583: checking for AIX" >&5
+echo "configure:1587: checking for AIX" >&5
 cat > conftest.$ac_ext <<EOF
-#line 1585 "configure"
+#line 1589 "configure"
 #include "confdefs.h"
 #ifdef _AIX
   yes
@@ -1604,7 +1608,7 @@ rm -f conftest*
 
 
 echo $ac_n "checking if $CC -U and -D options work together""... $ac_c" 1>&6
-echo "configure:1608: checking if $CC -U and -D options work together" >&5
+echo "configure:1612: checking if $CC -U and -D options work together" >&5
 if eval "test \"`echo '$''{'cf_cv_cc_u_d_options'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1612,7 +1616,7 @@ else
 	cf_save_CPPFLAGS="$CPPFLAGS"
 	CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
 	cat > conftest.$ac_ext <<EOF
-#line 1616 "configure"
+#line 1620 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1626,7 +1630,7 @@ make a defined-error
 	
 ; return 0; }
 EOF
-if { (eval echo configure:1630: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1634: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 	cf_cv_cc_u_d_options=yes
@@ -1669,16 +1673,16 @@ hpux*) #(vi
 irix[56].*) #(vi
 	CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
 	;;
-linux*|gnu*) #(vi
+linux*|gnu*|k*bsd*-gnu) #(vi
 	
 echo $ac_n "checking if we must define _GNU_SOURCE""... $ac_c" 1>&6
-echo "configure:1676: checking if we must define _GNU_SOURCE" >&5
+echo "configure:1680: checking if we must define _GNU_SOURCE" >&5
 if eval "test \"`echo '$''{'cf_cv_gnu_source'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 1682 "configure"
+#line 1686 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int main() {
@@ -1688,7 +1692,7 @@ make an error
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:1692: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_gnu_source=no
 else
@@ -1698,7 +1702,7 @@ else
   cf_save="$CPPFLAGS"
 	 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
 	 cat > conftest.$ac_ext <<EOF
-#line 1702 "configure"
+#line 1706 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int main() {
@@ -1708,7 +1712,7 @@ make an error
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:1712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1716: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_gnu_source=no
 else
@@ -1752,13 +1756,13 @@ solaris*) #(vi
 	;;
 *)
 	echo $ac_n "checking if we should define _XOPEN_SOURCE""... $ac_c" 1>&6
-echo "configure:1756: checking if we should define _XOPEN_SOURCE" >&5
+echo "configure:1760: checking if we should define _XOPEN_SOURCE" >&5
 if eval "test \"`echo '$''{'cf_cv_xopen_source'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 1762 "configure"
+#line 1766 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int main() {
@@ -1768,7 +1772,7 @@ make an error
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:1772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1776: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_xopen_source=no
 else
@@ -1778,7 +1782,7 @@ else
   cf_save="$CPPFLAGS"
 	 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
 	 cat > conftest.$ac_ext <<EOF
-#line 1782 "configure"
+#line 1786 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int main() {
@@ -1788,7 +1792,7 @@ make an error
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:1792: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1796: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_xopen_source=no
 else
@@ -1843,16 +1847,16 @@ cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAG
 
 
 echo $ac_n "checking if we should define _POSIX_C_SOURCE""... $ac_c" 1>&6
-echo "configure:1847: checking if we should define _POSIX_C_SOURCE" >&5
+echo "configure:1851: checking if we should define _POSIX_C_SOURCE" >&5
 if eval "test \"`echo '$''{'cf_cv_posix_c_source'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	
-echo "(line 1853) testing if the symbol is already defined go no further ..." 1>&5
+echo "${as_me-configure}:1857: testing if the symbol is already defined go no further ..." 1>&5
 
 	cat > conftest.$ac_ext <<EOF
-#line 1856 "configure"
+#line 1860 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int main() {
@@ -1862,7 +1866,7 @@ make an error
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:1866: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_posix_c_source=no
 else
@@ -1884,7 +1888,7 @@ else
 	 esac
 	 if test "$cf_want_posix_source" = yes ; then
 		cat > conftest.$ac_ext <<EOF
-#line 1888 "configure"
+#line 1892 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int main() {
@@ -1894,7 +1898,7 @@ make an error
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:1898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -1905,15 +1909,15 @@ fi
 rm -f conftest*
 	 fi
 	 
-echo "(line 1909) testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
+echo "${as_me-configure}:1913: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5
 
 	 CFLAGS="$cf_trim_CFLAGS"
 	 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
 	 
-echo "(line 1914) testing if the second compile does not leave our definition intact error ..." 1>&5
+echo "${as_me-configure}:1918: testing if the second compile does not leave our definition intact error ..." 1>&5
 
 	 cat > conftest.$ac_ext <<EOF
-#line 1917 "configure"
+#line 1921 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int main() {
@@ -1923,7 +1927,7 @@ make an error
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:1927: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1931: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -1959,7 +1963,7 @@ esac
 
 
         echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6
-echo "configure:1963: checking for strerror in -lcposix" >&5
+echo "configure:1967: checking for strerror in -lcposix" >&5
 ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1967,7 +1971,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1971 "configure"
+#line 1975 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1978,7 +1982,7 @@ int main() {
 strerror()
 ; return 0; }
 EOF
-if { (eval echo configure:1982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2002,7 +2006,7 @@ fi
 
 
 echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:2006: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:2010: checking for ${CC-cc} option to accept ANSI C" >&5
 if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2098,7 +2102,7 @@ fi
 
 
 	cat > conftest.$ac_ext <<EOF
-#line 2102 "configure"
+#line 2106 "configure"
 #include "confdefs.h"
 
 #ifndef CC_HAS_PROTOS
@@ -2114,7 +2118,7 @@ int main() {
 	struct s2 {int (*f) (double a);};
 ; return 0; }
 EOF
-if { (eval echo configure:2118: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2122: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ansi_cc="$cf_arg"; break
 else
@@ -2222,12 +2226,12 @@ You have the following choices:
 fi
 
 echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:2226: checking for Cygwin environment" >&5
+echo "configure:2230: checking for Cygwin environment" >&5
 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2231 "configure"
+#line 2235 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2238,7 +2242,7 @@ int main() {
 return __CYGWIN__;
 ; return 0; }
 EOF
-if { (eval echo configure:2242: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_cygwin=yes
 else
@@ -2255,19 +2259,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
 CYGWIN=
 test "$ac_cv_cygwin" = yes && CYGWIN=yes
 echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:2259: checking for mingw32 environment" >&5
+echo "configure:2263: checking for mingw32 environment" >&5
 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2264 "configure"
+#line 2268 "configure"
 #include "confdefs.h"
 
 int main() {
 return __MINGW32__;
 ; return 0; }
 EOF
-if { (eval echo configure:2271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2275: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_mingw32=yes
 else
@@ -2299,7 +2303,7 @@ esac
 
 
 echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:2303: checking for executable suffix" >&5
+echo "configure:2307: checking for executable suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2309,7 +2313,7 @@ else
   rm -f conftest*
   echo 'int main () { return 0; }' > conftest.$ac_ext
   ac_cv_exeext=
-  if { (eval echo configure:2313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+  if { (eval echo configure:2317: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
     for file in conftest.*; do
       case $file in
       *.c | *.o | *.obj) ;;
@@ -2330,13 +2334,13 @@ echo "$ac_t""${ac_cv_exeext}" 1>&6
 ac_exeext=$EXEEXT
 
 echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:2334: checking for object suffix" >&5
+echo "configure:2338: checking for object suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   rm -f conftest*
 echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:2340: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   for ac_file in conftest.*; do
     case $ac_file in
     *.c) ;;
@@ -2371,7 +2375,7 @@ LIB_PREFIX=$LIB_PREFIX
 	
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:2375: checking whether ln -s works" >&5
+echo "configure:2379: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2415,7 +2419,7 @@ 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2419: checking for $ac_word" >&5
+echo "configure:2423: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2447,24 +2451,24 @@ done
 fi
 
 	echo $ac_n "checking for native build C compiler""... $ac_c" 1>&6
-echo "configure:2451: checking for native build C compiler" >&5
+echo "configure:2455: checking for native build C compiler" >&5
 	echo "$ac_t""$BUILD_CC" 1>&6
 
 	echo $ac_n "checking for native build C preprocessor""... $ac_c" 1>&6
-echo "configure:2455: checking for native build C preprocessor" >&5
+echo "configure:2459: checking for native build C preprocessor" >&5
 	
 # Check whether --with-build-cpp or --without-build-cpp was given.
 if test "${with_build_cpp+set}" = set; then
   withval="$with_build_cpp"
   BUILD_CPP="$withval"
 else
-  BUILD_CPP='$(BUILD_CC) -E'
+  BUILD_CPP='${BUILD_CC} -E'
 fi
 
 	echo "$ac_t""$BUILD_CPP" 1>&6
 
 	echo $ac_n "checking for native build C flags""... $ac_c" 1>&6
-echo "configure:2468: checking for native build C flags" >&5
+echo "configure:2472: checking for native build C flags" >&5
 	
 # Check whether --with-build-cflags or --without-build-cflags was given.
 if test "${with_build_cflags+set}" = set; then
@@ -2475,7 +2479,7 @@ fi
 	echo "$ac_t""$BUILD_CFLAGS" 1>&6
 
 	echo $ac_n "checking for native build C preprocessor-flags""... $ac_c" 1>&6
-echo "configure:2479: checking for native build C preprocessor-flags" >&5
+echo "configure:2483: checking for native build C preprocessor-flags" >&5
 	
 # Check whether --with-build-cppflags or --without-build-cppflags was given.
 if test "${with_build_cppflags+set}" = set; then
@@ -2486,7 +2490,7 @@ fi
 	echo "$ac_t""$BUILD_CPPFLAGS" 1>&6
 
 	echo $ac_n "checking for native build linker-flags""... $ac_c" 1>&6
-echo "configure:2490: checking for native build linker-flags" >&5
+echo "configure:2494: checking for native build linker-flags" >&5
 	
 # Check whether --with-build-ldflags or --without-build-ldflags was given.
 if test "${with_build_ldflags+set}" = set; then
@@ -2497,7 +2501,7 @@ fi
 	echo "$ac_t""$BUILD_LDFLAGS" 1>&6
 
 	echo $ac_n "checking for native build linker-libraries""... $ac_c" 1>&6
-echo "configure:2501: checking for native build linker-libraries" >&5
+echo "configure:2505: checking for native build linker-libraries" >&5
 	
 # Check whether --with-build-libs or --without-build-libs was given.
 if test "${with_build_libs+set}" = set; then
@@ -2511,20 +2515,20 @@ fi
 	BUILD_EXEEXT=
 	BUILD_OBJEXT=o
 
-	: ${BUILD_CC:='$(CC)'}
+	: ${BUILD_CC:='${CC}'}
 
-	if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '$(CC)' ) ; then
+	if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
 		{ echo "configure: error: Cross-build requires two compilers.
 Use --with-build-cc to specify the native compiler." 1>&2; exit 1; }
 	fi
 
 else
-	: ${BUILD_CC:='$(CC)'}
-	: ${BUILD_CPP:='$(CPP)'}
-	: ${BUILD_CFLAGS:='$(CFLAGS)'}
-	: ${BUILD_CPPFLAGS:='$(CPPFLAGS)'}
-	: ${BUILD_LDFLAGS:='$(LDFLAGS)'}
-	: ${BUILD_LIBS:='$(LIBS)'}
+	: ${BUILD_CC:='${CC}'}
+	: ${BUILD_CPP:='${CPP}'}
+	: ${BUILD_CFLAGS:='${CFLAGS}'}
+	: ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
+	: ${BUILD_LDFLAGS:='${LDFLAGS}'}
+	: ${BUILD_LIBS:='${LIBS}'}
 	: ${BUILD_EXEEXT:='$x'}
 	: ${BUILD_OBJEXT:='o'}
 fi
@@ -2540,7 +2544,7 @@ fi
 
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:2544: checking build system type" >&5
+echo "configure:2548: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -2566,7 +2570,7 @@ fi
 # 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2570: checking for $ac_word" >&5
+echo "configure:2574: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2598,7 +2602,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2602: checking for $ac_word" >&5
+echo "configure:2606: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2633,7 +2637,7 @@ fi
 # 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2637: checking for $ac_word" >&5
+echo "configure:2641: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2665,7 +2669,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ld", so it can be a program name with args.
 set dummy ld; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2669: checking for $ac_word" >&5
+echo "configure:2673: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2700,7 +2704,7 @@ fi
 # 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2704: checking for $ac_word" >&5
+echo "configure:2708: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2732,7 +2736,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2736: checking for $ac_word" >&5
+echo "configure:2740: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2769,7 +2773,7 @@ if eval "test \"`echo '$''{'cf_cv_subst_
 else
   
 echo $ac_n "checking for archiver options (symbol AR_OPTS)""... $ac_c" 1>&6
-echo "configure:2773: checking for archiver options (symbol AR_OPTS)" >&5
+echo "configure:2777: checking for archiver options (symbol AR_OPTS)" >&5
 
 if test -z "$AR_OPTS" ; then
 	AR_OPTS=rv
@@ -2786,19 +2790,16 @@ fi
 
 case "$host_cpu:$host_vendor:$host_os" in
 	# check for MacOS X, exclude Darwin on ix86
-	powerpc:apple:darwin*)  #
-		cat >> confdefs.h <<\EOF
-#define MAC_OS_X 1
-EOF
-
-		;;
-	# check for cygwin enviroment
+#	powerpc:apple:darwin*)  #(vi
+#		AC_DEFINE(MAC_OS_X)
+#		;;
+	# check for cygwin environment
 	# -DSTATIC is needed for pcre
 	*:*:*cygwin*)	#(vi
 		PCRE_DEFINES="$PCRE_DEFINES -DSTATIC"
 		;;
-	# SEIUX doesn't have any usefull preprocessor symbol
-	mips:sei:seiux*)
+	# SEIUX doesn't have any useful preprocessor symbol
+	mips:sei:seiux*)	#(vi
 		cat >> confdefs.h <<\EOF
 #define SEIUX 1
 EOF
@@ -2820,7 +2821,7 @@ if test "${with_ispell+set}" = set; then
   *)
    # user supplied option-value for "--with-ispell=path"
    echo $ac_n "checking for ispell""... $ac_c" 1>&6
-echo "configure:2824: checking for ispell" >&5
+echo "configure:2825: checking for ispell" >&5
    ac_cv_path_PATH_ISPELL="$withval"
    cat >> confdefs.h <<EOF
 #define PATH_ISPELL "$withval"
@@ -2837,7 +2838,7 @@ else
   # Extract the first word of "ispell", so it can be a program name with args.
 set dummy ispell; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2841: checking for $ac_word" >&5
+echo "configure:2842: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PATH_ISPELL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2894,7 +2895,7 @@ if test "${with_metamail+set}" = set; th
   *)
    # user supplied option-value for "--with-metamail=path"
    echo $ac_n "checking for metamail""... $ac_c" 1>&6
-echo "configure:2898: checking for metamail" >&5
+echo "configure:2899: checking for metamail" >&5
    ac_cv_path_PATH_METAMAIL="$withval"
    cat >> confdefs.h <<EOF
 #define PATH_METAMAIL "$withval"
@@ -2911,7 +2912,7 @@ else
   # Extract the first word of "metamail", so it can be a program name with args.
 set dummy metamail; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2915: checking for $ac_word" >&5
+echo "configure:2916: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PATH_METAMAIL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2968,7 +2969,7 @@ if test "${with_sum+set}" = set; then
   *)
    # user supplied option-value for "--with-sum=path"
    echo $ac_n "checking for sum""... $ac_c" 1>&6
-echo "configure:2972: checking for sum" >&5
+echo "configure:2973: checking for sum" >&5
    ac_cv_path_PATH_SUM="$withval"
    cat >> confdefs.h <<EOF
 #define PATH_SUM "$withval"
@@ -2985,7 +2986,7 @@ else
   # Extract the first word of "sum", so it can be a program name with args.
 set dummy sum; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2989: checking for $ac_word" >&5
+echo "configure:2990: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PATH_SUM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3032,12 +3033,12 @@ fi
 if test $ac_cv_path_PATH_SUM
 then
 echo $ac_n "checking if $ac_cv_path_PATH_SUM takes -r""... $ac_c" 1>&6
-echo "configure:3036: checking if $ac_cv_path_PATH_SUM takes -r" >&5
+echo "configure:3037: checking if $ac_cv_path_PATH_SUM takes -r" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_sum_r'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
-if { ac_try='$ac_cv_path_PATH_SUM -r config.log 1>&5'; { (eval echo configure:3041: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
+if { ac_try='$ac_cv_path_PATH_SUM -r config.log 1>&5'; { (eval echo configure:3042: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
 then
 	ac_cv_prog_sum_r=yes
 else
@@ -3067,7 +3068,7 @@ fi
 
 
 echo $ac_n "checking for default editor""... $ac_c" 1>&6
-echo "configure:3071: checking for default editor" >&5
+echo "configure:3072: checking for default editor" >&5
 
 # Check whether --with-editor or --without-editor was given.
 if test "${with_editor+set}" = set; then
@@ -3095,7 +3096,7 @@ if test -z "$DEFAULT_EDITOR" ; then
 	# Extract the first word of "vi", so it can be a program name with args.
 set dummy vi; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3099: checking for $ac_word" >&5
+echo "configure:3100: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_EDITOR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3140,7 +3141,7 @@ EOF
 # Extract the first word of "sendmail", so it can be a program name with args.
 set dummy sendmail; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3144: checking for $ac_word" >&5
+echo "configure:3145: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_MAILER'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3194,7 +3195,7 @@ 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3198: checking for $ac_word" >&5
+echo "configure:3199: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_MAILER'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3231,7 +3232,7 @@ 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3235: checking for $ac_word" >&5
+echo "configure:3236: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_MAILER'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3265,7 +3266,7 @@ fi
 
 fi
 echo $ac_n "checking for default mailer""... $ac_c" 1>&6
-echo "configure:3269: checking for default mailer" >&5
+echo "configure:3270: checking for default mailer" >&5
 if test -n "$DEFAULT_MAILER" ; then
 	
 case $cf_cv_system_name in #(vi
@@ -3292,7 +3293,7 @@ echo "$ac_t""$DEFAULT_MAILER" 1>&6
 
 
 echo $ac_n "checking for incoming-mail directory""... $ac_c" 1>&6
-echo "configure:3296: checking for incoming-mail directory" >&5
+echo "configure:3297: checking for incoming-mail directory" >&5
 
 # Check whether --with-mailbox or --without-mailbox was given.
 if test "${with_mailbox+set}" = set; then
@@ -3338,7 +3339,7 @@ echo "$ac_t""$DEFAULT_MAILBOX" 1>&6
 
 ## PGP Support
 echo $ac_n "checking if you want PGP/GPG-Support""... $ac_c" 1>&6
-echo "configure:3342: checking if you want PGP/GPG-Support" >&5
+echo "configure:3343: checking if you want PGP/GPG-Support" >&5
 
 # Check whether --enable-pgp-gpg or --disable-pgp-gpg was given.
 if test "${enable_pgp_gpg+set}" = set; then
@@ -3370,7 +3371,7 @@ if test "${with_pgp+set}" = set; then
   *)
    # user supplied option-value for "--with-pgp=path"
    echo $ac_n "checking for pgp""... $ac_c" 1>&6
-echo "configure:3374: checking for pgp" >&5
+echo "configure:3375: checking for pgp" >&5
    ac_cv_path_PATH_PGP="$withval"
    cat >> confdefs.h <<EOF
 #define PATH_PGP "$withval"
@@ -3387,7 +3388,7 @@ else
   # Extract the first word of "pgp", so it can be a program name with args.
 set dummy pgp; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3391: checking for $ac_word" >&5
+echo "configure:3392: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PATH_PGP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3445,7 +3446,7 @@ if test "${with_pgpk+set}" = set; then
   *)
    # user supplied option-value for "--with-pgpk=path"
    echo $ac_n "checking for pgpk""... $ac_c" 1>&6
-echo "configure:3449: checking for pgpk" >&5
+echo "configure:3450: checking for pgpk" >&5
    ac_cv_path_PATH_PGPK="$withval"
    cat >> confdefs.h <<EOF
 #define PATH_PGPK "$withval"
@@ -3462,7 +3463,7 @@ else
   # Extract the first word of "pgpk", so it can be a program name with args.
 set dummy pgpk; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3466: checking for $ac_word" >&5
+echo "configure:3467: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PATH_PGPK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3520,7 +3521,7 @@ if test "${with_gpg+set}" = set; then
   *)
    # user supplied option-value for "--with-gpg=path"
    echo $ac_n "checking for gpg""... $ac_c" 1>&6
-echo "configure:3524: checking for gpg" >&5
+echo "configure:3525: checking for gpg" >&5
    ac_cv_path_PATH_GPG="$withval"
    cat >> confdefs.h <<EOF
 #define PATH_GPG "$withval"
@@ -3537,7 +3538,7 @@ else
   # Extract the first word of "gpg", so it can be a program name with args.
 set dummy gpg; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3541: checking for $ac_word" >&5
+echo "configure:3542: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PATH_GPG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3582,6 +3583,81 @@ fi
 
 fi
 
+## slrnface
+
+# Check whether --with-slrnface or --without-slrnface was given.
+if test "${with_slrnface+set}" = set; then
+  withval="$with_slrnface"
+  case "$withval" in #(vi
+  yes)
+   { echo "configure: error: expected a value for --with-slrnface" 1>&2; exit 1; }
+   ;; #(vi
+  no)
+   ;; #(vi
+  *)
+   # user supplied option-value for "--with-slrnface=path"
+   echo $ac_n "checking for slrnface""... $ac_c" 1>&6
+echo "configure:3601: checking for slrnface" >&5
+   ac_cv_path_PATH_SLRNFACE="$withval"
+   cat >> confdefs.h <<EOF
+#define PATH_SLRNFACE "$withval"
+EOF
+   cat >> confdefs.h <<\EOF
+#define HAVE_SLRNFACE 1
+EOF
+   echo "$ac_t""$withval" 1>&6
+   ;;
+ esac
+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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:3618: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PATH_SLRNFACE'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$PATH_SLRNFACE" in
+  /*)
+  ac_cv_path_PATH_SLRNFACE="$PATH_SLRNFACE" # Let the user override the test with a path.
+  ;;
+  ?:/*)			 
+  ac_cv_path_PATH_SLRNFACE="$PATH_SLRNFACE" # Let the user override the test with a dos path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_PATH_SLRNFACE="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+fi
+PATH_SLRNFACE="$ac_cv_path_PATH_SLRNFACE"
+if test -n "$PATH_SLRNFACE"; then
+  echo "$ac_t""$PATH_SLRNFACE" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  if test -n "$PATH_SLRNFACE"; then
+    cat >> confdefs.h <<EOF
+#define PATH_SLRNFACE "$PATH_SLRNFACE"
+EOF
+    cat >> confdefs.h <<\EOF
+#define HAVE_SLRNFACE 1
+EOF
+  fi
+
+fi
+
+
 ## Default shell
 
 # Check whether --with-shell or --without-shell was given.
@@ -3594,13 +3670,13 @@ fi
 
 
 echo $ac_n "checking for the default shell program""... $ac_c" 1>&6
-echo "configure:3598: checking for the default shell program" >&5
+echo "configure:3674: checking for the default shell program" >&5
 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 <<EOF
-#line 3604 "configure"
+#line 3680 "configure"
 #include "confdefs.h"
 
 #include <sys/params.h>
@@ -3613,7 +3689,7 @@ make an error
 
 ; return 0; }
 EOF
-if { (eval echo configure:3617: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3693: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   $cf_shell_progs="csh tcsh $cf_shell_progs"
 else
@@ -3623,11 +3699,11 @@ fi
 rm -f conftest*
 fi
 
-echo "(line 3627) testing paths of shell programs: $cf_shell_progs ..." 1>&5
+echo "${as_me-configure}:3703: testing paths of shell programs: $cf_shell_progs ..." 1>&5
 
 if test -s /etc/shells && test `egrep -c -v '^(#| |    |$)' /etc/shells` -gt 0; then
 	
-echo "(line 3631) testing /etc/shells ..." 1>&5
+echo "${as_me-configure}:3707: testing /etc/shells ..." 1>&5
 
 	for cf_prog in $cf_shell_progs
 	do
@@ -3662,14 +3738,14 @@ echo "(line 3631) testing /etc/shells ..
 	echo "$ac_t""$DEFAULT_SHELL" 1>&6
 else
 	
-echo "(line 3666) testing $PATH ..." 1>&5
+echo "${as_me-configure}:3742: 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3673: checking for $ac_word" >&5
+echo "configure:3749: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_SHELL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3722,7 +3798,7 @@ EOF
 
 ### check for this early, since it'll override several options
 echo $ac_n "checking if NNTP-support will be used""... $ac_c" 1>&6
-echo "configure:3726: checking if NNTP-support will be used" >&5
+echo "configure:3802: checking if NNTP-support will be used" >&5
 
 # Check whether --enable-nntp or --disable-nntp was given.
 if test "${enable_nntp+set}" = set; then
@@ -3744,7 +3820,7 @@ echo "$ac_t""$enableval" 1>&6
 USE_SPOOLDIR=yes
 if test "$USE_NNTP" = "yes" ; then
 echo $ac_n "checking whether to be NNTP_ONLY""... $ac_c" 1>&6
-echo "configure:3748: checking whether to be NNTP_ONLY" >&5
+echo "configure:3824: checking whether to be NNTP_ONLY" >&5
 
 # Check whether --enable-nntp-only or --disable-nntp-only was given.
 if test "${enable_nntp_only+set}" = set; then
@@ -3776,7 +3852,7 @@ fi
 
 ###	use option --enable-debug to compile-in test/development code
 echo $ac_n "checking if you want to compile-in debug support""... $ac_c" 1>&6
-echo "configure:3780: checking if you want to compile-in debug support" >&5
+echo "configure:3856: checking if you want to compile-in debug support" >&5
 
 # Check whether --enable-debug or --disable-debug was given.
 if test "${enable_debug+set}" = set; then
@@ -3803,7 +3879,7 @@ echo "$ac_t""$enableval" 1>&6
 ###	use option --disable-echo to suppress full display compiling commands
 
 echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6
-echo "configure:3807: checking if you want to see long compiling messages" >&5
+echo "configure:3883: checking if you want to see long compiling messages" >&5
 
 # Check whether --enable-echo or --disable-echo was given.
 if test "${enable_echo+set}" = set; then
@@ -3848,7 +3924,7 @@ echo "$ac_t""$enableval" 1>&6
 
 ### use option --enable-prototypes to turn on optional prototypes
 echo $ac_n "checking if you want to compile with fallback prototypes""... $ac_c" 1>&6
-echo "configure:3852: checking if you want to compile with fallback prototypes" >&5
+echo "configure:3928: checking if you want to compile with fallback prototypes" >&5
 
 # Check whether --enable-prototypes or --disable-prototypes was given.
 if test "${enable_prototypes+set}" = set; then
@@ -3872,7 +3948,7 @@ EXTRA_CFLAGS=""
 if test -n "$GCC"
 then
 echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6
-echo "configure:3876: checking if you want to turn on gcc warnings" >&5
+echo "configure:3952: checking if you want to turn on gcc warnings" >&5
 
 # Check whether --enable-warnings or --disable-warnings was given.
 if test "${enable_warnings+set}" = set; then
@@ -3898,7 +3974,7 @@ then
 GCC_VERSION=none
 if test "$GCC" = yes ; then
 	echo $ac_n "checking version of $CC""... $ac_c" 1>&6
-echo "configure:3902: checking version of $CC" >&5
+echo "configure:3978: checking version of $CC" >&5
 	GCC_VERSION="`${CC} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
 	test -z "$GCC_VERSION" && GCC_VERSION=unknown
 	echo "$ac_t""$GCC_VERSION" 1>&6
@@ -3913,11 +3989,11 @@ if test "$GCC" = yes ; then
 	case $host_os in
 	linux*|gnu*)
 		echo $ac_n "checking if this is really Intel C compiler""... $ac_c" 1>&6
-echo "configure:3917: checking if this is really Intel C compiler" >&5
+echo "configure:3993: checking if this is really Intel C compiler" >&5
 		cf_save_CFLAGS="$CFLAGS"
 		CFLAGS="$CFLAGS -no-gcc"
 		cat > conftest.$ac_ext <<EOF
-#line 3921 "configure"
+#line 3997 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -3929,7 +4005,7 @@ make an error
 
 ; return 0; }
 EOF
-if { (eval echo configure:3933: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   INTEL_COMPILER=yes
 cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
@@ -3947,7 +4023,7 @@ fi
 
 
 cat > conftest.$ac_ext <<EOF
-#line 3951 "configure"
+#line 4027 "${as_me-configure}"
 int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
 EOF
 
@@ -3966,10 +4042,10 @@ then
 # warning #269: invalid format string conversion
 
 	echo "checking for $CC warning options" 1>&6
-echo "configure:3970: checking for $CC warning options" >&5
+echo "configure:4046: checking for $CC warning options" >&5
 	cf_save_CFLAGS="$CFLAGS"
 	EXTRA_CFLAGS="-Wall"
-	for cf_opt in  \
+	for cf_opt in \
 		wd1419 \
 		wd1682 \
 		wd1683 \
@@ -3982,7 +4058,7 @@ echo "configure:3970: checking for $CC w
 		wd981
 	do
 		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-		if { (eval echo configure:3986: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+		if { (eval echo configure:4062: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
 			test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
 			EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
 		fi
@@ -3992,7 +4068,7 @@ echo "configure:3970: checking for $CC w
 elif test "$GCC" = yes
 then
 	echo "checking for $CC warning options" 1>&6
-echo "configure:3996: checking for $CC warning options" >&5
+echo "configure:4072: checking for $CC warning options" >&5
 	cf_save_CFLAGS="$CFLAGS"
 	EXTRA_CFLAGS="-W -Wall"
 	cf_warn_CONST=""
@@ -4011,7 +4087,7 @@ echo "configure:3996: checking for $CC w
 		Wundef $cf_warn_CONST 
 	do
 		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-		if { (eval echo configure:4015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+		if { (eval echo configure:4091: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
 			test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
 			case $cf_opt in #(vi
 			Wcast-qual) #(vi
@@ -4022,6 +4098,9 @@ echo "configure:3996: checking for $CC w
 				3.3*)
 					test -n "$verbose" && echo "	feature is broken in gcc $GCC_VERSION" 1>&6
 
+echo "${as_me-configure}:4102: testing feature is broken in gcc $GCC_VERSION ..." 1>&5
+
+
 					continue;;
 				esac
 				;;
@@ -4042,7 +4121,7 @@ fi
 if test "$USE_SPOOLDIR" = "yes"; then
 	## options for directories
 	echo $ac_n "checking for news-library path""... $ac_c" 1>&6
-echo "configure:4046: checking for news-library path" >&5
+echo "configure:4125: checking for news-library path" >&5
 	
 # Check whether --with-libdir or --without-libdir was given.
 if test "${with_libdir+set}" = set; then
@@ -4051,6 +4130,7 @@ if test "${with_libdir+set}" = set; then
 else
   withval="${NEWSLIBDIR-/usr/lib/news}"
 fi
+if true ; then
 
 if test "x$prefix" != xNONE; then
   cf_path_syntax="$prefix"
@@ -4081,12 +4161,13 @@ case ".$withval" in #(vi
   ;;
 esac
 
+fi
 NEWSLIBDIR="$withval"
 
 	echo "$ac_t""$NEWSLIBDIR" 1>&6
 
 	echo $ac_n "checking for news spool-directory path""... $ac_c" 1>&6
-echo "configure:4090: checking for news spool-directory path" >&5
+echo "configure:4171: checking for news spool-directory path" >&5
 	
 # Check whether --with-spooldir or --without-spooldir was given.
 if test "${with_spooldir+set}" = set; then
@@ -4095,6 +4176,7 @@ if test "${with_spooldir+set}" = set; th
 else
   withval="${SPOOLDIR-/var/spool/news}"
 fi
+if true ; then
 
 if test "x$prefix" != xNONE; then
   cf_path_syntax="$prefix"
@@ -4125,12 +4207,13 @@ case ".$withval" in #(vi
   ;;
 esac
 
+fi
 SPOOLDIR="$withval"
 
 	echo "$ac_t""$SPOOLDIR" 1>&6
 
 	echo $ac_n "checking for news overview-directory path""... $ac_c" 1>&6
-echo "configure:4134: checking for news overview-directory path" >&5
+echo "configure:4217: checking for news overview-directory path" >&5
 	
 # Check whether --with-nov-dir or --without-nov-dir was given.
 if test "${with_nov_dir+set}" = set; then
@@ -4139,6 +4222,7 @@ if test "${with_nov_dir+set}" = set; the
 else
   withval="${NOVROOTDIR-$SPOOLDIR}"
 fi
+if true ; then
 
 if test "x$prefix" != xNONE; then
   cf_path_syntax="$prefix"
@@ -4169,12 +4253,13 @@ case ".$withval" in #(vi
   ;;
 esac
 
+fi
 NOVROOTDIR="$withval"
 
 	echo "$ac_t""$NOVROOTDIR" 1>&6
 
 	echo $ac_n "checking for overview filename""... $ac_c" 1>&6
-echo "configure:4178: checking for overview filename" >&5
+echo "configure:4263: checking for overview filename" >&5
 	
 # Check whether --with-nov-fname or --without-nov-fname was given.
 if test "${with_nov_fname+set}" = set; then
@@ -4210,7 +4295,7 @@ fi
 ## TODO: kick the --with-inews-dir= stuff, the check below should be enough
 ## (requires some code rework in tin)
 echo $ac_n "checking for directory containing \"inews\"""... $ac_c" 1>&6
-echo "configure:4214: checking for directory containing \"inews\"" >&5
+echo "configure:4299: checking for directory containing \"inews\"" >&5
 
 # Check whether --with-inews-dir or --without-inews-dir was given.
 if test "${with_inews_dir+set}" = set; then
@@ -4219,6 +4304,7 @@ if test "${with_inews_dir+set}" = set; t
 else
   withval="${INEWSDIR-$INEWSPATH}"
 fi
+if true ; then
 
 if test "x$prefix" != xNONE; then
   cf_path_syntax="$prefix"
@@ -4249,6 +4335,7 @@ case ".$withval" in #(vi
   ;;
 esac
 
+fi
 INEWSDIR="$withval"
 
 INEWSDIR=`echo $INEWSDIR |sed -e 's,/$,,'`
@@ -4257,7 +4344,7 @@ echo "$ac_t""$INEWSDIR" 1>&6
 # Extract the first word of "inews", so it can be a program name with args.
 set dummy inews; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4261: checking for $ac_word" >&5
+echo "configure:4348: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_INEWS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4310,43 +4397,10 @@ EOF
 	fi
 fi
 
-## !NNTP_ONLY
-if test "$USE_SPOOLDIR" = "yes"; then
-	## options for libraries
-	echo $ac_n "checking for optional INN-NNTP library""... $ac_c" 1>&6
-echo "configure:4318: checking for optional INN-NNTP library" >&5
-	
-# Check whether --with-inn-nntplib or --without-inn-nntplib was given.
-if test "${with_inn_nntplib+set}" = set; then
-  withval="$with_inn_nntplib"
-  :
-else
-  withval="${INN_NNTPLIB}"
-fi
-test -n "$withval" && \
-case "$withval" in #(vi
-yes)
-  { echo "configure: error: expected a value for --with-inn-nntplib" 1>&2; exit 1; }
-  ;; #(vi
-no) withval=""
-  ;;
-esac
-INN_NNTPLIB="$withval"
-
- cat >> confdefs.h <<EOF
-#define INN_NNTPLIB "$withval"
-EOF
-
-	echo "$ac_t""$INN_NNTPLIB" 1>&6
-else
-	INN_NNTPLIB=""
-fi
-
-
 ### Look for network libraries first, since some functions (such as gethostname)
 ### are used in a lot of places.
 echo $ac_n "checking if you want socks library""... $ac_c" 1>&6
-echo "configure:4350: checking if you want socks library" >&5
+echo "configure:4404: checking if you want socks library" >&5
 if eval "test \"`echo '$''{'cf_cv_use_libsocks'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4366,7 +4420,7 @@ fi
 echo "$ac_t""$cf_cv_use_libsocks" 1>&6
 
 echo $ac_n "checking if you want socks5 library""... $ac_c" 1>&6
-echo "configure:4370: checking if you want socks5 library" >&5
+echo "configure:4424: checking if you want socks5 library" >&5
 if eval "test \"`echo '$''{'cf_cv_use_libsocks5'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4387,185 +4441,764 @@ echo "$ac_t""$cf_cv_use_libsocks5" 1>&6
 
 if test "x$cf_cv_use_libsocks" != xno ; then
 	
-case "$cf_cv_use_libsocks" in #(vi
-no|yes) #(vi
-  ;;
-*)
-  if test -d $cf_cv_use_libsocks ; then
-    if test -d $cf_cv_use_libsocks/include ; then
-      CPPFLAGS="$CPPFLAGS -I$cf_cv_use_libsocks/include"
-      LIBS="$LIBS -L$cf_cv_use_libsocks/lib"
-    else
-      LIBS="$LIBS -L$cf_cv_use_libsocks"
-      test -d $cf_cv_use_libsocks/../include && CPPFLAGS="$CPPFLAGS -I$cf_cv_use_libsocks/../include"
-    fi
-  else
-    echo "configure: warning: expected a directory: $cf_cv_use_libsocks" 1>&2
-  fi
-  ;;
-esac
-LIBS="$LIBS -lsocks"
-cat >> confdefs.h <<\EOF
-#define SOCKS 1
-EOF
-
-cat >> confdefs.h <<\EOF
-#define accept Raccept
-EOF
-
-cat >> confdefs.h <<\EOF
-#define bind Rbind
-EOF
-
-cat >> confdefs.h <<\EOF
-#define connect Rconnect
-EOF
-
-cat >> confdefs.h <<\EOF
-#define getpeername Rgetpeername
-EOF
-
-cat >> confdefs.h <<\EOF
-#define getsockname Rgetsockname
-EOF
-
-cat >> confdefs.h <<\EOF
-#define listen Rlisten
-EOF
-
-cat >> confdefs.h <<\EOF
-#define recvfrom Rrecvfrom
-EOF
-
-cat >> confdefs.h <<\EOF
-#define select Rselect
-EOF
+  
+  case "$cf_cv_use_libsocks" in #(vi
+  no) #(vi
+      ;;
+  yes) #(vi
+      ;;
+  *)
+      
+for cf_searchpath in `echo "$cf_cv_use_libsocks" | tr : ' '`; do
+	if test -d $cf_searchpath/include; then
+		
+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
 
-cat > conftest.$ac_ext <<EOF
-#line 4446 "configure"
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 4480 "configure"
 #include "confdefs.h"
-
 #include <stdio.h>
 int main() {
-
-	accept((char *)0)
+printf("Hello")
 ; return 0; }
 EOF
-if { (eval echo configure:4455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4487: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  { echo "configure: error: Cannot link with socks library" 1>&2; exit 1; }
+  cf_have_incdir=yes
 fi
 rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
 
-else
-	
-cf_test_netlibs=no
-echo $ac_n "checking for network libraries""... $ac_c" 1>&6
-echo "configure:4469: checking for network libraries" >&5
-if eval "test \"`echo '$''{'cf_cv_netlibs'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  
-echo "$ac_t""working..." 1>&6
-cf_cv_netlibs=""
-cf_test_netlibs=yes
-for ac_func in gethostname
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4480: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 4485 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* 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();
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-int main() {
+echo "${as_me-configure}:4504: testing adding $cf_add_incdir to include-path ..." 1>&5
 
-/* The GNU C library defines this 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)
-choke me
-#else
-$ac_func();
-#endif
 
-; return 0; }
-EOF
-if { (eval echo configure:4508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
 fi
 
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
- 
-else
-  echo "$ac_t""no" 1>&6
+	elif test -d $cf_searchpath/../include ; then
+		
+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
 
-echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
-echo "configure:4531: checking for gethostname in -lnsl" >&5
-ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lnsl $cf_cv_netlibs $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4539 "configure"
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 4546 "configure"
 #include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char gethostname();
-
+#include <stdio.h>
 int main() {
-gethostname()
+printf("Hello")
 ; return 0; }
 EOF
-if { (eval echo configure:4550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
+if { (eval echo configure:4553: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
+  cf_have_incdir=yes
 fi
 rm -f conftest*
-LIBS="$ac_save_LIBS"
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
 
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  
-	
-cf_tr_func=`echo "gethostname" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
 
-	cat >> confdefs.h <<EOF
+echo "${as_me-configure}:4570: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
+fi
+
+	else
+{ echo "configure: error: cannot find socks library under $cf_cv_use_libsocks" 1>&2; exit 1; }
+	fi
+	if test -d $cf_searchpath/lib; then
+		
+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}:4610: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
+
+	elif test -d $cf_searchpath ; then
+		
+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}:4640: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
+
+	else
+{ echo "configure: error: cannot find socks library under $cf_cv_use_libsocks" 1>&2; exit 1; }
+	fi
+done
+
+      ;;
+  esac
+
+  
+
+# 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_socks=
+cf_cv_library_path_socks=
+
+
+echo "${as_me-configure}:4665: testing Starting FIND_LINKAGE(socks,) ..." 1>&5
+
+
+cat > conftest.$ac_ext <<EOF
+#line 4669 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+
+int main() {
+
+      Raccept((char *)0)
+
+; return 0; }
+EOF
+if { (eval echo configure:4680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  cf_cv_find_linkage_socks=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  
+    cf_cv_find_linkage_socks=no
+
+    
+echo "${as_me-configure}:4691: testing Searching for headers in FIND_LINKAGE(socks,) ..." 1>&5
+
+
+    cf_save_CPPFLAGS="$CPPFLAGS"
+    cf_test_CPPFLAGS="$CPPFLAGS"
+
+    cf_search=""
+
+
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr"
+	test -d /usr/include &&          cf_search="$cf_search /usr/include"
+	test -d /usr/include/socks &&       cf_search="$cf_search /usr/include/socks"
+	test -d /usr/include/socks/include &&    cf_search="$cf_search /usr/include/socks/include"
+	test -d /usr/socks/include &&       cf_search="$cf_search /usr/socks/include"
+	test -d /usr/socks/include/socks &&    cf_search="$cf_search /usr/socks/include/socks"
+}
+
+
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for include-directories under $prefix"
+	test -d $prefix/include &&          cf_search="$cf_search $prefix/include"
+	test -d $prefix/include/socks &&       cf_search="$cf_search $prefix/include/socks"
+	test -d $prefix/include/socks/include &&    cf_search="$cf_search $prefix/include/socks/include"
+	test -d $prefix/socks/include &&       cf_search="$cf_search $prefix/socks/include"
+	test -d $prefix/socks/include/socks &&    cf_search="$cf_search $prefix/socks/include/socks"
+}
+
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr/local"
+	test -d /usr/local/include &&          cf_search="$cf_search /usr/local/include"
+	test -d /usr/local/include/socks &&       cf_search="$cf_search /usr/local/include/socks"
+	test -d /usr/local/include/socks/include &&    cf_search="$cf_search /usr/local/include/socks/include"
+	test -d /usr/local/socks/include &&       cf_search="$cf_search /usr/local/socks/include"
+	test -d /usr/local/socks/include/socks &&    cf_search="$cf_search /usr/local/socks/include/socks"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /opt"
+	test -d /opt/include &&          cf_search="$cf_search /opt/include"
+	test -d /opt/include/socks &&       cf_search="$cf_search /opt/include/socks"
+	test -d /opt/include/socks/include &&    cf_search="$cf_search /opt/include/socks/include"
+	test -d /opt/socks/include &&       cf_search="$cf_search /opt/socks/include"
+	test -d /opt/socks/include/socks &&    cf_search="$cf_search /opt/socks/include/socks"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under $HOME"
+	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
+	test -d $HOME/include/socks &&       cf_search="$cf_search $HOME/include/socks"
+	test -d $HOME/include/socks/include &&    cf_search="$cf_search $HOME/include/socks/include"
+	test -d $HOME/socks/include &&       cf_search="$cf_search $HOME/socks/include"
+	test -d $HOME/socks/include/socks &&    cf_search="$cf_search $HOME/socks/include/socks"
+}
+
+
+test "$includedir" != NONE && \
+test "$includedir" != "/usr/include" && \
+test -d "$includedir" && {
+	test -d $includedir &&    cf_search="$cf_search $includedir"
+	test -d $includedir/socks && cf_search="$cf_search $includedir/socks"
+}
+
+test "$oldincludedir" != NONE && \
+test "$oldincludedir" != "/usr/include" && \
+test -d "$oldincludedir" && {
+	test -d $oldincludedir    && cf_search="$cf_search $oldincludedir"
+	test -d $oldincludedir/socks && cf_search="$cf_search $oldincludedir/socks"
+}
+
+
+    for cf_cv_header_path_socks in $cf_search
+    do
+      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}:4780: testing ... testing $cf_cv_header_path_socks ..." 1>&5
+
+
+        CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_socks"
+        cat > conftest.$ac_ext <<EOF
+#line 4785 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+
+int main() {
+
+      Raccept((char *)0)
+
+; return 0; }
+EOF
+if { (eval echo configure:4796: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  
+            test -n "$verbose" && echo "	... found socks headers in $cf_cv_header_path_socks" 1>&6
+
+echo "${as_me-configure}:4801: testing ... found socks headers in $cf_cv_header_path_socks ..." 1>&5
+
+
+            cf_cv_find_linkage_socks=maybe
+            cf_test_CPPFLAGS="$CPPFLAGS"
+            break
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  
+            CPPFLAGS="$cf_save_CPPFLAGS"
+            
+fi
+rm -f conftest*
+      fi
+    done
+
+    if test "$cf_cv_find_linkage_socks" = maybe ; then
+
+      
+echo "${as_me-configure}:4822: testing Searching for socks library in FIND_LINKAGE(socks,) ..." 1>&5
+
+
+      cf_save_LIBS="$LIBS"
+      cf_save_LDFLAGS="$LDFLAGS"
+
+      
+
+      if test "$cf_cv_find_linkage_socks" != yes ; then
+        cf_search=""
+
+
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr"
+	test -d /usr/lib &&          cf_search="$cf_search /usr/lib"
+	test -d /usr/lib/socks &&       cf_search="$cf_search /usr/lib/socks"
+	test -d /usr/lib/socks/lib &&    cf_search="$cf_search /usr/lib/socks/lib"
+	test -d /usr/socks/lib &&       cf_search="$cf_search /usr/socks/lib"
+	test -d /usr/socks/lib/socks &&    cf_search="$cf_search /usr/socks/lib/socks"
+}
+
+
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for lib-directories under $prefix"
+	test -d $prefix/lib &&          cf_search="$cf_search $prefix/lib"
+	test -d $prefix/lib/socks &&       cf_search="$cf_search $prefix/lib/socks"
+	test -d $prefix/lib/socks/lib &&    cf_search="$cf_search $prefix/lib/socks/lib"
+	test -d $prefix/socks/lib &&       cf_search="$cf_search $prefix/socks/lib"
+	test -d $prefix/socks/lib/socks &&    cf_search="$cf_search $prefix/socks/lib/socks"
+}
+
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr/local"
+	test -d /usr/local/lib &&          cf_search="$cf_search /usr/local/lib"
+	test -d /usr/local/lib/socks &&       cf_search="$cf_search /usr/local/lib/socks"
+	test -d /usr/local/lib/socks/lib &&    cf_search="$cf_search /usr/local/lib/socks/lib"
+	test -d /usr/local/socks/lib &&       cf_search="$cf_search /usr/local/socks/lib"
+	test -d /usr/local/socks/lib/socks &&    cf_search="$cf_search /usr/local/socks/lib/socks"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /opt"
+	test -d /opt/lib &&          cf_search="$cf_search /opt/lib"
+	test -d /opt/lib/socks &&       cf_search="$cf_search /opt/lib/socks"
+	test -d /opt/lib/socks/lib &&    cf_search="$cf_search /opt/lib/socks/lib"
+	test -d /opt/socks/lib &&       cf_search="$cf_search /opt/socks/lib"
+	test -d /opt/socks/lib/socks &&    cf_search="$cf_search /opt/socks/lib/socks"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under $HOME"
+	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
+	test -d $HOME/lib/socks &&       cf_search="$cf_search $HOME/lib/socks"
+	test -d $HOME/lib/socks/lib &&    cf_search="$cf_search $HOME/lib/socks/lib"
+	test -d $HOME/socks/lib &&       cf_search="$cf_search $HOME/socks/lib"
+	test -d $HOME/socks/lib/socks &&    cf_search="$cf_search $HOME/socks/lib/socks"
+}
+
+
+        for cf_cv_library_path_socks in $cf_search
+        do
+          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}:4899: 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 <<EOF
+#line 4906 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+
+int main() {
+
+      Raccept((char *)0)
+
+; return 0; }
+EOF
+if { (eval echo configure:4917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  
+                test -n "$verbose" && echo "	... found socks library in $cf_cv_library_path_socks" 1>&6
+
+echo "${as_me-configure}:4922: testing ... found socks library in $cf_cv_library_path_socks ..." 1>&5
+
+
+                cf_cv_find_linkage_socks=yes
+                cf_cv_library_file_socks="-lsocks"
+                break
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  
+                CPPFLAGS="$cf_save_CPPFLAGS"
+                LIBS="$cf_save_LIBS"
+                LDFLAGS="$cf_save_LDFLAGS"
+                
+fi
+rm -f conftest*
+          fi
+        done
+        LIBS="$cf_save_LIBS"
+        CPPFLAGS="$cf_save_CPPFLAGS"
+        LDFLAGS="$cf_save_LDFLAGS"
+      fi
+
+    else
+      cf_cv_find_linkage_socks=no
+    fi
+    
+fi
+rm -f conftest*
+
+if test "$cf_cv_find_linkage_socks" = yes ; then
+cf_cv_have_socks=yes
+else
+cf_cv_have_socks=no
+fi
+
+
+  if test "$cf_cv_have_socks" = yes ; then
+    cat >> confdefs.h <<\EOF
+#define SOCKS 1
+EOF
+
+
+    cat >> confdefs.h <<\EOF
+#define accept Raccept
+EOF
+
+    cat >> confdefs.h <<\EOF
+#define bind Rbind
+EOF
+
+    cat >> confdefs.h <<\EOF
+#define connect Rconnect
+EOF
+
+    cat >> confdefs.h <<\EOF
+#define getpeername Rgetpeername
+EOF
+
+    cat >> confdefs.h <<\EOF
+#define getsockname Rgetsockname
+EOF
+
+    cat >> confdefs.h <<\EOF
+#define listen Rlisten
+EOF
+
+    cat >> confdefs.h <<\EOF
+#define recvfrom Rrecvfrom
+EOF
+
+    cat >> confdefs.h <<\EOF
+#define select Rselect
+EOF
+
+
+    
+if test -n "$cf_cv_header_path_socks" ; then
+  for cf_add_incdir in $cf_cv_header_path_socks
+  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
+
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 5024 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int main() {
+printf("Hello")
+; return 0; }
+EOF
+if { (eval echo configure:5031: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_have_incdir=yes
+fi
+rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:5048: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
+fi
+
+    
+if test -n "$cf_cv_library_path_socks" ; then
+  for cf_add_libdir in $cf_cv_library_path_socks
+  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}:5084: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
+
+    LIBS="$LIBS -lsocks"
+  else
+    { echo "configure: error: cannot link with socks library" 1>&2; exit 1; }
+  fi
+
+else
+	
+cf_test_netlibs=no
+echo $ac_n "checking for network libraries""... $ac_c" 1>&6
+echo "configure:5102: checking for network libraries" >&5
+if eval "test \"`echo '$''{'cf_cv_netlibs'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+echo "$ac_t""working..." 1>&6
+cf_cv_netlibs=""
+cf_test_netlibs=yes
+for ac_func in gethostname
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:5113: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 5118 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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();
+
+int main() {
+
+/* The GNU C library defines this 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)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+ 
+else
+  echo "$ac_t""no" 1>&6
+
+echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
+echo "configure:5164: checking for gethostname in -lnsl" >&5
+ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lnsl $cf_cv_netlibs $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 5172 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char gethostname();
+
+int main() {
+gethostname()
+; return 0; }
+EOF
+if { (eval echo configure:5183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  
+	
+cf_tr_func=`echo "gethostname" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+	cat >> confdefs.h <<EOF
 #define HAVE_$cf_tr_func 1
 EOF
 
@@ -4579,7 +5212,7 @@ else
 	
 		
 echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6
-echo "configure:4583: checking for gethostname in -lsocket" >&5
+echo "configure:5216: checking for gethostname in -lsocket" >&5
 ac_lib_var=`echo socket'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4587,7 +5220,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4591 "configure"
+#line 5224 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4598,7 +5231,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:4602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4643,7 +5276,7 @@ done
 # I don't know the entrypoints - 97/7/22 TD
 # AC_HAVE_LIBRARY(inet,cf_cv_netlibs="-linet $cf_cv_netlibs")
 echo $ac_n "checking for main in -linet""... $ac_c" 1>&6
-echo "configure:4647: checking for main in -linet" >&5
+echo "configure:5280: checking for main in -linet" >&5
 ac_lib_var=`echo inet'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4651,14 +5284,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-linet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4655 "configure"
+#line 5288 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:4662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4683,12 +5316,12 @@ if test "$ac_cv_func_lsocket" != no ; th
 for ac_func in socket
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4687: checking for $ac_func" >&5
+echo "configure:5320: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4692 "configure"
+#line 5325 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4711,7 +5344,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -4734,7 +5367,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:4738: checking for socket in -lsocket" >&5
+echo "configure:5371: checking for socket in -lsocket" >&5
 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4742,7 +5375,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4746 "configure"
+#line 5379 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4753,7 +5386,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:4757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4786,7 +5419,7 @@ else
 	
 		
 echo $ac_n "checking for socket in -lbsd""... $ac_c" 1>&6
-echo "configure:4790: checking for socket in -lbsd" >&5
+echo "configure:5423: checking for socket in -lbsd" >&5
 ac_lib_var=`echo bsd'_'socket | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4794,7 +5427,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4798 "configure"
+#line 5431 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4805,7 +5438,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:4809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4850,12 +5483,12 @@ fi
 for ac_func in gethostbyname
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4854: checking for $ac_func" >&5
+echo "configure:5487: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4859 "configure"
+#line 5492 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4878,7 +5511,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -4901,7 +5534,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:4905: checking for gethostbyname in -lnsl" >&5
+echo "configure:5538: checking for gethostbyname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4909,7 +5542,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4913 "configure"
+#line 5546 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4920,7 +5553,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:4924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4961,12 +5594,12 @@ done
 for ac_func in strcasecmp
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4965: checking for $ac_func" >&5
+echo "configure:5598: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4970 "configure"
+#line 5603 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4989,7 +5622,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5012,7 +5645,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6
-echo "configure:5016: checking for strcasecmp in -lresolv" >&5
+echo "configure:5649: checking for strcasecmp in -lresolv" >&5
 ac_lib_var=`echo resolv'_'strcasecmp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5020,7 +5653,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5024 "configure"
+#line 5657 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5031,7 +5664,7 @@ int main() {
 strcasecmp()
 ; return 0; }
 EOF
-if { (eval echo configure:5035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5076,24 +5709,221 @@ test $cf_test_netlibs = no && echo "$cf_
 
 	if test "x$cf_cv_use_libsocks5" != xno ; then
 	
-case "$cf_cv_use_libsocks5" in #(vi
-no|yes) #(vi
-  ;;
-*)
-  if test -d $cf_cv_use_libsocks5 ; then
-    if test -d $cf_cv_use_libsocks5/include ; then
-      CPPFLAGS="$CPPFLAGS -I$cf_cv_use_libsocks5/include"
-      LIBS="$LIBS -L$cf_cv_use_libsocks5/lib"
-    else
-      LIBS="$LIBS -L$cf_cv_use_libsocks5"
-      test -d $cf_cv_use_libsocks5/../include && CPPFLAGS="$CPPFLAGS -I$cf_cv_use_libsocks5/../include"
+  
+  case "$cf_cv_use_libsocks5" in #(vi
+  no) #(vi
+      ;;
+  yes) #(vi
+      ;;
+  *)
+      
+for cf_searchpath in `echo "$cf_cv_use_libsocks5" | tr : ' '`; do
+	if test -d $cf_searchpath/include; then
+		
+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
+
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 5748 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int main() {
+printf("Hello")
+; return 0; }
+EOF
+if { (eval echo configure:5755: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_have_incdir=yes
+fi
+rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:5772: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
+fi
+
+	elif test -d $cf_searchpath/../include ; then
+		
+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
+
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 5814 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int main() {
+printf("Hello")
+; return 0; }
+EOF
+if { (eval echo configure:5821: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_have_incdir=yes
+fi
+rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:5838: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
+fi
+
+	else
+{ echo "configure: error: cannot find socks5 library under $cf_cv_use_libsocks5" 1>&2; exit 1; }
+	fi
+	if test -d $cf_searchpath/lib; then
+		
+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}:5878: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
     fi
-  else
-    echo "configure: warning: expected a directory: $cf_cv_use_libsocks5" 1>&2
-  fi
-  ;;
-esac
+  done
+fi
+
+	elif test -d $cf_searchpath ; then
+		
+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}:5908: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
+
+	else
+{ echo "configure: error: cannot find socks5 library under $cf_cv_use_libsocks5" 1>&2; exit 1; }
+	fi
+done
+
+      ;;
+  esac
+
+
 LIBS="$LIBS -lsocks5"
+
 cat >> confdefs.h <<\EOF
 #define USE_SOCKS5 1
 EOF
@@ -5102,11 +5932,12 @@ cat >> confdefs.h <<\EOF
 #define SOCKS 1
 EOF
 
+
 echo $ac_n "checking if the socks library uses socks4 prefix""... $ac_c" 1>&6
-echo "configure:5107: checking if the socks library uses socks4 prefix" >&5
+echo "configure:5938: checking if the socks library uses socks4 prefix" >&5
 cf_use_socks4=error
 cat > conftest.$ac_ext <<EOF
-#line 5110 "configure"
+#line 5941 "configure"
 #include "confdefs.h"
 
 #include <socks.h>
@@ -5115,7 +5946,7 @@ int main() {
 	Rinit((char *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:5119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define USE_SOCKS4_PREFIX 1
@@ -5127,14 +5958,14 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 5131 "configure"
+#line 5962 "configure"
 #include "confdefs.h"
 #include <socks.h>
 int main() {
 SOCKSinit((char *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:5138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_use_socks4=no
 else
@@ -5147,6 +5978,7 @@ rm -f conftest*
 fi
 rm -f conftest*
 echo "$ac_t""$cf_use_socks4" 1>&6
+
 if test "$cf_use_socks4" = "yes" ; then
 	cat >> confdefs.h <<\EOF
 #define accept Raccept
@@ -5198,10 +6030,11 @@ EOF
 EOF
 
 fi
+
 echo $ac_n "checking if socks5p.h is available""... $ac_c" 1>&6
-echo "configure:5203: checking if socks5p.h is available" >&5
+echo "configure:6036: checking if socks5p.h is available" >&5
 cat > conftest.$ac_ext <<EOF
-#line 5205 "configure"
+#line 6038 "configure"
 #include "confdefs.h"
 
 #define INCLUDE_PROTOTYPES
@@ -5211,7 +6044,7 @@ int main() {
 	init((char *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:5215: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6048: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_use_socks5p_h=yes
 else
@@ -5222,6 +6055,7 @@ else
 fi
 rm -f conftest*
 echo "$ac_t""$cf_use_socks5p_h" 1>&6
+
 test "$cf_use_socks5p_h" = yes && cat >> confdefs.h <<\EOF
 #define INCLUDE_PROTOTYPES 1
 EOF
@@ -5237,17 +6071,17 @@ for ac_hdr in unistd.h fcntl.h sys/file.
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5241: checking for $ac_hdr" >&5
+echo "configure:6075: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5246 "configure"
+#line 6080 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5251: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6085: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5274,12 +6108,12 @@ fi
 done
 
 echo $ac_n "checking for fcntl""... $ac_c" 1>&6
-echo "configure:5278: checking for fcntl" >&5
+echo "configure:6112: checking for fcntl" >&5
 if eval "test \"`echo '$''{'ac_cv_func_fcntl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5283 "configure"
+#line 6117 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char fcntl(); below.  */
@@ -5302,7 +6136,7 @@ fcntl();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_fcntl=yes"
 else
@@ -5322,12 +6156,12 @@ else
 fi
 
 echo $ac_n "checking for lockf""... $ac_c" 1>&6
-echo "configure:5326: checking for lockf" >&5
+echo "configure:6160: checking for lockf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_lockf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5331 "configure"
+#line 6165 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char lockf(); below.  */
@@ -5350,7 +6184,7 @@ lockf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_lockf=yes"
 else
@@ -5370,12 +6204,12 @@ else
 fi
 
 echo $ac_n "checking for flock""... $ac_c" 1>&6
-echo "configure:5374: checking for flock" >&5
+echo "configure:6208: checking for flock" >&5
 if eval "test \"`echo '$''{'ac_cv_func_flock'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5379 "configure"
+#line 6213 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char flock(); below.  */
@@ -5398,7 +6232,7 @@ flock();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6236: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_flock=yes"
 else
@@ -5419,7 +6253,7 @@ fi
 
 
 echo $ac_n "checking for file-locking functions""... $ac_c" 1>&6
-echo "configure:5423: checking for file-locking functions" >&5
+echo "configure:6257: checking for file-locking functions" >&5
 if eval "test \"`echo '$''{'cf_cv_lockfile'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5431,7 +6265,7 @@ if eval 'test ${ac_cv_func_'$cf_lock'+se
 	case $cf_lock in #(vi
 	fcntl) #(vi
 		cat > conftest.$ac_ext <<EOF
-#line 5435 "configure"
+#line 6269 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5459,7 +6293,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5463: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -5471,7 +6305,7 @@ rm -f conftest*
 		;;
 	lockf) #(vi
 		cat > conftest.$ac_ext <<EOF
-#line 5475 "configure"
+#line 6309 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5491,7 +6325,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5495: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6329: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -5503,7 +6337,7 @@ rm -f conftest*
 		;;
 	flock)
 		cat > conftest.$ac_ext <<EOF
-#line 5507 "configure"
+#line 6341 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5526,7 +6360,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5530: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6364: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -5546,8 +6380,8 @@ fi
 echo "$ac_t""$cf_cv_lockfile" 1>&6
 
 
-echo $ac_n "checking which locking method should be used""... $ac_c" 1>&6
-echo "configure:5551: checking which locking method should be used" >&5
+echo $ac_n "checking which locking method will be used""... $ac_c" 1>&6
+echo "configure:6385: checking which locking method will be used" >&5
 ### fcntl() is preferred, if the user just disables fcntl()
 ### without specifying an alternative lockf() is preferred
 
@@ -5611,12 +6445,13 @@ used_locking=`echo "$used_locking" | sed
 EOF
 
 else
-	echo "configure: warning: None of fcntl()" 1>&2
+	echo "$ac_t""none" 1>&6;
+	echo "configure: warning: None of fcntl(), lockf(), flock() available" 1>&2
 fi
 
 
 echo $ac_n "checking for screen type""... $ac_c" 1>&6
-echo "configure:5620: checking for screen type" >&5
+echo "configure:6455: checking for screen type" >&5
 
 # Check whether --with-screen or --without-screen was given.
 if test "${with_screen+set}" = set; then
@@ -5632,7 +6467,7 @@ use_curses=no
 use_ncurses=no
 
 echo $ac_n "checking if you specified curses install-directory""... $ac_c" 1>&6
-echo "configure:5636: checking if you specified curses install-directory" >&5
+echo "configure:6471: checking if you specified curses install-directory" >&5
 
 
 # Check whether --with-curses-dir or --without-curses-dir was given.
@@ -5695,7 +6530,7 @@ pdcurses) #(vi
 	;;
 none)
 	echo $ac_n "checking if you want to use ncurses library""... $ac_c" 1>&6
-echo "configure:5699: checking if you want to use ncurses library" >&5
+echo "configure:6534: checking if you want to use ncurses library" >&5
 	
 # Check whether --with-ncurses or --without-ncurses was given.
 if test "${with_ncurses+set}" = set; then
@@ -5708,7 +6543,7 @@ fi
 	echo "$ac_t""$use_ncurses" 1>&6
 
 	echo $ac_n "checking if you want curses rather than termcap interface""... $ac_c" 1>&6
-echo "configure:5712: checking if you want curses rather than termcap interface" >&5
+echo "configure:6547: checking if you want curses rather than termcap interface" >&5
 	
 # Check whether --enable-curses or --disable-curses was given.
 if test "${enable_curses+set}" = set; then
@@ -5741,11 +6576,76 @@ EOF
 cf_ncuhdr_root=ncurses
 
 test -n "$cf_cv_curses_dir" && \
-test "$cf_cv_curses_dir" != "no" && \
-CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
+test "$cf_cv_curses_dir" != "no" && { \
+  
+if test -n "$cf_cv_curses_dir/include $cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then
+  for cf_add_incdir in $cf_cv_curses_dir/include $cf_cv_curses_dir/include/$cf_ncuhdr_root
+  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
+
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 6606 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int main() {
+printf("Hello")
+; return 0; }
+EOF
+if { (eval echo configure:6613: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_have_incdir=yes
+fi
+rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:6630: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
+fi
+
+}
 
 echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6
-echo "configure:5749: checking for $cf_ncuhdr_root header in include-path" >&5
+echo "configure:6649: checking for $cf_ncuhdr_root header in include-path" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5756,7 +6656,7 @@ else
 	do
 		
 	cat > conftest.$ac_ext <<EOF
-#line 5760 "configure"
+#line 6660 "configure"
 #include "confdefs.h"
 
 
@@ -5777,7 +6677,7 @@ printf("old\n");
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5781: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6681: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_h=$cf_header
 	
@@ -5803,7 +6703,7 @@ if test "$cf_cv_ncurses_h" != no ; then
 else
 
 echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6
-echo "configure:5807: checking for $cf_ncuhdr_root include-path" >&5
+echo "configure:6707: checking for $cf_ncuhdr_root include-path" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5811,34 +6711,23 @@ else
 	test -n "$verbose" && echo
 	cf_search=""
 
-test -d $HOME && {
-	test -n "$verbose" && echo "	... testing include-directories under $HOME"
-	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
-	test -d $HOME/include/$cf_ncuhdr_root &&       cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
-	test -d $HOME/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
-}
 
-# For other stuff under the home directory, it should be sufficient to put
-# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location:
-test -d $HOME/$cf_ncuhdr_root && {
-	test -n "$verbose" && echo "	... testing include-directories under $HOME/$cf_ncuhdr_root"
-	test -d $HOME/$cf_ncuhdr_root/include &&       cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
-	test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr"
+	test -d /usr/include &&          cf_search="$cf_search /usr/include"
+	test -d /usr/include/$cf_ncuhdr_root &&       cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
+	test -d /usr/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
+	test -d /usr/$cf_ncuhdr_root/include &&       cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
+	test -d /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
 }
 
-test "$prefix" != /usr/local && \
-test -d /usr/local && {
-	test -n "$verbose" && echo "	... testing include-directories under /usr/local"
-	test -d /usr/local/include &&       cf_search="$cf_search /usr/local/include"
-	test -d /usr/local/include/$cf_ncuhdr_root &&    cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
-	test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
-	test -d /usr/local/$cf_ncuhdr_root/include &&    cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
-	test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
-}
 
-test "$prefix" != NONE && \
-test -d $prefix && {
-	test -n "$verbose" && echo "	... testing include-directories under $prefix"
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for include-directories under $prefix"
 	test -d $prefix/include &&          cf_search="$cf_search $prefix/include"
 	test -d $prefix/include/$cf_ncuhdr_root &&       cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
 	test -d $prefix/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
@@ -5846,25 +6735,43 @@ test -d $prefix && {
 	test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
 }
 
-test "$prefix" != /opt && \
-test -d /opt && {
-	test -n "$verbose" && echo "	... testing include-directories under /opt"
-	test -d /opt/include &&             cf_search="$cf_search /opt/include"
-	test -d /opt/include/$cf_ncuhdr_root &&          cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
-	test -d /opt/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
-	test -d /opt/$cf_ncuhdr_root/include &&          cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
-	test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&       cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
-}
-
-test "$prefix" != /usr && \
-test -d /usr && {
-	test -n "$verbose" && echo "	... testing include-directories under /usr"
-	test -d /usr/include &&             cf_search="$cf_search /usr/include"
-	test -d /usr/include/$cf_ncuhdr_root &&          cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
-	test -d /usr/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
-	test -d /usr/$cf_ncuhdr_root/include &&          cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr/local"
+	test -d /usr/local/include &&          cf_search="$cf_search /usr/local/include"
+	test -d /usr/local/include/$cf_ncuhdr_root &&       cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
+	test -d /usr/local/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
+	test -d /usr/local/$cf_ncuhdr_root/include &&       cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
+	test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /opt"
+	test -d /opt/include &&          cf_search="$cf_search /opt/include"
+	test -d /opt/include/$cf_ncuhdr_root &&       cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
+	test -d /opt/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
+	test -d /opt/$cf_ncuhdr_root/include &&       cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
+	test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under $HOME"
+	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
+	test -d $HOME/include/$cf_ncuhdr_root &&       cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
+	test -d $HOME/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
+	test -d $HOME/$cf_ncuhdr_root/include &&       cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
+	test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
 }
 
+
 test "$includedir" != NONE && \
 test "$includedir" != "/usr/include" && \
 test -d "$includedir" && {
@@ -5885,46 +6792,69 @@ test -d "$oldincludedir" && {
 	for cf_incdir in $cf_search
 	do
 		
-for cf_add_incdir in $cf_incdir
-do
-	while true
+if test -n "$cf_incdir" ; then
+  for cf_add_incdir in $cf_incdir
+  do
+	while test $cf_add_incdir != /usr/include
 	do
-		case $cf_add_incdir in
-		/usr/include) # (vi
-			;;
-		/usr/local/include) # (vi
+	  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
+
+		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"
-				CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-				cat > conftest.$ac_ext <<EOF
-#line 5902 "configure"
+			  cf_save_CPPFLAGS=$CPPFLAGS
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 6820 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("Hello")
 ; return 0; }
 EOF
-if { (eval echo configure:5909: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6827: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  CPPFLAGS="$cf_save_CPPFLAGS"
+  cf_have_incdir=yes
 fi
 rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
 			fi
-			;;
-		*) # (vi
-			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"
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:6844: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
 	done
-done
+  done
+fi
 
 		for cf_header in \
 			ncurses.h \
@@ -5932,7 +6862,7 @@ done
 		do
 			
 	cat > conftest.$ac_ext <<EOF
-#line 5936 "configure"
+#line 6866 "configure"
 #include "confdefs.h"
 
 
@@ -5953,7 +6883,7 @@ printf("old\n");
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6887: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_h2=$cf_header
 	
@@ -5987,46 +6917,69 @@ echo "$ac_t""$cf_cv_ncurses_h2" 1>&6
 		cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
 	fi
 	
-for cf_add_incdir in $cf_1st_incdir
-do
-	while true
+if test -n "$cf_1st_incdir" ; then
+  for cf_add_incdir in $cf_1st_incdir
+  do
+	while test $cf_add_incdir != /usr/include
 	do
-		case $cf_add_incdir in
-		/usr/include) # (vi
-			;;
-		/usr/local/include) # (vi
+	  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
+
+		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"
-				CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-				cat > conftest.$ac_ext <<EOF
-#line 6004 "configure"
+			  cf_save_CPPFLAGS=$CPPFLAGS
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 6945 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("Hello")
 ; return 0; }
 EOF
-if { (eval echo configure:6011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6952: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  CPPFLAGS="$cf_save_CPPFLAGS"
+  cf_have_incdir=yes
 fi
 rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
 			fi
-			;;
-		*) # (vi
-			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"
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:6969: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
 	done
-done
+  done
+fi
 
 
 fi
@@ -6060,7 +7013,7 @@ esac
 
 
 echo $ac_n "checking for terminfo header""... $ac_c" 1>&6
-echo "configure:6064: checking for terminfo header" >&5
+echo "configure:7017: checking for terminfo header" >&5
 if eval "test \"`echo '$''{'cf_cv_term_header'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6077,7 +7030,7 @@ esac
 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
 do
 cat > conftest.$ac_ext <<EOF
-#line 6081 "configure"
+#line 7034 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -6087,7 +7040,7 @@ int main() {
 int x = auto_left_margin
 ; return 0; }
 EOF
-if { (eval echo configure:6091: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7044: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 	cf_cv_term_header="$cf_test"
@@ -6142,7 +7095,7 @@ EOF
 
 
 echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:6146: checking for ncurses version" >&5
+echo "configure:7099: checking for ncurses version" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6168,7 +7121,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:6172: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:7125: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
 	if test -f conftest.out ; then
 		cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
 		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
@@ -6177,7 +7130,7 @@ EOF
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 6181 "configure"
+#line 7134 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -6198,10 +7151,10 @@ int main()
 	make an error
 # endif
 #endif
-	exit(0);
+	${cf_cv_main_return-return}(0);
 }
 EOF
-if { (eval echo configure:6205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -6232,7 +7185,7 @@ cf_nculib_root=ncurses
 cf_ncurses_LIBS=""
 cf_ncurses_SAVE="$LIBS"
 echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:6236: checking for Gpm_Open in -lgpm" >&5
+echo "configure:7189: checking for Gpm_Open in -lgpm" >&5
 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6240,7 +7193,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6244 "configure"
+#line 7197 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6251,7 +7204,7 @@ int main() {
 Gpm_Open()
 ; return 0; }
 EOF
-if { (eval echo configure:6255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6267,7 +7220,7 @@ fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6
-echo "configure:6271: checking for initscr in -lgpm" >&5
+echo "configure:7224: checking for initscr in -lgpm" >&5
 ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6275,7 +7228,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6279 "configure"
+#line 7232 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6286,7 +7239,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6318,7 +7271,7 @@ freebsd*)
 	# version of ncurses (but it should do no harm, since it's static).
 	if test "$cf_nculib_root" = ncurses ; then
 		echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
-echo "configure:6322: checking for tgoto in -lmytinfo" >&5
+echo "configure:7275: checking for tgoto in -lmytinfo" >&5
 ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6326,7 +7279,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmytinfo  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6330 "configure"
+#line 7283 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6337,7 +7290,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:6341: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7294: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6365,18 +7318,47 @@ LIBS="$cf_ncurses_LIBS $LIBS"
 
 if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
 then
-	LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
+	
+if test -n "$cf_cv_curses_dir/lib" ; then
+  for cf_add_libdir in $cf_cv_curses_dir/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}:7342: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
+
+	LIBS="-l$cf_nculib_root $LIBS"
 else
 	
 	eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
 	cf_libdir=""
 	echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:6375: checking for initscr" >&5
+echo "configure:7357: checking for initscr" >&5
 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6380 "configure"
+#line 7362 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -6399,7 +7381,7 @@ initscr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
@@ -6419,17 +7401,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6
-echo "configure:6423: checking for initscr in -l$cf_nculib_root" >&5
+echo "configure:7405: checking for initscr in -l$cf_nculib_root" >&5
 		LIBS="-l$cf_nculib_root $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 6426 "configure"
+#line 7408 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6433: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
@@ -6441,34 +7423,23 @@ else
   echo "$ac_t""no" 1>&6
 			cf_search=""
 
-test -d $HOME && {
-	test -n "$verbose" && echo "	... testing lib-directories under $HOME"
-	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
-	test -d $HOME/lib/$cf_nculib_root &&       cf_search="$cf_search $HOME/lib/$cf_nculib_root"
-	test -d $HOME/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
-}
 
-# For other stuff under the home directory, it should be sufficient to put
-# a symbolic link for $HOME/$cf_nculib_root to the actual package location:
-test -d $HOME/$cf_nculib_root && {
-	test -n "$verbose" && echo "	... testing lib-directories under $HOME/$cf_nculib_root"
-	test -d $HOME/$cf_nculib_root/lib &&       cf_search="$cf_search $HOME/$cf_nculib_root/lib"
-	test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr"
+	test -d /usr/lib &&          cf_search="$cf_search /usr/lib"
+	test -d /usr/lib/$cf_nculib_root &&       cf_search="$cf_search /usr/lib/$cf_nculib_root"
+	test -d /usr/lib/$cf_nculib_root/lib &&    cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
+	test -d /usr/$cf_nculib_root/lib &&       cf_search="$cf_search /usr/$cf_nculib_root/lib"
+	test -d /usr/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search /usr/$cf_nculib_root/lib/$cf_nculib_root"
 }
 
-test "$prefix" != /usr/local && \
-test -d /usr/local && {
-	test -n "$verbose" && echo "	... testing lib-directories under /usr/local"
-	test -d /usr/local/lib &&       cf_search="$cf_search /usr/local/lib"
-	test -d /usr/local/lib/$cf_nculib_root &&    cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
-	test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
-	test -d /usr/local/$cf_nculib_root/lib &&    cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
-	test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
-}
 
-test "$prefix" != NONE && \
-test -d $prefix && {
-	test -n "$verbose" && echo "	... testing lib-directories under $prefix"
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for lib-directories under $prefix"
 	test -d $prefix/lib &&          cf_search="$cf_search $prefix/lib"
 	test -d $prefix/lib/$cf_nculib_root &&       cf_search="$cf_search $prefix/lib/$cf_nculib_root"
 	test -d $prefix/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
@@ -6476,39 +7447,57 @@ test -d $prefix && {
 	test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
 }
 
-test "$prefix" != /opt && \
-test -d /opt && {
-	test -n "$verbose" && echo "	... testing lib-directories under /opt"
-	test -d /opt/lib &&             cf_search="$cf_search /opt/lib"
-	test -d /opt/lib/$cf_nculib_root &&          cf_search="$cf_search /opt/lib/$cf_nculib_root"
-	test -d /opt/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
-	test -d /opt/$cf_nculib_root/lib &&          cf_search="$cf_search /opt/$cf_nculib_root/lib"
-	test -d /opt/$cf_nculib_root/lib/$cf_nculib_root &&       cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
-}
-
-test "$prefix" != /usr && \
-test -d /usr && {
-	test -n "$verbose" && echo "	... testing lib-directories under /usr"
-	test -d /usr/lib &&             cf_search="$cf_search /usr/lib"
-	test -d /usr/lib/$cf_nculib_root &&          cf_search="$cf_search /usr/lib/$cf_nculib_root"
-	test -d /usr/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
-	test -d /usr/$cf_nculib_root/lib &&          cf_search="$cf_search /usr/$cf_nculib_root/lib"
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr/local"
+	test -d /usr/local/lib &&          cf_search="$cf_search /usr/local/lib"
+	test -d /usr/local/lib/$cf_nculib_root &&       cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
+	test -d /usr/local/lib/$cf_nculib_root/lib &&    cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
+	test -d /usr/local/$cf_nculib_root/lib &&       cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
+	test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /opt"
+	test -d /opt/lib &&          cf_search="$cf_search /opt/lib"
+	test -d /opt/lib/$cf_nculib_root &&       cf_search="$cf_search /opt/lib/$cf_nculib_root"
+	test -d /opt/lib/$cf_nculib_root/lib &&    cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
+	test -d /opt/$cf_nculib_root/lib &&       cf_search="$cf_search /opt/$cf_nculib_root/lib"
+	test -d /opt/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under $HOME"
+	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
+	test -d $HOME/lib/$cf_nculib_root &&       cf_search="$cf_search $HOME/lib/$cf_nculib_root"
+	test -d $HOME/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
+	test -d $HOME/$cf_nculib_root/lib &&       cf_search="$cf_search $HOME/$cf_nculib_root/lib"
+	test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
 }
 
+
 			for cf_libdir in $cf_search
 			do
 				echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6
-echo "configure:6502: checking for -l$cf_nculib_root in $cf_libdir" >&5
+echo "configure:7491: checking for -l$cf_nculib_root in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 6505 "configure"
+#line 7494 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 		 eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
@@ -6539,7 +7528,7 @@ fi
 
 if test -n "$cf_ncurses_LIBS" ; then
 	echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6
-echo "configure:6543: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+echo "configure:7532: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
 	cf_ncurses_SAVE="$LIBS"
 	for p in $cf_ncurses_LIBS ; do
 		q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
@@ -6548,14 +7537,14 @@ echo "configure:6543: checking if we can
 		fi
 	done
 	cat > conftest.$ac_ext <<EOF
-#line 6552 "configure"
+#line 7541 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:6559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7548: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 else
@@ -6582,9 +7571,9 @@ EOF
 for cf_hdr in stdlib.h wchar.h wctype.h
 do
 	echo $ac_n "checking for $cf_hdr""... $ac_c" 1>&6
-echo "configure:6586: checking for $cf_hdr" >&5
+echo "configure:7575: checking for $cf_hdr" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 6588 "configure"
+#line 7577 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -6592,7 +7581,7 @@ echo "configure:6586: checking for $cf_h
 
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6596: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7585: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6619,12 +7608,12 @@ done
 
 		
   echo $ac_n "checking for wide char and multibyte support""... $ac_c" 1>&6
-echo "configure:6623: checking for wide char and multibyte support" >&5
+echo "configure:7612: checking for wide char and multibyte support" >&5
 if eval "test \"`echo '$''{'am_cv_multibyte_able'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6628 "configure"
+#line 7617 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #ifdef HAVE_STDLIB_H
@@ -6660,7 +7649,7 @@ char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0
       wcsncat(wcb2, wcb, 5);
 ; return 0; }
 EOF
-if { (eval echo configure:6664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_multibyte_able=yes
 else
@@ -6670,7 +7659,7 @@ else
   cf_save_LIBS="$LIBS"
       LIBS="-lutf8 $LIBS"
       cat > conftest.$ac_ext <<EOF
-#line 6674 "configure"
+#line 7663 "configure"
 #include "confdefs.h"
 #include <libutf8.h>
 int main() {
@@ -6696,7 +7685,7 @@ char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0
         wcsncat(wcb2, wcb, 5);
 ; return 0; }
 EOF
-if { (eval echo configure:6700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_multibyte_able=libutf8
 else
@@ -6733,11 +7722,76 @@ EOF
 cf_ncuhdr_root=ncursesw
 
 test -n "$cf_cv_curses_dir" && \
-test "$cf_cv_curses_dir" != "no" && \
-CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
+test "$cf_cv_curses_dir" != "no" && { \
+  
+if test -n "$cf_cv_curses_dir/include $cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then
+  for cf_add_incdir in $cf_cv_curses_dir/include $cf_cv_curses_dir/include/$cf_ncuhdr_root
+  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
+
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 7752 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int main() {
+printf("Hello")
+; return 0; }
+EOF
+if { (eval echo configure:7759: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_have_incdir=yes
+fi
+rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:7776: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
+fi
+
+}
 
 echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6
-echo "configure:6741: checking for $cf_ncuhdr_root header in include-path" >&5
+echo "configure:7795: checking for $cf_ncuhdr_root header in include-path" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6748,7 +7802,7 @@ else
 	do
 		
 	cat > conftest.$ac_ext <<EOF
-#line 6752 "configure"
+#line 7806 "configure"
 #include "confdefs.h"
 
 
@@ -6777,7 +7831,7 @@ printf("old\n");
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6781: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_h=$cf_header
 	
@@ -6803,7 +7857,7 @@ if test "$cf_cv_ncurses_h" != no ; then
 else
 
 echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6
-echo "configure:6807: checking for $cf_ncuhdr_root include-path" >&5
+echo "configure:7861: checking for $cf_ncuhdr_root include-path" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6811,34 +7865,23 @@ else
 	test -n "$verbose" && echo
 	cf_search=""
 
-test -d $HOME && {
-	test -n "$verbose" && echo "	... testing include-directories under $HOME"
-	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
-	test -d $HOME/include/$cf_ncuhdr_root &&       cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
-	test -d $HOME/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
-}
 
-# For other stuff under the home directory, it should be sufficient to put
-# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location:
-test -d $HOME/$cf_ncuhdr_root && {
-	test -n "$verbose" && echo "	... testing include-directories under $HOME/$cf_ncuhdr_root"
-	test -d $HOME/$cf_ncuhdr_root/include &&       cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
-	test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr"
+	test -d /usr/include &&          cf_search="$cf_search /usr/include"
+	test -d /usr/include/$cf_ncuhdr_root &&       cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
+	test -d /usr/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
+	test -d /usr/$cf_ncuhdr_root/include &&       cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
+	test -d /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
 }
 
-test "$prefix" != /usr/local && \
-test -d /usr/local && {
-	test -n "$verbose" && echo "	... testing include-directories under /usr/local"
-	test -d /usr/local/include &&       cf_search="$cf_search /usr/local/include"
-	test -d /usr/local/include/$cf_ncuhdr_root &&    cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
-	test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
-	test -d /usr/local/$cf_ncuhdr_root/include &&    cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
-	test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
-}
 
-test "$prefix" != NONE && \
-test -d $prefix && {
-	test -n "$verbose" && echo "	... testing include-directories under $prefix"
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for include-directories under $prefix"
 	test -d $prefix/include &&          cf_search="$cf_search $prefix/include"
 	test -d $prefix/include/$cf_ncuhdr_root &&       cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
 	test -d $prefix/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
@@ -6846,25 +7889,43 @@ test -d $prefix && {
 	test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
 }
 
-test "$prefix" != /opt && \
-test -d /opt && {
-	test -n "$verbose" && echo "	... testing include-directories under /opt"
-	test -d /opt/include &&             cf_search="$cf_search /opt/include"
-	test -d /opt/include/$cf_ncuhdr_root &&          cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
-	test -d /opt/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
-	test -d /opt/$cf_ncuhdr_root/include &&          cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
-	test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&       cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
-}
-
-test "$prefix" != /usr && \
-test -d /usr && {
-	test -n "$verbose" && echo "	... testing include-directories under /usr"
-	test -d /usr/include &&             cf_search="$cf_search /usr/include"
-	test -d /usr/include/$cf_ncuhdr_root &&          cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
-	test -d /usr/include/$cf_ncuhdr_root/include &&       cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
-	test -d /usr/$cf_ncuhdr_root/include &&          cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr/local"
+	test -d /usr/local/include &&          cf_search="$cf_search /usr/local/include"
+	test -d /usr/local/include/$cf_ncuhdr_root &&       cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
+	test -d /usr/local/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
+	test -d /usr/local/$cf_ncuhdr_root/include &&       cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
+	test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /opt"
+	test -d /opt/include &&          cf_search="$cf_search /opt/include"
+	test -d /opt/include/$cf_ncuhdr_root &&       cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
+	test -d /opt/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
+	test -d /opt/$cf_ncuhdr_root/include &&       cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
+	test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under $HOME"
+	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
+	test -d $HOME/include/$cf_ncuhdr_root &&       cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
+	test -d $HOME/include/$cf_ncuhdr_root/include &&    cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
+	test -d $HOME/$cf_ncuhdr_root/include &&       cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
+	test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root &&    cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
 }
 
+
 test "$includedir" != NONE && \
 test "$includedir" != "/usr/include" && \
 test -d "$includedir" && {
@@ -6885,46 +7946,69 @@ test -d "$oldincludedir" && {
 	for cf_incdir in $cf_search
 	do
 		
-for cf_add_incdir in $cf_incdir
-do
-	while true
+if test -n "$cf_incdir" ; then
+  for cf_add_incdir in $cf_incdir
+  do
+	while test $cf_add_incdir != /usr/include
 	do
-		case $cf_add_incdir in
-		/usr/include) # (vi
-			;;
-		/usr/local/include) # (vi
+	  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
+
+		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"
-				CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-				cat > conftest.$ac_ext <<EOF
-#line 6902 "configure"
+			  cf_save_CPPFLAGS=$CPPFLAGS
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 7974 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("Hello")
 ; return 0; }
 EOF
-if { (eval echo configure:6909: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7981: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  CPPFLAGS="$cf_save_CPPFLAGS"
+  cf_have_incdir=yes
 fi
 rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
 			fi
-			;;
-		*) # (vi
-			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"
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:7998: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
 	done
-done
+  done
+fi
 
 		for cf_header in \
 			ncurses.h \
@@ -6932,7 +8016,7 @@ done
 		do
 			
 	cat > conftest.$ac_ext <<EOF
-#line 6936 "configure"
+#line 8020 "configure"
 #include "confdefs.h"
 
 
@@ -6953,7 +8037,7 @@ printf("old\n");
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8041: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_h2=$cf_header
 	
@@ -6987,46 +8071,69 @@ echo "$ac_t""$cf_cv_ncurses_h2" 1>&6
 		cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
 	fi
 	
-for cf_add_incdir in $cf_1st_incdir
-do
-	while true
+if test -n "$cf_1st_incdir" ; then
+  for cf_add_incdir in $cf_1st_incdir
+  do
+	while test $cf_add_incdir != /usr/include
 	do
-		case $cf_add_incdir in
-		/usr/include) # (vi
-			;;
-		/usr/local/include) # (vi
+	  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
+
+		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"
-				CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-				cat > conftest.$ac_ext <<EOF
-#line 7004 "configure"
+			  cf_save_CPPFLAGS=$CPPFLAGS
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 8099 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("Hello")
 ; return 0; }
 EOF
-if { (eval echo configure:7011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8106: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  CPPFLAGS="$cf_save_CPPFLAGS"
+  cf_have_incdir=yes
 fi
 rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
 			fi
-			;;
-		*) # (vi
-			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"
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:8123: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
 	done
-done
+  done
+fi
 
 
 fi
@@ -7060,7 +8167,7 @@ esac
 
 
 echo $ac_n "checking for terminfo header""... $ac_c" 1>&6
-echo "configure:7064: checking for terminfo header" >&5
+echo "configure:8171: checking for terminfo header" >&5
 if eval "test \"`echo '$''{'cf_cv_term_header'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7077,7 +8184,7 @@ esac
 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
 do
 cat > conftest.$ac_ext <<EOF
-#line 7081 "configure"
+#line 8188 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -7087,7 +8194,7 @@ int main() {
 int x = auto_left_margin
 ; return 0; }
 EOF
-if { (eval echo configure:7091: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 	cf_cv_term_header="$cf_test"
@@ -7142,7 +8249,7 @@ EOF
 
 
 echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:7146: checking for ncurses version" >&5
+echo "configure:8253: checking for ncurses version" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7168,7 +8275,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:7172: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:8279: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
 	if test -f conftest.out ; then
 		cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
 		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
@@ -7177,7 +8284,7 @@ EOF
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 7181 "configure"
+#line 8288 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -7198,10 +8305,10 @@ int main()
 	make an error
 # endif
 #endif
-	exit(0);
+	${cf_cv_main_return-return}(0);
 }
 EOF
-if { (eval echo configure:7205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -7232,7 +8339,7 @@ cf_nculib_root=ncursesw
 cf_ncurses_LIBS=""
 cf_ncurses_SAVE="$LIBS"
 echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:7236: checking for Gpm_Open in -lgpm" >&5
+echo "configure:8343: checking for Gpm_Open in -lgpm" >&5
 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7240,7 +8347,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7244 "configure"
+#line 8351 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7251,7 +8358,7 @@ int main() {
 Gpm_Open()
 ; return 0; }
 EOF
-if { (eval echo configure:7255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7267,7 +8374,7 @@ fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6
-echo "configure:7271: checking for initscr in -lgpm" >&5
+echo "configure:8378: checking for initscr in -lgpm" >&5
 ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7275,7 +8382,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7279 "configure"
+#line 8386 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7286,7 +8393,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7318,7 +8425,7 @@ freebsd*)
 	# version of ncurses (but it should do no harm, since it's static).
 	if test "$cf_nculib_root" = ncurses ; then
 		echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
-echo "configure:7322: checking for tgoto in -lmytinfo" >&5
+echo "configure:8429: checking for tgoto in -lmytinfo" >&5
 ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7326,7 +8433,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmytinfo  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7330 "configure"
+#line 8437 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7337,7 +8444,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7341: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7365,18 +8472,47 @@ LIBS="$cf_ncurses_LIBS $LIBS"
 
 if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
 then
-	LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
+	
+if test -n "$cf_cv_curses_dir/lib" ; then
+  for cf_add_libdir in $cf_cv_curses_dir/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}:8496: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
+
+	LIBS="-l$cf_nculib_root $LIBS"
 else
 	
 	eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
 	cf_libdir=""
 	echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:7375: checking for initscr" >&5
+echo "configure:8511: checking for initscr" >&5
 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7380 "configure"
+#line 8516 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -7399,7 +8535,7 @@ initscr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
@@ -7419,17 +8555,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6
-echo "configure:7423: checking for initscr in -l$cf_nculib_root" >&5
+echo "configure:8559: checking for initscr in -l$cf_nculib_root" >&5
 		LIBS="-l$cf_nculib_root $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 7426 "configure"
+#line 8562 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7433: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
@@ -7441,34 +8577,23 @@ else
   echo "$ac_t""no" 1>&6
 			cf_search=""
 
-test -d $HOME && {
-	test -n "$verbose" && echo "	... testing lib-directories under $HOME"
-	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
-	test -d $HOME/lib/$cf_nculib_root &&       cf_search="$cf_search $HOME/lib/$cf_nculib_root"
-	test -d $HOME/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
-}
 
-# For other stuff under the home directory, it should be sufficient to put
-# a symbolic link for $HOME/$cf_nculib_root to the actual package location:
-test -d $HOME/$cf_nculib_root && {
-	test -n "$verbose" && echo "	... testing lib-directories under $HOME/$cf_nculib_root"
-	test -d $HOME/$cf_nculib_root/lib &&       cf_search="$cf_search $HOME/$cf_nculib_root/lib"
-	test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr"
+	test -d /usr/lib &&          cf_search="$cf_search /usr/lib"
+	test -d /usr/lib/$cf_nculib_root &&       cf_search="$cf_search /usr/lib/$cf_nculib_root"
+	test -d /usr/lib/$cf_nculib_root/lib &&    cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
+	test -d /usr/$cf_nculib_root/lib &&       cf_search="$cf_search /usr/$cf_nculib_root/lib"
+	test -d /usr/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search /usr/$cf_nculib_root/lib/$cf_nculib_root"
 }
 
-test "$prefix" != /usr/local && \
-test -d /usr/local && {
-	test -n "$verbose" && echo "	... testing lib-directories under /usr/local"
-	test -d /usr/local/lib &&       cf_search="$cf_search /usr/local/lib"
-	test -d /usr/local/lib/$cf_nculib_root &&    cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
-	test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
-	test -d /usr/local/$cf_nculib_root/lib &&    cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
-	test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
-}
 
-test "$prefix" != NONE && \
-test -d $prefix && {
-	test -n "$verbose" && echo "	... testing lib-directories under $prefix"
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for lib-directories under $prefix"
 	test -d $prefix/lib &&          cf_search="$cf_search $prefix/lib"
 	test -d $prefix/lib/$cf_nculib_root &&       cf_search="$cf_search $prefix/lib/$cf_nculib_root"
 	test -d $prefix/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
@@ -7476,39 +8601,57 @@ test -d $prefix && {
 	test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
 }
 
-test "$prefix" != /opt && \
-test -d /opt && {
-	test -n "$verbose" && echo "	... testing lib-directories under /opt"
-	test -d /opt/lib &&             cf_search="$cf_search /opt/lib"
-	test -d /opt/lib/$cf_nculib_root &&          cf_search="$cf_search /opt/lib/$cf_nculib_root"
-	test -d /opt/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
-	test -d /opt/$cf_nculib_root/lib &&          cf_search="$cf_search /opt/$cf_nculib_root/lib"
-	test -d /opt/$cf_nculib_root/lib/$cf_nculib_root &&       cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
-}
-
-test "$prefix" != /usr && \
-test -d /usr && {
-	test -n "$verbose" && echo "	... testing lib-directories under /usr"
-	test -d /usr/lib &&             cf_search="$cf_search /usr/lib"
-	test -d /usr/lib/$cf_nculib_root &&          cf_search="$cf_search /usr/lib/$cf_nculib_root"
-	test -d /usr/lib/$cf_nculib_root/lib &&       cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
-	test -d /usr/$cf_nculib_root/lib &&          cf_search="$cf_search /usr/$cf_nculib_root/lib"
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr/local"
+	test -d /usr/local/lib &&          cf_search="$cf_search /usr/local/lib"
+	test -d /usr/local/lib/$cf_nculib_root &&       cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
+	test -d /usr/local/lib/$cf_nculib_root/lib &&    cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
+	test -d /usr/local/$cf_nculib_root/lib &&       cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
+	test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /opt"
+	test -d /opt/lib &&          cf_search="$cf_search /opt/lib"
+	test -d /opt/lib/$cf_nculib_root &&       cf_search="$cf_search /opt/lib/$cf_nculib_root"
+	test -d /opt/lib/$cf_nculib_root/lib &&    cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
+	test -d /opt/$cf_nculib_root/lib &&       cf_search="$cf_search /opt/$cf_nculib_root/lib"
+	test -d /opt/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under $HOME"
+	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
+	test -d $HOME/lib/$cf_nculib_root &&       cf_search="$cf_search $HOME/lib/$cf_nculib_root"
+	test -d $HOME/lib/$cf_nculib_root/lib &&    cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
+	test -d $HOME/$cf_nculib_root/lib &&       cf_search="$cf_search $HOME/$cf_nculib_root/lib"
+	test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root &&    cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
 }
 
+
 			for cf_libdir in $cf_search
 			do
 				echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6
-echo "configure:7502: checking for -l$cf_nculib_root in $cf_libdir" >&5
+echo "configure:8645: checking for -l$cf_nculib_root in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 7505 "configure"
+#line 8648 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 		 eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
@@ -7539,7 +8682,7 @@ fi
 
 if test -n "$cf_ncurses_LIBS" ; then
 	echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6
-echo "configure:7543: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
+echo "configure:8686: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
 	cf_ncurses_SAVE="$LIBS"
 	for p in $cf_ncurses_LIBS ; do
 		q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
@@ -7548,14 +8691,14 @@ echo "configure:7543: checking if we can
 		fi
 	done
 	cat > conftest.$ac_ext <<EOF
-#line 7552 "configure"
+#line 8695 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:7559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 else
@@ -7578,7 +8721,7 @@ EOF
 
 		
 echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:7582: checking for ncurses version" >&5
+echo "configure:8725: checking for ncurses version" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7604,7 +8747,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:7608: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:8751: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
 	if test -f conftest.out ; then
 		cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
 		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
@@ -7613,7 +8756,7 @@ EOF
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 7617 "configure"
+#line 8760 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -7634,10 +8777,10 @@ int main()
 	make an error
 # endif
 #endif
-	exit(0);
+	${cf_cv_main_return-return}(0);
 }
 EOF
-if { (eval echo configure:7641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -7660,13 +8803,13 @@ EOF
 
 		
 echo $ac_n "checking if we must define _XOPEN_SOURCE_EXTENDED""... $ac_c" 1>&6
-echo "configure:7664: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
+echo "configure:8807: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
 if eval "test \"`echo '$''{'cf_cv_need_xopen_extension'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 7670 "configure"
+#line 8813 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -7678,7 +8821,7 @@ int main() {
 	getbegyx(stdscr, y1, x1)
 ; return 0; }
 EOF
-if { (eval echo configure:7682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_need_xopen_extension=no
 else
@@ -7686,7 +8829,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 7690 "configure"
+#line 8833 "configure"
 #include "confdefs.h"
 
 #define _XOPEN_SOURCE_EXTENDED
@@ -7699,7 +8842,7 @@ int main() {
 	getbegyx(stdscr, y1, x1)
 ; return 0; }
 EOF
-if { (eval echo configure:7703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_need_xopen_extension=yes
 else
@@ -7722,7 +8865,7 @@ test $cf_cv_need_xopen_extension = yes &
 		
 
 echo $ac_n "checking for extra include directories""... $ac_c" 1>&6
-echo "configure:7726: checking for extra include directories" >&5
+echo "configure:8869: checking for extra include directories" >&5
 if eval "test \"`echo '$''{'cf_cv_curses_incdir'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7747,7 +8890,7 @@ test "$cf_cv_curses_incdir" != no && CPP
 
 
 echo $ac_n "checking if we have identified curses headers""... $ac_c" 1>&6
-echo "configure:7751: checking if we have identified curses headers" >&5
+echo "configure:8894: checking if we have identified curses headers" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7760,14 +8903,14 @@ for cf_header in \
 	ncurses/ncurses.h
 do
 cat > conftest.$ac_ext <<EOF
-#line 7764 "configure"
+#line 8907 "configure"
 #include "confdefs.h"
 #include <${cf_header}>
 int main() {
 initscr(); tgoto("?", 0,0)
 ; return 0; }
 EOF
-if { (eval echo configure:7771: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8914: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_header=$cf_header; break
 else
@@ -7790,17 +8933,17 @@ for ac_hdr in $cf_cv_ncurses_header
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7794: checking for $ac_hdr" >&5
+echo "configure:8937: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7799 "configure"
+#line 8942 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7804: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8947: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7829,7 +8972,7 @@ done
 
 
 echo $ac_n "checking for terminfo header""... $ac_c" 1>&6
-echo "configure:7833: checking for terminfo header" >&5
+echo "configure:8976: checking for terminfo header" >&5
 if eval "test \"`echo '$''{'cf_cv_term_header'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7846,7 +8989,7 @@ esac
 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
 do
 cat > conftest.$ac_ext <<EOF
-#line 7850 "configure"
+#line 8993 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -7856,7 +8999,7 @@ int main() {
 int x = auto_left_margin
 ; return 0; }
 EOF
-if { (eval echo configure:7860: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9003: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 	cf_cv_term_header="$cf_test"
@@ -7906,16 +9049,16 @@ esac
 		
 
 echo $ac_n "checking if we have identified curses libraries""... $ac_c" 1>&6
-echo "configure:7910: checking if we have identified curses libraries" >&5
+echo "configure:9053: checking if we have identified curses libraries" >&5
 cat > conftest.$ac_ext <<EOF
-#line 7912 "configure"
+#line 9055 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr(); tgoto("?", 0,0)
 ; return 0; }
 EOF
-if { (eval echo configure:7919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9062: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -7930,8 +9073,8 @@ echo "$ac_t""$cf_result" 1>&6
 if test "$cf_result" = no ; then
 case $host_os in #(vi
 freebsd*) #(vi
-	echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
-echo "configure:7935: checking for tgoto in -lmytinfo" >&5
+    echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
+echo "configure:9078: checking for tgoto in -lmytinfo" >&5
 ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7939,7 +9082,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmytinfo  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7943 "configure"
+#line 9086 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7950,7 +9093,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7970,10 +9113,10 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-	;;
+    ;;
 hpux10.*) #(vi
-	echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6
-echo "configure:7977: checking for initscr in -lcur_colr" >&5
+    echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6
+echo "configure:9120: checking for initscr in -lcur_colr" >&5
 ac_lib_var=`echo cur_colr'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7981,7 +9124,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcur_colr  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7985 "configure"
+#line 9128 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7992,7 +9135,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8008,14 +9151,14 @@ fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   
-		LIBS="-lcur_colr $LIBS"
-		ac_cv_func_initscr=yes
-		
+        LIBS="-lcur_colr $LIBS"
+        ac_cv_func_initscr=yes
+        
 else
   echo "$ac_t""no" 1>&6
 
-	echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6
-echo "configure:8019: checking for initscr in -lHcurses" >&5
+    echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6
+echo "configure:9162: checking for initscr in -lHcurses" >&5
 ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8023,7 +9166,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lHcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8027 "configure"
+#line 9170 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8034,7 +9177,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:8038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8050,49 +9193,107 @@ fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   
-		# HP's header uses __HP_CURSES, but user claims _HP_CURSES.
-		LIBS="-lHcurses $LIBS"
-		CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
-		ac_cv_func_initscr=yes
-		
+        # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
+        LIBS="-lHcurses $LIBS"
+        CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
+        ac_cv_func_initscr=yes
+        
 else
   echo "$ac_t""no" 1>&6
 fi
 
 fi
 
-	;;
+    ;;
 linux*) # Suse Linux does not follow /usr/lib convention
-	LIBS="$LIBS -L/lib"
-	;;
+    
+if test -n "/lib" ; then
+  for cf_add_libdir in /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}:9230: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
+
+    ;;
 sunos3*|sunos4*)
-	test -d /usr/5lib && \
-	LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap"
-	ac_cv_func_initscr=yes
-	;;
+    if test -d /usr/5lib ; then
+      
+if test -n "/usr/5lib" ; then
+  for cf_add_libdir in /usr/5lib
+  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}:9262: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
+
+      LIBS="$LIBS -lcurses -ltermcap"
+    fi
+    ac_cv_func_initscr=yes
+    ;;
 esac
 
 if test ".$ac_cv_func_initscr" != .yes ; then
-	cf_save_LIBS="$LIBS"
-	cf_term_lib=""
-	cf_curs_lib=""
-
-	if test ".${cf_cv_ncurses_version-no}" != .no
-	then
-		cf_check_list="ncurses curses cursesX"
-	else
-		cf_check_list="cursesX curses ncurses"
-	fi
+    cf_save_LIBS="$LIBS"
+    cf_term_lib=""
+    cf_curs_lib=""
+
+    if test ".${cf_cv_ncurses_version-no}" != .no
+    then
+        cf_check_list="ncurses curses cursesX"
+    else
+        cf_check_list="cursesX curses ncurses"
+    fi
 
-	# Check for library containing tgoto.  Do this before curses library
-	# because it may be needed to link the test-case for initscr.
-	echo $ac_n "checking for tgoto""... $ac_c" 1>&6
-echo "configure:8091: checking for tgoto" >&5
+    # Check for library containing tgoto.  Do this before curses library
+    # because it may be needed to link the test-case for initscr.
+    echo $ac_n "checking for tgoto""... $ac_c" 1>&6
+echo "configure:9292: checking for tgoto" >&5
 if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8096 "configure"
+#line 9297 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char tgoto(); below.  */
@@ -8115,7 +9316,7 @@ tgoto();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_tgoto=yes"
 else
@@ -8133,10 +9334,10 @@ if eval "test \"`echo '$ac_cv_func_'tgot
 else
   echo "$ac_t""no" 1>&6
 
-		for cf_term_lib in $cf_check_list termcap termlib unknown
-		do
-			echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6
-echo "configure:8140: checking for tgoto in -l$cf_term_lib" >&5
+        for cf_term_lib in $cf_check_list termcap termlib unknown
+        do
+            echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6
+echo "configure:9341: checking for tgoto in -l$cf_term_lib" >&5
 ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8144,7 +9345,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$cf_term_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8148 "configure"
+#line 9349 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8155,7 +9356,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:8159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9360: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8175,17 +9376,17 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-		done
-	
+        done
+    
 fi
 
 
-	# Check for library containing initscr
-	test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
-	for cf_curs_lib in $cf_check_list xcurses jcurses unknown
-	do
-		echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6
-echo "configure:8189: checking for initscr in -l$cf_curs_lib" >&5
+    # Check for library containing initscr
+    test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
+    for cf_curs_lib in $cf_check_list xcurses jcurses unknown
+    do
+        echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6
+echo "configure:9390: checking for initscr in -l$cf_curs_lib" >&5
 ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8193,7 +9394,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$cf_curs_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8197 "configure"
+#line 9398 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8204,7 +9405,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:8208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8224,22 +9425,22 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-	done
-	test $cf_curs_lib = unknown && { echo "configure: error: no curses library found" 1>&2; exit 1; }
+    done
+    test $cf_curs_lib = unknown && { echo "configure: error: no curses library found" 1>&2; exit 1; }
 
-	LIBS="-l$cf_curs_lib $cf_save_LIBS"
-	if test "$cf_term_lib" = unknown ; then
-		echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6
-echo "configure:8234: checking if we can link with $cf_curs_lib library" >&5
-		cat > conftest.$ac_ext <<EOF
-#line 8236 "configure"
+    LIBS="-l$cf_curs_lib $cf_save_LIBS"
+    if test "$cf_term_lib" = unknown ; then
+        echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6
+echo "configure:9435: checking if we can link with $cf_curs_lib library" >&5
+        cat > conftest.$ac_ext <<EOF
+#line 9437 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:8243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -8249,22 +9450,22 @@ else
   cf_result=no
 fi
 rm -f conftest*
-		echo "$ac_t""$cf_result" 1>&6
-		test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; }
-	elif test "$cf_curs_lib" = "$cf_term_lib" ; then
-		:
-	elif test "$cf_term_lib" != predefined ; then
-		echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6
-echo "configure:8259: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
-		cat > conftest.$ac_ext <<EOF
-#line 8261 "configure"
+        echo "$ac_t""$cf_result" 1>&6
+        test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; }
+    elif test "$cf_curs_lib" = "$cf_term_lib" ; then
+        :
+    elif test "$cf_term_lib" != predefined ; then
+        echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6
+echo "configure:9460: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
+        cat > conftest.$ac_ext <<EOF
+#line 9462 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr(); tgoto((char *)0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:8268: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=no
 else
@@ -8272,16 +9473,16 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   
-			LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
-			cat > conftest.$ac_ext <<EOF
-#line 8278 "configure"
+            LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
+            cat > conftest.$ac_ext <<EOF
+#line 9479 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:8285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9486: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -8291,18 +9492,18 @@ else
   cf_result=error
 fi
 rm -f conftest*
-			
+            
 fi
 rm -f conftest*
-		echo "$ac_t""$cf_result" 1>&6
-	fi
+        echo "$ac_t""$cf_result" 1>&6
+    fi
 fi
 fi
 
 
 		
 echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:8306: checking for ncurses version" >&5
+echo "configure:9507: checking for ncurses version" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8328,7 +9529,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:8332: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:9533: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
 	if test -f conftest.out ; then
 		cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
 		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
@@ -8337,7 +9538,7 @@ EOF
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 8341 "configure"
+#line 9542 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -8358,10 +9559,10 @@ int main()
 	make an error
 # endif
 #endif
-	exit(0);
+	${cf_cv_main_return-return}(0);
 }
 EOF
-if { (eval echo configure:8365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9566: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -8384,13 +9585,13 @@ EOF
 
 		
 echo $ac_n "checking if we must define _XOPEN_SOURCE_EXTENDED""... $ac_c" 1>&6
-echo "configure:8388: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
+echo "configure:9589: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
 if eval "test \"`echo '$''{'cf_cv_need_xopen_extension'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 8394 "configure"
+#line 9595 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -8402,7 +9603,7 @@ int main() {
 	getbegyx(stdscr, y1, x1)
 ; return 0; }
 EOF
-if { (eval echo configure:8406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_need_xopen_extension=no
 else
@@ -8410,7 +9611,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 8414 "configure"
+#line 9615 "configure"
 #include "confdefs.h"
 
 #define _XOPEN_SOURCE_EXTENDED
@@ -8423,7 +9624,7 @@ int main() {
 	getbegyx(stdscr, y1, x1)
 ; return 0; }
 EOF
-if { (eval echo configure:8427: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_need_xopen_extension=yes
 else
@@ -8446,7 +9647,7 @@ fi
 
 ## substitute externally-installed PCRE library for our bundled version
 echo $ac_n "checking if you want to use installed version of pcre""... $ac_c" 1>&6
-echo "configure:8450: checking if you want to use installed version of pcre" >&5
+echo "configure:9651: checking if you want to use installed version of pcre" >&5
 
 # Check whether --with-pcre or --without-pcre was given.
 if test "${with_pcre+set}" = set; then
@@ -8464,7 +9665,12 @@ PCREDIR_LIBS=
 PCREDIR_CPPFLAGS=
 case .$cf_pcre_home in #(vi
 .no) #(vi
-	# setup to compile the bundled PCRE:
+	# setup to compile the bundled PCRE.  "version.sh" is not provided by
+    # upstream; the user of this macro must provide it.
+#	. $srcdir/pcre/version.sh
+	
+	
+	
 	
 	;;
 .yes) #(vi
@@ -8520,120 +9726,308 @@ fi
 ## debugging libraries (do this after other libraries)
 debug_malloc=none
 
-echo $ac_n "checking if you want to link with dbmalloc for testing""... $ac_c" 1>&6
-echo "configure:8525: checking if you want to link with dbmalloc for testing" >&5
+
+echo $ac_n "checking if you want to use dbmalloc for testing""... $ac_c" 1>&6
+echo "configure:9732: checking if you want to use dbmalloc for testing" >&5
 
 # Check whether --with-dbmalloc or --without-dbmalloc was given.
 if test "${with_dbmalloc+set}" = set; then
   withval="$with_dbmalloc"
-  with_dbmalloc=$withval
+  cat >> confdefs.h <<\EOF
+#define USE_DBMALLOC 1
+EOF
+
+	 
+
+	: ${with_cflags:=-g}
+	: ${with_no_leaks:=yes}
+	 with_dbmalloc=yes
+else
+  with_dbmalloc=
+fi
+
+echo "$ac_t""${with_dbmalloc:-no}" 1>&6
+
+case .$with_cflags in #(vi
+.*-g*)
+	case .$CFLAGS in #(vi
+	.*-g*) #(vi
+		;;
+	*)
+		
+cf_fix_cppflags=no
+cf_new_cflags=
+cf_new_cppflags=
+cf_new_extra_cppflags=
+
+for cf_add_cflags in -g
+do
+case $cf_fix_cppflags in
+no)
+	case $cf_add_cflags in #(vi
+	-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+		case $cf_add_cflags in
+		-D*)
+			cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+			test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+			&& test -z "${cf_tst_cflags}" \
+			&& cf_fix_cppflags=yes
+
+			if test $cf_fix_cppflags = yes ; then
+				cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+				continue
+			elif test "${cf_tst_cflags}" = "\"'" ; then
+				cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+				continue
+			fi
+			;;
+		esac
+		case "$CPPFLAGS" in
+		*$cf_add_cflags) #(vi
+			;;
+		*) #(vi
+			cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+			;;
+		esac
+		;;
+	*)
+		cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+		;;
+	esac
+	;;
+yes)
+	cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+
+	cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+
+	test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+	&& test -z "${cf_tst_cflags}" \
+	&& cf_fix_cppflags=no
+	;;
+esac
+done
+
+if test -n "$cf_new_cflags" ; then
+	
+	CFLAGS="$CFLAGS $cf_new_cflags"
+fi
+
+if test -n "$cf_new_cppflags" ; then
+	
+	CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
+fi
+
+if test -n "$cf_new_extra_cppflags" ; then
+	
+	EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+fi
+
+
+
+
+		;;
+	esac
+	;;
+esac
+
+
+if test "$with_dbmalloc" = yes ; then
+	ac_safe=`echo "dbmalloc.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for dbmalloc.h""... $ac_c" 1>&6
+echo "configure:9839: checking for dbmalloc.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 9844 "configure"
+#include "confdefs.h"
+#include <dbmalloc.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9849: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  echo $ac_n "checking for debug_malloc in -ldbmalloc""... $ac_c" 1>&6
+echo "configure:9866: checking for debug_malloc in -ldbmalloc" >&5
+ac_lib_var=`echo dbmalloc'_'debug_malloc | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldbmalloc  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 9874 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char debug_malloc();
+
+int main() {
+debug_malloc()
+; return 0; }
+EOF
+if { (eval echo configure:9885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  debug_malloc=DBMALLOC
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+
+
+echo $ac_n "checking if you want to use dmalloc for testing""... $ac_c" 1>&6
+echo "configure:9914: checking if you want to use dmalloc for testing" >&5
+
+# Check whether --with-dmalloc or --without-dmalloc was given.
+if test "${with_dmalloc+set}" = set; then
+  withval="$with_dmalloc"
+  cat >> confdefs.h <<\EOF
+#define USE_DMALLOC 1
+EOF
+
+	 
+
+	: ${with_cflags:=-g}
+	: ${with_no_leaks:=yes}
+	 with_dmalloc=yes
 else
-  with_dbmalloc=no
+  with_dmalloc=
 fi
 
-echo "$ac_t""$with_dbmalloc" 1>&6
-if test "$with_dbmalloc" = yes ; then
-	ac_safe=`echo "dbmalloc.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for dbmalloc.h""... $ac_c" 1>&6
-echo "configure:8539: checking for dbmalloc.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 8544 "configure"
-#include "confdefs.h"
-#include <dbmalloc.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8549: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
+echo "$ac_t""${with_dmalloc:-no}" 1>&6
+
+case .$with_cflags in #(vi
+.*-g*)
+	case .$CFLAGS in #(vi
+	.*-g*) #(vi
+		;;
+	*)
+		
+cf_fix_cppflags=no
+cf_new_cflags=
+cf_new_cppflags=
+cf_new_extra_cppflags=
+
+for cf_add_cflags in -g
+do
+case $cf_fix_cppflags in
+no)
+	case $cf_add_cflags in #(vi
+	-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+		case $cf_add_cflags in
+		-D*)
+			cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+
+			test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+			&& test -z "${cf_tst_cflags}" \
+			&& cf_fix_cppflags=yes
+
+			if test $cf_fix_cppflags = yes ; then
+				cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+				continue
+			elif test "${cf_tst_cflags}" = "\"'" ; then
+				cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+				continue
+			fi
+			;;
+		esac
+		case "$CPPFLAGS" in
+		*$cf_add_cflags) #(vi
+			;;
+		*) #(vi
+			cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+			;;
+		esac
+		;;
+	*)
+		cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+		;;
+	esac
+	;;
+yes)
+	cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+
+	cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+
+	test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+	&& test -z "${cf_tst_cflags}" \
+	&& cf_fix_cppflags=no
+	;;
+esac
+done
+
+if test -n "$cf_new_cflags" ; then
+	
+	CFLAGS="$CFLAGS $cf_new_cflags"
 fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  echo $ac_n "checking for debug_malloc in -ldbmalloc""... $ac_c" 1>&6
-echo "configure:8566: checking for debug_malloc in -ldbmalloc" >&5
-ac_lib_var=`echo dbmalloc'_'debug_malloc | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldbmalloc  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 8574 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char debug_malloc();
 
-int main() {
-debug_malloc()
-; return 0; }
-EOF
-if { (eval echo configure:8585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
+if test -n "$cf_new_cppflags" ; then
+	
+	CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
 fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
 
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  debug_malloc=DBMALLOC
-else
-  echo "$ac_t""no" 1>&6
+if test -n "$cf_new_extra_cppflags" ; then
+	
+	EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
 fi
 
-else
-  echo "$ac_t""no" 1>&6
-fi
 
-fi
 
 
-echo $ac_n "checking if you want to link with dmalloc for testing""... $ac_c" 1>&6
-echo "configure:8613: checking if you want to link with dmalloc for testing" >&5
+		;;
+	esac
+	;;
+esac
 
-# Check whether --with-dmalloc or --without-dmalloc was given.
-if test "${with_dmalloc+set}" = set; then
-  withval="$with_dmalloc"
-  with_dmalloc=$withval
-else
-  with_dmalloc=no
-fi
 
-echo "$ac_t""$with_dmalloc" 1>&6
 if test "$with_dmalloc" = yes ; then
 	ac_safe=`echo "dmalloc.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for dmalloc.h""... $ac_c" 1>&6
-echo "configure:8627: checking for dmalloc.h" >&5
+echo "configure:10021: checking for dmalloc.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8632 "configure"
+#line 10026 "configure"
 #include "confdefs.h"
 #include <dmalloc.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8637: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8650,7 +10044,7 @@ fi
 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for dmalloc_debug in -ldmalloc""... $ac_c" 1>&6
-echo "configure:8654: checking for dmalloc_debug in -ldmalloc" >&5
+echo "configure:10048: checking for dmalloc_debug in -ldmalloc" >&5
 ac_lib_var=`echo dmalloc'_'dmalloc_debug | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8658,7 +10052,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldmalloc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8662 "configure"
+#line 10056 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8669,7 +10063,7 @@ int main() {
 dmalloc_debug()
 ; return 0; }
 EOF
-if { (eval echo configure:8673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10067: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8696,31 +10090,18 @@ fi
 fi
 
 
-echo $ac_n "checking if you want debugging-trace""... $ac_c" 1>&6
-echo "configure:8701: checking if you want debugging-trace" >&5
 
 # Check whether --with-trace or --without-trace was given.
 if test "${with_trace+set}" = set; then
   withval="$with_trace"
-  use_trace=yes
-else
-  use_trace=no
-fi
-
-echo "$ac_t""$use_trace" 1>&6
-if test "$use_trace" = yes ; then
-	cat >> confdefs.h <<\EOF
-#define USE_TRACE 1
-EOF
-
-	EXTRAOBJS="$EXTRAOBJS trace.o"
+  
 	echo $ac_n "checking for _tracef""... $ac_c" 1>&6
-echo "configure:8719: checking for _tracef" >&5
+echo "configure:10100: checking for _tracef" >&5
 if eval "test \"`echo '$''{'ac_cv_func__tracef'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8724 "configure"
+#line 10105 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _tracef(); below.  */
@@ -8743,7 +10124,7 @@ _tracef();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func__tracef=yes"
 else
@@ -8765,7 +10146,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for _tracef in -l${cf_with_screen}_g""... $ac_c" 1>&6
-echo "configure:8769: checking for _tracef in -l${cf_with_screen}_g" >&5
+echo "configure:10150: checking for _tracef in -l${cf_with_screen}_g" >&5
 ac_lib_var=`echo ${cf_with_screen}_g'_'_tracef | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8773,7 +10154,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l${cf_with_screen}_g  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8777 "configure"
+#line 10158 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8784,7 +10165,7 @@ int main() {
 _tracef()
 ; return 0; }
 EOF
-if { (eval echo configure:8788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8805,18 +10186,30 @@ EOF
 
 		 LIBS=`echo "$LIBS" | sed -e s/-l${cf_with_screen}// -e s/-lcurses//`
 		 LIBS="-l${cf_with_screen}_g $LIBS"
+		 use_trace=yes
+		 cat >> confdefs.h <<\EOF
+#define USE_TRACE 1
+EOF
+
+		 EXTRAOBJS="$EXTRAOBJS trace.o"
 else
   echo "$ac_t""no" 1>&6
+use_trace=no
 fi
 
 fi
 
+else
+  use_trace=no
 fi
 
+#AC_MSG_CHECKING(if you want debugging-trace)
+#AC_MSG_RESULT($use_trace)
+
 
 ## options for miscellaneous definitions
 echo $ac_n "checking for domain-name""... $ac_c" 1>&6
-echo "configure:8820: checking for domain-name" >&5
+echo "configure:10213: checking for domain-name" >&5
 
 # Check whether --with-domain-name or --without-domain-name was given.
 if test "${with_domain_name+set}" = set; then
@@ -8845,7 +10238,7 @@ echo "$ac_t""$DOMAIN_NAME" 1>&6
 
 if test "$USE_NNTP" = "yes" ; then
 echo $ac_n "checking for NNTP default-server""... $ac_c" 1>&6
-echo "configure:8849: checking for NNTP default-server" >&5
+echo "configure:10242: checking for NNTP default-server" >&5
 
 # Check whether --with-nntp-default-server or --without-nntp-default-server was given.
 if test "${with_nntp_default_server+set}" = set; then
@@ -8911,7 +10304,7 @@ EOF
 
 ## optional features
 echo $ac_n "checking whether to use MH style mail handling for mailgroups""... $ac_c" 1>&6
-echo "configure:8915: checking whether to use MH style mail handling for mailgroups" >&5
+echo "configure:10308: checking whether to use MH style mail handling for mailgroups" >&5
 
 # Check whether --enable-mh-mail-handling or --disable-mh-mail-handling was given.
 if test "${enable_mh_mail_handling+set}" = set; then
@@ -8929,8 +10322,146 @@ fi
 
 echo "$ac_t""$enableval" 1>&6
 
+CAN_MAKEFILE=
+CANDIR_MAKE=
+echo $ac_n "checking whether to use Cancel-Locks""... $ac_c" 1>&6
+echo "configure:10329: checking whether to use Cancel-Locks" >&5
+
+# Check whether --enable-cancel-locks or --disable-cancel-locks was given.
+if test "${enable_cancel_locks+set}" = set; then
+  enableval="$enable_cancel_locks"
+  test "$enableval" != yes && enableval=no
+  if test "$enableval" != "no" ; then
+    CANLIBS='-L../libcanlock -lcanlock'
+	CAN_MAKEFILE="libcanlock/Makefile"
+	cat >> confdefs.h <<\EOF
+#define USE_CANLOCK 1
+EOF
+ 
+  else
+    CANDIR_MAKE='#'
+	CANLIBS=''
+  fi
+else
+  enableval=no 
+  CANDIR_MAKE='#'
+	CANLIBS=''
+  
+fi
+
+echo "$ac_t""$enableval" 1>&6
+
+
+
+## gsasl - used for AUTH SASL PLAIN
+GSASL_LIBS=
+ac_safe=`echo "gsasl.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for gsasl.h""... $ac_c" 1>&6
+echo "configure:10361: checking for gsasl.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 10366 "configure"
+#include "confdefs.h"
+#include <gsasl.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:10371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  echo $ac_n "checking for gsasl_check_version in -lgsasl""... $ac_c" 1>&6
+echo "configure:10388: checking for gsasl_check_version in -lgsasl" >&5
+ac_lib_var=`echo gsasl'_'gsasl_check_version | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lgsasl  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 10396 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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();
+
+int main() {
+gsasl_check_version()
+; return 0; }
+EOF
+if { (eval echo configure:10407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  gsasl=yes
+else
+  echo "$ac_t""no" 1>&6
+gsasl=no
+fi
+
+else
+  echo "$ac_t""no" 1>&6
+gsasl=no
+fi
+
+if test "$gsasl" = "yes"; then
+	
+# Check whether --enable-gsasl or --disable-gsasl was given.
+if test "${enable_gsasl+set}" = set; then
+  enableval="$enable_gsasl"
+  test "$enableval" != no && enableval=yes
+  if test "$enableval" != "yes" ; then
+    USE_SASL=no 
+  else
+    USE_SASL=yes
+		cat >> confdefs.h <<\EOF
+#define USE_SASL 1
+EOF
+
+		GSASL_LIBS='-lgsasl'
+  fi
+else
+  enableval=yes 
+  USE_SASL=yes
+		cat >> confdefs.h <<\EOF
+#define USE_SASL 1
+EOF
+
+		GSASL_LIBS='-lgsasl'
+  
+fi
+
+fi
+
+
+
 echo $ac_n "checking whether to enable 8-bit keycodes""... $ac_c" 1>&6
-echo "configure:8934: checking whether to enable 8-bit keycodes" >&5
+echo "configure:10465: checking whether to enable 8-bit keycodes" >&5
 
 # Check whether --enable-8bit-keys or --disable-8bit-keys was given.
 if test "${enable_8bit_keys+set}" = set; then
@@ -8956,7 +10487,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to enable ANSI-color""... $ac_c" 1>&6
-echo "configure:8960: checking whether to enable ANSI-color" >&5
+echo "configure:10491: checking whether to enable ANSI-color" >&5
 
 # Check whether --enable-color or --disable-color was given.
 if test "${enable_color+set}" = set; then
@@ -8973,7 +10504,7 @@ use_color=$enableval
 echo "$ac_t""$use_color" 1>&6
 
 echo $ac_n "checking whether to enable posting-etiquette""... $ac_c" 1>&6
-echo "configure:8977: checking whether to enable posting-etiquette" >&5
+echo "configure:10508: checking whether to enable posting-etiquette" >&5
 
 # Check whether --enable-etiquette or --disable-etiquette was given.
 if test "${enable_etiquette+set}" = set; then
@@ -8992,7 +10523,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to strictly observe RFC2047 and break long lines""... $ac_c" 1>&6
-echo "configure:8996: checking whether to strictly observe RFC2047 and break long lines" >&5
+echo "configure:10527: checking whether to strictly observe RFC2047 and break long lines" >&5
 
 # Check whether --enable-break-long-lines or --disable-break-long-lines was given.
 if test "${enable_break_long_lines+set}" = set; then
@@ -9011,7 +10542,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to force MM_CHARSET obeyance when decoding mime""... $ac_c" 1>&6
-echo "configure:9015: checking whether to force MM_CHARSET obeyance when decoding mime" >&5
+echo "configure:10546: checking whether to force MM_CHARSET obeyance when decoding mime" >&5
 
 # Check whether --enable-mime-strict-charset or --disable-mime-strict-charset was given.
 if test "${enable_mime_strict_charset+set}" = set; then
@@ -9037,7 +10568,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking for MIME character-set""... $ac_c" 1>&6
-echo "configure:9041: checking for MIME character-set" >&5
+echo "configure:10572: checking for MIME character-set" >&5
 
 # Check whether --with-mime-default-charset or --without-mime-default-charset was given.
 if test "${with_mime_default_charset+set}" = set; then
@@ -9059,7 +10590,7 @@ EOF
 echo "$ac_t""$MM_CHARSET" 1>&6
 
 echo $ac_n "checking for default ISO/ASCII table""... $ac_c" 1>&6
-echo "configure:9063: checking for default ISO/ASCII table" >&5
+echo "configure:10594: checking for default ISO/ASCII table" >&5
 
 # Check whether --with-iso-to-ascii or --without-iso-to-ascii was given.
 if test "${with_iso_to_ascii+set}" = set; then
@@ -9081,7 +10612,7 @@ EOF
 echo "$ac_t""$DEFAULT_ISO2ASC" 1>&6
 
 echo $ac_n "checking whether to enable locale support""... $ac_c" 1>&6
-echo "configure:9085: checking whether to enable locale support" >&5
+echo "configure:10616: checking whether to enable locale support" >&5
 
 # Check whether --enable-locale or --disable-locale was given.
 if test "${enable_locale+set}" = set; then
@@ -9096,11 +10627,16 @@ EOF
 else
   enableval=yes   
 fi
-
+#, # TODO fixme!
+#	[ case "$host_os" in
+#	*cygwin*)
+#	AC_DEFINE(NO_LOCALE)
+#	;;
+#	esac])
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to enable posting""... $ac_c" 1>&6
-echo "configure:9104: checking whether to enable posting" >&5
+echo "configure:10640: checking whether to enable posting" >&5
 
 # Check whether --enable-posting or --disable-posting was given.
 if test "${enable_posting+set}" = set; then
@@ -9119,7 +10655,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to enable shell escape""... $ac_c" 1>&6
-echo "configure:9123: checking whether to enable shell escape" >&5
+echo "configure:10659: checking whether to enable shell escape" >&5
 
 # Check whether --enable-shell-escape or --disable-shell-escape was given.
 if test "${enable_shell_escape+set}" = set; then
@@ -9138,7 +10674,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to have fascist newsadmin""... $ac_c" 1>&6
-echo "configure:9142: checking whether to have fascist newsadmin" >&5
+echo "configure:10678: checking whether to have fascist newsadmin" >&5
 
 # Check whether --enable-fascist-newsadmin or --disable-fascist-newsadmin was given.
 if test "${enable_fascist_newsadmin+set}" = set; then
@@ -9157,7 +10693,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to enable inverse video and highlighting""... $ac_c" 1>&6
-echo "configure:9161: checking whether to enable inverse video and highlighting" >&5
+echo "configure:10697: checking whether to enable inverse video and highlighting" >&5
 
 # Check whether --enable-inverse-video or --disable-inverse-video was given.
 if test "${enable_inverse_video+set}" = set; then
@@ -9176,7 +10712,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to enable piping support""... $ac_c" 1>&6
-echo "configure:9180: checking whether to enable piping support" >&5
+echo "configure:10716: checking whether to enable piping support" >&5
 
 # Check whether --enable-piping or --disable-piping was given.
 if test "${enable_piping+set}" = set; then
@@ -9195,7 +10731,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to enable printer support""... $ac_c" 1>&6
-echo "configure:9199: checking whether to enable printer support" >&5
+echo "configure:10735: checking whether to enable printer support" >&5
 
 # Check whether --enable-printing or --disable-printing was given.
 if test "${enable_printing+set}" = set; then
@@ -9214,7 +10750,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to unique tmp-files by appending .pid""... $ac_c" 1>&6
-echo "configure:9218: checking whether to unique tmp-files by appending .pid" >&5
+echo "configure:10754: checking whether to unique tmp-files by appending .pid" >&5
 
 # Check whether --enable-append-pid or --disable-append-pid was given.
 if test "${enable_append_pid+set}" = set; then
@@ -9240,7 +10776,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking whether to fallback to XHDR XREF if XOVER isn't supported""... $ac_c" 1>&6
-echo "configure:9244: checking whether to fallback to XHDR XREF if XOVER isn't supported" >&5
+echo "configure:10780: checking whether to fallback to XHDR XREF if XOVER isn't supported" >&5
 
 # Check whether --enable-xhdr-xref or --disable-xhdr-xref was given.
 if test "${enable_xhdr_xref+set}" = set; then
@@ -9267,7 +10803,7 @@ echo "$ac_t""$enableval" 1>&6
 
 ### bypass a bug in old versions of leafnode & NNTPcache
 echo $ac_n "checking whether to send a GROUP command before a LISTGROUP""... $ac_c" 1>&6
-echo "configure:9271: checking whether to send a GROUP command before a LISTGROUP" >&5
+echo "configure:10807: checking whether to send a GROUP command before a LISTGROUP" >&5
 
 # Check whether --enable-broken-listgroup-fix or --disable-broken-listgroup-fix was given.
 if test "${enable_broken_listgroup_fix+set}" = set; then
@@ -9287,7 +10823,7 @@ echo "$ac_t""$enableval" 1>&6
 
 ### on some old systems the WIFEXITED()/WEXITSTATUS() macros do not work
 echo $ac_n "checking whether to ignore system()s return value""... $ac_c" 1>&6
-echo "configure:9291: checking whether to ignore system()s return value" >&5
+echo "configure:10827: checking whether to ignore system()s return value" >&5
 
 # Check whether --enable-broken-system-fix or --disable-broken-system-fix was given.
 if test "${enable_broken_system_fix+set}" = set; then
@@ -9307,7 +10843,7 @@ echo "$ac_t""$enableval" 1>&6
 
 ### checks for the location of the system-wide default setting file
 echo $ac_n "checking for directory containing tin.defaults file""... $ac_c" 1>&6
-echo "configure:9311: checking for directory containing tin.defaults file" >&5
+echo "configure:10847: checking for directory containing tin.defaults file" >&5
 
 # Check whether --with-defaults-dir or --without-defaults-dir was given.
 if test "${with_defaults_dir+set}" = set; then
@@ -9316,6 +10852,7 @@ if test "${with_defaults_dir+set}" = set
 else
   withval="${TIN_DEFAULTS_DIR-/etc/tin}"
 fi
+if true ; then
 
 if test "x$prefix" != xNONE; then
   cf_path_syntax="$prefix"
@@ -9346,6 +10883,7 @@ case ".$withval" in #(vi
   ;;
 esac
 
+fi
 TIN_DEFAULTS_DIR="$withval"
 
 echo "$ac_t""$TIN_DEFAULTS_DIR" 1>&6
@@ -9356,7 +10894,7 @@ EOF
 
 ### check for ipv6 support
 echo $ac_n "checking whether to enable IPv6""... $ac_c" 1>&6
-echo "configure:9360: checking whether to enable IPv6" >&5
+echo "configure:10898: checking whether to enable IPv6" >&5
 
 # Check whether --enable-ipv6 or --disable-ipv6 was given.
 if test "${enable_ipv6+set}" = set; then
@@ -9377,7 +10915,7 @@ if test "$enableval" = "yes"; then
 	
 
 echo $ac_n "checking ipv6 stack type""... $ac_c" 1>&6
-echo "configure:9381: checking ipv6 stack type" >&5
+echo "configure:10919: checking ipv6 stack type" >&5
 if eval "test \"`echo '$''{'cf_cv_ipv6type'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9397,7 +10935,7 @@ do
 		;;
 	inria) #(vi
 				cat > conftest.$ac_ext <<EOF
-#line 9401 "configure"
+#line 10939 "configure"
 #include "confdefs.h"
 
 #include <netinet/in.h>
@@ -9415,7 +10953,7 @@ rm -f conftest*
 		;;
 	kame) #(vi
 				cat > conftest.$ac_ext <<EOF
-#line 9419 "configure"
+#line 10957 "configure"
 #include "confdefs.h"
 
 #include <netinet/in.h>
@@ -9433,7 +10971,7 @@ rm -f conftest*
 		;;
 	linux-glibc) #(vi
 				cat > conftest.$ac_ext <<EOF
-#line 9437 "configure"
+#line 10975 "configure"
 #include "confdefs.h"
 
 #include <features.h>
@@ -9460,7 +10998,7 @@ rm -f conftest*
 		;;
 	toshiba) #(vi
 		cat > conftest.$ac_ext <<EOF
-#line 9464 "configure"
+#line 11002 "configure"
 #include "confdefs.h"
 
 #include <sys/param.h>
@@ -9478,7 +11016,7 @@ rm -f conftest*
 		;;
 	v6d) #(vi
 		cat > conftest.$ac_ext <<EOF
-#line 9482 "configure"
+#line 11020 "configure"
 #include "confdefs.h"
 
 #include </usr/local/v6/include/sys/v6config.h>
@@ -9496,7 +11034,7 @@ rm -f conftest*
 		;;
 	zeta)
 		cat > conftest.$ac_ext <<EOF
-#line 9500 "configure"
+#line 11038 "configure"
 #include "confdefs.h"
 
 #include <sys/param.h>
@@ -9529,7 +11067,7 @@ cf_ipv6lib=none
 cf_ipv6dir=none
 
 echo $ac_n "checking for IPv6 library if required""... $ac_c" 1>&6
-echo "configure:9533: checking for IPv6 library if required" >&5
+echo "configure:11071: checking for IPv6 library if required" >&5
 case $cf_cv_ipv6type in #(vi
 solaris) #(vi
 	;;
@@ -9563,7 +11101,7 @@ echo "$ac_t""$cf_ipv6lib" 1>&6
 if test "$cf_ipv6lib" != "none"; then
 
 	cat > conftest.$ac_ext <<EOF
-#line 9567 "configure"
+#line 11105 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9574,7 +11112,7 @@ int main() {
 getaddrinfo(0, 0, 0, 0)
 ; return 0; }
 EOF
-if { (eval echo configure:9578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -9583,34 +11121,23 @@ else
   
 	cf_search=""
 
-test -d $HOME && {
-	test -n "$verbose" && echo "	... testing include-directories under $HOME"
-	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
-	test -d $HOME/include/$cf_ipv6dir &&       cf_search="$cf_search $HOME/include/$cf_ipv6dir"
-	test -d $HOME/include/$cf_ipv6dir/include &&    cf_search="$cf_search $HOME/include/$cf_ipv6dir/include"
-}
 
-# For other stuff under the home directory, it should be sufficient to put
-# a symbolic link for $HOME/$cf_ipv6dir to the actual package location:
-test -d $HOME/$cf_ipv6dir && {
-	test -n "$verbose" && echo "	... testing include-directories under $HOME/$cf_ipv6dir"
-	test -d $HOME/$cf_ipv6dir/include &&       cf_search="$cf_search $HOME/$cf_ipv6dir/include"
-	test -d $HOME/$cf_ipv6dir/include/$cf_ipv6dir &&    cf_search="$cf_search $HOME/$cf_ipv6dir/include/$cf_ipv6dir"
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr"
+	test -d /usr/include &&          cf_search="$cf_search /usr/include"
+	test -d /usr/include/$cf_ipv6dir &&       cf_search="$cf_search /usr/include/$cf_ipv6dir"
+	test -d /usr/include/$cf_ipv6dir/include &&    cf_search="$cf_search /usr/include/$cf_ipv6dir/include"
+	test -d /usr/$cf_ipv6dir/include &&       cf_search="$cf_search /usr/$cf_ipv6dir/include"
+	test -d /usr/$cf_ipv6dir/include/$cf_ipv6dir &&    cf_search="$cf_search /usr/$cf_ipv6dir/include/$cf_ipv6dir"
 }
 
-test "$prefix" != /usr/local && \
-test -d /usr/local && {
-	test -n "$verbose" && echo "	... testing include-directories under /usr/local"
-	test -d /usr/local/include &&       cf_search="$cf_search /usr/local/include"
-	test -d /usr/local/include/$cf_ipv6dir &&    cf_search="$cf_search /usr/local/include/$cf_ipv6dir"
-	test -d /usr/local/include/$cf_ipv6dir/include && cf_search="$cf_search /usr/local/include/$cf_ipv6dir/include"
-	test -d /usr/local/$cf_ipv6dir/include &&    cf_search="$cf_search /usr/local/$cf_ipv6dir/include"
-	test -d /usr/local/$cf_ipv6dir/include/$cf_ipv6dir && cf_search="$cf_search /usr/local/$cf_ipv6dir/include/$cf_ipv6dir"
-}
 
-test "$prefix" != NONE && \
-test -d $prefix && {
-	test -n "$verbose" && echo "	... testing include-directories under $prefix"
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for include-directories under $prefix"
 	test -d $prefix/include &&          cf_search="$cf_search $prefix/include"
 	test -d $prefix/include/$cf_ipv6dir &&       cf_search="$cf_search $prefix/include/$cf_ipv6dir"
 	test -d $prefix/include/$cf_ipv6dir/include &&    cf_search="$cf_search $prefix/include/$cf_ipv6dir/include"
@@ -9618,25 +11145,43 @@ test -d $prefix && {
 	test -d $prefix/$cf_ipv6dir/include/$cf_ipv6dir &&    cf_search="$cf_search $prefix/$cf_ipv6dir/include/$cf_ipv6dir"
 }
 
-test "$prefix" != /opt && \
-test -d /opt && {
-	test -n "$verbose" && echo "	... testing include-directories under /opt"
-	test -d /opt/include &&             cf_search="$cf_search /opt/include"
-	test -d /opt/include/$cf_ipv6dir &&          cf_search="$cf_search /opt/include/$cf_ipv6dir"
-	test -d /opt/include/$cf_ipv6dir/include &&       cf_search="$cf_search /opt/include/$cf_ipv6dir/include"
-	test -d /opt/$cf_ipv6dir/include &&          cf_search="$cf_search /opt/$cf_ipv6dir/include"
-	test -d /opt/$cf_ipv6dir/include/$cf_ipv6dir &&       cf_search="$cf_search /opt/$cf_ipv6dir/include/$cf_ipv6dir"
-}
-
-test "$prefix" != /usr && \
-test -d /usr && {
-	test -n "$verbose" && echo "	... testing include-directories under /usr"
-	test -d /usr/include &&             cf_search="$cf_search /usr/include"
-	test -d /usr/include/$cf_ipv6dir &&          cf_search="$cf_search /usr/include/$cf_ipv6dir"
-	test -d /usr/include/$cf_ipv6dir/include &&       cf_search="$cf_search /usr/include/$cf_ipv6dir/include"
-	test -d /usr/$cf_ipv6dir/include &&          cf_search="$cf_search /usr/$cf_ipv6dir/include"
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr/local"
+	test -d /usr/local/include &&          cf_search="$cf_search /usr/local/include"
+	test -d /usr/local/include/$cf_ipv6dir &&       cf_search="$cf_search /usr/local/include/$cf_ipv6dir"
+	test -d /usr/local/include/$cf_ipv6dir/include &&    cf_search="$cf_search /usr/local/include/$cf_ipv6dir/include"
+	test -d /usr/local/$cf_ipv6dir/include &&       cf_search="$cf_search /usr/local/$cf_ipv6dir/include"
+	test -d /usr/local/$cf_ipv6dir/include/$cf_ipv6dir &&    cf_search="$cf_search /usr/local/$cf_ipv6dir/include/$cf_ipv6dir"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /opt"
+	test -d /opt/include &&          cf_search="$cf_search /opt/include"
+	test -d /opt/include/$cf_ipv6dir &&       cf_search="$cf_search /opt/include/$cf_ipv6dir"
+	test -d /opt/include/$cf_ipv6dir/include &&    cf_search="$cf_search /opt/include/$cf_ipv6dir/include"
+	test -d /opt/$cf_ipv6dir/include &&       cf_search="$cf_search /opt/$cf_ipv6dir/include"
+	test -d /opt/$cf_ipv6dir/include/$cf_ipv6dir &&    cf_search="$cf_search /opt/$cf_ipv6dir/include/$cf_ipv6dir"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under $HOME"
+	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
+	test -d $HOME/include/$cf_ipv6dir &&       cf_search="$cf_search $HOME/include/$cf_ipv6dir"
+	test -d $HOME/include/$cf_ipv6dir/include &&    cf_search="$cf_search $HOME/include/$cf_ipv6dir/include"
+	test -d $HOME/$cf_ipv6dir/include &&       cf_search="$cf_search $HOME/$cf_ipv6dir/include"
+	test -d $HOME/$cf_ipv6dir/include/$cf_ipv6dir &&    cf_search="$cf_search $HOME/$cf_ipv6dir/include/$cf_ipv6dir"
 }
 
+
 test "$includedir" != NONE && \
 test "$includedir" != "/usr/include" && \
 test -d "$includedir" && {
@@ -9652,12 +11197,76 @@ test -d "$oldincludedir" && {
 }
 
 
-	for cf_incdir in $cf_search
-	do
-		cf_header=$cf_incdir/netinet/ip6.h
-		if test -f $cf_header
-		then
-			CPPFLAGS="$CPPFLAGS -I$cf_incdir"
+	for cf_incdir in $cf_search
+	do
+		cf_header=$cf_incdir/netinet/ip6.h
+		if test -f $cf_header
+		then
+			
+if test -n "$cf_incdir" ; then
+  for cf_add_incdir in $cf_incdir
+  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
+
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 11231 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int main() {
+printf("Hello")
+; return 0; }
+EOF
+if { (eval echo configure:11238: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_have_incdir=yes
+fi
+rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:11255: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
+fi
+
 			test -n "$verbose" && echo "	... found $cf_header" 1>&6
 			break
 		fi
@@ -9671,12 +11280,12 @@ rm -f conftest*
 	eval 'cf_cv_have_lib_'$cf_ipv6lib'=no'
 	cf_libdir=""
 	echo $ac_n "checking for getaddrinfo""... $ac_c" 1>&6
-echo "configure:9675: checking for getaddrinfo" >&5
+echo "configure:11284: checking for getaddrinfo" >&5
 if eval "test \"`echo '$''{'ac_cv_func_getaddrinfo'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9680 "configure"
+#line 11289 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char getaddrinfo(); below.  */
@@ -9699,7 +11308,7 @@ getaddrinfo();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_getaddrinfo=yes"
 else
@@ -9719,10 +11328,10 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for getaddrinfo in -l$cf_ipv6lib""... $ac_c" 1>&6
-echo "configure:9723: checking for getaddrinfo in -l$cf_ipv6lib" >&5
+echo "configure:11332: checking for getaddrinfo in -l$cf_ipv6lib" >&5
 		LIBS="-l$cf_ipv6lib $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 9726 "configure"
+#line 11335 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9733,7 +11342,7 @@ int main() {
 getaddrinfo(0, 0, 0, 0)
 ; return 0; }
 EOF
-if { (eval echo configure:9737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 eval 'cf_cv_have_lib_'$cf_ipv6lib'=yes'
@@ -9745,34 +11354,23 @@ else
   echo "$ac_t""no" 1>&6
 			cf_search=""
 
-test -d $HOME && {
-	test -n "$verbose" && echo "	... testing lib-directories under $HOME"
-	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
-	test -d $HOME/lib/$cf_ipv6dir &&       cf_search="$cf_search $HOME/lib/$cf_ipv6dir"
-	test -d $HOME/lib/$cf_ipv6dir/lib &&    cf_search="$cf_search $HOME/lib/$cf_ipv6dir/lib"
-}
 
-# For other stuff under the home directory, it should be sufficient to put
-# a symbolic link for $HOME/$cf_ipv6dir to the actual package location:
-test -d $HOME/$cf_ipv6dir && {
-	test -n "$verbose" && echo "	... testing lib-directories under $HOME/$cf_ipv6dir"
-	test -d $HOME/$cf_ipv6dir/lib &&       cf_search="$cf_search $HOME/$cf_ipv6dir/lib"
-	test -d $HOME/$cf_ipv6dir/lib/$cf_ipv6dir &&    cf_search="$cf_search $HOME/$cf_ipv6dir/lib/$cf_ipv6dir"
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr"
+	test -d /usr/lib &&          cf_search="$cf_search /usr/lib"
+	test -d /usr/lib/$cf_ipv6dir &&       cf_search="$cf_search /usr/lib/$cf_ipv6dir"
+	test -d /usr/lib/$cf_ipv6dir/lib &&    cf_search="$cf_search /usr/lib/$cf_ipv6dir/lib"
+	test -d /usr/$cf_ipv6dir/lib &&       cf_search="$cf_search /usr/$cf_ipv6dir/lib"
+	test -d /usr/$cf_ipv6dir/lib/$cf_ipv6dir &&    cf_search="$cf_search /usr/$cf_ipv6dir/lib/$cf_ipv6dir"
 }
 
-test "$prefix" != /usr/local && \
-test -d /usr/local && {
-	test -n "$verbose" && echo "	... testing lib-directories under /usr/local"
-	test -d /usr/local/lib &&       cf_search="$cf_search /usr/local/lib"
-	test -d /usr/local/lib/$cf_ipv6dir &&    cf_search="$cf_search /usr/local/lib/$cf_ipv6dir"
-	test -d /usr/local/lib/$cf_ipv6dir/lib && cf_search="$cf_search /usr/local/lib/$cf_ipv6dir/lib"
-	test -d /usr/local/$cf_ipv6dir/lib &&    cf_search="$cf_search /usr/local/$cf_ipv6dir/lib"
-	test -d /usr/local/$cf_ipv6dir/lib/$cf_ipv6dir && cf_search="$cf_search /usr/local/$cf_ipv6dir/lib/$cf_ipv6dir"
-}
 
-test "$prefix" != NONE && \
-test -d $prefix && {
-	test -n "$verbose" && echo "	... testing lib-directories under $prefix"
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for lib-directories under $prefix"
 	test -d $prefix/lib &&          cf_search="$cf_search $prefix/lib"
 	test -d $prefix/lib/$cf_ipv6dir &&       cf_search="$cf_search $prefix/lib/$cf_ipv6dir"
 	test -d $prefix/lib/$cf_ipv6dir/lib &&    cf_search="$cf_search $prefix/lib/$cf_ipv6dir/lib"
@@ -9780,32 +11378,50 @@ test -d $prefix && {
 	test -d $prefix/$cf_ipv6dir/lib/$cf_ipv6dir &&    cf_search="$cf_search $prefix/$cf_ipv6dir/lib/$cf_ipv6dir"
 }
 
-test "$prefix" != /opt && \
-test -d /opt && {
-	test -n "$verbose" && echo "	... testing lib-directories under /opt"
-	test -d /opt/lib &&             cf_search="$cf_search /opt/lib"
-	test -d /opt/lib/$cf_ipv6dir &&          cf_search="$cf_search /opt/lib/$cf_ipv6dir"
-	test -d /opt/lib/$cf_ipv6dir/lib &&       cf_search="$cf_search /opt/lib/$cf_ipv6dir/lib"
-	test -d /opt/$cf_ipv6dir/lib &&          cf_search="$cf_search /opt/$cf_ipv6dir/lib"
-	test -d /opt/$cf_ipv6dir/lib/$cf_ipv6dir &&       cf_search="$cf_search /opt/$cf_ipv6dir/lib/$cf_ipv6dir"
-}
-
-test "$prefix" != /usr && \
-test -d /usr && {
-	test -n "$verbose" && echo "	... testing lib-directories under /usr"
-	test -d /usr/lib &&             cf_search="$cf_search /usr/lib"
-	test -d /usr/lib/$cf_ipv6dir &&          cf_search="$cf_search /usr/lib/$cf_ipv6dir"
-	test -d /usr/lib/$cf_ipv6dir/lib &&       cf_search="$cf_search /usr/lib/$cf_ipv6dir/lib"
-	test -d /usr/$cf_ipv6dir/lib &&          cf_search="$cf_search /usr/$cf_ipv6dir/lib"
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr/local"
+	test -d /usr/local/lib &&          cf_search="$cf_search /usr/local/lib"
+	test -d /usr/local/lib/$cf_ipv6dir &&       cf_search="$cf_search /usr/local/lib/$cf_ipv6dir"
+	test -d /usr/local/lib/$cf_ipv6dir/lib &&    cf_search="$cf_search /usr/local/lib/$cf_ipv6dir/lib"
+	test -d /usr/local/$cf_ipv6dir/lib &&       cf_search="$cf_search /usr/local/$cf_ipv6dir/lib"
+	test -d /usr/local/$cf_ipv6dir/lib/$cf_ipv6dir &&    cf_search="$cf_search /usr/local/$cf_ipv6dir/lib/$cf_ipv6dir"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /opt"
+	test -d /opt/lib &&          cf_search="$cf_search /opt/lib"
+	test -d /opt/lib/$cf_ipv6dir &&       cf_search="$cf_search /opt/lib/$cf_ipv6dir"
+	test -d /opt/lib/$cf_ipv6dir/lib &&    cf_search="$cf_search /opt/lib/$cf_ipv6dir/lib"
+	test -d /opt/$cf_ipv6dir/lib &&       cf_search="$cf_search /opt/$cf_ipv6dir/lib"
+	test -d /opt/$cf_ipv6dir/lib/$cf_ipv6dir &&    cf_search="$cf_search /opt/$cf_ipv6dir/lib/$cf_ipv6dir"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under $HOME"
+	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
+	test -d $HOME/lib/$cf_ipv6dir &&       cf_search="$cf_search $HOME/lib/$cf_ipv6dir"
+	test -d $HOME/lib/$cf_ipv6dir/lib &&    cf_search="$cf_search $HOME/lib/$cf_ipv6dir/lib"
+	test -d $HOME/$cf_ipv6dir/lib &&       cf_search="$cf_search $HOME/$cf_ipv6dir/lib"
+	test -d $HOME/$cf_ipv6dir/lib/$cf_ipv6dir &&    cf_search="$cf_search $HOME/$cf_ipv6dir/lib/$cf_ipv6dir"
 }
 
+
 			for cf_libdir in $cf_search
 			do
 				echo $ac_n "checking for -l$cf_ipv6lib in $cf_libdir""... $ac_c" 1>&6
-echo "configure:9806: checking for -l$cf_ipv6lib in $cf_libdir" >&5
+echo "configure:11422: checking for -l$cf_ipv6lib in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -l$cf_ipv6lib $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 9809 "configure"
+#line 11425 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9816,7 +11432,7 @@ int main() {
 getaddrinfo(0, 0, 0, 0)
 ; return 0; }
 EOF
-if { (eval echo configure:9820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 		 eval 'cf_cv_have_lib_'$cf_ipv6lib'=yes'
@@ -9849,7 +11465,7 @@ fi
 
 
 echo $ac_n "checking working getaddrinfo""... $ac_c" 1>&6
-echo "configure:9853: checking working getaddrinfo" >&5
+echo "configure:11469: checking working getaddrinfo" >&5
 if eval "test \"`echo '$''{'cf_cv_getaddrinfo'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9858,7 +11474,7 @@ if test "$cross_compiling" = yes; then
   cf_cv_getaddrinfo=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 9862 "configure"
+#line 11478 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9928,16 +11544,16 @@ int main()
 
    if (aitop)
      freeaddrinfo(aitop);
-   exit(0);
+   ${cf_cv_main_return-return}(0);
 
   bad:
    if (aitop)
      freeaddrinfo(aitop);
-   exit(1);
+   ${cf_cv_main_return-return}(1);
 }
 
 EOF
-if { (eval echo configure:9941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:11557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_getaddrinfo=yes
 else
@@ -9981,12 +11597,12 @@ fi
 for ac_func in getaddrinfo getnameinfo
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9985: checking for $ac_func" >&5
+echo "configure:11601: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9990 "configure"
+#line 11606 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10009,7 +11625,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10038,7 +11654,7 @@ done
 
 ### checks for operator characteristics (should be the last option)
 echo $ac_n "checking whether to make a coffee while compiling""... $ac_c" 1>&6
-echo "configure:10042: checking whether to make a coffee while compiling" >&5
+echo "configure:11658: checking whether to make a coffee while compiling" >&5
 
 # Check whether --with-coffee or --without-coffee was given.
 if test "${with_coffee+set}" = set; then
@@ -10063,20 +11679,20 @@ fi
 ### checks for compiler characteristics
 
 echo $ac_n "checking for makeflags variable""... $ac_c" 1>&6
-echo "configure:10067: checking for makeflags variable" >&5
+echo "configure:11683: checking for makeflags variable" >&5
 if eval "test \"`echo '$''{'cf_cv_makeflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cf_cv_makeflags=''
-	for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)'
+	for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
 	do
 		cat >cf_makeflags.tmp <<CF_EOF
 SHELL = /bin/sh
 all :
 	@ echo '.$cf_option'
 CF_EOF
-		cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null`
+		cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null | sed -e 's,[ 	]*$,,'`
 		case "$cf_result" in
 		.*k)
 			cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
@@ -10109,12 +11725,12 @@ ac_link='${CC-cc} -o conftest${ac_exeext
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:10113: checking for working const" >&5
+echo "configure:11729: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10118 "configure"
+#line 11734 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -10163,7 +11779,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:10167: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -10184,21 +11800,21 @@ EOF
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:10188: checking for inline" >&5
+echo "configure:11804: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 10195 "configure"
+#line 11811 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:10202: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11818: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -10225,13 +11841,13 @@ esac
 
 
 echo $ac_n "checking for ansi token expansion/substitution""... $ac_c" 1>&6
-echo "configure:10229: checking for ansi token expansion/substitution" >&5
+echo "configure:11845: checking for ansi token expansion/substitution" >&5
 if eval "test \"`echo '$''{'cf_cv_cpp_expands'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 10235 "configure"
+#line 11851 "configure"
 #include "confdefs.h"
 
 #define string(n) #n
@@ -10239,7 +11855,7 @@ int main() {
 char *s = string(token)
 ; return 0; }
 EOF
-if { (eval echo configure:10243: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_cpp_expands=yes
 else
@@ -10260,13 +11876,13 @@ EOF
 
 
 echo $ac_n "checking for ansi token concatenation""... $ac_c" 1>&6
-echo "configure:10264: checking for ansi token concatenation" >&5
+echo "configure:11880: checking for ansi token concatenation" >&5
 if eval "test \"`echo '$''{'cf_cv_cpp_concats'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 10270 "configure"
+#line 11886 "configure"
 #include "confdefs.h"
 
 #define concat(a,b) a ## b
@@ -10274,7 +11890,7 @@ int main() {
 char *firstlast = "y", *s = concat(first,last)
 ; return 0; }
 EOF
-if { (eval echo configure:10278: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_cpp_concats=yes
 else
@@ -10295,20 +11911,20 @@ EOF
 
 
 echo $ac_n "checking if nested parameters work""... $ac_c" 1>&6
-echo "configure:10299: checking if nested parameters work" >&5
+echo "configure:11915: checking if nested parameters work" >&5
 if eval "test \"`echo '$''{'cf_cv_nested_params'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 10305 "configure"
+#line 11921 "configure"
 #include "confdefs.h"
 
 int main() {
 extern void (*sigdisp(int sig, void (*func)(int sig)))(int sig)
 ; return 0; }
 EOF
-if { (eval echo configure:10312: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11928: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_nested_params=yes
 else
@@ -10331,12 +11947,12 @@ EOF
 
 ###	Checks for header files.
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:10335: checking for ANSI C header files" >&5
+echo "configure:11951: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10340 "configure"
+#line 11956 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -10344,7 +11960,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10348: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11964: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -10361,7 +11977,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 10365 "configure"
+#line 11981 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -10379,7 +11995,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 <<EOF
-#line 10383 "configure"
+#line 11999 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -10400,7 +12016,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 10404 "configure"
+#line 12020 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -10411,7 +12027,7 @@ if (XOR (islower (i), ISLOWER (i)) || to
 exit (0); }
 
 EOF
-if { (eval echo configure:10415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -10439,12 +12055,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/di
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:10443: checking for $ac_hdr that defines DIR" >&5
+echo "configure:12059: checking for $ac_hdr that defines DIR" >&5
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10448 "configure"
+#line 12064 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -10452,7 +12068,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:10456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12072: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -10477,7 +12093,7 @@ done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:10481: checking for opendir in -ldir" >&5
+echo "configure:12097: checking for opendir in -ldir" >&5
 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -10485,7 +12101,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10489 "configure"
+#line 12105 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10496,7 +12112,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:10500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10518,7 +12134,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:10522: checking for opendir in -lx" >&5
+echo "configure:12138: checking for opendir in -lx" >&5
 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -10526,7 +12142,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10530 "configure"
+#line 12146 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10537,7 +12153,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:10541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -10560,12 +12176,12 @@ fi
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:10564: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:12180: checking whether time.h and sys/time.h may both be included" >&5
 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10569 "configure"
+#line 12185 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -10574,7 +12190,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:10578: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12194: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -10595,12 +12211,12 @@ EOF
 fi
 
 echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:10599: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:12215: checking for sys/wait.h that is POSIX.1 compatible" >&5
 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10604 "configure"
+#line 12220 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -10616,7 +12232,7 @@ wait (&s);
 s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 ; return 0; }
 EOF
-if { (eval echo configure:10620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12236: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_sys_wait_h=yes
 else
@@ -10695,9 +12311,9 @@ for cf_hdr in \
 
 do
 	echo $ac_n "checking for $cf_hdr""... $ac_c" 1>&6
-echo "configure:10699: checking for $cf_hdr" >&5
+echo "configure:12315: checking for $cf_hdr" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 10701 "configure"
+#line 12317 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -10705,7 +12321,7 @@ echo "configure:10699: checking for $cf_
 
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12325: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -10741,17 +12357,17 @@ unistd.h \
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10745: checking for $ac_hdr" >&5
+echo "configure:12361: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10750 "configure"
+#line 12366 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10755: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -10782,17 +12398,17 @@ if test "$ISC" = yes ; then
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10786: checking for $ac_hdr" >&5
+echo "configure:12402: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10791 "configure"
+#line 12407 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10796: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -10827,16 +12443,16 @@ if test "$ac_cv_header_termios_h" = yes 
 	esac
 	if test "$termios_bad" = maybe ; then
 	echo $ac_n "checking whether termios.h needs _POSIX_SOURCE""... $ac_c" 1>&6
-echo "configure:10831: checking whether termios.h needs _POSIX_SOURCE" >&5
+echo "configure:12447: checking whether termios.h needs _POSIX_SOURCE" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 10833 "configure"
+#line 12449 "configure"
 #include "confdefs.h"
 #include <termios.h>
 int main() {
 struct termios foo; int x = foo.c_iflag
 ; return 0; }
 EOF
-if { (eval echo configure:10840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   termios_bad=no
 else
@@ -10845,7 +12461,7 @@ else
   rm -rf conftest*
   
 		cat > conftest.$ac_ext <<EOF
-#line 10849 "configure"
+#line 12465 "configure"
 #include "confdefs.h"
 
 #define _POSIX_SOURCE
@@ -10854,7 +12470,7 @@ int main() {
 struct termios foo; int x = foo.c_iflag
 ; return 0; }
 EOF
-if { (eval echo configure:10858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12474: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   termios_bad=unknown
 else
@@ -10877,7 +12493,7 @@ fi
 
 
 echo $ac_n "checking declaration of size-change""... $ac_c" 1>&6
-echo "configure:10881: checking declaration of size-change" >&5
+echo "configure:12497: checking declaration of size-change" >&5
 if eval "test \"`echo '$''{'cf_cv_sizechange'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10891,7 +12507,7 @@ do
     CPPFLAGS="$cf_save_CPPFLAGS"
     test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
     cat > conftest.$ac_ext <<EOF
-#line 10895 "configure"
+#line 12511 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #ifdef HAVE_TERMIOS_H
@@ -10930,7 +12546,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:10934: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sizechange=yes
 else
@@ -10969,7 +12585,7 @@ fi
 
 
 echo $ac_n "checking if sys/time.h conflicts with sys/select.h""... $ac_c" 1>&6
-echo "configure:10973: checking if sys/time.h conflicts with sys/select.h" >&5
+echo "configure:12589: checking if sys/time.h conflicts with sys/select.h" >&5
 if eval "test \"`echo '$''{'cf_cv_sys_select_timeval'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10977,7 +12593,7 @@ else
 for cf_opts in no yes
 do
 cat > conftest.$ac_ext <<EOF
-#line 10981 "configure"
+#line 12597 "configure"
 #include "confdefs.h"
 
 #define yes 1
@@ -11005,7 +12621,7 @@ int main() {
 struct timeval foo
 ; return 0; }
 EOF
-if { (eval echo configure:11009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12625: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sys_select_timeval=$cf_opts
 	 break
@@ -11029,12 +12645,12 @@ EOF
 
 ###	Checks for Datatypes.
 echo $ac_n "checking for gid_t""... $ac_c" 1>&6
-echo "configure:11033: checking for gid_t" >&5
+echo "configure:12649: checking for gid_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_gid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11038 "configure"
+#line 12654 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -11062,12 +12678,12 @@ EOF
 fi
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:11066: checking for mode_t" >&5
+echo "configure:12682: checking for mode_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11071 "configure"
+#line 12687 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -11095,12 +12711,12 @@ EOF
 fi
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:11099: checking for off_t" >&5
+echo "configure:12715: checking for off_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11104 "configure"
+#line 12720 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -11128,12 +12744,12 @@ EOF
 fi
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:11132: checking for pid_t" >&5
+echo "configure:12748: checking for pid_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11137 "configure"
+#line 12753 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -11161,12 +12777,12 @@ EOF
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:11165: checking for size_t" >&5
+echo "configure:12781: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11170 "configure"
+#line 12786 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -11194,12 +12810,12 @@ EOF
 fi
 
 echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:11198: checking for ssize_t" >&5
+echo "configure:12814: checking for ssize_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11203 "configure"
+#line 12819 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -11227,12 +12843,12 @@ EOF
 fi
 
 echo $ac_n "checking for time_t""... $ac_c" 1>&6
-echo "configure:11231: checking for time_t" >&5
+echo "configure:12847: checking for time_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11236 "configure"
+#line 12852 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -11260,7 +12876,7 @@ EOF
 fi
 
 cat > conftest.$ac_ext <<EOF
-#line 11264 "configure"
+#line 12880 "configure"
 #include "confdefs.h"
 #include <netinet/in.h>
 EOF
@@ -11271,7 +12887,7 @@ else
   rm -rf conftest*
   
 	cat > conftest.$ac_ext <<EOF
-#line 11275 "configure"
+#line 12891 "configure"
 #include "confdefs.h"
 #include <sys/endian.h>
 EOF
@@ -11282,12 +12898,12 @@ else
   rm -rf conftest*
   
 		echo $ac_n "checking for in_addr_t""... $ac_c" 1>&6
-echo "configure:11286: checking for in_addr_t" >&5
+echo "configure:12902: checking for in_addr_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_in_addr_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11291 "configure"
+#line 12907 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -11323,12 +12939,12 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:11327: checking for uid_t in sys/types.h" >&5
+echo "configure:12943: checking for uid_t in sys/types.h" >&5
 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11332 "configure"
+#line 12948 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -11358,9 +12974,9 @@ fi
 
 
 echo $ac_n "checking for quad_t""... $ac_c" 1>&6
-echo "configure:11362: checking for quad_t" >&5
+echo "configure:12978: checking for quad_t" >&5
 cat > conftest.$ac_ext <<EOF
-#line 11364 "configure"
+#line 12980 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -11373,7 +12989,7 @@ int main() {
 quad_t x; x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:11377: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12993: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_quad_t=yes
 else
@@ -11392,9 +13008,9 @@ EOF
 fi
 
 echo $ac_n "checking for long long""... $ac_c" 1>&6
-echo "configure:11396: checking for long long" >&5
+echo "configure:13012: checking for long long" >&5
 cat > conftest.$ac_ext <<EOF
-#line 11398 "configure"
+#line 13014 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -11403,7 +13019,7 @@ int main() {
 long long x; x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:11407: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13023: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_long_long=yes
 else
@@ -11422,9 +13038,9 @@ EOF
 fi
 
 echo $ac_n "checking for nl_item""... $ac_c" 1>&6
-echo "configure:11426: checking for nl_item" >&5
+echo "configure:13042: checking for nl_item" >&5
 cat > conftest.$ac_ext <<EOF
-#line 11428 "configure"
+#line 13044 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_LANGINFO_H
@@ -11439,7 +13055,7 @@ int main() {
 nl_item x; x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:11443: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13059: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_nl_item=yes
 else
@@ -11461,7 +13077,7 @@ fi
 # libuu/uudeview
 # only define HAVE_LIBUU and HAVE_UUDEVIEW_H if both are found
 echo $ac_n "checking for UUInitialize in -luu""... $ac_c" 1>&6
-echo "configure:11465: checking for UUInitialize in -luu" >&5
+echo "configure:13081: checking for UUInitialize in -luu" >&5
 ac_lib_var=`echo uu'_'UUInitialize | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11469,7 +13085,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-luu  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11473 "configure"
+#line 13089 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11480,7 +13096,7 @@ int main() {
 UUInitialize()
 ; return 0; }
 EOF
-if { (eval echo configure:11484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -11497,17 +13113,17 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "uudeview.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for uudeview.h""... $ac_c" 1>&6
-echo "configure:11501: checking for uudeview.h" >&5
+echo "configure:13117: checking for uudeview.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11506 "configure"
+#line 13122 "configure"
 #include "confdefs.h"
 #include <uudeview.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -11545,7 +13161,7 @@ fi
 
 # libidn - Internationalized Domain Names
 echo $ac_n "checking for stringprep_check_version in -lidn""... $ac_c" 1>&6
-echo "configure:11549: checking for stringprep_check_version in -lidn" >&5
+echo "configure:13165: checking for stringprep_check_version in -lidn" >&5
 ac_lib_var=`echo idn'_'stringprep_check_version | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11553,7 +13169,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lidn  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11557 "configure"
+#line 13173 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11564,7 +13180,7 @@ int main() {
 stringprep_check_version()
 ; return 0; }
 EOF
-if { (eval echo configure:11568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -11581,17 +13197,17 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "stringprep.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for stringprep.h""... $ac_c" 1>&6
-echo "configure:11585: checking for stringprep.h" >&5
+echo "configure:13201: checking for stringprep.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11590 "configure"
+#line 13206 "configure"
 #include "confdefs.h"
 #include <stringprep.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11595: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13211: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -11614,17 +13230,17 @@ EOF
 
 		ac_safe=`echo "idna.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for idna.h""... $ac_c" 1>&6
-echo "configure:11618: checking for idna.h" >&5
+echo "configure:13234: checking for idna.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11623 "configure"
+#line 13239 "configure"
 #include "confdefs.h"
 #include <idna.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11628: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13244: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -11646,7 +13262,7 @@ if eval "test \"`echo '$ac_cv_header_'$a
 EOF
 
 			echo $ac_n "checking for idna_to_unicode_lzlz in -lidn""... $ac_c" 1>&6
-echo "configure:11650: checking for idna_to_unicode_lzlz in -lidn" >&5
+echo "configure:13266: checking for idna_to_unicode_lzlz in -lidn" >&5
 ac_lib_var=`echo idn'_'idna_to_unicode_lzlz | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11654,7 +13270,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lidn  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11658 "configure"
+#line 13274 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11665,7 +13281,7 @@ int main() {
 idna_to_unicode_lzlz()
 ; return 0; }
 EOF
-if { (eval echo configure:11669: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -11686,9 +13302,9 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l
 EOF
 
 				echo $ac_n "checking for IDNA_USE_STD3_ASCII_RULES""... $ac_c" 1>&6
-echo "configure:11690: checking for IDNA_USE_STD3_ASCII_RULES" >&5
+echo "configure:13306: checking for IDNA_USE_STD3_ASCII_RULES" >&5
 				cat > conftest.$ac_ext <<EOF
-#line 11692 "configure"
+#line 13308 "configure"
 #include "confdefs.h"
 #include <idna.h>
 EOF
@@ -11737,17 +13353,17 @@ fi
 # ICU - International Components for Unicode
 ac_safe=`echo "unicode/unorm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for unicode/unorm.h""... $ac_c" 1>&6
-echo "configure:11741: checking for unicode/unorm.h" >&5
+echo "configure:13357: checking for unicode/unorm.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11746 "configure"
+#line 13362 "configure"
 #include "confdefs.h"
 #include <unicode/unorm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11751: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13367: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -11766,17 +13382,17 @@ if eval "test \"`echo '$ac_cv_header_'$a
   
 	ac_safe=`echo "unicode/ustring.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for unicode/ustring.h""... $ac_c" 1>&6
-echo "configure:11770: checking for unicode/ustring.h" >&5
+echo "configure:13386: checking for unicode/ustring.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11775 "configure"
+#line 13391 "configure"
 #include "confdefs.h"
 #include <unicode/ustring.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11780: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -11802,12 +13418,12 @@ EOF
 EOF
 
 		echo $ac_n "checking for unorm_normalize in libicuuc""... $ac_c" 1>&6
-echo "configure:11806: checking for unorm_normalize in libicuuc" >&5
+echo "configure:13422: checking for unorm_normalize in libicuuc" >&5
 		cf_save_LIBS="$LIBS"
 		cf_try_icuuc="no"
 		LIBS="$LIBS -licuuc"
 		cat > conftest.$ac_ext <<EOF
-#line 11811 "configure"
+#line 13427 "configure"
 #include "confdefs.h"
 #include <unicode/unorm.h>
 int main() {
@@ -11817,7 +13433,7 @@ int main() {
 			needed = unorm_normalize(ustr, -1, UNORM_DEFAULT, 0, NULL, 0, &status);
 ; return 0; }
 EOF
-if { (eval echo configure:11821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   
 			cat >> confdefs.h <<\EOF
@@ -11836,17 +13452,17 @@ rm -f conftest*
 		echo "$ac_t""$cf_try_icuuc" 1>&6
 		ac_safe=`echo "unicode/ubidi.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for unicode/ubidi.h""... $ac_c" 1>&6
-echo "configure:11840: checking for unicode/ubidi.h" >&5
+echo "configure:13456: checking for unicode/ubidi.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11845 "configure"
+#line 13461 "configure"
 #include "confdefs.h"
 #include <unicode/ubidi.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11850: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13466: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -11893,24 +13509,24 @@ else
   
 cf_cv_termlib=none
 cat > conftest.$ac_ext <<EOF
-#line 11897 "configure"
+#line 13513 "configure"
 #include "confdefs.h"
 
 int main() {
 char *x=(char*)tgoto("",0,0)
 ; return 0; }
 EOF
-if { (eval echo configure:11904: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 11907 "configure"
+#line 13523 "configure"
 #include "confdefs.h"
 
 int main() {
 int x=tigetstr("")
 ; return 0; }
 EOF
-if { (eval echo configure:11914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_termlib=terminfo
 else
@@ -11922,6 +13538,9 @@ fi
 rm -f conftest*
 	test -n "$verbose" && echo "	using functions in predefined $cf_cv_termlib LIBS" 1>&6
 
+echo "${as_me-configure}:13542: testing using functions in predefined $cf_cv_termlib LIBS ..." 1>&5
+
+
 
 else
   echo "configure: failed program was:" >&5
@@ -11939,16 +13558,16 @@ if test "$cf_cv_termlib" = none; then
 	for cf_func in tigetstr tgetstr
 	do
 		echo $ac_n "checking for $cf_func in -l$cf_lib""... $ac_c" 1>&6
-echo "configure:11943: checking for $cf_func in -l$cf_lib" >&5
+echo "configure:13562: checking for $cf_func in -l$cf_lib" >&5
 		cat > conftest.$ac_ext <<EOF
-#line 11945 "configure"
+#line 13564 "configure"
 #include "confdefs.h"
 
 int main() {
 int x=$cf_func("")
 ; return 0; }
 EOF
-if { (eval echo configure:11952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -11975,7 +13594,7 @@ fi
 if test "$cf_cv_termlib" = none; then
 	# allow curses library for broken AIX system.
 	echo $ac_n "checking for initscr in -lcurses""... $ac_c" 1>&6
-echo "configure:11979: checking for initscr in -lcurses" >&5
+echo "configure:13598: checking for initscr in -lcurses" >&5
 ac_lib_var=`echo curses'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11983,7 +13602,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11987 "configure"
+#line 13606 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -11994,7 +13613,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:11998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -12015,7 +13634,7 @@ else
 fi
 
 	echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:12019: checking for tgoto in -ltermcap" >&5
+echo "configure:13638: checking for tgoto in -ltermcap" >&5
 ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12023,7 +13642,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 12027 "configure"
+#line 13646 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -12034,7 +13653,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:12038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -12067,11 +13686,11 @@ fi
 	# terminfo-based termcap interfaces may be prototyped in <curses.h>,
 	# which may/may not be compatible with <termcap.h>
 	echo $ac_n "checking if we should include termcap.h""... $ac_c" 1>&6
-echo "configure:12071: checking if we should include termcap.h" >&5
+echo "configure:13690: checking if we should include termcap.h" >&5
 	cf_save_CFLAGS="$CFLAGS"
 	CFLAGS="$CFLAGS -I$srcdir/include"
 	cat > conftest.$ac_ext <<EOF
-#line 12075 "configure"
+#line 13694 "configure"
 #include "confdefs.h"
 
 #define HAVE_TERMCAP_H 1
@@ -12084,7 +13703,7 @@ make an error
 
 ; return 0; }
 EOF
-if { (eval echo configure:12088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13707: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -12102,7 +13721,7 @@ EOF
 
 	
 echo $ac_n "checking for term.h""... $ac_c" 1>&6
-echo "configure:12106: checking for term.h" >&5
+echo "configure:13725: checking for term.h" >&5
 if eval "test \"`echo '$''{'cf_cv_term_header'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12115,7 +13734,7 @@ for cf_header in \
 	term.h
 do
 	cat > conftest.$ac_ext <<EOF
-#line 12119 "configure"
+#line 13738 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -12124,7 +13743,7 @@ int main() {
 WINDOW *x
 ; return 0; }
 EOF
-if { (eval echo configure:12128: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13747: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_term_header=$cf_header
 	 break
@@ -12165,7 +13784,7 @@ esac
 
 
 echo $ac_n "checking if we should include curses.h or termcap.h""... $ac_c" 1>&6
-echo "configure:12169: checking if we should include curses.h or termcap.h" >&5
+echo "configure:13788: checking if we should include curses.h or termcap.h" >&5
 if eval "test \"`echo '$''{'cf_cv_need_curses_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12183,7 +13802,7 @@ do
     test -n "$cf_t_opts" && CPPFLAGS="$CPPFLAGS -D$cf_t_opts"
 
     cat > conftest.$ac_ext <<EOF
-#line 12187 "configure"
+#line 13806 "configure"
 #include "confdefs.h"
 /* $cf_c_opts $cf_t_opts */
 $CHECK_DECL_HDRS
@@ -12191,7 +13810,7 @@ int main() {
 char *x = (char *)tgoto("")
 ; return 0; }
 EOF
-if { (eval echo configure:12195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   test "$cf_cv_need_curses_h" = no && {
 	     cf_cv_need_curses_h=maybe
@@ -12204,7 +13823,7 @@ else
   rm -rf conftest*
   echo "Recompiling with corrected call (C:$cf_c_opts, T:$cf_t_opts)" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 12208 "configure"
+#line 13827 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -12212,7 +13831,7 @@ int main() {
 char *x = (char *)tgoto("",0,0)
 ; return 0; }
 EOF
-if { (eval echo configure:12216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_need_curses_h=yes
 	 cf_ok_c_opts=$cf_c_opts
@@ -12288,7 +13907,7 @@ esac
 
 
 echo $ac_n "checking declaration of tputs 3rd param""... $ac_c" 1>&6
-echo "configure:12292: checking declaration of tputs 3rd param" >&5
+echo "configure:13911: checking declaration of tputs 3rd param" >&5
 if eval "test \"`echo '$''{'cf_cv_type_outchar'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12304,10 +13923,10 @@ for Q in int void; do
 for R in int char; do
 for S in "" const; do
 	
-echo "(line 12308) testing loop variables P:$P, Q:$Q, R:$R, S:$S ..." 1>&5
+echo "${as_me-configure}:13927: testing loop variables P:$P, Q:$Q, R:$R, S:$S ..." 1>&5
 
 	cat > conftest.$ac_ext <<EOF
-#line 12311 "configure"
+#line 13930 "configure"
 #include "confdefs.h"
 $CHECK_DECL_HDRS
 int main() {
@@ -12316,7 +13935,7 @@ extern $Q OutChar($R);
 	tputs("", 1, OutChar)
 ; return 0; }
 EOF
-if { (eval echo configure:12320: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13939: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_type_outchar="$Q OutChar($R)"
 	 cf_cv_found=yes
@@ -12371,14 +13990,14 @@ EOF
 elif test ".$cf_cv_termlib" = .termcap ; then
 	# BSD 'tputs()' may need 'PC' to be set.
 	cat > conftest.$ac_ext <<EOF
-#line 12375 "configure"
+#line 13994 "configure"
 #include "confdefs.h"
 
 int main() {
 extern char PC; PC = 0
 ; return 0; }
 EOF
-if { (eval echo configure:12382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14001: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define HAVE_EXTERN_TCAP_PC 1
@@ -12397,13 +14016,13 @@ fi
 
 
 echo $ac_n "checking if external errno is declared""... $ac_c" 1>&6
-echo "configure:12401: checking if external errno is declared" >&5
+echo "configure:14020: checking if external errno is declared" >&5
 if eval "test \"`echo '$''{'cf_cv_dcl_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 12407 "configure"
+#line 14026 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
@@ -12416,7 +14035,7 @@ int main() {
 long x = (long) errno
 ; return 0; }
 EOF
-if { (eval echo configure:12420: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_dcl_errno=yes
 else
@@ -12444,13 +14063,13 @@ fi
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
 echo $ac_n "checking if external errno exists""... $ac_c" 1>&6
-echo "configure:12448: checking if external errno exists" >&5
+echo "configure:14067: checking if external errno exists" >&5
 if eval "test \"`echo '$''{'cf_cv_have_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 12454 "configure"
+#line 14073 "configure"
 #include "confdefs.h"
 
 #undef errno
@@ -12460,7 +14079,7 @@ int main() {
 errno = 2
 ; return 0; }
 EOF
-if { (eval echo configure:12464: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_have_errno=yes
 else
@@ -12492,12 +14111,12 @@ fi
 for ac_func in strerror
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12496: checking for $ac_func" >&5
+echo "configure:14115: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12501 "configure"
+#line 14120 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12520,7 +14139,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12547,13 +14166,13 @@ else
 
     
 echo $ac_n "checking if external sys_nerr is declared""... $ac_c" 1>&6
-echo "configure:12551: checking if external sys_nerr is declared" >&5
+echo "configure:14170: checking if external sys_nerr is declared" >&5
 if eval "test \"`echo '$''{'cf_cv_dcl_sys_nerr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 12557 "configure"
+#line 14176 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
@@ -12566,7 +14185,7 @@ int main() {
 long x = (long) sys_nerr
 ; return 0; }
 EOF
-if { (eval echo configure:12570: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_dcl_sys_nerr=yes
 else
@@ -12594,13 +14213,13 @@ fi
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
 echo $ac_n "checking if external sys_nerr exists""... $ac_c" 1>&6
-echo "configure:12598: checking if external sys_nerr exists" >&5
+echo "configure:14217: checking if external sys_nerr exists" >&5
 if eval "test \"`echo '$''{'cf_cv_have_sys_nerr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 12604 "configure"
+#line 14223 "configure"
 #include "confdefs.h"
 
 #undef sys_nerr
@@ -12610,7 +14229,7 @@ int main() {
 sys_nerr = 2
 ; return 0; }
 EOF
-if { (eval echo configure:12614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_have_sys_nerr=yes
 else
@@ -12639,13 +14258,13 @@ fi
 
     
 echo $ac_n "checking if external sys_errlist is declared""... $ac_c" 1>&6
-echo "configure:12643: checking if external sys_errlist is declared" >&5
+echo "configure:14262: checking if external sys_errlist is declared" >&5
 if eval "test \"`echo '$''{'cf_cv_dcl_sys_errlist'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 12649 "configure"
+#line 14268 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
@@ -12658,7 +14277,7 @@ int main() {
 long x = (long) sys_errlist
 ; return 0; }
 EOF
-if { (eval echo configure:12662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14281: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_dcl_sys_errlist=yes
 else
@@ -12686,13 +14305,13 @@ fi
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
 echo $ac_n "checking if external sys_errlist exists""... $ac_c" 1>&6
-echo "configure:12690: checking if external sys_errlist exists" >&5
+echo "configure:14309: checking if external sys_errlist exists" >&5
 if eval "test \"`echo '$''{'cf_cv_have_sys_errlist'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 12696 "configure"
+#line 14315 "configure"
 #include "confdefs.h"
 
 #undef sys_errlist
@@ -12702,7 +14321,7 @@ int main() {
 sys_errlist = 2
 ; return 0; }
 EOF
-if { (eval echo configure:12706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_have_sys_errlist=yes
 else
@@ -12754,7 +14373,6 @@ for ac_func in \
 	inet_aton \
 	is_xterm \
 	isascii \
-	link \
 	lockf \
 	memcmp \
 	memcpy \
@@ -12798,12 +14416,12 @@ for ac_func in \
 $cf_tc_funcs 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12802: checking for $ac_func" >&5
+echo "configure:14420: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12807 "configure"
+#line 14425 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12826,7 +14444,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -12852,12 +14470,12 @@ done
 
 
 echo $ac_n "checking for flock""... $ac_c" 1>&6
-echo "configure:12856: checking for flock" >&5
+echo "configure:14474: checking for flock" >&5
 if eval "test \"`echo '$''{'ac_cv_func_flock'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12861 "configure"
+#line 14479 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char flock(); below.  */
@@ -12880,7 +14498,7 @@ flock();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_flock=yes"
 else
@@ -12902,7 +14520,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for flock in -lbsd""... $ac_c" 1>&6
-echo "configure:12906: checking for flock in -lbsd" >&5
+echo "configure:14524: checking for flock in -lbsd" >&5
 ac_lib_var=`echo bsd'_'flock | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12910,7 +14528,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 12914 "configure"
+#line 14532 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -12921,7 +14539,7 @@ int main() {
 flock()
 ; return 0; }
 EOF
-if { (eval echo configure:12925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -12950,12 +14568,12 @@ fi
 
 
   echo $ac_n "checking for wide char and multibyte support""... $ac_c" 1>&6
-echo "configure:12954: checking for wide char and multibyte support" >&5
+echo "configure:14572: checking for wide char and multibyte support" >&5
 if eval "test \"`echo '$''{'am_cv_multibyte_able'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12959 "configure"
+#line 14577 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #ifdef HAVE_STDLIB_H
@@ -12991,7 +14609,7 @@ char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0
       wcsncat(wcb2, wcb, 5);
 ; return 0; }
 EOF
-if { (eval echo configure:12995: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_multibyte_able=yes
 else
@@ -13001,7 +14619,7 @@ else
   cf_save_LIBS="$LIBS"
       LIBS="-lutf8 $LIBS"
       cat > conftest.$ac_ext <<EOF
-#line 13005 "configure"
+#line 14623 "configure"
 #include "confdefs.h"
 #include <libutf8.h>
 int main() {
@@ -13027,7 +14645,7 @@ char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0
         wcsncat(wcb2, wcb, 5);
 ; return 0; }
 EOF
-if { (eval echo configure:13031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_multibyte_able=libutf8
 else
@@ -13061,9 +14679,9 @@ EOF
 
 
 echo $ac_n "checking if gettimeofday takes two arguments""... $ac_c" 1>&6
-echo "configure:13065: checking if gettimeofday takes two arguments" >&5
+echo "configure:14683: checking if gettimeofday takes two arguments" >&5
 cat > conftest.$ac_ext <<EOF
-#line 13067 "configure"
+#line 14685 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_TIME_H
@@ -13075,7 +14693,7 @@ struct timezone *tz;
 gettimeofday(tv, tz);
 ; return 0; }
 EOF
-if { (eval echo configure:13079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14697: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_func_gettimeofday_2args=yes
 else
@@ -13094,12 +14712,12 @@ EOF
 fi
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:13098: checking return type of signal handlers" >&5
+echo "configure:14716: checking return type of signal handlers" >&5
 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13103 "configure"
+#line 14721 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -13116,7 +14734,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:13120: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -13136,7 +14754,7 @@ EOF
 
 
 echo $ac_n "checking declaration of signal arguments""... $ac_c" 1>&6
-echo "configure:13140: checking declaration of signal arguments" >&5
+echo "configure:14758: checking declaration of signal arguments" >&5
 if eval "test \"`echo '$''{'cf_cv_sig_args'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13145,7 +14763,7 @@ cf_cv_sig_args=
 for cf_test in "int sig" "int sig, ..."
 do
 	cat > conftest.$ac_ext <<EOF
-#line 13149 "configure"
+#line 14767 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
@@ -13153,7 +14771,7 @@ int main() {
 extern RETSIGTYPE catch($cf_test); signal(SIGINT, catch)
 ; return 0; }
 EOF
-if { (eval echo configure:13157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sig_args="$cf_test";break
 else
@@ -13179,13 +14797,13 @@ EOF
 if test "$ac_cv_func_sigaction" = yes; then
 
 echo $ac_n "checking whether sigaction needs _POSIX_SOURCE""... $ac_c" 1>&6
-echo "configure:13183: checking whether sigaction needs _POSIX_SOURCE" >&5
+echo "configure:14801: checking whether sigaction needs _POSIX_SOURCE" >&5
 if eval "test \"`echo '$''{'cf_cv_sigact_bad'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 13189 "configure"
+#line 14807 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -13194,7 +14812,7 @@ int main() {
 struct sigaction act
 ; return 0; }
 EOF
-if { (eval echo configure:13198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14816: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sigact_bad=no
 else
@@ -13215,13 +14833,13 @@ EOF
 
 
 echo $ac_n "checking if we have sigaction/related functions""... $ac_c" 1>&6
-echo "configure:13219: checking if we have sigaction/related functions" >&5
+echo "configure:14837: checking if we have sigaction/related functions" >&5
 if eval "test \"`echo '$''{'cf_cv_sigaction_funcs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 13225 "configure"
+#line 14843 "configure"
 #include "confdefs.h"
 
 #ifdef SVR4_ACTION
@@ -13239,7 +14857,7 @@ int main() {
     sigaction (SIGBUS,&sa,&osa);
 ; return 0; }
 EOF
-if { (eval echo configure:13243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_sigaction_funcs=yes
 else
@@ -13261,7 +14879,7 @@ EOF
 fi
 
 echo $ac_n "checking for fork""... $ac_c" 1>&6
-echo "configure:13265: checking for fork" >&5
+echo "configure:14883: checking for fork" >&5
 if eval "test \"`echo '$''{'cf_cv_func_fork'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13270,17 +14888,17 @@ if test "$cross_compiling" = yes; then
   cf_cv_func_fork=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 13274 "configure"
+#line 14892 "configure"
 #include "confdefs.h"
 
 int main()
 {
 	if (fork() < 0)
-		exit(1);
-	exit(0);
+		${cf_cv_main_return-return}(1);
+	${cf_cv_main_return-return}(0);
 }
 EOF
-if { (eval echo configure:13284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:14902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_func_fork=yes
 else
@@ -13302,12 +14920,12 @@ EOF
 
 
 echo $ac_n "checking for memmove""... $ac_c" 1>&6
-echo "configure:13306: checking for memmove" >&5
+echo "configure:14924: checking for memmove" >&5
 if eval "test \"`echo '$''{'ac_cv_func_memmove'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13311 "configure"
+#line 14929 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char memmove(); below.  */
@@ -13330,7 +14948,7 @@ memmove();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_memmove=yes"
 else
@@ -13349,12 +14967,12 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for bcopy""... $ac_c" 1>&6
-echo "configure:13353: checking for bcopy" >&5
+echo "configure:14971: checking for bcopy" >&5
 if eval "test \"`echo '$''{'ac_cv_func_bcopy'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13358 "configure"
+#line 14976 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char bcopy(); below.  */
@@ -13377,7 +14995,7 @@ bcopy();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14999: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_bcopy=yes"
 else
@@ -13393,7 +15011,7 @@ if eval "test \"`echo '$ac_cv_func_'bcop
   echo "$ac_t""yes" 1>&6
   
 	echo $ac_n "checking if bcopy does overlapping moves""... $ac_c" 1>&6
-echo "configure:13397: checking if bcopy does overlapping moves" >&5
+echo "configure:15015: checking if bcopy does overlapping moves" >&5
 if eval "test \"`echo '$''{'cf_cv_good_bcopy'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13402,7 +15020,7 @@ else
   cf_cv_good_bcopy=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 13406 "configure"
+#line 15024 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -13411,11 +15029,11 @@ int main() {
 	bcopy(data, temp, sizeof(data));
 	bcopy(temp+10, temp, 15);
 	bcopy(temp+5, temp+15, 10);
-	exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
+	${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
 }
 		
 EOF
-if { (eval echo configure:13419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:15037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_good_bcopy=yes
 else
@@ -13453,9 +15071,9 @@ fi
 
 
 echo $ac_n "checking if select expects int * arguments""... $ac_c" 1>&6
-echo "configure:13457: checking if select expects int * arguments" >&5
+echo "configure:15075: checking if select expects int * arguments" >&5
 cat > conftest.$ac_ext <<EOF
-#line 13459 "configure"
+#line 15077 "configure"
 #include "confdefs.h"
 #include <time.h>
 EOF
@@ -13475,7 +15093,7 @@ rm -f conftest*
 
 
 echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6
-echo "configure:13479: checking whether closedir returns void" >&5
+echo "configure:15097: checking whether closedir returns void" >&5
 if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13483,13 +15101,13 @@ else
   ac_cv_func_closedir_void=yes
 else
   cat > conftest.$ac_ext <<EOF
-#line 13487 "configure"
+#line 15105 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_header_dirent>
 int closedir(); main() { exit(closedir(opendir(".")) != 0); }
 EOF
-if { (eval echo configure:13493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:15111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_closedir_void=no
 else
@@ -13515,7 +15133,7 @@ fi
 # autoconf 2.5x assumes setvbuf is not reversed when cross-compiling
 if test "$cross_compiling" != yes ; then
 	echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6
-echo "configure:13519: checking whether setvbuf arguments are reversed" >&5
+echo "configure:15137: checking whether setvbuf arguments are reversed" >&5
 if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13523,7 +15141,7 @@ else
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 13527 "configure"
+#line 15145 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 /* If setvbuf has the reversed format, exit 0. */
@@ -13537,7 +15155,7 @@ main () {
   exit(0);			/* Non-reversed systems segv here.  */
 }
 EOF
-if { (eval echo configure:13541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:15159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_setvbuf_reversed=yes
 else
@@ -13575,12 +15193,12 @@ for ac_func in \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13579: checking for $ac_func" >&5
+echo "configure:15197: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13584 "configure"
+#line 15202 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13603,7 +15221,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -13630,13 +15248,13 @@ done
 
 
 echo $ac_n "checking for type sigaction_t""... $ac_c" 1>&6
-echo "configure:13634: checking for type sigaction_t" >&5
+echo "configure:15252: checking for type sigaction_t" >&5
 if eval "test \"`echo '$''{'cf_cv_type_sigaction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 13640 "configure"
+#line 15258 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
@@ -13644,7 +15262,7 @@ int main() {
 sigaction_t x
 ; return 0; }
 EOF
-if { (eval echo configure:13648: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15266: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_type_sigaction=yes
 else
@@ -13664,13 +15282,13 @@ EOF
 
 
 echo $ac_n "checking for nonconflicting termios.h""... $ac_c" 1>&6
-echo "configure:13668: checking for nonconflicting termios.h" >&5
+echo "configure:15286: checking for nonconflicting termios.h" >&5
 if eval "test \"`echo '$''{'cf_cv_use_termios_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 13674 "configure"
+#line 15292 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_IOCTL_H
@@ -13692,7 +15310,7 @@ int main() {
 	(void) tcgetattr (0, &save_tty)
 ; return 0; }
 EOF
-if { (eval echo configure:13696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_use_termios_h=yes
 else
@@ -13723,13 +15341,13 @@ fi
 
 
 echo $ac_n "checking for passwd.pw_gecos""... $ac_c" 1>&6
-echo "configure:13727: checking for passwd.pw_gecos" >&5
+echo "configure:15345: checking for passwd.pw_gecos" >&5
 if eval "test \"`echo '$''{'cf_cv_pw_gecos'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 13733 "configure"
+#line 15351 "configure"
 #include "confdefs.h"
 
 #include <pwd.h>
@@ -13740,7 +15358,7 @@ int main() {
 	char bar = foo.pw_gecos
 ; return 0; }
 EOF
-if { (eval echo configure:13744: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15362: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_pw_gecos=yes
 else
@@ -13760,13 +15378,13 @@ EOF
 
 
 echo $ac_n "checking for tm.tm_gmtoff""... $ac_c" 1>&6
-echo "configure:13764: checking for tm.tm_gmtoff" >&5
+echo "configure:15382: checking for tm.tm_gmtoff" >&5
 if eval "test \"`echo '$''{'cf_cv_tm_gmtoff'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 13770 "configure"
+#line 15388 "configure"
 #include "confdefs.h"
 
 #ifdef TIME_WITH_SYS_TIME
@@ -13786,7 +15404,7 @@ int main() {
 	long bar = foo.tm_gmtoff
 ; return 0; }
 EOF
-if { (eval echo configure:13790: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15408: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_tm_gmtoff=yes
 else
@@ -13806,7 +15424,7 @@ EOF
 
 
 echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:13810: checking for long file names" >&5
+echo "configure:15428: checking for long file names" >&5
 if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13854,17 +15472,17 @@ for ac_hdr in sys/wait.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13858: checking for $ac_hdr" >&5
+echo "configure:15476: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13863 "configure"
+#line 15481 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13868: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:15486: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -13901,17 +15519,17 @@ for ac_hdr in wait.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13905: checking for $ac_hdr" >&5
+echo "configure:15523: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13910 "configure"
+#line 15528 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13915: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:15533: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -13941,17 +15559,17 @@ for ac_hdr in waitstatus.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13945: checking for $ac_hdr" >&5
+echo "configure:15563: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13950 "configure"
+#line 15568 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13955: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:15573: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -13992,13 +15610,13 @@ fi
 
 
 echo $ac_n "checking for union wait""... $ac_c" 1>&6
-echo "configure:13996: checking for union wait" >&5
+echo "configure:15614: checking for union wait" >&5
 if eval "test \"`echo '$''{'cf_cv_type_unionwait'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 14002 "configure"
+#line 15620 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
@@ -14009,7 +15627,7 @@ int x;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:14013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_type_unionwait=no
 	 echo compiles ok w/o union wait 1>&5
@@ -14020,7 +15638,7 @@ else
   rm -rf conftest*
   
 	cat > conftest.$ac_ext <<EOF
-#line 14024 "configure"
+#line 15642 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
@@ -14035,7 +15653,7 @@ union wait x;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:14039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_type_unionwait=yes
 	 echo compiles ok with union wait and possibly macros too 1>&5
@@ -14060,7 +15678,7 @@ EOF
 
 
 echo $ac_n "checking if the system function returns usable child-status""... $ac_c" 1>&6
-echo "configure:14064: checking if the system function returns usable child-status" >&5
+echo "configure:15682: checking if the system function returns usable child-status" >&5
 if eval "test \"`echo '$''{'cf_cv_system_status'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14069,7 +15687,7 @@ else
   cf_cv_system_status=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 14073 "configure"
+#line 15691 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -14088,7 +15706,7 @@ RETSIGTYPE signal_handler (int sig)
 	int system_status;
 	wait (&wait_status);
 	system_status = WEXITSTATUS(wait_status); /* should be nonzero */
-	exit(system_status != 23);
+	${cf_cv_main_return-return}(system_status != 23);
 }
 
 int main()
@@ -14098,11 +15716,11 @@ int main()
 	 */
 	signal (SIGCHLD, signal_handler);
 	system("exit 23");
-	exit(1);
+	${cf_cv_main_return-return}(1);
 }
 
 EOF
-if { (eval echo configure:14106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:15724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_system_status=no
 else
@@ -14113,11 +15731,11 @@ else
   cf_cv_system_status=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 14117 "configure"
+#line 15735 "configure"
 #include "confdefs.h"
-int main() { exit(system("exit 23") != (23 << 8)); }
+int main() { ${cf_cv_main_return-return}(system("exit 23") != (23 << 8)); }
 EOF
-if { (eval echo configure:14121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:15739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_system_status=yes
 else
@@ -14160,13 +15778,13 @@ EOF
 
 if test "$cf_cv_ncurses_version" != no ; then
 echo $ac_n "checking for obsolete/broken version of ncurses""... $ac_c" 1>&6
-echo "configure:14164: checking for obsolete/broken version of ncurses" >&5
+echo "configure:15782: checking for obsolete/broken version of ncurses" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_broken'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 14170 "configure"
+#line 15788 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -14180,7 +15798,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:14184: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_broken=no
 else
@@ -14205,13 +15823,13 @@ fi
 
 		
 echo $ac_n "checking if curses supports color attributes""... $ac_c" 1>&6
-echo "configure:14209: checking if curses supports color attributes" >&5
+echo "configure:15827: checking if curses supports color attributes" >&5
 if eval "test \"`echo '$''{'cf_cv_color_curses'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 14215 "configure"
+#line 15833 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -14226,7 +15844,7 @@ chtype x = COLOR_BLUE;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:14230: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_color_curses=yes
 else
@@ -14277,7 +15895,7 @@ if test $check_sig_const = yes ; then
 	
 
 echo $ac_n "checking for redefinable signal constants""... $ac_c" 1>&6
-echo "configure:14281: checking for redefinable signal constants" >&5
+echo "configure:15899: checking for redefinable signal constants" >&5
 if eval "test \"`echo '$''{'cf_cv_sig_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14289,7 +15907,7 @@ if test -n "$cf_cv_sig_args"; then
   cf_cv_sig_const=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 14293 "configure"
+#line 15911 "configure"
 #include "confdefs.h"
 
 #define NEW_DFL	((RETSIGTYPE (*)($cf_test))0)
@@ -14311,12 +15929,12 @@ int main()
 #define SIG_IGN NEW_IGN
 #define SIG_ERR NEW_ERR
 	 || NEW_DFL != SIG_DFL)
-	 	exit(1);
+	 	${cf_cv_main_return-return}(1);
 	signal(SIGINT, SIG_DFL);
-	exit(0);
+	${cf_cv_main_return-return}(0);
 }
 EOF
-if { (eval echo configure:14320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:15938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_sig_const=yes
 else
@@ -14342,13 +15960,13 @@ fi
 
 
 echo $ac_n "checking for ANSI qsort""... $ac_c" 1>&6
-echo "configure:14346: checking for ANSI qsort" >&5
+echo "configure:15964: checking for ANSI qsort" >&5
 if eval "test \"`echo '$''{'cf_cv_comptype'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 14352 "configure"
+#line 15970 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
@@ -14360,7 +15978,7 @@ extern int compare(const void *, const v
 	 qsort(foo, sizeof(foo)/sizeof(*foo), sizeof(*foo), compare)
 ; return 0; }
 EOF
-if { (eval echo configure:14364: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:15982: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_comptype=yes
 else
@@ -14388,7 +16006,7 @@ fi
 
 
 echo $ac_n "checking if application can dump core""... $ac_c" 1>&6
-echo "configure:14392: checking if application can dump core" >&5
+echo "configure:16010: checking if application can dump core" >&5
 if eval "test \"`echo '$''{'cf_cv_corefile'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14397,7 +16015,7 @@ else
   cf_cv_corefile=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 14401 "configure"
+#line 16019 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
@@ -14417,13 +16035,13 @@ int main()
 /* Nicholas d'Alterio (nagd@ic.ac.uk) reports that the check for ability to
  * core dump causes the machine to crash - reason unknown (gcc 2.7.2)
  */
-	exit(1);
+	${cf_cv_main_return-return}(1);
 #else
 	int	pid, status;
 	if (found())
 		unlink("core");
 	if (found())
-		exit(1);
+		${cf_cv_main_return-return}(1);
 	if ((pid = fork()) != 0) {
 		while (wait(&status) <= 0)
 			;
@@ -14432,13 +16050,13 @@ int main()
 	}
 	if (found()) {
 		unlink("core");
-		exit(0);
+		${cf_cv_main_return-return}(0);
 	}
-	exit(1);
+	${cf_cv_main_return-return}(1);
 #endif
 }
 EOF
-if { (eval echo configure:14442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:16060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_corefile=yes
 else
@@ -14478,6 +16096,7 @@ for ac_func in \
 	strchr \
 	strcasestr \
 	strsep \
+	tmpfile \
 
 do
 
@@ -14485,18 +16104,18 @@ ac_tr_func=`echo "$ac_func" | sed y%abcd
 
 
 echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6
-echo "configure:14489: checking for missing "${ac_func}" extern" >&5
+echo "configure:16108: checking for missing "${ac_func}" extern" >&5
 if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 
-echo "(line 14495) testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me-configure}:16114: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 14500 "configure"
+#line 16119 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -14510,7 +16129,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:14514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -14518,7 +16137,7 @@ if { (eval echo configure:14514: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 14522 "configure"
+#line 16141 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -14528,7 +16147,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:14532: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16151: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -14577,18 +16196,18 @@ ac_tr_func=`echo "$ac_func" | sed y%abcd
 
 
 echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6
-echo "configure:14581: checking for missing "${ac_func}" extern" >&5
+echo "configure:16200: checking for missing "${ac_func}" extern" >&5
 if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 
-echo "(line 14587) testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me-configure}:16206: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 14592 "configure"
+#line 16211 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -14602,7 +16221,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:14606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -14610,7 +16229,7 @@ if { (eval echo configure:14606: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 14614 "configure"
+#line 16233 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -14620,7 +16239,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:14624: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16243: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -14667,18 +16286,18 @@ ac_tr_func=`echo "$ac_func" | sed y%abcd
 
 
 echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6
-echo "configure:14671: checking for missing "${ac_func}" extern" >&5
+echo "configure:16290: checking for missing "${ac_func}" extern" >&5
 if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 
-echo "(line 14677) testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me-configure}:16296: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 14682 "configure"
+#line 16301 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -14692,7 +16311,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:14696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -14700,7 +16319,7 @@ if { (eval echo configure:14696: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 14704 "configure"
+#line 16323 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -14710,7 +16329,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:14714: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16333: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -14809,18 +16428,18 @@ ac_tr_func=`echo "$ac_func" | sed y%abcd
 
 
 echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6
-echo "configure:14813: checking for missing "${ac_func}" extern" >&5
+echo "configure:16432: checking for missing "${ac_func}" extern" >&5
 if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 
-echo "(line 14819) testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me-configure}:16438: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 14824 "configure"
+#line 16443 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -14834,7 +16453,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:14838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -14842,7 +16461,7 @@ if { (eval echo configure:14838: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 14846 "configure"
+#line 16465 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -14852,7 +16471,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:14856: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16475: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -14896,18 +16515,18 @@ ac_tr_func=`echo "$ac_func" | sed y%abcd
 
 
 echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6
-echo "configure:14900: checking for missing "${ac_func}" extern" >&5
+echo "configure:16519: checking for missing "${ac_func}" extern" >&5
 if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 
-echo "(line 14906) testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me-configure}:16525: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 14911 "configure"
+#line 16530 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -14921,7 +16540,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:14925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -14929,7 +16548,7 @@ if { (eval echo configure:14925: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 14933 "configure"
+#line 16552 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -14939,7 +16558,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:14943: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -14986,18 +16605,18 @@ ac_tr_func=`echo "$ac_func" | sed y%abcd
 
 
 echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6
-echo "configure:14990: checking for missing "${ac_func}" extern" >&5
+echo "configure:16609: checking for missing "${ac_func}" extern" >&5
 if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 
-echo "(line 14996) testing for missing "${ac_func}" external ..." 1>&5
+echo "${as_me-configure}:16615: testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 15001 "configure"
+#line 16620 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -15011,7 +16630,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:15015: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   if test -n "$CHECK_DECL_HDRS" ; then
 # try to work around system headers which are infested with non-standard syntax
@@ -15019,7 +16638,7 @@ if { (eval echo configure:15015: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 15023 "configure"
+#line 16642 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -15029,7 +16648,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:15033: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16652: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -15067,7 +16686,7 @@ fi
 
 
 echo $ac_n "checking for working TIOCGWINSZ""... $ac_c" 1>&6
-echo "configure:15071: checking for working TIOCGWINSZ" >&5
+echo "configure:16690: checking for working TIOCGWINSZ" >&5
 if eval "test \"`echo '$''{'cf_cv_use_tiocgwinsz'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -15078,7 +16697,7 @@ else
   cf_cv_use_tiocgwinsz=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 15082 "configure"
+#line 16701 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -15091,19 +16710,19 @@ int main()
 		if (ioctl (0, TIOCGSIZE, &size) == 0
 		 && size.ts_lines > 0
 		 && size.ts_cols > 0)
-			exit(0);
+			${cf_cv_main_return-return}(0);
 #else
 		struct winsize size;
 		if (ioctl(0, TIOCGWINSZ, &size) == 0
 		 && size.ws_row > 0
 		 && size.ws_col > 0)
-			exit(0);
+			${cf_cv_main_return-return}(0);
 #endif
 	}
-	exit(0);	/* we cannot guarantee this is run interactively */
+	${cf_cv_main_return-return}(0);	/* we cannot guarantee this is run interactively */
 }
 EOF
-if { (eval echo configure:15107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:16726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cf_cv_use_tiocgwinsz=yes
 else
@@ -15150,7 +16769,7 @@ esac
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:15154: checking for $ac_word" >&5
+echo "configure:16773: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -15180,19 +16799,19 @@ fi
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:15184: checking for working alloca.h" >&5
+echo "configure:16803: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15189 "configure"
+#line 16808 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:15196: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -15213,12 +16832,12 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:15217: checking for alloca" >&5
+echo "configure:16836: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15222 "configure"
+#line 16841 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -15246,7 +16865,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:15250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -15278,12 +16897,12 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:15282: checking whether alloca needs Cray hooks" >&5
+echo "configure:16901: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15287 "configure"
+#line 16906 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -15308,12 +16927,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15312: checking for $ac_func" >&5
+echo "configure:16931: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15317 "configure"
+#line 16936 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -15336,7 +16955,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:15340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -15363,7 +16982,7 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:15367: checking stack direction for C alloca" >&5
+echo "configure:16986: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -15371,7 +16990,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 15375 "configure"
+#line 16994 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -15390,7 +17009,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:15394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:17013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -15415,17 +17034,17 @@ for ac_hdr in unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:15419: checking for $ac_hdr" >&5
+echo "configure:17038: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15424 "configure"
+#line 17043 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:15429: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:17048: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -15454,12 +17073,12 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15458: checking for $ac_func" >&5
+echo "configure:17077: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15463 "configure"
+#line 17082 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -15482,7 +17101,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:15486: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -15507,7 +17126,7 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:15511: checking for working mmap" >&5
+echo "configure:17130: checking for working mmap" >&5
 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -15515,7 +17134,7 @@ else
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 15519 "configure"
+#line 17138 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -15655,7 +17274,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:15659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:17278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_mmap_fixed_mapped=yes
 else
@@ -15679,12 +17298,12 @@ fi
 
 
     echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6
-echo "configure:15683: checking whether we are using the GNU C Library 2.1 or newer" >&5
+echo "configure:17302: checking whether we are using the GNU C Library 2.1 or newer" >&5
 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15688 "configure"
+#line 17307 "configure"
 #include "confdefs.h"
 
 #include <features.h>
@@ -15720,214 +17339,689 @@ echo "$ac_t""$ac_cv_gnu_library_2_1" 1>&
 	*)	PATHSEP=':'  ;;
 	esac
 
-	
+	
+
+
+cf_makefile=Makefile
+
+test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && echo *.po|sed -e 's/\.po//g' -e 's/*//'`
+
+# Allow override of "config.h" definition:
+: ${CONFIG_H=config.h}
+
+
+if test -z "$VERSION" ; then
+if test -f $srcdir/VERSION ; then
+	VERSION=`sed -e '2,$d' $srcdir/VERSION|cut -f1`
+else
+	VERSION=unknown
+fi
+fi
+
+
+                                    
+   for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:17369: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 17374 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:17379: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+ 
+else
+  echo "$ac_t""no" 1>&6
+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
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:17410: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 17415 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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();
+
+int main() {
+
+/* The GNU C library defines this 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)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:17438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+ 
+else
+  echo "$ac_t""no" 1>&6
+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 #(vi
+  no) #(vi
+      ;;
+  yes) #(vi
+      ;;
+  *)
+      
+for cf_searchpath in `echo "$withval" | tr : ' '`; do
+	if test -d $cf_searchpath/include; then
+		
+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
+
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 17505 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int main() {
+printf("Hello")
+; return 0; }
+EOF
+if { (eval echo configure:17512: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_have_incdir=yes
+fi
+rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:17529: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
+fi
+
+	elif test -d $cf_searchpath/../include ; then
+		
+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
+
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 17571 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int main() {
+printf("Hello")
+; return 0; }
+EOF
+if { (eval echo configure:17578: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_have_incdir=yes
+fi
+rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:17595: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
+fi
+
+	else
+{ echo "configure: error: cannot find libiconv under $withval" 1>&2; exit 1; }
+	fi
+	if test -d $cf_searchpath/lib; then
+		
+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}:17635: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
+
+	elif test -d $cf_searchpath ; then
+		
+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}:17665: testing adding $cf_add_libdir to library-path ..." 1>&5
 
-cf_makefile=Makefile
 
-test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && echo *.po|sed -e 's/\.po//g' -e 's/*//'`
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
 
-# Allow override of "config.h" definition:
-: ${CONFIG_H=config.h}
+	else
+{ echo "configure: error: cannot find libiconv under $withval" 1>&2; exit 1; }
+	fi
+done
 
+      ;;
+  esac
 
-if test -z "$VERSION" ; then
-if test -f $srcdir/VERSION ; then
-	VERSION=`sed -e '2,$d' $srcdir/VERSION|cut -f1`
-else
-	VERSION=unknown
-fi
+   
 fi
 
 
-                                    
-   for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:15750: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "checking for iconv""... $ac_c" 1>&6
+echo "configure:17687: checking for iconv" >&5
+if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-  cat > conftest.$ac_ext <<EOF
-#line 15755 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:15760: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
- 
-else
-  echo "$ac_t""no" 1>&6
-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
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:15791: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 15796 "configure"
+# 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_iconv=
+cf_cv_library_path_iconv=
+
+
+echo "${as_me-configure}:17700: testing Starting FIND_LINKAGE(iconv,) ..." 1>&5
+
+
+cat > conftest.$ac_ext <<EOF
+#line 17704 "configure"
 #include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* 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();
+
+#include <stdlib.h>
+#include <iconv.h>
 
 int main() {
 
-/* The GNU C library defines this 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)
-choke me
-#else
-$ac_func();
-#endif
+	iconv_t cd = iconv_open("","");
+	iconv(cd,NULL,NULL,NULL,NULL);
+	iconv_close(cd);
 
 ; return 0; }
 EOF
-if { (eval echo configure:15819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
+  cf_cv_find_linkage_iconv=yes
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
+  
+    cf_cv_find_linkage_iconv=no
 
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
- 
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
+    
+echo "${as_me-configure}:17729: testing Searching for headers in FIND_LINKAGE(iconv,) ..." 1>&5
 
 
-   
-    
-  
-# Check whether --with-libiconv-prefix or --without-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then
-  withval="$with_libiconv_prefix"
-  
-    for dir in `echo "$withval" | tr : ' '`; do
-      if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
-      if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
-    done
-   
-fi
+    cf_save_CPPFLAGS="$CPPFLAGS"
+    cf_test_CPPFLAGS="$CPPFLAGS"
 
+    cf_search=""
 
-  echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:15860: checking for iconv" >&5
-if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    cat > conftest.$ac_ext <<EOF
-#line 15868 "configure"
+
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr"
+	test -d /usr/include &&          cf_search="$cf_search /usr/include"
+	test -d /usr/include/iconv &&       cf_search="$cf_search /usr/include/iconv"
+	test -d /usr/include/iconv/include &&    cf_search="$cf_search /usr/include/iconv/include"
+	test -d /usr/iconv/include &&       cf_search="$cf_search /usr/iconv/include"
+	test -d /usr/iconv/include/iconv &&    cf_search="$cf_search /usr/iconv/include/iconv"
+}
+
+
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for include-directories under $prefix"
+	test -d $prefix/include &&          cf_search="$cf_search $prefix/include"
+	test -d $prefix/include/iconv &&       cf_search="$cf_search $prefix/include/iconv"
+	test -d $prefix/include/iconv/include &&    cf_search="$cf_search $prefix/include/iconv/include"
+	test -d $prefix/iconv/include &&       cf_search="$cf_search $prefix/iconv/include"
+	test -d $prefix/iconv/include/iconv &&    cf_search="$cf_search $prefix/iconv/include/iconv"
+}
+
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr/local"
+	test -d /usr/local/include &&          cf_search="$cf_search /usr/local/include"
+	test -d /usr/local/include/iconv &&       cf_search="$cf_search /usr/local/include/iconv"
+	test -d /usr/local/include/iconv/include &&    cf_search="$cf_search /usr/local/include/iconv/include"
+	test -d /usr/local/iconv/include &&       cf_search="$cf_search /usr/local/iconv/include"
+	test -d /usr/local/iconv/include/iconv &&    cf_search="$cf_search /usr/local/iconv/include/iconv"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /opt"
+	test -d /opt/include &&          cf_search="$cf_search /opt/include"
+	test -d /opt/include/iconv &&       cf_search="$cf_search /opt/include/iconv"
+	test -d /opt/include/iconv/include &&    cf_search="$cf_search /opt/include/iconv/include"
+	test -d /opt/iconv/include &&       cf_search="$cf_search /opt/iconv/include"
+	test -d /opt/iconv/include/iconv &&    cf_search="$cf_search /opt/iconv/include/iconv"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under $HOME"
+	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
+	test -d $HOME/include/iconv &&       cf_search="$cf_search $HOME/include/iconv"
+	test -d $HOME/include/iconv/include &&    cf_search="$cf_search $HOME/include/iconv/include"
+	test -d $HOME/iconv/include &&       cf_search="$cf_search $HOME/iconv/include"
+	test -d $HOME/iconv/include/iconv &&    cf_search="$cf_search $HOME/iconv/include/iconv"
+}
+
+
+test "$includedir" != NONE && \
+test "$includedir" != "/usr/include" && \
+test -d "$includedir" && {
+	test -d $includedir &&    cf_search="$cf_search $includedir"
+	test -d $includedir/iconv && cf_search="$cf_search $includedir/iconv"
+}
+
+test "$oldincludedir" != NONE && \
+test "$oldincludedir" != "/usr/include" && \
+test -d "$oldincludedir" && {
+	test -d $oldincludedir    && cf_search="$cf_search $oldincludedir"
+	test -d $oldincludedir/iconv && cf_search="$cf_search $oldincludedir/iconv"
+}
+
+
+    for cf_cv_header_path_iconv in $cf_search
+    do
+      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}:17818: testing ... testing $cf_cv_header_path_iconv ..." 1>&5
+
+
+        CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_iconv"
+        cat > conftest.$ac_ext <<EOF
+#line 17823 "configure"
 #include "confdefs.h"
+
 #include <stdlib.h>
 #include <iconv.h>
+
 int main() {
-iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);
+
+	iconv_t cd = iconv_open("","");
+	iconv(cd,NULL,NULL,NULL,NULL);
+	iconv_close(cd);
+
 ; return 0; }
 EOF
-if { (eval echo configure:15878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17837: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
-  am_cv_func_iconv=yes
+  
+            test -n "$verbose" && echo "	... found iconv headers in $cf_cv_header_path_iconv" 1>&6
+
+echo "${as_me-configure}:17842: testing ... found iconv headers in $cf_cv_header_path_iconv ..." 1>&5
+
+
+            cf_cv_find_linkage_iconv=maybe
+            cf_test_CPPFLAGS="$CPPFLAGS"
+            break
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  
+            CPPFLAGS="$cf_save_CPPFLAGS"
+            
 fi
 rm -f conftest*
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS -liconv"
-      cat > conftest.$ac_ext <<EOF
-#line 15890 "configure"
+      fi
+    done
+
+    if test "$cf_cv_find_linkage_iconv" = maybe ; then
+
+      
+echo "${as_me-configure}:17863: testing Searching for iconv library in FIND_LINKAGE(iconv,) ..." 1>&5
+
+
+      cf_save_LIBS="$LIBS"
+      cf_save_LDFLAGS="$LDFLAGS"
+
+      
+
+      if test "$cf_cv_find_linkage_iconv" != yes ; then
+        cf_search=""
+
+
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr"
+	test -d /usr/lib &&          cf_search="$cf_search /usr/lib"
+	test -d /usr/lib/iconv &&       cf_search="$cf_search /usr/lib/iconv"
+	test -d /usr/lib/iconv/lib &&    cf_search="$cf_search /usr/lib/iconv/lib"
+	test -d /usr/iconv/lib &&       cf_search="$cf_search /usr/iconv/lib"
+	test -d /usr/iconv/lib/iconv &&    cf_search="$cf_search /usr/iconv/lib/iconv"
+}
+
+
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for lib-directories under $prefix"
+	test -d $prefix/lib &&          cf_search="$cf_search $prefix/lib"
+	test -d $prefix/lib/iconv &&       cf_search="$cf_search $prefix/lib/iconv"
+	test -d $prefix/lib/iconv/lib &&    cf_search="$cf_search $prefix/lib/iconv/lib"
+	test -d $prefix/iconv/lib &&       cf_search="$cf_search $prefix/iconv/lib"
+	test -d $prefix/iconv/lib/iconv &&    cf_search="$cf_search $prefix/iconv/lib/iconv"
+}
+
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr/local"
+	test -d /usr/local/lib &&          cf_search="$cf_search /usr/local/lib"
+	test -d /usr/local/lib/iconv &&       cf_search="$cf_search /usr/local/lib/iconv"
+	test -d /usr/local/lib/iconv/lib &&    cf_search="$cf_search /usr/local/lib/iconv/lib"
+	test -d /usr/local/iconv/lib &&       cf_search="$cf_search /usr/local/iconv/lib"
+	test -d /usr/local/iconv/lib/iconv &&    cf_search="$cf_search /usr/local/iconv/lib/iconv"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /opt"
+	test -d /opt/lib &&          cf_search="$cf_search /opt/lib"
+	test -d /opt/lib/iconv &&       cf_search="$cf_search /opt/lib/iconv"
+	test -d /opt/lib/iconv/lib &&    cf_search="$cf_search /opt/lib/iconv/lib"
+	test -d /opt/iconv/lib &&       cf_search="$cf_search /opt/iconv/lib"
+	test -d /opt/iconv/lib/iconv &&    cf_search="$cf_search /opt/iconv/lib/iconv"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under $HOME"
+	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
+	test -d $HOME/lib/iconv &&       cf_search="$cf_search $HOME/lib/iconv"
+	test -d $HOME/lib/iconv/lib &&    cf_search="$cf_search $HOME/lib/iconv/lib"
+	test -d $HOME/iconv/lib &&       cf_search="$cf_search $HOME/iconv/lib"
+	test -d $HOME/iconv/lib/iconv &&    cf_search="$cf_search $HOME/iconv/lib/iconv"
+}
+
+
+        for cf_cv_library_path_iconv in $cf_search
+        do
+          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}:17940: 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 <<EOF
+#line 17947 "configure"
 #include "confdefs.h"
+
 #include <stdlib.h>
 #include <iconv.h>
+
 int main() {
-iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);
+
+	iconv_t cd = iconv_open("","");
+	iconv(cd,NULL,NULL,NULL,NULL);
+	iconv_close(cd);
+
 ; return 0; }
 EOF
-if { (eval echo configure:15900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:17961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
-  am_cv_lib_iconv=yes
-        am_cv_func_iconv=yes
+  
+                test -n "$verbose" && echo "	... found iconv library in $cf_cv_library_path_iconv" 1>&6
+
+echo "${as_me-configure}:17966: testing ... found iconv library in $cf_cv_library_path_iconv ..." 1>&5
+
+
+                cf_cv_find_linkage_iconv=yes
+                cf_cv_library_file_iconv="-liconv"
+                break
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  
+                CPPFLAGS="$cf_save_CPPFLAGS"
+                LIBS="$cf_save_LIBS"
+                LDFLAGS="$cf_save_LDFLAGS"
+                
 fi
 rm -f conftest*
-      LIBS="$am_save_LIBS"
+          fi
+        done
+        LIBS="$cf_save_LIBS"
+        CPPFLAGS="$cf_save_CPPFLAGS"
+        LDFLAGS="$cf_save_LDFLAGS"
+      fi
+
+    else
+      cf_cv_find_linkage_iconv=no
     fi
-  
+    
+fi
+rm -f conftest*
+
+if test "$cf_cv_find_linkage_iconv" = yes ; then
+am_cv_func_iconv=yes
+else
+am_cv_func_iconv="no, consider installing GNU libiconv"
+fi
+
 fi
 
 echo "$ac_t""$am_cv_func_iconv" 1>&6
+
   if test "$am_cv_func_iconv" = yes; then
     cat >> confdefs.h <<\EOF
 #define HAVE_ICONV 1
 EOF
 
-    echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6
-echo "configure:15921: checking for iconv declaration" >&5
-    if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then
+
+    echo $ac_n "checking if the declaration of iconv() needs const.""... $ac_c" 1>&6
+echo "configure:18014: checking if the declaration of iconv() needs const." >&5
+if eval "test \"`echo '$''{'am_cv_proto_iconv_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
       cat > conftest.$ac_ext <<EOF
-#line 15927 "configure"
+#line 18020 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
 #include <iconv.h>
+ 
 extern
 #ifdef __cplusplus
 "C"
@@ -15938,52 +18032,154 @@ size_t iconv (iconv_t cd, char * *inbuf,
 size_t iconv();
 #endif
 
-int main() {
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:18040: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  am_cv_proto_iconv_const=no
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  am_cv_proto_iconv_const=yes
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$am_cv_proto_iconv_const" 1>&6
+
+    if test "$am_cv_proto_iconv_const" = yes ; then
+      am_cv_proto_iconv_arg1="const"
+    else
+      am_cv_proto_iconv_arg1=""
+    fi
+
+    cat >> confdefs.h <<EOF
+#define ICONV_CONST $am_cv_proto_iconv_arg1
+EOF
+
+  fi
+
+  LIBICONV=
+  if test "$cf_cv_find_linkage_iconv" = yes; then
+    
+if test -n "$cf_cv_header_path_iconv" ; then
+  for cf_add_incdir in $cf_cv_header_path_iconv
+  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
 
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 18093 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int main() {
+printf("Hello")
 ; return 0; }
 EOF
-if { (eval echo configure:15946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  am_cv_proto_iconv_arg1=""
+if { (eval echo configure:18100: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  am_cv_proto_iconv_arg1="const"
+  cf_have_incdir=yes
 fi
 rm -f conftest*
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:18117: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
 fi
 
-    am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    echo "$ac_t""${ac_t:-
-         }$am_cv_proto_iconv" 1>&6
-    cat >> confdefs.h <<EOF
-#define ICONV_CONST $am_cv_proto_iconv_arg1
-EOF
+    if test -n "$cf_cv_library_file_iconv" ; then
+      LIBICONV="-liconv"
+      
+if test -n "$cf_cv_library_path_iconv" ; then
+  for cf_add_libdir in $cf_cv_library_path_iconv
+  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}:18155: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        LDFLAGS="-L$cf_add_libdir $LDFLAGS"
+      fi
+    fi
+  done
+fi
+
+    fi
   fi
-  LIBICONV=
-  if test "$am_cv_lib_iconv" = yes; then
-    LIBICONV="-liconv"
-  fi
+
   
 
    
   echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6
-echo "configure:15975: checking for nl_langinfo and CODESET" >&5
+echo "configure:18171: checking for nl_langinfo and CODESET" >&5
 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 15980 "configure"
+#line 18176 "configure"
 #include "confdefs.h"
 #include <langinfo.h>
 int main() {
 char* cs = nl_langinfo(CODESET);
 ; return 0; }
 EOF
-if { (eval echo configure:15987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_langinfo_codeset=yes
 else
@@ -16006,19 +18202,19 @@ EOF
 
    if test $ac_cv_header_locale_h = yes; then
     echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:16010: checking for LC_MESSAGES" >&5
+echo "configure:18206: checking for LC_MESSAGES" >&5
 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 16015 "configure"
+#line 18211 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 return LC_MESSAGES
 ; return 0; }
 EOF
-if { (eval echo configure:16022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_val_LC_MESSAGES=yes
 else
@@ -16039,9 +18235,9 @@ EOF
     fi
   fi
    echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:16043: checking whether NLS is requested" >&5
-        
+echo "configure:18239: checking whether NLS is requested" >&5
     
+  
 # Check whether --enable-nls or --disable-nls was given.
 if test "${enable_nls+set}" = set; then
   enableval="$enable_nls"
@@ -16050,21 +18246,21 @@ else
   USE_NLS=yes
 fi
 
-    echo "$ac_t""$USE_NLS" 1>&6
-    
+  echo "$ac_t""$USE_NLS" 1>&6
+  
 
-    BUILD_INCLUDED_LIBINTL=no
-    USE_INCLUDED_LIBINTL=no
-    INTLLIBS=
+  BUILD_INCLUDED_LIBINTL=no
+  USE_INCLUDED_LIBINTL=no
+  INTLLIBS=
 
-        if test "$USE_NLS" = "yes"; then
-      cat >> confdefs.h <<\EOF
+    if test "$USE_NLS" = "yes"; then
+    cat >> confdefs.h <<\EOF
 #define ENABLE_NLS 1
 EOF
 
-      echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:16067: checking whether included gettext is requested" >&5
-      
+    echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
+echo "configure:18263: checking whether included gettext is requested" >&5
+    
 # Check whether --with-included-gettext or --without-included-gettext was given.
 if test "${with_included_gettext+set}" = set; then
   withval="$with_included_gettext"
@@ -16073,291 +18269,219 @@ else
   nls_cv_force_use_gnu_gettext=no
 fi
 
-      echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6
-
-      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-                        	CATOBJEXT=NONE
-
-                
-        
+    echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6
 
-	
-ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:16089: checking for libintl.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+    nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+    if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+                        CATOBJEXT=NONE
+
+      echo $ac_n "checking for libintl.h and gettext()""... $ac_c" 1>&6
+echo "configure:18280: checking for libintl.h and gettext()" >&5
+if eval "test \"`echo '$''{'cf_cv_func_gettext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-  cat > conftest.$ac_ext <<EOF
-#line 16094 "configure"
+  
+        
+
+# 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}:18293: testing Starting FIND_LINKAGE(intl,) ..." 1>&5
+
+
+cat > conftest.$ac_ext <<EOF
+#line 18297 "configure"
 #include "confdefs.h"
+
 #include <libintl.h>
+extern int _nl_msg_cat_cntr;
+
+int main() {
+
+    bindtextdomain ("", "");
+    return (int) gettext ("")
+            
+             + _nl_msg_cat_cntr
+
+; return 0; }
 EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:16099: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
+if { (eval echo configure:18312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
+  cf_cv_find_linkage_intl=yes
 else
-  echo "$ac_err" >&5
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  cf_find_header=yes
-else
-  echo "$ac_t""no" 1>&6
+  
+    cf_cv_find_linkage_intl=no
+
+    
+echo "${as_me-configure}:18323: testing Searching for headers in FIND_LINKAGE(intl,) ..." 1>&5
 
-	cf_find_header=no
-cf_search=""
 
-test -d $HOME && {
-	test -n "$verbose" && echo "	... testing include-directories under $HOME"
-	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
-	test -d $HOME/include/gettext &&       cf_search="$cf_search $HOME/include/gettext"
-	test -d $HOME/include/gettext/include &&    cf_search="$cf_search $HOME/include/gettext/include"
+    cf_save_CPPFLAGS="$CPPFLAGS"
+    cf_test_CPPFLAGS="$CPPFLAGS"
+
+    cf_search=""
+
+
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr"
+	test -d /usr/include &&          cf_search="$cf_search /usr/include"
+	test -d /usr/include/intl &&       cf_search="$cf_search /usr/include/intl"
+	test -d /usr/include/intl/include &&    cf_search="$cf_search /usr/include/intl/include"
+	test -d /usr/intl/include &&       cf_search="$cf_search /usr/intl/include"
+	test -d /usr/intl/include/intl &&    cf_search="$cf_search /usr/intl/include/intl"
 }
 
-# For other stuff under the home directory, it should be sufficient to put
-# a symbolic link for $HOME/gettext to the actual package location:
-test -d $HOME/gettext && {
-	test -n "$verbose" && echo "	... testing include-directories under $HOME/gettext"
-	test -d $HOME/gettext/include &&       cf_search="$cf_search $HOME/gettext/include"
-	test -d $HOME/gettext/include/gettext &&    cf_search="$cf_search $HOME/gettext/include/gettext"
-}
-
-test "$prefix" != /usr/local && \
-test -d /usr/local && {
-	test -n "$verbose" && echo "	... testing include-directories under /usr/local"
-	test -d /usr/local/include &&       cf_search="$cf_search /usr/local/include"
-	test -d /usr/local/include/gettext &&    cf_search="$cf_search /usr/local/include/gettext"
-	test -d /usr/local/include/gettext/include && cf_search="$cf_search /usr/local/include/gettext/include"
-	test -d /usr/local/gettext/include &&    cf_search="$cf_search /usr/local/gettext/include"
-	test -d /usr/local/gettext/include/gettext && cf_search="$cf_search /usr/local/gettext/include/gettext"
-}
-
-test "$prefix" != NONE && \
-test -d $prefix && {
-	test -n "$verbose" && echo "	... testing include-directories under $prefix"
+
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for include-directories under $prefix"
 	test -d $prefix/include &&          cf_search="$cf_search $prefix/include"
-	test -d $prefix/include/gettext &&       cf_search="$cf_search $prefix/include/gettext"
-	test -d $prefix/include/gettext/include &&    cf_search="$cf_search $prefix/include/gettext/include"
-	test -d $prefix/gettext/include &&       cf_search="$cf_search $prefix/gettext/include"
-	test -d $prefix/gettext/include/gettext &&    cf_search="$cf_search $prefix/gettext/include/gettext"
-}
-
-test "$prefix" != /opt && \
-test -d /opt && {
-	test -n "$verbose" && echo "	... testing include-directories under /opt"
-	test -d /opt/include &&             cf_search="$cf_search /opt/include"
-	test -d /opt/include/gettext &&          cf_search="$cf_search /opt/include/gettext"
-	test -d /opt/include/gettext/include &&       cf_search="$cf_search /opt/include/gettext/include"
-	test -d /opt/gettext/include &&          cf_search="$cf_search /opt/gettext/include"
-	test -d /opt/gettext/include/gettext &&       cf_search="$cf_search /opt/gettext/include/gettext"
-}
-
-test "$prefix" != /usr && \
-test -d /usr && {
-	test -n "$verbose" && echo "	... testing include-directories under /usr"
-	test -d /usr/include &&             cf_search="$cf_search /usr/include"
-	test -d /usr/include/gettext &&          cf_search="$cf_search /usr/include/gettext"
-	test -d /usr/include/gettext/include &&       cf_search="$cf_search /usr/include/gettext/include"
-	test -d /usr/gettext/include &&          cf_search="$cf_search /usr/gettext/include"
+	test -d $prefix/include/intl &&       cf_search="$cf_search $prefix/include/intl"
+	test -d $prefix/include/intl/include &&    cf_search="$cf_search $prefix/include/intl/include"
+	test -d $prefix/intl/include &&       cf_search="$cf_search $prefix/intl/include"
+	test -d $prefix/intl/include/intl &&    cf_search="$cf_search $prefix/intl/include/intl"
+}
+
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /usr/local"
+	test -d /usr/local/include &&          cf_search="$cf_search /usr/local/include"
+	test -d /usr/local/include/intl &&       cf_search="$cf_search /usr/local/include/intl"
+	test -d /usr/local/include/intl/include &&    cf_search="$cf_search /usr/local/include/intl/include"
+	test -d /usr/local/intl/include &&       cf_search="$cf_search /usr/local/intl/include"
+	test -d /usr/local/intl/include/intl &&    cf_search="$cf_search /usr/local/intl/include/intl"
 }
 
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under /opt"
+	test -d /opt/include &&          cf_search="$cf_search /opt/include"
+	test -d /opt/include/intl &&       cf_search="$cf_search /opt/include/intl"
+	test -d /opt/include/intl/include &&    cf_search="$cf_search /opt/include/intl/include"
+	test -d /opt/intl/include &&       cf_search="$cf_search /opt/intl/include"
+	test -d /opt/intl/include/intl &&    cf_search="$cf_search /opt/intl/include/intl"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for include-directories under $HOME"
+	test -d $HOME/include &&          cf_search="$cf_search $HOME/include"
+	test -d $HOME/include/intl &&       cf_search="$cf_search $HOME/include/intl"
+	test -d $HOME/include/intl/include &&    cf_search="$cf_search $HOME/include/intl/include"
+	test -d $HOME/intl/include &&       cf_search="$cf_search $HOME/intl/include"
+	test -d $HOME/intl/include/intl &&    cf_search="$cf_search $HOME/intl/include/intl"
+}
+
+
 test "$includedir" != NONE && \
 test "$includedir" != "/usr/include" && \
 test -d "$includedir" && {
 	test -d $includedir &&    cf_search="$cf_search $includedir"
-	test -d $includedir/gettext && cf_search="$cf_search $includedir/gettext"
+	test -d $includedir/intl && cf_search="$cf_search $includedir/intl"
 }
 
 test "$oldincludedir" != NONE && \
 test "$oldincludedir" != "/usr/include" && \
 test -d "$oldincludedir" && {
 	test -d $oldincludedir    && cf_search="$cf_search $oldincludedir"
-	test -d $oldincludedir/gettext && cf_search="$cf_search $oldincludedir/gettext"
+	test -d $oldincludedir/intl && cf_search="$cf_search $oldincludedir/intl"
 }
 
 
-for cf_incdir in $cf_search
-do
-	if test -f $cf_incdir/libintl.h ; then
-		
-cf_fix_cppflags=no
-cf_new_cflags=
-cf_new_cppflags=
-cf_new_extra_cppflags=
-
-for cf_add_cflags in -I$cf_incdir
-do
-case $cf_fix_cppflags in
-no)
-	case $cf_add_cflags in #(vi
-	-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
-		case $cf_add_cflags in
-		-D*)
-			cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
-
-			test "${cf_add_cflags}" != "${cf_tst_cflags}" \
-			&& test -z "${cf_tst_cflags}" \
-			&& cf_fix_cppflags=yes
-
-			if test $cf_fix_cppflags = yes ; then
-				cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
-				continue
-			elif test "${cf_tst_cflags}" = "\"'" ; then
-				cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
-				continue
-			fi
-			;;
-		esac
-		case "$CPPFLAGS" in
-		*$cf_add_cflags) #(vi
-			;;
-		*) #(vi
-			cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
-			;;
-		esac
-		;;
-	*)
-		cf_new_cflags="$cf_new_cflags $cf_add_cflags"
-		;;
-	esac
-	;;
-yes)
-	cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
-
-	cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
-
-	test "${cf_add_cflags}" != "${cf_tst_cflags}" \
-	&& test -z "${cf_tst_cflags}" \
-	&& cf_fix_cppflags=no
-	;;
-esac
-done
-
-if test -n "$cf_new_cflags" ; then
-	
-	CFLAGS="$CFLAGS $cf_new_cflags"
-fi
-
-if test -n "$cf_new_cppflags" ; then
-	
-	CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
-fi
-
-if test -n "$cf_new_extra_cppflags" ; then
-	
-	EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
-fi
-
-
-
-
-		test -n "$verbose" && echo "	... found in $cf_incdir" 1>&6
-
-		cf_find_header=yes
-		break
-	fi
-	test -n "$verbose" && echo "	... tested $cf_incdir" 1>&6
-
-done
+    for cf_cv_header_path_intl in $cf_search
+    do
+      if test -d $cf_cv_header_path_intl ; then
+        test -n "$verbose" && echo "	... testing $cf_cv_header_path_intl" 1>&6
 
-fi
+echo "${as_me-configure}:18412: testing ... testing $cf_cv_header_path_intl ..." 1>&5
 
-if test "$cf_find_header" = yes ; then
-cat >> confdefs.h <<\EOF
-#define HAVE_LIBINTL_H 1
-EOF
 
-	   echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6
-echo "configure:16283: checking for GNU gettext in libc" >&5
-if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 16288 "configure"
+        CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_intl"
+        cat > conftest.$ac_ext <<EOF
+#line 18417 "configure"
 #include "confdefs.h"
+
 #include <libintl.h>
 extern int _nl_msg_cat_cntr;
+
 int main() {
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr
+
+    bindtextdomain ("", "");
+    return (int) gettext ("")
+            
+             + _nl_msg_cat_cntr
+
 ; return 0; }
 EOF
-if { (eval echo configure:16297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
-  gt_cv_func_gnugettext1_libc=yes
+  
+            test -n "$verbose" && echo "	... found intl headers in $cf_cv_header_path_intl" 1>&6
+
+echo "${as_me-configure}:18437: testing ... found intl headers in $cf_cv_header_path_intl ..." 1>&5
+
+
+            cf_cv_find_linkage_intl=maybe
+            cf_test_CPPFLAGS="$CPPFLAGS"
+            break
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
-  gt_cv_func_gnugettext1_libc=no
+  
+            CPPFLAGS="$cf_save_CPPFLAGS"
+            
 fi
 rm -f conftest*
-fi
+      fi
+    done
 
-echo "$ac_t""$gt_cv_func_gnugettext1_libc" 1>&6
+    if test "$cf_cv_find_linkage_intl" = maybe ; then
 
-	   if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
-	     
-cat > conftest.$ac_ext <<EOF
-#line 16314 "configure"
-#include "confdefs.h"
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-int main() {
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr
-; return 0; }
-EOF
-if { (eval echo configure:16323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  cf_find_linkage=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  
-	cf_find_linkage=no
-cf_search=""
+      
+echo "${as_me-configure}:18458: testing Searching for intl library in FIND_LINKAGE(intl,) ..." 1>&5
 
-test -d $HOME && {
-	test -n "$verbose" && echo "	... testing lib-directories under $HOME"
-	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
-	test -d $HOME/lib/intl &&       cf_search="$cf_search $HOME/lib/intl"
-	test -d $HOME/lib/intl/lib &&    cf_search="$cf_search $HOME/lib/intl/lib"
-}
 
-# For other stuff under the home directory, it should be sufficient to put
-# a symbolic link for $HOME/intl to the actual package location:
-test -d $HOME/intl && {
-	test -n "$verbose" && echo "	... testing lib-directories under $HOME/intl"
-	test -d $HOME/intl/lib &&       cf_search="$cf_search $HOME/intl/lib"
-	test -d $HOME/intl/lib/intl &&    cf_search="$cf_search $HOME/intl/lib/intl"
-}
+      cf_save_LIBS="$LIBS"
+      cf_save_LDFLAGS="$LDFLAGS"
+
+      
 
-test "$prefix" != /usr/local && \
-test -d /usr/local && {
-	test -n "$verbose" && echo "	... testing lib-directories under /usr/local"
-	test -d /usr/local/lib &&       cf_search="$cf_search /usr/local/lib"
-	test -d /usr/local/lib/intl &&    cf_search="$cf_search /usr/local/lib/intl"
-	test -d /usr/local/lib/intl/lib && cf_search="$cf_search /usr/local/lib/intl/lib"
-	test -d /usr/local/intl/lib &&    cf_search="$cf_search /usr/local/intl/lib"
-	test -d /usr/local/intl/lib/intl && cf_search="$cf_search /usr/local/intl/lib/intl"
+      if test "$cf_cv_find_linkage_intl" != yes ; then
+        cf_search=""
+
+
+test "/usr" != "$prefix" && \
+test -d "/usr" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr"
+	test -d /usr/lib &&          cf_search="$cf_search /usr/lib"
+	test -d /usr/lib/intl &&       cf_search="$cf_search /usr/lib/intl"
+	test -d /usr/lib/intl/lib &&    cf_search="$cf_search /usr/lib/intl/lib"
+	test -d /usr/intl/lib &&       cf_search="$cf_search /usr/intl/lib"
+	test -d /usr/intl/lib/intl &&    cf_search="$cf_search /usr/intl/lib/intl"
 }
 
-test "$prefix" != NONE && \
-test -d $prefix && {
-	test -n "$verbose" && echo "	... testing lib-directories under $prefix"
+
+test "$prefix" != "NONE" && \
+test -d "$prefix" && \
+ {
+	test -n "$verbose" && echo "	... testing for lib-directories under $prefix"
 	test -d $prefix/lib &&          cf_search="$cf_search $prefix/lib"
 	test -d $prefix/lib/intl &&       cf_search="$cf_search $prefix/lib/intl"
 	test -d $prefix/lib/intl/lib &&    cf_search="$cf_search $prefix/lib/intl/lib"
@@ -16365,97 +18489,239 @@ test -d $prefix && {
 	test -d $prefix/intl/lib/intl &&    cf_search="$cf_search $prefix/intl/lib/intl"
 }
 
-test "$prefix" != /opt && \
-test -d /opt && {
-	test -n "$verbose" && echo "	... testing lib-directories under /opt"
-	test -d /opt/lib &&             cf_search="$cf_search /opt/lib"
-	test -d /opt/lib/intl &&          cf_search="$cf_search /opt/lib/intl"
-	test -d /opt/lib/intl/lib &&       cf_search="$cf_search /opt/lib/intl/lib"
-	test -d /opt/intl/lib &&          cf_search="$cf_search /opt/intl/lib"
-	test -d /opt/intl/lib/intl &&       cf_search="$cf_search /opt/intl/lib/intl"
-}
-
-test "$prefix" != /usr && \
-test -d /usr && {
-	test -n "$verbose" && echo "	... testing lib-directories under /usr"
-	test -d /usr/lib &&             cf_search="$cf_search /usr/lib"
-	test -d /usr/lib/intl &&          cf_search="$cf_search /usr/lib/intl"
-	test -d /usr/lib/intl/lib &&       cf_search="$cf_search /usr/lib/intl/lib"
-	test -d /usr/intl/lib &&          cf_search="$cf_search /usr/intl/lib"
-}
-
-cf_save_LIBS="$LIBS"
-cf_save_LDFLAGS="$LDFLAGS"
-for cf_libdir in $cf_search
-do
-	if test -d $cf_libdir ; then
-		LIBS="-lintl $cf_save_LIBS"
-		LDFLAGS="$cf_save_LDFLAGS -L$cf_libdir"
-		cat > conftest.$ac_ext <<EOF
-#line 16396 "configure"
+
+test "/usr/local" != "$prefix" && \
+test -d "/usr/local" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /usr/local"
+	test -d /usr/local/lib &&          cf_search="$cf_search /usr/local/lib"
+	test -d /usr/local/lib/intl &&       cf_search="$cf_search /usr/local/lib/intl"
+	test -d /usr/local/lib/intl/lib &&    cf_search="$cf_search /usr/local/lib/intl/lib"
+	test -d /usr/local/intl/lib &&       cf_search="$cf_search /usr/local/intl/lib"
+	test -d /usr/local/intl/lib/intl &&    cf_search="$cf_search /usr/local/intl/lib/intl"
+}
+
+
+test "/opt" != "$prefix" && \
+test -d "/opt" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under /opt"
+	test -d /opt/lib &&          cf_search="$cf_search /opt/lib"
+	test -d /opt/lib/intl &&       cf_search="$cf_search /opt/lib/intl"
+	test -d /opt/lib/intl/lib &&    cf_search="$cf_search /opt/lib/intl/lib"
+	test -d /opt/intl/lib &&       cf_search="$cf_search /opt/intl/lib"
+	test -d /opt/intl/lib/intl &&    cf_search="$cf_search /opt/intl/lib/intl"
+}
+
+
+test "$HOME" != "$prefix" && \
+test -d "$HOME" && \
+(test $prefix = NONE || test -d $prefix) && {
+	test -n "$verbose" && echo "	... testing for lib-directories under $HOME"
+	test -d $HOME/lib &&          cf_search="$cf_search $HOME/lib"
+	test -d $HOME/lib/intl &&       cf_search="$cf_search $HOME/lib/intl"
+	test -d $HOME/lib/intl/lib &&    cf_search="$cf_search $HOME/lib/intl/lib"
+	test -d $HOME/intl/lib &&       cf_search="$cf_search $HOME/intl/lib"
+	test -d $HOME/intl/lib/intl &&    cf_search="$cf_search $HOME/intl/lib/intl"
+}
+
+
+        for cf_cv_library_path_intl in $cf_search
+        do
+          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}:18535: 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 <<EOF
+#line 18542 "configure"
 #include "confdefs.h"
+
 #include <libintl.h>
 extern int _nl_msg_cat_cntr;
+
 int main() {
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr
+
+    bindtextdomain ("", "");
+    return (int) gettext ("")
+            
+             + _nl_msg_cat_cntr
+
 ; return 0; }
 EOF
-if { (eval echo configure:16405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   
-			test -n "$verbose" && echo "	... found in $cf_libdir" 1>&6
+                test -n "$verbose" && echo "	... found intl library in $cf_cv_library_path_intl" 1>&6
 
-			cf_find_linkage=yes
-			break
+echo "${as_me-configure}:18562: testing ... found intl library in $cf_cv_library_path_intl ..." 1>&5
+
+
+                cf_cv_find_linkage_intl=yes
+                cf_cv_library_file_intl="-lintl"
+                break
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   
-			LIBS="$cf_save_LIBS"
-			LDFLAGS="$cf_save_LDFLAGS"
+                CPPFLAGS="$cf_save_CPPFLAGS"
+                LIBS="$cf_save_LIBS"
+                LDFLAGS="$cf_save_LDFLAGS"
+                
 fi
 rm -f conftest*
-	fi
-	test -n "$verbose" && echo "	... tested $cf_libdir" 1>&6
-
-done
+          fi
+        done
+        LIBS="$cf_save_LIBS"
+        CPPFLAGS="$cf_save_CPPFLAGS"
+        LDFLAGS="$cf_save_LDFLAGS"
+      fi
 
+    else
+      cf_cv_find_linkage_intl=no
+    fi
+    
 fi
 rm -f conftest*
 
-if test "$cf_find_linkage" = yes ; then
-gt_cv_func_gnugettext1_libintl=yes
+if test "$cf_cv_find_linkage_intl" = yes ; then
+cf_cv_func_gettext=yes
 else
-gt_cv_func_gnugettext1_libintl=no
+cf_cv_func_gettext=no
+fi
+
+      
 fi
 
-	   fi
+echo "$ac_t""$cf_cv_func_gettext" 1>&6
+
+      if test "$cf_cv_func_gettext" = yes ; then
+        cat >> confdefs.h <<\EOF
+#define HAVE_LIBINTL_H 1
+EOF
+
 
-	   	   	   	   	   if test "$gt_cv_func_gnugettext1_libc" = "yes" \
-	      || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \
-		   && test "$PACKAGE" != gettext; }; then
-	     cat >> confdefs.h <<\EOF
+                                        if test "$PACKAGE" != gettext; then
+          cat >> confdefs.h <<\EOF
 #define HAVE_GETTEXT 1
 EOF
 
 
-	     if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
-	       	       	       	       INTLLIBS="-lintl $LIBICONV"
-	     fi
-
-	     gt_save_LIBS="$LIBS"
-	     LIBS="$LIBS $INTLLIBS"
-	     for ac_func in dcgettext
+          
+if test -n "$cf_cv_header_path_intl" ; then
+  for cf_add_incdir in $cf_cv_header_path_intl
+  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
+
+		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
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  cat > conftest.$ac_ext <<EOF
+#line 18641 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+int main() {
+printf("Hello")
+; return 0; }
+EOF
+if { (eval echo configure:18648: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_have_incdir=yes
+fi
+rm -f conftest*
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  test -n "$verbose" && echo "	adding $cf_add_incdir to include-path" 1>&6
+
+echo "${as_me-configure}:18665: testing adding $cf_add_incdir to include-path ..." 1>&5
+
+
+		  CPPFLAGS="-I$cf_add_incdir $CPPFLAGS"
+
+          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
+	  fi
+	done
+  done
+fi
+
+
+          if test -n "$cf_cv_library_file_intl" ; then
+                                                INTLLIBS="$cf_cv_library_file_intl $LIBICONV"
+            
+if test -n "$cf_cv_library_path_intl" ; then
+  for cf_add_libdir in $cf_cv_library_path_intl
+  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}:18704: testing adding $cf_add_libdir to library-path ..." 1>&5
+
+
+        INTLLIBS="-L$cf_add_libdir $$INTLLIBS"
+      fi
+    fi
+  done
+fi
+
+          fi
+
+          gt_save_LIBS="$LIBS"
+          LIBS="$LIBS $INTLLIBS"
+          for ac_func in dcgettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:16454: checking for $ac_func" >&5
+echo "configure:18720: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 16459 "configure"
+#line 18725 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -16478,7 +18744,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:16482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:18748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -16502,13 +18768,13 @@ else
 fi
 done
 
-	     LIBS="$gt_save_LIBS"
+          LIBS="$gt_save_LIBS"
 
-	     	     # Extract the first word of "msgfmt", so it can be a program name with args.
+                    # Extract the first word of "msgfmt", so it can be a program name with args.
 
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:16512: checking for $ac_word" >&5
+echo "configure:18778: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -16540,10 +18806,10 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-	     # Extract the first word of "gmsgfmt", so it can be a program name with args.
+          # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:16547: checking for $ac_word" >&5
+echo "configure:18813: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -16577,11 +18843,11 @@ else
 fi
 
 
-	     	     # Extract the first word of "xgettext", so it can be a program name with args.
+                    # Extract the first word of "xgettext", so it can be a program name with args.
 
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:16585: checking for $ac_word" >&5
+echo "configure:18851: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -16614,28 +18880,25 @@ else
 fi
 
 
-	     CATOBJEXT=.gmo
-	   fi
-	
-
-fi
-
-
-        if test "$CATOBJEXT" = "NONE"; then
-	  	  	  nls_cv_use_gnu_gettext=yes
+          CATOBJEXT=.gmo
         fi
       fi
 
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-        if test ! -d $srcdir/intl ; then
-	  { echo "configure: error: no NLS library is packaged with this application" 1>&2; exit 1; }
-	fi
-                INTLOBJS="\$(GETTOBJS)"
-        # Extract the first word of "msgfmt", so it can be a program name with args.
+      if test "$CATOBJEXT" = "NONE"; then
+                        nls_cv_use_gnu_gettext=yes
+      fi
+    fi
+
+    if test "$nls_cv_use_gnu_gettext" = "yes"; then
+      if test ! -d $srcdir/intl ; then
+        { echo "configure: error: no NLS library is packaged with this application" 1>&2; exit 1; }
+      fi
+            INTLOBJS="\$(GETTOBJS)"
+      # Extract the first word of "msgfmt", so it can be a program name with args.
 
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:16639: checking for $ac_word" >&5
+echo "configure:18902: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -16667,10 +18930,10 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-        # Extract the first word of "gmsgfmt", so it can be a program name with args.
+      # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:16674: checking for $ac_word" >&5
+echo "configure:18937: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -16703,11 +18966,11 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-        # Extract the first word of "xgettext", so it can be a program name with args.
+      # Extract the first word of "xgettext", so it can be a program name with args.
 
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:16711: checking for $ac_word" >&5
+echo "configure:18974: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -16739,49 +19002,48 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-        
-	BUILD_INCLUDED_LIBINTL=yes
-	USE_INCLUDED_LIBINTL=yes
-        CATOBJEXT=.gmo
-	INTLLIBS="\$(top_builddir)/intl/libintl.a $LIBICONV"
-	LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-      fi
+      
+      BUILD_INCLUDED_LIBINTL=yes
+      USE_INCLUDED_LIBINTL=yes
+      CATOBJEXT=.gmo
+      INTLLIBS="\$(top_builddir)/intl/libintl.a $LIBICONV"
+      LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+    fi
 
-                  if test "$GMSGFMT" != ":"; then
-			if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
-	  : ;
-	else
-	  echo "$ac_t""found msgfmt program is not GNU msgfmt; ignore it" 1>&6
-	  GMSGFMT=":"
-	fi
+            if test "$GMSGFMT" != ":"; then
+                  if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
+        : ;
+      else
+        echo "$ac_t""found msgfmt program is not GNU msgfmt; ignore it" 1>&6
+        GMSGFMT=":"
       fi
+    fi
 
-                  if test "$XGETTEXT" != ":"; then
-			if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
-	  : ;
-	else
-	  echo "$ac_t""found xgettext program is not GNU xgettext; ignore it" 1>&6
-	  XGETTEXT=":"
-	fi
+            if test "$XGETTEXT" != ":"; then
+                      if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
+        : ;
+      else
+        echo "$ac_t""found xgettext program is not GNU xgettext; ignore it" 1>&6
+        XGETTEXT=":"
       fi
-
-            POSUB=po
     fi
 
-    
+        POSUB=po
+  fi
 
+  
 
-            if test "$PACKAGE" = gettext; then
-      BUILD_INCLUDED_LIBINTL=yes
-    fi
+      if test "$PACKAGE" = gettext; then
+    BUILD_INCLUDED_LIBINTL=yes
+  fi
 
-                                            if test "$nls_cv_use_gnu_gettext" = "yes"; then
+                      if test "$nls_cv_use_gnu_gettext" = "yes"; then
     for ac_prog in 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:16785: checking for $ac_word" >&5
+echo "configure:19047: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -16814,7 +19076,7 @@ done
       ac_verc_fail=yes
     else
             echo $ac_n "checking version of bison""... $ac_c" 1>&6
-echo "configure:16818: checking version of bison" >&5
+echo "configure:19080: checking version of bison" >&5
       ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
       case $ac_prog_version in
         '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -16822,47 +19084,47 @@ echo "configure:16818: checking version 
            ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
         *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
       esac
-      echo "$ac_t""$ac_prog_version" 1>&6
+    echo "$ac_t""$ac_prog_version" 1>&6
     fi
     if test $ac_verc_fail = yes; then
       INTLBISON=:
     fi
-    fi
+  fi
 
-                for lang in $ALL_LINGUAS; do
-      GMOFILES="$GMOFILES $lang.gmo"
-      POFILES="$POFILES $lang.po"
-    done
+        for lang in $ALL_LINGUAS; do
+    GMOFILES="$GMOFILES $lang.gmo"
+    POFILES="$POFILES $lang.po"
+  done
 
-        
-    
-    
-    
-    
-    
-    
-    
     
+  
+  
+  
+  
+  
+  
+  
+  
 
-        nls_cv_header_intl=
-    nls_cv_header_libgt=
+    nls_cv_header_intl=
+  nls_cv_header_libgt=
 
-        DATADIRNAME=share
-    
+    DATADIRNAME=share
+  
 
-        INSTOBJEXT=.mo
-    
+    INSTOBJEXT=.mo
+  
 
-        GENCAT=gencat
-    
+    GENCAT=gencat
   
 
+
    if test "x$CATOBJEXT" != "x"; then
      if test "x$ALL_LINGUAS" = "x"; then
        LINGUAS=
      else
        echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:16866: checking for catalogs to be installed" >&5
+echo "configure:19128: checking for catalogs to be installed" >&5
        NEW_LINGUAS=
        for presentlang in $ALL_LINGUAS; do
          useit=no
@@ -16918,7 +19180,7 @@ use_our_messages=no
 if test "$USE_NLS" = yes ; then
 if test -d $srcdir/po ; then
 echo $ac_n "checking if we should use included message-library""... $ac_c" 1>&6
-echo "configure:16922: checking if we should use included message-library" >&5
+echo "configure:19184: checking if we should use included message-library" >&5
 	
 # Check whether --enable-included-msgs or --disable-included-msgs was given.
 if test "${enable_included_msgs+set}" = set; then
@@ -16973,17 +19235,17 @@ else
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:16977: checking for $ac_hdr" >&5
+echo "configure:19239: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 16982 "configure"
+#line 19244 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:16987: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:19249: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -17067,19 +19329,19 @@ if test ".$use_alloca" = .yes ; then
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:17071: checking for working alloca.h" >&5
+echo "configure:19333: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 17076 "configure"
+#line 19338 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:17083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -17100,12 +19362,12 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:17104: checking for alloca" >&5
+echo "configure:19366: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 17109 "configure"
+#line 19371 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -17133,7 +19395,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:17137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -17165,12 +19427,12 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:17169: checking whether alloca needs Cray hooks" >&5
+echo "configure:19431: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 17174 "configure"
+#line 19436 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -17195,12 +19457,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:17199: checking for $ac_func" >&5
+echo "configure:19461: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 17204 "configure"
+#line 19466 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -17223,7 +19485,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:17227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -17250,7 +19512,7 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:17254: checking stack direction for C alloca" >&5
+echo "configure:19516: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -17258,7 +19520,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 17262 "configure"
+#line 19524 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -17277,7 +19539,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:17281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:19543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -17322,9 +19584,9 @@ fi
 for cf_hdr in iconv.h
 do
 	echo $ac_n "checking for $cf_hdr""... $ac_c" 1>&6
-echo "configure:17326: checking for $cf_hdr" >&5
+echo "configure:19588: checking for $cf_hdr" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 17328 "configure"
+#line 19590 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -17332,7 +19594,7 @@ echo "configure:17326: checking for $cf_
 
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:17336: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:19598: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -17358,13 +19620,13 @@ fi
 done
 
 echo $ac_n "checking for iconv_open() //TRANSLIT extension""... $ac_c" 1>&6
-echo "configure:17362: checking for iconv_open() //TRANSLIT extension" >&5
+echo "configure:19624: checking for iconv_open() //TRANSLIT extension" >&5
 if test "$cross_compiling" = yes; then
   echo "$ac_t""unknown" 1>&6
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 17368 "configure"
+#line 19630 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_ICONV_H
@@ -17381,7 +19643,7 @@ int main() {
 	exit(0);
 }
 EOF
-if { (eval echo configure:17385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:19647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   cat >> confdefs.h <<\EOF
 #define HAVE_ICONV_OPEN_TRANSLIT 1
@@ -17397,6 +19659,80 @@ rm -fr conftest*
 fi
 
 
+# FIXME
+# locale is broken on cygwin
+# locking doesn't work on cygwin
+# group/other bits don't work on cygwin
+# link(2) is detected but doesn't work on cygwin
+
+case "$host_os" in
+	*cygwin*)
+		cat >> confdefs.h <<\EOF
+#define NO_LOCALE 1
+EOF
+
+		cat >> confdefs.h <<\EOF
+#define NO_LOCKING 1
+EOF
+
+		cat >> confdefs.h <<\EOF
+#define FILE_MODE_BROKEN 1
+EOF
+
+		;;
+	*)
+		echo $ac_n "checking for link""... $ac_c" 1>&6
+echo "configure:19686: checking for link" >&5
+if eval "test \"`echo '$''{'ac_cv_func_link'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 19691 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char link(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char link();
+
+int main() {
+
+/* The GNU C library defines this 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_link) || defined (__stub___link)
+choke me
+#else
+link();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:19714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_link=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_link=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'link`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  cat >> confdefs.h <<\EOF
+#define HAVE_LINK 1
+EOF
+
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+esac
 
 # tin has mkdirs.sh instead of mkinstalldirs, overwrite the result of test
 # in gettext.m4
@@ -17424,17 +19760,17 @@ else
     case "`(uname -sr) 2>/dev/null`" in
     "SunOS 5"*)
       echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:17428: checking whether -R must be followed by a space" >&5
+echo "configure:19764: checking whether -R must be followed by a space" >&5
       ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
       cat > conftest.$ac_ext <<EOF
-#line 17431 "configure"
+#line 19767 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:17438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_nospace=yes
 else
@@ -17450,14 +19786,14 @@ rm -f conftest*
       else
 	LIBS="$ac_xsave_LIBS -R $x_libraries"
 	cat > conftest.$ac_ext <<EOF
-#line 17454 "configure"
+#line 19790 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:17461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19797: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_space=yes
 else
@@ -17489,7 +19825,7 @@ rm -f conftest*
     # libraries were built with DECnet support.  And karl@cs.umb.edu says
     # the Alpha needs dnet_stub (dnet does not exist).
     echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:17493: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:19829: checking for dnet_ntoa in -ldnet" >&5
 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -17497,7 +19833,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 17501 "configure"
+#line 19837 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -17508,7 +19844,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:17512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -17530,7 +19866,7 @@ fi
 
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
       echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:17534: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:19870: checking for dnet_ntoa in -ldnet_stub" >&5
 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -17538,7 +19874,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet_stub  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 17542 "configure"
+#line 19878 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -17549,7 +19885,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:17553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -17578,12 +19914,12 @@ fi
     # The nsl library prevents programs from opening the X display
     # on Irix 5.2, according to dickey@clark.net.
     echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:17582: checking for gethostbyname" >&5
+echo "configure:19918: checking for gethostbyname" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 17587 "configure"
+#line 19923 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -17606,7 +19942,7 @@ gethostbyname();
 
 ; return 0; }
 EOF
-if { (eval echo configure:17610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
@@ -17627,7 +19963,7 @@ fi
 
     if test $ac_cv_func_gethostbyname = no; then
       echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:17631: checking for gethostbyname in -lnsl" >&5
+echo "configure:19967: checking for gethostbyname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -17635,7 +19971,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 17639 "configure"
+#line 19975 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -17646,7 +19982,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:17650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:19986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -17676,12 +20012,12 @@ fi
     # -lsocket must be given before -lnsl if both are needed.
     # We assume that if connect needs -lnsl, so does gethostbyname.
     echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:17680: checking for connect" >&5
+echo "configure:20016: checking for connect" >&5
 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 17685 "configure"
+#line 20021 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -17704,7 +20040,7 @@ connect();
 
 ; return 0; }
 EOF
-if { (eval echo configure:17708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_connect=yes"
 else
@@ -17725,7 +20061,7 @@ fi
 
     if test $ac_cv_func_connect = no; then
       echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:17729: checking for connect in -lsocket" >&5
+echo "configure:20065: checking for connect in -lsocket" >&5
 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -17733,7 +20069,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 17737 "configure"
+#line 20073 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -17744,7 +20080,7 @@ int main() {
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:17748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -17768,12 +20104,12 @@ fi
 
     # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
     echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:17772: checking for remove" >&5
+echo "configure:20108: checking for remove" >&5
 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 17777 "configure"
+#line 20113 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
@@ -17796,7 +20132,7 @@ remove();
 
 ; return 0; }
 EOF
-if { (eval echo configure:17800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_remove=yes"
 else
@@ -17817,7 +20153,7 @@ fi
 
     if test $ac_cv_func_remove = no; then
       echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:17821: checking for remove in -lposix" >&5
+echo "configure:20157: checking for remove in -lposix" >&5
 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -17825,7 +20161,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 17829 "configure"
+#line 20165 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -17836,7 +20172,7 @@ int main() {
 remove()
 ; return 0; }
 EOF
-if { (eval echo configure:17840: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -17860,12 +20196,12 @@ fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:17864: checking for shmat" >&5
+echo "configure:20200: checking for shmat" >&5
 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 17869 "configure"
+#line 20205 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
@@ -17888,7 +20224,7 @@ shmat();
 
 ; return 0; }
 EOF
-if { (eval echo configure:17892: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_shmat=yes"
 else
@@ -17909,7 +20245,7 @@ fi
 
     if test $ac_cv_func_shmat = no; then
       echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:17913: checking for shmat in -lipc" >&5
+echo "configure:20249: checking for shmat in -lipc" >&5
 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -17917,7 +20253,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lipc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 17921 "configure"
+#line 20257 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -17928,7 +20264,7 @@ int main() {
 shmat()
 ; return 0; }
 EOF
-if { (eval echo configure:17932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20268: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -17961,7 +20297,7 @@ fi
   # libraries we check for below, so use a different variable.
   #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
   echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:17965: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:20301: checking for IceConnectionNumber in -lICE" >&5
 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -17969,7 +20305,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 17973 "configure"
+#line 20309 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -17980,7 +20316,7 @@ int main() {
 IceConnectionNumber()
 ; return 0; }
 EOF
-if { (eval echo configure:17984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -18016,6 +20352,9 @@ LDFLAGS="$X_LIBS $LDFLAGS"
 
 test -n "$verbose" && echo "	checking additions to CFLAGS" 1>&6
 
+echo "${as_me-configure}:20356: testing checking additions to CFLAGS ..." 1>&5
+
+
 cf_check_cflags="$CFLAGS"
 cf_check_cppflags="$CPPFLAGS"
 
@@ -18075,18 +20414,27 @@ done
 if test -n "$cf_new_cflags" ; then
 	test -n "$verbose" && echo "	add to \$CFLAGS $cf_new_cflags" 1>&6
 
+echo "${as_me-configure}:20418: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+
+
 	CFLAGS="$CFLAGS $cf_new_cflags"
 fi
 
 if test -n "$cf_new_cppflags" ; then
 	test -n "$verbose" && echo "	add to \$CPPFLAGS $cf_new_cppflags" 1>&6
 
+echo "${as_me-configure}:20427: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
+
+
 	CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
 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}:20436: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
+
+
 	EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
 fi
 
@@ -18095,14 +20443,14 @@ fi
 
 if test "$cf_check_cflags" != "$CFLAGS" ; then
 cat > conftest.$ac_ext <<EOF
-#line 18099 "configure"
+#line 20447 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("Hello world");
 ; return 0; }
 EOF
-if { (eval echo configure:18106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -18110,9 +20458,15 @@ else
   rm -rf conftest*
   test -n "$verbose" && echo "	test-compile failed.  Undoing change to \$CFLAGS" 1>&6
 
+echo "${as_me-configure}:20462: testing test-compile failed.  Undoing change to \$CFLAGS ..." 1>&5
+
+
 	 if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
 		 test -n "$verbose" && echo "	but keeping change to \$CPPFLAGS" 1>&6
 
+echo "${as_me-configure}:20468: testing but keeping change to \$CPPFLAGS ..." 1>&5
+
+
 	 fi
 	 CFLAGS="$cf_check_flags"
 fi
@@ -18121,12 +20475,12 @@ fi
 
 
 echo $ac_n "checking for XOpenDisplay""... $ac_c" 1>&6
-echo "configure:18125: checking for XOpenDisplay" >&5
+echo "configure:20479: checking for XOpenDisplay" >&5
 if eval "test \"`echo '$''{'ac_cv_func_XOpenDisplay'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 18130 "configure"
+#line 20484 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char XOpenDisplay(); below.  */
@@ -18149,7 +20503,7 @@ XOpenDisplay();
 
 ; return 0; }
 EOF
-if { (eval echo configure:18153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20507: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_XOpenDisplay=yes"
 else
@@ -18168,7 +20522,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:18172: checking for XOpenDisplay in -lX11" >&5
+echo "configure:20526: checking for XOpenDisplay in -lX11" >&5
 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -18176,7 +20530,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 18180 "configure"
+#line 20534 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -18187,7 +20541,7 @@ int main() {
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:18191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -18211,12 +20565,12 @@ fi
 
 
 echo $ac_n "checking for XtAppInitialize""... $ac_c" 1>&6
-echo "configure:18215: checking for XtAppInitialize" >&5
+echo "configure:20569: checking for XtAppInitialize" >&5
 if eval "test \"`echo '$''{'ac_cv_func_XtAppInitialize'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 18220 "configure"
+#line 20574 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char XtAppInitialize(); below.  */
@@ -18239,7 +20593,7 @@ XtAppInitialize();
 
 ; return 0; }
 EOF
-if { (eval echo configure:18243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_XtAppInitialize=yes"
 else
@@ -18258,7 +20612,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6
-echo "configure:18262: checking for XtAppInitialize in -lXt" >&5
+echo "configure:20616: checking for XtAppInitialize in -lXt" >&5
 ac_lib_var=`echo Xt'_'XtAppInitialize | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -18266,7 +20620,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 18270 "configure"
+#line 20624 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -18277,7 +20631,7 @@ int main() {
 XtAppInitialize()
 ; return 0; }
 EOF
-if { (eval echo configure:18281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -18297,7 +20651,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l
 EOF
 
 	 cf_have_X_LIBS=Xt
-	 LIBS="-lXt $X_PRE_LIBS $LIBS"
+	 LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"
 else
   echo "$ac_t""no" 1>&6
 fi
@@ -18315,7 +20669,7 @@ fi
 cf_x_athena=${cf_x_athena-Xaw}
 
 echo $ac_n "checking if you want to link with Xaw 3d library""... $ac_c" 1>&6
-echo "configure:18319: checking if you want to link with Xaw 3d library" >&5
+echo "configure:20673: checking if you want to link with Xaw 3d library" >&5
 withval=
 
 # Check whether --with-Xaw3d or --without-Xaw3d was given.
@@ -18332,7 +20686,7 @@ else
 fi
 
 echo $ac_n "checking if you want to link with neXT Athena library""... $ac_c" 1>&6
-echo "configure:18336: checking if you want to link with neXT Athena library" >&5
+echo "configure:20690: checking if you want to link with neXT Athena library" >&5
 withval=
 
 # Check whether --with-neXtaw or --without-neXtaw was given.
@@ -18349,7 +20703,7 @@ else
 fi
 
 echo $ac_n "checking if you want to link with Athena-Plus library""... $ac_c" 1>&6
-echo "configure:18353: checking if you want to link with Athena-Plus library" >&5
+echo "configure:20707: checking if you want to link with Athena-Plus library" >&5
 withval=
 
 # Check whether --with-XawPlus or --without-XawPlus was given.
@@ -18366,7 +20720,7 @@ else
 fi
 
 echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6
-echo "configure:18370: checking for XextCreateExtension in -lXext" >&5
+echo "configure:20724: checking for XextCreateExtension in -lXext" >&5
 ac_lib_var=`echo Xext'_'XextCreateExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -18374,7 +20728,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXext  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 18378 "configure"
+#line 20732 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -18385,7 +20739,7 @@ int main() {
 XextCreateExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:18389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20743: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -18424,13 +20778,13 @@ do
 		if test $cf_path != default ; then
 			CPPFLAGS="-I$cf_path/include $cf_save"
 			echo $ac_n "checking for $cf_test in $cf_path""... $ac_c" 1>&6
-echo "configure:18428: checking for $cf_test in $cf_path" >&5
+echo "configure:20782: checking for $cf_test in $cf_path" >&5
 		else
 			echo $ac_n "checking for $cf_test""... $ac_c" 1>&6
-echo "configure:18431: checking for $cf_test" >&5
+echo "configure:20785: checking for $cf_test" >&5
 		fi
 		cat > conftest.$ac_ext <<EOF
-#line 18434 "configure"
+#line 20788 "configure"
 #include "confdefs.h"
 
 #include <X11/Intrinsic.h>
@@ -18439,7 +20793,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:18443: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:20797: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -18486,23 +20840,21 @@ do
 			if test $cf_path != default ; then
 				LIBS="-L$cf_path/lib $cf_lib $LIBS"
 				echo $ac_n "checking for $cf_lib in $cf_path""... $ac_c" 1>&6
-echo "configure:18490: checking for $cf_lib in $cf_path" >&5
+echo "configure:20844: checking for $cf_lib in $cf_path" >&5
 			else
 				LIBS="$cf_lib $LIBS"
 				echo $ac_n "checking for $cf_test in $cf_lib""... $ac_c" 1>&6
-echo "configure:18494: checking for $cf_test in $cf_lib" >&5
+echo "configure:20848: checking for $cf_test in $cf_lib" >&5
 			fi
-			cf_SAVE="$LIBS"
-			LIBS="$X_PRE_LIBS $LIBS $X_EXTRA_LIBS"
 			cat > conftest.$ac_ext <<EOF
-#line 18499 "configure"
+#line 20851 "configure"
 #include "confdefs.h"
 
 int main() {
 $cf_test()
 ; return 0; }
 EOF
-if { (eval echo configure:18506: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:20858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -18515,11 +20867,9 @@ rm -f conftest*
 			echo "$ac_t""$cf_result" 1>&6
 			if test "$cf_result" = yes ; then
 				cf_x_athena_lib="$cf_lib"
-				LIBS="$cf_SAVE"
 				break
-			else
-				LIBS="$cf_save"
 			fi
+			LIBS="$cf_save"
 		fi
 	done
 done
@@ -18539,10 +20889,65 @@ EOF
 
 
 
+
+for ac_prog in xcurses-config
+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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:20899: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_XCURSES_CONFIG'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$XCURSES_CONFIG" in
+  /*)
+  ac_cv_path_XCURSES_CONFIG="$XCURSES_CONFIG" # Let the user override the test with a path.
+  ;;
+  ?:/*)			 
+  ac_cv_path_XCURSES_CONFIG="$XCURSES_CONFIG" # Let the user override the test with a dos path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_XCURSES_CONFIG="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+fi
+XCURSES_CONFIG="$ac_cv_path_XCURSES_CONFIG"
+if test -n "$XCURSES_CONFIG"; then
+  echo "$ac_t""$XCURSES_CONFIG" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$XCURSES_CONFIG" && break
+done
+test -n "$XCURSES_CONFIG" || XCURSES_CONFIG="none"
+
+
+if test "$XCURSES_CONFIG" != none ; then
+
+CPPFLAGS="`$XCURSES_CONFIG --cflags` $CPPFLAGS"
+LIBS="`$XCURSES_CONFIG --libs` $LIBS"
+
+cf_cv_lib_XCurses=yes
+
+else
+
 LDFLAGS="$LDFLAGS $X_LIBS"
 
 test -n "$verbose" && echo "	checking additions to CFLAGS" 1>&6
 
+echo "${as_me-configure}:20949: testing checking additions to CFLAGS ..." 1>&5
+
+
 cf_check_cflags="$CFLAGS"
 cf_check_cppflags="$CPPFLAGS"
 
@@ -18602,18 +21007,27 @@ done
 if test -n "$cf_new_cflags" ; then
 	test -n "$verbose" && echo "	add to \$CFLAGS $cf_new_cflags" 1>&6
 
+echo "${as_me-configure}:21011: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5
+
+
 	CFLAGS="$CFLAGS $cf_new_cflags"
 fi
 
 if test -n "$cf_new_cppflags" ; then
 	test -n "$verbose" && echo "	add to \$CPPFLAGS $cf_new_cppflags" 1>&6
 
+echo "${as_me-configure}:21020: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5
+
+
 	CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
 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}:21029: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5
+
+
 	EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
 fi
 
@@ -18622,14 +21036,14 @@ fi
 
 if test "$cf_check_cflags" != "$CFLAGS" ; then
 cat > conftest.$ac_ext <<EOF
-#line 18626 "configure"
+#line 21040 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("Hello world");
 ; return 0; }
 EOF
-if { (eval echo configure:18633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -18637,9 +21051,15 @@ else
   rm -rf conftest*
   test -n "$verbose" && echo "	test-compile failed.  Undoing change to \$CFLAGS" 1>&6
 
+echo "${as_me-configure}:21055: testing test-compile failed.  Undoing change to \$CFLAGS ..." 1>&5
+
+
 	 if test "$cf_check_cppflags" != "$CPPFLAGS" ; then
 		 test -n "$verbose" && echo "	but keeping change to \$CPPFLAGS" 1>&6
 
+echo "${as_me-configure}:21061: testing but keeping change to \$CPPFLAGS ..." 1>&5
+
+
 	 fi
 	 CFLAGS="$cf_check_flags"
 fi
@@ -18647,7 +21067,7 @@ rm -f conftest*
 fi
 
 echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:18651: checking for XOpenDisplay in -lX11" >&5
+echo "configure:21071: checking for XOpenDisplay in -lX11" >&5
 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -18655,7 +21075,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 18659 "configure"
+#line 21079 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -18666,7 +21086,7 @@ int main() {
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:18670: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -18687,14 +21107,14 @@ else
 fi
 
 echo $ac_n "checking for XCurses library""... $ac_c" 1>&6
-echo "configure:18691: checking for XCurses library" >&5
+echo "configure:21111: checking for XCurses library" >&5
 if eval "test \"`echo '$''{'cf_cv_lib_XCurses'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 LIBS="-lXCurses $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 18698 "configure"
+#line 21118 "configure"
 #include "confdefs.h"
 
 #include <xcurses.h>
@@ -18704,7 +21124,7 @@ int main() {
 XCursesExit();
 ; return 0; }
 EOF
-if { (eval echo configure:18708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:21128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_lib_XCurses=yes
 else
@@ -18718,6 +21138,9 @@ rm -f conftest*
 fi
 
 echo "$ac_t""$cf_cv_lib_XCurses" 1>&6
+
+fi
+
 if test $cf_cv_lib_XCurses = yes ; then
 	cat >> confdefs.h <<\EOF
 #define UNIX 1
@@ -18751,6 +21174,9 @@ fi
 ### Finally, build autoconf.h and the makefiles
 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
 
+LINTFLAGS=$LINTFLAGS
+
+
 
 cf_define=`echo "$CC"|sed -e 's/\\\\/\\\\134/g' -e 's/^[ 	]\\+//' -e 's/[ 	]\\+$//' -e 's/"/\\\\042/g'`
 cat >> confdefs.h <<EOF
@@ -18904,6 +21330,7 @@ ac_given_INSTALL="$INSTALL"
 
 trap 'rm -fr `echo "$PCRE_MAKEFILE
 	$SUB_MAKEFILE
+	$CAN_MAKEFILE
 	src/Makefile include/autoconf.h:include/autoconf.hin" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
 cat >> $CONFIG_STATUS <<EOF
@@ -18984,6 +21411,7 @@ s%@DEFAULT_MAILER@%$DEFAULT_MAILER%g
 s%@PATH_PGP@%$PATH_PGP%g
 s%@PATH_PGPK@%$PATH_PGPK%g
 s%@PATH_GPG@%$PATH_GPG%g
+s%@PATH_SLRNFACE@%$PATH_SLRNFACE%g
 s%@DEFAULT_SHELL@%$DEFAULT_SHELL%g
 s%@ENABLE_DEBUG@%$ENABLE_DEBUG%g
 s%@ECHO_LT@%$ECHO_LT%g
@@ -18997,12 +21425,17 @@ s%@SPOOLDIR@%$SPOOLDIR%g
 s%@NOVROOTDIR@%$NOVROOTDIR%g
 s%@INEWSDIR@%$INEWSDIR%g
 s%@INEWS@%$INEWS%g
-s%@INN_NNTPLIB@%$INN_NNTPLIB%g
+s%@PCRE_MAJOR@%$PCRE_MAJOR%g
+s%@PCRE_MINOR@%$PCRE_MINOR%g
+s%@PCRE_DATE@%$PCRE_DATE%g
 s%@PCRE_DEFINES@%$PCRE_DEFINES%g
 s%@PCREDIR_MAKE@%$PCREDIR_MAKE%g
 s%@PCREDIR_LIBS@%$PCREDIR_LIBS%g
 s%@PCREDIR_CPPFLAGS@%$PCREDIR_CPPFLAGS%g
 s%@EXTRAOBJS@%$EXTRAOBJS%g
+s%@CANDIR_MAKE@%$CANDIR_MAKE%g
+s%@CANLIBS@%$CANLIBS%g
+s%@GSASL_LIBS@%$GSASL_LIBS%g
 s%@TIN_DEFAULTS_DIR@%$TIN_DEFAULTS_DIR%g
 s%@LIBOBJS@%$LIBOBJS%g
 s%@cf_cv_makeflags@%$cf_cv_makeflags%g
@@ -19039,6 +21472,8 @@ s%@X_CFLAGS@%$X_CFLAGS%g
 s%@X_PRE_LIBS@%$X_PRE_LIBS%g
 s%@X_LIBS@%$X_LIBS%g
 s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g
+s%@XCURSES_CONFIG@%$XCURSES_CONFIG%g
+s%@LINTFLAGS@%$LINTFLAGS%g
 
 CEOF
 EOF
@@ -19082,6 +21517,7 @@ cat >> $CONFIG_STATUS <<EOF
 
 CONFIG_FILES=\${CONFIG_FILES-"$PCRE_MAKEFILE
 	$SUB_MAKEFILE
+	$CAN_MAKEFILE
 	src/Makefile"}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
@@ -19258,35 +21694,39 @@ cat >> $CONFIG_STATUS <<EOF
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 for ac_file in $CONFIG_FILES; do
-        # Support "outfile[:infile[:infile...]]"
-        case "$ac_file" in
-          *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-        esac
-        # PO directories have a Makefile.in generated from Makefile.inn.
-        case "$ac_file" in */[Mm]akefile.in)
-          # Adjust a relative srcdir.
-          ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-          ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-          ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-	  ac_base=`basename $ac_file .in`
-          # In autoconf-2.13 it is called $ac_given_srcdir.
-          # In autoconf-2.50 it is called $srcdir.
-          test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-          case "$ac_given_srcdir" in
-            .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-            /*) top_srcdir="$ac_given_srcdir" ;;
-            *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-          esac
-          if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-            rm -f "$ac_dir/POTFILES"
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-            sed -e "/^#/d" -e "/^[ 	]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base"
-            sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base"
-          fi
-          ;;
+
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+
+      # PO directories have a Makefile.in generated from Makefile.inn.
+      case "$ac_file" in */[Mm]akefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        ac_base=`basename $ac_file .in`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
         esac
-      done
+
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          sed -e "/^#/d" -e "/^[ 	]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base"
+          sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base"
+        fi
+        ;;
+      esac
+    done
 # Extra commands, if any
 
 exit 0
diff -Nurp tin-1.9.2/configure.in tin-1.9.3/configure.in
--- tin-1.9.2/configure.in	2007-02-01 15:09:12.000000000 +0100
+++ tin-1.9.3/configure.in	2008-05-06 19:24:18.000000000 +0200
@@ -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   : 2006-12-21
+dnl Updated   : 2008-03-31
 dnl Notes     :
 dnl
 dnl Copyright (c) 1995-2007 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=1.9.2
+VERSION=1.9.3
 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
 AC_SUBST(PACKAGE)
@@ -104,16 +104,16 @@ CF_SUBST(archiver options,AR_OPTS,rv)
 
 case "$host_cpu:$host_vendor:$host_os" in
 	# check for MacOS X, exclude Darwin on ix86
-	powerpc:apple:darwin*)  #
-		AC_DEFINE(MAC_OS_X)
-		;;
-	# check for cygwin enviroment
+#	powerpc:apple:darwin*)  #(vi
+#		AC_DEFINE(MAC_OS_X)
+#		;;
+	# check for cygwin environment
 	# -DSTATIC is needed for pcre
 	*:*:*cygwin*)	#(vi
 		PCRE_DEFINES="$PCRE_DEFINES -DSTATIC"
 		;;
-	# SEIUX doesn't have any usefull preprocessor symbol
-	mips:sei:seiux*)
+	# SEIUX doesn't have any useful preprocessor symbol
+	mips:sei:seiux*)	#(vi
 		AC_DEFINE(SEIUX)
 		;;
 esac
@@ -153,6 +153,10 @@ if test "$USE_PGP_GPG" = "yes" ; then
 	[  --with-gpg              (default: from system path)])
 fi
 
+## slrnface
+CF_WITH_PROGRAM(slrnface,
+[  --with-slrnface         (default: from system path)])
+
 ## Default shell
 AC_ARG_WITH(shell,
 	[  --with-shell=PROG       default $SHELL program (default: sh)],
@@ -182,7 +186,7 @@ fi
 ###	use option --enable-debug to compile-in test/development code
 AC_MSG_CHECKING(if you want to compile-in debug support)
 CF_ARG_ENABLE(debug,
-	[  --enable-debug          turn on debug/profiling/traces],
+	[  --enable-debug          turn on debug support],
 	[ENABLE_DEBUG=''
 	CFLAGS="-g $CFLAGS"
 	LDFLAGS="-g $LDFLAGS"],
@@ -274,19 +278,6 @@ if test "$ac_cv_path_INEWS" != ""; then
 	fi
 fi
 
-## !NNTP_ONLY
-if test "$USE_SPOOLDIR" = "yes"; then
-	## options for libraries
-	AC_MSG_CHECKING(for optional INN-NNTP library)
-	CF_WITH_VALUE(inn-nntplib,
-		[  --with-inn-nntplib=PATH specify INN-NNTP library],
-		INN_NNTPLIB)
-	AC_MSG_RESULT($INN_NNTPLIB)
-else
-	INN_NNTPLIB=""
-fi
-AC_SUBST(INN_NNTPLIB)
-
 ### Look for network libraries first, since some functions (such as gethostname)
 ### are used in a lot of places.
 AC_CACHE_CHECK(if you want socks library,cf_cv_use_libsocks,[
@@ -316,7 +307,7 @@ fi
 ### first look for all available locking methods
 CF_LOCKFILE
 
-AC_MSG_CHECKING(which locking method should be used)
+AC_MSG_CHECKING(which locking method will be used)
 ### fcntl() is preferred, if the user just disables fcntl()
 ### without specifying an alternative lockf() is preferred
 CF_ARG_DISABLE(fcntl,
@@ -345,7 +336,8 @@ if test -n "$cf_cv_lockfile"; then
 	CF_UPPER(used_locking,$used_locking)
 	AC_DEFINE_UNQUOTED(USE_$used_locking)
 else
-	AC_MSG_WARN(None of fcntl(), lockf(), flock() available)
+	AC_MSG_RESULT(none);
+	AC_MSG_WARN([[None of fcntl(), lockf(), flock() available]])
 fi
 
 
@@ -444,21 +436,21 @@ debug_malloc=none
 CF_WITH_DBMALLOC(debug_malloc=DBMALLOC)
 CF_WITH_DMALLOC(debug_malloc=DMALLOC)
 
-AC_MSG_CHECKING(if you want debugging-trace)
 AC_ARG_WITH(trace,
-	[  --with-trace            use debugging/traces],
-	[use_trace=yes],
-	[use_trace=no])
-AC_MSG_RESULT($use_trace)
-if test "$use_trace" = yes ; then
-	AC_DEFINE(USE_TRACE)
-	EXTRAOBJS="$EXTRAOBJS trace.o"
+	[  --with-trace            use debugging/traces for screen output],
+	[
 	AC_CHECK_FUNC(_tracef,[AC_DEFINE(HAVE__TRACEF)],[
 	AC_CHECK_LIB(${cf_with_screen}_g,_tracef,
 		[AC_DEFINE(HAVE__TRACEF)
 		 LIBS=`echo "$LIBS" | sed -e s/-l${cf_with_screen}// -e s/-lcurses//`
-		 LIBS="-l${cf_with_screen}_g $LIBS"])])
-fi
+		 LIBS="-l${cf_with_screen}_g $LIBS"
+		 use_trace=yes
+		 AC_DEFINE(USE_TRACE)
+		 EXTRAOBJS="$EXTRAOBJS trace.o"],
+		 use_trace=no)])],
+	[use_trace=no])
+#AC_MSG_CHECKING(if you want debugging-trace)
+#AC_MSG_RESULT($use_trace)
 AC_SUBST(EXTRAOBJS)
 
 ## options for miscellaneous definitions
@@ -516,6 +508,37 @@ CF_ARG_ENABLE(mh-mail-handling,
 	[AC_DEFINE(HAVE_MH_MAIL_HANDLING)])
 AC_MSG_RESULT($enableval)
 
+CAN_MAKEFILE=
+CANDIR_MAKE=
+AC_MSG_CHECKING(whether to use Cancel-Locks)
+CF_ARG_ENABLE(cancel-locks,
+	[  --enable-cancel-locks   enable creation of Cancel-Locks],
+	[CANLIBS='-L../libcanlock -lcanlock'
+	CAN_MAKEFILE="libcanlock/Makefile"
+	AC_DEFINE(USE_CANLOCK)],
+	[CANDIR_MAKE='#'
+	CANLIBS=''])
+AC_MSG_RESULT($enableval)
+AC_SUBST(CANDIR_MAKE)
+AC_SUBST(CANLIBS)
+
+## gsasl - used for AUTH SASL PLAIN
+GSASL_LIBS=
+AC_CHECK_HEADER(gsasl.h,
+	AC_CHECK_LIB(gsasl, gsasl_check_version,
+		gsasl=yes, gsasl=no),
+	gsasl=no)
+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.])
+		GSASL_LIBS='-lgsasl'])
+fi
+AC_SUBST(GSASL_LIBS)
+
+
 AC_MSG_CHECKING(whether to enable 8-bit keycodes)
 CF_ARG_DISABLE(8bit-keys,
 	[  --disable-8bit-keys     disable 8-bit keycode support],,
@@ -564,7 +587,12 @@ AC_MSG_RESULT($DEFAULT_ISO2ASC)
 AC_MSG_CHECKING(whether to enable locale support)
 CF_ARG_DISABLE(locale,
 	[  --disable-locale        disable locale support],
-	[AC_DEFINE(NO_LOCALE)])
+	[AC_DEFINE(NO_LOCALE)])#, # TODO fixme!
+#	[ case "$host_os" in
+#	*cygwin*)
+#	AC_DEFINE(NO_LOCALE)
+#	;;
+#	esac])
 AC_MSG_RESULT($enableval)
 
 AC_MSG_CHECKING(whether to enable posting)
@@ -919,7 +947,6 @@ AC_CHECK_FUNCS(\
 	inet_aton \
 	is_xterm \
 	isascii \
-	link \
 	lockf \
 	memcmp \
 	memcpy \
@@ -1076,6 +1103,7 @@ CF_CHECK_DECL(\
 	strchr \
 	strcasestr \
 	strsep \
+	tmpfile \
 )
 
 dnl Check network stuff separately, to limit the effect of inconsistent headers
@@ -1230,6 +1258,21 @@ int main() {
 	AC_MSG_RESULT(unknown)
 )
 
+# FIXME
+# locale is broken on cygwin
+# locking doesn't work on cygwin
+# group/other bits don't work on cygwin
+# link(2) is detected but doesn't work on cygwin
+
+case "$host_os" in
+	*cygwin*)
+		AC_DEFINE(NO_LOCALE)
+		AC_DEFINE(NO_LOCKING)
+		AC_DEFINE(FILE_MODE_BROKEN)
+		;;
+	*)
+		AC_CHECK_FUNC(link, AC_DEFINE(HAVE_LINK))
+esac
 
 # tin has mkdirs.sh instead of mkinstalldirs, overwrite the result of test
 # in gettext.m4
@@ -1254,6 +1297,9 @@ fi
 ### Finally, build autoconf.h and the makefiles
 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
 
+LINTFLAGS=$LINTFLAGS
+AC_SUBST(LINTFLAGS)
+
 CF_DEFINE_STRING(TIN_CC,       "$CC")
 CF_DEFINE_STRING(TIN_CFLAGS,   "$CFLAGS")
 CF_DEFINE_STRING(TIN_CPP,      "$CPP")
@@ -1264,4 +1310,5 @@ CF_DEFINE_STRING(TIN_LIBS,     "$LIBS")
 
 AC_OUTPUT($PCRE_MAKEFILE
 	$SUB_MAKEFILE
+	$CAN_MAKEFILE
 	src/Makefile)
diff -Nurp tin-1.9.2/doc/CHANGES tin-1.9.3/doc/CHANGES
--- tin-1.9.2/doc/CHANGES	2007-02-01 14:07:21.000000000 +0100
+++ tin-1.9.3/doc/CHANGES	2008-05-06 18:47:46.000000000 +0200
@@ -1,8 +1,87 @@
+-- 1.9.3 release 20080506 "Dalintober" --
+
+U010) Thomas E. Dickey <dickey@invisible-island.net>
+      ADD. update configure macros
+      FIX. aclocal.m4, configure[.in], mkdirs.sh
+
+U009) Dirk Nimmich <nimmich@muenster.de>
+      ADD. (g)oto group search now is case insensitive
+      ADD. infrastructure for editing and writing attributes
+      ADD. write attributes file from internal structures
+      BUG. possible memleak when freeing group attributes
+      ADD. check joinpath for overruns
+      BUG. potential buffer overruns
+      BUG. memleak in curses.c:ReadWch()
+      BUG. uninitialized mm_local_charset when no config files available,
+           leading to an endless loop on exit when newsrc cannot be written
+      BUG. inconsistent update of mm_local_charset on runtime
+      BUG. fixed length buffer in rfc1522_do_encode()
+      FIX. extern.h proto.h, tin.h, active.c, art.c, attrib.c, auth.c, config.c
+           curses.c, debug.c, feed.c, inews.c, init.c, joinpath.c, keymap.c
+           list.c, mail.c, main.c, memory.c, mimetypes.c, my_tmpfile.c
+           newsrc.c, nntplib.c, nrctbl.c, options_menu.c, pgp.c, post.c
+           rfc2046.c, save.c, select.c, sigfile.c, string.c, xref.c
+
+ 020) Urs Janssen <urs@tin.org>
+      BUG. my_realloc() didn't handle zero size reallocs
+      BUG. subjects > 256 chars were tunrcated at group-level without adding
+           a \0-termination
+      FIX. group.c, memory.c
+
+U008) Rado S <regrado@web.de>
+      ADD. use same article numbers in different levels
+      FIX. extern.h, lang.c, page.c
+
+ 019) Philip Hazel <ph10@cam.ac.uk>
+      BUG. missing a check for a possible return value of pcre_exec()
+      FIX. misc.c, regex.c
+
+U007) Urs Janssen <urs@tin.org>
+      ADD. enable some more CAPABILLITIES related code
+      ADD. minor code cleanup
+      ADD. config.guess, config.sub update
+      ADD. allow .kp, .me, .rs, .tel and .asia TLDs
+      ADD. check permissions of .cancelsecret-file
+      ADD. --enable-cancel-locks configure option
+      ADD. --with-slrnface configure option
+      ADD. libcanlock update (1.0 -> 2b-4)
+      ADD. url_handler.pl as new DEFAULT_URL_HANDLER
+      ADD. remove leading/tailing whitespace in filter scope
+      ADD. increase internal buffer in rfc1522_encode()/rfc1522_do_encode()
+      ADD. restrictions to tin generated Message-IDs (disallow
+           .invalid-TLD, disallow IDs > 250 octets)
+      ADD. SIGUSR2 handler to write out newsrc
+      ADD. configure check for gsasl.h/libgsasl
+      ADD. AUTHINFO SASL PLAIN support if gsasl.h/libgsasl is found
+      ADD. use "LIST NEWSGROUPS grp" with -n cmd-line switch
+      ADD. use "LIST ACTIVE grp" with -n cmd-line switch
+      ADD. don't treat empty Bytes or Lines-filed in overview as error in
+           debug mode
+      ADD. parse LIST OVERVIEW.FMT
+      ADD. if LIST OVERVIEW.FMT didn't mention Xref:full, but XOVER includes
+           Xref: use it instead of sending XHDR XREF
+      ADD. do "XHDR XREF -" instead of gazillions of single cmds.
+      BUG. missing utf-8 validation for news_headers_to_display
+      BUG. newnewsrc tmp-file wasn't always removed
+      BUG. subscribe_pattern() was overcomplex
+      BUG. mail_to_someone() didn't convert the article into the local charset
+      REM. libinn support (was broken for ages)
+      FIX. active.c, art.c, attrib.c, auth.c, charset.c, config.c, color.c
+           cook.c, debug.c, filter.c, group.c, header.c, help.c, inews.c
+           init.c, keymap.c, lang.c, mail.c, main.c, memory.c, mimetypes.c
+           misc.c, my_tmpfile.c, newsrc.c, nntplib.c, options_menu.c, page.c
+           post.c, refs.c, regex.c, rfc2045.c, rfc2047.c, save.c, screen.c
+           search.c, select.c, sigfile.c, signcal.c, string.c, tags.c
+           tcurses.c, thread.c, version.c, xface.c, xref.c, config.guess
+           config.sub, de.po, autoconf.h[in], debug.h, extern.h, policy.h
+           proto.h, rfc2046.h, keymap.h, tin.h, version.h, Makefile
+           configure[.in], Makefile[.in], libcanlock/*, tin.1, tin.5
+
 -- 1.9.2 release 20070201 "Dalaruan" --
 
  018) Christian Weisgerber <naddy@mips.inka.de>
-      BUG. assumed that wchar_t and wint_t are of the same size  
-      FIX. tcurses.c    
+      BUG. assumed that wchar_t and wint_t are of the same size
+      FIX. tcurses.c
 
  017) Antonio Querubin <tony@lava.net>
       BUG. missplaced ||
@@ -18,7 +97,7 @@ U005) Dirk Nimmich <nimmich@muenster.de>
       BUG. CatchupNextUnread in page level didn't always work
       BUG. 'C'atchup in pager was still not correct (we didn't ever enter the
            next group)
-      BUG. fast/endless reconecction loop after a "200\n\r400\n\r" greeting
+      BUG. fast/endless reconnection loop after a "200\n\r400\n\r" greeting
       BUG. resent command on 503 error
       ADD. rewrote NGLIMIT handling
       REM. return value of change_config_file()
diff -Nurp tin-1.9.2/doc/CREDITS tin-1.9.3/doc/CREDITS
--- tin-1.9.2/doc/CREDITS	2007-01-25 20:31:23.000000000 +0100
+++ tin-1.9.3/doc/CREDITS	2008-04-08 23:20:07.000000000 +0200
@@ -25,41 +25,42 @@ Hage, Piers Haken, Paul Halsema, Ed Hanw
 James Hawtin, 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, 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, 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, Philipp
-Mergenthaler, Andreas Metzler, Arkadiusz Miskiewicz, Soren Moller, Bruce
-Momjian, Sergio Morales, Michael Morrell, Klaus Mueller, Mike Muise, Udo
-Munk, Steven Michael Murphy, John R. Myers, Daniel Naber, Torsten Neumann,
-Dirk Nimmich, James Nugen, Daniel Nylander, David E. O'Brien, Michael
-O'Reilly, Oleg Ohotnikov, Ronald Orr, Julien Oster, Guido Ostkamp, Philip
-Paeps, Jeb Palmer, Neil Parker, Joseph Parmelee, Tom Parry, Jim Patterson,
-Sven Paulus, Walter Pelissero, Cameron Perkins, Colin Perkins, Eric
-Peterson, Tim Pierce, Bill Poitras, Scott W. Powers, Wolfgang Prediger, 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, 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, Ozge Sevinc,
-Doug Sewell, Chung-chieh Shan Philip Shearer, Jungshik Shin, Sergey Shkonda,
-Andreas Siegert, Andrey Simonenko, Mark Smith, Toomas Soome, Steve Spearman,
-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,
+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, 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, Philipp Mergenthaler, Andreas Metzler, Arkadiusz Miskiewicz,
+Soren Moller, Bruce Momjian, Sergio Morales, Michael Morrell, Klaus Mueller,
+Mike Muise, Udo Munk, Steven Michael Murphy, John R. Myers, Daniel Naber,
+Torsten Neumann, Dirk Nimmich, James Nugen, Daniel Nylander, David E.
+O'Brien, Michael O'Reilly, Oleg Ohotnikov, Ronald Orr, Julien Oster, Guido
+Ostkamp, Philip Paeps, Jeb Palmer, Neil Parker, Joseph Parmelee, Tom Parry,
+Jim Patterson, 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, Ozge Sevinc, Doug Sewell,
+Chung-chieh Shan Philip Shearer, Jungshik Shin, Sergey Shkonda, Andreas
+Siegert, Andrey Simonenko, Mark Smith, Toomas Soome, Steve Spearman, 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
diff -Nurp tin-1.9.2/doc/DEBUG_REFS tin-1.9.3/doc/DEBUG_REFS
--- tin-1.9.2/doc/DEBUG_REFS	2006-12-21 14:41:16.000000000 +0100
+++ tin-1.9.3/doc/DEBUG_REFS	2008-03-14 10:21:29.000000000 +0100
@@ -1,4 +1,4 @@
-Using the DEBUG_REFS toggle to get threading information
+Using the -D 8 switch to get threading information
 --------------------------------------------------------
 
 This file is of use to people wishing to submit bug reports related to
@@ -14,18 +14,10 @@ Warning: The output may be large. A big 
 in the order of .5Mb of output. It is much more useful if problems
 can be reproduced in groups with as few articles as possible.
 
-1) Recompile Tin with DEBUG_REFS enabled.
-   If you have a build tree already, simply editing refs.c to make
+1) Recompile Tin with DEBUG enabled.
+2) Start Tin as
 
-   #undef DEBUG_REFS
-	read
-   #define DEBUG_REFS	1
-
-   and rebuilding will do it.
-
-2) Start Tin as normal
-
-   ./tin
+   ./tin -D 8
 
 3) If the problem only occurs when entering a group, enter the group in
    question. Make sure the first group you enter is the one causing the
diff -Nurp tin-1.9.2/doc/INSTALL tin-1.9.3/doc/INSTALL
--- tin-1.9.2/doc/INSTALL	2006-12-21 14:41:16.000000000 +0100
+++ tin-1.9.3/doc/INSTALL	2008-03-28 15:20:22.000000000 +0100
@@ -22,32 +22,33 @@ The following configure options and defi
   --enable-break-long-lines               --with-curses-dir
   --enable-broken-listgroup-fix           --with-dbmalloc
   --enable-broken-system-fix              --with-defaults-dir
-  --enable-color                          --with-dmalloc
-  --enable-curses                         --with-domain-name
-  --enable-debug                          --with-editor
-  --enable-echo                           --with-gpg
-  --enable-etiquette                      --with-included-gettext
-  --enable-fascist-newsadmin              --with-inews-dir
-  --enable-flock                          --with-inn-nntplib
-  --enable-inverse-video                  --with-iso-to-ascii
-  --enable-locale                         --with-ispell
-  --enable-lockf                          --with-libdir
-  --enable-mh-mail-handling               --with-libiconv-prefix
-  --enable-mime-strict-charset            --with-mailbox
-  --enable-nls                            --with-mailer
-  --enable-nntp                           --with-metamail
-  --enable-nntp-only                      --with-mime-default-charset
-  --enable-pgp-gpg                        --with-ncurses
-  --enable-piping                         --with-nntp-default-server
-  --enable-posting                        --with-nov-dir
-  --enable-printing                       --with-nov-fname
-  --enable-prototypes                     --with-pcre
-  --enable-shell-escape                   --with-pgp
-  --enable-warnings                       --with-pgpk
-  --enable-xhdr-xref                      --with-screen
-  --exec-prefix                           --with-shell
-  --mandir                                --with-spooldir
-  --prefix                                --with-trace
+  --enable-cancel-locks                   --with-dmalloc
+  --enable-color                          --with-domain-name
+  --enable-curses                         --with-editor
+  --enable-debug                          --with-gpg
+  --enable-echo                           --with-included-gettext
+  --enable-etiquette                      --with-inews-dir
+  --enable-fascist-newsadmin              --with-slrnface
+  --enable-flock                          --with-iso-to-ascii
+  --enable-inverse-video                  --with-ispell
+  --enable-locale                         --with-libdir
+  --enable-lockf                          --with-libiconv-prefix
+  --enable-mh-mail-handling               --with-mailbox
+  --enable-mime-strict-charset            --with-mailer
+  --enable-nls                            --with-metamail
+  --enable-nntp                           --with-mime-default-charset
+  --enable-nntp-only                      --with-ncurses
+  --enable-pgp-gpg                        --with-nntp-default-server
+  --enable-piping                         --with-nov-dir
+  --enable-posting                        --with-nov-fname
+  --enable-printing                       --with-pcre
+  --enable-prototypes                     --with-pgp
+  --enable-shell-escape                   --with-pgpk
+  --enable-warnings                       --with-screen
+  --enable-xhdr-xref                      --with-shell
+  --exec-prefix                           --with-spooldir
+  --mandir                                --with-trace
+  --prefix
 
 
   ENFORCE_RFC1034                         HAVE_UUDEVIEW_H
@@ -55,8 +56,8 @@ The following configure options and defi
   FOLLOW_USEFOR_DRAFT                     NNTP_SERVER_FILE
   FORGERY                                 PROFILE
   REQUIRE_BRACKETS_IN_DOMAIN_LITERAL      SMALL_MEMORY_MACHINE
-  HAVE_LIBUU                              XFACE_ABLE
-  USE_CANLOCK                             HAVE_BROKEN_SSCANF
+  HAVE_LIBUU
+  HAVE_BROKEN_SSCANF                      DISABLE_PIPELINING
 
 
 Not yet documented configure options and defines:
@@ -66,10 +67,10 @@ TIN related:
   --with-socks                           --with-sum
 
   DEBUG                                   MATCH_TAR_PATTERN
-  DEBUG_NEWSRC                            NEW_HASH_METHOD
-  DEBUG_REFS (see doc/DEBUG_REFS)         OPTIMIZE_JUST_STAR
-  JUST_TESTING                            REREAD_ACTIVE_FILE_SECS
-  USE_UTF8_HORIZONTAL_ELLIPSIS
+  JUST_TESTING                            NEW_HASH_METHOD
+  OPTIMIZE_JUST_STAR                      REREAD_ACTIVE_FILE_SECS
+  USE_UTF8_HORIZONTAL_ELLIPSIS            NO_LOCKING
+  FILE_MODE_BROKEN
 
 System related:
   --datadir                               --localstatedir
@@ -259,10 +260,6 @@ Can be overridden by setting the environ
 Bypass a bug in some broken NNTPservers which need an extra GROUP command
 before accepting a LISTGROUP command.
 
---with-inn-nntplib=PATH (default: not set)
-Define if you want to use the INN library functions GetConfigValue()
-& GetFQDN(). PATH must be the correct path to the INN library.
-
 --enable-xhdr-xref (default: on)
 If disabled, don't allow using XHDR XREF if XOVER doesn't work to mark
 crossposted articles as read in all groups.
@@ -291,6 +288,8 @@ time they use tin.
 NNTP_SERVER_FILE (default: /etc/nntpserver)
 Only define if your NNTP-server file is other than /etc/nntpserver.
 
+DISABLE_PIPELINING
+Define if your newsserver can't handle pipelined commands.
 
 Options to set some default values
 ----------------------------------
@@ -463,6 +462,10 @@ found in search path, this is used autom
 Define if you want metamail display your MIME messages. If found in search
 path, this is used automatically.
 
+--with-slrnface=PATH (default: set 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.
+
 --enable-posting (default: on)
 If disabled, TIN does not allow posting/followup of articles.
 
@@ -503,6 +506,11 @@ yet fully implemented. You can expect er
 me know the problems by sending me a bug report ('R' bug command from
 within tin). See doc/reading-mail.txt for further information.
 
+--enable-cancel-locks (default: off)
+Turn on Cancel-Locks. This feature requires the client to know the
+Message-ID of the posting, so if your server does not offer server side
+purposed IDs you have to mess around with EVIL_INSIDE
+
 --enable-nls (default: on)
 The --enable-nls option enables Native Language Support (NLS), which allows
 tin to run in languages other than American English. Native Language
@@ -533,16 +541,20 @@ Link with Conor Cahill's dbmalloc librar
 incorrect frees, etc.
 
 --enable-debug (default: off)
-Define if you want tin to log debug information to files in /tmp. Activated
-by tin -Dn where n is 1 for NNTP only debug logging, n is 2 for logging
-most debug info, n is 3 for newsrc debugging and n is 4 for malloc debug
-logging. Debug files written to /tmp are ARTS, ACTIVE, BASE, NNTP, SAVE_COMP,
-BITMAP, MALLOC and FILTER. Depending on the debuglevel some files may not be
-generated. newsrc debugging also needs DEBUG_NEWSRC defined.
+Define if you want tin to log debug information to files in $TMPDIR.
+Activated by tin -Dn where n is 1 = NNTP-dialog, 2 = filter-file,
+4 = newsrc-file, 8 = threading, 16 = memory allocation (malloc/free),
+32 = misc (-D 63 = debug all). Debug files written to $TMPDIR are ARTS,
+ACTIVE, BASE, NNTP, SAVE_COMP, BITMAP, MALLOC and FILTER. Depending on
+the debuglevel some files may not be generated. As the files written in
+$TMPDIR are world readable and may contian uncryted password information
+(e.g. when using -D 1) don't run "-D n" on multiuser systems without setting
+$TMPDIR to a safe location, e.g. "TMPDIR=$HOME ./tin -D 1".
 
 --with-trace (default: off)
 Trace data which is formatted and written to the screen. Use this to debug
-changes to the curses or termcap interfaces.
+changes to the curses or termcap interfaces. A file trace will be created in
+$PWD when tin is started.
 
 --with-dmalloc (default: off)
 Link with Gray Watson's dmalloc library, used to check for memory leaks,
@@ -629,17 +641,10 @@ allow additional toplevel domains (GNKSA
 EVIL_INSIDE
 let tin generate Message-IDs
 
-USE_CANLOCK
-turn on cancel-locks, you need to compile libcanlock first by running
-./Build in the libcanlock dir or by using "make canlock" from the src
-dir. You also have to uncomment the CANLOCK/CANLIB lines in src/Makefile.
-
 FOLLOW_USEFOR_DRAFT
 issue a warning instead of an error-message if Newsgroups: or
 Followup-To:-header contains spaces, newlines or tabs.
 
-XFACE_ABLE
-Define if you have slrnface installed and want to use it to show X-Faces
 
 Compiled & installed
 --------------------
diff -Nurp tin-1.9.2/doc/TODO tin-1.9.3/doc/TODO
--- tin-1.9.2/doc/TODO	2006-12-21 14:41:16.000000000 +0100
+++ tin-1.9.3/doc/TODO	2008-05-06 19:00:35.000000000 +0200
@@ -4,8 +4,23 @@ not read only ,-).
 
 Bugs
 ----
-o  a wrong usename in ~/.newsauth can't be corrected in the first
-   pass
+o  plug mem-leaks in attrib.c and color.c
+   [20071231 Urs Janssen <urs@tin.org>]
+
+!o  -S/-R is broken, ${TIN_HOMEDIR-"$HOME"}/.tin/active.save isn't
+!   created/keept.
+!   [20071224 Urs Janssen <urs@tin.org>]
+
+!o  after cancelling an article, when using '-' form the next article this
+!   article is also marked as unavailable.
+!   <nntp://news.tin.org/20070202035746.GA19829@akk.org>
+!   [20070202 Urs Janssen <urs@tin.org>]
+
+o  cLINES < MIN_LINES_ON_TERMINAL || cCOLS < MIN_COLUMNS_ON_TERMINAL
+   isn't checked on startup
+   [20071210 Urs Janssen <urs@tin.org>]
+
+o  a wrong username in ~/.newsauth can't be corrected in the first pass
    [20050816 Urs Janssen <urs@tin.org>]
 
 o  unexpected multiline responses confuse tin, e.g.:
@@ -37,6 +52,8 @@ o  batch mode has several bugs
       statistics nor taken into account for the 'any unread news' status.
    - -vc could be more verbose (like -vcZ is)
    - -o currently is not a 'batch_mode' option
+   - if server requires authentication (and no ~/.newsauth entry matches)
+     tin prompts for username but not for password
    [Urs Janssen <urs@tin.org>]
 
 o  '-s' cmd-line switch implicitly changes 'savedir' in tinrc
@@ -53,12 +70,6 @@ o  add version number to other config-fi
    ISO-8859-x vs. unicode)
    [Urs Janssen <urs@tin.org>]
 
-o  rewrite code to use INEWS_PATH instead of INEWSDIR
-   [20021007 Urs Janssen <urs@tin.org>
-
-o  remove built in path of external commands (metamail, ispell, ...)
-   [for ispell $ISPELL can be used to override systempath and progname]
-
 o  overview file cacheing code is over-complex
    - cache the original overview info instead of rebuilding it from
      the processed (decoded etc.) data, no matter if it's broken (e.g.
@@ -70,6 +81,10 @@ o  overview file cacheing code is over-c
 o  iso2asc conversion is missing for 'internal' strings (e.g. 'M'enu)
    [20020319 Urs Janssen <urs@tin.org>]
 
+o  comments in attributes get lost (we need to do something like we do for
+   the filter file)
+   [20080425 Urs Janssen <urs@tin.org>]
+
 Pager Problems
 --------------
 
@@ -80,6 +95,7 @@ o  remove Message-IDs with 8bit chars in
    [done for References in replies/followups, Urs]
 
 o  repost ('x') ignores ~/.tin/attributes - bug or feature?!
+   [IMHO a bug as settings like mailing_list are essential, Urs]
 
 o  forged cancelling via Supersedes:/Also-Control:/Control:-header is possible
    if it is supplied by hand (inews_prog=--internal)
@@ -92,19 +108,27 @@ o  mailers other than sendmail (f.e. elm
 
 New features
 ------------
+o  give an error message if append_mail() fails (grep TODO post.c)
+   [20080423 Urs Janssen <urs@tin.org>]
+
 o  allow remapping of the 'z' abort-key (lynx style) in wait_for_input().
 
 o  add user defined screen layout at different levels
    [20041025 Urs Janssen <urs@tin.org>]
 
-o  add TLS, NNTPS support
-   (see draft-ietf-nntpext-tls-nntp-09.txt;
-    <http://www.gnu.org/software/gnutls/>, <http://www.openssl.org/>
-    might be useful;
+o  add TLS (RFC 4642), NNTPS support
+   (<http://www.gnu.org/software/gnutls/>, <http://www.openssl.org/>
+    might be useful (but unfortunately we use fputs()/fgets() instead of
+    read()/write() ...);
     "stunnel -c -d 1119 -r news.example.org:563; tin -g localhost -p 1119"
     can be used for NNTPS)
    [20031210 Urs Janssen <urs@tin.org>]
 
+o  add more AUTHINFO SASL (RFC 4643) 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 RFC2822/USEFOR compliant
 
 o  add In-Reply-To threading for mailgroups
@@ -262,11 +286,9 @@ o  check if server supports 'LIST MODERA
 o  if using "-n" commandline switch you can't subscribe to newsgroups not
    present in your newsrc - a simple check against the server
    (e.g. GROUP $newsgroup or if !NNTP try to stat the dir) would help.
-   if we are running in NNTP mode and if the server understands
-   LIST NEWSGROUPS pattern (don't use XGTITLE, it will become obsolete) we
-   could also fetch the description without loosing "-n" speed improvements;
-   if the server understands LIST ACTIVE pattern we could also get the group
-   attribute (moderated, etc.)
+   if the server understands "LIST ACTIVE grp" we could also get the group's
+   attribute (moderated, etc.) and with "LIST NEWSGROUPS grp" it's
+   description.
 
 o  item_by_item_etiquette_warnings [compile-time?]
    (e.g. enable x-posts without f'up warning, disable long-sig warning)
@@ -338,22 +360,6 @@ 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  (g)oto group is case sensitive (note that MH mailgroups might
-   contain uppercase chars)
-   also newsgroup names in the command-line are case sensitive
-   better would be: check if they exist and if not ask if you would
-   like to convert newsgroup name to lowercase
-	[son_of_1036]
-	NOTE: Possibly newsgroup names  should  have  been
-	case-insensitive, but all existing software treats
-	them as case-sensitive.   (RFC  977  [rrr]  claims
-	that they are case-insensitive in NNTP, but exist-
-	ing implementations are believed to ignore  this.)
-	The simplest solution is just to ban use of upper-
-	case letters, since no widespread  newsgroup  name
-	uses  them  anyway; this avoids any possibility of
-	confusion.
-
 o  when From: only contains "First-name Last-name" tin strips the
    Last-name in group/thread/page-level
    [20020319 Urs Janssen <urs@tin.org>]
@@ -374,12 +380,10 @@ o  add check for libbzip2/zlib (>=1.1.4)
    option to write/read {g,b,l}zipped local overviews.
    zlib, libbzip2 and lzo might also be used for post-processing.
 
-o  add check for GPGME (<http://www.gnupg.org/gpgme.html>) and if found
-   use it for pgp actions.
+o  add check for GPGME (<http://www.gnupg.org/related_software/gpgme/>) and if
+   found use it for pgp actions.
 
-o  rewrite/cleanup all the debugging code; clearly seperate the debugging
-   levels, e.g.: NNTP=0x01, FILTER=0x02, NEWSRC=0x04, MEMORY=0x08,
-   ALL=0x0f
+o  rewrite/cleanup all the debugging code, the output in /tmp is messy, ...
 
 Posting enhancements
 --------------------
@@ -472,7 +476,7 @@ o  make article numbers uint_least64_t (
    usefull fallbacks if system doesn't have <inttypes.h>/<stdint.h>
    [20050728 Urs Janssen <urs@tin.org>]
 
-o  upgrade configure-script to autoconf-2.59
+o  upgrade configure-script to >= autoconf-2.61
    [20050728 Urs Janssen <urs@tin.org>]
 
 o  remove untranslateable constructs like txt_prefix_*
@@ -487,8 +491,12 @@ o  keys which could be renamed/merged:
    - '~' GroupUndoSel, ThreadUndoSel
    [20050408 Urs Janssen <urs@tin.org>]
 
+o  options which could be renamed/merged:
+   - auto_cc/auto_bcc {off, cc, bcc, cc & bcc}
+   [20071026 Urs Janssen <urs@tin.org>]
+
 o  read_overview() calls eat_re() which strips the "Re: " out of the
-   subject. the modified subject ist used for batch_mode opperatios (-N/-M)
+   subject. the modified subject is used for batch_mode opperatios (-N/-M)
    which might not be what ppl. expect and eat_re() is the only function
    which needs the 'regex' overhead in batch_mode... (see also the note
    about "Re: "strpping at "Filtering enhancements").
@@ -503,9 +511,6 @@ o  replace various occurrence of "US-ASC
    and define that to "US-ASCII" (to make 'updates' easier).
    [20040929 Urs Janssen <urs@tin.org>]
 
-o  add configure option for slrnface
-   [20030506 Urs Janssen <urs@tin.org>]
-
 o  get rid of CURR_GROUP, use t_group instead
    create a global t_group *CURR_GROUP instead of the current macro
    reduce dependencies on my_group[] & selmenu outside of select.c
@@ -518,8 +523,7 @@ o  try to get rid of the magic numbers l
    a sentinel in the arrays instead (match_list is a showstopper here).
    [20030203 Urs Janssen <urs@tin.org>]
 
-o  check where joinpath() should be used; check joinpath() for overruns.
-   (e.g. grep for TMPDIR in the source)
+o  check where joinpath() should be used (e.g. grep for TMPDIR in the source)
    [Urs Janssen <urs@tin.org>]
 
 o  make configure look for strrstr() in libpub/publib.h
@@ -590,9 +594,6 @@ o  rewrite the tag code so that arts[].t
    tagged art. Traversing tagged arts becomes much easier & faster.
    [Jason Faultless <jason@altarstone.com>]
 
-o  do real overview.fmt parsing - not only looking for Xref:full
-   [Urs Janssen <urs@tin.org>]
-
 o  strip Xref:-header if saving news in batch mode (-S)?
    [Urs Janssen <urs@tin.org>]
 
@@ -603,6 +604,12 @@ o  When reading local spool, assign the 
 
 o  what is with NEW_HASH_METHOD in list.c?
 
+o  rewrite code to use INEWS_PATH instead of INEWSDIR
+   [20021007 Urs Janssen <urs@tin.org>
+
+o  remove built in path of external commands (metamail, ispell, ...)
+   [for ispell $ISPELL can be used to override systempath and progname]
+
 Unicode
 -------
 o  add UTF-8 (unicode) support (RFC 2279)
@@ -649,6 +656,13 @@ o  add normalization
 
 Docs/online help
 ----------------
+o  document the different singnals/actions (i.e. SIGUSR2 writes newsrc)
+   [20080209 Urs Janssen <urs@tin.org>]
+
+o  exit staus documentation in the manpage isn't correct, we have more
+   exit codes than just 0/1 (and 2 in the -Z case).
+   [20080320 Urs Janssen <urs@tin.org>]
+
 o  review the turkish, russian and kinyarwanda translations
    (tr.po, ru.po, rw.po)
 
@@ -671,6 +685,16 @@ o  replace "\\" by "\e" in manpages (por
 
 Not yet classified
 ------------------
+o  create debug output in
+   ${TIN_HOMEDIR-"$HOME"}/.tin"}${NNTPSERVER+"/$NNTPSERVER"}
+   instead of in $TMPDIR (as it may contain username and password,
+   access restrictions in $TMPDIR are a bad idea as other users
+   need to be able to overwrite the file)
+   [20080211 Urs Janssen <urs@tin.org>]
+
+o  -M/-N report is malied to userid, should we use tinrc.mail_address
+   instead?
+
 o  tin uses the first sig-isolator as recent one, USEFOR says it should
    use the last. There is no consensus that tin should follow this USEFOR
    requirement.
@@ -754,10 +778,7 @@ o  check_article_to_be_posted() still ne
 
 o  update gettext stuff to > gettext-0.12.1
 
-o  clean up included pcre stuff (pcre/Makefile.in)
-   [20050608 Urs Janssen <urs@tin.org>]
-
-o  tin in batchmode dumps core if getting a SIGINT, useful?
+o  clean up included pcre stuff and update to >= pcre-7.6
 
 o  what is with conflicting tinrc settings? should we disallow those, or leave
    it to the user to realise that e.g. strip_blanks=ON && inverse_okay=ON
@@ -779,19 +800,25 @@ o  doesn't handle symlinks for .oldnewsr
     attacks (<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-1999-1091>)
    [20020627 Jeff Sheinberg <jeffsh@erols.com>]
 
+o  missing newsrc file and connecting to a server without groups leads to the
+   question "Try and save newsrc file again? (Y/n)" but a newsrc file doesn't
+   get written. Same may occur on quitting if newsrc file had been removed
+   while tin was running. Useful? Should write_newsrc() try to create a newsrc
+   file if it is missing instead of just leaving?
+   [20061102 Dirk Nimmich <nimmich@muenster.de>]
+
 o  cleanup main.c/init_selfinfo()
    ('strace -e trace=file tin' and/or 'ltrace -e getenv tin' and you know
     what I mean)
    [fixed some of the double/tripple reads, urs]
 
-o  either use libinn(3) where ever it's possible inside the code (if
-   configured to use that lib; the related configure check needs to be
-   rewritten from scratch (limitations to SPOOLDIR doesn't make sense
-   anymore, test for libinn.h is missing, ...)) or drop support for it.
-   [20030511 Urs Janssen <urs@tin.org>]
-
 o  detect pcre version and add compatibility macros for old versions
    (interface has changed twice and might do so again)
    (leafnode comes with a (suboptimal) check)
    (is this still needed with the configure option for extern pcre?)
    [Urs Janssen <urs@tin.org>]
+
+o  re add innlib support? (the old one was dropped as the lib has retired
+   all (which were not that many) features we used and our code didn't
+   use the innlibs code where ever it was possible (and usefull).
+   [20080211 Urs Janssen <urs@tin.org>]
diff -Nurp tin-1.9.2/doc/WHATSNEW tin-1.9.3/doc/WHATSNEW
--- tin-1.9.2/doc/WHATSNEW	2006-12-31 02:22:21.000000000 +0100
+++ tin-1.9.3/doc/WHATSNEW	2008-03-14 10:21:29.000000000 +0100
@@ -5,10 +5,15 @@ New features
 . slrn style verbatim marks
 . UTF-8 descriptions (RFC 3977)
 . sort by date of last posted article
+. writes out newsrc if getting SIGUSR2
 
 Changes
 -------
+. Cancel-Locks can be enabled via configure switch
+. url_handler.pl as DEFAULT_URL_HANDLER
+. mime_forward is forced on multipart articles
 
 Retired Features
 ----------------
 . VMS support
+. libinn support (was broken for ages)
diff -Nurp tin-1.9.2/doc/filtering tin-1.9.3/doc/filtering
--- tin-1.9.2/doc/filtering	2006-12-21 14:41:16.000000000 +0100
+++ tin-1.9.3/doc/filtering	2008-03-14 10:21:29.000000000 +0100
@@ -151,12 +151,13 @@ matches:            matched to:
 
 subj=pattern        Subject:
 from=pattern        From:
-                    Tin converts the contents of the From-header to an old-style
-                    e-mail address, i.e. ''some@body.example (John Doe)''
-                    instead of ''John Doe <some@body.example>'', before trying to
-                    match the patterns in the filter rule. That way a rule tailored to
-                    to match the full from header "jsmith@ac.example (John Smith)" will still
-                    work when John posts with a different newsreader which uses
+                    Tin converts the contents of the From-header to an
+                    old-style e-mail address, i.e. ''some@body.example (John
+                    Doe)'' instead of ''John Doe <some@body.example>'',
+                    before trying to match the patterns in the filter rule.
+                    That way a rule tailored to to match the full from
+                    header "jsmith@ac.example (John Smith)" will still work
+                    when John posts with a different newsreader which uses
                     "John Smith <jsmith@ac.example>".
 msgid=pattern       Message-Id: *AND* full References:
 msgid_last=pattern  Message-Id: and last Reference:s entry only
@@ -307,7 +308,7 @@ score=-100
 refs_only=.*<[^@\s]+@\S+(?<!akk3\.akk\.uni-karlsruhe\.de)>$
 
 comment= Kill all articles from John Smith, who writes under different
-comment= addresses at ac.me, e.g john@ac.me and boss@ac.me
+comment= addresses at ac.example, e.g john@ac.example and boss@ac.example
 group=*
 case=1
 score=kill
diff -Nurp tin-1.9.2/doc/mailcap.sample tin-1.9.3/doc/mailcap.sample
--- tin-1.9.2/doc/mailcap.sample	2006-12-21 14:41:16.000000000 +0100
+++ tin-1.9.3/doc/mailcap.sample	2008-03-14 10:21:30.000000000 +0100
@@ -12,7 +12,7 @@ image/*;\
 	test=test "$DISPLAY";\
 	nametemplate=%s.IMAGE
 message/rfc822;\
-	${PAGER-"more"} '%s'\;
+	formail > '%s.mbox' < '%s' \&\& mutt -m mbox -f '%s.mbox' \&\& rm -f '%s.mbox';\
 	description=Mail Text;\
 	needsterminal
 text/html;\
@@ -21,8 +21,8 @@ text/html;\
 	needsterminal;\
 	nametemplate=%s.html
 text/*;\
-	${PAGER-"more"} '%s'\;
-	edit=${EDITOR-"vi"} '%s';\
-	compose=${EDITOR-"vi"} '%s';\
+	${PAGER:-"more"} '%s'\;
+	edit=${EDITOR:-"vi"} '%s';\
+	compose=${EDITOR:-"vi"} '%s';\
 	print=a2ps '%s';\
 	needsterminal
diff -Nurp tin-1.9.2/doc/tin.1 tin-1.9.3/doc/tin.1
--- tin-1.9.2/doc/tin.1	2007-02-01 14:44:31.000000000 +0100
+++ tin-1.9.3/doc/tin.1	2008-05-06 19:04:27.000000000 +0200
@@ -3,7 +3,7 @@
 .\" Module    : tin.1
 .\" Author    : I. Lea, U. Janssen
 .\" Created   : 1991-08-23
-.\" Updated   : 2007-02-01
+.\" Updated   : 2008-05-06
 .\" Notes     : use american english; still needs some work, e.g.:
 .\"             - document authorization (.newsauth)
 .\"             - document random organization feature
@@ -19,7 +19,7 @@
 .fi
 ..
 .\"
-.TH tin 1 "February 1st, 2007" "1.9.2" "A Usenet newsreader"
+.TH tin 1 "May 6th, 2008" "1.9.3" "A Usenet newsreader"
 .\"
 .\"
 .SH NAME
@@ -63,7 +63,7 @@ option) via a NNTP (Network News Transpo
 automatically utilize NOV
 .BR newsoverview (5)
 style index files if available locally or via the NNTP [X]OVER command
-(\fBRFC2980\fP).
+(\fBRFC2980\fP, \fBRFC3977\fP).
 .PP
 .B tin
 has four separate levels of operation: Selection level, Group level,
@@ -72,7 +72,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
@@ -118,22 +118,23 @@ Force authentication on initial connect.
 .TP
 .B \-c
 Create/update index files for every group in
-\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR or file specified by the ''\fB\-f\fP''
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR or file specified by the ''\fB\-f\fP''
 option and mark all articles as read.
 .TP
 .B \-d
 Don't load newsgroup descriptions (interactive mode).
 .TP
 .BI \-D " debug-level"
-Enter debug-level (1 = NNTP, 2 = all, 3 = newsrc, 4 = memory allocation).
+Enter debug-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 =
+memory, 32 = misc).
 .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.
 .TP
 .BI \-g " server"
 Use the server and newsrc specified in
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/newsrctable\fR.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fR.
 .TP
 .BI \-G " article-limit"
 Limit the number of articles/group to retrieve from the server.
@@ -147,22 +148,22 @@ started.
 .TP
 .BI \-I " dir"
 Directory in which to store newsgroup index files. Default is
-\fI${TIN_INDEX_NEWSDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.news\fR.
+\fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news\fR.
 This option has no effect if \fBtin\fP retrieves its index files via
 NNTP and \fBcache_overview_files\fP is turned off.
 .TP
 .BI \-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 (\fBRFC977\fP). This
+\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file. If
+reading via NNTP this is done with the LIST command (\fBRFC3977\fP). This
 might result in incorrect article counts but is usually faster than the
 default which is to read the
-\fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file
+\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file
 (either directly or via LIST) and then check the article count via
-NNTP GROUP command (\fBRFC977\fP) ''\fB\-ln\fP''.
+NNTP GROUP command (\fBRFC3977\fP) ''\fB\-ln\fP''.
 .TP
 .BI \-m " dir"
-Mailbox directory to use. Default is \fI${TIN_HOMEDIR\-"$HOME"}/Mail\fR.
+Mailbox directory to use. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fR.
 .TP
 .BI \-M " user"
 Mail unread articles to specified user for later reading. For more
@@ -170,8 +171,8 @@ information read section "AUTOMATIC MAIL
 .TP
 .B \-n
 Only load groups from the
-\fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file that are
-subscribed to in the user's \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR. This
+\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file that are
+subscribed to in the user's \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR. This
 allows a noticeable speedup when connecting via a slow line, but \fBtin\fP
 can not tell which groups are moderated. See also ''\fB\-l\fP''.
 .TP
@@ -204,7 +205,7 @@ Read news saved by the ''\fB\-S\fP'' opt
 .TP
 .BI \-s " dir"
 Save/read articles to/in directory. Default is
-\fI${TIN_HOMEDIR\-"$HOME"}/News\fR.
+\fI${TIN_HOMEDIR:\-"$HOME"}/News\fR.
 .TP
 .B \-S
 Save unread articles for later reading by the ''\fB\-R\fP'' option. For more
@@ -212,7 +213,7 @@ information read section "AUTOMATIC MAIL
 .TP
 .B \-u
 Create/update index files for every group in
-\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR or file specified by the ''\fB\-f\fP''
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR or file specified by the ''\fB\-f\fP''
 option. This option is disabled if \fBtin\fP retrieves its index files via a
 NNTP server and \fBcache_overview_files\fP is turned off.
 .TP
@@ -231,8 +232,8 @@ quick, it should be used with ''\fB\-n\f
 No posting mode. You cannot post articles if you use this option.
 .TP
 .B \-X
-No overwrite mode. \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR and files in
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin\fR
+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.
 .TP
 .B \-z
@@ -248,7 +249,7 @@ and 2 that new/unread news exists. Usefu
 .PP
 \fBtin\fP can also dynamically change its options by the \fBOptionMenu\fP
 ('\fBM\fP') command. Any changes are written to
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR. For more information see section
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR. For more information see section
 "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" and
 .BR tin (5).
 .PP
@@ -266,13 +267,13 @@ Once you use \fBSelectYankActive\fP ('\f
 or \fBSelectToggleReadDisplay\fP ('\fBr\fP') to toggle the read/unread
 status, then the command-line groups will be gone. You can use
 \fBSelectSyncWithActive\fP ('\fBY\fP') to reread the
-\fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file and get
+\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file and get
 them back.
 .PP
 NB: With the ''\fB\-n\fP'' flag, only unsubscribed groups in the
-\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file (or the newsrc-file given by the
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR file (or the newsrc-file given by the
 \&''\fB\-f\fP'' command-line switch or via
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/newsrctable\fR) can be matched.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fR) can be matched.
 .\"
 .\"
 .SH USAGE
@@ -286,7 +287,7 @@ news system and news users.
 A user starting \fBtin\fP 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., \fI${TIN_LIBDIR\-NEWSLIBDIR}/subscriptions\fR) and should
+directory (i.e., \fI${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions\fR) and should
 have file permissions set to 0644. If you read news via NNTP, then your news
 server must support the LIST SUBSCRIPTIONS command. It is part of the Common
 NNTP Extensions (\fBRFC2980\fP) and all modern servers should understand it.
@@ -352,7 +353,7 @@ recent articles and the number of killed
 .PP
 .nf
 .\" FIXME - make this autocenter
-            alt.sources (5B -50/23+ 0* 3o 0K).
+            alt.sources (5B \-50/23+ 0* 3o 0K).
 .fi
 .PP
 The characters after the numbers are depending to the configuration and if
@@ -524,7 +525,7 @@ Print \fBtin\fP version information.
 Select group 4.
 .TP
 .B SelectResetNewsrc '^R'
-Reset \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file. This will destroy all
+Reset \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR file. This will destroy all
 records of which articles have been read, so use this carefully.
 .TP
 .B SetRange '#'
@@ -635,11 +636,11 @@ Quit \fBtin\fP without saving any change
 .TP
 .B SelectYankActive 'y'
 Yanks in all groups. Toggles the displayed groups between all the groups in
-the \fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file and just
-those that are subscribed to in \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR.
+the \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file and just
+those that are subscribed to in \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR.
 .TP
 .B SelectSyncWithActive 'Y'
-Reread the \fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file
+Reread the \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file
 to see if any new news has arrived since starting \fBtin\fP.
 .TP
 .B SelectMarkGrpUnread 'z' 'Z'
@@ -1039,7 +1040,7 @@ Perform
 operations on article.
 .TP
 .B PageToggleHeaders '^H'
-Toggles the display mode (raw including all headers vs. cooked)
+Toggles the display mode (raw including all headers vs. cooked).
 .TP
 .B MenuFilterKill '^K'
 Kill article(s) using a menu. Read the section "FILTERING ARTICLES" for more
@@ -1276,17 +1277,17 @@ At startup, \fBtin\fP reads in the confi
 .BR tin (5)).
 They contain a list of variables that can be used to configure the way
 \fBtin\fP works. If it exists, the global configuration file,
-\fI${TIN_LIBDIR\-NEWSLIBDIR}/tinrc\fR is read. After that, the user's own
-configuration file is read from \fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR. The
+\fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR is read. After that, the user's own
+configuration file is read from \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR. The
 global file is useful for distributing system-wide defaults to new users who
 have no private tinrc yet.
 .PP
 The variables are user configurable by editing
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR directly. Most of them can also be
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR directly. Most of them can also be
 set in the GLOBAL OPTIONS MENU which is accessed by pressing
 \fBOptionMenu\fP ('\fBM\fP') at all levels. It allows the user to customize
 the behavior of \fBtin\fP. The options are saved to the file
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR when you exit \fBtin\fP so don't
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR when you exit \fBtin\fP so don't
 edit the file directly whilst \fBtin\fP is running.
 .PP
 In the options menu use the cursor keys in the usual way to move around. Use
@@ -1304,7 +1305,7 @@ your changes.
 .PP
 Here is a full list of all the available variables. The name in braces is
 the name of the corresponding setting in
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR.
 .TP 4
 .B Add posted articles to filter (add_posted_to_filter)
 If ON add posted articles which start a new thread to filter for
@@ -1585,9 +1586,10 @@ format. This feature is mainly for use w
 .BR elm (1)
 mail program. It allows the user to save articles/threads/groups simply by
 giving '=' as the filename to save to.
-Default is \fI${TIN_HOMEDIR\-"$HOME"}/Mail\fR.
+Default is \fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fR.
 .TP
 .B Invocation of your mail command (default_mailer_format)
+.\" TODO: document %S, %T, %M, %F, %U ...
 The format string used to create the mailer command with parameters that is
 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
@@ -1628,7 +1630,7 @@ System Administrator.
 .TP
 .B Directory to save arts/threads in (default_savedir)
 Directory where articles/threads are saved. Default is
-\fI${TIN_HOMEDIR\-"$HOME"}/News\fR.
+\fI${TIN_HOMEDIR:\-"$HOME"}/News\fR.
 .TP
 .B (default_select_pattern)
 .TP
@@ -1642,7 +1644,7 @@ directory. If the path starts with a ! t
 be executed to generate a signature. \fBtin\fP will pass the name of the
 current newsgroup as argument to the program. \-\-none will suppress any
 signature.
-Default is \fI${TIN_HOMEDIR\-"$HOME"}/.Sig\fR.
+Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fR.
 .TP
 .B (default_subject_search)
 .TP
@@ -1713,9 +1715,9 @@ If ON use inverse video for page headers
 Default is ON.
 .TP
 .B Keep failed arts in ~/dead.articles (keep_dead_articles)
-If ON keep all failed postings in \fI${TIN_HOMEDIR\-"$HOME"}/dead.articles\fR
+If ON keep all failed postings in \fI${TIN_HOMEDIR:\-"$HOME"}/dead.articles\fR
 besides keeping the last failed posting in
-\fI${TIN_HOMEDIR\-"$HOME"}/dead.article\fR. Default is ON.
+\fI${TIN_HOMEDIR:\-"$HOME"}/dead.article\fR. Default is ON.
 .TP
 .B Filter which articles (kill_level)
 This option controls the processing and display of articles that are killed.
@@ -1928,7 +1930,7 @@ files only.
 .TP
 .B Filename to be used for storing posted articles (posted_articles_file)
 Keep posted articles in
-\fI${TIN_HOMEDIR\-"$HOME"}/Mail/\fBposted_articles_file\fP\fR.
+\fI${TIN_HOMEDIR:\-"$HOME"}/Mail/\fBposted_articles_file\fP\fR.
 If no filename is set then postings will not be saved.
 Default is 'posted'.
 .TP
@@ -1982,7 +1984,7 @@ If ON \fBtin\fP does the rendering of bi
 leaves the rendering of bi-directional text to the terminal. Default is OFF.
 .TP
 .B Interval in seconds to reread active (reread_active_file_secs)
-The news \fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file is
+The news \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file is
 reread at regular intervals to show if any new news has arrived. Default is
 1200. Setting this to 0 will disable this feature.
 .TP
@@ -2005,9 +2007,9 @@ Score of an article which should be mark
 .B Number of lines to scroll in pager (scroll_lines)
 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 tin page-by-page scrolling. Set to -1 to get page-by-page
+traditional tin 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 show_last_line_prev_page=ON. Set to \-2 to get
 half-page scrolling. This setting supersedes full_page_scroll=OFF.
 .TP
 .B In group menu, show author by (show_author)
@@ -2031,10 +2033,10 @@ displayed.
 If ON show a short group description text after newsgroup name at the group
 selection level. The ''\fB\-d\fP'' command-line flag will override the
 setting and turn descriptions off. The text used is taken from the
-\fI${TIN_LIBDIR\-NEWSLIBDIR}/newsgroups\fR file and if supported (requires
+\fI${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups\fR file and if supported (requires
 .B tin
 to be build with mh-mail-handling support) from
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/mailgroups\fR for mailgroups. Default is ON.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups\fR for mailgroups. Default is ON.
 .TP
 .B Show lines/score in listings (show_info)
 Which information about the thread or article should be shown. Default is 1,
@@ -2121,7 +2123,7 @@ allowed:
 .IP 3
 \fBLast posting date (descending)\fP, sort threads by date of last posting descending.
 .IP 4
-\fBLast posting date (ascending)\fP, sort threads by  date of last posting ascending.
+\fBLast posting date (ascending)\fP, sort threads by date of last posting ascending.
 .RE
 .TP
 .B Spamtrap warning address parts (spamtrap_warning_addresses)
@@ -2149,7 +2151,7 @@ display when reading on a slow terminal 
 .TP
 .B Remove bogus groups from newsrc (strip_bogus)
 Bogus groups are groups that are present in your
-\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file that no longer exist on the news
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR 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
@@ -2158,7 +2160,7 @@ Keep).
 .TP
 .B No unsubscribed groups in newsrc (strip_newsrc)
 If ON, then unsubscribed groups will be permanently removed from your
-\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file. Default is OFF.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR file. Default is OFF.
 .TP
 .B Regex used to highlight \-strokes\- (strokes_regex)
 A regular expression that will be applied when reading articles. All
@@ -2178,7 +2180,7 @@ toggled in the article viewer via \fBPag
 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
 \fBthread_arts\fP to 0 - 4 in the file
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/attributes\fR. (See also "GROUP ATTRIBUTES".)
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fR. (See also "GROUP ATTRIBUTES".)
 The default is Both Subject and References.
 The choices are:
 .RS +.5i
@@ -2324,8 +2326,8 @@ set.
 .SS "GROUP ATTRIBUTES"
 \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\fR is read. After that, the user's
-own attributes file \fI${TIN_HOMEDIR\-"$HOME"}/.tin/attributes\fR is read.
+\fI${TIN_LIBDIR:\-NEWSLIBDIR}/attributes\fR is read. After that, the user's
+own attributes file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fR is read.
 The global attributes file is useful for distributing system-wide defaults
 to new users who have no private attributes file yet. A later version will
 provide a menu interface to set all the attributes. At present you will have
@@ -2349,7 +2351,7 @@ 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
+\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
 killed or selected when they meet certain criteria.
@@ -2360,7 +2362,7 @@ setting. By default killed articles will
 auto-selection rule are marked with a ''*''.
 .PP
 Filtering rules can be manually entered into
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/filter\fR (but don't do this whilst running
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fR (but don't do this whilst running
 \fBtin\fP else you will lose your changes) or by using an on-screen menu
 within \fBtin\fP.
 .PP
@@ -2453,7 +2455,7 @@ news_quote_format=In %M, %F wrote:
 would expand to:
 .RS
 .Vb
-On 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote:
+On 21 Sep 1993 09:45:51 \-0400 in alt.sources you wrote:
 In <abcINN123@example.org>, Joe Bar <joe@example.org> wrote:
 .Ve
 .RE
@@ -2519,7 +2521,7 @@ that expire has removed a whole load of 
 everyday while away, after which you will be mailed a report of which
 articles were mailed/saved from which newsgroups and the total number of
 articles mailed/saved. Articles are saved in a private news structure under
-your <savedir> directory (default is \fI${TIN_HOMEDIR\-"$HOME"}/News\fR). Be
+your <savedir> directory (default is \fI${TIN_HOMEDIR:\-"$HOME"}/News\fR). Be
 careful of using this option if you read a lot of groups because you could
 overflow your file system.
 .PP
@@ -2579,15 +2581,15 @@ examples.
 .\"
 .SS SIGNATURES
 \fBtin\fP will recognize a signature in either
-\fI${TIN_HOMEDIR\-"$HOME"}/.signature\fR or \fI${TIN_HOMEDIR\-"$HOME"}/.Sig\fR.
-If \fI${TIN_HOMEDIR\-"$HOME"}/.signature\fR exists, then the signature
+\fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fR or \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fR.
+If \fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fR exists, then the signature
 will be pulled into the editor for mail commands only. A signature in
-\fI${TIN_HOMEDIR\-"$HOME"}/.signature\fR will not be pulled into the
+\fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fR will not be pulled into the
 editor for posting commands since
 .BR inews (1)
 will append the signature itself.
 .PP
-A signature in \fI${TIN_HOMEDIR\-"$HOME"}/.Sig\fR will be pulled into the
+A signature in \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fR will be pulled into the
 editor for both posting and mailing commands.
 .PP
 The following is an example of a \fI.Sig\fR file:
@@ -2635,7 +2637,7 @@ the
 is resized.
 .PP
 \fBtin\fP will reread the
-\fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file at set
+\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file at set
 intervals (\fBreread_active_file_secs\fP) to show any newly arrived news.
 .PP
 If you find large number of new newsgroups cluttering up your screen,
@@ -2720,7 +2722,7 @@ Note that this cache can use up large am
 read a lot of groups and/or high traffic groups.
 .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
+\fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news/\fR. 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
@@ -2753,7 +2755,7 @@ with something like:
 .PP
 .RS
 .Vb
-find ${TIN_INDEX_NEWSDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.news* \\
+find ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \\
 \-type f \-name "[0\-9]*.[0\-9]" \-atime +28 | xargs rm \-f
 .Ve
 .RE
@@ -2762,12 +2764,15 @@ find ${TIN_INDEX_NEWSDIR\-"${TIN_HOMEDIR
 .SH FILES
 .\" TODO: mention dead.article, dead.articles
 .\"               .article[.$$], .cancel[.$$], .letter[.$$]?
+.\"       $PWD/trace (--with-trace)
+.\"       $TMPDIR/NNTP, $TMPDIR/ARTS, $TMPDIR/ACTIVE, $TMPDIR/BASE,
+.\"       $TMPDIR/SAVE_COMP, $TMPDIR/BITMAP, $TMPDIR/MALLOC, $TMPDIR/FILTER
 For a detailed description see
 .BR tin (5).
 .PP
 .IR $MAILCAPS
 .br
-.IR ${TIN_HOMEDIR\-"$HOME"}/.mailcap
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.mailcap
 .br
 .IR /etc/mailcap
 .br
@@ -2781,100 +2786,100 @@ For a detailed description see
 .IR /etc/nntpserver
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.cancelsecret
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.mime.types
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.mime.types
 .br
 .IR /etc/mime.types
 .br
 .IR /etc/tin/mime.types
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.newsauth
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsauth
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.newsrc
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsrc
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT+":$NNTPPORT"}/.oldnewsrc
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc
 .fi
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.signature
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.signature
 .br
-.IR ${TIN_HOMEDIR\-"$HOME"}/.Sig
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.Sig
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.sigfixed
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.sigfixed
 .PP
 
-.IR ${TIN_HOMEDIR-"$HOME"}/.tin/.inputhistory
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/.inputhistory
 .PP
 
-.IR ${TIN_INDEX_MAILDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.mail/
+.IR ${TIN_INDEX_MAILDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.mail/
 .PP
 
 .nf
-.IR ${TIN_INDEX_NEWSDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.news${NNTPSERVER+"\-$NNTPSERVER"}/
+.IR ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news${NNTPSERVER:+"\-$NNTPSERVER"}/
 .fi
 .PP
 
-.IR ${TIN_INDEX_SAVEDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.save/
+.IR ${TIN_INDEX_SAVEDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.save/
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/active.mail
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/active.save
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save
 .PP
 
-.\" .IR ${TIN_LIBDIR\-NEWSLIBDIR}/attributes
+.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes
 .IR /etc/tin/attributes
 .br
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/attributes
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/filter
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/filter
 .PP
 
 .nf
-.IR /etc/tin/keymap${${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}:+".${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}"}
+.IR /etc/tin/keymap${${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}"}
 .br
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/keymap${${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}:+".${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}"}
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/keymap${${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}"}
 .fi
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/mailgroups
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/newsrctable
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/posted
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/posted
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/Mail/posted
+.IR ${TIN_HOMEDIR:\-"$HOME"}/Mail/posted
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/postponed.articles
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/postponed.articles
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER:${NNTPPORT+":$NNTPPORT"}/newsgroups
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER:${NNTPPORT:+":$NNTPPORT"}/newsgroups
 .fi
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER:${NNTPPORT+":$NNTPPORT"}/serverrc
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER:${NNTPPORT:+":$NNTPPORT"}/serverrc
 .fi
 .PP
 
-.\" .IR ${TIN_LIBDIR\-NEWSLIBDIR}/tinrc
+.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc
 .IR /etc/tin/tinrc
 .br
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc
 .PP
 
 .IR /etc/tin/tin.defaults
@@ -2883,22 +2888,22 @@ For a detailed description see
 .IR /usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}/active.times
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/active.times
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}/newsgroups
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}/organization
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/organization
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}/overview.fmt
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/overview.fmt
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}/subscriptions
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions
 .PP
 .\"
 .\"
@@ -2906,11 +2911,21 @@ For a detailed description see
 .\" TODO: sort in a useful order, add undocumented env-vars like:
 .\"
 .\" .TP
-.\" .B TIN_RNG_MIN, TIN_RNG_MAX, TIN_MIN, TIN_MAX, TIN_COUNT, TIN_SEQ
-.\" (all used in vNewsrcTestHarness() (-DDEBUG_NEWSRC))
+.\" .B SHELL (Unix)
 .\"
+.\" the next two will go away once we remove AUTHINFO GENERIC (deprecated by RFC 4643)
 .\" .TP
-.\" .B SHELL (Unix)
+.\" .B NNTPAUTH
+.\" "\fInntppassword\fR \fInntpusername\fR" pair for genereic authentication.
+.\" .TP
+.\" .B NNTP_AUTH_FDS
+.\"
+.\" used in xface support
+.\" .TP
+.\" .B DISPLAY
+.\" .TP
+.\" .B WINDOWID
+.\"
 .\"
 .TP
 .B TINRC
@@ -2928,19 +2943,19 @@ Define this variable if you do not want 
 .TP
 .B TIN_INDEX_NEWSDIR
 Define this variable if you do not want the \fI.news\fR directory in
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's
 news index files in \fI/tmp/.news\fR you would set $\fBTIN_INDEX_NEWSDIR\fP
 to \fI/tmp\fR.
 .TP
 .B TIN_INDEX_MAILDIR
 Define this variable if you do not want the \fI.mail\fR directory in
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's
 mail index files in \fI/tmp/.mail\fR you would set $\fBTIN_INDEX_MAILDIR\fP
 to \fI/tmp\fR.
 .TP
 .B TIN_INDEX_SAVEDIR
 Define this variable if you do not want the \fI.save\fR directory in
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's
 save index files in \fI/tmp/.save\fR you would set $\fBTIN_INDEX_SAVEDIR\fP
 to \fI/tmp\fR.
 .TP
@@ -2984,6 +2999,7 @@ variable instead of the system default.
 .B ISO2ASC
 Set the ISO to ASCII charset decoding table character to use in decoding
 an article text. Values can range from 0 to 6.
+.\" TODO: short document the different tables (doc/iso2asc.txt) here
 .TP
 .B ORGANIZATION
 Set the article header field ''Organization:'' to the contents of the
@@ -3023,7 +3039,7 @@ This variable has precedence over the de
 .BR vi (1))
 that is used in all editing operations within \fBtin\fP (e.g., posting,
 replying, follow-ups, ...). Evaluation order is
-\fI${VISUAL\-"${EDITOR\-vi}"}\fR. See
+\fI${VISUAL:\-"${EDITOR:\-vi}"}\fR. See
 .BR environ (5)
 for more infos.
 .TP
@@ -3173,13 +3189,36 @@ See
 for more information.
 .\"
 .\"
+.\" TODO: addd missing, sort usefull, document in detail
+.SH SIGNALS
+.B tin
+handles a couple of signals:
+.TP
+.B SIGHUP
+Terminate gracefully.
+.TP
+.B SIGTERM
+Terminate gracefully.
+.TP
+.B SIGUSR1
+Terminate gracefully but do not restore tty.
+.TP
+.B SIGUSR2
+Write out \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR-file.
+.\"
+.\"
 .\" .SH DIAGNOSTICS
 .\" give an overview of the most common error messages and how to cope with
 .\" them.
 .\"
 .\"
-.\" .SH SECURITY
-.\" add a note about clear text passwords used by NNTP and in ~/.newsauth
+.\"
+.SH SECURITY
+When \fBtin\fP is started in debug mode (''\fB\-D n\fP'') it will create
+world readable files in \fB$TMPDIR\fP which may contain the users NNTP
+password in cleartext. On multiuser-systems \fB$TMPDIR\fP should be set
+to a safe location befor starting tin in debug mode (e.g.
+\fBTMPDIR=$HOME tin \-D 1\fP).
 .\"
 .\"
 .SH "CONFORMING TO"
@@ -3204,10 +3243,9 @@ ftp://ftp.csx.cam.ac.uk/pub/software/pro
 .BR noffle (1)
 (<= V1.0-pre5) and
 .BR NewsCache
-(<= V1.1.91) can't handle simultaneous GROUP commands. If you run into
+(<= V1.1.91) can't handle pipelined GROUP commands. If you run into
 trouble with any of the mentioned servers define
-NUM_SIMULTANEOUS_GROUP_COMMAND to 1 in active.c and recompile. See also
-the TODO-file which comes with the source.
+DISABLE_PIPELINING in include/autoconf.h and recompile.
 .br
 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
diff -Nurp tin-1.9.2/doc/tin.5 tin-1.9.3/doc/tin.5
--- tin-1.9.2/doc/tin.5	2007-02-01 14:44:52.000000000 +0100
+++ tin-1.9.3/doc/tin.5	2008-05-06 19:04:43.000000000 +0200
@@ -2,7 +2,7 @@
 .\" Module    : tin.5
 .\" Author    : U. Janssen
 .\" Created   : 2000-07-10
-.\" Updated   : 2007-02-01
+.\" Updated   : 2008-05-06
 .\" Notes     : needs a some work
 .\"
 .\" Macros
@@ -16,7 +16,7 @@
 .fi
 ..
 .\"
-.TH tin 5 "February 1st, 2007" "1.9.2" "A Usenet newsreader"
+.TH tin 5 "May 6th, 2008" "1.9.3" "A Usenet newsreader"
 
 .SH NAME
 tin, rtin \- related files
@@ -29,15 +29,16 @@ newsreader.
 
 .SH FILES
 .\" TODO: mention
-.\" ${TIN_HOMEDIR\-"$HOME"}/dead.article
-.\" ${TIN_HOMEDIR\-"$HOME"}/dead.articles
-.\" ${TIN_HOMEDIR\-"$HOME"}/.article[.$$]
-.\" ${TIN_HOMEDIR\-"$HOME"}/.cancel[.$$]
-.\" ${TIN_HOMEDIR\-"$HOME"}/.letter[.$$]
+.\" ${TIN_HOMEDIR:\-"$HOME"}/dead.article
+.\" ${TIN_HOMEDIR:\-"$HOME"}/dead.articles
+.\" ${TIN_HOMEDIR:\-"$HOME"}/.article[.$$]
+.\" ${TIN_HOMEDIR:\-"$HOME"}/.cancel[.$$]
+.\" ${TIN_HOMEDIR:\-"$HOME"}/.letter[.$$]
+.\" $TMPDIR/NNTP and co.
 .PP
 .IR $MAILCAPS
 .br
-.IR ${TIN_HOMEDIR\-"$HOME"}/.mailcap
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.mailcap
 .br
 .IR /etc/mailcap
 .br
@@ -199,11 +200,11 @@ nametemplate=%s.IMAGE
 message/rfc822;\\
 .br
 .in +.3i
-${PAGER\-"more"} '%s';\\
+${PAGER:\-"more"} '%s';\\
 .br
-edit=${EDITOR\-"vi"} '%s';\\
+edit=${EDITOR:\-"vi"} '%s';\\
 .br
-compose=${EDITOR\-"vi"} '%s';\\
+compose=${EDITOR:\-"vi"} '%s';\\
 .br
 print=a2ps '%s';\\
 .br
@@ -224,14 +225,14 @@ priority.
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.cancelsecret
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret
 .sp
 .RS
 secret to be used for canlocks
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.mime.types
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.mime.types
 .br
 .IR /etc/mime.types
 .br
@@ -242,7 +243,7 @@ mime type / filename extension pairs
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.newsauth
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsauth
 .sp
 .RS
 "\fInntpserver\fR \fIpassword\fR [\fIuser\fR]" pairs for NNTP servers
@@ -271,7 +272,7 @@ news.example.net  news      guest
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.newsrc
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsrc
 .sp
 .RS
 "\fInewsgroup\fR\fIflag\fR [\fIarticle\fR[,\fIarticle\fR | \-\fIarticle\fR]...]" lines.
@@ -300,38 +301,38 @@ news.software.readers: 1\-19567,19571\-1
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT+":$NNTPPORT"}/.oldnewsrc
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc
 .fi
 .sp
 .RS
-backup of \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR
+backup of \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.signature
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.signature
 .br
-.IR ${TIN_HOMEDIR\-"$HOME"}/.Sig
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.Sig
 .sp
 .RS
 signature
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.sigfixed
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.sigfixed
 .sp
 .RS
 fixed part of a randomly generated signature
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/.inputhistory
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/.inputhistory
 .sp
 .RS
 history of last used strings
 .RE
 .PP
 
-.IR ${TIN_INDEX_MAILDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.mail/
+.IR ${TIN_INDEX_MAILDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.mail/
 .sp
 .RS
 mailgroups index files
@@ -339,7 +340,7 @@ mailgroups index files
 .PP
 
 .nf
-.IR ${TIN_INDEX_NEWSDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.news${NNTPSERVER+"\-$NNTPSERVER"}/
+.IR ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news${NNTPSERVER:+"\-$NNTPSERVER"}/
 .fi
 .sp
 .RS
@@ -347,14 +348,14 @@ newsgroups index files
 .RE
 .PP
 
-.IR ${TIN_INDEX_SAVEDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.save/
+.IR ${TIN_INDEX_SAVEDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.save/
 .sp
 .RS
 saved newsgroups index files
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/active.mail
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail
 .sp
 .RS
 active file ("\fImail_group_name\fR \fImaxnum\fR \fIminnum\fR
@@ -388,7 +389,7 @@ They are accessed via /home/foo/Mail/inb
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/active.save
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save
 .sp
 .RS
 active file of user's saved newsgroups, used by \fBtin \-R\fP.
@@ -401,11 +402,11 @@ active file of user's saved newsgroups, 
 .\" ${TIN_LIBDIR\-/news/etc"}/attributes
 .IR /etc/tin/attributes
 .br
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/attributes
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes
 .sp
 .RS
 The group attributes files may be used to override some global settings from
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR on a per group basis. Order is
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR on a per group basis. Order is
 important as last match counts; this allows to refine attributes for
 narrowed scopes. Note that the \fIscope=<grouplist>\fR line has to be
 specified before the attributes are specified for that list. All attributes
@@ -469,6 +470,8 @@ if the receiver should be able to operat
 article (i.e., view or save it without your comments). On the other
 hand, if you want to forward only some parts of the article or to
 insert 'inline' annotations, you might want to disable this option.
+Currently mime_forward is forced if the article to be attached is a
+multipart MIME article, this may change in a future version.
 Please note that for this option to have effect, the tinrc variable
 \fBinteractive_mailer\fP has to be set to 0 (which is the default).
 .TP
@@ -633,7 +636,7 @@ undeclared_charset=ISO\-2022\-JP\-2
 .PP
 
 .\" TODO: add missing descriptions and explain things in detail.
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/filter
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/filter
 .sp
 .RS
 The filter file is used to assign scores to certain articles. Based on the
@@ -705,7 +708,6 @@ Example:
 comment=mark all articles about tin, rtin,
 comment=tind, ktin or cdtin as hot
 group=*
-type=1
 case=1
 score=hot
 subj=\\b(cd|[rk]?)?tin(d|pre)?[\-.0\-9]*\\b
@@ -714,18 +716,16 @@ subj=\\b(cd|[rk]?)?tin(d|pre)?[\-.0\-9]*
 .RE
 .PP
 
-.\"
-.\" TODO: mention THREAD_EDIT_FILTER and SELECT_EDIT_FILTER
+.\" TODO: LC_CTYPE has a higher priority as LC_MESSAGES, does this make sense?
 .nf
-.IR /etc/tin/keymap${${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}:+".${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}"}
+.IR /etc/tin/keymap${${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}"}
 .br
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/keymap${${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}:+".${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}"}
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/keymap${${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}"}
 .fi
-.\" sorry that one got a bit complex ,-)
 .sp
 .RS
 Keymap-file, containing "\fIkeyname\fR \fIvalue\fR \fI[value]\fR" pairs
-seperated by spaces or tabs.  Below is a list of all rebindable keynames and
+seperated by spaces or tabs. Below is a list of all rebindable keynames and
 their defaults. If a keynames is bound to NULL it is unassigned.
 .sp
 .nf
@@ -741,16 +741,16 @@ their defaults. If a keynames is bound t
 \fBSearchAuthB\fP	A
 \fBSearchBody\fP	B
 \fBCatchupNextUnread\fP	C
-\fBEditFilter\fP   E
+\fBEditFilter\fP	E
 \fBToggleHelpDisplay\fP	H
 \fBToggleInverseVideo\fP	I
 \fBLookupMessage\fP	L
 \fBOptionMenu\fP	M
 \fBPostponed\fP	O	^O
 \fBQuitTin\fP	Q
-\fBBugReport\fP   R
+\fBBugReport\fP	R
 \fBDisplayPostHist\fP	W
-\fBMarkThrUnread\fP   Z
+\fBMarkThrUnread\fP	Z
 \fBFirstPage\fP	^
 \fBSearchAuthF\fP	a
 \fBCatchup\fP	c
@@ -762,7 +762,7 @@ their defaults. If a keynames is bound t
 \fBQuit\fP	q
 \fBVersion\fP	v
 \fBPost\fP	w
-\fBMarkArtUnread\fP      z
+\fBMarkArtUnread\fP	z
 \fBQuickFilterSelect\fP	[
 \fBQuickFilterKill\fP	]
 \fBPipe\fP	|
@@ -928,7 +928,7 @@ their defaults. If a keynames is bound t
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/mailgroups
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups
 .sp
 .RS
 This file provides short descriptions of each mailgroup. (requires
@@ -944,7 +944,7 @@ is a short single-line description of th
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/newsrctable
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable
 .sp
 .RS
 "\fInntpserver\fR \fInewsrc\fR [\fIshortname\fR [\fI...\fR]]"
@@ -970,14 +970,14 @@ news.ka.nu /tmp/nrc\-nu kanu nu
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/posted
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/posted
 .sp
 .RS
 posting history
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/Mail/posted
+.IR ${TIN_HOMEDIR:\-"$HOME"}/Mail/posted
 .sp
 .RS
 Copy of all posted articles in
@@ -987,7 +987,7 @@ format. The filename can be changed by s
 .RE
 .PP
 
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/postponed.articles
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/postponed.articles
 .sp
 .RS
 Pool of postponed articles. This file is in
@@ -997,7 +997,7 @@ format.
 .PP
 
 .nf
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT+":$NNTPPORT"}/newsgroups
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups
 .fi
 .sp
 .RS
@@ -1017,7 +1017,7 @@ is a short single-line description of th
 
 
 .nf
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT+":$NNTPPORT"}/serverrc
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc
 .fi
 .sp
 .RS
@@ -1042,7 +1042,7 @@ to keep track of new newsgroups on the s
 .\" .IR ${TIN_LIBDIR\-"/news/etc"}/tinrc
 .IR /etc/tin/tinrc
 .br
-.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc
+.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc
 .sp
 .RS
 At startup,
@@ -1051,8 +1051,8 @@ reads in the configuration file. This co
 "\fIvariable\fR=\fIvalue\fR" pairs that can be used to configure the way
 .BR tin (1)
 works. If it exists, the global configuration file,
-\fI${TIN_LIBDIR}\-NEWSLIBDIR}/tinrc\fR is read first. After that, the
-users own configuration file \fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR is read.
+\fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR is read first. After that, the
+users own configuration file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR 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
@@ -1103,7 +1103,7 @@ Default is ':'. \fBkill_level\fP must be
 If ON
 .BR tin (1)
 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
+MIME messages. This only occurs if a MIME viewer is set. Default is
 OFF.
 .TP
 .B auto_bcc
@@ -1243,7 +1243,7 @@ Format string
 used for date representation. A description of the different format options
 can be found at
 .BR strftime (3).
-.BR tin (1).
+.BR tin (1)
 uses
 .BR strftime (3)
 when available and supports most format options in his fallback code.
@@ -1278,20 +1278,17 @@ OFF=apply to current group. Default is O
 .TP
 .B default_filter_kill_header
 Default for quick (1 key) kill filter header.
-.RS +.5i
-.IP 0,1 4
- ''Subject:''
-.IP 2,3
- ''From:''
-.IP 4
- ''Message\-ID:'' & full ''References:'' line
-.IP 5
- ''Message\-ID:'' & last ''References:'' entry only
-.IP 6
- ''Message\-ID:'' entry only
-.IP 7
- ''Lines:''
-.RE
+.in +.3i
+.nf
+.ta \w'0,1   'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u
+0,1	''Subject:''
+2,3	''From:''
+4	''Message\-ID:'' & full ''References:'' line
+5	''Message\-ID:'' & last ''References:'' entry only
+6	''Message\-ID:'' entry only
+7	''Lines:''
+.fi
+.in -.3i
 .TP
 .B default_filter_select_case
 Default for quick (1 key) auto-selection filter case. ON=filter case
@@ -1307,20 +1304,17 @@ groups, OFF=apply to current group. Defa
 .TP
 .B default_filter_select_header
 Default for quick (1 key) auto-selection filter header.
-.RS +.5i
-.IP 0,1 4
- ''Subject:''
-.IP 2,3
- ''From:''
-.IP 4
- ''Message\-ID:'' & full ''References:'' line
-.IP 5
- ''Message\-ID:'' & last ''References:'' entry only
-.IP 6
- ''Message\-ID:'' entry only
-.IP 7
- ''Lines:''
-.RE
+.in +.3i
+.nf
+.ta \w'0,1   'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u
+0,1	''Subject:''
+2,3	''From:''
+4	''Message\-ID:'' & full ''References:'' line
+5	''Message\-ID:'' & last ''References:'' entry only
+6	''Message\-ID:'' entry only
+7	''Lines:''
+.fi
+.in -.3i
 .TP
 .B default_goto_group
 .TP
@@ -1335,7 +1329,7 @@ format. This feature is mainly for use w
 .BR elm (1)
 mail program. It allows the user to save articles/threads/groups simply
 by giving '=' as the filename to save to. Default is
-\fI${TIN_HOMEDIR\-"$HOME"}/Mail\fR.
+\fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fR.
 .TP
 .B default_mailer_format
 The format string used to create the mailer command with parameters that is
@@ -1343,8 +1337,19 @@ used for mailing articles to other peopl
 /bin/mail "iain" < .article). The flexible format allows other mailers with
 different command line parameters to be used such as 'elm \-s "%S" "%T" <
 "%F"' (e.g., elm \-s "subject" "iain" < .article) or 'sendmail \-oem \-t < %F'
-(e.g. sendmail \-oem \-t < .article).
-.\" TODO: document %S, %T, %M, %F, %U ...
+(e.g. sendmail \-oem \-t < .article). The following substitutions are
+supported:
+.in +.3i
+.nf
+.ta \w'%S'u +\w'subject-field'u
+%F	filename
+%M	default_mailer
+%S	subject-field
+%T	to-filed
+%U	username
+%%	%
+.fi
+.in -.3i
 .TP
 .B default_move_group
 .TP
@@ -1380,7 +1385,7 @@ may have been disabled by the System Adm
 .TP
 .B default_savedir
 Directory where articles/threads are saved. Default is
-\fI${TIN_HOMEDIR\-"$HOME"}/News\fR.
+\fI${TIN_HOMEDIR:\-"$HOME"}/News\fR.
 .TP
 .B default_select_pattern
 .TP
@@ -1395,7 +1400,7 @@ be executed to generate a signature.
 .BR tin (1)
 will pass the name of the current newsgroup as argument to the
 program. \-\-none will suppress any signature.
-Default is \fI${TIN_HOMEDIR\-"$HOME"}/.Sig\fR.
+Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fR.
 .TP
 .B default_subject_search
 .TP
@@ -1463,14 +1468,14 @@ If ON use inverse video for page headers
 Default is ON.
 .TP
 .B keep_dead_articles
-If ON keep all failed postings in \fI${TIN_HOMEDIR\-"$HOME"}/dead.articles\fR
+If ON keep all failed postings in \fI${TIN_HOMEDIR:\-"$HOME"}/dead.articles\fR
 besides keeping the last failed posting in
-\fI${TIN_HOMEDIR\-"$HOME"}/dead.article\fR. Default is ON.
+\fI${TIN_HOMEDIR:\-"$HOME"}/dead.article\fR. Default is ON.
 .TP
 .B kill_level
 This option controls the processing and display of articles that are
-killed. There are 3 options:
-.RS +.5i
+killed. There are 3 options, default is 0 (\fBKill only unread arts\fP).
+.RS +1i
 .IP 0 3
 \fBKill only unread arts\fP is the 'traditional' behavior of
 .BR tin (1).
@@ -1488,7 +1493,6 @@ marked with \fBart_marked_killed\fP.
 group and therefore there is a processing overhead when using this
 option. Killed articles simply does not get displayed at all.
 .RE
-Default is 0 (\fBKill only unread arts\fP).
 .TP
 .B mail_8bit_header
 Allows 8bit characters unencoded in the header of mail message. Default is
@@ -1526,7 +1530,7 @@ If ON mark articles that are saved as re
 .B mark_ignore_tags
 When this is ON, the \fBGroupMarkThdRead\fP, \fBThreadMarkArtRead\fP
 functions ('\fBK\fP') mark just the current article or thread, ignoring
-other tagged, unread articles.  When OFF, the same function presents a menu
+other tagged, unread articles. When OFF, the same function presents a menu
 with choices of the current thread or article, all tagged, unread articles,
 or nothing.
 .TP
@@ -1625,7 +1629,7 @@ Format of quote line when posting/follow
 .B normalization_form
 The normalization form which should be used to normalize unicode input.
 The possible values are:
-.RS +.5i
+.RS +1i
 .IP 0 3
 \fBNone\fP: no normalization
 .IP 1
@@ -1674,7 +1678,7 @@ This specifies whether to perform post p
 Because the shell archive may contain commands you may not want to
 be executed, be careful when extracting shell archives.
 The following values are allowed:
-.RS +.8i
+.RS +1i
 .IP 0 3
 \fBNo\fP (default), no post processing is done.
 .IP 1
@@ -1688,7 +1692,7 @@ not want to be executed, be careful with
 .TP
 .B posted_articles_file
 Keep posted articles in
-\fI${TIN_HOMEDIR\-"$HOME"}/Mail/\fBposted_articles_file\fP\fR.
+\fI${TIN_HOMEDIR:\-"$HOME"}/Mail/\fBposted_articles_file\fP\fR.
 If no filename is set then postings will not be saved.
 Default is 'posted'.
 .TP
@@ -1715,7 +1719,7 @@ This bit coded integer value controls ho
 following up or replying to them. Any of the following options can be
 combined by adding all relevant values. Default is 5, which means that quote
 characters are compressed and empty lines are quoted.
-.RS +.5i
+.RS +1i
 .IP 1 3
 \fBCompress quotes\fP Compress quote characters together when quoting
 multiple times (for example, '> > >' will be turned into '>>>'). This
@@ -1759,7 +1763,7 @@ If ON \fBtin\fP does the rendering of bi
 leaves the rendering of bi-directional text to the terminal. Default is OFF.
 .TP
 .B reread_active_file_secs
-The news \fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file
+The news \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file
 is reread at regular intervals to show if any new news has arrived. Default
 is 1200. Setting this to 0 will disable this feature.
 .TP
@@ -1782,15 +1786,15 @@ Score of an article which should be mark
 .B scroll_lines
 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 page-by-page scrolling. Set to -1 to get page-by-page
+traditional 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 show_last_line_prev_page=ON. Set to \-2 to get
 half-page scrolling. This setting supersedes full_page_scroll=OFF.
 .TP
 .B show_author
 Which information about the author should be shown. Default is 2, authors
 full name.
-.RS +.5i
+.RS +1i
 .IP 0 3
 \fBNone\fP, only the ''Subject:'' line will be displayed.
 .IP 1
@@ -1808,15 +1812,15 @@ displayed.
 If ON show a short group description text after newsgroup name at the group
 selection level. The ''\fB\-d\fP'' command-line flag will override the setting
 and turn descriptions off. The text used is taken from the
-\fI${TIN_LIBDIR\-NEWSLIBDIR}/newsgroups\fR file and if supported (requires
+\fI${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups\fR file and if supported (requires
 .BR tin (1)
 to be build with mh-mail-handling support) from
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/mailgroups\fR for mailgroups. Default is ON.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups\fR for mailgroups. Default is ON.
 .TP
 .B show_info
 Which information about the thread or article should be shown. Default is 1,
 show only the line count.
-.RS +.5i
+.RS +1i
 .IP 0 3
 \fBNone\fP, no information will be displayed.
 .IP 1
@@ -1856,9 +1860,9 @@ matching words are shown in \fBcol_marks
 uses a built-in default.
 .TP
 .B sort_article_type
-This specifies how articles should be sorted.Sort by ascending Date (6) is
+This specifies how articles should be sorted. Sort by ascending Date (6) is
 the default. The following sort types are allowed:
-.RS +.5i
+.RS +1i
 .IP 0 3
 \fBNothing\fP, don't sort articles.
 .IP 1
@@ -1887,7 +1891,7 @@ the default. The following sort types ar
 .B sort_threads_type
 This specifies how threads will be sorted. Sort by descending Score (1) is
 the default. The following sort types are allowed:
-.RS +.5i
+.RS +1i
 .IP 0 3
 \fBNothing\fP, don't sort threads.
 .IP 1
@@ -1898,7 +1902,7 @@ the default. The following sort types ar
 .IP 3
 \fBLast posting date (descending)\fP, sort threads by date of last posting descending.
 .IP 4
-\fBLast posting date (ascending)\fP, sort threads by  date of last posting ascending.
+\fBLast posting date (ascending)\fP, sort threads by date of last posting ascending.
 .RE
 .TP
 .B spamtrap_warning_addresses
@@ -1924,7 +1928,7 @@ display when reading on a slow terminal 
 .TP
 .B strip_bogus
 Bogus groups are groups that are present in your
-\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file that no longer exist on the news
+\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR 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
@@ -1932,7 +1936,7 @@ you to unsubscribe from them as and when
 .TP
 .B strip_newsrc
 If ON, then unsubscribed groups will be permanently removed from
-your \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file. Default is OFF.
+your \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR file. Default is OFF.
 .TP
 .B strokes_regex
 A regular expression that will be applied when reading articles. All
@@ -1954,7 +1958,7 @@ Defines which threading method to use. T
 5) Thread on Percentage Match of the Subjects
 It's also possible to set the threading type on a per group basis by setting
 the group attribute variable \fBthread_arts\fP to 0 - 5 in the file
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/attributes\fR.
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fR.
 .TP
 .B thread_perc
 Defines how close the subjects must match while threading by Percentage
@@ -1968,7 +1972,7 @@ ON.
 .B thread_score
 How the total score of a thread is computed. Default is 0, the maximum
 score in this thread.
-.RS +.5i
+.RS +1i
 .IP 0 3
 \fBMax\fP, the maximum score in this thread.
 .IP 1
@@ -1993,7 +1997,7 @@ matching words are shown in \fBcol_markd
 uses a built-in default.
 .TP
 .B unlink_article
-If ON remove \fI${TIN_HOMEDIR\-"$HOME"}/.article\fR after posting. Default is
+If ON remove \fI${TIN_HOMEDIR:\-"$HOME"}/.article\fR after posting. Default is
 ON.
 .TP
 .B url_handler
@@ -2053,7 +2057,7 @@ using the wildmat notation.
 .B word_h_display_marks
 Should the leading and ending stars, slashes, strokes and dashes also be
 displayed, even when they are highlighting marks?
-.RS +.5i
+.RS +1i
 .IP 0 3
 \fBno\fP
 .IP 1
@@ -2098,8 +2102,8 @@ set.
 .RS
 Yet another global configuration file with "\fIvariable\fR=\fIvalue\fR"
 pairs. This one is for the more general options which usually can't be
-controlled via \fI${TIN_LIBDIR\-NEWSLIBDIR}/tinrc\fR and/or
-\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR like resetting (to override the
+controlled via \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR and/or
+\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR like resetting (to override the
 built-in default) the \fInewslibdir\fR.
 .TP
 .B domainname
@@ -2183,7 +2187,7 @@ setting if your configuration differs.
 .RE
 .PP
 
-.IR /usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo
+.IR /usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo
 .sp
 .RS
 translation into language specified in $\fBLC_ALL\fP, $\fBLC_MESSAGES\fP or
@@ -2195,7 +2199,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}
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}
 .sp
 .RS
 This file lists the newsgroups that the local site receives. Each newsgroup
@@ -2255,7 +2259,7 @@ uses the LIST (\fBRFC977\fP) command ins
 .RE
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}/active.times
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/active.times
 .sp
 .RS
 This file provides a chronological record of when newsgroups are created. It
@@ -2282,7 +2286,7 @@ uses the NEWGROUPS (\fBRFC977\fP) comman
 .RE
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}/newsgroups
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups
 .sp
 .RS
 This file provides short descriptions of each newsgroup. It is normally
@@ -2305,7 +2309,7 @@ uses the LIST NEWSGROUPS (\fBRFC2980\fP)
 .RE
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}/organization
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/organization
 .sp
 .RS
 This file specifies might hold a default organization to be used
@@ -2314,7 +2318,7 @@ if set.
 .RE
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}/overview.fmt
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/overview.fmt
 .\" is the Path correct? or is it /news/etc/overview.fmt
 .sp
 .RS
@@ -2334,12 +2338,12 @@ uses the LIST OVERVIEW.FMT (\fBRFC2980\f
 .RE
 .PP
 
-.IR ${TIN_LIBDIR\-NEWSLIBDIR}/subscriptions
+.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions
 .\" is the Path correct? or is it /news/etc/subscriptions
 .sp
 .RS
 This file contains a list of newsgroups - one per line - which the client
-should subscribe to when the user has no ${TIN_HOMEDIR\-"$HOME"}/.newsrc for
+should subscribe to when the user has no ${TIN_HOMEDIR:\-"$HOME"}/.newsrc for
 the newsserver.
 .BR tin (1)
 only tries to read the file if you read directly from the local spool,
diff -Nurp tin-1.9.2/doc/tinews.1 tin-1.9.3/doc/tinews.1
--- tin-1.9.2/doc/tinews.1	2006-12-21 14:41:16.000000000 +0100
+++ tin-1.9.3/doc/tinews.1	2008-03-14 10:21:30.000000000 +0100
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -128,8 +128,8 @@
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "TINEWS 1"
-.TH TINEWS 1 "January 30th, 2004" "1.1.6" "Post and sign an article via NNTP"
+.IX Title "tinews.pl 1"
+.TH tinews.pl 1 "September 23rd, 2007" "1.1.20" "Post and sign an article via NNTP"
 .SH "NAME"
 tinews.pl \- Post and sign an article via NNTP
 .SH "SYNOPSIS"
@@ -143,6 +143,9 @@ tinews.pl \- Post and sign an article vi
 If the article contains To:, Cc: or Bcc: headers and mail-actions are
 configured it will automatically add a \*(L"Posted\-And\-Mailed: yes\*(R" header
 to the article and send out the mail\-copies.
+.PP
+If a Cancel-Lock secret file is defined it will automatically add a
+Cancel\-Lock: (and Cancel\-Key: if required) header.
 .SH "OPTIONS"
 .IX Header "OPTIONS"
 .ie n .IP "\-\fBa\fR ""Approved""\fR | \-\-\fBapproved\fR \f(CW""Approved""" 4
@@ -181,6 +184,9 @@ use \f(CW\*(C`port\*(C'\fR as NNTP-port
 .el .IP "\-\fBr\fR \f(CWReply\-To\fR | \-\-\fBreplyto\fR \f(CWReply\-To\fR" 4
 .IX Item "-r Reply-To | --replyto Reply-To"
 Set the article header field Reply\-To: to the given value.
+.IP "\-\fBs\fR \fIdirectory\fR | \-\-\fBsavedir\fR \fIdirectory\fR" 4
+.IX Item "-s directory | --savedir directory"
+Save signed article to directory \fIdirectory\fR instead of posting.
 .ie n .IP "\-\fBt\fR ""Subject""\fR | \-\-\fBsubject\fR \f(CW""Subject""" 4
 .el .IP "\-\fBt\fR \f(CWSubject\fR | \-\-\fBsubject\fR \f(CWSubject\fR" 4
 .IX Item "-t Subject | --subject Subject"
@@ -196,15 +202,21 @@ Set the article header field Path: to th
 .IP "\-\fBH\fR | \-\-\fBhelp\fR" 4
 .IX Item "-H | --help"
 Show help\-page.
+.IP "\-\fBL\fR | \-\-\fBno-canlock\fR" 4
+.IX Item "-L | --no-canlock"
+Do not add Cancel\-Lock: / Cancel\-Key: headers.
 .IP "\-\fBR\fR | \-\-\fBno-control\fR" 4
 .IX Item "-R | --no-control"
 Restricted mode, disallow control\-messages.
 .IP "\-\fBS\fR | \-\-\fBno-signature\fR" 4
 .IX Item "-S | --no-signature"
-Do not append \fI$HOME/.signature\fR
+Do not append \fI$HOME/.signature\fR.
 .IP "\-\fBX\fR | \-\-\fBno-sign\fR" 4
 .IX Item "-X | --no-sign"
 Do not sign the article.
+.IP "\-\fBY\fR | \-\-\fBforce-auth\fR" 4
+.IX Item "-Y | --force-auth"
+Force authentication on connect even if not required by the server.
 .IP "\-\fBA\fR \-\fBV\fR \-\fBW\fR" 4
 .IX Item "-A -V -W"
 These options are accepted for compatibility reasons but ignored.
@@ -220,15 +232,12 @@ These options are accepted but do not ha
 .SH "EXIT STATUS"
 .IX Header "EXIT STATUS"
 The following exit values are returned:
-.RS 4
 .IP "\ 0" 4
 .IX Item "0"
 Successful completion.
 .IP "!=0" 4
 .IX Item "!=0"
 An error occurred.
-.RE
-.RS 4
 .SH "ENVIRONMENT"
 .IX Header "ENVIRONMENT"
 .IP "\fB$NNTPSERVER\fR" 4
@@ -266,24 +275,35 @@ command-line option overrides \fB$ORGANI
 Set the article header field Distribution: to the contents of the variable
 if there isn't already a Distribution: header in the article. The '\-\fBd\fR'
 command-line option overrides \fB$DISTRIBUTION\fR.
-.RE
-.RS 4
 .SH "FILES"
 .IX Header "FILES"
 .IP "\fIpgptmp.txt\fR" 4
 .IX Item "pgptmp.txt"
-Temporary file used to store the reformatted article
+Temporary file used to store the reformatted article.
 .IP "\fIpgptmp.txt.asc\fR" 4
 .IX Item "pgptmp.txt.asc"
-Temporary file used to store the reformatted and signed article
+Temporary file used to store the reformatted and signed article.
 .IP "\fI$PGPPASSFILE\fR" 4
 .IX Item "$PGPPASSFILE"
 The passphrase file to be used for \fBpgp\fR(1) or \fBgpg\fR(1).
 .IP "\fI$HOME/.signature\fR" 4
 .IX Item "$HOME/.signature"
-Signature-file which will be automatically included.
-.RE
-.RS 4
+Signature file which will be automatically included.
+.IP "\fI$HOME/.cancelsecret\fR" 4
+.IX Item "$HOME/.cancelsecret"
+The passphrase file to be used for Cancel\-Locks. This feature is turned
+off by default.
+.IP "\fI$HOME/.newsauth\fR" 4
+.IX Item "$HOME/.newsauth"
+\&\*(L"nntpserver password [user]\*(R" pairs for \s-1NNTP\s0 servers that require
+authorization. Any line that starts with \*(L"#\*(R" is a comment. Blank lines are
+ignored. This file should be readable only for the user as it contains the
+users uncrypted password for reading news.
+.IP "\fI$HOME/.tinewsrc\fR" 4
+.IX Item "$HOME/.tinewsrc"
+\&\*(L"option=value\*(R" configuration pairs. Lines that start with \*(L"#\*(R" are ignored.
+If the file contains uncrypted passwords (e.g. NNTPPass or PGPPass), it
+should be only readable for the user.
 .SH "SECURITY"
 .IX Header "SECURITY"
 If you've configured or entered a password, even if the variable that
@@ -294,15 +314,20 @@ security is an issue, don't use this scr
 .IX Header "NOTES"
 \&\fBtinews.pl\fR is designed to be used with \fBpgp\fR(1)\-2.6.3,
 \&\fBpgp\fR(1)\-5 and \fBgpg\fR(1).
-.Sp
+.PP
 \&\fBtinews.pl\fR requires the following standard modules to be installed:
 \&\fBGetopt::Long\fR(3pm), \fBNet::NNTP\fR(3pm), \fBTime::Local\fR(3pm) and
 \&\fBTerm::Readline\fR(3pm).
+.PP
+If the Cacenl-Lock feature is enabled the following additional modules
+must be installed: \fBMIME::Base64\fR(3pm), \fBDigest::SHA1\fR(3pm) and
+\&\fBDigest::HMAC_SHA1\fR(3pm)
 .SH "AUTHOR"
 .IX Header "AUTHOR"
 Urs Janssen <urs@tin.org>,
 Marc Brockschmidt <marc@marcbrockschmidt.de>
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fBpgp\fR(1), \fBgpg\fR(1), \fBpgps\fR(1), \fBGetopt::Long\fR(3pm), \fBNet::NNTP\fR(3pm),
-\&\fBTime::Local\fR(3pm), \fBTerm::Readline\fR(3pm)
+\&\fBpgp\fR(1), \fBgpg\fR(1), \fBpgps\fR(1), \fBDigest::HMAC_SHA1\fR(3pm),
+\&\fBDigest::SHA1\fR(3pm), \fBGetopt::Long\fR(3pm), \fBMIME::Base64\fR(3pm),
+\&\fBNet::NNTP\fR(3pm), \fBTime::Local\fR(3pm), \fBTerm::Readline\fR(3pm)
diff -Nurp tin-1.9.2/doc/tools.txt tin-1.9.3/doc/tools.txt
--- tin-1.9.2/doc/tools.txt	2006-12-21 14:41:16.000000000 +0100
+++ tin-1.9.3/doc/tools.txt	2008-03-14 10:21:30.000000000 +0100
@@ -41,9 +41,14 @@ metamutt
 	in version.
 
 url_handler.sh
-	is a shell script (need to be placed in /usr/local/bin/) which
-	passes the URL selected by the 'U' command to a related
-	viewer/application. this one is very basic.
+	is a shell script (need to be placed in $PATH) which passes the URL
+	selected by the 'U' command to a related viewer/application. this
+	one is very basic.
+
+url_handler.pl
+	is a perl script (need to be placed in $PATH) which passes the URL
+	selected by the 'U' command to a related viewer/application. the
+	perl version has full $BROWSER support.
 
 expand_aliases.tgz
 	is a small c-source which reads you elm-aliasfile, translates the
diff -Nurp tin-1.9.2/doc/url_handler.1 tin-1.9.3/doc/url_handler.1
--- tin-1.9.2/doc/url_handler.1	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/doc/url_handler.1	2008-03-14 10:21:30.000000000 +0100
@@ -0,0 +1,169 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "url_handler.pl 1"
+.TH url_handler.pl 1 "September 27th, 2007" "0.0.8" "Spawn appropriate viewer for a given URL"
+.SH "NAME"
+url_handler.pl \- Spawn appropriate viewer for a given URL
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBurl_handler.pl\fR \fI\s-1URL\s0\fR
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBurl_handler.pl\fR takes a \s-1URL\s0 as argument and spawns the appropriate
+viewer with the \s-1URL\s0. When running under X11 it follows \fB$BROWSER\fR for
+the following schemes: \s-1HTTP\s0, \s-1HTTPS\s0, \s-1GOPHER\s0, \s-1FTP\s0, \s-1NEWS\s0 and \s-1SNEWS\s0; when
+not running under X11 \fB$BROWSER\fR is considered for \s-1HTTP\s0, \s-1HTTPS\s0, \s-1GOPHER\s0,
+\&\s-1NEWS\s0 and \s-1SNEWS\s0. The schemes \s-1NNTP\s0 and \s-1MAILTO\s0 (and \s-1FTP\s0 when not running
+under X11) are handled separately.
+.SH "ENVIRONMENT"
+.IX Header "ENVIRONMENT"
+.IP "\fB$BROWSER\fR" 4
+.IX Item "$BROWSER"
+The user's preferred utility to browse URLs. May actually consist of a
+sequence of colon-separated browser commands to be tried in order until one
+succeeds. If a command part contains \f(CW%s\fR, the \s-1URL\s0 is substituted there,
+otherwise the browser command is simply called with the \s-1URL\s0 as its last
+argument. %% is replaced by a single percent sign (%), and \f(CW%c\fR is replaced
+by a colon (:).
+.SH "SECURITY"
+.IX Header "SECURITY"
+\&\fBurl_handler.pl\fR was designed to work together with \fBtin\fR(1) which
+only issues shell escaped absolute URLs thus \fBurl_handler.pl\fR does not
+shell escape it's input nor does it convert relative URLs into absolute
+ones! If you use \fBurl_handler.pl\fR from other applications be sure to at
+least shell escaped it's input!
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Urs Janssen <urs@tin.org>
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+http://www.catb.org/~esr/BROWSER/
+http://www.dwheeler.com/browse/secure_browser.html
diff -Nurp tin-1.9.2/include/autoconf.hin tin-1.9.3/include/autoconf.hin
--- tin-1.9.2/include/autoconf.hin	2006-12-22 02:43:23.000000000 +0100
+++ tin-1.9.3/include/autoconf.hin	2008-03-28 15:15:57.000000000 +0100
@@ -3,7 +3,7 @@
  *  Module    : autoconf.hin
  *  Author    : Thomas Dickey
  *  Created   : 1995-08-24
- *  Updated   : 2006-03-16
+ *  Updated   : 2008-02-02
  *  Notes     : #include files, #defines & struct's
  *
  * Copyright (c) 1995-2007 Thomas Dickey <dickey@invisible-island.net>
@@ -108,7 +108,6 @@
 #	undef OVERVIEW_FILE
 #	undef SOCKS
 #	undef SPOOLDIR
-#	undef USE_INN_NNTPLIB
 #	undef USE_INVERSE_HACK
 #	undef USE_SOCKS4_PREFIX
 #	undef USE_SOCKS5
@@ -126,6 +125,10 @@
 #	undef HAVE_GPG
 #	undef HAVE_SUM
 
+/* slrnface */
+#	undef HAVE_SLRNFACE
+#	undef PATH_SLRNFACE
+
 /*
  * Compiler characteristics
  */
@@ -317,6 +320,7 @@
 #	undef DECL_STRCASESTR
 #	undef DECL_STRSEP
 #	undef DECL_SYS_ERRLIST
+#	undef DECL_TMPFILE
 #	undef DECL_TGETSTR
 #	undef DECL_TGOTO
 #	undef DECL_TIGETSTR
@@ -606,6 +610,16 @@
  */
 #	undef IGNORE_SYSTEM_STATUS
 
+/*
+ * generate Cancel-Locks
+ */
+#	undef USE_CANLOCK
+
+/*
+ * use libgsasl for AUTH
+ */
+#	undef USE_SASL
+
 #	undef HAVE_COFFEE
 
 /*
@@ -858,11 +872,22 @@ Added missing headers after gettext upda
 #	undef X_DISPLAY_MISSING
 
 /*
- * TODO: define if:
- *       !X_DISPLAY_MISSING && !DONT_HAVE_PIPING &&
- *       HAVE_MKFIFO && HAVE_FORK && HAVE_EXECLP && HAVE_WAITPID
- *       [&& HAVE_SLRNFACE if we add a check or a configure option for that ]
+ * define if you don't want to use file-locking (fcntl/flock/lockf/dotlock)
+ * TODO: add --disable-file-locking switch and rename
+ */
+#	undef NO_LOCKING
+
+/*
+ * define if you can't chmod go-r
+ * TODO: write configure check and find a better name
+ */
+#	undef FILE_MODE_BROKEN
+
+
+/*
+ * define if newsserver can't handle pipelined (streamed) commands
+ * TODO: write configure option
  */
-#	undef XFACE_ABLE
+#	undef DISABLE_PIPELINING
 
 #endif /* !TIN_AUTOCONF_H */
diff -Nurp tin-1.9.2/include/bool.h tin-1.9.3/include/bool.h
--- tin-1.9.2/include/bool.h	2006-12-22 02:43:23.000000000 +0100
+++ tin-1.9.3/include/bool.h	2008-04-23 15:59:38.000000000 +0200
@@ -6,7 +6,7 @@
  *  Updated   : 2003-05-16
  *  Notes     :
  *
- * Copyright (c) 1997-2007 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1997-2008 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/include/bugrep.h tin-1.9.3/include/bugrep.h
--- tin-1.9.2/include/bugrep.h	2006-12-22 02:43:23.000000000 +0100
+++ tin-1.9.3/include/bugrep.h	2008-03-14 10:21:31.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2006-02-15
  *  Notes     :
  *
- * Copyright (c) 1997-2007 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1997-2008 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/include/debug.h tin-1.9.3/include/debug.h
--- tin-1.9.2/include/debug.h	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/include/debug.h	2008-03-20 18:49:07.000000000 +0100
@@ -0,0 +1,58 @@
+/*
+ *  Project   : tin - a Usenet reader
+ *  Module    : debug.h
+ *  Author    : Urs Janssen <urs@tin.org>
+ *  Created   :
+ *  Updated   : 2008-03-20
+ *  Notes     :
+ *
+ * Copyright (c) 2007-2008 Urs Janssen <urs@tin.org>
+ * All rights reserved.
+ *
+ * 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. The name of the author may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
+ */
+
+
+#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_MISC	0x20	/* 32 */
+#	define DEBUG_ALL	0x3f	/* 63 */
+
+#	if 0 /* this is very noisy */
+#		define DEBUG_IO(x)	fprintf x
+#	else
+#		define DEBUG_IO(x)	/* nothing */
+#	endif /* 0 */
+#endif /* !DEBUG_H */
diff -Nurp tin-1.9.2/include/extern.h tin-1.9.3/include/extern.h
--- tin-1.9.2/include/extern.h	2006-12-22 02:43:23.000000000 +0100
+++ tin-1.9.3/include/extern.h	2008-04-23 17:00:55.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : extern.h
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2006-06-28
+ *  Updated   : 2008-04-23
  *  Notes     :
  *
- * Copyright (c) 1997-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1997-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -235,12 +235,18 @@
 #ifdef DECL_STRNCASECMP
 	extern int strncasecmp(const char *, const char *, size_t);
 #endif /* DECL_STRNCASECMP */
+#ifdef DECL_STRSEP
+	extern char *strsep(char **, const char *);
+#endif /* DECL_STRSEP */
 #ifdef DECL_STRTOL
 	extern long strtol(const char *, char **, int);
 #endif /* DECL_STRTOL */
 #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 */
@@ -263,7 +269,7 @@
 	extern int tigetnum(char *);
 #endif /* DECL_TGETNUM */
 #ifdef DECL_TIGETSTR
-	extern char *tigetstr(char *, char **);
+	extern char *tigetstr(char *);
 #endif /* DECL_TIGETSTR */
 #ifdef DECL_TIME
 	extern time_t time(time_t *);
@@ -440,6 +446,7 @@ extern constext txt_art_posted[];
 extern constext txt_art_rejected[];
 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_plural[];
 extern constext txt_article_reposted[];
@@ -886,7 +893,6 @@ extern constext txt_moving[];
 extern constext txt_msgid_line_last[];
 extern constext txt_msgid_line_only[];
 extern constext txt_msgid_refs_line[];
-extern constext txt_refs_line_only[];
 extern constext txt_name[];
 extern constext txt_newsgroup[];
 extern constext txt_newsgroup_plural[];
@@ -975,7 +981,6 @@ extern constext txt_quoted_printable[];
 extern constext txt_range_invalid[];
 extern constext txt_read_abort[];
 extern constext txt_read_exit[];
-extern constext txt_read_resp[];
 extern constext txt_reading_article[];
 extern constext txt_reading_arts[];
 extern constext txt_reading_attributes_file[];
@@ -1004,7 +1009,6 @@ extern constext txt_repost_group[];
 extern constext txt_reset_newsrc[];
 extern constext txt_resp_redirect[];
 extern constext txt_resp_to_poster[];
-extern constext txt_resp_x_of_n[];
 extern constext txt_return_key[];
 extern constext txt_save[];
 extern constext txt_save_attachment[];
@@ -1230,12 +1234,14 @@ extern int iso2asc_supported;
 extern int last_resp;
 extern int max_active;
 extern int max_art;
+extern int max_local_attributes;
 extern int max_newnews;
 extern int max_save;
+extern int need_resize;
 extern int num_headers_to_display;
 extern int num_headers_to_not_display;
-extern int need_resize;
 extern int num_active;
+extern int num_local_attributes;
 extern int num_newnews;
 extern int num_of_tagged_arts;
 extern int num_save;
@@ -1277,6 +1283,7 @@ extern struct regex_cache strokes_regex;
 #endif /* HAVE_COLOR */
 
 extern struct t_article *arts;
+extern struct t_attribute *local_attributes;
 extern struct t_attribute glob_attributes;
 extern struct t_config tinrc;
 extern struct t_filters glob_filter;
@@ -1293,6 +1300,7 @@ extern t_bool check_for_new_newsgroups;
 extern t_bool cmd_line;
 extern t_bool created_rcdir;
 extern t_bool dangerous_signal_exit; /* TRUE if SIGHUP, SIGTERM, SIGUSR1 */
+extern t_bool did_reconnect;
 extern t_bool disable_gnksa_domain_check;
 extern t_bool disable_sender;
 extern t_bool force_no_post;
@@ -1315,6 +1323,7 @@ extern t_bool show_subject;
 extern t_bool batch_mode;
 extern t_bool verbose;
 extern t_bool xref_supported;
+extern t_bool expensive_over_parse;
 
 extern t_function last_search;
 
@@ -1324,6 +1333,8 @@ extern t_menu *currmenu;
 
 extern t_openartinfo pgart;
 
+extern struct t_overview_fmt *ofmt;
+
 enum {
 	HIST_OTHER = 0,
 	HIST_ART_SEARCH,
@@ -1526,6 +1537,10 @@ extern struct opttxt txt_mono_markslash;
 extern struct opttxt txt_mono_markstroke;
 #ifndef CHARSET_CONVERSION
 	extern struct opttxt txt_mm_charset;
+#else
+#	ifdef NO_LOCALE
+		extern struct opttxt txt_mm_local_charset;
+#	endif /* NO_LOCALE */
 #endif /* CHARSET_CONVERSION */
 extern struct opttxt txt_metamail_prog;
 extern struct opttxt txt_news_headers_to_display;
diff -Nurp tin-1.9.2/include/keymap.h tin-1.9.3/include/keymap.h
--- tin-1.9.2/include/keymap.h	2006-12-22 02:43:23.000000000 +0100
+++ tin-1.9.3/include/keymap.h	2008-03-26 19:10:32.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : keymap.h
  *  Author    : J. Faultless, D. Nimmich
  *  Created   : 1999
- *  Updated   : 2006-06-28
+ *  Updated   : 2008-03-26
  *  Notes     :
  *
- * Copyright (c) 1999-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1999-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -285,10 +285,12 @@ enum defined_functions {
 	PAGE_TOP_THREAD,
 	PAGE_VIEW_ATTACHMENTS,
 	PAGE_VIEW_URL,
+#ifdef HAVE_PGP_GPG
 	PGP_KEY_ENCRYPT,
 	PGP_KEY_ENCRYPT_SIGN,
 	PGP_INCLUDE_KEY,
 	PGP_KEY_SIGN,
+#endif /* HAVE_PGP_GPG */
 	POST_ABORT,
 	POST_CANCEL,
 	POST_CONTINUE,
diff -Nurp tin-1.9.2/include/newsrc.h tin-1.9.3/include/newsrc.h
--- tin-1.9.2/include/newsrc.h	2006-12-22 02:43:23.000000000 +0100
+++ tin-1.9.3/include/newsrc.h	2008-03-14 10:21:31.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2003-11-18
  *  Notes     : newsrc bit handling
  *
- * Copyright (c) 1997-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1997-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -116,23 +116,23 @@
 
 #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)))
+#define NTEST(n,b)	(n[NOFFSET(b)] & (1 << NBITIDX(b)))
 
 #define NSETBLK1(n,i)	(memset (n, NBITSON, (size_t) NOFFSET(i)+1))
 #define NSETBLK0(n,i)	(memset (n, 0, (size_t) NOFFSET(i)+1))
 
 /* dbmalloc checks memset() parameters, so we'll use it to check the assignments */
 #ifdef USE_DBMALLOC
-#	define NSET1(n,b) memset(n + NOFFSET(b), n[NOFFSET(b)] | NTEST(n,b), 1)
-#	define NSET0(n,b) memset(n + NOFFSET(b), n[NOFFSET(b)] & ~NTEST(n,b), 1)
-#	define BIT_OR(n, b, mask)   memset(n + NOFFSET(b), n[NOFFSET(b)] | (mask), 1)
-#	define BIT_AND(n, b, mask)  memset(n + NOFFSET(b), n[NOFFSET(b)] & (mask), 1)
+#	define NSET1(n,b)	memset(n + NOFFSET(b), n[NOFFSET(b)] | NTEST(n,b), 1)
+#	define NSET0(n,b)	memset(n + NOFFSET(b), n[NOFFSET(b)] & ~NTEST(n,b), 1)
+#	define BIT_OR(n, b, mask)	memset(n + NOFFSET(b), n[NOFFSET(b)] | (mask), 1)
+#	define BIT_AND(n, b, mask)	memset(n + NOFFSET(b), n[NOFFSET(b)] & (mask), 1)
 #	include <dbmalloc.h> /* dbmalloc 1.4 */
 #else
-#	define NSET1(n,b)	(n[NOFFSET(b)] |=  (1 << NBITIDX(b)))
+#	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 BIT_OR(n, b, mask)	n[NOFFSET(b)] |= mask
+#	define BIT_AND(n, b, mask)	n[NOFFSET(b)] &= mask
 #endif /* USE_DBMALLOC */
 
 #define BITS_TO_BYTES(n)	((size_t) ((n + NBITS - 1) / NBITS))
diff -Nurp tin-1.9.2/include/nntplib.h tin-1.9.3/include/nntplib.h
--- tin-1.9.2/include/nntplib.h	2006-12-22 02:43:23.000000000 +0100
+++ tin-1.9.3/include/nntplib.h	2008-04-23 17:00:49.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : nntplib.h
  *  Author    : I.Lea
  *  Created   : 1991-04-01
- *  Updated   : 2005-07-21
+ *  Updated   : 2008-04-23
  *  Notes     : nntp.h 1.5.11/1.6 with extensions for tin
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -87,57 +87,44 @@
 #	define	CHAR_FATAL		'5'
 #endif /* 0 */
 
+/* TODO: cleanup against RFC 2980, RFC 3977 */
 #define	INF_HELP		100	/* Help text on way */
 #define	INF_CAPABILITIES	101	/* Capability list follows */
-#define	INF_AUTH		180	/* Authorization capabilities */
-#define	INF_DEBUG		199	/* Debug output */
+#define INF_DATE		111 /* yyyymmddhhmmss Server date and time */
 
 #define	OK_CANPOST		200	/* Hello; you can post */
 #define	OK_NOPOST		201	/* Hello; you can't post */
 #define	OK_EXTENSIONS	202	/* extensions supported follow */
-#define	OK_NOIHAVE		202	/* Hello; you can't IHAVE; discussed on the IETF-mailinglist */
-#define	OK_SLAVE		202	/* Slave status noted */
-#define	OK_NOPOSTIHAVE	203	/* Hello; you can't POST or IHAVE; iscussed on the IETF-mailinglist */
 #define	OK_GOODBYE		205	/* Closing connection */
 #define	OK_GROUP		211	/* Group selected */
 #define	OK_GROUPS		215	/* Newsgroups follow */
 #define	OK_MOTD			215	/* News motd follows */
 
-/* obsolete */
-#define	OK_XINDEX		218	/* Tin style index follows */
-
 #define	OK_ARTICLE		220	/* Article (head & body) follows */
 #define	OK_HEAD			221	/* Head follows */
 #define	OK_BODY			222	/* Body follows */
 #define	OK_NOTEXT		223	/* No text sent -- stat, next, last */
 #define	OK_XOVER		224	/* .overview data follows */
 #define	OK_NEWNEWS		230	/* New articles by message-id follow */
-#define	OK_NEWGROUPS		231	/* New newsgroups follow */
+#define	OK_NEWGROUPS	231	/* New newsgroups follow */
 #define	OK_XFERED		235	/* Article transferred successfully */
 #define	OK_POSTED		240	/* Article posted successfully */
 #define	OK_AUTHSYS		280	/* Authorization system ok */
 #define	OK_AUTH			281	/* Authorization (user/pass) ok */
 #define	OK_BIN			282	/* binary data follows */
 #define	OK_LIST			282	/* list follows */
-#define	OK_SPLIST		283	/* spooldir list follows */
-#define	OK_SPSWITCH		284	/* Switching to a different spooldir */
-#define	OK_SPNOCHANGE		285	/* Still using same spooldir */
-#define	OK_SPLDIRCUR		286	/* Current spooldir */
-#define	OK_SPLDIRAVL		287	/* Available spooldir */
-#define	OK_SPLDIRERR		288	/* Unavailable spooldir or invalid entry */
+#define OK_AUTH_SASL	283 /* authentication accepted (with success data) */
 
 #define	CONT_XFER		335	/* Continue to send article */
 #define	CONT_POST		340	/* Continue to post article */
-#define	NEED_AUTHINFO		380	/* authorization is required */
-#define	NEED_AUTHDATA		381	/* <type> authorization data required */
+#define	NEED_AUTHINFO	380	/* authorization is required */
+#define	NEED_AUTHDATA	381	/* <type> authorization data required */
+#define NEED_AUTHDATA_SASL	383 /* continue with SASL exchange */
 
 #define	ERR_GOODBYE		400	/* Have to hang up for some reason */
 #define	ERR_NOGROUP		411	/* No such newsgroup */
 #define	ERR_NCING		412	/* Not currently in newsgroup */
 
-#define	ERR_XINDEX		418	/* No tin index for this group */
-#define	ERR_XOVERVIEW		419	/* No .overview index for this group */
-
 #define	ERR_NOCRNT		420	/* No current article selected */
 #define	ERR_NONEXT		421	/* No next article in this group */
 #define	ERR_NOPREV		422	/* No previous article in this group */
@@ -149,10 +136,6 @@
 #define	ERR_NOPOST		440	/* Posting not allowed */
 #define	ERR_POSTFAIL		441	/* Posting failed */
 #define	ERR_NOAUTH		480	/* authorization required for command */
-#define	ERR_AUTHSYS		481	/* Authorization system invalid */
-#define	ERR_AUTHREJ		482	/* Authorization data rejected */
-#define	ERR_INVALIAS		483	/* Invalid alias on spooldir cmd */
-#define	ERR_INVNOSPDIR		484	/* No spooldir file found */
 
 #define	ERR_COMMAND		500	/* Command not recognized */
 #define	ERR_CMDSYN		501	/* Command syntax error */
@@ -167,10 +150,17 @@
 #define NNTP_STRLEN		512
 
 /*
+ * OVERVIEW.FMT field types
+ */
+enum f_type { OVER_T_ERROR, OVER_T_INT, OVER_T_STRING, OVER_T_FSTRING };
+
+/*
  * CAPABILITIES
  */
+enum extension_type { NONE, LIST_EXTENSIONS, CAPABILITIES, BROKEN };
+
 struct t_capabilities {
-	unsigned int type:3;			/* none, LIST EXTENSIONS, CAPABILITIES */
+	enum extension_type type;		/* none, LIST EXTENSIONS, CAPABILITIES */
 	unsigned int version;			/* CAPABILITIES version */
 	t_bool mode_reader:1;			/* MODE-READER: "MODE READER" */
 	t_bool reader:1;				/* READER: "ARTCILE", "BODY", "LISTGROUP" */
@@ -196,12 +186,12 @@ struct t_capabilities {
 	t_bool starttls:1;				/* STARTTLS */
 	t_bool authinfo_user:1;			/* AUTHINFO USER/PASS */
 	t_bool authinfo_sasl:1;			/* AUTHINFO SASL */
-#if 0
 	t_bool sasl_cram_md5:1;			/* SASL CRAM-MD5 */
 	t_bool sasl_digest_md5:1;		/* SASL DIGEST-MD5 */
 	t_bool sasl_plain:1;			/* SASL PLAIN */
 	t_bool sasl_gssapi:1;			/* SASL GSSAPI */
 	t_bool sasl_external:1;			/* SASL EXTERNAL */
+#if 0
 	t_bool streaming:1;				/* STREAMING: "MODE STREAM", "CHECK", "TAKETHIS" */
 	t_bool ihave:1;					/* IHAVE: "IHAVE" */
 #endif /* 0 */
diff -Nurp tin-1.9.2/include/policy.h tin-1.9.3/include/policy.h
--- tin-1.9.2/include/policy.h	2006-12-22 02:43:24.000000000 +0100
+++ tin-1.9.3/include/policy.h	2008-04-23 13:55:41.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : policy.h
  *  Author    : Ralf Doeblitz <doeblitz@gmx.de>
  *  Created   : 1999-01-12
- *  Updated   : 2006-08-16
+ *  Updated   : 2008-04-23
  *  Notes     : #defines and static data for policy configuration
  *
- * Copyright (c) 1999-2007 Ralf Doeblitz <doeblitz@gmx.de>
+ * Copyright (c) 1999-2008 Ralf Doeblitz <doeblitz@gmx.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -115,6 +115,7 @@
  * .ke  Kenya                          .kg  Kyrgystan
  * .kh  Cambodia                       .ki  Kiribati
  * .km  Comoros                        .kn  Saint Kitts and Nevis
+ * .kp  Korea, Democratic People's Republic
  * .kr  Korea, Republic of             .kw  Kuwait
  * .ky  Cayman Islands                 .kz  Kazakhstan
  *
@@ -126,16 +127,16 @@
  * .lv  Latvia                         .ly  Libyan Arab Jamahiriya
  *
  * .ma  Morocco                        .mc  Monaco
- * .md  Moldova, Republic of           .mg  Madagascar
- * .mh  Marshall Islands               .mk  Macedonia
- * .ml  Mali                           .mm  Myanmar
- * .mn  Mongolia                       .mo  Macau
- * .mp  Northern Mariana Islands       .mq  Martinique
- * .mr  Mauritania                     .ms  Montserrat
- * .mt  Malta                          .mu  Mauritius
- * .mv  Maldives                       .mw  Malawi
- * .mx  Mexico                         .my  Malaysia
- * .mz  Mozambique
+ * .md  Moldova, Republic of           .me  Montenegro
+ * .mg  Madagascar                     .mh  Marshall Islands
+ * .mk  Macedonia                      .ml  Mali
+ * .mm  Myanmar                        .mn  Mongolia
+ * .mo  Macau                          .mp  Northern Mariana Islands
+ * .mq  Martinique                     .mr  Mauritania
+ * .ms  Montserrat                     .mt  Malta
+ * .mu  Mauritius                      .mv  Maldives
+ * .mw  Malawi                         .mx  Mexico
+ * .my  Malaysia                       .mz  Mozambique
  *
  * .na  Namibia                        .nc  New Caledonia
  * .ne  Niger                          .nf  Norfolk Island
@@ -157,7 +158,8 @@
  * .qa  Qatar
  *
  * .re  Reunion                        .ro  Romania
- * .ru  Russian Federation             .rw  Rwanda
+ * .rs  Republic of Serbia             .ru  Russian Federation
+ * .rw  Rwanda
  *
  * .sa  Saudi Arabia                   .sb  Solomon Islands
  * .sc  Seychelles                     .sd  Sudan
@@ -203,6 +205,7 @@
  * .cs  former Czechoslovakia, now .cz and .sk
  * .dd  former German Democratic Republic, now .de
  * .fx  France, Metropolitan
+ * .um  United States Minor Outlying Islands
  * .yd  Democratic Yemen, now .ye
  * .wg  West Bank and Gaza, now .ps
  * .zr  former Zaire, now .cd
@@ -214,14 +217,11 @@
  * .bv  Bouvet Island (Norway)
  * .eh  Western Sahara
  * .gb  United Kingdom, use .uk
- * .kp  Korea, Democratic People's Republic
  * .nt  Neutral Zone
  * .sj  Svalbard and Jan Mayen Islands (Norway)
  * .so  Somalia
- * .um  United States Minor Outlying Islands
  *
  * requested new TLDs:
- * .cs  Serbia and Montenegro
  * .ct  Catalonia
  *
  * xccTLDs:
@@ -243,14 +243,14 @@ static char gnksa_country_codes[26*26] =
 /* 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, 0,0,1,0,0, 0,0,1,0,1,1,
+/* 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,0, 0,1,1,0,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,1,
+/* 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,0,0, 1,0,1,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,0, 0,0,1,0,1, 1,1,0,0,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,
@@ -277,6 +277,7 @@ static const char *gnksa_domain_list[] =
 	"net",	/* Networks */
 	"org",	/* Organizations */
 	"pro",	/* Accountants, lawyers, and physicians */
+	"tel",	/* Internet communication */
 	"aero",	/* Air-transport industry */
 	"arpa",	/* Address and Routing Parameter Area */
 	"coop",	/* Non-profit cooperatives */
@@ -284,12 +285,13 @@ static const char *gnksa_domain_list[] =
 	"jobs",	/* Human resource managers */
 	"mobi",	/* Mobile products and services */
 	"name",	/* For registration by individuals */
+	"asia",	/* Asia and the Pacific */
 	"museum",	/* Museums */
 	"travel",	/* Travel industry */
 	/*
-	 * more gTLDs to come >=2006, proposed are:
-	 *  .asia     .kids     .mail     .post     .tel
-	 *  (.berlin) (.sco)
+	 * more gTLDs to come >=2007, proposed are:
+	 *  .kids     .mail     .post
+	 *  (.berlin) (.sco)    (.bzh)    (.cym)    (.gal)
 	 */
 #	if 0		/* $DEAD */
 	"nato",
diff -Nurp tin-1.9.2/include/proto.h tin-1.9.3/include/proto.h
--- tin-1.9.2/include/proto.h	2006-12-22 02:43:24.000000000 +0100
+++ tin-1.9.3/include/proto.h	2008-04-23 16:56:57.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : proto.h
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   :
- *  Updated   : 2006-10-01
+ *  Updated   : 2008-04-23
  *  Notes     :
  *
- * Copyright (c) 1997-2007 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1997-2008 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -86,7 +86,7 @@ extern void write_attributes_file(const 
 /* charset.c */
 extern char *convert_to_printable(char *buf);
 extern t_bool is_art_tex_encoded(FILE *fp);
-extern void convert_iso2asc(char *iso, char **asc_buffer, int *max_line_len, int t);
+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);
@@ -116,7 +116,7 @@ extern void write_config_file(char *file
 /* cook.c */
 extern const char *get_filename(t_param *ptr);
 extern t_bool cook_article(t_bool wrap_lines, t_openartinfo *artinfo, int tabs, int hide_uue);
-extern t_bool expand_ctrl_chars(char **line, int *length, size_t cook_width);
+extern t_bool expand_ctrl_chars(char **line, size_t *length, size_t cook_width);
 
 /* curses.c */
 extern OUTC_RETTYPE outchar(OUTC_ARGS);
@@ -157,9 +157,11 @@ extern void word_highlight_string(int ro
 /* debug.c */
 #ifdef DEBUG
 	extern void debug_delete_files(void);
-	extern void debug_nntp(const char *func, const char *fmt, ...);
+	extern void debug_print_file(const char *fname, const char *fmt, ...);
 	extern void debug_print_active(void);
 	extern void debug_print_arts(void);
+	extern void debug_print_bitmap(struct t_group *group, struct t_article *art);
+	extern void debug_print_comment(const char *comment);
 	extern void debug_print_filters(void);
 	extern void debug_print_header(struct t_article *s);
 	extern void debug_print_malloc(int is_malloc, const char *xfile, int line, size_t size);
@@ -167,13 +169,6 @@ extern void word_highlight_string(int ro
 		extern void debug_print_nntp_extensions(void);
 #	endif /* NNTP_ABLE */
 #endif /* DEBUG */
-#ifdef DEBUG_NEWSRC
-	extern void debug_print_newsrc(struct t_newsrc *NewSrc, FILE *fp);
-#endif /* DEBUG_NEWSRC */
-#if defined(DEBUG) || defined(DEBUG_NEWSRC)
-	extern void debug_print_bitmap(struct t_group *group, struct t_article *art);
-	extern void debug_print_comment(const char *comment);
-#endif /* DEBUG || DEBUG_NEWSRC */
 
 /* envarg.c */
 extern void envargs(int *Pargc, char ***Pargv, const char *envstr);
@@ -249,7 +244,7 @@ extern void postinit_regexp(void);
 #endif /* HAVE_COLOR */
 
 /* joinpath.c */
-extern void joinpath(char *result, const char *dir, const char *file);
+extern void joinpath(char *result, size_t result_size, const char *dir, const char *file);
 
 /* keymap.c */
 extern t_bool read_keymap_file(void);
@@ -263,9 +258,9 @@ extern void setup_default_keys(void);
 
 /* list.c */
 extern char *random_organization(char *in_org);
-extern int find_group_index(const char *group);
+extern int find_group_index(const char *group, t_bool ignore_case);
 extern struct t_group *group_add(const char *group);
-extern struct t_group *group_find(const char *group_name);
+extern struct t_group *group_find(const char *group_name, t_bool ignore_case);
 extern unsigned long hash_groupname(const char *group);
 extern void group_rehash(t_bool yanked_out);
 extern void init_group_hash(void);
@@ -300,6 +295,7 @@ extern void giveup(void);
 /* memory.c */
 extern void expand_active(void);
 extern void expand_art(void);
+extern void expand_local_attributes(void);
 extern void expand_newnews(void);
 extern void expand_save(void);
 extern void init_alloc(void);
@@ -360,9 +356,9 @@ extern void draw_mark_selected(int i);
 extern void draw_percent_mark(long cur_num, long max_num);
 extern void get_author(t_bool thread, struct t_article *art, char *str, size_t len);
 extern void get_cwd(char *buf);
-extern void make_base_group_path(const char *base_dir, const char *group_name, char *group_path);
+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, int *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 *network_charset, const char *local_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 void show_inverse_video_status(void);
@@ -408,30 +404,26 @@ extern void subscribe(struct t_group *gr
 extern void thd_mark_read(struct t_group *group, long thread);
 extern void thd_mark_unread(struct t_group *group, long thread);
 extern void set_default_bitmap(struct t_group *group);
-#ifdef DEBUG_NEWSRC
-#	if 0
-	extern void newsrc_test_harness(void);
-#	endif /* 0 */
-#endif /* DEBUG_NEWSRC */
 
 /* nntplib.c */
 extern FILE *get_nntp_fp(FILE *fp);
 extern FILE *get_nntp_wr_fp(FILE *fp);
 extern char *getserverbyfile(const char *file);
-extern char *get_server(char *string, int size);
-extern int get_respcode(char *, size_t);
-extern int get_only_respcode(char *, size_t);
 extern int nntp_open(void);
 extern void nntp_close(void);
-extern void put_server(const char *string);
-extern void u_put_server(const char *string);
 #ifdef NNTP_ABLE
 	extern FILE *nntp_command(const char *, int, char *, size_t);
+	extern char *get_server(char *string, int size);
+	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 u_put_server(const char *string);
 #endif /* NNTP_ABLE */
 
 /* nrctbl.c */
-extern int get_newsrcname(char *newsrc_name, const char *nntpserver_name);
-extern void get_nntpserver(char *nntpserver_name, char *nick_name);
+extern int get_newsrcname(char *newsrc_name, size_t newsrc_name_len, const char *nntpserver_name);
+extern void get_nntpserver(char *nntpserver_name, size_t nntpserver_name_len, char *nick_name);
 
 /* options_menu.c */
 extern char *fmt_option_prompt(char *dst, size_t len, t_bool editing, enum option_enum option);
@@ -531,8 +523,8 @@ extern t_mailcap *get_mailcap_entry(t_pa
 extern void free_mailcap(t_mailcap *tmailcap);
 
 /* rfc2045.c */
-extern int read_decoded_base64_line(FILE *file, char **line, int *max_line_len, const int max_lines_to_read, char **rest);
-extern int read_decoded_qp_line(FILE *file, char **line, int *max_line_len, const int max_lines_to_read);
+extern int read_decoded_base64_line(FILE *file, char **line, size_t *max_line_len, const int max_lines_to_read, char **rest);
+extern int read_decoded_qp_line(FILE *file, char **line, size_t *max_line_len, const int max_lines_to_read);
 extern void rfc1521_encode(char *line, FILE *f, int e);
 
 /* rfc2046.c */
@@ -591,7 +583,7 @@ extern int search_body(struct t_group *g
 extern void reset_srch_offsets(void);
 
 /* select.c */
-extern int add_my_group(const char *group, t_bool add);
+extern int add_my_group(const char *group, t_bool add, t_bool ignore_case);
 extern int choose_new_group(void);
 extern int skip_newgroups(void);
 extern void selection_page(int start_groupnum, int num_cmd_line_groups);
@@ -665,7 +657,6 @@ extern void str_lwr(char *str);
 	extern wchar_t *char2wchar_t(const char *str);
 	extern wchar_t *wcspart(const wchar_t *wstr, int columns, t_bool pad);
 	extern wchar_t *wstrunc(const wchar_t *wmessage, int len);
-	extern wchar_t *my_wcsdup(const wchar_t *wstr);
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 #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);
@@ -713,8 +704,8 @@ extern int thread_page(struct t_group *g
 extern void fixup_thread(int respnum, t_bool redraw);
 
 /* version.c */
-extern int check_upgrade(char *line, const char *skip, const char *version);
-extern void upgrade_prompt_quit(int reason, const char *file);
+extern enum rc_state check_upgrade(char *line, const char *skip, const char *version);
+extern void upgrade_prompt_quit(enum rc_state reason, const char *file);
 
 /* wildmat.c */
 extern t_bool wildmat(const char *text, char *p, t_bool icase);
diff -Nurp tin-1.9.2/include/rfc2046.h tin-1.9.3/include/rfc2046.h
--- tin-1.9.2/include/rfc2046.h	2006-12-22 02:43:24.000000000 +0100
+++ tin-1.9.3/include/rfc2046.h	2008-03-14 10:21:31.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : rfc2046.h
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 2000-02-18
- *  Updated   : 2003-05-06
+ *  Updated   : 2007-09-11
  *  Notes     : rfc2046 MIME article definitions
  *
- * Copyright (c) 2000-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 2000-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,13 +42,15 @@
 
 /* These must track the array definitions in lang.c */
 #	define NUM_CONTENT_TYPES	7
-#	define NUM_ENCODINGS		6
-
 #	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
 
+#	define NUM_ENCODINGS		6
 #	define ENCODING_7BIT		0
 #	define ENCODING_QP			1
 #	define ENCODING_BASE64		2
diff -Nurp tin-1.9.2/include/stpwatch.h tin-1.9.3/include/stpwatch.h
--- tin-1.9.2/include/stpwatch.h	2006-12-22 02:43:24.000000000 +0100
+++ tin-1.9.3/include/stpwatch.h	2008-03-14 10:21:31.000000000 +0100
@@ -7,7 +7,7 @@
  *  Notes     : Simple stopwatch routines for timing code using timeb
  *	             or gettimeofday structs
  *
- * Copyright (c) 1993-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1993-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/include/tcurses.h tin-1.9.3/include/tcurses.h
--- tin-1.9.2/include/tcurses.h	2006-12-22 02:43:24.000000000 +0100
+++ tin-1.9.3/include/tcurses.h	2008-03-14 10:21:31.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2004-07-19
  *  Notes     : curses #include files, #defines & struct's
  *
- * Copyright (c) 1997-2007 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2008 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/include/tin.h tin-1.9.3/include/tin.h
--- tin-1.9.2/include/tin.h	2006-12-22 02:43:24.000000000 +0100
+++ tin-1.9.3/include/tin.h	2008-04-24 19:03:35.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : tin.h
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2006-10-01
+ *  Updated   : 2008-03-26
  *  Notes     : #include files, #defines & struct's
  *
- * Copyright (c) 1997-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1997-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -290,19 +290,19 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_
  */
 #ifdef HAVE_DIRENT_H
 #	include <dirent.h>
-#	define DIR_BUF	struct dirent
 #else
-#	ifdef HAVE_SYS_DIR_H
-#		include <sys/dir.h>
-#	endif /* HAVE_SYS_DIR_H */
 #	ifdef HAVE_SYS_NDIR_H
 #		include <sys/ndir.h>
 #	endif /* HAVE_SYS_NDIR_H */
-#	define DIR_BUF	struct direct
+#	ifdef HAVE_SYS_DIR_H
+#		include <sys/dir.h>
+#	endif /* HAVE_SYS_DIR_H */
+#	if HAVE_NDIR_H
+#		include <ndir.h>
+#	endif /* HAVE_NDIR_H */
 #endif /* HAVE_DIRENT_H */
 
 #ifndef DIR_BUF
-#	include <dirent.h>
 #	define DIR_BUF	struct dirent
 #endif /* !DIR_BUF */
 
@@ -352,6 +352,12 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_
 #	endif /* HAVE_PGP && HAVE_GPG */
 #endif /* HAVE_PGP || HAVE_PGPK || HAVE_GPG */
 
+/*
+ * slrnface requires some things
+ */
+#if defined(HAVE_SLRNFACE) && defined(HAVE_MKFIFO) && defined(HAVE_FORK) && defined(HAVE_EXECLP) && defined(HAVE_WAITPID) && !defined(DONT_HAVE_PIPING) && !defined(X_DISPLAY_MISSING)
+#	define XFACE_ABLE
+#endif /* HAVE_SLRNFACE && HAVE_MKFIFO && HAVE_FORK && HAVE_EXECLP && HAVE_WAITPID && !DONT_HAVE_PIPING && !X_DISPLAY_MISSING */
 
 /*
  * Setup support for reading from NNTP
@@ -530,7 +536,9 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_
 #	define DEFAULT_SAVE_NUM	30
 #endif /* SMALL_MEMORY_MACHINE */
 #define DEFAULT_ACTIVE_NUM	1800
+#define DEFAULT_LOCAL_ATTRIBUTES_NUM	8
 #define DEFAULT_NEWNEWS_NUM	5
+#define DEFAULT_MAPKEYS_NUM 100	/* ~remappable keys per level (avoid massiv reallocs) */
 
 #define RCDIR	".tin"
 #define INDEX_MAILDIR	".mail"
@@ -546,7 +554,7 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_
 #define SERVERCONFIG_FILE	"serverrc"
 #define DEFAULT_MAILDIR	"Mail"
 #define DEFAULT_SAVEDIR	"News"
-#define DEFAULT_URL_HANDLER "url_handler.sh"
+#define DEFAULT_URL_HANDLER "url_handler.pl"
 /* Prefixes saved attachments with no set filename */
 #define SAVEFILE_PREFIX		"unknown"
 
@@ -583,11 +591,11 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_
 /* case sensitive && ^-anchored */
 #define DEFAULT_STRIP_RE_REGEX	"(?:R[eE](?:\\^\\d+|\\[\\d\\])?|A[wW]|Odp|Sv):\\s"
 /* case sensitive */
-#define DEFAULT_STRIP_WAS_REGEX	".\\((?:[Ww]a[rs]|[Bb]y[l³]o):.*\\)\\s*$"
+#define DEFAULT_STRIP_WAS_REGEX	".\\((?:[Ww]a[rs]|[Bb]y[l\\xb3]o):.*\\)\\s*$"
 #define DEFAULT_U8_STRIP_WAS_REGEX	".\\((?:[Ww]a[rs]|[Bb]y[l\\x{0142}]o):.*\\)\\s*$"
 /*
  * overkill regexp for balanced '()':
- * #define DEFAULT_STRIP_WAS_REGEX	".\\((?:[Ww]a[rs]|[Bb]y[l³]o):(?:(?:[^)(])*(?:\\([^)(]*\\))*)+\\)\\s*$"
+ * #define DEFAULT_STRIP_WAS_REGEX	".\\((?:[Ww]a[rs]|[Bb]y[l\xb3]o):(?:(?:[^)(])*(?:\\([^)(]*\\))*)+\\)\\s*$"
  */
 
 /* case sensitive & ^-anchored */
@@ -674,14 +682,6 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_
 #define NEWSGROUPS_FILE	"newsgroups"
 #define KEYMAP_FILE	"keymap"
 
-
-#ifdef USE_INN_NNTPLIB
-#	include <libinn.h> /* TODO: add configure chek for it */
-#	define _CONF_FROMHOST	"fromhost"
-#	define _CONF_ORGANIZATION	"organization"
-#	define _CONF_SERVER	"server"
-#endif /* USE_INN_NNTPLIB */
-
 #define SIGDASHES "-- \n"
 
 #ifndef BOOL_H
@@ -925,7 +925,7 @@ enum {
 #define IGNORE_ART_THREAD(i)	(arts[i].thread != ART_UNTHREADED || (tinrc.kill_level == KILL_NOTHREAD && arts[i].killed))
 
 /*
- * Is this part text/plain ?
+ * Is this part text/plain?
  */
 #define IS_PLAINTEXT(x) \
 			(x->type == TYPE_TEXT && strcasecmp("plain", x->subtype) == 0)
@@ -1008,12 +1008,6 @@ enum {
 #define FEED_AUTOSAVE	5
 #define FEED_REPOST		6
 
-#if 0
-#	define DEBUG_IO(x)	fprintf x
-#else
-#	define DEBUG_IO(x)	/* nothing */
-#endif /* 0 */
-
 
 /*
  * Threading strategies available
@@ -1180,7 +1174,8 @@ enum {
 #	define EXIT_FAILURE	1	/* Failing exit status */
 #endif /* !EXIT_FAILURE */
 
-#define NNTP_ERROR_EXIT	2
+#define NEWS_AVAIL_EXIT 2
+#define NNTP_ERROR_EXIT	3
 
 /*
  * Assertion verifier
@@ -1208,7 +1203,7 @@ enum {
 #define ART_EXPIRED		-2
 
 /*
- * Where does this belong ?? It is overloaded
+ * Where does this belong?? It is overloaded
  */
 #define ART_NORMAL		-1
 
@@ -1303,7 +1298,6 @@ enum {
 /*
  * used in checking article header before posting
  */
-#define NGLIMIT		20	/* Max. num. of crossposted groups before warning */
 #define MAX_COL		78	/* Max. line length before issuing a warning */
 #define MAX_SIG_LINES	4	/* Max. num. of signature lines before warning */
 
@@ -1387,54 +1381,55 @@ struct t_article {
  * struct t_attribute - configurable attributes on a per group basis
  */
 struct t_attribute {
+	char *scope;				/* scope for these group attributes */
 	char *maildir;				/* mail dir if other than ~/Mail */
 	char *savedir;				/* save dir if other than ~/News */
-	char *savefile;			/* save articles to specified file */
+	char *savefile;				/* save articles to specified file */
 	char *sigfile;				/* sig file if other than ~/.Sig */
 	char *organization;			/* organization name */
 	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 *quick_kill_scope;		/* quick filter kill scope */
+	char *quick_select_scope;	/* quick filter select scope */
 	char *mailing_list;			/* mail list email address */
 	char *x_headers;			/* extra headers for message header */
-	char *x_body;				/* bolierplate text for message body */
-	char *from;				/* from line */
-	char *news_quote_format;		/* another way to begin a posting format */
+	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 */
 	unsigned global:1;			/* global/group specific */
-	unsigned quick_kill_header:3;		/* quick filter kill header */
-	unsigned quick_kill_expire:1;		/* quick filter kill limited/unlimited time */
+	unsigned quick_kill_header:3;	/* quick filter kill header */
+	unsigned quick_kill_expire:1;	/* quick filter kill limited/unlimited time */
 	unsigned quick_kill_case:1;		/* quick filter kill case sensitive? */
-	unsigned quick_select_header:3;		/* quick filter select header */
-	unsigned quick_select_expire:1;		/* quick filter select limited/unlimited time */
-	unsigned quick_select_case:1;		/* quick filter select case sensitive? */
+	unsigned quick_select_header:3;	/* quick filter select header */
+	unsigned quick_select_expire:1;	/* quick filter select limited/unlimited time */
+	unsigned quick_select_case:1;	/* quick filter select case sensitive? */
 	unsigned auto_select:1;			/* 0=show all unread, 1='X' just hot arts */
 	unsigned auto_save:1;			/* 0=none, 1=save */
 	unsigned batch_save:1;			/* 0=none, 1=save -S/mail -M */
-	unsigned delete_tmp_files:1;		/* 0=leave, 1=delete */
-	unsigned show_only_unread:1;		/* 0=all, 1=only unread */
+	unsigned delete_tmp_files:1;	/* 0=leave, 1=delete */
+	unsigned show_only_unread:1;	/* 0=all, 1=only unread */
 	unsigned thread_arts:3;			/* 0=unthread, 1=subject, 2=refs, 3=both, 4=multipart, 5=percentage */
-	unsigned thread_perc:7;			/* percentage thrreading threshold */
+	unsigned thread_perc:7;			/* percentage threading threshold */
 	unsigned show_author:2;			/* 0=none, 1=name, 2=addr, 3=both */
 	unsigned show_info:2;			/* 0=none, 1=lines, 2=score, 3=both */
 	unsigned sort_art_type:4;		/* 0=none, 1=subj descend, 2=subj ascend,
 						   3=from descend, 4=from ascend,
 						   5=date descend, 6=date ascend,
 						   7=score descend, 8=score ascend */
-	unsigned sort_threads_type:3;		/* 0=none, 1=score descend, 2=score ascend,
+	unsigned sort_threads_type:3;	/* 0=none, 1=score descend, 2=score ascend,
 						   3=last posting date descend, 4=last posting date ascend */
-	unsigned int post_proc_type:2;		/* 0=none, 1=shar, 2=uudecode */
-	unsigned int x_comment_to:1;		/* insert X-Comment-To: in Followup */
-	unsigned int tex2iso_conv:1;		/* Convert TeX2ISO */
-	unsigned int mime_forward:1;		/* forward articles as attachment or inline */
-	char *fcc;							/* Fcc folder for mail */
+	unsigned int post_proc_type:2;	/* 0=none, 1=shar, 2=uudecode */
+	unsigned int x_comment_to:1;	/* insert X-Comment-To: in Followup */
+	unsigned int tex2iso_conv:1;	/* Convert TeX2ISO */
+	unsigned int mime_forward:1;	/* forward articles as attachment or inline */
+	char *fcc;						/* Fcc folder for mail */
 #ifdef CHARSET_CONVERSION
-	int mm_network_charset;				/* network charset */
-	char *undeclared_charset;			/* charset of articles without MIME charset declaration */
+	int mm_network_charset;			/* network charset */
+	char *undeclared_charset;		/* charset of articles without MIME charset declaration */
 #endif /* CHARSET_CONVERSION */
 };
 
@@ -1445,7 +1440,7 @@ struct t_attribute {
  * struct t_newsrc - newsrc related info.
  */
 struct t_newsrc {
-	t_bool present:1;		/* update newsrc ? */
+	t_bool present:1;		/* update newsrc? */
 	long num_unread;		/* unread articles in group */
 	long xmax;			/* newsrc max */
 	long xmin;			/* newsrc min */
@@ -1460,7 +1455,7 @@ struct t_newsrc {
  * struct t_group - newsgroup info from active file
  */
 struct t_group {
-	char *name;			/* newsgroup / mailbox name */
+	char *name;			/* newsgroup/mailbox name */
 	char *aliasedto;		/* =new.group in active file, NULL if not */
 	char *description;	/* text from NEWSLIBDIR/newsgroups file */
 	char *spooldir;		/* groups spool directory */
@@ -1468,7 +1463,7 @@ struct t_group {
 	long count;			/* article number count */
 	long xmax;			/* max. article number */
 	long xmin;			/* min. article number */
-	unsigned int type:4;		/* grouptype - newsgroup / mailbox / savebox */
+	unsigned int type:4;		/* grouptype - newsgroup/mailbox/savebox */
 	t_bool inrange:1;		/* TRUE if group selected via # range command */
 	t_bool read_during_session:1;	/* TRUE if group entered during session */
 	t_bool art_was_posted:1;	/* TRUE if art was posted to group */
@@ -1539,7 +1534,7 @@ struct t_filter {
 	char *xref;			/* groups in xref line */
 	time_t time;			/* expire time in seconds */
 	struct t_filter *next;		/* next rule valid in group */
-	unsigned int inscope:4;		/* if group matches scope ie. 'comp.os.*' */
+	unsigned int inscope:4;		/* if group matches scope e.g. 'comp.os.*' */
 	unsigned int icase:2;		/* Case sensitive filtering */
 	unsigned int fullref:4;		/* use full references or last entry only */
 };
@@ -1640,7 +1635,7 @@ struct t_option {
 	int *variable;		/* ptr to variable to change */
 	constext **opt_list;	/* ptr to list entries if OPT_LIST */
 	int opt_count;		/* no. of list entries if OPT_LIST */
-	struct opttxt *txt;	/* ptr to information / help on option */
+	struct opttxt *txt;	/* ptr to information/help on option */
 };
 
 /*
@@ -1690,7 +1685,7 @@ typedef struct _TIMEINFO {
 /*
  * mailcap fields
  * the x-token field is missing, we would need something like
- * struct t_xtoken { char *xtoken; t_xtoken *next; } for that...
+ * struct t_xtoken { char *xtoken; t_xtoken *next; } for that ...
  */
 typedef struct {
 	char *type;		/* content-type, mandatory */
@@ -1852,7 +1847,7 @@ typedef int (*t_compfunc)(t_comptype, t_
 #endif /* !F_OK */
 
 /* Various function redefinitions */
-#ifdef USE_DBMALLOC
+#if defined(USE_DBMALLOC) || defined(USE_DMALLOC)
 #	define my_malloc(size)	malloc(size)
 #	define my_calloc(nmemb, size)	calloc((nmemb), (size))
 #	define my_realloc(ptr, size)	realloc((ptr), (size))
@@ -1860,7 +1855,7 @@ typedef int (*t_compfunc)(t_comptype, t_
 #	define my_malloc(size)	my_malloc1(__FILE__, __LINE__, (size))
 #	define my_calloc(nmemb, size)	my_calloc1(__FILE__, __LINE__, (nmemb), (size))
 #	define my_realloc(ptr, size)	my_realloc1(__FILE__, __LINE__, (ptr), (size))
-#endif /* USE_DBMALLOC */
+#endif /* USE_DBMALLOC || USE_DMALLOC */
 
 #define ARRAY_SIZE(array)	((int) (sizeof(array) / sizeof(array[0])))
 
@@ -1869,8 +1864,8 @@ typedef int (*t_compfunc)(t_comptype, t_
 
 #define BlankIfNull(p)	((p) ? (p) : "")
 
-#define my_group_find(x)	add_my_group(x, FALSE)
-#define my_group_add(x)		add_my_group(x, TRUE)
+#define my_group_find(x)	add_my_group(x, FALSE, FALSE)
+#define my_group_add(x, y)		add_my_group(x, TRUE, y)
 #define for_each_group(x)	for (x = 0; x < num_active; x++)
 #define for_each_art(x)		for (x = 0; x < top_art; x++)
 #define for_each_art_in_thread(x, y)	for (x = (int) base[y]; x >= 0; x = arts[x].thread)
@@ -1956,6 +1951,9 @@ typedef void (*BodyPtr) (char *, FILE *,
 #ifdef USE_DMALLOC
 #	include <dmalloc.h>
 #	define DMALLOC_FUNC_CHECK
+#	ifdef HAVE_STRDUP
+#		define my_strdup(s) strdup((s))
+#	endif /* HAVE_STRDUP */
 #endif /* USE_DMALLOC */
 
 #ifdef DOALLOC
@@ -1980,9 +1978,9 @@ typedef void (*BodyPtr) (char *, FILE *,
 
 #ifndef my_tmpfile_only
 /*
- * shortcut if we arn't interrested in the tmpfiles filename/location
+ * shortcut if we aren't interested in the tmpfiles filename/location
  * argument can't be a pointer and if argument is changed on return
- * we must unlik the tmp-file ourself
+ * we must unlink the tmp-file ourself
  */
 #	define my_tmpfile_only(a)	my_tmpfile(a, sizeof(a) - 1, FALSE, (char *) 0)
 #endif /* !my_tmpfile_only */
@@ -2048,9 +2046,14 @@ extern struct tm *localtime(time_t *);
 
 /* libcanlock */
 #ifdef USE_CANLOCK
-#	include "../libcanlock/canlock.h"
+#	include "../libcanlock/include/canlock.h"
 #endif /* USE_CANLOCK */
 
+/* gsasl */
+#ifdef USE_SASL
+#	include <gsasl.h>
+#endif /* USE_SASL */
+
 /* snprintf(), vsnprintf() */
 #ifndef HAVE_SNPRINTF
 #	define snprintf	plp_snprintf
@@ -2089,4 +2092,18 @@ extern struct tm *localtime(time_t *);
 #define TIN_CANCEL_NAME	".cancel"
 #define TIN_LETTER_NAME	".letter"
 
+/* read_news_active_file() / open_newsgroups_fp() */
+#ifndef DISABLE_PIPELINING
+#	define PIPELINE_LIMIT 30
+#endif /* DISABLE_PIPELINING */
+
+#ifndef DEBUG_H
+#	include "debug.h"
+#endif /* !DEBUG_H */
+
+struct t_overview_fmt {
+	char *name;
+	enum f_type type;
+};
+
 #endif /* !TIN_H */
diff -Nurp tin-1.9.2/include/tinrc.h tin-1.9.3/include/tinrc.h
--- tin-1.9.2/include/tinrc.h	2006-12-22 02:43:24.000000000 +0100
+++ tin-1.9.3/include/tinrc.h	2008-04-25 10:20:24.000000000 +0200
@@ -6,7 +6,7 @@
  *  Updated   : 2006-06-28
  *  Notes     :
  *
- * Copyright (c) 1999-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1999-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/include/tnntp.h tin-1.9.3/include/tnntp.h
--- tin-1.9.2/include/tnntp.h	2006-12-22 02:43:24.000000000 +0100
+++ tin-1.9.3/include/tnntp.h	2008-03-17 19:56:40.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2006-02-15
  *  Notes     : #include files, #defines & struct's
  *
- * Copyright (c) 1997-2007 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2008 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,28 +38,26 @@
 #ifndef TNNTP_H
 #define TNNTP_H 1
 
-#define s_printf	fprintf
 #define s_fdopen	fdopen
 #define s_flush	fflush
 #define s_fclose	fclose
 #define s_gets	fgets
 #if 0 /* __BEOS__ port in progress */
 #	ifdef HAVE_CLOSESOCKET
-#		define s_close closesocket
+#		define s_close	closesocket
 #	else
 #		define s_close	close
 #	endif /* HAVE_CLOSESOCKET */
 #	ifdef __BEOS__
 #		define s_puts(s,fd)	write(fileno(fd),s,strlen(s))
 #	else
-#		define s_puts(s,fd)	fputs(s,fd)
+#		define s_puts	fputs
 #	endif /* __BEOS__ */
 #else
-#	define s_close close
+#	define s_close	close
 #	define s_puts	fputs
 #endif /* 0 */
-#define s_dup		dup
-#define s_init()	(1)
+#define s_dup	dup
 #define s_end()
 
 #if defined(NNTP_ABLE) || defined(HAVE_GETHOSTBYNAME)
diff -Nurp tin-1.9.2/include/trace.h tin-1.9.3/include/trace.h
--- tin-1.9.2/include/trace.h	2006-12-22 02:43:24.000000000 +0100
+++ tin-1.9.3/include/trace.h	2008-03-14 10:21:31.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2002-11-10
  *  Notes     : Interface of trace.c
  *
- * Copyright (c) 1997-2007 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2008 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/include/version.h tin-1.9.3/include/version.h
--- tin-1.9.2/include/version.h	2007-02-01 15:09:12.000000000 +0100
+++ tin-1.9.3/include/version.h	2008-05-06 19:24:18.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : version.h
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2006-06-28
+ *  Updated   : 2008-01-08
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,10 +40,10 @@
 
 #	define PRODUCT		"tin"
 #	ifndef TIN_AUTOCONF_H
-#		define VERSION		"1.9.2"
+#		define VERSION		"1.9.3"
 #	endif /* !TIN_AUTOCONF_H */
-#	define RELEASEDATE	"20070201"
-#	define RELEASENAME	"Dalaruan"
+#	define RELEASEDATE	"20080506"
+#	define RELEASENAME	"Dalintober"
 /* config-file versions - must by dotted triples */
 #	define TINRC_VERSION	"1.3.8"
 #	define ATTRIBUTES_VERSION	"1.0.4"
@@ -55,11 +55,6 @@
 #		ifdef __BEOS__
 #			define OSNAME	"BeOS"
 #		endif /* __BEOS__ */
-#		ifdef __CYGWIN__
-#			ifdef __WINNT__ /* also defined on Win95 *sigh* */
-#				define OSNAME	"Windows/NT"
-#			endif /*__WINNT__ */
-#		endif /* __CYGWIN__ */
 #		ifndef OSNAME
 #			define OSNAME	"UNIX"
 #		endif /* !OSNAME */
diff -Nurp tin-1.9.2/libcanlock/Build tin-1.9.3/libcanlock/Build
--- tin-1.9.2/libcanlock/Build	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/Build	1970-01-01 01:00:00.000000000 +0100
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-if [ me$1ow = mecleanow ] ; then
-	rm *.o *.a endian endian.h canlocktest hmactest
-else
-#	CC="cc"
-	CC="${CC-cc}"
-	echo 'Determining endianness...'
-	${CC} -o endian endian.c
-	./endian > endian.h
-	
-	echo -n "Building: SHA-1 "
-	${CC} -c -o sha1.o sha1.c
-	echo -n "MD5 "
-	${CC} -c -o md5.o md5.c
-	echo -n "HMAC-SHA1 "
-	${CC} -c -o hmac_sha1.o hmac_sha1.c
-	echo -n "HMAC-MD5 "
-	${CC} -c -o hmac_md5.o hmac_md5.c
-	echo -n "Base64 "
-	${CC} -c -o base64.o base64.c
-	echo "canlock"
-	${CC} -c -o canlock_misc.o canlock_misc.c
-	${CC} -c -o canlock_sha1.o canlock_sha1.c
-	${CC} -c -o canlock_md5.o canlock_md5.c
-
-	echo "Archiving..."
-	ar -r libcanlock.a\
-		sha1.o hmac_sha1.o\
-		md5.o hmac_md5.o\
-		base64.o\
-		canlock_misc.o canlock_sha1.o canlock_md5.o
-
-	echo "Indexing..."
-	ranlib libcanlock.a
-
-	echo "Building test programs..."
-	${CC} -o hmactest  hmactest.c -L. -lcanlock
-	${CC} -o canlocktest canlocktest.c  -L. -lcanlock
-	
-	echo "Done."
-
-fi
diff -Nurp tin-1.9.2/libcanlock/CHANGES tin-1.9.3/libcanlock/CHANGES
--- tin-1.9.2/libcanlock/CHANGES	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/CHANGES	2008-03-14 10:21:40.000000000 +0100
@@ -1,24 +1,49 @@
+VERSION 2a:
+
+11 Aug 2003
+        - Only very minor changes.  The makefile was tweaked slightly
+          for increased portability, and a typo in lock_strip was fixed.
+
+VERSION 2:
+
+10 Aug 2003
+        - Replaced the SHA-1 library with the source code from RFC 1374.
+          The old code had problems on PowerPC that I was too lazy to hunt
+          down and fix.
+        - Replaced the ISC version of Base64 with an implementation
+          produced by Sweden's Royal Institute of Technology (KTH). The
+          old functions carried a weird patent disclaimer from IBM, while
+          the new ones use a nice simple non-scary BSD license.
+        - The md5_key(), md5_lock() and md5_verify() functions have been
+          removed.  As far as I can tell they weren't being used.
+        - Added a Makefile instead of the Build thingy.
+        - Did a bunch of cleanup to get rid of various warnings.
+
+VERSION 1:
+
 24 Sep 1998
-	- Now trying to be compatible with an updated cancel lock draft.
-	- We now generate the lock by hashing the Base64 encoding of the
-	  cancel key, instead of the underlying binary digest.
-	- the xxx_key() and xxx_lock() functions now add the md5: or sha1:
-	  tag to the lock.
-	- lock_strip_alpha() now discards pesky clue strings and normalizes
-	  the case of type codes.
-	- the old lock_strip() that returned numeric codes will be going
-	  away.
+        - Now trying to be compatible with an updated cancel lock draft.
+        - We now generate the lock by hashing the Base64 encoding of the
+          cancel key, instead of the underlying binary digest.
+        - the xxx_key() and xxx_lock() functions now add the md5: or sha1:
+          tag to the lock.
+        - lock_strip_alpha() now discards pesky clue strings and normalizes
+          the case of type codes.
+        - the old lock_strip() that returned numeric codes will be going
+          away.
+
+VERSION 0:
 
 21 Sep 1998
-	- Endianness is now automatically figured out by build.
+        - Endianness is now automatically figured out by build.
 
 19 Sep 1998
-	- Added MD5 hashes.
-	- We now accommodate the possibility that strings will be identified
-	  by name instead of number, those darned drafts will get you every
-	  time.
-	- Make changes to the hmac stuff to account for GCC weirdness; some
-	  check values were not coming out correctly, but they are now.
+        - Added MD5 hashes.
+        - We now accommodate the possibility that strings will be identified
+          by name instead of number, those darned drafts will get you every
+          time.
+        - Make changes to the hmac stuff to account for GCC weirdness; some
+          check values were not coming out correctly, but they are now.
 
 15 Sep 1998
-	- Initial, just SHA-1.
+        - Initial, just SHA-1.
diff -Nurp tin-1.9.2/libcanlock/HOWTO tin-1.9.3/libcanlock/HOWTO
--- tin-1.9.2/libcanlock/HOWTO	2006-12-21 14:41:29.000000000 +0100
+++ tin-1.9.3/libcanlock/HOWTO	2008-03-14 10:21:40.000000000 +0100
@@ -2,7 +2,8 @@ Here are some sort-of plain language des
 library.
 
 First, your news posting program needs to generate its own Message-ID
-headers.  If this isn't already the case, fix that first.
+headers, or some other unique per-article header if IDs aren't allowed
+by your server.  If this isn't already the case, fix that first.
 
 You will also need to add a facility for storing a user password; see
 the included RFCs about recommended lengths.  This can be user-generated
@@ -17,14 +18,13 @@ monster.
 
 POSTING:
 
-Generate a Message-ID.  Now, pass the pointers and lengths of the password
-and message id to sha_lock().  It will return a pointer to your cancel lock.
-For example:
-
-	fprintf(art, "Message-ID: %s\n", msgid);
-	fprintf(art, "Cancel-Lock: 1:%s\n",
-		sha_lock(password, strlen(password), msgid, strlen(msgid));
-
+Generate a Message-ID.  Now, pass the pointers and lengths of the
+password and message id to sha_lock().  It will return a pointer to your
+cancel lock. For example:
+
+    fprintf(art, "Message-ID: %s\n", msgid);
+    fprintf(art, "Cancel-Lock: sha1:%s\n",
+            sha_lock(password, strlen(password), msgid, strlen(msgid));
 
 
 CANCELING:
@@ -32,10 +32,9 @@ CANCELING:
 This time, you use the Message-ID of the article to be canceled.  We
 use sha_key this time to complete the cycle.
 
-	fprintf(art, "Control: cancel %s\n", msg_can);
-	fprintf(art, "Cancel-Key: 1:%s\n",
-		sha_key(password, strlen(password), msgid, strlen(msgid));
-
+    fprintf(art, "Control: cancel %s\n", msg_can);
+    fprintf(art, "Cancel-Key: sha1:%s\n",
+            sha_key(password, strlen(password), msgid, strlen(msgid));
 
 
 VERIFYING:
@@ -44,8 +43,8 @@ This is purely optional at the newsreade
 really need to bother.
 
 Extract the Cancel-Key: header from the cancel message.  Fetch the
-original article from the server and extract its Cancel-Lock: header. 
-Chop off the keywords; we are only interested in the Base-64 thingies.
+original article from the server and extract its Cancel-Lock: header.
+Chop off the keywords; we are only interested in the Base64 thingies.
 
 - If the original article has no lock (or is missing), you can ignore
   the cancel key and use traditional verification, or abort the cancel
@@ -55,11 +54,10 @@ Chop off the keywords; we are only inter
   the cancel operation.
 
 - If both a key and lock are present, strip off the type numbers and
-  make sure they're both type 1 (the only kind we know how to handle
-  yet).  You can use the lock_strip() function to make this a bit
-  easier.
+  make sure they're both type sha1 (the only kind this library handles).
+  You can use the lock_strip() function to make this a bit easier.
 
 - Finally, you can send pointers to each stripped lock on to
-  sha_verify().  If it returns zero, your may delete the article.
-  Remember that there may be more than one lock in the header.  Be sure
-  to check all locks against the key before giving up.
+  sha_verify().  If it returns zero, your may delete the article. Remember
+  that there may be more than one lock in the header.  Be sure to check
+  all locks against the key before giving up.
diff -Nurp tin-1.9.2/libcanlock/MANIFEST tin-1.9.3/libcanlock/MANIFEST
--- tin-1.9.2/libcanlock/MANIFEST	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/MANIFEST	1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-MANIFEST	You're lookin' at me.
-README		Read this.  These are your installation instructions.
-base64.c	Borrowed from ISC BIND, creates and decodes Base64 strings.
-base64.h
-build*		This is my lame excuse for a makefile.
-canlock.c	The cancel lock functions live in here.
-canlock.h
-canlocktest.c	A program to check that the library compiled correctly.
-hmac_sha1.c	This implements HMAC using SHA-1 hashes.
-hmac_sha1.h
-hmactest.c	Test the HMAC functions.
-sha1.c		A public domain SHA-1 implementation.
-sha1.h
-
-doc/
-HOWTO		A short walk through the library to explain how it is
-		used.
-
-draft-ietf-usefor-cancel-lock-00.txt
-		The draft that explains the cancel lock system.
-
-rfc2104.txt	A description of HMAC.
-
-rfc2202.txt	Sample results so you can verify that HMAC/SHA-1 is
-		operating correctly.
diff -Nurp tin-1.9.2/libcanlock/Makefile.in tin-1.9.3/libcanlock/Makefile.in
--- tin-1.9.2/libcanlock/Makefile.in	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/Makefile.in	2008-03-14 10:21:40.000000000 +0100
@@ -0,0 +1,50 @@
+CFLAGS	= @CFLAGS@
+CPPFLAGS = @CPPFLAGS@ -Iinclude
+LDFLAGS	= @LDFLAGS@ -L. -lcanlock
+CC	= @CC@
+PRELIB	= @LIB_PREFIX@
+o	= .@OBJEXT@
+ARCHIVE = @AR@ @AR_OPTS@
+RANLIB  = @RANLIB@
+
+LIBOBJS = src/sha1.o src/hmac_sha1.o src/base64.o src/canlock.o
+LOCKLIB = $(PRELIB)canlock.a
+
+.c$o :
+@SHOW_CC@
+	 @ECHO_CC@$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
+
+all: hmactest canlocktest
+
+hmactest: t/hmactest.c $(LOCKLIB)
+@SHOW_CC@
+	@ECHO_CC@$(CC) $(CPPFLAGS) $(CFLAGS) t/$@.c -o $@ $(LDFLAGS)
+
+canlocktest: t/canlocktest.c $(LOCKLIB)
+@SHOW_CC@
+	@ECHO_CC@$(CC) $(CPPFLAGS) $(CFLAGS) t/$@.c -o $@ $(LDFLAGS)
+
+src/base64.o: src/base64.c include/base64.h
+src/canlock.o: src/canlock.c include/canlock.h
+src/hmac_sha1.o: src/hmac_sha1.c include/hmac_sha1.h
+src/sha1.o: src/sha1.c include/sha1.h
+
+lib: $(LOCKLIB)
+$(LOCKLIB): $(LIBOBJS)
+	@-$(RM) -f $(LOCKLIB)
+	$(ARCHIVE) $(LOCKLIB) $(LIBOBJS)
+	$(RANLIB) $(LOCKLIB)
+
+clean:
+	@-rm -f src/*.o t/*.o t/*.out *.gmon gmon.*
+
+distclean: clean
+	@-rm -f *.a canlocktest hmactest *.exe *.h
+
+test: all
+	@echo "hmactest: "
+	@./hmactest > t/hmactest.out || echo hmm
+	@diff t/hmactest.shouldbe t/hmactest.out && echo " Pass." || echo " **FAIL**"
+	@echo "canlocktest: "
+	@./canlocktest > t/canlocktest.out
+	@diff t/canlocktest.shouldbe t/canlocktest.out && echo " Pass." || echo " **FAIL**"
diff -Nurp tin-1.9.2/libcanlock/README tin-1.9.3/libcanlock/README
--- tin-1.9.2/libcanlock/README	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/README	2008-03-14 10:21:40.000000000 +0100
@@ -1,44 +1,45 @@
 libcanlock - a library for creating and verifying cancel locks.
 
+
 Copyright stuff:
 
-	sha1.c was written by Steve Reid and placed in the public
-	domain.
+    sha1.c is basically the sample code from RFC 3174 from Donald
+    Eastlake and Paul Jones, and carries a BSD-ish license from the
+    Internet Society.
 
-	md5.c was written by Colin Plumb and placed in the public
-	domain.
+    base64.c carries a BSD license from KTH.
 
-	base64.c is copyrighted by the Internet Software Consortium. 
-	The copyright notice allows for unlimited distribution if
-	credit is given.  Read the file itself for details.
-
-	hmac*.c, canlock*.c, hmactest.c and canlocktest.c were written
-	by Fluffy, Ruler of All Usenet, and placed in the public
-	domain.
+    hmac_sha1.c, canlock.c, hmactest.c and canlocktest.c were written by
+    Greg Andruk, and carry an MIT style license.
 
 
 How to compile it:
 
-	If you are lucky, it will be enough to run the build script. 
-	But you may not be that lucky.
-     
-	As shipped, this library assumes a little-endian 32-bit system
-	(i386 family, that is).  You may have to twiddle with
-	LITTLE_ENDIAN in sha1.h to make everything work right.  If
-	you're not running on a 32-bit system, I don't know what if
-	anything you may have to do to get all the little bits in
-	order.
-	
-	Once you've run the build script, check your work by running
-	hmactest.  If the expected and actual digests are different,
-	your endian-ness or something else is wrong.
-	
-
-	After hmactest is giving you the right results, run
-	canlocktest.
-
-
-The canlocktest source code should give you a pretty good idea of how
-the functions work.  See the doc directory for relevant RFCs and stuff.
+    If you are lucky, it will be enough to unpack the archive, change to
+    it top directory and run make.
+        
+    You can also:
+
+        make test
+            to insure the library works as Fluffy intended
+        
+        make clean
+                to get rid of stray build gunk
+            
+        make nuke
+                to return the directory to its lovely pristine condition
+           
+    The libcanlock.a that will be produced is what you want to link into
+    your newsreader or whatever.
+
+
+Random blabbage:
+
+    This version compiled and ran correctly on x86, PowerPC, Itanium,
+    PA-RISC and Alpha, so hopefully it's now reasonably portable.
+
+    The canlocktest source code should give you a pretty good idea of
+    how the functions work.  See the doc directory for relevant RFCs and
+    stuff.
 
 Meow.
diff -Nurp tin-1.9.2/libcanlock/base64.c tin-1.9.3/libcanlock/base64.c
--- tin-1.9.2/libcanlock/base64.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/base64.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,324 +0,0 @@
-/* 
- * Copyright (c) 1996, 1998 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
- * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-/* 
- * Portions Copyright (c) 1995 by International Business Machines, Inc.
- *
- * International Business Machines, Inc. (hereinafter called IBM) grants
- * permission under its copyrights to use, copy, modify, and distribute this
- * Software with or without fee, provided that the above copyright notice and
- * all paragraphs of this notice appear in all copies, and that the name of IBM
- * not be used in connection with the marketing of any product incorporating
- * the Software or modifications thereof, without specific, written prior
- * permission.
- *
- * To the extent it has a right to do so, IBM grants an immunity from suit
- * under its patents, if any, for the use, sale or manufacture of products to
- * the extent that such products are used for performing Domain Name System
- * dynamic updates in TCP/IP networks by means of the Software.  No immunity is
- * granted for any product per se or for any other function of any product.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- * PARTICULAR PURPOSE.  IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL,
- * DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN
- * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
- */
-
-#if !defined(LINT) && !defined(CODECENTER)
-static char     rcsid[] = "$Id: base64.c,v 8.5 1998/03/27 00:17:46 halley Exp $";
-#endif				/* not lint */
-
-/* #include "port_before.h" */
-
-#include <sys/types.h>
-/* #include <sys/param.h> */
-/* #include <sys/socket.h> */
-
-/* #include <netinet/in.h> */
-/* #include <arpa/inet.h> */
-/* #include <arpa/nameser.h> */
-
-/* #include <ctype.h> */
-/* #include <resolv.h> */
-#include <stdio.h>
-/* #include <stdlib.h> */
-#include <string.h>
-
-/* #include "port_after.h" */
-
-#define Assert(Cond) if (!(Cond)) abort()
-
-static const char Base64[] =
-"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-static const char Pad64 = '=';
-
-/*
- * (From RFC1521 and draft-ietf-dnssec-secext-03.txt) The following
- * encoding technique is taken from RFC 1521 by Borenstein and Freed.  It
- * is reproduced here in a slightly edited form for convenience.
- * 
- * A 65-character subset of US-ASCII is used, enabling 6 bits to be
- * represented per printable character. (The extra 65th character, "=", is 
- * used to signify a special processing function.)
- * 
- * The encoding process represents 24-bit groups of input bits as output
- * strings of 4 encoded characters. Proceeding from left to right, a
- * 24-bit input group is formed by concatenating 3 8-bit input groups.
- * These 24 bits are then treated as 4 concatenated 6-bit groups, each of
- * which is translated into a single digit in the base64 alphabet.
- * 
- * Each 6-bit group is used as an index into an array of 64 printable
- * characters. The character referenced by the index is placed in the
- * output string.
- * 
- * Table 1: The Base64 Alphabet
- * 
- *
- *                        Table 1: The Base64 Alphabet
- *
- *     Value Encoding  Value Encoding  Value Encoding  Value Encoding
- *         0 A            17 R            34 i            51 z
- *         1 B            18 S            35 j            52 0
- *         2 C            19 T            36 k            53 1
- *         3 D            20 U            37 l            54 2
- *         4 E            21 V            38 m            55 3
- *         5 F            22 W            39 n            56 4
- *         6 G            23 X            40 o            57 5
- *         7 H            24 Y            41 p            58 6
- *         8 I            25 Z            42 q            59 7
- *         9 J            26 a            43 r            60 8
- *        10 K            27 b            44 s            61 9
- *        11 L            28 c            45 t            62 +
- *        12 M            29 d            46 u            63 /
- *        13 N            30 e            47 v
- *        14 O            31 f            48 w         (pad) =
- *        15 P            32 g            49 x
- *        16 Q            33 h            50 y
- *
- * 
- * Special processing is performed if fewer than 24 bits are available at
- * the end of the data being encoded.  A full encoding quantum is always
- * completed at the end of a quantity.  When fewer than 24 input bits are
- * available in an input group, zero bits are added (on the right) to form 
- * an integral number of 6-bit groups.  Padding at the end of the data is
- * performed using the '=' character.
- * 
- * Since all base64 input is an integral number of octets, only the
- * -------------------------------------------------
- *  following cases can arise:  (1) the final quantum of encoding input is 
- * an integral multiple of 24 bits; here, the final unit of encoded output 
- * will be an integral multiple of 4 characters with no "=" padding, (2)
- * the final quantum of encoding input is exactly 8 bits; here, the final
- * unit of encoded output will be two characters followed by two "="
- * padding characters, or (3) the final quantum of encoding input is
- * exactly 16 bits; here, the final unit of encoded output will be three
- * characters followed by one "=" padding character.
- */
-
-int
-b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize)
-{
-    size_t          datalength = 0;
-    u_char          input[3];
-    u_char          output[4];
-    size_t          i;
-
-    while (2 < srclength) {
-	input[0] = *src++;
-	input[1] = *src++;
-	input[2] = *src++;
-	srclength -= 3;
-
-	output[0] = input[0] >> 2;
-	output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
-	output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
-	output[3] = input[2] & 0x3f;
-	Assert(output[0] < 64);
-	Assert(output[1] < 64);
-	Assert(output[2] < 64);
-	Assert(output[3] < 64);
-
-	if (datalength + 4 > targsize)
-	    return (-1);
-	target[datalength++] = Base64[output[0]];
-	target[datalength++] = Base64[output[1]];
-	target[datalength++] = Base64[output[2]];
-	target[datalength++] = Base64[output[3]];
-    }
-
-    /* Now we worry about padding. */
-    if (0 != srclength) {
-	/* Get what's left. */
-	input[0] = input[1] = input[2] = '\0';
-	for (i = 0; i < srclength; i++)
-	    input[i] = *src++;
-
-	output[0] = input[0] >> 2;
-	output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
-	output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
-	Assert(output[0] < 64);
-	Assert(output[1] < 64);
-	Assert(output[2] < 64);
-
-	if (datalength + 4 > targsize)
-	    return (-1);
-	target[datalength++] = Base64[output[0]];
-	target[datalength++] = Base64[output[1]];
-	if (srclength == 1)
-	    target[datalength++] = Pad64;
-	else
-	    target[datalength++] = Base64[output[2]];
-	target[datalength++] = Pad64;
-    }
-    if (datalength >= targsize)
-	return (-1);
-    target[datalength] = '\0';	/* Returned value doesn't count \0. */
-    return (datalength);
-}
-
-/*
- * skips all whitespace anywhere. converts characters, four at a time,
- * starting at (or after) src from base - 64 numbers into three 8 bit
- * bytes in the target area. it returns the number of data bytes stored at 
- * the target, or -1 on error.
- */
-
-int
-b64_pton(src, target, targsize)
-    char const     *src;
-    u_char         *target;
-    size_t          targsize;
-{
-    int             tarindex,
-                    state,
-                    ch;
-    char           *pos;
-
-    state = 0;
-    tarindex = 0;
-
-    while ((ch = *src++) != '\0') {
-	if (isspace(ch))	/* Skip whitespace anywhere. */
-	    continue;
-
-	if (ch == Pad64)
-	    break;
-
-	pos = strchr(Base64, ch);
-	if (pos == 0)		/* A non-base64 character. */
-	    return (-1);
-
-	switch (state) {
-	case 0:
-	    if (target) {
-		if ((size_t) tarindex >= targsize)
-		    return (-1);
-		target[tarindex] = (pos - Base64) << 2;
-	    }
-	    state = 1;
-	    break;
-	case 1:
-	    if (target) {
-		if ((size_t) tarindex + 1 >= targsize)
-		    return (-1);
-		target[tarindex] |= (pos - Base64) >> 4;
-		target[tarindex + 1] = ((pos - Base64) & 0x0f)
-		    << 4;
-	    }
-	    tarindex++;
-	    state = 2;
-	    break;
-	case 2:
-	    if (target) {
-		if ((size_t) tarindex + 1 >= targsize)
-		    return (-1);
-		target[tarindex] |= (pos - Base64) >> 2;
-		target[tarindex + 1] = ((pos - Base64) & 0x03)
-		    << 6;
-	    }
-	    tarindex++;
-	    state = 3;
-	    break;
-	case 3:
-	    if (target) {
-		if ((size_t) tarindex >= targsize)
-		    return (-1);
-		target[tarindex] |= (pos - Base64);
-	    }
-	    tarindex++;
-	    state = 0;
-	    break;
-	default:
-	    abort();
-	}
-    }
-
-    /* 
-     * We are done decoding Base-64 chars.  Let's see if we ended
-     * on a byte boundary, and/or with erroneous trailing characters.
-     */
-
-    if (ch == Pad64) {		/* We got a pad char. */
-	ch = *src++;		/* Skip it, get next. */
-	switch (state) {
-	case 0:		/* Invalid = in first position */
-	case 1:		/* Invalid = in second position */
-	    return (-1);
-
-	case 2:		/* Valid, means one byte of info */
-	    /* Skip any number of spaces. */
-	    for ((void) NULL; ch != '\0'; ch = *src++)
-		if (!isspace(ch))
-		    break;
-	    /* Make sure there is another trailing = sign. */
-	    if (ch != Pad64)
-		return (-1);
-	    ch = *src++;	/* Skip the = */
-	    /* Fall through to "single trailing =" case. */
-	    /* FALLTHROUGH */
-
-	case 3:		/* Valid, means two bytes of info */
-	    /* 
-	     * We know this char is an =.  Is there anything but
-	     * whitespace after it?
-	     */
-	    for ((void) NULL; ch != '\0'; ch = *src++)
-		if (!isspace(ch))
-		    return (-1);
-
-	    /* 
-	     * Now make sure for cases 2 and 3 that the "extra"
-	     * bits that slopped past the last full byte were
-	     * zeros.  If we don't check them, they become a
-	     * subliminal channel.
-	     */
-	    if (target && target[tarindex] != 0)
-		return (-1);
-	}
-    } else {
-	/* 
-	 * We ended by seeing the end of the string.  Make sure we
-	 * have no partial bytes lying around.
-	 */
-	if (state != 0)
-	    return (-1);
-    }
-
-    return (tarindex);
-}
diff -Nurp tin-1.9.2/libcanlock/base64.h tin-1.9.3/libcanlock/base64.h
--- tin-1.9.2/libcanlock/base64.h	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/base64.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-int             b64_pton(char *src, u_char * target, size_t targsize);
-int             b64_ntop(u_char * src, size_t srclength, char *target, size_t targsize);
diff -Nurp tin-1.9.2/libcanlock/canlock.h tin-1.9.3/libcanlock/canlock.h
--- tin-1.9.2/libcanlock/canlock.h	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/canlock.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
-unsigned char *sha_key(char *secret, int seclen, char *message, int msglen);
-unsigned char *sha_lock(char *secret, int seclen, char *message, int msglen);
-int sha_verify(unsigned char *key, unsigned char *lock);
-
-unsigned char *md5_key(char *secret, int seclen, char *message, int msglen);
-unsigned char *md5_lock(char *secret, int seclen, char *message, int msglen);
-int md5_verify(unsigned char *key, unsigned char *lock);
-
-unsigned char *lock_strip(unsigned char *key, char *type);
-unsigned char *lock_strip_alpha(unsigned char *key, char *type);
diff -Nurp tin-1.9.2/libcanlock/canlock_md5.c tin-1.9.3/libcanlock/canlock_md5.c
--- tin-1.9.2/libcanlock/canlock_md5.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/canlock_md5.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,81 +0,0 @@
-/* 
- * Functions to implement type MD5 cancel locks.  Written by Fluffy, Ruler
- * of All Usenet, and placed into the public domain.  Meow.
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include "base64.h"
-#include "md5.h"
-#include "hmac_md5.h"
-#include "canlock.h"
-
-#define BUFFSIZE 40
-
-/* 
- * Generate an MD5 cancel key.
- */
-unsigned char *
- md5_key(char *secret, int seclen, char *message, int msglen)
-{
-    unsigned char *cankey;
-    unsigned char *canlock;
-    unsigned char *hmacbuff;
-    MD5_CTX hash_ctx;
-
-    cankey = (char *) malloc(BUFFSIZE);
-
-    hmacbuff = hmac_md5(secret, seclen, message, msglen);
-    strcpy(cankey, "md5:");
-    (void) b64_ntop(hmacbuff, MD5_LENGTH, cankey + 4, BUFFSIZE);
-
-    return (cankey);
-}
-
-/* 
- * Generate an MD5 cancel lock.
- */
-unsigned char *
- md5_lock(char *secret, int seclen, char *message, int msglen)
-{
-    unsigned char *cankey, *canlock;
-    unsigned char hmacbuff[MD5_LENGTH];
-    unsigned char junk[MD5_LENGTH];
-    MD5_CTX hash_ctx;
-
-    cankey = lock_strip_alpha(md5_key(secret, seclen, message, msglen), junk);
-
-    canlock = (char *) malloc(BUFFSIZE);
-    MD5Init(&hash_ctx);
-    MD5Update(&hash_ctx, cankey, strlen(cankey));
-    MD5Final(hmacbuff, &hash_ctx);
-    strcpy(canlock, "md5:");
-    (void) b64_ntop(hmacbuff, MD5_LENGTH, canlock + 4, BUFFSIZE);
-
-    return (canlock);
-}
-
-/* 
- * Verify an SHA cancel key against a cancel lock.
- * Returns 0 on success, nonzero on failure.
- */
-int md5_verify(unsigned char *key, unsigned char *lock)
-{
-    unsigned char binkey[MD5_LENGTH + 4];
-    unsigned char templock[BUFFSIZE];
-    unsigned char hmacbuff[MD5_LENGTH];
-    MD5_CTX hash_ctx;
-    int verified;
-
-    /* Convert the key back into binary */
-    (void) b64_pton(key, binkey, (MD5_LENGTH + 4));
-
-    MD5Init(&hash_ctx);
-    MD5Update(&hash_ctx, key, strlen(key));
-    MD5Final(hmacbuff, &hash_ctx);
-    (void) b64_ntop(hmacbuff, MD5_LENGTH, templock, BUFFSIZE);
-
-    verified = strcmp(templock, lock);
-
-    return (verified);
-}
diff -Nurp tin-1.9.2/libcanlock/canlock_misc.c tin-1.9.3/libcanlock/canlock_misc.c
--- tin-1.9.2/libcanlock/canlock_misc.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/canlock_misc.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,55 +0,0 @@
-/* 
- * Functions to implement cancel locks.  Written by Fluffy, Ruler of All
- * Usenet, and placed into the public domain.  Meow.
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include "base64.h"
-
-/* 
- * Return a stripped cancel lock, that is, with the xx: prefix
- * removed, else NULL on failure.
- * type is set to the lock type, else zero on failure.
- */
-unsigned char *
- lock_strip_alpha(unsigned char *key, unsigned char *type)
-{
-    unsigned char *c;
-    unsigned char typetext[256], keyout[256];
-    int i;
-
-    strcpy(typetext, "");
-    strcpy(keyout, "");
-
-    while ((*key != ':') && (*key != '\0')) {
-	strncat(typetext, key++, 1);
-    }
-    if (*key == '\0') {
-	type = NULL;
-    } else {
-	key++;
-	for (c = key; *c != '\0'; c++) {
-	    if (*c == ':')
-		*c = '\0';
-	}
-
-	strcpy(type, typetext);
-	for (c = type; *c != '\0'; ++c) {
-	    *c = tolower(*c);
-	}
-    }
-    return (key);
-}
-
-
-/* 
- * Return a stripped cancel lock, that is, with the xx: prefix
- * removed, else NULL on failure.
- * type is set to the lock type, else zero on failure.
- */
-unsigned char *
- lock_strip(unsigned char *key, char *type)
-{
-    return (lock_strip_alpha(key, type));
-}
diff -Nurp tin-1.9.2/libcanlock/canlock_sha1.c tin-1.9.3/libcanlock/canlock_sha1.c
--- tin-1.9.2/libcanlock/canlock_sha1.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/canlock_sha1.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,81 +0,0 @@
-/* 
- * Functions to implement type SHA1 cancel locks.  Written by Fluffy, Ruler
- * of All Usenet, and placed into the public domain.  Meow.
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include "base64.h"
-#include "sha1.h"
-#include "hmac_sha1.h"
-#include "canlock.h"
-
-#define BUFFSIZE 40
-
-/* 
- * Generate an SHA1 cancel key.
- */
-unsigned char *
- sha_key(char *secret, int seclen, char *message, int msglen)
-{
-    unsigned char *cankey;
-    unsigned char *canlock;
-    unsigned char *hmacbuff;
-    SHA1_CTX hash_ctx;
-
-    cankey = (char *) malloc(BUFFSIZE);
-
-    hmacbuff = hmac_sha1(secret, seclen, message, msglen);
-    strcpy(cankey, "sha1:");
-    (void) b64_ntop(hmacbuff, SHA1_LENGTH, cankey + 5, BUFFSIZE);
-
-    return (cankey);
-}
-
-/* 
- * Generate an SHA1 cancel lock.
- */
-unsigned char *
- sha_lock(char *secret, int seclen, char *message, int msglen)
-{
-    unsigned char *cankey, *canlock;
-    unsigned char hmacbuff[SHA1_LENGTH];
-    unsigned char junk[SHA1_LENGTH];
-    SHA1_CTX hash_ctx;
-
-    cankey = lock_strip_alpha(sha_key(secret, seclen, message, msglen), junk);
-
-    canlock = (char *) malloc(BUFFSIZE);
-    SHA1Init(&hash_ctx);
-    SHA1Update(&hash_ctx, cankey, strlen(cankey));
-    SHA1Final(hmacbuff, &hash_ctx);
-    strcpy(canlock, "sha1:");
-    (void) b64_ntop(hmacbuff, SHA1_LENGTH, canlock + 5, BUFFSIZE);
-
-    return (canlock);
-}
-
-/* 
- * Verify an SHA cancel key against a cancel lock.
- * Returns 0 on success, nonzero on failure.
- */
-int sha_verify(unsigned char *key, unsigned char *lock)
-{
-    unsigned char binkey[SHA1_LENGTH + 4];
-    unsigned char templock[BUFFSIZE];
-    unsigned char hmacbuff[SHA1_LENGTH];
-    SHA1_CTX hash_ctx;
-    int verified;
-
-    /* Convert the key back into binary */
-    (void) b64_pton(key, binkey, (SHA1_LENGTH + 4));
-
-    SHA1Init(&hash_ctx);
-    SHA1Update(&hash_ctx, key, strlen(key));
-    SHA1Final(hmacbuff, &hash_ctx);
-    (void) b64_ntop(hmacbuff, SHA1_LENGTH, templock, BUFFSIZE);
-
-    verified = strcmp(templock, lock);
-
-    return (verified);
-}
diff -Nurp tin-1.9.2/libcanlock/canlocktest.c tin-1.9.3/libcanlock/canlocktest.c
--- tin-1.9.2/libcanlock/canlocktest.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/canlocktest.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,106 +0,0 @@
-/* 
- * canlocktest.c - just checking.
- * 
- * This program doesn't really do anything but lightly exercise all the
- * library functions, so you can make sure it all compiled correctly. 
- * Everything's kept simple so that you can also see how they would be
- * called in a real application.
- */
-#include <stdio.h>
-#include <sys/types.h>
-#if 0
-// #include "sha1.h"
-// #include "md5.h"
-#endif /* 0 */
-#include "canlock.h"
-
-#define BUFFSIZE 512
-
-void checker(char *key, char *lock)
-{
-    int r;
-    char *rawkey, *rawlock;
-    char keytype[BUFFSIZE], locktype[BUFFSIZE];
-
-    printf("L %s K %s ", lock, key);
-
-    rawkey = lock_strip_alpha(key, keytype);
-    rawlock = lock_strip_alpha(lock, locktype);
-
-    if (!strcmp(keytype, locktype)) {
-	if (!strcmp(keytype, "md5")) {
-	    if (!md5_verify(rawkey, rawlock))
-		printf("md5 OK\n");
-	    else
-		printf("md5 no\n");
-	} else if (!strcmp(keytype, "sha1")) {
-	    if (!sha_verify(rawkey, rawlock))
-		printf("sha1 OK\n");
-	    else
-		printf("sha1 no\n");
-	} else
-	    printf("unknown\n");
-    } else {
-	printf("Mismatch %s %s\n", keytype, locktype);
-    }
-}
-
-
-int main()
-{
-    unsigned char cankey[256];
-    unsigned char canlock[256];
-    unsigned char *lkey, *llock;
-    unsigned char secret[] = "fluffy";
-    unsigned char message[] = "<lkr905851929.22670@meow.invalid>";
-    unsigned char junk[32], junk2[32];
-
-    printf("Secret %s\n", secret);
-    printf("Message %s\n", message);
-
-    llock = sha_lock(secret, strlen(secret), message, strlen(message));
-    lkey = sha_key(secret, strlen(secret), message, strlen(message));
-
-    printf("%s%s %s\n", "SHA Expect Lock/Key:\n",
-	   "L sha1:ScU1gyAi9bd/aFEOyzg4m99lwXs=",
-	   "K sha1:C1Me/4n0l/V778Ih3J2UnhAoHrA=");
-
-    checker(lkey, llock);
-    printf("---\n");
-
-    llock = md5_lock(secret, strlen(secret), message, strlen(message));
-    lkey = md5_key(secret, strlen(secret), message, strlen(message));
-
-    printf("%s%s %s\n", "MD5 Expect Lock/Key:\n",
-	   "L md5:equ7DQVveXcZpqwCiMflmQ==",
-	   "K md5:ByhbX+72NZC1xZdiPBNTOQ==");
-
-    checker(lkey, llock);
-    printf("---\n");
-
-    printf("Testing against usefor cancel lock draft 01 samples...\n");
-
-	sprintf(canlock, "%s", "sha1:bNXHc6ohSmeHaRHHW56BIWZJt+4=");
-    sprintf(cankey, "%s", "sha1:aaaBBBcccDDDeeeFFF");
-    checker(cankey, canlock);
-    printf("---above should have been ok---\n");
-
-    sprintf(canlock, "%s", "SHA1:H7/zsCUemvbvSDyARDaMs6AQu5s=");
-    sprintf(cankey, "%s", "sha1:chW8hNeDx3iNUsGBU6/ezDk88P4=");
-    checker(cankey, canlock);
-
-    sprintf(canlock, "%s", "SHA1:H7/zsCUemvbvSDyARDaMs6AQu5s=");
-    sprintf(cankey, "%s", "sha1:4srkWaRIzvK51ArAP:Hc");
-    checker(cankey, canlock);
-    printf("---above should have been okay, no---\n");
-
-    sprintf(canlock, "%s", "sha1:JyEBL4w9/abCBuzCxMIE/E73GM4=");
-    sprintf(cankey, "%s", "sha1:K4rkWRjRcXmIzvK51ArAP:Jy");
-    checker(cankey, canlock);
-
-    sprintf(canlock, "%s", "sha1:2Bmg+zWaY1noRiCdy8k3IapwSDU=");
-    sprintf(cankey, "%s", "sha1:K4rkWRjRcXmIzvK51ArAP:Jy");
-    checker(cankey, canlock);
-    printf("---above should have been okay, no---\n");
-    exit(0);
-}
diff -Nurp tin-1.9.2/libcanlock/endian.c tin-1.9.3/libcanlock/endian.c
--- tin-1.9.2/libcanlock/endian.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/endian.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,115 +0,0 @@
-/* @(#)endian.c	12.1 17 Nov 1995 04:22:20 */
-/*
- * endian - Determine the byte order of a long on your machine.
- *
- * Big Endian:	    Amdahl, 68k, Pyramid, Mips, Sparc, ...
- * Little Endian:   Vax, 32k, Spim (Dec Mips), i386, i486, ...
- *
- * This makefile was written by:
- *
- *	 Landon Curt Noll  (chongo@toad.com)	chongo <was here> /\../\
- *
- * This code has been placed in the public domain.  Please do not 
- * copyright this code.
- *
- * LANDON CURT NOLL DISCLAIMS ALL WARRANTIES WITH  REGARD  TO
- * THIS  SOFTWARE,  INCLUDING  ALL IMPLIED WARRANTIES OF MER-
- * CHANTABILITY AND FITNESS.  IN NO EVENT SHALL  LANDON  CURT
- * NOLL  BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM  LOSS  OF
- * USE,  DATA  OR  PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR  IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * See shsdrvr.c and md5drvr.c for version and modification history.
- *
- * Modified by Clayton O'Neill <coneill@oneill.net> to determine
- * endianness and if longs must be aligned.  
- */
-
-#include <stdio.h>
-#include <signal.h>
-#include <sys/types.h>
-/*#include <configdata.h>*/
-/*#include <clibrary.h>*/
-
-/*
- * buserr - catch an alignment error
- */
-void buserr(int dummy)
-{
-    /* alignment is required */
-    printf("#define MUST_ALIGN\n");
-    exit(0);
-}
-
-/*
- * some compiler recognize the code unwantedly
- * to avoid this the code is separated and call store() and load_and_store()
- */
-void
-store(unsigned long *p, unsigned long val)
-{
-    *p = val;
-}
-void
-load_and_store(unsigned long *p, unsigned long val)
-{
-    *p += val;
-}
-
-
-/* byte order array */
-char byte[8] = { (char)0x12, (char)0x36, (char)0x48, (char)0x59,
-		 (char)0x01, (char)0x23, (char)0x45, (char)0x67 };
-
-int main()
-{
-    /* pointers into the byte order array */
-    int *intp = (int *)byte;
-    char byte[2*sizeof(unsigned long)];	/* mis-alignment buffer */
-    unsigned long *p;	/* mis-alignment pointer */
-    int i;
-
-    /* Print the standard <machine/endian.h> defines */
-    /* printf("#define BIG_ENDIAN\t4321\n"); */
-    /* printf("#define LITTLE_ENDIAN\t1234\n"); */
-	printf("#undef LITTLE_ENDIAN\n");
-	printf("#undef BIG_ENDIAN\n");
-
-    /* Determine byte order */
-    if (intp[0] == 0x12364859) {
-	/* Most Significant Byte first */
-	/* printf("#define BYTE_ORDER\tBIG_ENDIAN\n"); */
-	printf("#define BIG_ENDIAN\n");
-    } else if (intp[0] == 0x59483612) {
-	/* Least Significant Byte first */
-	/* printf("#define BYTE_ORDER\tLITTLE_ENDIAN\n"); */
-	printf("#define LITTLE_ENDIAN\n");
-    } else {
-	fprintf(stderr, "Unknown int Byte Order, set BYTE_ORDER in Makefile\n");
-	exit(1);
-    }
-
-#if !defined(MUST_ALIGN) && !defined(__alpha__) && !defined(__alpha)
-    /* setup to catch alignment bus errors */
-    signal(SIGBUS, buserr);
-    signal(SIGSEGV, buserr);	/* some systems will generate SEGV instead! */
-
-    /* mis-align our long fetches */
-    for (i=0; i < sizeof(long); ++i) {
-	p = (unsigned long *)(byte+i);
-	store(p, i);
-	load_and_store(p, 1);
-    }
-
-    /* if we got here, then we can mis-align longs */
-    printf("#undef MUST_ALIGN\n");
-
-#else
-    /* force alignment */
-    printf("#define MUST_ALIGN\n");
-#endif
-
-    exit(0);
-}
diff -Nurp tin-1.9.2/libcanlock/hmac_md5.c tin-1.9.3/libcanlock/hmac_md5.c
--- tin-1.9.2/libcanlock/hmac_md5.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/hmac_md5.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,75 +0,0 @@
-/* 
- * Functions to implement RFC-2104 (HMAC with MD5 hashes).
- * Written by Fluffy, Ruler of All Usenet,
- * and placed into the public domain.
- * Meow.
- */
-
-#include <stdio.h>
-#include "md5.h"
-
-#define ipad 0x36;
-#define opad 0x5c;
-
-/* 
- * Encode a string using HMAC - see RFC-2104 for details.
- */
-unsigned char *
- hmac_md5(K, Klen, T, Tlen)
-unsigned char *K;		/* key */
-int Klen;			/* and it size */
-unsigned char *T;		/* text to encode */
-int Tlen;			/* and its size */
-{
-    MD5_CTX hash_ctx;
-    unsigned char keyin[MD5_LENGTH];
-    unsigned char *step2;
-    unsigned char step4[MD5_LENGTH];
-    unsigned char step5[MD5_BLOCK + MD5_LENGTH];
-    unsigned char *hmac_out;
-    unsigned char *c;
-    int i;
-    int j;
-    int k;
-
-    MD5Init(&hash_ctx);
-
-    /* If the key is bigger than MD5_BLOCK we need to hash it. */
-    if (Klen > MD5_BLOCK) {
-	MD5Update(&hash_ctx, K, Klen);
-	MD5Final(keyin, &hash_ctx);
-	Klen = MD5_LENGTH;
-    } else {
-	memcpy(keyin, K, Klen);
-    }
-
-    step2 = (char *) malloc(Tlen + MD5_BLOCK);
-
-    c = keyin;
-    for (i = 0; i < Klen; i++) {
-	step2[i] = *c ^ ipad;
-	step5[i] = *c ^ opad;
-	c++;
-    }
-
-    for (j = i; j < MD5_BLOCK; j++) {
-	step2[j] = ipad;
-	step5[j] = opad;
-    }
-
-    memcpy(&step2[MD5_BLOCK], T, Tlen);
-
-    MD5Init(&hash_ctx);
-    MD5Update(&hash_ctx, step2, MD5_BLOCK + Tlen);
-    MD5Final(step4, &hash_ctx);
-
-    memcpy(&step5[MD5_BLOCK], step4, MD5_LENGTH);
-
-    hmac_out = (char *) malloc(MD5_LENGTH);
-
-    MD5Init(&hash_ctx);
-    MD5Update(&hash_ctx, step5, MD5_LENGTH + MD5_BLOCK);
-    MD5Final(hmac_out, &hash_ctx);
-
-    return hmac_out;
-}
diff -Nurp tin-1.9.2/libcanlock/hmac_md5.h tin-1.9.3/libcanlock/hmac_md5.h
--- tin-1.9.2/libcanlock/hmac_md5.h	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/hmac_md5.h	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-unsigned char *hmac_md5(unsigned char *K, int Klen, unsigned char *T, int Tlen);
diff -Nurp tin-1.9.2/libcanlock/hmac_sha1.c tin-1.9.3/libcanlock/hmac_sha1.c
--- tin-1.9.2/libcanlock/hmac_sha1.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/hmac_sha1.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,74 +0,0 @@
-/* 
- * Functions to implement RFC-2104 (HMAC with SHA-1 hashes).
- * Written by Fluffy, Ruler of All Usenet,
- * and placed into the public domain.
- * Meow.
- */
-
-#include <stdio.h>
-#include "sha1.h"
-
-#define ipad 0x36
-#define opad 0x5c
-
-/* 
- * Encode a string using HMAC - see RFC-2104 for details.
- */
-unsigned char *
- hmac_sha1(K, Klen, T, Tlen)
-unsigned char *K;		/* key */
-int Klen;			/* and it size */
-unsigned char *T;		/* text to encode */
-int Tlen;			/* and its size */
-{
-    SHA1_CTX hash_ctx, hash_ctx2;
-    unsigned char keyin[SHA1_LENGTH];
-    unsigned char *step2;
-    unsigned char step4[SHA1_LENGTH];
-    unsigned char step5[SHA1_BLOCK + SHA1_LENGTH];
-    unsigned char *hmac_out;
-    unsigned char *c;
-    int i;
-    int j;
-    int k;
-
-    SHA1Init(&hash_ctx);
-
-    /* If the key is bigger than SHA1_BLOCK we need to hash it. */
-    if (Klen > SHA1_BLOCK) {
-	SHA1Update(&hash_ctx, K, Klen);
-	SHA1Final(keyin, &hash_ctx);
-	Klen = SHA1_LENGTH;
-    } else {
-	memcpy(keyin, K, Klen);
-    }
-
-    step2 = (char *) malloc(Tlen + SHA1_BLOCK);
-
-    c = keyin;
-    for (i = 0; i < Klen; i++) {
-	step2[i] = *c ^ ipad;
-	step5[i] = *c ^ opad;
-	c++;
-    }
-    for (j = i; j < SHA1_BLOCK; j++) {
-	step2[j] = 0x36;
-	step5[j] = opad;
-    }
-
-    memcpy(&step2[SHA1_BLOCK], T, Tlen);
-
-    SHA1Init(&hash_ctx);
-    SHA1Update(&hash_ctx, step2, SHA1_BLOCK + Tlen);
-    SHA1Final(step4, &hash_ctx);
-
-    memcpy(&step5[SHA1_BLOCK], step4, SHA1_LENGTH);
-
-    hmac_out = (unsigned char *) malloc(SHA1_LENGTH);
-
-    SHA1Init(&hash_ctx);
-    SHA1Update(&hash_ctx, step5, SHA1_BLOCK + SHA1_LENGTH);
-    SHA1Final(hmac_out, &hash_ctx);
-
-    return hmac_out;
-}
diff -Nurp tin-1.9.2/libcanlock/hmac_sha1.h tin-1.9.3/libcanlock/hmac_sha1.h
--- tin-1.9.2/libcanlock/hmac_sha1.h	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/hmac_sha1.h	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-unsigned char *hmac_sha1(unsigned char *K, int Klen, unsigned char *T, int Tlen);
diff -Nurp tin-1.9.2/libcanlock/hmactest.c tin-1.9.3/libcanlock/hmactest.c
--- tin-1.9.2/libcanlock/hmactest.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/hmactest.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,154 +0,0 @@
-/*
- * hmac test program
- */
-
-#include <stdio.h>
-#include "sha1.h"
-#include "hmac_sha1.h"
-#include "md5.h"
-#include "hmac_md5.h"
-
-main()
-{
-    unsigned char *hmachash, *md5hash;
-    unsigned char key1[] = "Jefe";
-    unsigned char message1[] = "what do ya want for nothing?";
-    unsigned char key2[20];
-    unsigned char message2[] = "Hi There";
-    unsigned char key3[80];
-    unsigned char message3[] =
-    "Test Using Larger Than Block-Size Key - Hash Key First";
-    unsigned char key4[80];
-    unsigned char message4[] =
-    "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data";
-    int i;
-    unsigned char key5[] =
-    {
-	0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
-	0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
-	0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x00
-    };
-    unsigned char message5[50];
-
-    unsigned char j;
-
-
-    for (i = 0; i < 20; i++)
-	key2[i] = 0x0b;
-
-    for (i = 0; i < 80; i++)
-	key3[i] = 0xaa;
-
-    for (i = 0; i < 80; i++)
-	key4[i] = 0xaa;
-
-    for (i = 0; i < 50; i++)
-	message5[i] = (unsigned char) 0xcd;
-
-    printf("Key: %s\n", key1);
-    printf("Msg: %s\n", message1);
-    hmachash = hmac_sha1(key1, strlen(key1), message1, strlen(message1));
-    printf("Expected SHA Digest: %s\n",
-	   "0xeffcdf6ae5eb2fa2d27416d5f184df9c259a7c79");
-    printf("  Actual SHA Digest: 0x");
-    for (i = 0; i < SHA1_LENGTH; i++)
-	printf("%02x", hmachash[i]);
-    putchar('\n');
-
-
-    md5hash = hmac_md5(key1, strlen(key1), message1, strlen(message1));
-    printf("Expected MD5 Digest: %s\n",
-	   "0x750c783e6ab0b503eaa86e310a5db738");
-    printf("  Actual MD5 Digest: 0x");
-    for (i = 0; i < MD5_LENGTH; i++)
-	printf("%02x", md5hash[i]);
-    putchar('\n');
-
-
-/********/
-    printf("\nKey: 0x0b, len 20 for SHA, 16 for MD5\n");
-    printf("Msg: %s\n", message2);
-
-
-    hmachash = hmac_sha1(key2, 20, message2, strlen(message2));
-    printf("Expected SHA Digest: %s\n",
-	   "0xb617318655057264e28bc0b6fb378c8ef146be00");
-    printf("  Actual SHA Digest: 0x");
-    for (i = 0; i < SHA1_LENGTH; i++)
-	printf("%02x", hmachash[i]);
-    putchar('\n');
-
-
-    md5hash = hmac_md5(key2, 16, message2, strlen(message2));
-    printf("Expected MD5 Digest: %s\n",
-	   "0x9294727a3638bb1c13f48ef8158bfc9d");
-    printf("  Actual MD5 Digest: 0x");
-    for (i = 0; i < MD5_LENGTH; i++)
-	printf("%02x", md5hash[i]);
-    putchar('\n');
-
-/********/
-    printf("\nKey: 0xaa repeated 80 times\n");
-    printf("Msg: %s\n", message3);
-
-    hmachash = hmac_sha1(key3, 80, message3, strlen(message3));
-    printf("Expected SHA Digest: %s\n",
-	   "0xaa4ae5e15272d00e95705637ce8a3b55ed402112");
-    printf("  Actual SHA Digest: 0x");
-    for (i = 0; i < SHA1_LENGTH; i++)
-	printf("%02x", hmachash[i]);
-    putchar('\n');
-
-    md5hash = hmac_md5(key3, 80, message3, strlen(message3));
-    printf("Expected MD5 Digest: %s\n",
-	   "0x6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd");
-    printf("  Actual MD5 Digest: 0x");
-    for (i = 0; i < MD5_LENGTH; i++)
-	printf("%02x", md5hash[i]);
-    putchar('\n');
-
-/********/
-    printf("\nKey: 0xaa repeated 80 times\n");
-    printf("Msg: %s\n", message4);
-
-    hmachash = hmac_sha1(key4, 80, message4, strlen(message4));
-    printf("Expected SHA Digest: %s\n",
-	   "0xe8e99d0f45237d786d6bbaa7965c7808bbff1a91");
-    printf("  Actual SHA Digest: 0x");
-    for (i = 0; i < SHA1_LENGTH; i++)
-	printf("%02x", hmachash[i]);
-    putchar('\n');
-
-    md5hash = hmac_md5(key4, 80, message4, strlen(message4));
-    printf("Expected MD5 Digest: %s\n",
-	   "0x6f630fad67cda0ee1fb1f562db3aa53e");
-    printf("  Actual MD5 Digest: 0x");
-    for (i = 0; i < MD5_LENGTH; i++)
-	printf("%02x", md5hash[i]);
-    putchar('\n');
-
-/********/
-    printf("\nKey: 0x");
-    for (i = 0; i < 25; i++)
-	printf("%02x", key5[i]);
-
-    printf("\nMsg: 0xcd repeated 50 times\n");
-
-    hmachash = hmac_sha1(key5, 25, message5, 50);
-    printf("Expected SHA Digest: %s\n",
-	   "0x4c9007f4026250c6bc8414f9bf50c86c2d7235da");
-    printf("  Actual SHA Digest: 0x");
-    for (i = 0; i < SHA1_LENGTH; i++)
-	printf("%02x", hmachash[i]);
-    putchar('\n');
-
-    md5hash = hmac_md5(key5, 25, message5, 50);
-    printf("Expected MD5 Digest: %s\n",
-	   "0x697eaf0aca3a3aea3a75164746ffaa79");
-    printf("  Actual MD5 Digest: 0x");
-    for (i = 0; i < MD5_LENGTH; i++)
-	printf("%02x", md5hash[i]);
-    putchar('\n');
-
-exit(0);
-}
diff -Nurp tin-1.9.2/libcanlock/include/base64.h tin-1.9.3/libcanlock/include/base64.h
--- tin-1.9.2/libcanlock/include/base64.h	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/include/base64.h	2008-03-14 10:21:40.000000000 +0100
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 1995, 1996, 1997 Kungliga Tekniska Hšgskolan
+ * (Royal Institute of Technology, Stockholm, Sweden).
+ * All rights reserved.
+ * 
+ * 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 Institute 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 INSTITUTE 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 INSTITUTE 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.
+ */
+
+/* $Id: base64.h,v 1.2 1999/12/02 16:58:45 joda Exp $ */
+
+#ifndef _BASE64_H_
+#define _BASE64_H_
+
+size_t base64_encode(const void *data, int size, char **str);
+size_t base64_decode(const char *str, void *data);
+
+#endif
diff -Nurp tin-1.9.2/libcanlock/include/canlock.h tin-1.9.3/libcanlock/include/canlock.h
--- tin-1.9.2/libcanlock/include/canlock.h	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/include/canlock.h	2008-03-14 10:21:40.000000000 +0100
@@ -0,0 +1,8 @@
+char *sha_key(const unsigned char *secret, size_t seclen,
+              const unsigned char *message, size_t msglen);
+char *sha_lock(const unsigned char *secret, size_t seclen,
+               const unsigned char *message, size_t msglen);
+int sha_verify(const char *key, const char *lock);
+
+char *lock_strip_alpha(const char *key, char *type);
+char *lock_strip(const char *key, char *type);
diff -Nurp tin-1.9.2/libcanlock/include/hmac_sha1.h tin-1.9.3/libcanlock/include/hmac_sha1.h
--- tin-1.9.2/libcanlock/include/hmac_sha1.h	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/include/hmac_sha1.h	2008-03-14 10:21:41.000000000 +0100
@@ -0,0 +1,2 @@
+unsigned char *hmac_sha1(const unsigned char *K, int Klen,
+                         const unsigned char *T, int Tlen);
diff -Nurp tin-1.9.2/libcanlock/include/sha1.h tin-1.9.3/libcanlock/include/sha1.h
--- tin-1.9.2/libcanlock/include/sha1.h	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/include/sha1.h	2008-03-14 10:21:41.000000000 +0100
@@ -0,0 +1,50 @@
+#ifndef _SHA1_H_
+#define _SHA1_H_
+
+/* The SHA block size and message digest sizes, in bytes */
+
+#define SHA_DATASIZE    64
+#define SHA_DATALEN     16
+#define SHA_DIGESTSIZE  20
+#define SHA_DIGESTLEN    5
+/* The structure for storing SHA info */
+
+#include <stdint.h>
+
+typedef struct sha_ctx {
+  uint32_t digest[SHA_DIGESTLEN];  /* Message digest */
+  uint32_t count_l, count_h;       /* 64-bit block count */
+  uint8_t block[SHA_DATASIZE];     /* SHA data buffer */
+  int index;                             /* index into buffer */
+  int finalized;
+} SHA_CTX;
+
+int sha_init(struct sha_ctx *ctx);
+int sha_update(struct sha_ctx *ctx, const uint8_t *buffer, uint32_t len);
+void sha_final(struct sha_ctx *ctx);
+int sha_digest(struct sha_ctx *ctx, uint8_t *s);
+void sha_copy(struct sha_ctx *dest, struct sha_ctx *src);
+
+#if 1
+
+#ifndef EXTRACT_UCHAR
+#define EXTRACT_UCHAR(p)  (*(unsigned char *)(p))
+#endif
+
+#define STRING2INT(s) ((((((EXTRACT_UCHAR(s) << 8)    \
+			 | EXTRACT_UCHAR(s+1)) << 8)  \
+			 | EXTRACT_UCHAR(s+2)) << 8)  \
+			 | EXTRACT_UCHAR(s+3))
+#else
+uint32_t STRING2INT(uint8_t *s)
+{
+  uint32_t r;
+  int i;
+  
+  for (i = 0, r = 0; i < 4; i++, s++)
+    r = (r << 8) | *s;
+  return r;
+}
+#endif
+
+#endif
diff -Nurp tin-1.9.2/libcanlock/main.c tin-1.9.3/libcanlock/main.c
--- tin-1.9.2/libcanlock/main.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/main.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,424 +0,0 @@
-/* 
-   rmd.c
-   RIPEMD-160 generate and check utility
-   by Po Shan Cheah, Copyright (c) 1997
-   You may distribute this program freely provided this notice
-   is retained. 
-
-   January 5, 1997:
-   Initial release.
-
-*/
-
-#include "rmd160.h"
-#include <ctype.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#define BUFLEN 4096
-#define RMDBITS 160
-
-int binary_mode = 0;
-int verbose_mode = 0;
-char *progname = "";
-
-int prog_rc = 0;
-
-void setrc(int newrc) {
-  
-  /* raises but never lowers the program return code to newrc */
-
-  if (newrc > prog_rc)
-    prog_rc = newrc;
-}
-
-int cvthex(char c) {
-  /* convert a hex digit to an integer */
-
-  c = toupper(c);
-
-  if (c >= 'A' && c <= 'F')
-    return c - 'A' + 10;
-
-  return c - '0';
-}
-
-int hexdigit(char c) {
-  /* returns true if character is a hexadecimal digit */
-
-  return 
-    (c >= '0' && c <= '9') ||
-      (toupper(c) >= 'A' && toupper(c) <= 'F');
-}
-
-#define ESCAPE '%'
-
-char *encodestr(char *instr) {
-  /* replace unprintable characters and % itself with %HH */
-
-  static char buf[BUFLEN];
-  char *outstr = buf;
-
-  for ( ; *instr; ++instr) {
-    if (isprint(*instr) && !isspace(*instr) && *instr != ESCAPE)
-      *outstr++ = *instr;
-    else {
-      sprintf(outstr, "%%%02x", *instr);
-      outstr += 3;
-    }
-  } 
-  *outstr = '\0';
-  return buf;
-}
-
-char *decodestr(char *instr) {
-  /* undo what encodestr did */
-
-  static char buf[BUFLEN];
-  char *outstr = buf;
-
-  while (*instr) {
-    if (*instr == ESCAPE &&
-	hexdigit(instr[1]) &&
-	hexdigit(instr[2])) {
-      *outstr++ = cvthex(instr[1]) << 4 | cvthex(instr[2]);
-      instr += 3;
-    }
-    else 
-      *outstr++ = *instr ++;
-  }
-  *outstr = '\0';
-  return buf;
-}
-
-void pack_chunk(word *chunk, byte *buf) {
-  /* pack 64 bytes into 16 little-endian 32-bit words */
-
-  int j;
-
-  for (j = 0; j < 16; ++j, buf += 4)
-    *chunk++ = (word) buf[0] | (word) buf[1] << 8 | 
-      (word) buf[2] << 16 | (word) buf[3] << 24 ;
-}
-
-byte *rmdfp(char *fname, FILE *fp) {
-  /* calculate the message digest of a file
-     and return it in string form */
-
-  int bytesread;
-  int i;
-  word tmp;
-  word chunk[16];
-  char buf[BUFLEN];
-  word length[2];
-  word mdbuf[RMDBITS / 32];
-  static byte code[RMDBITS / 8];
-
-  length[0] = length[1] = 0;
-  MDinit(mdbuf);
-
-  /* do all full BUFLEN portions */
-
-  while ((bytesread = fread(buf, 1, BUFLEN, fp)) == BUFLEN) {
-
-    for (i = 0; i < BUFLEN; i += 64) {
-      pack_chunk(chunk, buf + i);
-      MDcompress(mdbuf, chunk);
-    }
-
-    if ((tmp = length[0] + bytesread) < length[0])
-      ++ length[1];	/* overflow */
-    length[0] = tmp;
-  }
-
-  if (ferror(fp)) {
-    fprintf(stderr, "%s: %s\n", fname, strerror(errno));
-    setrc(2);
-    return NULL;
-  }
-
-  /* do all the remaining 64-byte blocks */
-
-  for (i = 0; i < bytesread - 63; i += 64) {
-    pack_chunk(chunk, buf + i);
-    MDcompress(mdbuf, chunk);
-  }
-
-  if ((tmp = length[0] + bytesread) < length[0])
-    ++ length[1];	/* overflow */
-  length[0] = tmp;
-
-  /* do the last partial or zero length block */
-
-  MDfinish(mdbuf, buf + i, length[0] << 3,
-	   length[0] >> 29 | length[1] << 3);
-
-  /* convert to 64-byte string using little-endian conversion */
-
-  for (i = 0; i < RMDBITS / 8; i += 4) {
-
-    word wd = mdbuf[i >> 2];
-
-    code[i] = (byte) (wd);
-    code[i + 1] = (byte) (wd >> 8);
-    code[i + 2] = (byte) (wd >> 16);
-    code[i + 3] = (byte) (wd >> 24);
-  }
-
-  return code;
-}
-
-void printcode(byte *code) {
-  /* print a RIPEMD-160 code */
-  
-  int i;
-
-  for (i = 0; i < RMDBITS / 8; ++i)
-    printf("%02x", code[i]);
-}
-
-byte *rmdfile(char *fname) {
-  /* calculate the message digest of a single file
-     and output the digest followed by the file name */
-
-  FILE *fp;
-
-  fp = fopen(fname, binary_mode ? "rb" : "r");
-  if (fp == NULL) {
-    fprintf(stderr, "%s: %s\n", fname, strerror(errno));
-    setrc(2);
-    return NULL;
-  }
-
-  else {
-    byte *code = rmdfp(fname, fp);
-    fclose(fp);
-    return code;
-  }
-}
-
-int checkdigest(char *digest) {
-  /* returns true if string is a valid message digest string */
-
-  if (strlen(digest) != RMDBITS / 8 * 2)
-    return 0;
-
-  for ( ; *digest; ++digest) {
-    if ( ! hexdigit(*digest))
-      return 0;
-  }
-
-  return 1;
-}
-
-void stringtocode(byte *code, char *str) {
-  /* convert message digest string into 20 byte code */
-
-  int i;
-
-  for (i = 0; i < RMDBITS / 8; ++i, str += 2)
-    *code++ = cvthex(str[0]) << 4 | cvthex(str[1]);
-}
-
-void checkfp(char *fname, FILE *fp) {
-  /* check message digests. message digest data comes from 
-     the given open file handle. */
-
-  int lineno = 0;
-  int nfail = 0;
-  int nfile = 0;
-  char *filename;
-  byte *code;
-  byte inputcode[RMDBITS / 8];
-  char line[BUFLEN];
-  char digest[BUFLEN];
-  char infilename[BUFLEN];
-
-  while (fgets(line, BUFLEN, fp)) {
-
-    ++lineno;
-
-    /* error checking */
-
-    if (sscanf(line, "%s%s", digest, infilename) < 2) {
-      fprintf(stderr, "%s: invalid input on line %d\n",
-	      progname, lineno);
-      setrc(2);
-      continue;
-    }
-
-    if (!checkdigest(digest)) {
-      fprintf(stderr, "%s: invalid message digest on line %d\n", 
-	      progname, lineno);
-      setrc(2);
-      continue;
-    }
-
-    stringtocode(inputcode, digest);
-
-    /* calculate message digest for file */
-
-    filename = decodestr(infilename);
-
-    code = rmdfile(filename);
-    if (code) {
-
-      ++nfile;
-
-      /* compare digests */
-
-      if (memcmp(inputcode, code, RMDBITS / 8) != 0) {
-	++nfail;
-	setrc(1);
-
-	if (verbose_mode)
-	  printf("FAILED   %s\n", filename);
-	else
-	  printf("%s: RIPEMD-160 check failed for `%s'\n",
-		 progname, filename);
-      }
-
-      else {
-	if (verbose_mode)
-	  printf("GOOD     %s\n", filename);
-      }
-    }
-  }
-
-  if (verbose_mode && nfail)
-    printf("%s: %d of %d file(s) failed RIPEMD-160 check\n", 
-	   progname, nfail, nfile);
-
-  if (ferror(fp)) {
-    fprintf(stderr, "%s: %s\n", fname, strerror(errno));
-    setrc(2);
-  }
-} 
-
-void checkfile(char *fname) {
-  /* check message digests. message digest data comes from 
-     the named file. */
-
-  FILE *fp;
-
-  fp = fopen(fname, "r");
-  if (fp == NULL) {
-    fprintf(stderr, "%s: %s\n", fname, strerror(errno));
-    setrc(2);
-  }
-
-  else {
-    checkfp(fname, fp);
-    fclose(fp);
-  }
-}
-
-int main(int argc, char *argv[]) {
-
-  int c;
-  int check_mode = 0;
-
-  progname = argv[0];
-
-  /* parse command line arguments */
-
-  while ((c = getopt(argc, argv, "bcvh")) >= 0) {
-
-    switch (c) {
-
-    case 'b':
-      binary_mode = 1;
-      break;
-
-    case 'c':
-      check_mode = 1;
-      break;
-
-    case 'v':
-      verbose_mode = 1;
-      break;
-
-    case 'h':
-    case ':':
-    case '?':
-      printf("Usage: %s [-b] [-c] [-v] [<file>...]\n"
-	     "Generates or checks RIPEMD-160 message digests\n"
-	     "    -b  read files in binary mode\n"
-	     "    -c  check message digests\n"
-	     "    -v  verbose, print file names while checking\n\n"
-	     "If -c is not specified, then one message digest is "
-	     "generated per file\n"
-	     "and sent to standard output. If no files are specified "
-	     "then input is\n"
-	     "taken from standard input and only one message digest "
-	     "will be\n"
-	     "generated.\n\n"
-	     "If -c is specified then message digests for a list of "
-	     "files are\n"
-	     "checked. The input should be a table in the same format "
-	     "as the output\n"
-	     "of this program when message digests are generated. If a "
-	     "file is\n"
-	     "specified then the message digest table is read from that "
-	     "file. If no\n"
-	     "file is specified, then the message digest table is read "
-	     "from standard\n"
-	     "input.\n", progname);
-      exit(0);
-    }
-  }
-
-  if (check_mode) {
-
-    if (optind < argc) {
-
-      /* check using data from file named on command line */
-
-      checkfile(argv[optind]);
-
-    }
-
-    else {
-
-      /* check using data from standard input */
-
-      checkfp("(stdin)", stdin);
-
-    }
-  }
-
-  else {
-
-    if (optind < argc) {
-
-      /* process file arguments */
-
-      for ( ; optind < argc; ++optind) {
-
-	byte *code = rmdfile(argv[optind]);
-
-	if (code) {
-	  printcode(code);      
-	  printf("  %s\n", encodestr(argv[optind]));
-	}
-      }
-    }
-
-    else {
-
-      /* no file arguments so take input from stdin */
-
-      byte *code = rmdfp("(stdin)", stdin);
-
-      if (code) {
-	printcode(code); 
-	printf("\n");
-      }
-    }
-  }
-
-  return prog_rc;
-}
diff -Nurp tin-1.9.2/libcanlock/md5.c tin-1.9.3/libcanlock/md5.c
--- tin-1.9.2/libcanlock/md5.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/md5.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,253 +0,0 @@
-/*
- * This code implements the MD5 message-digest algorithm.
- * The algorithm is due to Ron Rivest.  This code was
- * written by Colin Plumb in 1993, no copyright is claimed.
- * This code is in the public domain; do with it what you wish.
- *
- * Equivalent code is available from RSA Data Security, Inc.
- * This code has been tested against that, and is equivalent,
- * except that you don't need to include two pages of legalese
- * with every copy.
- *
- * To compute the message digest of a chunk of bytes, declare an
- * MD5Context structure, pass it to MD5Init, call MD5Update as
- * needed on buffers full of bytes, and then call MD5Final, which
- * will fill a supplied 16-byte array with the digest.
- */
-#include <string.h>		/* for memcpy() */
-#include "endian.h"
-#include "md5.h"
-
-#ifdef LITTLE_ENDIAN
-#define byteReverse(buf, len)	/* Nothing */
-#else
-void byteReverse(unsigned char *buf, unsigned longs);
-
-#ifndef ASM_MD5
-/*
- * Note: this code is harmless on little-endian machines.
- */
-void byteReverse(unsigned char *buf, unsigned longs)
-{
-    uint32 t;
-    do {
-	t = (uint32) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
-	    ((unsigned) buf[1] << 8 | buf[0]);
-	*(uint32 *) buf = t;
-	buf += 4;
-    } while (--longs);
-}
-#endif
-#endif
-
-/*
- * Start MD5 accumulation.  Set bit count to 0 and buffer to mysterious
- * initialization constants.
- */
-void MD5Init(struct MD5Context *ctx)
-{
-    ctx->buf[0] = 0x67452301;
-    ctx->buf[1] = 0xefcdab89;
-    ctx->buf[2] = 0x98badcfe;
-    ctx->buf[3] = 0x10325476;
-
-    ctx->bits[0] = 0;
-    ctx->bits[1] = 0;
-}
-
-/*
- * Update context to reflect the concatenation of another buffer full
- * of bytes.
- */
-void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
-{
-    uint32 t;
-
-    /* Update bitcount */
-
-    t = ctx->bits[0];
-    if ((ctx->bits[0] = t + ((uint32) len << 3)) < t)
-	ctx->bits[1]++;		/* Carry from low to high */
-    ctx->bits[1] += len >> 29;
-
-    t = (t >> 3) & 0x3f;	/* Bytes already in shsInfo->data */
-
-    /* Handle any leading odd-sized chunks */
-
-    if (t) {
-	unsigned char *p = (unsigned char *) ctx->in + t;
-
-	t = 64 - t;
-	if (len < t) {
-	    memcpy(p, buf, len);
-	    return;
-	}
-	memcpy(p, buf, t);
-	byteReverse(ctx->in, 16);
-	MD5Transform(ctx->buf, (uint32 *) ctx->in);
-	buf += t;
-	len -= t;
-    }
-    /* Process data in 64-byte chunks */
-
-    while (len >= 64) {
-	memcpy(ctx->in, buf, 64);
-	byteReverse(ctx->in, 16);
-	MD5Transform(ctx->buf, (uint32 *) ctx->in);
-	buf += 64;
-	len -= 64;
-    }
-
-    /* Handle any remaining bytes of data. */
-
-    memcpy(ctx->in, buf, len);
-}
-
-/*
- * Final wrapup - pad to 64-byte boundary with the bit pattern 
- * 1 0* (64-bit count of bits processed, MSB-first)
- */
-void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
-{
-    unsigned count;
-    unsigned char *p;
-
-    /* Compute number of bytes mod 64 */
-    count = (ctx->bits[0] >> 3) & 0x3F;
-
-    /* Set the first char of padding to 0x80.  This is safe since there is
-       always at least one byte free */
-    p = ctx->in + count;
-    *p++ = 0x80;
-
-    /* Bytes of padding needed to make 64 bytes */
-    count = 64 - 1 - count;
-
-    /* Pad out to 56 mod 64 */
-    if (count < 8) {
-	/* Two lots of padding:  Pad the first block to 64 bytes */
-	memset(p, 0, count);
-	byteReverse(ctx->in, 16);
-	MD5Transform(ctx->buf, (uint32 *) ctx->in);
-
-	/* Now fill the next block with 56 bytes */
-	memset(ctx->in, 0, 56);
-    } else {
-	/* Pad block to 56 bytes */
-	memset(p, 0, count - 8);
-    }
-    byteReverse(ctx->in, 14);
-
-    /* Append length in bits and transform */
-    ((uint32 *) ctx->in)[14] = ctx->bits[0];
-    ((uint32 *) ctx->in)[15] = ctx->bits[1];
-
-    MD5Transform(ctx->buf, (uint32 *) ctx->in);
-    byteReverse((unsigned char *) ctx->buf, 4);
-    memcpy(digest, ctx->buf, 16);
-    memset(ctx, 0, sizeof(ctx));	/* In case it's sensitive */
-}
-
-#ifndef ASM_MD5
-
-/* The four core functions - F1 is optimized somewhat */
-
-/* #define F1(x, y, z) (x & y | ~x & z) */
-#define F1(x, y, z) (z ^ (x & (y ^ z)))
-#define F2(x, y, z) F1(z, x, y)
-#define F3(x, y, z) (x ^ y ^ z)
-#define F4(x, y, z) (y ^ (x | ~z))
-
-/* This is the central step in the MD5 algorithm. */
-#define MD5STEP(f, w, x, y, z, data, s) \
-	( w += f(x, y, z) + data,  w = w<<s | w>>(32-s),  w += x )
-
-/*
- * The core of the MD5 algorithm, this alters an existing MD5 hash to
- * reflect the addition of 16 longwords of new data.  MD5Update blocks
- * the data and converts bytes into longwords for this routine.
- */
-void MD5Transform(uint32 buf[4], uint32 const in[16])
-{
-    register uint32 a, b, c, d;
-
-    a = buf[0];
-    b = buf[1];
-    c = buf[2];
-    d = buf[3];
-
-    MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
-    MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
-    MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
-    MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
-    MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
-    MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
-    MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
-    MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
-    MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
-    MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
-    MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
-    MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
-    MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
-    MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
-    MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
-    MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
-
-    MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
-    MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
-    MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
-    MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
-    MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
-    MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
-    MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
-    MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
-    MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
-    MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
-    MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
-    MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
-    MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
-    MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
-    MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
-    MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
-
-    MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
-    MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
-    MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
-    MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
-    MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
-    MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
-    MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
-    MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
-    MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
-    MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
-    MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
-    MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
-    MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
-    MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
-    MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
-    MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
-
-    MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
-    MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
-    MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
-    MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
-    MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
-    MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
-    MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
-    MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
-    MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
-    MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
-    MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
-    MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
-    MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
-    MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
-    MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
-    MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
-
-    buf[0] += a;
-    buf[1] += b;
-    buf[2] += c;
-    buf[3] += d;
-}
-
-#endif
diff -Nurp tin-1.9.2/libcanlock/md5.h tin-1.9.3/libcanlock/md5.h
--- tin-1.9.2/libcanlock/md5.h	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/md5.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,30 +0,0 @@
-#ifndef MD5_H
-#define MD5_H
-
-#ifdef __alpha
-typedef unsigned int uint32;
-#else
-typedef unsigned long uint32;
-#endif
-
-struct MD5Context {
-    uint32 buf[4];
-    uint32 bits[2];
-    unsigned char in[64];
-};
-
-#define MD5_BLOCK	64
-#define MD5_LENGTH	16
-
-void MD5Init(struct MD5Context *context);
-void MD5Update(struct MD5Context *context, unsigned char const *buf,
-	       unsigned len);
-void MD5Final(unsigned char digest[16], struct MD5Context *context);
-void MD5Transform(uint32 buf[4], uint32 const in[16]);
-
-/*
- * This is needed to make RSAREF happy on some MS-DOS compilers.
- */
-typedef struct MD5Context MD5_CTX;
-
-#endif				/* !MD5_H */
diff -Nurp tin-1.9.2/libcanlock/sha1.c tin-1.9.3/libcanlock/sha1.c
--- tin-1.9.2/libcanlock/sha1.c	2006-12-21 14:41:28.000000000 +0100
+++ tin-1.9.3/libcanlock/sha1.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,265 +0,0 @@
-/* 
- * SHA-1 in C By Steve Reid <steve@edmweb.com> 100% Public Domain
- * 
- * Test Vectors (from FIPS PUB 180-1)
- * "abc"
- *      A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D
- * "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
- *      84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1
- * A million repetitions of "a"
- *      34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F
- */
-
-#include "sha1.h"
-#include <stdio.h>
-#include <string.h>
-
-#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits))))
-
-/* blk0() and blk() perform the initial expand. */
-/* I got the idea of expanding during the round function from SSLeay */
-#ifdef LITTLE_ENDIAN
-#define blk0(i) (block->l[i] = (rol(block->l[i],24)&0xFF00FF00) \
-    |(rol(block->l[i],8)&0x00FF00FF))
-#else
-#define blk0(i) block->l[i]
-#endif
-#define blk(i) (block->l[i&15] = rol(block->l[(i+13)&15]^block->l[(i+8)&15] \
-    ^block->l[(i+2)&15]^block->l[i&15],1))
-
-/* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */
-#define R0(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30);
-#define R1(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30);
-#define R2(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30);
-#define R3(v,w,x,y,z,i) z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30);
-#define R4(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30);
-
-
-/* Hash a single 512-bit block. This is the core of the algorithm. */
-
-void SHA1Transform(unsigned long state[5], unsigned char buffer[64])
-{
-    unsigned long a, b, c, d, e;
-    typedef union {
-	unsigned char c[64];
-	unsigned long l[16];
-    } CHAR64LONG16;
-    CHAR64LONG16 *block;
-#ifdef SHA1HANDSOFF
-    static unsigned char workspace[64];
-    block = (CHAR64LONG16 *) workspace;
-    memcpy(block, buffer, 64);
-#else
-    block = (CHAR64LONG16 *) buffer;
-#endif
-    /* Copy context->state[] to working vars */
-    a = state[0];
-    b = state[1];
-    c = state[2];
-    d = state[3];
-    e = state[4];
-    /* 4 rounds of 20 operations each. Loop unrolled. */
-    R0(a, b, c, d, e, 0);
-    R0(e, a, b, c, d, 1);
-    R0(d, e, a, b, c, 2);
-    R0(c, d, e, a, b, 3);
-    R0(b, c, d, e, a, 4);
-    R0(a, b, c, d, e, 5);
-    R0(e, a, b, c, d, 6);
-    R0(d, e, a, b, c, 7);
-    R0(c, d, e, a, b, 8);
-    R0(b, c, d, e, a, 9);
-    R0(a, b, c, d, e, 10);
-    R0(e, a, b, c, d, 11);
-    R0(d, e, a, b, c, 12);
-    R0(c, d, e, a, b, 13);
-    R0(b, c, d, e, a, 14);
-    R0(a, b, c, d, e, 15);
-    R1(e, a, b, c, d, 16);
-    R1(d, e, a, b, c, 17);
-    R1(c, d, e, a, b, 18);
-    R1(b, c, d, e, a, 19);
-    R2(a, b, c, d, e, 20);
-    R2(e, a, b, c, d, 21);
-    R2(d, e, a, b, c, 22);
-    R2(c, d, e, a, b, 23);
-    R2(b, c, d, e, a, 24);
-    R2(a, b, c, d, e, 25);
-    R2(e, a, b, c, d, 26);
-    R2(d, e, a, b, c, 27);
-    R2(c, d, e, a, b, 28);
-    R2(b, c, d, e, a, 29);
-    R2(a, b, c, d, e, 30);
-    R2(e, a, b, c, d, 31);
-    R2(d, e, a, b, c, 32);
-    R2(c, d, e, a, b, 33);
-    R2(b, c, d, e, a, 34);
-    R2(a, b, c, d, e, 35);
-    R2(e, a, b, c, d, 36);
-    R2(d, e, a, b, c, 37);
-    R2(c, d, e, a, b, 38);
-    R2(b, c, d, e, a, 39);
-    R3(a, b, c, d, e, 40);
-    R3(e, a, b, c, d, 41);
-    R3(d, e, a, b, c, 42);
-    R3(c, d, e, a, b, 43);
-    R3(b, c, d, e, a, 44);
-    R3(a, b, c, d, e, 45);
-    R3(e, a, b, c, d, 46);
-    R3(d, e, a, b, c, 47);
-    R3(c, d, e, a, b, 48);
-    R3(b, c, d, e, a, 49);
-    R3(a, b, c, d, e, 50);
-    R3(e, a, b, c, d, 51);
-    R3(d, e, a, b, c, 52);
-    R3(c, d, e, a, b, 53);
-    R3(b, c, d, e, a, 54);
-    R3(a, b, c, d, e, 55);
-    R3(e, a, b, c, d, 56);
-    R3(d, e, a, b, c, 57);
-    R3(c, d, e, a, b, 58);
-    R3(b, c, d, e, a, 59);
-    R4(a, b, c, d, e, 60);
-    R4(e, a, b, c, d, 61);
-    R4(d, e, a, b, c, 62);
-    R4(c, d, e, a, b, 63);
-    R4(b, c, d, e, a, 64);
-    R4(a, b, c, d, e, 65);
-    R4(e, a, b, c, d, 66);
-    R4(d, e, a, b, c, 67);
-    R4(c, d, e, a, b, 68);
-    R4(b, c, d, e, a, 69);
-    R4(a, b, c, d, e, 70);
-    R4(e, a, b, c, d, 71);
-    R4(d, e, a, b, c, 72);
-    R4(c, d, e, a, b, 73);
-    R4(b, c, d, e, a, 74);
-    R4(a, b, c, d, e, 75);
-    R4(e, a, b, c, d, 76);
-    R4(d, e, a, b, c, 77);
-    R4(c, d, e, a, b, 78);
-    R4(b, c, d, e, a, 79);
-    /* Add the working vars back into context.state[] */
-    state[0] += a;
-    state[1] += b;
-    state[2] += c;
-    state[3] += d;
-    state[4] += e;
-    /* Wipe variables */
-    a = b = c = d = e = 0;
-}
-
-
-/* SHA1Init - Initialize new context */
-
-void SHA1Init(SHA1_CTX * context)
-{
-    /* SHA1 initialization constants */
-    context->state[0] = 0x67452301;
-    context->state[1] = 0xEFCDAB89;
-    context->state[2] = 0x98BADCFE;
-    context->state[3] = 0x10325476;
-    context->state[4] = 0xC3D2E1F0;
-    context->count[0] = context->count[1] = 0;
-}
-
-
-/* Run your data through this. */
-
-void SHA1Update(SHA1_CTX * context, unsigned char *data, unsigned int len)
-{
-    unsigned int i, j;
-
-    j = (context->count[0] >> 3) & 63;
-    if ((context->count[0] += len << 3) < (len << 3))
-	context->count[1]++;
-    context->count[1] += (len >> 29);
-    if ((j + len) > 63) {
-	memcpy(&context->buffer[j], data, (i = 64 - j));
-	SHA1Transform(context->state, context->buffer);
-	for (; i + 63 < len; i += 64) {
-	    SHA1Transform(context->state, &data[i]);
-	}
-	j = 0;
-    } else
-	i = 0;
-    memcpy(&context->buffer[j], &data[i], len - i);
-}
-
-
-/* Add padding and return the message digest. */
-
-void SHA1Final(unsigned char digest[20], SHA1_CTX * context)
-{
-    unsigned long i, j;
-    unsigned char finalcount[8];
-
-    for (i = 0; i < 8; i++) {
-	finalcount[i] = (unsigned char) ((context->count[(i >= 4 ? 0 : 1)]
-					  >> ((3 - (i & 3)) * 8)) & 255);	/* Endian 
-										 * independent 
-										 */
-    }
-    SHA1Update(context, (unsigned char *) "\200", 1);
-    while ((context->count[0] & 504) != 448) {
-	SHA1Update(context, (unsigned char *) "\0", 1);
-    }
-    SHA1Update(context, finalcount, 8);		/* Should cause a
-						 * SHA1Transform() */
-    for (i = 0; i < 20; i++) {
-	digest[i] = (unsigned char)
-	    ((context->state[i >> 2] >> ((3 - (i & 3)) * 8)) & 255);
-    }
-    /* Wipe variables */
-    i = j = 0;
-    memset(context->buffer, 0, 64);
-    memset(context->state, 0, 20);
-    memset(context->count, 0, 8);
-    memset(&finalcount, 0, 8);
-#ifdef SHA1HANDSOFF		/* make SHA1Transform overwrite it's own
-				   * static vars */
-    SHA1Transform(context->state, context->buffer);
-#endif
-}
-
-
-#if 0
-/*************************************************************/
-
-int main(int argc, char **argv)
-{
-    int i, j;
-    SHA1_CTX context;
-    unsigned char digest[20], buffer[16384];
-    FILE *file;
-
-    if (argc > 2) {
-	puts("Public domain SHA-1 implementation - by Steve Reid <steve@edmweb.com>");
-	puts("Produces the SHA-1 hash of a file, or stdin if no file is specified.");
-	exit(0);
-    }
-    if (argc < 2) {
-	file = stdin;
-    } else {
-	if (!(file = fopen(argv[1], "rb"))) {
-	    fputs("Unable to open file.", stderr);
-	    exit(-1);
-	}
-    }
-    SHA1Init(&context);
-    while (!feof(file)) {	/* note: what if ferror(file) */
-	i = fread(buffer, 1, 16384, file);
-	SHA1Update(&context, buffer, i);
-    }
-    SHA1Final(digest, &context);
-    fclose(file);
-    for (i = 0; i < 5; i++) {
-	for (j = 0; j < 4; j++) {
-	    printf("%02X", digest[i * 4 + j]);
-	}
-	putchar(' ');
-    }
-    putchar('\n');
-    exit(0);
-}
-#endif
diff -Nurp tin-1.9.2/libcanlock/sha1.h tin-1.9.3/libcanlock/sha1.h
--- tin-1.9.2/libcanlock/sha1.h	2006-12-21 14:41:29.000000000 +0100
+++ tin-1.9.3/libcanlock/sha1.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
-/* 
- * SHA-1 in C
- * By Steve Reid <steve@edmweb.com>
- * 100% Public Domain
- */
-#ifndef __SHA1_H__
-#define __SHA1_H__
-
-#include "endian.h"
-
-#if 0
-#define SHA1HANDSOFF		/* Copies data before messing with it. */
-#endif /* 0 */
-
-#define SHA1_BLOCK	64
-#define SHA1_LENGTH	20
-
-typedef struct _SHA1_CTX {
-    unsigned long state[5];
-    unsigned long count[2];
-    unsigned char buffer[SHA1_BLOCK];
-} SHA1_CTX;
-
-void SHA1Transform(unsigned long state[5], unsigned char buffer[64]);
-void SHA1Init(SHA1_CTX * context);
-void SHA1Update(SHA1_CTX * context, unsigned char *data, unsigned int len);
-void SHA1Final(unsigned char digest[20], SHA1_CTX * context);
-
-#endif				/* __SHA1_H__ */
diff -Nurp tin-1.9.2/libcanlock/src/base64.c tin-1.9.3/libcanlock/src/base64.c
--- tin-1.9.2/libcanlock/src/base64.c	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/src/base64.c	2008-04-23 14:06:24.000000000 +0200
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 1995-2001 Kungliga Tekniska Hšgskolan
+ * (Royal Institute of Technology, Stockholm, Sweden).
+ * All rights reserved.
+ *
+ * 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 Institute 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 INSTITUTE 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 INSTITUTE 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+RCSID("$Id: base64.c,v 1.5 2001/05/28 17:33:41 joda Exp $")
+#endif
+#include <stdlib.h>
+#include <string.h>
+#include "base64.h"
+
+static char base64_chars[] = 
+    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+static int 
+pos(char c)
+{
+    char *p;
+    for (p = base64_chars; *p; p++) {
+		if (*p == c)
+		    return p - base64_chars;
+	}
+    return -1;
+}
+
+size_t
+base64_encode(const void *data, int size, char **str)
+{
+    char *s, *p;
+    int i;
+    int c;
+    const unsigned char *q;
+
+    p = s = (char *) malloc(size * 4 / 3 + 4);
+    if (p == NULL)
+		return -1;
+    q = (const unsigned char *) data;
+    for (i = 0; i < size;) {
+		c = q[i++];
+		c *= 256;
+		if (i < size)
+		    c += q[i];
+		i++;
+		c *= 256;
+		if (i < size)
+		    c += q[i];
+		i++;
+		p[0] = base64_chars[(c & 0x00fc0000) >> 18];
+		p[1] = base64_chars[(c & 0x0003f000) >> 12];
+		p[2] = base64_chars[(c & 0x00000fc0) >> 6];
+		p[3] = base64_chars[(c & 0x0000003f) >> 0];
+		if (i > size)
+		    p[3] = '=';
+		if (i > size + 1)
+		    p[2] = '=';
+		p += 4;
+    }
+    *p = 0;
+    *str = s;
+    return strlen(s);
+}
+
+#define DECODE_ERROR 0xffffffff
+
+static unsigned int
+token_decode(const char *token)
+{
+    int i;
+    unsigned int val = 0;
+    int marker = 0;
+    if (strlen(token) < 4)
+		return DECODE_ERROR;
+    for (i = 0; i < 4; i++) {
+		val *= 64;
+		if (token[i] == '=')
+		    marker++;
+		else if (marker > 0)
+		    return DECODE_ERROR;
+		else
+		    val += pos(token[i]);
+    }
+    if (marker > 2)
+		return DECODE_ERROR;
+    return (marker << 24) | val;
+}
+
+size_t
+base64_decode(const char *str, void *data)
+{
+    const char *p;
+    unsigned char *q;
+
+    q = data;
+    for (p = str; *p && (*p == '=' || strchr(base64_chars, *p)); p += 4) {
+		unsigned int val = token_decode(p);
+		unsigned int marker = (val >> 24) & 0xff;
+		if (val == DECODE_ERROR)
+		    return -1;
+		*q++ = (val >> 16) & 0xff;
+		if (marker < 2)
+		    *q++ = (val >> 8) & 0xff;
+		if (marker < 1)
+		    *q++ = val & 0xff;
+	}
+    return q - (unsigned char *) data;
+}
diff -Nurp tin-1.9.2/libcanlock/src/canlock.c tin-1.9.3/libcanlock/src/canlock.c
--- tin-1.9.2/libcanlock/src/canlock.c	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/src/canlock.c	2008-03-14 10:21:40.000000000 +0100
@@ -0,0 +1,186 @@
+/*
+ * COPYRIGHT AND PERMISSION NOTICE
+ * 
+ * Copyright (c) 2003 G.J. Andruk
+ * 
+ * All rights reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, and/or sell copies of the Software, and to permit persons
+ * to whom the Software is furnished to do so, provided that the above
+ * copyright notice(s) and this permission notice appear in all copies of
+ * the Software and that both the above copyright notice(s) and this
+ * permission notice appear in supporting documentation.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
+ * SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * 
+ * Except as contained in this notice, the name of a copyright holder
+ * shall not be used in advertising or otherwise to promote the sale, use
+ * or other dealings in this Software without prior written authorization
+ * of the copyright holder.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/types.h>
+#include "base64.h"
+#include "sha1.h"
+#include "hmac_sha1.h"
+#include "canlock.h"
+
+/* 
+ * Return a stripped cancel lock, that is, with the xx: prefix
+ * removed, else NULL on failure.
+ * type is set to the lock type, else zero on failure.
+ */
+char *
+lock_strip_alpha(const char *key, char *type)
+{
+    char *ret;
+    int offset;
+    do {
+      *type = tolower(*key);
+      type++;
+      key++;
+    } while (*key && *key != ':');
+    
+    *type = '\0';
+    key++;
+    ret = strdup (key);
+    /* Strip the "Clue-string", no longer part of the lastest
+     * draft but could still be present */
+    offset = 0;
+    while (ret[offset] && ret[offset] != ':')
+	offset++;
+    ret[offset] = '\0';
+    return ret;
+}
+
+
+char *
+lock_strip(const char *key, char *type)
+{
+    return lock_strip_alpha(key, type);
+}
+
+/* 
+ * Generate an SHA1 cancel key.
+ * Returns a malloc()'d buffer that the caller will need to free().
+ */
+char *
+sha_key(const unsigned char *secret, size_t seclen,
+        const unsigned char *message, size_t msglen)
+{
+    char
+        *cankey[1];
+    unsigned char
+        *hmacbuff;
+    size_t
+        keysize;
+
+    hmacbuff = hmac_sha1(secret, seclen, message, msglen);
+    if (!hmacbuff)
+        return NULL;
+    keysize = base64_encode(hmacbuff, SHA_DIGESTSIZE, cankey);
+    free ((void *) hmacbuff);
+    if (!keysize)
+        return NULL;
+    *cankey = (char *) realloc((void *) *cankey, keysize + 6);
+    if (!*cankey)
+        return NULL;
+    memmove((void *) (*cankey + 5), (void *) *cankey, keysize + 1);
+    strncpy(*cankey, "sha1:", 5);
+    return (*cankey);
+}
+
+/* 
+ * Generate an SHA1 cancel lock.
+ * Returns a malloc()'d buffer that the caller will need to free().
+ */
+char *
+sha_lock(const unsigned char *secret, size_t seclen,
+         const unsigned char *message, size_t msglen)
+{
+    char
+        *canlock[1],
+        junk[SHA_DIGESTSIZE];
+    unsigned char
+        *cankey,
+        hmacbuff[SHA_DIGESTSIZE];
+    size_t
+        locksize;
+    SHA_CTX
+        hash_ctx;
+
+    cankey = (unsigned char *) lock_strip_alpha(
+                            sha_key(secret, seclen, message, msglen), junk);
+    if (!cankey)
+        return NULL;
+    if (sha_init(&hash_ctx))
+        return NULL;
+    if (sha_update(&hash_ctx, cankey, strlen((char *) cankey)))
+        return NULL;
+    if (sha_digest(&hash_ctx, hmacbuff))
+        return NULL;
+    locksize = base64_encode(hmacbuff, SHA_DIGESTSIZE, canlock);
+    if (!locksize)
+        return NULL;
+    *canlock = (char *) realloc((void *) *canlock, locksize + 6);
+    if (!*canlock)
+        return NULL;
+    memmove((void *) (*canlock + 5), (void *) *canlock, locksize + 1);
+    strncpy(*canlock, "sha1:", 5);
+    return (*canlock);
+}
+
+
+/* 
+ * Verify an SHA cancel key against a cancel lock.
+ * Returns 0 on success, nonzero on failure.
+ */
+int
+sha_verify(const char *key, const char *lock)
+{
+    unsigned char
+        binkey[SHA_DIGESTSIZE + 4],
+        hmacbuff[SHA_DIGESTSIZE];
+    char
+        *templock[1];
+    size_t
+        keysize,
+        locksize;
+    SHA_CTX
+        hash_ctx;
+
+
+    /* Convert the key back into binary */
+    keysize = base64_decode(key, (void *) &binkey);
+    if (!keysize)
+        return -1;
+
+    if (sha_init(&hash_ctx))
+        return -1;
+    if (sha_update(&hash_ctx, (unsigned char *)key, strlen(key)))
+        return -1;
+    if (sha_digest(&hash_ctx, hmacbuff))
+        return -1;
+
+    locksize = base64_encode(hmacbuff, SHA_DIGESTSIZE, templock);
+    if (!locksize)
+        return -1;
+
+    return strcmp(*templock, lock);
+}
diff -Nurp tin-1.9.2/libcanlock/src/hmac_sha1.c tin-1.9.3/libcanlock/src/hmac_sha1.c
--- tin-1.9.2/libcanlock/src/hmac_sha1.c	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/src/hmac_sha1.c	2008-03-14 10:21:40.000000000 +0100
@@ -0,0 +1,119 @@
+/*
+ * COPYRIGHT AND PERMISSION NOTICE
+ * 
+ * Copyright (c) 2003 G.J. Andruk
+ * 
+ * All rights reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, and/or sell copies of the Software, and to permit persons
+ * to whom the Software is furnished to do so, provided that the above
+ * copyright notice(s) and this permission notice appear in all copies of
+ * the Software and that both the above copyright notice(s) and this
+ * permission notice appear in supporting documentation.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
+ * SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * 
+ * Except as contained in this notice, the name of a copyright holder
+ * shall not be used in advertising or otherwise to promote the sale, use
+ * or other dealings in this Software without prior written authorization
+ * of the copyright holder.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "sha1.h"
+#include "hmac_sha1.h"
+
+#define ipad 0x36
+#define opad 0x5c
+
+/* 
+ * Encode a string using HMAC - see RFC-2104 for details.
+ * Returns the MAC, or NULL on error.
+ * Caller needs to free() non-NULL return values..
+ */
+unsigned char *
+hmac_sha1(
+            const unsigned char *K,   /* key */
+            int Klen,           /* and it size */
+            const unsigned char *T,   /* text to encode */
+            int Tlen            /* and its size */
+        )
+{
+    SHA_CTX
+        hash_ctx;
+    unsigned char
+        keyin[SHA_DATASIZE],
+        *step2,
+        step4[SHA_DIGESTSIZE],
+        step5[SHA_DATASIZE + SHA_DIGESTSIZE],
+        *hmac_out,
+        *c;
+    int
+        i,
+        j;
+
+    if (sha_init(&hash_ctx))
+        return NULL;
+
+    /* If the key is bigger than SHA_DATASIZE we need to hash it. */
+    if (Klen > SHA_DATASIZE) {
+        if (sha_update(&hash_ctx, K, Klen))
+            return NULL;
+        if (sha_digest(&hash_ctx, keyin))
+            return NULL;
+        Klen = SHA_DIGESTSIZE;
+    }
+    else
+        memcpy(keyin, K, Klen);
+
+    step2 = (unsigned char *) malloc(Tlen + SHA_DATASIZE);
+
+    c = keyin;
+    for (i = 0; i < Klen; i++) {
+        step2[i] = *c ^ ipad;
+        step5[i] = *c ^ opad;
+        c++;
+    }
+    for (j = i; j < SHA_DATASIZE; j++) {
+        step2[j] = ipad;
+        step5[j] = opad;
+    }
+    
+    memcpy(&step2[SHA_DATASIZE], T, Tlen);
+
+    if (sha_init(&hash_ctx))
+        return NULL;
+    if (sha_update(&hash_ctx, step2, SHA_DATASIZE + Tlen))
+        return NULL;
+    if (sha_digest(&hash_ctx, step4))
+        return NULL;
+
+    memcpy(&step5[SHA_DATASIZE], step4, SHA_DIGESTSIZE);
+
+    hmac_out = (unsigned char *) malloc(SHA_DIGESTSIZE);
+    if (!hmac_out)
+        return NULL;
+
+    if (sha_init(&hash_ctx))
+        return NULL;
+    if (sha_update(&hash_ctx, step5, SHA_DATASIZE + SHA_DIGESTSIZE))
+        return NULL;
+    if (sha_digest(&hash_ctx, hmac_out))
+        return NULL;
+
+    return hmac_out;
+}
diff -Nurp tin-1.9.2/libcanlock/src/sha1.c tin-1.9.3/libcanlock/src/sha1.c
--- tin-1.9.2/libcanlock/src/sha1.c	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/src/sha1.c	2008-03-14 10:21:40.000000000 +0100
@@ -0,0 +1,353 @@
+/* sha.c - Implementation of the Secure Hash Algorithm
+ *
+ * Copyright (C) 1995, A.M. Kuchling
+ *
+ * Distribute and use freely; there are no restrictions on further 
+ * dissemination and usage except those imposed by the laws of your 
+ * country of residence.
+ *
+ * Adapted to pike and some cleanup by Niels Möller.
+ */
+
+/* $Id: sha1.c,v 1.5 2002/05/26 17:46:16 nmav Exp $ */
+
+/* SHA: NIST's Secure Hash Algorithm */
+
+/* Based on SHA code originally posted to sci.crypt by Peter Gutmann
+   in message <30ajo5$oe8@ccu2.auckland.ac.nz>.
+   Modified to test for endianness on creation of SHA objects by AMK.
+   Also, the original specification of SHA was found to have a weakness
+   by NSA/NIST.  This code implements the fixed version of SHA.
+*/
+
+/* Here's the first paragraph of Peter Gutmann's posting:
+   
+The following is my SHA (FIPS 180) code updated to allow use of the "fixed"
+SHA, thanks to Jim Gillogly and an anonymous contributor for the information on
+what's changed in the new version.  The fix is a simple change which involves
+adding a single rotate in the initial expansion function.  It is unknown
+whether this is an optimal solution to the problem which was discovered in the
+SHA or whether it's simply a bandaid which fixes the problem with a minimum of
+effort (for example the reengineering of a great many Capstone chips).
+*/
+
+#include "sha1.h"
+#include <stdlib.h>
+#include <string.h>
+
+void sha_copy(struct sha_ctx *dest, struct sha_ctx *src)
+{
+  int i;
+
+  dest->count_l=src->count_l;
+  dest->count_h=src->count_h;
+  for(i=0; i<SHA_DIGESTLEN; i++)
+    dest->digest[i]=src->digest[i];
+  for(i=0; i < src->index; i++)
+    dest->block[i] = src->block[i];
+  dest->index = src->index;
+}
+
+
+/* The SHA f()-functions.  The f1 and f3 functions can be optimized to
+   save one boolean operation each - thanks to Rich Schroeppel,
+   rcs@cs.arizona.edu for discovering this */
+
+/*#define f1(x,y,z) ( ( x & y ) | ( ~x & z ) )          // Rounds  0-19 */
+#define f1(x,y,z)   ( z ^ ( x & ( y ^ z ) ) )           /* Rounds  0-19 */
+#define f2(x,y,z)   ( x ^ y ^ z )                       /* Rounds 20-39 */
+/*#define f3(x,y,z) ( ( x & y ) | ( x & z ) | ( y & z ) )   // Rounds 40-59 */
+#define f3(x,y,z)   ( ( x & y ) | ( z & ( x | y ) ) )   /* Rounds 40-59 */
+#define f4(x,y,z)   ( x ^ y ^ z )                       /* Rounds 60-79 */
+
+/* The SHA Mysterious Constants */
+
+#define K1  0x5A827999L                                 /* Rounds  0-19 */
+#define K2  0x6ED9EBA1L                                 /* Rounds 20-39 */
+#define K3  0x8F1BBCDCL                                 /* Rounds 40-59 */
+#define K4  0xCA62C1D6L                                 /* Rounds 60-79 */
+
+/* SHA initial values */
+
+#define h0init  0x67452301L
+#define h1init  0xEFCDAB89L
+#define h2init  0x98BADCFEL
+#define h3init  0x10325476L
+#define h4init  0xC3D2E1F0L
+
+/* 32-bit rotate left - kludged with shifts */
+
+#define ROTL(n,X)  ( ( (X) << (n) ) | ( (X) >> ( 32 - (n) ) ) )
+
+/* The initial expanding function.  The hash function is defined over an
+   80-word expanded input array W, where the first 16 are copies of the input
+   data, and the remaining 64 are defined by
+
+        W[ i ] = W[ i - 16 ] ^ W[ i - 14 ] ^ W[ i - 8 ] ^ W[ i - 3 ]
+
+   This implementation generates these values on the fly in a circular
+   buffer - thanks to Colin Plumb, colin@nyx10.cs.du.edu for this
+   optimization.
+
+   The updated SHA changes the expanding function by adding a rotate of 1
+   bit.  Thanks to Jim Gillogly, jim@rand.org, and an anonymous contributor
+   for this information */
+
+#define expand(W,i) ( W[ i & 15 ] = \
+		      ROTL( 1, ( W[ i & 15 ] ^ W[ (i - 14) & 15 ] ^ \
+				 W[ (i - 8) & 15 ] ^ W[ (i - 3) & 15 ] ) ) )
+
+/* The prototype SHA sub-round.  The fundamental sub-round is:
+
+        a' = e + ROTL( 5, a ) + f( b, c, d ) + k + data;
+        b' = a;
+        c' = ROTL( 30, b );
+        d' = c;
+        e' = d;
+
+   but this is implemented by unrolling the loop 5 times and renaming the
+   variables ( e, a, b, c, d ) = ( a', b', c', d', e' ) each iteration.
+   This code is then replicated 20 times for each of the 4 functions, using
+   the next 20 values from the W[] array each time */
+
+#define subRound(a, b, c, d, e, f, k, data) \
+    ( e += ROTL( 5, a ) + f( b, c, d ) + k + data, b = ROTL( 30, b ) )
+
+/* Initialize the SHA values */
+
+int sha_init(struct sha_ctx *ctx)
+{
+  /* Set the h-vars to their initial values */
+  ctx->digest[ 0 ] = h0init;
+  ctx->digest[ 1 ] = h1init;
+  ctx->digest[ 2 ] = h2init;
+  ctx->digest[ 3 ] = h3init;
+  ctx->digest[ 4 ] = h4init;
+
+  /* Initialize bit count */
+  ctx->count_l = ctx->count_h = 0;
+  
+  /* Initialize buffer */
+  ctx->index = 0;
+  ctx->finalized = 0;
+  return 0;
+}
+
+/* Perform the SHA transformation.  Note that this code, like MD5, seems to
+   break some optimizing compilers due to the complexity of the expressions
+   and the size of the basic block.  It may be necessary to split it into
+   sections, e.g. based on the four subrounds
+
+   Note that this function destroys the data area */
+
+static void sha_transform(struct sha_ctx *ctx, uint32_t *data )
+{
+  register uint32_t A, B, C, D, E;     /* Local vars */
+
+  /* Set up first buffer and local data buffer */
+  A = ctx->digest[0];
+  B = ctx->digest[1];
+  C = ctx->digest[2];
+  D = ctx->digest[3];
+  E = ctx->digest[4];
+
+  /* Heavy mangling, in 4 sub-rounds of 20 interations each. */
+  subRound( A, B, C, D, E, f1, K1, data[ 0] );
+  subRound( E, A, B, C, D, f1, K1, data[ 1] );
+  subRound( D, E, A, B, C, f1, K1, data[ 2] );
+  subRound( C, D, E, A, B, f1, K1, data[ 3] );
+  subRound( B, C, D, E, A, f1, K1, data[ 4] );
+  subRound( A, B, C, D, E, f1, K1, data[ 5] );
+  subRound( E, A, B, C, D, f1, K1, data[ 6] );
+  subRound( D, E, A, B, C, f1, K1, data[ 7] );
+  subRound( C, D, E, A, B, f1, K1, data[ 8] );
+  subRound( B, C, D, E, A, f1, K1, data[ 9] );
+  subRound( A, B, C, D, E, f1, K1, data[10] );
+  subRound( E, A, B, C, D, f1, K1, data[11] );
+  subRound( D, E, A, B, C, f1, K1, data[12] );
+  subRound( C, D, E, A, B, f1, K1, data[13] );
+  subRound( B, C, D, E, A, f1, K1, data[14] );
+  subRound( A, B, C, D, E, f1, K1, data[15] );
+  subRound( E, A, B, C, D, f1, K1, expand( data, 16 ) );
+  subRound( D, E, A, B, C, f1, K1, expand( data, 17 ) );
+  subRound( C, D, E, A, B, f1, K1, expand( data, 18 ) );
+  subRound( B, C, D, E, A, f1, K1, expand( data, 19 ) );
+
+  subRound( A, B, C, D, E, f2, K2, expand( data, 20 ) );
+  subRound( E, A, B, C, D, f2, K2, expand( data, 21 ) );
+  subRound( D, E, A, B, C, f2, K2, expand( data, 22 ) );
+  subRound( C, D, E, A, B, f2, K2, expand( data, 23 ) );
+  subRound( B, C, D, E, A, f2, K2, expand( data, 24 ) );
+  subRound( A, B, C, D, E, f2, K2, expand( data, 25 ) );
+  subRound( E, A, B, C, D, f2, K2, expand( data, 26 ) );
+  subRound( D, E, A, B, C, f2, K2, expand( data, 27 ) );
+  subRound( C, D, E, A, B, f2, K2, expand( data, 28 ) );
+  subRound( B, C, D, E, A, f2, K2, expand( data, 29 ) );
+  subRound( A, B, C, D, E, f2, K2, expand( data, 30 ) );
+  subRound( E, A, B, C, D, f2, K2, expand( data, 31 ) );
+  subRound( D, E, A, B, C, f2, K2, expand( data, 32 ) );
+  subRound( C, D, E, A, B, f2, K2, expand( data, 33 ) );
+  subRound( B, C, D, E, A, f2, K2, expand( data, 34 ) );
+  subRound( A, B, C, D, E, f2, K2, expand( data, 35 ) );
+  subRound( E, A, B, C, D, f2, K2, expand( data, 36 ) );
+  subRound( D, E, A, B, C, f2, K2, expand( data, 37 ) );
+  subRound( C, D, E, A, B, f2, K2, expand( data, 38 ) );
+  subRound( B, C, D, E, A, f2, K2, expand( data, 39 ) );
+
+  subRound( A, B, C, D, E, f3, K3, expand( data, 40 ) );
+  subRound( E, A, B, C, D, f3, K3, expand( data, 41 ) );
+  subRound( D, E, A, B, C, f3, K3, expand( data, 42 ) );
+  subRound( C, D, E, A, B, f3, K3, expand( data, 43 ) );
+  subRound( B, C, D, E, A, f3, K3, expand( data, 44 ) );
+  subRound( A, B, C, D, E, f3, K3, expand( data, 45 ) );
+  subRound( E, A, B, C, D, f3, K3, expand( data, 46 ) );
+  subRound( D, E, A, B, C, f3, K3, expand( data, 47 ) );
+  subRound( C, D, E, A, B, f3, K3, expand( data, 48 ) );
+  subRound( B, C, D, E, A, f3, K3, expand( data, 49 ) );
+  subRound( A, B, C, D, E, f3, K3, expand( data, 50 ) );
+  subRound( E, A, B, C, D, f3, K3, expand( data, 51 ) );
+  subRound( D, E, A, B, C, f3, K3, expand( data, 52 ) );
+  subRound( C, D, E, A, B, f3, K3, expand( data, 53 ) );
+  subRound( B, C, D, E, A, f3, K3, expand( data, 54 ) );
+  subRound( A, B, C, D, E, f3, K3, expand( data, 55 ) );
+  subRound( E, A, B, C, D, f3, K3, expand( data, 56 ) );
+  subRound( D, E, A, B, C, f3, K3, expand( data, 57 ) );
+  subRound( C, D, E, A, B, f3, K3, expand( data, 58 ) );
+  subRound( B, C, D, E, A, f3, K3, expand( data, 59 ) );
+
+  subRound( A, B, C, D, E, f4, K4, expand( data, 60 ) );
+  subRound( E, A, B, C, D, f4, K4, expand( data, 61 ) );
+  subRound( D, E, A, B, C, f4, K4, expand( data, 62 ) );
+  subRound( C, D, E, A, B, f4, K4, expand( data, 63 ) );
+  subRound( B, C, D, E, A, f4, K4, expand( data, 64 ) );
+  subRound( A, B, C, D, E, f4, K4, expand( data, 65 ) );
+  subRound( E, A, B, C, D, f4, K4, expand( data, 66 ) );
+  subRound( D, E, A, B, C, f4, K4, expand( data, 67 ) );
+  subRound( C, D, E, A, B, f4, K4, expand( data, 68 ) );
+  subRound( B, C, D, E, A, f4, K4, expand( data, 69 ) );
+  subRound( A, B, C, D, E, f4, K4, expand( data, 70 ) );
+  subRound( E, A, B, C, D, f4, K4, expand( data, 71 ) );
+  subRound( D, E, A, B, C, f4, K4, expand( data, 72 ) );
+  subRound( C, D, E, A, B, f4, K4, expand( data, 73 ) );
+  subRound( B, C, D, E, A, f4, K4, expand( data, 74 ) );
+  subRound( A, B, C, D, E, f4, K4, expand( data, 75 ) );
+  subRound( E, A, B, C, D, f4, K4, expand( data, 76 ) );
+  subRound( D, E, A, B, C, f4, K4, expand( data, 77 ) );
+  subRound( C, D, E, A, B, f4, K4, expand( data, 78 ) );
+  subRound( B, C, D, E, A, f4, K4, expand( data, 79 ) );
+
+  /* Build message digest */
+  ctx->digest[0] += A;
+  ctx->digest[1] += B;
+  ctx->digest[2] += C;
+  ctx->digest[3] += D;
+  ctx->digest[4] += E;
+}
+
+
+static void sha_block(struct sha_ctx *ctx, const uint8_t *block)
+{
+  uint32_t data[SHA_DATALEN];
+  int i;
+  
+  /* Update block count */
+  if (!++ctx->count_l)
+    ++ctx->count_h;
+
+  /* Endian independent conversion */
+  for (i = 0; i<SHA_DATALEN; i++, block += 4)
+    data[i] = STRING2INT(block);
+
+  sha_transform(ctx, data);
+}
+
+int sha_update(struct sha_ctx *ctx, const uint8_t *buffer, uint32_t len)
+{
+  if (ctx->index)
+    { /* Try to fill partial block */
+      unsigned left = SHA_DATASIZE - ctx->index;
+      if (len < left)
+	{
+	  memcpy(ctx->block + ctx->index, buffer, len);
+	  ctx->index += len;
+	  return 0; /* Finished */
+	}
+      else
+	{
+	  memcpy(ctx->block + ctx->index, buffer, left);
+	  sha_block(ctx, ctx->block);
+	  buffer += left;
+	  len -= left;
+	}
+    }
+  while (len >= SHA_DATASIZE)
+    {
+      sha_block(ctx, buffer);
+      buffer += SHA_DATASIZE;
+      len -= SHA_DATASIZE;
+    }
+  if ((ctx->index = len))     /* This assignment is intended */
+    /* Buffer leftovers */
+    memcpy(ctx->block, buffer, len);
+  return 0;
+}
+	  
+/* Final wrapup - pad to SHA_DATASIZE-byte boundary with the bit pattern
+   1 0* (64-bit count of bits processed, MSB-first) */
+
+void sha_final(struct sha_ctx *ctx)
+{
+  uint32_t data[SHA_DATALEN];
+  int i;
+  int words;
+  
+  i = ctx->index;
+  /* Set the first char of padding to 0x80.  This is safe since there is
+     always at least one byte free */
+  ctx->block[i++] = 0x80;
+
+  /* Fill rest of word */
+  for( ; i & 3; i++)
+    ctx->block[i] = 0;
+
+  /* i is now a multiple of the word size 4 */
+  words = i >> 2;
+  for (i = 0; i < words; i++)
+    data[i] = STRING2INT(ctx->block + 4*i);
+  
+  if (words > (SHA_DATALEN-2))
+    { /* No room for length in this block. Process it and
+       * pad with another one */
+      for (i = words ; i < SHA_DATALEN; i++)
+	data[i] = 0;
+      sha_transform(ctx, data);
+      for (i = 0; i < (SHA_DATALEN-2); i++)
+	data[i] = 0;
+    }
+  else
+    for (i = words ; i < SHA_DATALEN - 2; i++)
+      data[i] = 0;
+  /* Theres 512 = 2^9 bits in one block */
+  data[SHA_DATALEN-2] = (ctx->count_h << 9) | (ctx->count_l >> 23);
+  data[SHA_DATALEN-1] = (ctx->count_l << 9) | (ctx->index << 3);
+  sha_transform(ctx, data);
+  ctx->finalized = 1;
+}
+
+int sha_digest(struct sha_ctx *ctx, uint8_t *s)
+{
+  int i;
+  if (ctx->finalized == 0)
+    sha_final (ctx);
+
+  if (s!=NULL)
+	  for (i = 0; i < SHA_DIGESTLEN; i++)
+	    {
+	      *s++ =         ctx->digest[i] >> 24;
+	      *s++ = 0xff & (ctx->digest[i] >> 16);
+	      *s++ = 0xff & (ctx->digest[i] >> 8);
+	      *s++ = 0xff &  ctx->digest[i];
+	    }
+  return 0;
+}
+
diff -Nurp tin-1.9.2/libcanlock/t/canlocktest.c tin-1.9.3/libcanlock/t/canlocktest.c
--- tin-1.9.2/libcanlock/t/canlocktest.c	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/t/canlocktest.c	2008-03-14 10:21:41.000000000 +0100
@@ -0,0 +1,110 @@
+/* 
+ * canlocktest.c - just checking.
+ * 
+ * This program doesn't really do anything but lightly exercise all the
+ * library functions, so you can make sure it all compiled correctly. 
+ * Everything's kept simple so that you can also see how they would be
+ * called in a real application.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include "canlock.h"
+
+#define BUFFSIZE 512
+
+void checker(char *key, char *lock);
+
+void
+checker(char *key, char *lock)
+{
+    char
+        *rawkey,
+        *rawlock;
+    char
+        keytype[BUFFSIZE],
+        locktype[BUFFSIZE];
+
+    printf("L %s K %s ", lock, key);
+
+    rawkey = lock_strip_alpha(key, keytype);
+    rawlock = lock_strip_alpha(lock, locktype);
+
+    if (!strcmp(keytype, locktype)) {
+        if (!strcmp(keytype, "sha1")) {
+            if (!sha_verify(rawkey, rawlock))
+                printf("sha1 OK\n");
+            else
+                printf("sha1 no\n");
+        }
+        else
+            printf("unknown\n");
+    }
+    else
+        printf("Mismatch %s %s\n", keytype, locktype);
+}
+
+
+int
+main(void)
+{
+    char
+        cankey[256],
+        canlock[256],
+        *lkey,
+        *llock;
+    unsigned char
+        secret[] = "fluffy",
+        message[] = "<lkr905851929.22670@meow.invalid>";
+
+    printf("Secret %s\n", secret);
+    printf("Message %s\n", message);
+
+    llock = sha_lock(secret, strlen((char *) secret),
+                     message, strlen((char *) message));
+    lkey = sha_key(secret, strlen((char *) secret),
+                   message, strlen((char *)message));
+
+    printf("%s%s %s\n", "SHA Expect Lock/Key:\n",
+           "L sha1:ScU1gyAi9bd/aFEOyzg4m99lwXs=",
+           "K sha1:C1Me/4n0l/V778Ih3J2UnhAoHrA=");
+
+    checker(lkey, llock);
+    free((void *) llock);
+    free((void *) lkey);
+    printf("---\n");
+
+/*********/
+
+    printf("Testing against usefor cancel lock draft 01 samples...\n");
+
+    sprintf(canlock, "%s", "sha1:bNXHc6ohSmeHaRHHW56BIWZJt+4=");
+    sprintf(cankey, "%s", "sha1:aaaBBBcccDDDeeeFFF");
+    checker(cankey, canlock);
+    printf("---above should have been OK---\n");
+
+/*********/
+
+    sprintf(canlock, "%s", "SHA1:H7/zsCUemvbvSDyARDaMs6AQu5s=");
+    sprintf(cankey, "%s", "sha1:chW8hNeDx3iNUsGBU6/ezDk88P4=");
+    checker(cankey, canlock);
+
+    sprintf(canlock, "%s", "SHA1:H7/zsCUemvbvSDyARDaMs6AQu5s=");
+    sprintf(cankey, "%s", "sha1:4srkWaRIzvK51ArAP:Hc");
+    checker(cankey, canlock);
+    printf("---above should have been OK, no---\n");
+
+/*********/
+
+    sprintf(canlock, "%s", "sha1:JyEBL4w9/abCBuzCxMIE/E73GM4=");
+    sprintf(cankey, "%s", "sha1:K4rkWRjRcXmIzvK51ArAP:Jy");
+    checker(cankey, canlock);
+
+    sprintf(canlock, "%s", "sha1:2Bmg+zWaY1noRiCdy8k3IapwSDU=");
+    sprintf(cankey, "%s", "sha1:K4rkWRjRcXmIzvK51ArAP:Jy");
+    checker(cankey, canlock);
+    printf("---above should have been OK, no---\n");
+    
+    return 0;
+}
diff -Nurp tin-1.9.2/libcanlock/t/canlocktest.shouldbe tin-1.9.3/libcanlock/t/canlocktest.shouldbe
--- tin-1.9.2/libcanlock/t/canlocktest.shouldbe	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/t/canlocktest.shouldbe	2008-03-14 10:21:41.000000000 +0100
@@ -0,0 +1,15 @@
+Secret fluffy
+Message <lkr905851929.22670@meow.invalid>
+SHA Expect Lock/Key:
+L sha1:ScU1gyAi9bd/aFEOyzg4m99lwXs= K sha1:C1Me/4n0l/V778Ih3J2UnhAoHrA=
+L sha1:ScU1gyAi9bd/aFEOyzg4m99lwXs= K sha1:C1Me/4n0l/V778Ih3J2UnhAoHrA= sha1 OK
+---
+Testing against usefor cancel lock draft 01 samples...
+L sha1:bNXHc6ohSmeHaRHHW56BIWZJt+4= K sha1:aaaBBBcccDDDeeeFFF sha1 OK
+---above should have been OK---
+L SHA1:H7/zsCUemvbvSDyARDaMs6AQu5s= K sha1:chW8hNeDx3iNUsGBU6/ezDk88P4= sha1 OK
+L SHA1:H7/zsCUemvbvSDyARDaMs6AQu5s= K sha1:4srkWaRIzvK51ArAP:Hc sha1 no
+---above should have been OK, no---
+L sha1:JyEBL4w9/abCBuzCxMIE/E73GM4= K sha1:K4rkWRjRcXmIzvK51ArAP:Jy sha1 OK
+L sha1:2Bmg+zWaY1noRiCdy8k3IapwSDU= K sha1:K4rkWRjRcXmIzvK51ArAP:Jy sha1 no
+---above should have been OK, no---
diff -Nurp tin-1.9.2/libcanlock/t/hmactest.c tin-1.9.3/libcanlock/t/hmactest.c
--- tin-1.9.2/libcanlock/t/hmactest.c	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/t/hmactest.c	2008-03-14 10:21:41.000000000 +0100
@@ -0,0 +1,115 @@
+/*
+ * hmac test program
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "sha1.h"
+#include "hmac_sha1.h"
+
+int
+main(void)
+{
+    unsigned char
+        *hmachash,
+        key1[] = "Jefe",
+        message1[] = "what do ya want for nothing?",
+        key2[20],
+        message2[] = "Hi There",
+        key3[80],
+        message3[] = "Test Using Larger Than Block-Size Key - Hash Key First",
+        key4[80],
+        message4[] = "Test Using Larger Than Block-Size Key and Larger "
+                     "Than One Block-Size Data",
+        key5[] = {  0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+                    0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+                    0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
+                    0x19, 0x00
+                 },
+        message5[50];
+    int
+        i;
+
+
+    for (i = 0; i < 20; i++)
+        key2[i] = 0x0b;
+
+    for (i = 0; i < 80; i++)
+        key3[i] = 0xaa;
+
+    for (i = 0; i < 80; i++)
+        key4[i] = 0xaa;
+
+    for (i = 0; i < 50; i++)
+        message5[i] = 0xcd;
+
+    printf("Key: %s\n", key1);
+    printf("Msg: %s\n", message1);
+    hmachash = hmac_sha1(key1, strlen((char *) key1),
+                         message1, strlen((char *)message1));
+    printf("Expected SHA Digest: %s\n",
+           "0xeffcdf6ae5eb2fa2d27416d5f184df9c259a7c79");
+    printf("  Actual SHA Digest: 0x");
+    for (i = 0; i < SHA_DIGESTSIZE; i++)
+        printf("%02x", hmachash[i]);
+    putchar('\n');
+
+
+/********/
+
+    printf("\nKey: 0x0b, len 20 for SHA, 16 for MD5\n");
+    printf("Msg: %s\n", message2);
+
+
+    hmachash = hmac_sha1(key2, 20, message2, strlen((char *) message2));
+    printf("Expected SHA Digest: %s\n",
+           "0xb617318655057264e28bc0b6fb378c8ef146be00");
+    printf("  Actual SHA Digest: 0x");
+    for (i = 0; i < SHA_DIGESTSIZE; i++)
+        printf("%02x", hmachash[i]);
+    putchar('\n');
+
+/********/
+
+    printf("\nKey: 0xaa repeated 80 times\n");
+    printf("Msg: %s\n", message3);
+
+    hmachash = hmac_sha1(key3, 80, message3, strlen((char *) message3));
+    printf("Expected SHA Digest: %s\n",
+           "0xaa4ae5e15272d00e95705637ce8a3b55ed402112");
+    printf("  Actual SHA Digest: 0x");
+    for (i = 0; i < SHA_DIGESTSIZE; i++)
+        printf("%02x", hmachash[i]);
+    putchar('\n');
+
+/********/
+
+    printf("\nKey: 0xaa repeated 80 times\n");
+    printf("Msg: %s\n", message4);
+
+    hmachash = hmac_sha1(key4, 80, message4, strlen((char *) message4));
+    printf("Expected SHA Digest: %s\n",
+           "0xe8e99d0f45237d786d6bbaa7965c7808bbff1a91");
+    printf("  Actual SHA Digest: 0x");
+    for (i = 0; i < SHA_DIGESTSIZE; i++)
+        printf("%02x", hmachash[i]);
+    putchar('\n');
+
+/********/
+
+    printf("\nKey: 0x");
+    for (i = 0; i < 25; i++)
+        printf("%02x", key5[i]);
+
+    printf("\nMsg: 0xcd repeated 50 times\n");
+
+    hmachash = hmac_sha1(key5, 25, message5, 50);
+    printf("Expected SHA Digest: %s\n",
+           "0x4c9007f4026250c6bc8414f9bf50c86c2d7235da");
+    printf("  Actual SHA Digest: 0x");
+    for (i = 0; i < SHA_DIGESTSIZE; i++)
+        printf("%02x", hmachash[i]);
+    putchar('\n');
+
+    return 0;
+}
diff -Nurp tin-1.9.2/libcanlock/t/hmactest.shouldbe tin-1.9.3/libcanlock/t/hmactest.shouldbe
--- tin-1.9.2/libcanlock/t/hmactest.shouldbe	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/libcanlock/t/hmactest.shouldbe	2008-03-14 10:21:41.000000000 +0100
@@ -0,0 +1,24 @@
+Key: Jefe
+Msg: what do ya want for nothing?
+Expected SHA Digest: 0xeffcdf6ae5eb2fa2d27416d5f184df9c259a7c79
+  Actual SHA Digest: 0xeffcdf6ae5eb2fa2d27416d5f184df9c259a7c79
+
+Key: 0x0b, len 20 for SHA, 16 for MD5
+Msg: Hi There
+Expected SHA Digest: 0xb617318655057264e28bc0b6fb378c8ef146be00
+  Actual SHA Digest: 0xb617318655057264e28bc0b6fb378c8ef146be00
+
+Key: 0xaa repeated 80 times
+Msg: Test Using Larger Than Block-Size Key - Hash Key First
+Expected SHA Digest: 0xaa4ae5e15272d00e95705637ce8a3b55ed402112
+  Actual SHA Digest: 0xaa4ae5e15272d00e95705637ce8a3b55ed402112
+
+Key: 0xaa repeated 80 times
+Msg: Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data
+Expected SHA Digest: 0xe8e99d0f45237d786d6bbaa7965c7808bbff1a91
+  Actual SHA Digest: 0xe8e99d0f45237d786d6bbaa7965c7808bbff1a91
+
+Key: 0x0102030405060708090a0b0c0d0e0f10111213141516171819
+Msg: 0xcd repeated 50 times
+Expected SHA Digest: 0x4c9007f4026250c6bc8414f9bf50c86c2d7235da
+  Actual SHA Digest: 0x4c9007f4026250c6bc8414f9bf50c86c2d7235da
diff -Nurp tin-1.9.2/mkdirs.sh tin-1.9.3/mkdirs.sh
--- tin-1.9.2/mkdirs.sh	2006-12-21 14:41:15.000000000 +0100
+++ tin-1.9.3/mkdirs.sh	2008-03-30 18:01:51.000000000 +0200
@@ -1,10 +1,12 @@
 #! /bin/sh
+# $Id: mkdirs.sh,v 1.5 2007/03/25 22:29:46 tom Exp $
+# -----------------------------------------------------------------------------
 # mkinstalldirs --- make directory hierarchy
 # Author: Noah Friedman <friedman@prep.ai.mit.edu>
 # Created: 1993-05-16
 # Last modified: 1994-03-25
 # Public domain
-#
+# -----------------------------------------------------------------------------
 
 errstatus=0
 umask 022
@@ -24,8 +26,19 @@ for file in ${1+"$@"} ; do
         echo "mkdir $pathcomp" 1>&2
         case "$pathcomp" in
           [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]: )
-                ;;               # DOSISH systems
-          * )          mkdir "$pathcomp" || errstatus=$? ;;
+            ;;               # DOSISH systems
+          * )
+            mkdir "$pathcomp"
+            errstatus=$?
+            if test $errstatus != 0
+            then
+               # may have failed if invoked in a parallel "make -j# install"
+               if test -d "$pathcomp"
+               then
+                  errstatus=0
+               fi
+            fi
+            ;;
         esac
      fi
 
diff -Nurp tin-1.9.2/pcre/version.sh tin-1.9.3/pcre/version.sh
--- tin-1.9.2/pcre/version.sh	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/pcre/version.sh	2008-03-30 18:01:51.000000000 +0200
@@ -0,0 +1,12 @@
+#! /bin/sh
+#
+# Provide the current PCRE version information. Do not use numbers
+# with leading zeros for the minor version, as they end up in a C
+# macro, and may be treated as octal constants. Stick to single
+# digits for minor numbers less than 10. There are unlikely to be
+# that many releases anyway.
+
+PCRE_MAJOR=7
+PCRE_MINOR=0
+PCRE_DATE=18-Dec-2006
+PCRE_VERSION=${PCRE_MAJOR}.${PCRE_MINOR}
Binary files tin-1.9.2/po/de.gmo and tin-1.9.3/po/de.gmo differ
diff -Nurp tin-1.9.2/po/de.po tin-1.9.3/po/de.po
--- tin-1.9.2/po/de.po	2007-02-01 14:02:43.000000000 +0100
+++ tin-1.9.3/po/de.po	2008-05-06 19:16:44.000000000 +0200
@@ -5,9 +5,9 @@
 # Christian Garbs <tin-dev@cgarbs.de>, 2003
 #
 msgid	""
-msgstr	"Project-Id-Version: tin 1.9.2\n"
+msgstr	"Project-Id-Version: tin 1.9.3\n"
 	"Report-Msgid-Bugs-To: \n"
-	"POT-Creation-Date: 2007-02-01 14:02+0100\n"
+	"POT-Creation-Date: 2008-05-06 18:44+0200\n"
 	"PO-Revision-Date: 2005-01-29 23:50+0100\n"
 	"Last-Translator: Sven Hartge <oweh@ds9.argh.org>, Kai Bojens <kbojens@on-"
 	"luebeck.de>\n"
@@ -16,337 +16,310 @@ msgstr	"Project-Id-Version: tin 1.9.2\n"
 	"Content-Type: text/plain; charset=ISO-8859-1\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1545
-#, c-format
-msgid	"%d Bad overview record (%d fields) '%s'"
-msgstr	"%d Fehlerhafter Overview-Datensatz (%d Felder) '%s'"
-
-#: src/attrib.c:649
+#: src/attrib.c:700
 #, c-format
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	"# Diesen Kommentarabschnitt nicht verändern\n"
 	"#\n"
 
-#: src/attrib.c:650
+#: src/attrib.c:701
 #, c-format
-msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
+msgid	"#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	"#  scope=ZEICHENKETTE  [notwendig]\n"
 	"#    Gültigkeitsbereich, z.B. alt.*,!alt.bin*\n"
 
-#: src/attrib.c:651
+#: src/attrib.c:702
 #, c-format
-msgid	"#  maildir=STRING (ie. ~/Mail)\n"
+msgid	"#  maildir=STRING (eg. ~/Mail)\n"
 msgstr	"#  maildir=ZEICHENKETTE\n"
 	"#    Verzeichnis der Mail-Ordner, z.B. ~/Mail\n"
 
-#: src/attrib.c:652
+#: src/attrib.c:703
 #, c-format
-msgid	"#  savedir=STRING (ie. ~user/News)\n"
+msgid	"#  savedir=STRING (eg. ~user/News)\n"
 msgstr	"#  savedir=ZEICHENKETTE\n"
 	"#    Verzeichnis zum Speichern, z.B. ~user/News\n"
 
-#: src/attrib.c:653
+#: src/attrib.c:704
 #, c-format
-msgid	"#  savefile=STRING (ie. =linux)\n"
+msgid	"#  savefile=STRING (eg. =linux)\n"
 msgstr	"#  savefile=ZEICHENKETTE\n"
 	"#    Datei zum Speichern, z.B. =linux\n"
 
-#: src/attrib.c:654
+#: src/attrib.c:705
 #, c-format
-msgid	"#  sigfile=STRING (ie. $var/sig)\n"
+msgid	"#  sigfile=STRING (eg. $var/sig)\n"
 msgstr	"#  sigfile=ZEICHENKETTE\n"
 	"#    Signatur, z.B. $var/sig\n"
 
-#: src/attrib.c:655
+#: src/attrib.c:706
 #, c-format
 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/attrib.c:656
+#: src/attrib.c:707
 #, c-format
 msgid	"#  followup_to=STRING\n"
 msgstr	"#  followup_to=ZEICHENKETTE\n"
 	"#    Voreinstellung für den Followup-To-Header\n"
 
-#: src/attrib.c:657
+#: src/attrib.c:708
 #, c-format
-msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
+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/attrib.c:658
+#: src/attrib.c:709
 #, c-format
-msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
+msgid	"#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr	"#  x_headers=ZEICHENKETTE\n"
 	"#    Zusätzliche Header, z.B. ~/.tin/extra-headers\n"
 
-#: src/attrib.c:659
+#: src/attrib.c:710
 #, c-format
-msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
+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/attrib.c:660
+#: src/attrib.c:711
 #, c-format
 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/attrib.c:661
+#: src/attrib.c:712
 #, c-format
 msgid	"#  news_quote_format=STRING\n"
 msgstr	"#  news_quote_format=ZEICHENKETTE\n"
 	"#    Einleitungszeile, z.B. news_quote_format=In %%M, %%F wrote:\n"
 
-#: src/attrib.c:662
+#: src/attrib.c:713
 #, c-format
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	"#  quote_chars=ZEICHENKETTE\n"
 	"#    Zeichen für Zitate in Antworten, %%s oder %%S ergibt Autoreninitialien\n"
 
-#: src/attrib.c:663
+#: src/attrib.c:714
 #, c-format
 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/attrib.c:665
+#: src/attrib.c:716
 #, c-format
 msgid	"#  ispell=STRING\n"
 msgstr	"#  ispell=ZEICHENKETTE\n"
 	"#    Aufruf der Rechtschreibprüfung,\n"
 	"#    z.B. ispell -C -ddeutsch -w äöüÄÖÜß@ -Tlatin1\n"
 
-#: src/attrib.c:667
+#: src/attrib.c:718
 #, c-format
 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/attrib.c:668
+#: src/attrib.c:719
 #, c-format
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	"#  auto_save=ON/OFF\n"
 	"#    Artikel mit 'Archive-name:'-Header automatisch in die darin\n"
 	"#    angegebene Datei speichern\n"
 
-#: src/attrib.c:669
+#: src/attrib.c:720
 #, c-format
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	"#  batch_save=ON/OFF\n"
 	"#    Im Batch-Modus werden die Artikel beachtet\n"
 
-#: src/attrib.c:670
+#: src/attrib.c:721
 #, c-format
 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/attrib.c:671
+#: src/attrib.c:722
 #, c-format
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	"#  show_only_unread=ON/OFF\n"
 	"#    nur ungelesene Artikel anzeigen\n"
 
-#: src/attrib.c:672
+#: src/attrib.c:723
 #, c-format
 msgid	"#  thread_arts=NUM"
 msgstr	"#  thread_arts=ZAHL\n"
 	"#    Threading nach:"
 
-#: src/attrib.c:679
+#: src/attrib.c:730
 #, c-format
 msgid	"#  thread_perc=NUM\n"
 msgstr	"#  thread_perc=ZAHL\n"
 	"#    Wieviel Prozent des Subjects müssen gleich sein?\n"
 
-#: src/attrib.c:680
+#: src/attrib.c:731
 #, c-format
 msgid	"#  show_author=NUM\n"
 msgstr	"#  show_author=ZAHL\n"
 	"#    Anzeige des From-Felds\n"
 
-#: src/attrib.c:686
+#: src/attrib.c:737
 #, c-format
 msgid	"#  show_info=NUM\n"
 msgstr	"#  show_info=ZAHL\n"
 
-#: src/attrib.c:692
+#: src/attrib.c:743
 #, c-format
 msgid	"#  sort_art_type=NUM\n"
 msgstr	"#  sort_art_type=ZAHL\n"
 	"#    Artikel sortieren nach:\n"
 
-#: src/attrib.c:710
+#: src/attrib.c:761
 #, c-format
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	"#  sort_threads_type=ZAHL\n"
 	"#    Threads sortieren nach:\n"
 
-#: src/attrib.c:718
+#: src/attrib.c:769
 #, c-format
 msgid	"#  post_proc_type=NUM\n"
 msgstr	"#  post_proc_type=ZAHL\n"
 	"#    Nachbearbeitung\n"
 
-#: src/attrib.c:723
+#: src/attrib.c:774
 #, c-format
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	"#  quick_kill_scope=ZEICHENKETTE\n"
 	"#    Voreinstellung für Gültigkeitsbereich neuer Kill-Einträge,\n"
 	"#    z.B. talk.*\n"
 
-#: src/attrib.c:724
+#: src/attrib.c:775
 #, c-format
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	"#  quick_kill_expire=ON/OFF\n"
 	"#    Kill verfällt automatisch\n"
 
-#: src/attrib.c:725
+#: src/attrib.c:776
 #, c-format
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	"#  quick_kill_case=ON/OFF\n"
 	"#    Kill beachtet Gross/Kleinschreibung\n"
 
-#: src/attrib.c:726
+#: src/attrib.c:777
 #, c-format
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	"#  quick_kill_header=ZAHL\n"
 	"#    Killen nach:\n"
 
-#: src/attrib.c:727 src/attrib.c:734
+#: src/attrib.c:778 src/attrib.c:785
 #, c-format
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	"#    0=Subject (Gross/Kleinschreibung beachten), 1=Subject (G/K ignorieren)\n"
 
-#: src/attrib.c:728 src/attrib.c:735
+#: src/attrib.c:779 src/attrib.c:786
 #, c-format
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	"#    2=From (G/K beachten), 3=From (G/K ignorieren)\n"
 
-#: src/attrib.c:729 src/attrib.c:736
+#: src/attrib.c:780 src/attrib.c:787
 #, c-format
 msgid	"#    4=msgid 5=lines\n"
 msgstr	"#    4=Message-ID, 5=Zeilen\n"
 
-#: src/attrib.c:730
+#: src/attrib.c:781
 #, c-format
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	"#  quick_select_scope=ZEICHENKETTE\n"
 	"#    Voreinstellung für Gültigkeitsbereich neuer Auswahlregeln (Hochscoren)\n"
 
-#: src/attrib.c:731
+#: src/attrib.c:782
 #, c-format
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	"#  quick_select_expire=ON/OFF\n"
 	"#    Regel verfällt automatisch\n"
 
-#: src/attrib.c:732
+#: src/attrib.c:783
 #, c-format
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	"#  quick_select_case=ON/OFF\n"
 	"#    Regel beachtet Gross/Kleinschreibung\n"
 
-#: src/attrib.c:733
+#: src/attrib.c:784
 #, c-format
 msgid	"#  quick_select_header=NUM\n"
 msgstr	"#  quick_select_header=NUM\n"
 	"#    Auswählen (Hochscoren) nach:\n"
 
-#: src/attrib.c:737
+#: src/attrib.c:788
 #, c-format
 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/attrib.c:738
+#: src/attrib.c:789
 #, c-format
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	"#  fcc=ZEICHENKETTE\n"
 	"#    Datei in der eine Kopie der Mail abgelegt werden soll,#    z.B: "
 	"=mailbox\n"
 
-#: src/attrib.c:739
+#: src/attrib.c:790
 #, c-format
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	"#  tex2iso_conv=ON/OFF\n"
 	"#    Automatische Umwandlung von TeX-Umlauten\n"
 
-#: src/attrib.c:740
+#: src/attrib.c:791
 #, c-format
 msgid	"#  mime_forward=ON/OFF\n"
 msgstr	"#  mime_forward=ON/OFF\n"
 	"#    Weitergeleitete Artikel als MIME-Anhang senden\n"
 
-#: src/attrib.c:742
+#: src/attrib.c:793
 #, c-format
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	"#  mm_network_charset=Zeichensatz\n"
 	"#    Erlaubt sind folgende:"
 
-#: src/attrib.c:749
+#: src/attrib.c:800
 #, c-format
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	"#  undeclared_charset=ZEICHENKETTE\n"
 	"#    Voreinstellung ist US-ASCII\n"
 
-#: src/attrib.c:751
+#: src/attrib.c:802
 #, c-format
 msgid	"#\n"
 	"# Note that it is best to put general (global scoping)\n"
 msgstr	"#\n"
 	"# Es empfiehlt sich, zuerst allgemein gültige und danach spezielle,\n"
 
-#: src/attrib.c:752
+#: src/attrib.c:803
 #, c-format
 msgid	"# entries first followed by group specific entries.\n"
 	"#\n"
 msgstr	"# nur für bestimmte Newsgruppen gültige Einträge aufzuführen.\n"
 	"#\n"
 
-#: src/attrib.c:753
+#: src/attrib.c:804
 #, c-format
 msgid	"############################################################################\n"
-	"\n"
 msgstr	"############################################################################\n"
-	"\n"
 
-#: src/attrib.c:759
-#, c-format
-msgid	"# include extra headers\n"
-msgstr	"# Zusätzliche Header einfügen\n"
-
-#: src/attrib.c:767
-#, c-format
-msgid	"# in *sources* set post process type to shar only\n"
-msgstr	"# in *sources* nur Nachbearbeitung mit shar\n"
-
-#: src/attrib.c:771
-#, c-format
-msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
-msgstr	"# in *binaries* Nachbearbeitung ohne TeX2ISO umwandlung,\n"
-
-#: src/attrib.c:772
-#, c-format
-msgid	"# remove tmp files and set Followup-To: poster\n"
-msgstr	"# temporäre Dateien löschen und Followup-To: poster setzen\n"
-
-#: src/cook.c:559
+#: src/cook.c:558
 msgid	"(unknown)"
 msgstr	"(unbekannt)"
 
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:597 src/filter.c:605
+#: src/filter.c:592 src/filter.c:600
 msgid	"Removed from the previous rule: "
 msgstr	"Aus der vorigen Regel gelöscht: "
 
@@ -449,492 +422,497 @@ msgstr	"Artikel nicht verfügbar"
 msgid	"Article undeleted."
 msgstr	"Artikel löschen rückgängig gemacht."
 
-#: src/lang.c:66
+#: src/lang.c:65
+#, c-format
+msgid	"Article %4d of %4d"
+msgstr	"Artikel %4d von %4d"
+
+#: src/lang.c:67
 msgid	"articles"
 msgstr	"Artikel"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid	"This is a repost of the following article:"
 msgstr	"Dies ist ein Repost des folgenden Artikels:"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid	"article"
 msgstr	"Artikel"
 
-#: src/lang.c:69
+#: src/lang.c:70
 msgid	"Article"
 msgstr	"Artikel"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid	"-- %d %s mailed --"
 msgstr	"-- %d %s gemailt --"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid	" at %s"
 msgstr	" bei %s"
 
-#: src/lang.c:72
+#: src/lang.c:73
 #, c-format
 msgid	"%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n"
 msgstr	"%*s[-- %s/%s, Encoding %s%s%s, %d Zeilen%s%s --]\n"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid	", charset: "
 msgstr	", Zeichensatz: "
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid	"%*s[-- Description: %s --]\n"
 msgstr	"%*s[-- Beschreibung: %s --]\n"
 
-#: src/lang.c:75
+#: src/lang.c:76
 #, c-format
 msgid	"%d Authentication failed"
 msgstr	"%d Anmeldung fehlgeschlagen"
 
-#: src/lang.c:76
+#: src/lang.c:77
 msgid	"Server expects authentication.\n"
 msgstr	"Der Server verlangt Anmeldung (Passwort).\n"
 
-#: src/lang.c:77
+#: src/lang.c:78
 msgid	"    Please enter password: "
 msgstr	"    Bitte das Passwort eingeben: "
 
-#: src/lang.c:78
+#: src/lang.c:79
 msgid	"    Please enter username: "
 msgstr	"    Bitte den Usernamen eingeben: "
 
-#: src/lang.c:79
+#: src/lang.c:80
 #, c-format
 msgid	"Author search backwards [%s]> "
 msgstr	"Autorsuche rückwärts [%s]> "
 
-#: src/lang.c:80
+#: src/lang.c:81
 #, c-format
 msgid	"Author search forwards [%s]> "
 msgstr	"Autorsuche vorwärts [%s]> "
 
-#: src/lang.c:81
+#: src/lang.c:82
 #, c-format
 msgid	"Authorized for user: %s\n"
 msgstr	"Angemeldet als Benutzer: %s\n"
 
-#: src/lang.c:82
+#: src/lang.c:83
 #, c-format
 msgid	"Authorization failed for user: %s\n"
 msgstr	"Anmeldung für den Benutzer \"%s\" fehlgeschlagen\n"
 
-#: src/lang.c:83
+#: src/lang.c:84
 #, c-format
 msgid	"\n"
 	"Autosubscribed to %s"
 msgstr	"\n"
 	"Automatisch abonniert: %s"
 
-#: src/lang.c:84
+#: src/lang.c:85
 msgid	"Autosubscribing groups...\n"
 msgstr	"Automatisches Abonnieren der Gruppen...\n"
 
-#: src/lang.c:85
+#: src/lang.c:86
 #, c-format
 msgid	"Autoselecting articles (use '%s' to see all unread) ..."
 msgstr	"Automatische Artikelauswahl ('%s' um alle ungelesenen zu sehen) ..."
 
-#: src/lang.c:87
+#: src/lang.c:88
 #, c-format
 msgid	"Active file corrupt - %s"
 msgstr	"Die Datei 'active' ist beschädigt - %s"
 
-#: src/lang.c:88
+#: src/lang.c:89
 #, 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:89
+#: src/lang.c:90
 #, c-format
 msgid	"Unrecognized attribute: %s"
 msgstr	"Unbekannte Attribute: %s"
 
-#: src/lang.c:90
+#: src/lang.c:91
 #, c-format
 msgid	"Bad command. Type '%s' for help."
 msgstr	"Ungültiger Befehl. Drücken Sie '%s' für Hilfe."
 
-#: src/lang.c:92
+#: src/lang.c:93
 msgid	"Base article"
 msgstr	"Ursprungsartikel"
 
-#: src/lang.c:93
+#: src/lang.c:94
 msgid	"Base article range"
 msgstr	"Bereich für Ursprungsartikel"
 
-#: src/lang.c:94
+#: src/lang.c:95
 #, c-format
 msgid	"%s: Updating of index files not supported\n"
 msgstr	"%s: Aktualisieren der Index-Dateien nicht unterstützt\n"
 
-#: src/lang.c:95
+#: src/lang.c:96
 msgid	"*** Beginning of article ***"
 msgstr	"*** Anfang des Artikels ***"
 
-#: src/lang.c:97
+#: src/lang.c:98
 #, 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:98
+#: src/lang.c:99
 msgid	"Cancelling article..."
 msgstr	"Lösche Artikel..."
 
-#: src/lang.c:100
+#: src/lang.c:101
 #, c-format
 msgid	"Cannot create %s"
 msgstr	"Kann %s nicht erstellen"
 
-#: src/lang.c:101
+#: src/lang.c:102
 #, c-format
 msgid	"Can't find base article %d"
 msgstr	"Kann den Basisartikel %d nicht finden"
 
-#: src/lang.c:102
+#: src/lang.c:103
 #, c-format
 msgid	"Can't open %s"
 msgstr	"Kann %s nicht öffnen"
 
-#: src/lang.c:103
+#: src/lang.c:104
 #, c-format
 msgid	"Couldn't open %s for saving"
 msgstr	"Kann %s nicht speichern"
 
-#: src/lang.c:104
+#: src/lang.c:105
 msgid	"*** Posting not allowed ***"
 msgstr	"*** Posten nicht erlaubt ***"
 
-#: src/lang.c:105
+#: src/lang.c:106
 #, c-format
 msgid	"Posting is not allowed to %s"
 msgstr	"Posten nach %s ist nicht erlaubt"
 
-#: src/lang.c:106
+#: src/lang.c:107
 #, c-format
 msgid	"Can't retrieve %s"
 msgstr	"Kann %s nicht empfangen"
 
-#: src/lang.c:107
+#: src/lang.c:108
 #, c-format
 msgid	"%s is a directory"
 msgstr	"%s ist ein Verzeichnis"
 
-#: src/lang.c:108
+#: src/lang.c:109
 msgid	"Catchup"
 msgstr	"Aufholen"
 
-#: src/lang.c:109
+#: src/lang.c:110
 #, c-format
 msgid	"Catchup %s..."
 msgstr	"Aufholen von %s..."
 
-#: src/lang.c:110
+#: src/lang.c:111
 msgid	"Catchup all groups entered during this session?"
 msgstr	"Alle betretenen Gruppen als gelesen markieren?"
 
-#: src/lang.c:111
+#: src/lang.c:112
 msgid	"You have tagged articles in this group - catchup anyway?"
 msgstr	"Markierte Artikel in der Gruppe - trotzdem aufholen (als gelesen markieren)?"
 
-#: src/lang.c:112
+#: src/lang.c:113
 #, c-format
 msgid	"%s %d %s in %lu seconds\n"
 msgstr	"%s %d %s in %lu Sekunden\n"
 
-#: src/lang.c:113
+#: src/lang.c:114
 msgid	"Caughtup"
 msgstr	"Aufgeholt"
 
-#: src/lang.c:114
+#: src/lang.c:115
 msgid	"Check Prepared Article"
 msgstr	"Überprüfe vorbereiteten Artikel"
 
-#: src/lang.c:115
+#: src/lang.c:116
 msgid	"Checking for new groups... "
 msgstr	"Prüfe, ob neue Gruppen vorhanden sind... "
 
-#: src/lang.c:116
+#: src/lang.c:117
 msgid	"Checking for news..."
 msgstr	"Prüfe, ob neue Artikel vorhanden sind..."
 
-#: src/lang.c:117
+#: src/lang.c:118
 #, 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:119
+#: src/lang.c:120
 msgid	"ANSI color disabled"
 msgstr	"ANSI Farben ausgeschaltet"
 
-#: src/lang.c:120
+#: src/lang.c:121
 msgid	"ANSI color enabled"
 msgstr	"ANSI Farben eingeschaltet"
 
-#: src/lang.c:122
+#: src/lang.c:123
 #, c-format
 msgid	"Command failed: %s"
 msgstr	"Befehl fehlgeschlagen: %s"
 
-#: src/lang.c:123
+#: src/lang.c:124
 msgid	"Mark not selected articles read?"
 msgstr	"Nicht ausgewählte (hot) Artikel auf gelesen setzen?"
 
-#: src/lang.c:124
+#: src/lang.c:125
 #, c-format
 msgid	"Connecting to %s..."
 msgstr	"Verbinde mit %s..."
 
-#: src/lang.c:125
+#: src/lang.c:126
 msgid	"<CR>"
 msgstr	"<CR>"
 
-#: src/lang.c:126
+#: src/lang.c:127
 msgid	"Creating active file for saved groups...\n"
 msgstr	"Erzeuge die Datei 'active' für gespeicherte Gruppen...\n"
 
-#: src/lang.c:127
+#: src/lang.c:128
 msgid	"Creating newsrc file...\n"
 msgstr	"Erzeuge newsrc Datei...\n"
 
-#: src/lang.c:129 src/lang.c:1150
+#: src/lang.c:130 src/lang.c:1150
 msgid	"Default"
 msgstr	"Voreinstellung"
 
-#: src/lang.c:130
+#: src/lang.c:131
 msgid	"Delete saved files that have been post processed?"
 msgstr	"Löschen der gespeicherten Dateien, die nachbearbeitet wurden?"
 
-#: src/lang.c:131
+#: src/lang.c:132
 msgid	"Deleting temporary files..."
 msgstr	"Lösche temporäre Dateien..."
 
-#: src/lang.c:133
+#: src/lang.c:134
 msgid	"*** End of article ***"
 msgstr	"*** Ende des Artikels ***"
 
-#: src/lang.c:134
+#: src/lang.c:135
 msgid	"*** End of articles ***"
 msgstr	"*** Ende der Artikel ***"
 
-#: src/lang.c:135
+#: src/lang.c:136
 msgid	"*** End of groups ***"
 msgstr	"*** Ende der Gruppen ***"
 
-#: src/lang.c:136
+#: src/lang.c:137
 msgid	"*** End of thread ***"
 msgstr	"*** Ende des Threads ***"
 
-#: src/lang.c:137
+#: src/lang.c:138
 msgid	"Enter limit of articles to get> "
 msgstr	"Anzahl zu holender Artikel> "
 
-#: src/lang.c:138
+#: src/lang.c:139
 msgid	"Enter Message-ID to go to> "
 msgstr	"Message-ID, die Sie suchen> "
 
-#: src/lang.c:139
+#: src/lang.c:140
 msgid	" and enter next unread thread"
 msgstr	" und nächsten ungel. Thread betreten"
 
-#: src/lang.c:140
+#: src/lang.c:141
 msgid	" and enter next unread group"
 msgstr	" und betritt nächste Gruppe"
 
-#: src/lang.c:141
+#: src/lang.c:142
 msgid	"Enter option number> "
 msgstr	"Optionsnummer eingeben> "
 
-#: src/lang.c:142
+#: src/lang.c:143
 #, c-format
 msgid	"Enter range [%s]> "
 msgstr	"Bereich eingeben [%s]> "
 
-#: src/lang.c:143
+#: src/lang.c:144
 msgid	"\n"
 	"Warning: Approved: header used.\n"
 msgstr	"\n"
 	"Warnung: Approved:-Header benutzt.\n"
 
-#: src/lang.c:145
+#: src/lang.c:146
 msgid	"\n"
 	"Error: Bad address in Approved: header.\n"
 msgstr	"\n"
 	"Fehler: Ungültige Adresse im Approved:-Header.\n"
 
-#: src/lang.c:146
+#: src/lang.c:147
 msgid	"\n"
 	"Error: Bad address in From: header.\n"
 msgstr	"\n"
 	"Fehler: Ungültige Adresse im From:-Header.\n"
 
-#: src/lang.c:147
+#: src/lang.c:148
 msgid	"\n"
 	"Error: Bad address in Reply-To: header.\n"
 msgstr	"\n"
 	"Fehler: Ungültige Adresse im Reply-To:-Header.\n"
 
-#: src/lang.c:148
+#: src/lang.c:149
 msgid	"\n"
 	"Error: Bad FQDN in Message-ID: header.\n"
 msgstr	"\n"
 	"Fehler: Ungültiger FQDN im Message-ID:-Header.\n"
 
-#: src/lang.c:149
+#: src/lang.c:150
 #, c-format
 msgid	"Can't unlock %s"
 msgstr	"Kann Lock auf %s nicht entfernen"
 
-#: src/lang.c:151
+#: src/lang.c:152
 #, c-format
 msgid	"Corrupted file %s"
 msgstr	"Datei %s ist beschädigt"
 
-#: src/lang.c:152
+#: src/lang.c:153
 #, c-format
 msgid	"Couldn't dotlock %s - article not appended!"
 msgstr	"Konnte %s nicht dotlocken - Artikel nicht angehängt!"
 
-#: src/lang.c:153
+#: src/lang.c:154
 #, c-format
 msgid	"Couldn't lock %s - article not appended!"
 msgstr	"Konnte %s nicht locken - Artikel nicht angehängt!"
 
-#: src/lang.c:155
+#: src/lang.c:156
 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:156
+#: src/lang.c:157
 msgid	"Left angle bracket missing in route address.\n"
 msgstr	"Linkes Größerzeichen '<' fehlt in Route-Adresse.\n"
 
-#: src/lang.c:157
+#: src/lang.c:158
 msgid	"Left parenthesis missing in old-style address.\n"
 msgstr	"Linke Klammer '(' fehlt in EMail-Adresse (alter Stil).\n"
 
-#: src/lang.c:158
+#: src/lang.c:159
 msgid	"Right parenthesis missing in old-style address.\n"
 msgstr	"Rechte Klammer ')' fehlt in EMail-Adresse (alter Stil).\n"
 
-#: src/lang.c:159
+#: src/lang.c:160
 msgid	"At-sign missing in mail address.\n"
 msgstr	"In der Mailadresse fehlt das '@'.\n"
 
-#: src/lang.c:160
+#: src/lang.c:161
 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:161
+#: src/lang.c:162
 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	"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:162
+#: src/lang.c:163
 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	"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:163
+#: src/lang.c:164
 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	"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:164
+#: src/lang.c:165
 msgid	"Illegal character in FQDN.\n"
 msgstr	"Ungültiges Zeichen im FQDN.\n"
 
-#: src/lang.c:165
+#: src/lang.c:166
 msgid	"Zero length FQDN component not allowed.\n"
 msgstr	"Der FQDN darf keine leere Komponente enthalten.\n"
 
-#: src/lang.c:166
+#: src/lang.c:167
 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:167
+#: src/lang.c:168
 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:168
+#: src/lang.c:169
 msgid	"FQDN component may not start with digit.\n"
 msgstr	"Komponenten des FQDN dürfen nicht mit einer Zahl beginnen.\n"
 
-#: src/lang.c:169
+#: src/lang.c:170
 msgid	"Domain literal has impossible numeric value.\n"
 msgstr	"Die IP-Adresse ist nicht gültig.\n"
 
-#: src/lang.c:170
+#: src/lang.c:171
 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:171
+#: src/lang.c:172
 msgid	"Right bracket missing in domain literal.\n"
 msgstr	"Die rechte Klammer nach der IP-Adresse fehlt.\n"
 
-#: src/lang.c:172
+#: src/lang.c:173
 msgid	"Missing localpart of mail address.\n"
 msgstr	"Fehlender Lokalteil in der Mailadresse.\n"
 
-#: src/lang.c:173
+#: src/lang.c:174
 msgid	"Illegal character in localpart of mail address.\n"
 msgstr	"Ungültiges Zeichen im Lokalteil der Mailadresse.\n"
 
-#: src/lang.c:174
+#: src/lang.c:175
 msgid	"Zero length localpart component not allowed.\n"
 msgstr	"Eine leere Lokalteilkomponente ist nicht erlaubt.\n"
 
-#: src/lang.c:175
+#: src/lang.c:176
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr	"Ungültiges Zeichen im Realname.\n"
 	"Ungeschützte Wörter dürfen kein '!()<>@,;:\\.[]' in der Adresse enthalten.\n"
 
-#: src/lang.c:176
+#: src/lang.c:177
 msgid	"Illegal character in realname.\n"
 	"Quoted words may not contain '()<>\\'.\n"
 msgstr	"Ungültiges Zeichen im Realname.\n"
 	"Geschützte Wörter dürfen kein '()<>\\' enthalten.\n"
 
-#: src/lang.c:177
+#: src/lang.c:178
 msgid	"Illegal character in realname.\n"
 	"Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr	"Ungültiges Zeichen im Realname.\n"
 	"Kodierte Wörter dürfen '!()<>@,;:\"\\.[]/=' nicht enthalten.\n"
 
-#: src/lang.c:178
+#: src/lang.c:179
 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:179
+#: src/lang.c:180
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr	"Ungültiges Zeichen im Realname.\n"
 	"Ungeschützte Wörter dürfen kein '()<>\\' in Adressen enthalten (alter Stil).\n"
 
-#: src/lang.c:180
+#: src/lang.c:181
 msgid	"Illegal character in realname.\n"
 	"Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr	"Ungültiges Zeichen im Realname.\n"
 	"Kontrollzeichen und unkodierte 8bit Zeichen > 127 sind verboten.\n"
 
-#: src/lang.c:181
+#: src/lang.c:182
 msgid	"\n"
 	"Error: No blank line found after header.\n"
 msgstr	"\n"
 	"Fehler: Keine Leerzeile nach dem Header gefunden.\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:183
+#: src/lang.c:184
 msgid	"\n"
 	"Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
 	"       US-ASCII  - please change this setting to a suitable value for\n"
@@ -946,7 +924,7 @@ msgstr	"\n"
 	"        passenden  Wert für Ihre  Sprache,  indem Sie  M)enü benutzen,\n"
 	"        oder direkt die tinrc ändern.\n"
 
-#: src/lang.c:188
+#: src/lang.c:189
 msgid	"\n"
 	"Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
 	"       for news  messages  is set  to \"7bit\"  -  please change this\n"
@@ -959,13 +937,13 @@ msgstr	"\n"
 	"        \"8bit\" oder \"quoted-printable\" - Zeichensatzabhängig -  via\n"
 	"         M)enü oder durch editieren der tinrc.\n"
 
-#: src/lang.c:194
+#: src/lang.c:195
 msgid	"\n"
 	"Error: Article starts with blank line instead of header\n"
 msgstr	"\n"
 	"Fehler: Der Artikel beginnt mit einer Leerzeile anstatt des Headers\n"
 
-#: src/lang.c:195
+#: src/lang.c:196
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a colon after the header name:\n"
@@ -974,21 +952,21 @@ msgstr	"\n"
 	"Fehler: Der Header in Zeile %d enthält kein ':' nach seinem Bezeichner:\n"
 	"%s\n"
 
-#: src/lang.c:196
+#: src/lang.c:197
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is empty.\n"
 msgstr	"\n"
 	"Fehler: Die \"%s:\" Zeile ist leer.\n"
 
-#: src/lang.c:197
+#: src/lang.c:198
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is missing from the article header.\n"
 msgstr	"\n"
 	"Fehler: Die \"%s:\" Zeile fehlt im Artikel Header.\n"
 
-#: src/lang.c:198
+#: src/lang.c:199
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a space after the colon:\n"
@@ -997,152 +975,152 @@ msgstr	"\n"
 	"Fehler: Der Header in der Zeile %d hat kein Leerzeichen nach dem ':' :\n"
 	"%s\n"
 
-#: src/lang.c:199
+#: src/lang.c:200
 #, c-format
 msgid	"\n"
 	"Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr	"\n"
 	"Fehler: Es sind mehrere (%d) \"%s:\" Zeilen im Header.\n"
 
-#: src/lang.c:200
+#: src/lang.c:201
 #, c-format
 msgid	"Insecure permissions of %s (%o)"
 msgstr	"Unsichere Zugriffsbeschränkungen auf %s (%o)"
 
-#: src/lang.c:201
+#: src/lang.c:202
 #, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	"Ungültige Antwort auf GROUP-Befehl, %s"
 
-#: src/lang.c:203
+#: src/lang.c:204
 #, c-format
 msgid	"MIME parse error: Unexpected end of %s/%s article"
 msgstr	"MIME-Fehler: Unerwartetes Ende des %s/%s-Artikels"
 
-#: src/lang.c:204
+#: src/lang.c:205
 msgid	"MIME parse error: Start boundary whilst reading headers"
 msgstr	"MIME-Fehler: Anfangsgrenze in Hadern"
 
-#: src/lang.c:205
+#: src/lang.c:206
 msgid	"Can't get a (fully-qualified) domain-name!"
 msgstr	"Kann keinen (vollqualifizierten) Domainnamen finden!"
 
-#: src/lang.c:206
+#: src/lang.c:207
 #, c-format
 msgid	"No permissions to go into %s\n"
 msgstr	"Keine Berechtigung um %s zu betreten\n"
 
-#: src/lang.c:207
+#: src/lang.c:208
 msgid	"\n"
 	"Error: From: line missing.\n"
 msgstr	"\n"
 	"Fehler: Die From: Zeile fehlt.\n"
 
-#: src/lang.c:208
+#: src/lang.c:209
 #, c-format
 msgid	"No read permissions for %s\n"
 msgstr	"Keine Leseberechtigung für %s\n"
 
-#: src/lang.c:209
+#: src/lang.c:210
 #, c-format
 msgid	"File %s does not exist\n"
 msgstr	"Datei %s existiert nicht\n"
 
-#: src/lang.c:210
+#: src/lang.c:211
 #, c-format
 msgid	"No write permissions for %s\n"
 msgstr	"Keine Schreibberechtigung für %s\n"
 
-#: src/lang.c:211
+#: src/lang.c:212
 msgid	"Can't get user information (/etc/passwd missing?)"
 msgstr	"Kann Benutzer-Infos nicht finden (/etc/passwd fehlt?)"
 
-#: src/lang.c:212
+#: src/lang.c:213
 msgid	"errors"
 msgstr	"Fehler"
 
-#: src/lang.c:213
+#: src/lang.c:214
 #, c-format
 msgid	"\n"
 	"Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 msgstr	"\n"
 	"Fehler in Zeile %d: \"Sender:\" Header ist nicht erlaubt (wird hinzugefügt)\n"
 
-#: src/lang.c:214
+#: src/lang.c:215
 #, c-format
 msgid	"Server has non of the groups listed in %s"
 msgstr	"Server führt keine der Gruppen aus %s"
 
-#: src/lang.c:215
+#: src/lang.c:216
 msgid	"error"
 msgstr	"Fehler"
 
-#: src/lang.c:216
+#: src/lang.c:217
 msgid	"Unknown display level"
 msgstr	"Unbekannter Level"
 
-#: src/lang.c:217
+#: src/lang.c:218
 msgid	"<ESC>"
 msgstr	"<ESC>"
 
-#: src/lang.c:218
+#: src/lang.c:219
 msgid	"Exiting..."
 msgstr	"Beenden..."
 
-#: src/lang.c:219
+#: src/lang.c:220
 msgid	"leaving external mail-reader"
 msgstr	"Verlasse externen Mailreader"
 
-#: src/lang.c:220
+#: src/lang.c:221
 #, c-format
 msgid	"Extracting %s..."
 msgstr	"Entpacke %s..."
 
-#: src/lang.c:222
+#: src/lang.c:223
 #, 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:223
+#: src/lang.c:224
 #, c-format
 msgid	"Error making backup of %s file. Filesystem full?"
 msgstr	"Fehler beim Erzeugen der Sicherung von %s. Dateisystem voll?"
 
-#: src/lang.c:224
+#: src/lang.c:225
 #, c-format
 msgid	"Filtering global rules (%d/%d)..."
 msgstr	"Filtern nach den globalen Regeln (%d/%d)..."
 
-#: src/lang.c:225
+#: src/lang.c:226
 msgid	"Rule created by: "
 msgstr	"Regel erstellt von: "
 
-#: src/lang.c:226
+#: src/lang.c:227
 #, c-format
 msgid	"Enter pattern [%s]> "
 msgstr	"Muster eingeben [%s]> "
 
-#: src/lang.c:227
+#: src/lang.c:228
 #, c-format
 msgid	"\n"
 	"You requested followups to your article to go to the following %s:\n"
 msgstr	"\n"
 	"Antworten auf Ihre Artikel sollen in folgenden %s erscheinen:\n"
 
-#: src/lang.c:228
+#: src/lang.c:229
 #, 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:229
+#: src/lang.c:230
 msgid	"-- forwarded message --\n"
 msgstr	"-- weitergeleitete Nachricht --\n"
 
-#: src/lang.c:230
+#: src/lang.c:231
 msgid	"-- end of forwarded message --\n"
 msgstr	"-- Ende der weitergeleiteten Nachricht --\n"
 
-#: src/lang.c:231
+#: src/lang.c:232
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
 	"placed\n"
@@ -1206,754 +1184,755 @@ msgstr	"# Format:\n"
 	"#                     (Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC)\n"
 	"#\n"
 
-#: src/lang.c:252
+#: src/lang.c:253
 #, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	"Bewertung für Regel (Standard=%d): "
 
-#: src/lang.c:253
+#: src/lang.c:254
 #, 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:254
+#: src/lang.c:255
 msgid	"Full"
 msgstr	"Voll"
 
-#: src/lang.c:255
+#: src/lang.c:256
 msgid	"Comment (optional)  : "
 msgstr	"Kommentar (optional): "
 
-#: src/lang.c:256
+#: src/lang.c:257
 msgid	"Apply pattern to    : "
 msgstr	"Wende Muster an auf : "
 
-#: src/lang.c:257
+#: src/lang.c:258
 msgid	"From: line (ignore case)      "
 msgstr	"From: Zeile (ignoriere Groß- Kleinschreibung)"
 
-#: src/lang.c:258
+#: src/lang.c:259
 msgid	"From: line (case sensitive)   "
 msgstr	"From: Zeile (Groß- Kleinschreibung beachten) "
 
-#: src/lang.c:260
+#: src/lang.c:261
 #, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	"%s%s: Unbekannter Host.\n"
 
-#: src/lang.c:261
+#: src/lang.c:262
 msgid	"global "
 msgstr	"Global "
 
-#: src/lang.c:262
+#: src/lang.c:263
 #, c-format
 msgid	"Please use %.100s instead"
 msgstr	"Bitte %.100s statt dessen benutzen"
 
-#: src/lang.c:263
+#: src/lang.c:264
 #, c-format
 msgid	"%s is bogus"
 msgstr	"%s ist ungültig"
 
-#: src/lang.c:264
+#: src/lang.c:265
 #, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	"Gruppe %s ist moderiert. Fortfahren?"
 
-#: src/lang.c:265
+#: src/lang.c:266
 msgid	"groups"
 msgstr	"Gruppen"
 
-#: src/lang.c:266
+#: src/lang.c:267
 #, c-format
 msgid	"Rereading %s..."
 msgstr	"Lese %s..."
 
-#: src/lang.c:267
+#: src/lang.c:268
 msgid	"Top Level Commands"
 msgstr	"Top Level Befehle"
 
-#: src/lang.c:268
+#: src/lang.c:269
 msgid	"Group Selection"
 msgstr	"Gruppen-Auswahl"
 
-#: src/lang.c:269
+#: src/lang.c:270
 msgid	"group"
 msgstr	"Gruppe"
 
-#: src/lang.c:271
+#: src/lang.c:272
 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:272
+#: src/lang.c:273
 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:273
+#: src/lang.c:274
 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:274
+#: src/lang.c:275
 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:275
+#: src/lang.c:276
 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:276
+#: src/lang.c:277
 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:277
+#: src/lang.c:278
 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:278
+#: src/lang.c:279
 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:279
+#: src/lang.c:280
 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:280
+#: src/lang.c:281
 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:281
+#: src/lang.c:282
 msgid	"kill an article via a menu"
 msgstr	"killt einen Artikel mittels eines Menüs"
 
-#: src/lang.c:282
+#: src/lang.c:283
 msgid	"auto-select (hot) an article via a menu"
 msgstr	"Filterregel (hochscoren) für Artikel via Menü erstellen"
 
-#: src/lang.c:283
+#: src/lang.c:284
 msgid	"Browse URLs in article"
 msgstr	"URLs im Artikel mit Browser öffnen"
 
-#: src/lang.c:284
+#: src/lang.c:285
 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:285
+#: src/lang.c:286
 msgid	"cancel (delete) or supersede (overwrite) current article"
 msgstr	"cancelt (löscht) oder ersetzt den aktuellen Artikel"
 
-#: src/lang.c:286
+#: src/lang.c:287
 msgid	"edit article (mail-groups only)"
 msgstr	"editiere Artikel (nur bei Mail-Gruppen)"
 
-#: src/lang.c:287
+#: src/lang.c:288
 msgid	"display first article in current thread"
 msgstr	"ersten Artikel im aktuellen Thread anzeigen"
 
-#: src/lang.c:288
+#: src/lang.c:289
 msgid	"display first page of article"
 msgstr	"zeigt erste Seite des Artikels an"
 
-#: src/lang.c:289
+#: src/lang.c:290
 msgid	"post followup to current article"
 msgstr	"aktuellen Artikel beantworten (followup)"
 
-#: src/lang.c:290
+#: src/lang.c:291
 msgid	"post followup (don't copy text) to current article"
 msgstr	"aktuellen Artikel beantworten, ohne Zitieren des Textes"
 
-#: src/lang.c:291
+#: src/lang.c:292
 msgid	"post followup to current article quoting complete headers"
 msgstr	"aktuellen Artikel beantworten, mit Komplettzitat der Header"
 
-#: src/lang.c:292
+#: src/lang.c:293
 msgid	"display last article in current thread"
 msgstr	"letzten Artikel im aktuellen Thread anzeigen"
 
-#: src/lang.c:293
+#: src/lang.c:294
 msgid	"display last page of article"
 msgstr	"letzte Seite des Artikels anzeigen"
 
-#: src/lang.c:294
+#: src/lang.c:295
 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:295
+#: src/lang.c:296
 msgid	"display next article"
 msgstr	"nächsten Artikel anzeigen"
 
-#: src/lang.c:296
+#: src/lang.c:297
 msgid	"display first article in next thread"
 msgstr	"zeigt den ersten Artikel im nächsten Thread an"
 
-#: src/lang.c:297
+#: src/lang.c:298
 msgid	"display next unread article"
 msgstr	"nächsten ungelesenen Artikel anzeigen"
 
-#: src/lang.c:298
+#: src/lang.c:299
 msgid	"go to the article that this one followed up"
 msgstr	"(Bezugs)Artikel anzeigen, den der aktuelle Artikel beantwortet hat"
 
-#: src/lang.c:299
+#: src/lang.c:300
 msgid	"display previous article"
 msgstr	"vorhergehenden Artikel anzeigen"
 
-#: src/lang.c:300
+#: src/lang.c:301
 msgid	"display previous unread article"
 msgstr	"vorhergehenden ungelesenen Artikel anzeigen"
 
-#: src/lang.c:301
+#: src/lang.c:302
 msgid	"quickly kill an article using defaults"
 msgstr	"killt einen Artikel schnell und benutzt dabei die Voreinstellungen"
 
-#: src/lang.c:302
+#: src/lang.c:303
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	"markiert (hervorheben) Artikel und benutzt die Voreinstellungen"
 
-#: src/lang.c:303
+#: src/lang.c:304
 msgid	"return to group selection level"
 msgstr	"kehrt zum Gruppenauswahlmenü zurück"
 
-#: src/lang.c:304
+#: src/lang.c:305
 msgid	"reply through mail to author"
 msgstr	"Antwort per Mail an den Autor"
 
-#: src/lang.c:305
+#: src/lang.c:306
 msgid	"reply through mail (don't copy text) to author"
 msgstr	"Antwort per Mail an den Autor (ohne Zitieren des Textes)"
 
-#: src/lang.c:306
+#: src/lang.c:307
 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:307
+#: src/lang.c:308
 msgid	"repost chosen article to another group"
 msgstr	"gewählten Artikel in eine andere Gruppe reposten"
 
-#: src/lang.c:308
+#: src/lang.c:309
 msgid	"search backwards within this article"
 msgstr	"sucht rückwärts innerhalb des Artikels"
 
-#: src/lang.c:309
+#: src/lang.c:310
 msgid	"search forwards within this article"
 msgstr	"sucht vorwärts innerhalb des Artikels"
 
-#: src/lang.c:310
+#: src/lang.c:311
 msgid	"show article in raw-mode (including all headers)"
 msgstr	"Artikel im Rohformat (inklusive aller Header) anzeigen"
 
-#: src/lang.c:311
+#: src/lang.c:312
 msgid	"skip next block of included text"
 msgstr	"überspringt den nächsten Zitatblock"
 
-#: src/lang.c:312
+#: src/lang.c:313
 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:313
+#: src/lang.c:314
 msgid	"toggle word highlighting on/off"
 msgstr	"schaltet das Wort-Hervorheben ein/aus"
 
-#: src/lang.c:314
+#: src/lang.c:315
 msgid	"toggle ROT-13 (basic decode) for current article"
 msgstr	"(de)aktiviert ROT-13 Dekodierung für den aktuellen Artikel"
 
-#: src/lang.c:315
+#: src/lang.c:316
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	"wechsle Tabulatorweite 4 <-> 8"
 
-#: src/lang.c:316
+#: src/lang.c:317
 msgid	"toggle german TeX style decoding for current article"
 msgstr	"(de)aktiviere deutsche TeX-style Dekodierung für aktuellen Artikel"
 
-#: src/lang.c:317
+#: src/lang.c:318
 msgid	"toggle display of uuencoded sections"
 msgstr	"Anzeige von UU-kodierten Teilen umschalten"
 
-#: src/lang.c:318
+#: src/lang.c:319
 msgid	"View/save multimedia attachments"
 msgstr	"Multimedia-Anhänge anzeigen/speichern"
 
-#: src/lang.c:319
+#: src/lang.c:320
 #, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	"sendet Fehlerbericht oder Kommentar via Mail an %s"
 
-#: src/lang.c:320
+#: src/lang.c:321
 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:321
+#: src/lang.c:322
 msgid	"escape from command prompt"
 msgstr	"Verlassen der Kommandozeile"
 
-#: src/lang.c:322
+#: src/lang.c:323
 msgid	"edit filter file"
 msgstr	"Filter-Datei bearbeiten"
 
-#: src/lang.c:323
+#: src/lang.c:324
 msgid	"get help"
 msgstr	"zeigt die Hilfe"
 
-#: src/lang.c:324
+#: src/lang.c:325
 msgid	"display last article viewed"
 msgstr	"zeigt den zuletzt angezeigten Artikel an"
 
-#: src/lang.c:325
+#: src/lang.c:326
 msgid	"down one line"
 msgstr	"eine Zeile runter"
 
-#: src/lang.c:326
+#: src/lang.c:327
 msgid	"up one line"
 msgstr	"eine Zeile hoch"
 
-#: src/lang.c:327
+#: src/lang.c:328
 msgid	"go to article chosen by Message-ID"
 msgstr	"Artikel mit dieser Message-ID anzeigen"
 
-#: src/lang.c:328
+#: src/lang.c:329
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	"Artikel/Thread/hervorgeh./markierten Artikel per Mail weiterleiten"
 
-#: src/lang.c:329
+#: src/lang.c:330
 msgid	"menu of configurable options"
 msgstr	"Menü der konfigurierbaren Optionen"
 
-#: src/lang.c:330
+#: src/lang.c:331
 msgid	"down one page"
 msgstr	"eine Seite runter"
 
-#: src/lang.c:331
+#: src/lang.c:332
 msgid	"up one page"
 msgstr	"eine Seite hoch"
 
-#: src/lang.c:332
+#: src/lang.c:333
 msgid	"post (write) article to current group"
 msgstr	"poste (schreibe) Artikel in die aktuelle Gruppe"
 
-#: src/lang.c:333
+#: src/lang.c:334
 msgid	"post postponed articles"
 msgstr	"poste zurückgestellte Artikel"
 
-#: src/lang.c:334
+#: src/lang.c:335
 msgid	"list articles posted by you (from posted file)"
 msgstr	"listet Ihre geposteten Artikel auf (aus der 'posted' Datei)"
 
-#: src/lang.c:335
+#: src/lang.c:336
 msgid	"return to previous menu"
 msgstr	"kehrt zum vorherigen Menü zurück"
 
-#: src/lang.c:336
+#: src/lang.c:337
 msgid	"quit tin immediately"
 msgstr	"beendet tin sofort"
 
-#: src/lang.c:337
+#: src/lang.c:338
 msgid	"redraw page"
 msgstr	"Bildschirmdarstellung neu zeichnen"
 
-#: src/lang.c:338
+#: src/lang.c:339
 msgid	"save article/thread/hot/pattern/tagged articles to file"
 msgstr	"speichert Artikel/Thread hervorgehoben/Muster/markierten Artikel"
 
-#: src/lang.c:339
+#: src/lang.c:340
 msgid	"save marked articles automatically without user prompts"
 msgstr	"speichert markierte Artikel automatisch ohne Nachfrage"
 
-#: src/lang.c:340
+#: src/lang.c:341
 msgid	"scroll the screen one line down"
 msgstr	"Bildschirm eine Zeile nach oben schieben"
 
-#: src/lang.c:341
+#: src/lang.c:342
 msgid	"scroll the screen one line up"
 msgstr	"Bildschirm eine Zeile nach unten schieben"
 
-#: src/lang.c:342
+#: src/lang.c:343
 msgid	"search for articles by author backwards"
 msgstr	"sucht rückwärts nach Artikeln von Autor"
 
-#: src/lang.c:343
+#: src/lang.c:344
 msgid	"search for articles by author forwards"
 msgstr	"sucht vorwärts nach Artikeln von Autor"
 
-#: src/lang.c:344
+#: src/lang.c:345
 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:345
+#: src/lang.c:346
 msgid	" \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr	" \t  (Suchen beachten Gross/Kleinschreibung nicht und laufen über den\n"
 	"          letzten Artikel hinaus zum ersten Artikel der Gruppe und von dort\n"
 	"          aus weiter.)"
 
-#: src/lang.c:346
+#: src/lang.c:347
 msgid	"search for articles by Subject line backwards"
 msgstr	"durchsucht Artikel rückwärts nach Subject Zeile"
 
-#: src/lang.c:347
+#: src/lang.c:348
 msgid	"search for articles by Subject line forwards"
 msgstr	"durchsucht Artikel vorwärts nach Subject Zeile"
 
-#: src/lang.c:348
+#: src/lang.c:349
 msgid	"repeat last search"
 msgstr	"letzte Suche wiederholen"
 
-#: src/lang.c:349
+#: src/lang.c:350
 msgid	"tag current article for reposting/mailing/piping/printing/saving"
 msgstr	"markiere Artikel für nochmaliges posten/pipen/drucken/abspeichern"
 
-#: src/lang.c:350
+#: src/lang.c:351
 msgid	"toggle info message in last line (subject/description)"
 msgstr	"Anzeige von Subject/Beschreibung in d. letzten Zeile (de)aktivieren"
 
-#: src/lang.c:351
+#: src/lang.c:352
 msgid	"toggle inverse video"
 msgstr	"(de)aktiviert inverse Darstellung"
 
-#: src/lang.c:352
+#: src/lang.c:353
 msgid	"toggle mini help menu display"
 msgstr	"schaltet das Minihilfemenü ein/aus"
 
-#: src/lang.c:353
+#: src/lang.c:354
 msgid	"cycle the display of authors email address, real name, both or neither"
-msgstr	"Zeigt des Autors EMail Adresse, Realname, beides oder nichts von beidem an"
+msgstr	"Zeigt des Autors EMail Adresse, Realname, beides oder nichts\n"
+	"          von beidem an"
 
-#: src/lang.c:354
+#: src/lang.c:355
 msgid	"show version information"
 msgstr	"zeige Versionsinformationen"
 
-#: src/lang.c:355
+#: src/lang.c:356
 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:356
+#: src/lang.c:357
 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:357
+#: src/lang.c:358
 msgid	"choose first thread in list"
 msgstr	"Wähle ersten Thread in der Liste"
 
-#: src/lang.c:358
+#: src/lang.c:359
 msgid	"choose last thread in list"
 msgstr	"Wähle letzten Thread in der Liste"
 
-#: src/lang.c:359
+#: src/lang.c:360
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	"listet Artikel im aktuellen Thread (öffnet das Thread Untermenü)"
 
-#: src/lang.c:360
+#: src/lang.c:361
 msgid	"mark article as unread"
 msgstr	"markiert Artikel als ungelesen"
 
-#: src/lang.c:361
+#: src/lang.c:362
 msgid	"mark current thread or tagged threads as read"
 msgstr	"markiert den aktuellen Thread oder markierte Artikel als gelesen"
 
-#: src/lang.c:362
+#: src/lang.c:363
 msgid	"mark thread as unread"
 msgstr	"markiert den aktuellen Thread als ungelesen"
 
-#: src/lang.c:363
+#: src/lang.c:364
 msgid	"toggle display of all/selected articles"
 msgstr	"wechselt zwischen der Anzeige aller/markierter (hot) Artikel"
 
-#: src/lang.c:364
+#: src/lang.c:365
 msgid	"display next group"
 msgstr	"zeige nächste Gruppe"
 
-#: src/lang.c:365
+#: src/lang.c:366
 msgid	"display previous group"
 msgstr	"zeige vorhergehende Gruppe"
 
-#: src/lang.c:366
+#: src/lang.c:367
 msgid	"toggle all selections (all articles)"
 msgstr	"Markierung 'hot'/wichtig für alle Artikel umschalten"
 
-#: src/lang.c:367
+#: src/lang.c:368
 msgid	"select group (make \"hot\")"
 msgstr	"Markierung 'hot'/wichtig für Gruppe setzen"
 
-#: src/lang.c:368
+#: src/lang.c:369
 msgid	"select thread"
 msgstr	"Markierung 'hot'/wichtig für Thread setzen"
 
 # TODO: formating
-#: src/lang.c:369
+#: src/lang.c:370
 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:370
+#: src/lang.c:371
 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:371
+#: src/lang.c:372
 msgid	"tag all parts of current multipart-message in order"
 msgstr	"markiert alle Teile der multipart-Nachrichten in der Reihenfolge"
 
-#: src/lang.c:372
+#: src/lang.c:373
 msgid	"0 - 9\t  choose thread by number"
 msgstr	"0 - 9\t  wählt Thread anhand der Nummer"
 
-#: src/lang.c:373
+#: src/lang.c:374
 msgid	"toggle limit number of articles to get, and reload"
 msgstr	"Anzahl der zu holenden oder wieder zu ladenden Artikel ändern"
 
-#: src/lang.c:374
+#: src/lang.c:375
 msgid	"toggle display of all/unread articles"
 msgstr	"wechselt zwischen der Anzeige aller/ungelesener Artikel"
 
-#: src/lang.c:375
+#: src/lang.c:376
 msgid	"toggle selection of thread"
 msgstr	"Markierung 'hot'/wichtig für Thread setzen/entfernen"
 
-#: src/lang.c:376
+#: src/lang.c:377
 msgid	"cycle through threading options available"
 msgstr	"wechsle durch die verschiedenen Threading-Optionen"
 
-#: src/lang.c:377
+#: src/lang.c:378
 msgid	"undo all selections (all articles)"
 msgstr	"Markierung 'hot'/wichtig für alle Artikel entfernen"
 
-#: src/lang.c:378
+#: src/lang.c:379
 msgid	"untag all tagged threads"
 msgstr	"hebt die Markierung der markierten Artikel auf"
 
-#: src/lang.c:379
+#: src/lang.c:380
 msgid	"mark all articles in group as read"
 msgstr	"markiert alle Artikel der Gruppe als gelesen"
 
-#: src/lang.c:380
+#: src/lang.c:381
 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:381
+#: src/lang.c:382
 msgid	"choose first group in list"
 msgstr	"Wähle erste Gruppe in der Liste"
 
-#: src/lang.c:382
+#: src/lang.c:383
 msgid	"choose group by name"
 msgstr	"Gruppe anhand des Namens auswählen"
 
-#: src/lang.c:383
+#: src/lang.c:384
 msgid	"0 - 9\t  choose group by number"
 msgstr	"0 - 9\t  wählt die Gruppe anhand der Nummer"
 
-#: src/lang.c:384
+#: src/lang.c:385
 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:385
+#: src/lang.c:386
 msgid	"choose last group in list"
 msgstr	"Wähle letzte Gruppe in der Liste"
 
-#: src/lang.c:386
+#: src/lang.c:387
 msgid	"mark all articles in chosen group unread"
 msgstr	"markiert alle Artikel in der gewählten Gruppe als ungelesen"
 
-#: src/lang.c:387
+#: src/lang.c:388
 msgid	"move chosen group within list"
 msgstr	"bewegt die gewählte Gruppe innerhalb der Liste"
 
-#: src/lang.c:388
+#: src/lang.c:389
 msgid	"choose next group with unread news"
 msgstr	"wählt die nächste Gruppe mit ungelesenen Artikeln"
 
-#: src/lang.c:389 src/lang.c:1197
+#: src/lang.c:390 src/lang.c:1197
 msgid	"quit"
 msgstr	"Beenden"
 
-#: src/lang.c:390
+#: src/lang.c:391
 msgid	"quit without saving configuration changes"
 msgstr	"beenden ohne die Konfigurationsänderungen zu sichern"
 
-#: src/lang.c:391
+#: src/lang.c:392
 msgid	"read chosen group"
 msgstr	"liest ausgewählte Gruppe"
 
-#: src/lang.c:392
+#: src/lang.c:393
 msgid	"reset .newsrc (all available articles in groups marked unread)"
 msgstr	"setzt die .newsrc zurück (alle Artikel als gelesen markiert)"
 
-#: src/lang.c:393
+#: src/lang.c:394
 msgid	"search backwards for a group name"
 msgstr	"sucht rückwärts nach einem Gruppennamen"
 
-#: src/lang.c:394
+#: src/lang.c:395
 msgid	" \t  (all searches are case-insensitive and wrap around)"
 msgstr	" \t  (alle Suchen sind case-insensitive und beginnen am Ende von vorn)"
 
-#: src/lang.c:395
+#: src/lang.c:396
 msgid	"search forwards for a group name"
 msgstr	"suche vorwärts nach einer Gruppe"
 
-#: src/lang.c:396
+#: src/lang.c:397
 msgid	"subscribe to chosen group"
 msgstr	"abonniert ausgewählte Gruppe"
 
-#: src/lang.c:397
+#: src/lang.c:398
 msgid	"subscribe to groups that match pattern"
 msgstr	"abonniere Gruppen, die auf das Muster passen"
 
-#: src/lang.c:398
+#: src/lang.c:399
 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:399
+#: src/lang.c:400
 msgid	"toggle display of group name only or group name plus description"
 msgstr	"Anzeige der Kurzbeschreibung der Gruppe (de)aktivieren."
 
-#: src/lang.c:400
+#: src/lang.c:401
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	"wechselt die Anzeige zwischen allen/ungelesenen abonnierten Gruppen"
 
-#: src/lang.c:401
+#: src/lang.c:402
 msgid	"unsubscribe from chosen group"
 msgstr	"bestellt ausgewählte Gruppe ab"
 
-#: src/lang.c:402
+#: src/lang.c:403
 msgid	"unsubscribe from groups that match pattern"
 msgstr	"bestelle Gruppen ab, die auf das Muster passen"
 
-#: src/lang.c:403
+#: src/lang.c:404
 msgid	"sort the list of groups"
 msgstr	"Liste der Gruppen sortieren"
 
-#: src/lang.c:404
+#: src/lang.c:405
 msgid	"toggle display to show all/subscribed groups"
 msgstr	"schaltet um zwischen der Anzeige aller/abonnierten Gruppen"
 
-#: src/lang.c:405
+#: src/lang.c:406
 msgid	"0 - 9\t  choose article by number"
 msgstr	"0 - 9\t  Wähle Artikel anhand der Nummer"
 
-#: src/lang.c:406
+#: src/lang.c:407
 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:407
+#: src/lang.c:408
 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:408
+#: src/lang.c:409
 msgid	"choose first article in list"
 msgstr	"wähle ersten Artikel in der Liste"
 
-#: src/lang.c:409
+#: src/lang.c:410
 msgid	"choose last article in list"
 msgstr	"wähle letzten Artikel in der Liste"
 
-#: src/lang.c:410
+#: src/lang.c:411
 msgid	"mark article or tagged articles as read and move cursor to next unread article"
 msgstr	"markiert Artikel als gelesen geht zum nächsten ungelesenen Artikel"
 
-#: src/lang.c:411
+#: src/lang.c:412
 msgid	"read chosen article"
 msgstr	"zeige gewählten Artikel"
 
-#: src/lang.c:412
+#: src/lang.c:413
 msgid	"Display properties\n"
 	"------------------"
 msgstr	"Darstellungsoptionen\n"
 	"--------------------"
 
-#: src/lang.c:413
+#: src/lang.c:414
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	"Verschiedenes\n"
 	"-------------"
 
-#: src/lang.c:414
+#: src/lang.c:415
 msgid	"Moving around\n"
 	"-------------"
 msgstr	"Position ändern\n"
 	"---------------"
 
-#: src/lang.c:415
+#: src/lang.c:416
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	"Gruppe/Thread/Artikel Kommandos\n"
 	"-------------------------------"
 
-#: src/lang.c:417
+#: src/lang.c:418
 msgid	"Group Level Commands"
 msgstr	"Gruppenlevel Befehle"
 
-#: src/lang.c:418
+#: src/lang.c:419
 msgid	"Kill filter added"
 msgstr	"Killfilter hinzugefügt"
 
-#: src/lang.c:419
+#: src/lang.c:420
 msgid	"Auto-selection filter added"
 msgstr	"Automatischer Auswahlfilter hinzugefügt"
 
-#: src/lang.c:420
+#: src/lang.c:421
 msgid	"All parts tagged"
 msgstr	"Alle Teile markiert"
 
-#: src/lang.c:421
+#: src/lang.c:422
 msgid	"Storing article for later posting"
 msgstr	"Speichert Artikel, um ihn später zu posten"
 
-#: src/lang.c:422
+#: src/lang.c:423
 msgid	"Please enter a valid character"
 msgstr	"Bitte ein gültiges Zeichen eingeben"
 
-#: src/lang.c:423
+#: src/lang.c:424
 #, c-format
 msgid	"Missing part #%d"
 msgstr	"Teil Nummer %d fehlt."
 
-#: src/lang.c:424
+#: src/lang.c:425
 msgid	"*** No postponed articles ***"
 msgstr	"*** Keine zurückgelegten Artikel ***"
 
-#: src/lang.c:425
+#: src/lang.c:426
 msgid	"Not a multi-part message"
 msgstr	"Kein mehrteiliger Artikel"
 
-#: src/lang.c:426
+#: src/lang.c:427
 msgid	"You are not subscribed to this group"
 msgstr	"Sie haben diese Gruppe nicht abonniert"
 
-#: src/lang.c:427
+#: src/lang.c:428
 msgid	"No previous expression"
 msgstr	"Kein vorhergehender Ausdruck"
 
-#: src/lang.c:428
+#: src/lang.c:429
 msgid	"Operation disabled in no-overwrite mode"
 msgstr	"Ausführung nicht möglich im nicht-überschreiben Modus"
 
 #. TODO: replace hardcoded key-name in txt_info_postponed
-#: src/lang.c:430
+#: src/lang.c:431
 #, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	"%d zurückgelegte %s, hervorholen mit ^O...\n"
 
-#: src/lang.c:431
+#: src/lang.c:432
 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	"X-Conversion-Note: multipart/alternative Inhalt wurde entfernt.\n"
 	"  Um das zu ändern, setzen Sie in der tinrc das alternative_handling auf OFF\n"
 
-#: src/lang.c:433
+#: src/lang.c:434
 #, 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:434
+#: src/lang.c:435
 msgid	"TeX2Iso encoded article"
 msgstr	"TeX2Iso kodierter Artikel"
 
-#: src/lang.c:435
+#: src/lang.c:436
 msgid	"incomplete "
 msgstr	"unvollständige "
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:437
+#: src/lang.c:438
 #, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -2011,133 +1990,133 @@ msgstr	"\n"
 	"Bitte senden Sie Fehlerberichte und Kommentare mittels des 'R' Kommandos an\n"
 	"%s.\n"
 
-#: src/lang.c:453
+#: src/lang.c:454
 #, c-format
 msgid	"Invalid  From: %s  line. Read the INSTALL file again."
 msgstr	"Ungültige From: %s Zeile. Lesen Sie  INSTALL nochmal."
 
-#: src/lang.c:455
+#: src/lang.c:456
 msgid	"Invalid multibyte sequence found\n"
 msgstr	"Ungültige Mehrbytezeichen-Folge vorhanden\n"
 
-#: src/lang.c:457
+#: src/lang.c:458
 #, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	"Ungültiger Sender:-Header %s"
 
-#: src/lang.c:458
+#: src/lang.c:459
 msgid	"Inverse video disabled"
 msgstr	"Inverse Bilddarstellung abgestellt"
 
-#: src/lang.c:459
+#: src/lang.c:460
 msgid	"Inverse video enabled"
 msgstr	"Inverse Bilddarstellung eingeschaltet"
 
-#: src/lang.c:461
+#: src/lang.c:462
 #, c-format
 msgid	"Missing definition for %s\n"
 msgstr	"Fehlende Definition für %s\n"
 
-#: src/lang.c:462
+#: src/lang.c:463
 #, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	"Ungültige Tastenbelegung '%s'\n"
 
-#: src/lang.c:463
+#: src/lang.c:464
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	"Ungültiger Tastenname '%s'\n"
 
-#: src/lang.c:464
+#: src/lang.c:465
 #, c-format
 msgid	"Keymap file was upgraded to version %s\n"
 msgstr	"Keymap-File wurde auf Version %s umgestellt\n"
 
-#: src/lang.c:465
+#: src/lang.c:466
 #, c-format
 msgid	"Kill From:     [%s] (y/n): "
 msgstr	"Filter From:   [%s] (j/n): "
 
-#: src/lang.c:466
+#: src/lang.c:467
 msgid	"Kill Lines: (</>num): "
 msgstr	"Filter Z.:  (</>num): "
 
-#: src/lang.c:467
+#: src/lang.c:468
 msgid	"Kill Article Menu"
 msgstr	"Filter Menü (Kill, Bewertung/Score verringern)"
 
-#: src/lang.c:468
+#: src/lang.c:469
 #, c-format
 msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr	"Filter Msg-Id: [%s] (v/l/n/n): "
 
-#: src/lang.c:469
+#: src/lang.c:470
 msgid	"Kill pattern scope  : "
 msgstr	"Filter nach Muster  : "
 
-#: src/lang.c:470
+#: src/lang.c:471
 #, c-format
 msgid	"Kill Subject:  [%s] (y/n): "
 msgstr	"Filter Subject:[%s] (j/n): "
 
-#: src/lang.c:471
+#: src/lang.c:472
 msgid	"Kill text pattern   : "
 msgstr	"Filter Textmuster   : "
 
-#: src/lang.c:472
+#: src/lang.c:473
 msgid	"Kill time in days   : "
 msgstr	"Filterzeit in Tagen : "
 
-#: src/lang.c:474
+#: src/lang.c:475
 msgid	"Last"
 msgstr	"Letzte"
 
-#: src/lang.c:475
+#: src/lang.c:476
 msgid	"-- Last response --"
 msgstr	"-- Letzte Antwort --"
 
-#: src/lang.c:476
+#: src/lang.c:477
 #, c-format
 msgid	"Lines %s  "
 msgstr	"Zeilen %s "
 
-#: src/lang.c:478
+#: src/lang.c:479
 msgid	"Mail"
 msgstr	"Maile"
 
-#: src/lang.c:479
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	"Mailbox "
 
-#: src/lang.c:480
+#: src/lang.c:481
 #, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	"Mailt Artikel an [%.*s]> "
 
-#: src/lang.c:481
+#: src/lang.c:482
 #, c-format
 msgid	"Mailing log to %s\n"
 msgstr	"Maile Log-Datei an %s\n"
 
-#: src/lang.c:482
+#: src/lang.c:483
 msgid	"Mail bug report..."
 msgstr	"Maile einen Fehlerbericht..."
 
-#: src/lang.c:483
+#: src/lang.c:484
 #, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	"Fehlerbericht an %s senden?"
 
-#: src/lang.c:484
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	"Gemailt"
 
-#: src/lang.c:485
+#: src/lang.c:486
 #, c-format
 msgid	"Mailing to %s..."
 msgstr	"Senden der Mail an %s..."
 
-#: src/lang.c:486
+#: src/lang.c:487
 msgid	"# [Mail/Save] active file. Format is like news active file:\n"
 	"#   groupname  max.artnum  min.artnum  /dir\n"
 	"# The 4th field is the basedir (ie. ~/Mail or ~/News)\n"
@@ -2147,295 +2126,295 @@ msgstr	"# [Mail/Speicher] active-Datei. 
 	"# Das 4. Feld ist das Basisverzeichnis (z.B. ~/Mail oder ~/News)\n"
 	"#\n"
 
-#: src/lang.c:489
+#: src/lang.c:490
 #, c-format
 msgid	"%s marked as unread"
 msgstr	"%s als ungelesen markiert"
 
-#: src/lang.c:490
+#: src/lang.c:491
 #, c-format
 msgid	"Marked %d of %d tagged %s as read"
 msgstr	"%d von %d %s als gelesen markiert"
 
-#: src/lang.c:491
+#: src/lang.c:492
 #, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	"Alle Artikel als gelesen markieren%s?"
 
-#: src/lang.c:492
+#: src/lang.c:493
 #, c-format
 msgid	"Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr	"%s=markierte oder %s=aktuellen Artikel auf gelesen setzen. %s=Abbrechen: "
 
-#: src/lang.c:493
+#: src/lang.c:494
 #, c-format
 msgid	"Mark group %s as read?"
 msgstr	"Die Gruppe %s als gelesen markieren?"
 
-#: src/lang.c:494
+#: src/lang.c:495
 #, c-format
 msgid	"Mark thread as read%s?"
 msgstr	"Den Thread als gelesen markieren%s?"
 
-#: src/lang.c:495
+#: src/lang.c:496
 #, c-format
 msgid	"Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr	"%s=markierte oder %s=aktuellen Artikel/Thread auf gelesen setzen. %"
 	"s=Abbrechen: "
 
-#: src/lang.c:496
+#: src/lang.c:497
 #, c-format
 msgid	"Matching %s groups..."
 msgstr	"Übereinstimmende %s Gruppen..."
 
-#: src/lang.c:497 src/lang.c:501
+#: src/lang.c:498 src/lang.c:502
 #, 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:498
+#: src/lang.c:499
 #, c-format
 msgid	"%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list "
 	"thread"
 msgstr	"%s=Autorsuche; %s=Catchup; %s=n. unten; %s=n. oben; %s=gelesen; %s=Thread anz."
 
-#: src/lang.c:499
+#: src/lang.c:500
 #, 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=BildAuf; %s=BildAb; %s=Anfang; %s=letzte Zeile"
 
-#: src/lang.c:500
+#: src/lang.c:501
 #, 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:502
+#: src/lang.c:503
 #, 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:503
+#: src/lang.c:504
 #, 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:504
+#: src/lang.c:505
 #, c-format
 msgid	"%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr	"%s=n. unten; %s=n. oben; %s=Hilfe; %s=verschieben; %s=Ende; %s=Alle/Nur ungel."
 
-#: src/lang.c:505
+#: src/lang.c:506
 #, c-format
 msgid	"%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out"
 msgstr	"%s=Abo; %s=Abo n. Muster; %s=Abbestellen; %s=Abbest. n. Muster; %s=Alle/Nur "
 	"abon."
 
-#: src/lang.c:506
+#: src/lang.c:507
 #, 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:507
+#: src/lang.c:508
 #, 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:508
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	"--Mehr--"
 
-#: src/lang.c:509
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	"Verschiebe %s..."
 
-#: src/lang.c:510
+#: src/lang.c:511
 msgid	"Message-ID: & last Reference  "
 msgstr	"Message-ID: & letzte Reference"
 
-#: src/lang.c:511
+#: src/lang.c:512
 msgid	"Message-ID: line              "
 msgstr	"Message-ID: Zeile             "
 
-#: src/lang.c:512
+#: src/lang.c:513
 msgid	"Message-ID: & References: line"
 msgstr	"Message-ID: & References:     "
 
-#: src/lang.c:514
+#: src/lang.c:515
 msgid	", name: "
 msgstr	", Name: "
 
-#: src/lang.c:515
+#: src/lang.c:516
 #, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	"Gehe zu Gruppe [%s]> "
 
-#: src/lang.c:516
+#: src/lang.c:517
 msgid	"newsgroups"
 msgstr	"Gruppen"
 
-#: src/lang.c:517
+#: src/lang.c:518
 #, c-format
 msgid	"Position %s in group list (1,2,..,$) [%d]> "
 msgstr	"Position %s in der Gruppenliste (1,2,..,$) [%d]> "
 
-#: src/lang.c:518
+#: src/lang.c:519
 msgid	"newsgroup"
 msgstr	"Gruppe"
 
-#: src/lang.c:519
+#: src/lang.c:520
 msgid	"Try and save newsrc file again?"
 msgstr	"Erneut versuchen, die newsrc-Datei zu schreiben?"
 
-#: src/lang.c:520
+#: src/lang.c:521
 msgid	"Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr	"Warnung: Keine Newsgruppen in die newsrc geschrieben. Speicherabbruch."
 
-#: src/lang.c:521
+#: src/lang.c:522
 msgid	"newsrc file saved successfully.\n"
 msgstr	"newsrc-Datei erfolgreich geschrieben.\n"
 
-#: src/lang.c:522
+#: src/lang.c:523
 msgid	"-- Next response --"
 msgstr	"-- Nächste Antwort --"
 
-#: src/lang.c:523
+#: src/lang.c:524
 #, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"NNTP Anmeldepasswort für %s nicht gefunden"
 
-#: src/lang.c:524
+#: src/lang.c:525
 msgid	"No  "
 msgstr	"Nein"
 
-#: src/lang.c:525
+#: src/lang.c:526
 msgid	"*** No articles ***"
 msgstr	"*** Keine Artikel ***"
 
-#: src/lang.c:526
+#: src/lang.c:527
 msgid	"No articles have been posted"
 msgstr	"Es wurden keine Artikel gepostet"
 
-#: src/lang.c:527
+#: src/lang.c:528
 msgid	"*** No description ***"
 msgstr	"*** Keine Kurzbeschreibung ***"
 
-#: src/lang.c:528
+#: src/lang.c:529
 msgid	"No filename"
 msgstr	"Kein Dateiname"
 
-#: src/lang.c:529
+#: src/lang.c:530
 msgid	"No group"
 msgstr	"Keine Gruppe"
 
-#: src/lang.c:530
+#: src/lang.c:531
 msgid	"*** No groups ***"
 msgstr	"*** Keine Newsgruppen ***"
 
-#: src/lang.c:531
+#: src/lang.c:532
 msgid	"No more groups to read"
 msgstr	"Keine Gruppen zum Lesen übrig"
 
-#: src/lang.c:532
+#: src/lang.c:533
 msgid	"No last message"
 msgstr	"Keine letzte Nachricht"
 
-#: src/lang.c:533
+#: src/lang.c:534
 msgid	"No mail address"
 msgstr	"Keine EMail-Adresse"
 
-#: src/lang.c:534
+#: src/lang.c:535
 msgid	"No articles marked for saving"
 msgstr	"Keine Artikel zum Speichern markiert"
 
-#: src/lang.c:535
+#: src/lang.c:536
 msgid	"No match"
 msgstr	"Kein Treffer"
 
-#: src/lang.c:536
+#: src/lang.c:537
 msgid	"No more groups"
 msgstr	"Keine Gruppen mehr"
 
-#: src/lang.c:537
+#: src/lang.c:538
 msgid	"No newsgroups"
 msgstr	"Keine Newsgruppen"
 
-#: src/lang.c:538
+#: src/lang.c:539
 msgid	"No next unread article"
 msgstr	"Kein nächster ungelesener Artikel"
 
-#: src/lang.c:539
+#: src/lang.c:540
 msgid	"No previous group"
 msgstr	"Keine vorherige Gruppe"
 
-#: src/lang.c:540
+#: src/lang.c:541
 msgid	"No previous unread article"
 msgstr	"Kein vorheriger ungelesener Artikel"
 
-#: src/lang.c:541
+#: src/lang.c:542
 msgid	"No responses"
 msgstr	"Keine Antworten"
 
-#: src/lang.c:542
+#: src/lang.c:543
 msgid	"No responses to list in current thread"
 msgstr	"Keine Antworten vorhanden im aktuellen Thread"
 
-#: src/lang.c:543
+#: src/lang.c:544
 msgid	"No search string"
 msgstr	"Kein Suchmuster"
 
-#: src/lang.c:544
+#: src/lang.c:545
 msgid	"No subject"
 msgstr	"Kein Subject"
 
-#: src/lang.c:546
+#: src/lang.c:547
 #, 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:547
+#: src/lang.c:548
 #, 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:548
+#: src/lang.c:549
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	"%s: Terminal muss Schirmlöschen (cl) unterstützen\n"
 
-#: src/lang.c:549
+#: src/lang.c:550
 #, c-format
 msgid	"%s: Terminal must have cursor motion (cm)\n"
 msgstr	"%s: Terminal muss Cursor-Bewegungen unterstützen (cm)\n"
 
-#: src/lang.c:550
+#: src/lang.c:551
 #, 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:552
+#: src/lang.c:553
 #, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	"Kein Programm für %s/%s gefunden\n"
 
-#: src/lang.c:553
+#: src/lang.c:554
 msgid	"Newsgroup does not exist on this server"
 msgstr	"Newsgruppe existiert nicht auf diesem Server"
 
-#: src/lang.c:554
+#: src/lang.c:555
 #, c-format
 msgid	"Group %s not found in active file"
 msgstr	"Gruppe %s nicht in der Active-Datei gefunden"
 
-#: src/lang.c:555
+#: src/lang.c:556
 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:556
+#: src/lang.c:557
 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:557
+#: src/lang.c:558
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2462,40 +2441,40 @@ msgstr	"# NNTP-Server -> newsrc Übersetz
 	"#   news.ka.nu    /tmp/nrc-nu      kanu    nu\n"
 	"#\n"
 
-#: src/lang.c:564
+#: src/lang.c:565
 msgid	"Only"
 msgstr	"Nur"
 
-#: src/lang.c:565
+#: src/lang.c:566
 #, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	"Option nicht vorhanden. Neu kompilieren mit %s."
 
-#: src/lang.c:566
+#: src/lang.c:567
 msgid	"Options Menu"
 msgstr	"Optionsmenü"
 
-#: src/lang.c:569
+#: src/lang.c:570
 #, 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:570
+#: src/lang.c:571
 #, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	"Fehler im regulären Ausdruck: Interner Fehler %d des pcre"
 
-#: src/lang.c:571
+#: src/lang.c:572
 #, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	"Fehler im regulären Ausdruck: pcre interner Fehler %s"
 
-#: src/lang.c:572
+#: src/lang.c:573
 msgid	"Post a followup..."
 msgstr	"Schreibe eine Antwort..."
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:574
+#: src/lang.c:575
 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"
@@ -2503,134 +2482,130 @@ msgstr	"Ein Fehler trat beim Posten des 
 	"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:577
+#: src/lang.c:578
 msgid	"Posted articles history"
 msgstr	"Übersicht der geposteten Artikel"
 
-#: src/lang.c:578
+#: src/lang.c:579
 #, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	"In Newsgruppe(n) [%s] posten> "
 
-#: src/lang.c:579
+#: src/lang.c:580
 msgid	"-- post processing started --"
 msgstr	"-- Nachbearbeitung gestartet --"
 
-#: src/lang.c:580
+#: src/lang.c:581
 msgid	"-- post processing completed --"
 msgstr	"-- Nachbearbeitung beendet --"
 
-#: src/lang.c:581
+#: src/lang.c:582
 #, c-format
 msgid	"Post subject [%s]> "
 msgstr	"Wähle Subject [%s]> "
 
-#: src/lang.c:582
+#: src/lang.c:583
 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:583
+#: src/lang.c:584
 msgid	"Posting article..."
 msgstr	"Poste Artikel..."
 
-#: src/lang.c:584
+#: src/lang.c:585
 #, 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:585
+#: src/lang.c:586
 #, c-format
 msgid	"Hot %s"
 msgstr	"Wichtig/Hot %s"
 
-#: src/lang.c:586
+#: src/lang.c:587
 #, c-format
 msgid	"Tagged %s"
 msgstr	"%s markiert"
 
-#: src/lang.c:587
+#: src/lang.c:588
 #, c-format
 msgid	"Untagged %s"
 msgstr	"%s Markierung entfernt"
 
-#: src/lang.c:588
+#: src/lang.c:589
 msgid	"Processing mail messages marked for deletion."
 msgstr	"Bearbeite zum Löschen markierte EMails."
 
-#: src/lang.c:589
+#: src/lang.c:590
 msgid	"Processing saved articles marked for deletion."
 msgstr	"Bearbeite zum Löschen markierte gespeicherte Artikel."
 
-#: src/lang.c:590
+#: src/lang.c:591
 #, 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:591
+#: src/lang.c:592
 msgid	"Article unchanged, abort mailing?"
 msgstr	"Mail unverändert, Absenden abbrechen?"
 
-#: src/lang.c:592
+#: src/lang.c:593
 #, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	"Wollen Sie die zurückgestellten Artikel sehen (%d)?"
 
-#: src/lang.c:594
+#: src/lang.c:595
 msgid	"Add quick kill filter?"
 msgstr	"Artikel schnell (laut Voreinstellungen) killen?"
 
-#: src/lang.c:595
+#: src/lang.c:596
 msgid	"Add quick selection filter?"
 msgstr	"Filterregel (hochscoren) (laut Voreinstellungen) hinzufügen?"
 
-#: src/lang.c:596
+#: src/lang.c:597
 msgid	"Do you really want to quit?"
 msgstr	"Möchten Sie das Programm wirklich beenden?"
 
-#: src/lang.c:597
+#: src/lang.c:598
 #, 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:598
+#: src/lang.c:599
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	"Es befinden sich markierte Artikel in der Gruppe, trotzdem beenden?"
 
-#: src/lang.c:599
+#: src/lang.c:600
 #, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=zurücklegen: "
 
-#: src/lang.c:600
+#: src/lang.c:601
 #, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	"%s=Abbrechen %s=Editieren %s=Kill-Filter speichern: "
 
-#: src/lang.c:601
+#: src/lang.c:602
 #, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	"%s=Abbrechen %s=Editieren %s=Filter (hot) speichern: "
 
-#: src/lang.c:602
+#: src/lang.c:603
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	"Wirklich ohne Speichern der Konfiguration beenden?"
 
-#: src/lang.c:605
+#: src/lang.c:606
 msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	"Ungültige Bereichsangabe - Gültig wäre '0-9.$' z.B. 1-$"
 
-#: src/lang.c:606
+#: src/lang.c:607
 msgid	"Do you want to abort this operation?"
 msgstr	"Wollen Sie diese Operation abbrechen?"
 
-#: src/lang.c:607
+#: src/lang.c:608
 msgid	"Do you want to exit tin immediately?"
 msgstr	"Wollen Sie tin augenblicklich verlassen?"
 
-#: src/lang.c:608
-msgid	"Read response> "
-msgstr	"Lese Antwort> "
-
 #: src/lang.c:609
 msgid	"Reading ('q' to quit)..."
 msgstr	"Lesen ('q' zum Beenden)..."
@@ -2732,11 +2707,6 @@ msgstr	"Antworten werden in folgende Gru
 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:634
-#, c-format
-msgid	"RespNo %4d of %4d"
-msgstr	"Antw. %4d von %4d"
-
 #: src/lang.c:635
 msgid	"Press <RETURN> to continue..."
 msgstr	"Drücken Sie <RETURN> um fortzufahren..."
@@ -3519,8 +3489,8 @@ msgstr	"\n"
 	"         passenderen Wert setzen.\n"
 
 #: src/lang.c:843
-msgid	"  -D       debug mode 1=NNTP 2=ALL"
-msgstr	"  -D       Debug-Modus 1=NNTP 2=ALLES"
+msgid	"  -D mode  debug mode"
+msgstr	"  -D Modus Debug-Modus"
 
 #: src/lang.c:847
 msgid	"Read carefully!\n"
@@ -3784,8 +3754,8 @@ msgstr	"Kann den Namen des NNTP Servers 
 
 #: src/lang.c:944
 #, c-format
-msgid	"Connecting to %s:%d..."
-msgstr	"Verbinde mit %s:%d..."
+msgid	"Connecting to %s:%u..."
+msgstr	"Verbinde mit %s:%u..."
 
 #: src/lang.c:945
 msgid	"Disconnecting from server...\n"
@@ -4109,7 +4079,7 @@ msgstr	"Terminal unterstützt keine Farbe
 msgid	"Trying %s"
 msgstr	"Versuche %s"
 
-#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:296
+#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:304
 msgid	"None"
 msgstr	"Nichts"
 
@@ -4503,9 +4473,9 @@ msgstr	"Filtereinstellungen"
 #: src/lang.c:2020 src/lang.c:2027 src/lang.c:2034 src/lang.c:2041 src/lang.c:2048
 #: src/lang.c:2056 src/lang.c:2072 src/lang.c:2079 src/lang.c:2086 src/lang.c:2093
 #: src/lang.c:2099 src/lang.c:2105 src/lang.c:2122 src/lang.c:2134 src/lang.c:2168
-#: src/lang.c:2221 src/lang.c:2228 src/lang.c:2234 src/lang.c:2259 src/lang.c:2276
-#: src/lang.c:2329 src/lang.c:2365 src/lang.c:2385 src/lang.c:2420 src/lang.c:2430
-#: src/lang.c:2455 src/lang.c:2471 src/lang.c:2490 src/lang.c:2503
+#: src/lang.c:2221 src/lang.c:2235 src/lang.c:2241 src/lang.c:2266 src/lang.c:2283
+#: src/lang.c:2336 src/lang.c:2372 src/lang.c:2392 src/lang.c:2427 src/lang.c:2437
+#: src/lang.c:2462 src/lang.c:2478 src/lang.c:2497 src/lang.c:2510
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"<SPACE> schaltet um, <CR> setzt, <ESC> bricht ab."
 
@@ -4607,7 +4577,6 @@ msgstr	"Prozent des Subject das gleich s
 msgid	"Thread percentage match"
 msgstr	"Prozentualer Subject vergleich"
 
-# TRANSLATION MISSING
 #: src/lang.c:1439
 #, c-format
 msgid	"# Thread percentage match...\n"
@@ -4619,7 +4588,13 @@ msgid	"# Thread percentage match...\n"
 	"# no insertion of a character, for the two articles to be put in the same\n"
 	"# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n"
 	"# 'harppy' would be threaded separately from 'happy'\n"
-msgstr	""
+msgstr	"# Prozentsatzthreading...\n"
+	"# Anteil der Zeichen im Subject eines Artikels die gleich sein müssen um zum\n"
+	"# selben Thread zu gehören. Diese Option erwartet eine positive ganze Zahl.\n"
+	"# Falls z.B. 80 verwendet wird, dann müssen mind. 80%% der Zeichen im "
+	"Subject\n"
+	"# am Stück mit dem Subject des obersten Artikles im Thread übereinstimmen um\n"
+	"# in den gleichen Thread sortiert zu werden.\n"
 
 #: src/lang.c:1451
 msgid	"Score of a thread"
@@ -5978,19 +5953,31 @@ msgstr	"MM_NETWORK_CHARSET"
 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:2227
+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:2228
+msgid	"MM_LOCAL_CHARSET"
+msgstr	"MM_LOCAL_CHARSET"
+
 #: src/lang.c:2229
+msgid	"# Charset supported locally.\n"
+msgstr	"# Lokaler Zeichensatz.\n"
+
+#: src/lang.c:2236
 msgid	"Mailbox format"
 msgstr	"Mailbox-Format"
 
-#: src/lang.c:2230
+#: src/lang.c:2237
 msgid	"# Format of the mailbox.\n"
 msgstr	"# Format der Mailbox.\n"
 
-#: src/lang.c:2235
+#: src/lang.c:2242
 msgid	"MIME encoding in news messages"
 msgstr	"MIME-Kodierung in Newsartikeln"
 
-#: src/lang.c:2236
+#: src/lang.c:2243
 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"
 	"# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n"
@@ -6004,15 +5991,15 @@ msgstr	"# MIME-Kodierung (8bit, base64, 
 	"# die meisten 8Bit Zeichensätze aus Ostasien, Griechenland und Russland\n"
 	"# ist, da dort gehäuft 8Bit Zeichen vorkommen.\n"
 
-#: src/lang.c:2244 src/lang.c:2265
+#: src/lang.c:2251 src/lang.c:2272
 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:2245
+#: src/lang.c:2252
 msgid	"Use 8bit characters in news headers"
 msgstr	"Benutze 8bit-Zeichen im Newsheader"
 
-#: src/lang.c:2246
+#: src/lang.c:2253
 msgid	"# If ON, 8bit characters in news headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in header are encoded regardless of the value of this\n"
@@ -6024,27 +6011,27 @@ msgstr	"# Wenn ON werden 8-Bit-Zeichen (
 	"# kodiert, wenn post_mime_encoding nicht auch auf 8bit eingestellt\n"
 	"# ist.\n"
 
-#: src/lang.c:2253
+#: src/lang.c:2260
 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:2254
+#: src/lang.c:2261
 msgid	"View post-processed files"
 msgstr	"Nachbearbeitete Artikel anzeigen"
 
-#: src/lang.c:2255
+#: src/lang.c:2262
 msgid	"# If set, post processed files will be opened in a viewer\n"
 msgstr	"# Wenn ON werden nachbearbeitete Artikel automatisch angezeigt.\n"
 
-#: src/lang.c:2260
+#: src/lang.c:2267
 msgid	"MIME encoding in mail messages"
 msgstr	"MIME-Kodierung für E-Mails"
 
-#: src/lang.c:2266
+#: src/lang.c:2273
 msgid	"Use 8bit characters in mail headers"
 msgstr	"Benutze 8bit Zeichen im Mail Header"
 
-#: src/lang.c:2267
+#: src/lang.c:2274
 msgid	"# If ON, 8bit characters in mail headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in headers are encoded regardless of the value of this "
@@ -6061,24 +6048,24 @@ msgstr	"# Wenn ON werden 8-Bit-Zeichen (
 	"# 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:2277
+#: src/lang.c:2284
 msgid	"Strip blanks from ends of lines"
 msgstr	"Leerzeichen am Zeilenende entfernen"
 
-#: src/lang.c:2278
+#: src/lang.c:2285
 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:2283
+#: src/lang.c:2290
 msgid	"If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr	"Wenn ON verwende Umschreibungen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2284
+#: src/lang.c:2291
 msgid	"Transliteration"
 msgstr	"Verwende Umschreibungen"
 
-#: src/lang.c:2285
+#: src/lang.c:2292
 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"
@@ -6088,143 +6075,143 @@ msgstr	"# Wenn ON verwende //TRANSLIT Er
 	"# Terminal als EUR umschrieben, ohne //TRANSLIT würde tin ein\n"
 	"# Fragezeichen verwenden.\n"
 
-#: src/lang.c:2292
+#: src/lang.c:2299
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"Sendet ihnen automatisch eine Kopie. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2293
+#: src/lang.c:2300
 msgid	"Send you a cc automatically"
 msgstr	"Sendet Ihnen ein Cc automatisch"
 
-#: src/lang.c:2294
+#: src/lang.c:2301
 msgid	"# If ON automatically put your name in the Cc: field when mailing an article\n"
 msgstr	"# Falls ON wird Ihr Name in das Cc: Feld beim Mailen des Artikels eingesetzt\n"
 
-#: src/lang.c:2298
+#: src/lang.c:2305
 msgid	"Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"Sendet ihnen automatisch eine blinde Kopie. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2299
+#: src/lang.c:2306
 msgid	"Send you a blind cc automatically"
 msgstr	"Sendet Ihnen eine blinde cc autom."
 
-#: src/lang.c:2300
+#: src/lang.c:2307
 msgid	"# If ON automatically put your name in the Bcc: field when mailing an "
 	"article\n"
 msgstr	"# Falls ON wird Ihr Name in das Bcc: Feld beim Mailen des Artikels "
 	"eingesetzt\n"
 
-#: src/lang.c:2304
+#: src/lang.c:2311
 msgid	"Enter address elements about which you want to be warned. <CR> sets."
 msgstr	"Geben Sie den Adressenteil an, vor dem Sie gewarnt werden. <CR> setzt."
 
-#: src/lang.c:2305
+#: src/lang.c:2312
 msgid	"Spamtrap warning address parts"
 msgstr	"Spamfallenwarnung in Adresse"
 
-#: src/lang.c:2306
+#: src/lang.c:2313
 msgid	"# A comma-delimited list of address-parts you want to be warned\n"
 	"# about when trying to reply by email.\n"
 msgstr	"# Eine Komma-separierte Liste von Adressteilen, vor denen gewarnt wird, wenn\n"
 	"# Sie via Mail antworten wollen.\n"
 
-#: src/lang.c:2311
+#: src/lang.c:2318
 msgid	"Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr	"Gültigkeit eines Filtereintrags in Tagen. <CR> setzt."
 
-#: src/lang.c:2312
+#: src/lang.c:2319
 msgid	"No. of days a filter entry is valid"
 msgstr	"Tage, die ein Filter gültig ist"
 
-#: src/lang.c:2313
+#: src/lang.c:2320
 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:2317
+#: src/lang.c:2324
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	"Gepostete Artikel zum Filter hinzufügen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2318
+#: src/lang.c:2325
 msgid	"Add posted articles to filter"
 msgstr	"Füge gepostete Artikel zum Filter"
 
-#: src/lang.c:2319
+#: src/lang.c:2326
 msgid	"# If ON add posted articles which start a new thread to filter for\n"
 	"# highlighting follow-ups\n"
 msgstr	"# Falls ON füge gepostete Artikel die einen neuen Thread einleiten\n"
 	"# zum Filter hinzu um evtl. Antworten hervorzuheben\n"
 
-#: src/lang.c:2323
+#: src/lang.c:2330
 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:2324
+#: src/lang.c:2331
 msgid	"Mail directory"
 msgstr	"Mail Verzeichnis"
 
-#: src/lang.c:2325
+#: src/lang.c:2332
 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:2330
+#: src/lang.c:2337
 msgid	"Save articles in batch mode (-S)"
 msgstr	"Speicher Artikel im Batchmode (-S)"
 
-#: src/lang.c:2331
+#: src/lang.c:2338
 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	"# 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:2336
+#: src/lang.c:2343
 msgid	"The directory where you want articles/threads saved."
 msgstr	"Das Verzeichnis, in dem Artikel/Threads gespeichert werden sollen."
 
-#: src/lang.c:2337
+#: src/lang.c:2344
 msgid	"Directory to save arts/threads in"
 msgstr	"Verz. um Art/Threads zu speichern"
 
-#: src/lang.c:2338
+#: src/lang.c:2345
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	"# Verzeichnis in dem Artikel/Threads gespeichert werden\n"
 
-#: src/lang.c:2342
+#: src/lang.c:2349
 msgid	"Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> sets."
 msgstr	"Autom. sp. von Art/Thread anhand Archive-name:-Header. <SPACE> wechselt & "
 	"<CR> setzt."
 
-#: src/lang.c:2343
+#: src/lang.c:2350
 msgid	"Use Archive-name: header for save"
 msgstr	"Nutze Archive-name: zum Speichern"
 
-#: src/lang.c:2344
+#: src/lang.c:2351
 msgid	"# If ON articles/threads with Archive-name: in mail header will\n"
 	"# be automatically saved with the Archive-name & part/patch no.\n"
 msgstr	"# Falls ON werden Artikel mit gesetztem Archive-name:-Header unter\n"
 	"# diesem abgespeichert\n"
 
-#: src/lang.c:2349
+#: src/lang.c:2356
 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:2350
+#: src/lang.c:2357
 msgid	"Mark saved articles/threads as read"
 msgstr	"Mark. gesp. Artikel/Threads gelesen"
 
-#: src/lang.c:2351
+#: src/lang.c:2358
 msgid	"# If ON mark articles that are saved as read\n"
 msgstr	"# Falls ON werden gespeicherte Artikel als gelesen markiert\n"
 
-#: src/lang.c:2355
+#: src/lang.c:2362
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	"Bearbeite (z.B. unshar) gesp. Art/Threads. <SPACE> wechselt, <CR> setzt."
 
-#: src/lang.c:2356
+#: src/lang.c:2363
 msgid	"Post process saved articles"
 msgstr	"Nachbearbeiten gespeichert. Artikel"
 
-#: src/lang.c:2357
+#: src/lang.c:2364
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no\n"
@@ -6236,101 +6223,101 @@ msgstr	"# Nachbearbeiten gespeicherter A
 	"#   1 = ja\n"
 	"#   2 = nur Shell Archive (shar) auspacken\n"
 
-#: src/lang.c:2366
+#: src/lang.c:2373
 msgid	"Process only unread articles"
 msgstr	"Bearbeite nur ungelesene Artikel"
 
-#: src/lang.c:2367
+#: src/lang.c:2374
 msgid	"# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n"
 msgstr	"# Falls ON speichere/drucke/pipe/maile nur ungelesene Artikel\n"
 	"# (markierte Artikel ausgenommen)\n"
 
-#: src/lang.c:2372
+#: src/lang.c:2379
 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:2373
+#: src/lang.c:2380
 msgid	"Print all headers when printing"
 msgstr	"Alle Header beim Drucken ausgeben"
 
-#: src/lang.c:2374
+#: src/lang.c:2381
 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:2378
+#: src/lang.c:2385
 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:2379
+#: src/lang.c:2386
 msgid	"Printer program with options"
 msgstr	"Druckprogramm mit Optionen"
 
-#: src/lang.c:2380
+#: src/lang.c:2387
 msgid	"# Print program with parameters used to print articles/threads\n"
 msgstr	"# Druckprogramm mit Optionen zum drucken der Artikel/Threads\n"
 
-#: src/lang.c:2386
+#: src/lang.c:2393
 msgid	"Force redraw after certain commands"
 msgstr	"Anzeigeauffrischung nach Kommandos"
 
-#: src/lang.c:2387
+#: src/lang.c:2394
 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:2391
+#: src/lang.c:2398
 msgid	"Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"Starte Editor mit Einrückung. <SPACE> wechselt, <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2392
+#: src/lang.c:2399
 msgid	"Start editor with line offset"
 msgstr	"Starte Editor mit Einrückung"
 
-#: src/lang.c:2393
+#: src/lang.c:2400
 msgid	"# If ON editor will be started with cursor offset into the file\n"
 	"# otherwise the cursor will be positioned at the first line\n"
 msgstr	"# Falls ON wird der Cursor im Editor an die definierte Position gesetzt.\n"
 	"# Anderenfalls wird der Cursor in die erste Zeile gesetzt\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2405
 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:2399
+#: src/lang.c:2406
 msgid	"Invocation of your editor"
 msgstr	"Aufruf Ihres Editors"
 
-#: src/lang.c:2400
+#: src/lang.c:2407
 #, c-format
 msgid	"# Format of editor line including parameters\n"
 	"# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr	"# Format der Editorzeile mit den Parametern für den Aufruf\n"
 	"# %%E Editor  %%F Dateiname  %%N Zeilennummer\n"
 
-#: src/lang.c:2405
+#: src/lang.c:2412
 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:2406
+#: src/lang.c:2413
 msgid	"External inews"
 msgstr	"Externes inews-Programm"
 
-#: src/lang.c:2407
+#: src/lang.c:2414
 msgid	"# If --internal use the built in mini inews for posting via NNTP\n"
 	"# otherwise use an external inews program\n"
 msgstr	"# Falls --internal wird das eingebaute mini inews zum posten via NNTP\n"
 	"# benutzt, sonst wird das hier angegebene Programm mit den angegebenen\n"
 	"# Optionen verwendet. z.B. 'inews -h'\n"
 
-#: src/lang.c:2411
+#: src/lang.c:2418
 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:2412
+#: src/lang.c:2419
 msgid	"Invocation of your mail command"
 msgstr	"Aufruf Ihres Mailkommandos"
 
-#: src/lang.c:2413
+#: src/lang.c:2420
 #, c-format
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
@@ -6341,11 +6328,11 @@ msgstr	"# Format der Mailkommandozeile m
 	"# Ein Beispiel für elm           :  elm -s \"%%S\" \"%%T\" < %%F\n"
 	"# Ein Beispiel für elm interaktiv:  elm -i %%F -s \"%%S\" \"%%T\"\n"
 
-#: src/lang.c:2421
+#: src/lang.c:2428
 msgid	"Use interactive mail reader"
 msgstr	"Benutze interaktives Mailprogramm"
 
-#: src/lang.c:2422
+#: src/lang.c:2429
 msgid	"# Interactive mailreader\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no interactive mailreader\n"
@@ -6358,57 +6345,57 @@ msgstr	"# Interaktives Mailprogramm.\n"
 	"übergeben\n"
 	"#   2 = interaktives Mailprogramm, Mailheader werden als Argumente übergeben\n"
 
-#: src/lang.c:2431
+#: src/lang.c:2438
 msgid	"Remove ~/.article after posting"
 msgstr	"Entferne ~/.article nach dem posten"
 
-#: src/lang.c:2432
+#: src/lang.c:2439
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	"# Falls ON entferne ~/.article nach dem posten.\n"
 
-#: src/lang.c:2436
+#: src/lang.c:2443
 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:2437
+#: src/lang.c:2444
 msgid	"Filename for posted articles"
 msgstr	"Gepostete Artikel speichern in"
 
-#: src/lang.c:2438
+#: src/lang.c:2445
 msgid	"# Filename where to keep all postings (default posted)\n"
 	"# If no filename is set then postings will not be saved\n"
 msgstr	"# Dateiname für die Kopie aller Postings (Voreinstellung posted)\n"
 	"# Ist kein Name angegeben wird keine Kopie gespeichert\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2450
 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:2444
+#: src/lang.c:2451
 msgid	"Keep failed arts in ~/dead.articles"
 msgstr	"Halte Fehlschl. in ~/dead.articles"
 
-#: src/lang.c:2445
+#: src/lang.c:2452
 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:2449
+#: src/lang.c:2456
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	"Wollen Sie nicht-abonnierte Gruppen aus der .newsrc entfernen?"
 
-#: src/lang.c:2450
+#: src/lang.c:2457
 msgid	"No unsubscribed groups in newsrc"
 msgstr	"Nur abonnierte Gruppen in newsrc"
 
-#: src/lang.c:2451
+#: src/lang.c:2458
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	"# Falls ON entferne nicht-abonnierte Gruppen aus der newsrc\n"
 
-#: src/lang.c:2456
+#: src/lang.c:2463
 msgid	"Remove bogus groups from newsrc"
 msgstr	"Lösche nicht vorhan. G. aus newsrc"
 
-#: src/lang.c:2457
+#: src/lang.c:2464
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = keep\n"
@@ -6420,57 +6407,57 @@ msgstr	"# Was soll mit nicht mehr vorhan
 	"#   1 = entfernen\n"
 	"#   2 = Mit D in der Auswahl markieren.\n"
 
-#: src/lang.c:2465
+#: src/lang.c:2472
 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:2466
+#: src/lang.c:2473
 msgid	"Interval in secs to reread active"
 msgstr	"Active alle ... Sekunden neu lesen"
 
-#: src/lang.c:2467
+#: src/lang.c:2474
 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:2472
+#: src/lang.c:2479
 msgid	"Reconnect to server automatically"
 msgstr	"Autom. Wiederverbindung zum Server"
 
-#: src/lang.c:2473
+#: src/lang.c:2480
 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 reaktiviert\n"
 
-#: src/lang.c:2477
+#: src/lang.c:2484
 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:2478
+#: src/lang.c:2485
 msgid	"Cache NNTP overview files locally"
 msgstr	"Speichere NNTP Overview Daten lokal"
 
-#: src/lang.c:2479
+#: src/lang.c:2486
 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:2483
+#: src/lang.c:2490
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	"Format-Zeichenkette eingeben. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2484
+#: src/lang.c:2491
 msgid	"Format string for display of dates"
 msgstr	"Datums Format-Zeichenkette"
 
-#: src/lang.c:2485
+#: src/lang.c:2492
 msgid	"# Format string for date representation\n"
 msgstr	"# Zeichenkette die die Datumsanzeige beschreibt.\n"
 
-#: src/lang.c:2491
+#: src/lang.c:2498
 msgid	"Unicode normalization form"
 msgstr	"Unicode Normalisierungsart"
 
-#: src/lang.c:2492
+#: src/lang.c:2499
 msgid	"# Unicode normalization form\n"
 	"# Possible values are (the default is marked with *):\n"
 	"#   0 = None\n"
@@ -6486,50 +6473,56 @@ msgstr	"# Unicode Normalisierungsart\n"
 	"#   3 = NFC\n"
 	"#   4 = NFD\n"
 
-#: src/lang.c:2504
+#: src/lang.c:2511
 msgid	"Render BiDi"
 msgstr	"BiDi wiedergeben"
 
-#: src/lang.c:2505
+#: src/lang.c:2512
 msgid	"# If ON, bi-directional text is rendered by tin\n"
 msgstr	"# Falls ON, wird bi-direktionaler Text von tin wiedergeben.\n"
 
-#: src/misc.c:3693
+#: src/misc.c:3697
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\") %s %s\n"
 msgstr	"Version: %s %s Ausgabe %s (\"%s\") %s %s\n"
 
-#: src/misc.c:3696
+#: src/misc.c:3700
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\")\n"
 msgstr	"Version: %s %s Ausgabe %s (\"%s\")\n"
 
-#: src/newsrc.c:430
+#: src/newsrc.c:436
 msgid	"Unreachable?\n"
 msgstr	"Unerreichbar?\n"
 
-#: src/nntplib.c:816
+#: src/nntplib.c:818
 #, c-format
 msgid	"\n"
 	"Server timed out, trying reconnect # %d\n"
 msgstr	"\n"
 	"Server reagierte nicht, Wiederholung Nummer # %d\n"
 
-#: src/nntplib.c:834 src/nntplib.c:1644
+#: src/nntplib.c:836 src/nntplib.c:1708
 msgid	"Rejoin current group\n"
 msgstr	"Betrete aktuelle Gruppe neu\n"
 
-#: src/nntplib.c:841 src/nntplib.c:1651
+#: src/nntplib.c:844 src/nntplib.c:1716
 #, c-format
 msgid	"Read (%s)\n"
 msgstr	"Lese (%s)\n"
 
-#: src/nntplib.c:843
+#: src/nntplib.c:846
 #, c-format
 msgid	"Resend last command (%s)\n"
 msgstr	"Sende letztes Kommando (%s) neu\n"
 
 # TRANSLATION MISSING
+#. as a last resort check if post was mentioned
+#: src/nntplib.c:1131
+msgid	"CAPABILITIES did not announce any of READER, MODE-READER, POST"
+msgstr	""
+
+# TRANSLATION MISSING
 #.
 #. * TODO: - store a hash value of the entire motd in the server-rc
 #. *         and only if it differs from the old value display the
@@ -6537,23 +6530,23 @@ msgstr	"Sende letztes Kommando (%s) neu\
 #. *       - use some sort of pager?
 #. *       - -> lang.c
 #.
-#: src/nntplib.c:1783
+#: src/nntplib.c:1855
 msgid	"MOTD: "
 msgstr	""
 
-#: src/nrctbl.c:170
+#: src/nrctbl.c:173
 #, c-format
 msgid	"couldn't expand %s\n"
 msgstr	"Kann %s nicht expandieren\n"
 
-#: src/post.c:1134
+#: src/post.c:1144
 #, c-format
 msgid	"Line %d is longer than 998 octets and should be folded, but\n"
 	"encoding is neither set to %s nor to %s\n"
 msgstr	"Zeile %d ist länger als 998 Oktets und sollte gefaltet werden,\n"
 	"aber die Kodierung ist weder auf %s noch auf %s gestellt\n"
 
-#: src/post.c:1139
+#: src/post.c:1149
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n"
@@ -6563,37 +6556,36 @@ msgstr	"Zeile %d ist länger als 998 Okte
 	"angeschaltet zu haben, oder der Artikel enhält keine 8Bit Zeichen\n"
 	"und wird daher nicht automatisch gefaltet wird.\n"
 
-#: src/post.c:1141
+#: src/post.c:1151
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is not set to %s\n"
 msgstr	"Zeile %d ist länger als 998 Oktets und sollte gefaltet werden,\n"
 	"aber die Kodierung ist nicht auf %s gesetzt\n"
 
-#: src/post.c:1960
+#: src/post.c:1970
 #, c-format
 msgid	"Posting: %.*s ..."
 msgstr	"Poste: %.*s ..."
 
 #. Check if okay to read
-#: src/read.c:191
+#: src/read.c:190
 msgid	"Aborting read, please wait..."
 msgstr	"Breche Lesen ab, bitte warten..."
 
-#: src/read.c:338
+#: src/read.c:337
 msgid	"Aborted read\n"
 msgstr	"Lesen abgebrochen\n"
 
-#: src/read.c:394
+#: src/read.c:393
 msgid	"Draining\n"
 msgstr	"Ablassen\n"
 
-#. Don't hash the initial '<'
-#: src/refs.c:251
+#: src/refs.c:248
 msgid	"unchanged"
 msgstr	"unverändert"
 
-#: src/refs.c:609
+#: src/refs.c:549
 msgid	"[- Unavailable -]"
 msgstr	"[- Nicht Verfügbar -]"
 
@@ -6601,7 +6593,7 @@ msgstr	"[- Nicht Verfügbar -]"
 #. * preamble
 #. * TODO: -> lang.c
 #.
-#: src/rfc2047.c:1201
+#: src/rfc2047.c:1270
 #, c-format
 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 modified\n"
@@ -6612,7 +6604,7 @@ msgstr	"Dieser Artikel wurde im 'multipa
 	"Format zu verstehen und einiges von was folgt, kann merkwürdig aussehen.\n"
 	"\n"
 
-#: src/save.c:964
+#: src/save.c:966
 msgid	"bytes"
 msgstr	"Bytes"
 
@@ -6624,22 +6616,25 @@ msgstr	"ungelesen"
 msgid	"all"
 msgstr	"Alle"
 
-#: src/select.c:549 src/select.c:551
+#: src/select.c:553 src/select.c:555
 msgid	" R"
 msgstr	" R"
 
-#. TODO: use tin global 'homedir' instead? or even rcdir?
-#: src/xface.c:91
+#: src/xface.c:70
+msgid	"Can't run slrnface: Not running in a xterm."
+msgstr	"Kann slrnface nicht starten: tin läuft nicht in einem xterm."
+
+#: src/xface.c:82 src/xface.c:93 src/xface.c:102
 #, c-format
 msgid	"Can't run slrnface: Environment variable %s not found."
 msgstr	"Kann slrnface nicht starten: Umgebungsvariable %s nicht gefunden."
 
-#: src/xface.c:99 src/xface.c:131
+#: src/xface.c:111 src/xface.c:143
 #, c-format
 msgid	"Can't run slrnface: failed to create %s"
 msgstr	"Kann slrnface nicht starten: Anlegen von %s fehlgeschlagen"
 
-#: src/xface.c:109
+#: src/xface.c:121
 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"
 	"the pipe is deleted right after it has been opened by both processes.\n"
@@ -6663,16 +6658,16 @@ msgstr	"Diese Verzeichnis enthält \"name
 	"während slrnface ausgeführt wird. Diese sollten nicht gelöscht werden.\n"
 
 # TRANSLATION MISSING
-#: src/xface.c:123
+#: src/xface.c:135
 msgid	"Can't run slrnface: couldn't construct fifo name."
 msgstr	""
 
-#: src/xface.c:162
+#: src/xface.c:174
 #, c-format
 msgid	"Slrnface abnormally exited, code %d."
 msgstr	"Slrnface wurde mit Fehler %d beendet."
 
-#: src/xface.c:206
+#: src/xface.c:218
 #, c-format
 msgid	"Slrnface failed: %s."
 msgstr	"Fehler %s beim Aufruf von Slrnface."
Binary files tin-1.9.2/po/en_GB.gmo and tin-1.9.3/po/en_GB.gmo differ
diff -Nurp tin-1.9.2/po/en_GB.po tin-1.9.3/po/en_GB.po
--- tin-1.9.2/po/en_GB.po	2007-02-01 14:02:43.000000000 +0100
+++ tin-1.9.3/po/en_GB.po	2008-05-06 18:46:06.000000000 +0200
@@ -4,7 +4,7 @@
 msgid	""
 msgstr	"Project-Id-Version: tin 1.8.1\n"
 	"Report-Msgid-Bugs-To: \n"
-	"POT-Creation-Date: 2007-02-01 14:02+0100\n"
+	"POT-Creation-Date: 2008-05-06 18:44+0200\n"
 	"PO-Revision-Date: 2002-11-15 20:10+0000\n"
 	"Last-Translator: Robert Brady <rwb197@zepler.org>\n"
 	"Language-Team: \n"
@@ -12,283 +12,257 @@ msgstr	"Project-Id-Version: tin 1.8.1\n"
 	"Content-Type: text/plain; charset=ISO-8859-1\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1545
-#, c-format
-msgid	"%d Bad overview record (%d fields) '%s'"
-msgstr	""
-
-#: src/attrib.c:649
+#: src/attrib.c:700
 #, c-format
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	""
 
-#: src/attrib.c:650
+#: src/attrib.c:701
 #, c-format
-msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
+msgid	"#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	""
 
-#: src/attrib.c:651
+#: src/attrib.c:702
 #, c-format
-msgid	"#  maildir=STRING (ie. ~/Mail)\n"
+msgid	"#  maildir=STRING (eg. ~/Mail)\n"
 msgstr	""
 
-#: src/attrib.c:652
+#: src/attrib.c:703
 #, c-format
-msgid	"#  savedir=STRING (ie. ~user/News)\n"
+msgid	"#  savedir=STRING (eg. ~user/News)\n"
 msgstr	""
 
-#: src/attrib.c:653
+#: src/attrib.c:704
 #, c-format
-msgid	"#  savefile=STRING (ie. =linux)\n"
+msgid	"#  savefile=STRING (eg. =linux)\n"
 msgstr	""
 
-#: src/attrib.c:654
+#: src/attrib.c:705
 #, c-format
-msgid	"#  sigfile=STRING (ie. $var/sig)\n"
+msgid	"#  sigfile=STRING (eg. $var/sig)\n"
 msgstr	""
 
-#: src/attrib.c:655
+#: src/attrib.c:706
 #, c-format
 msgid	"#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr	""
 
-#: src/attrib.c:656
+#: src/attrib.c:707
 #, c-format
 msgid	"#  followup_to=STRING\n"
 msgstr	""
 
-#: src/attrib.c:657
+#: src/attrib.c:708
 #, c-format
-msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
+msgid	"#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr	""
 
-#: src/attrib.c:658
+#: src/attrib.c:709
 #, c-format
-msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
+msgid	"#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr	""
 
-#: src/attrib.c:659
+#: src/attrib.c:710
 #, c-format
-msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
+msgid	"#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr	""
 
-#: src/attrib.c:660
+#: src/attrib.c:711
 #, c-format
 msgid	"#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr	""
 
-#: src/attrib.c:661
+#: src/attrib.c:712
 #, c-format
 msgid	"#  news_quote_format=STRING\n"
 msgstr	""
 
-#: src/attrib.c:662
+#: src/attrib.c:713
 #, c-format
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	""
 
-#: src/attrib.c:663
+#: src/attrib.c:714
 #, c-format
 msgid	"#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr	""
 
-#: src/attrib.c:665
+#: src/attrib.c:716
 #, c-format
 msgid	"#  ispell=STRING\n"
 msgstr	""
 
-#: src/attrib.c:667
+#: src/attrib.c:718
 #, c-format
 msgid	"#  auto_select=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:668
+#: src/attrib.c:719
 #, c-format
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:669
+#: src/attrib.c:720
 #, c-format
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:670
+#: src/attrib.c:721
 #, c-format
 msgid	"#  delete_tmp_files=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:671
+#: src/attrib.c:722
 #, c-format
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:672
+#: src/attrib.c:723
 #, c-format
 msgid	"#  thread_arts=NUM"
 msgstr	""
 
-#: src/attrib.c:679
+#: src/attrib.c:730
 #, c-format
 msgid	"#  thread_perc=NUM\n"
 msgstr	""
 
-#: src/attrib.c:680
+#: src/attrib.c:731
 #, c-format
 msgid	"#  show_author=NUM\n"
 msgstr	""
 
-#: src/attrib.c:686
+#: src/attrib.c:737
 #, c-format
 msgid	"#  show_info=NUM\n"
 msgstr	""
 
-#: src/attrib.c:692
+#: src/attrib.c:743
 #, c-format
 msgid	"#  sort_art_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:710
+#: src/attrib.c:761
 #, c-format
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:718
+#: src/attrib.c:769
 #, c-format
 msgid	"#  post_proc_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:723
+#: src/attrib.c:774
 #, c-format
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	""
 
-#: src/attrib.c:724
+#: src/attrib.c:775
 #, c-format
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:725
+#: src/attrib.c:776
 #, c-format
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:726
+#: src/attrib.c:777
 #, c-format
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	""
 
-#: src/attrib.c:727 src/attrib.c:734
+#: src/attrib.c:778 src/attrib.c:785
 #, c-format
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	""
 
-#: src/attrib.c:728 src/attrib.c:735
+#: src/attrib.c:779 src/attrib.c:786
 #, c-format
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	""
 
-#: src/attrib.c:729 src/attrib.c:736
+#: src/attrib.c:780 src/attrib.c:787
 #, c-format
 msgid	"#    4=msgid 5=lines\n"
 msgstr	""
 
-#: src/attrib.c:730
+#: src/attrib.c:781
 #, c-format
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	""
 
-#: src/attrib.c:731
+#: src/attrib.c:782
 #, c-format
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:732
+#: src/attrib.c:783
 #, c-format
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:733
+#: src/attrib.c:784
 #, c-format
 msgid	"#  quick_select_header=NUM\n"
 msgstr	""
 
-#: src/attrib.c:737
+#: src/attrib.c:788
 #, c-format
 msgid	"#  x_comment_to=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:738
+#: src/attrib.c:789
 #, c-format
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	""
 
-#: src/attrib.c:739
+#: src/attrib.c:790
 #, c-format
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:740
+#: src/attrib.c:791
 #, c-format
 msgid	"#  mime_forward=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:742
+#: src/attrib.c:793
 #, c-format
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	""
 
-#: src/attrib.c:749
+#: src/attrib.c:800
 #, c-format
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	""
 
-#: src/attrib.c:751
+#: src/attrib.c:802
 #, c-format
 msgid	"#\n"
 	"# Note that it is best to put general (global scoping)\n"
 msgstr	""
 
-#: src/attrib.c:752
+#: src/attrib.c:803
 #, c-format
 msgid	"# entries first followed by group specific entries.\n"
 	"#\n"
 msgstr	""
 
-#: src/attrib.c:753
+#: src/attrib.c:804
 #, c-format
 msgid	"############################################################################\n"
-	"\n"
 msgstr	""
 
-#: src/attrib.c:759
-#, c-format
-msgid	"# include extra headers\n"
-msgstr	""
-
-#: src/attrib.c:767
-#, c-format
-msgid	"# in *sources* set post process type to shar only\n"
-msgstr	""
-
-#: src/attrib.c:771
-#, c-format
-msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
-msgstr	""
-
-#: src/attrib.c:772
-#, c-format
-msgid	"# remove tmp files and set Followup-To: poster\n"
-msgstr	""
-
-#: src/cook.c:559
+#: src/cook.c:558
 msgid	"(unknown)"
 msgstr	""
 
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:597 src/filter.c:605
+#: src/filter.c:592 src/filter.c:600
 msgid	"Removed from the previous rule: "
 msgstr	""
 
@@ -386,477 +360,482 @@ msgstr	""
 msgid	"Article undeleted."
 msgstr	""
 
-#: src/lang.c:66
-msgid	"articles"
+#: src/lang.c:65
+#, c-format
+msgid	"Article %4d of %4d"
 msgstr	""
 
 #: src/lang.c:67
-msgid	"This is a repost of the following article:"
+msgid	"articles"
 msgstr	""
 
 #: src/lang.c:68
-msgid	"article"
+msgid	"This is a repost of the following article:"
 msgstr	""
 
 #: src/lang.c:69
-msgid	"Article"
+msgid	"article"
 msgstr	""
 
 #: src/lang.c:70
+msgid	"Article"
+msgstr	""
+
+#: src/lang.c:71
 #, c-format
 msgid	"-- %d %s mailed --"
 msgstr	""
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid	" at %s"
 msgstr	""
 
-#: src/lang.c:72
+#: src/lang.c:73
 #, c-format
 msgid	"%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n"
 msgstr	""
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid	", charset: "
 msgstr	""
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid	"%*s[-- Description: %s --]\n"
 msgstr	""
 
-#: src/lang.c:75
+#: src/lang.c:76
 #, c-format
 msgid	"%d Authentication failed"
 msgstr	""
 
-#: src/lang.c:76
+#: src/lang.c:77
 msgid	"Server expects authentication.\n"
 msgstr	""
 
-#: src/lang.c:77
+#: src/lang.c:78
 msgid	"    Please enter password: "
 msgstr	""
 
-#: src/lang.c:78
+#: src/lang.c:79
 msgid	"    Please enter username: "
 msgstr	""
 
-#: src/lang.c:79
+#: src/lang.c:80
 #, c-format
 msgid	"Author search backwards [%s]> "
 msgstr	""
 
-#: src/lang.c:80
+#: src/lang.c:81
 #, c-format
 msgid	"Author search forwards [%s]> "
 msgstr	""
 
-#: src/lang.c:81
+#: src/lang.c:82
 #, c-format
 msgid	"Authorized for user: %s\n"
 msgstr	"Authorised for user: %s\n"
 
-#: src/lang.c:82
+#: src/lang.c:83
 #, c-format
 msgid	"Authorization failed for user: %s\n"
 msgstr	"Authorisation failed for user: %s\n"
 
-#: src/lang.c:83
+#: src/lang.c:84
 #, c-format
 msgid	"\n"
 	"Autosubscribed to %s"
 msgstr	""
 
-#: src/lang.c:84
+#: src/lang.c:85
 msgid	"Autosubscribing groups...\n"
 msgstr	""
 
-#: src/lang.c:85
+#: src/lang.c:86
 #, c-format
 msgid	"Autoselecting articles (use '%s' to see all unread) ..."
 msgstr	""
 
-#: src/lang.c:87
+#: src/lang.c:88
 #, c-format
 msgid	"Active file corrupt - %s"
 msgstr	""
 
-#: src/lang.c:88
+#: src/lang.c:89
 #, c-format
 msgid	"Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr	""
 
-#: src/lang.c:89
+#: src/lang.c:90
 #, c-format
 msgid	"Unrecognized attribute: %s"
 msgstr	"Unrecognised attribute: %s"
 
-#: src/lang.c:90
+#: src/lang.c:91
 #, c-format
 msgid	"Bad command. Type '%s' for help."
 msgstr	""
 
-#: src/lang.c:92
+#: src/lang.c:93
 msgid	"Base article"
 msgstr	""
 
-#: src/lang.c:93
+#: src/lang.c:94
 msgid	"Base article range"
 msgstr	""
 
-#: src/lang.c:94
+#: src/lang.c:95
 #, c-format
 msgid	"%s: Updating of index files not supported\n"
 msgstr	""
 
-#: src/lang.c:95
+#: src/lang.c:96
 msgid	"*** Beginning of article ***"
 msgstr	""
 
-#: src/lang.c:97
+#: src/lang.c:98
 #, c-format
 msgid	"Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr	""
 
-#: src/lang.c:98
+#: src/lang.c:99
 msgid	"Cancelling article..."
 msgstr	""
 
-#: src/lang.c:100
+#: src/lang.c:101
 #, c-format
 msgid	"Cannot create %s"
 msgstr	""
 
-#: src/lang.c:101
+#: src/lang.c:102
 #, c-format
 msgid	"Can't find base article %d"
 msgstr	""
 
-#: src/lang.c:102
+#: src/lang.c:103
 #, c-format
 msgid	"Can't open %s"
 msgstr	""
 
-#: src/lang.c:103
+#: src/lang.c:104
 #, c-format
 msgid	"Couldn't open %s for saving"
 msgstr	""
 
-#: src/lang.c:104
+#: src/lang.c:105
 msgid	"*** Posting not allowed ***"
 msgstr	""
 
-#: src/lang.c:105
+#: src/lang.c:106
 #, c-format
 msgid	"Posting is not allowed to %s"
 msgstr	""
 
-#: src/lang.c:106
+#: src/lang.c:107
 #, c-format
 msgid	"Can't retrieve %s"
 msgstr	""
 
-#: src/lang.c:107
+#: src/lang.c:108
 #, c-format
 msgid	"%s is a directory"
 msgstr	""
 
-#: src/lang.c:108
+#: src/lang.c:109
 msgid	"Catchup"
 msgstr	""
 
-#: src/lang.c:109
+#: src/lang.c:110
 #, c-format
 msgid	"Catchup %s..."
 msgstr	""
 
-#: src/lang.c:110
+#: src/lang.c:111
 msgid	"Catchup all groups entered during this session?"
 msgstr	""
 
-#: src/lang.c:111
+#: src/lang.c:112
 msgid	"You have tagged articles in this group - catchup anyway?"
 msgstr	""
 
-#: src/lang.c:112
+#: src/lang.c:113
 #, c-format
 msgid	"%s %d %s in %lu seconds\n"
 msgstr	""
 
-#: src/lang.c:113
+#: src/lang.c:114
 msgid	"Caughtup"
 msgstr	""
 
-#: src/lang.c:114
+#: src/lang.c:115
 msgid	"Check Prepared Article"
 msgstr	""
 
-#: src/lang.c:115
+#: src/lang.c:116
 msgid	"Checking for new groups... "
 msgstr	""
 
-#: src/lang.c:116
+#: src/lang.c:117
 msgid	"Checking for news..."
 msgstr	""
 
-#: src/lang.c:117
+#: src/lang.c:118
 #, c-format
 msgid	"Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr	""
 
-#: src/lang.c:119
+#: src/lang.c:120
 msgid	"ANSI color disabled"
 msgstr	"ANSI colour disabled"
 
-#: src/lang.c:120
+#: src/lang.c:121
 msgid	"ANSI color enabled"
 msgstr	"ANSI colour enabled"
 
-#: src/lang.c:122
+#: src/lang.c:123
 #, c-format
 msgid	"Command failed: %s"
 msgstr	""
 
-#: src/lang.c:123
+#: src/lang.c:124
 msgid	"Mark not selected articles read?"
 msgstr	""
 
-#: src/lang.c:124
+#: src/lang.c:125
 #, c-format
 msgid	"Connecting to %s..."
 msgstr	""
 
-#: src/lang.c:125
+#: src/lang.c:126
 msgid	"<CR>"
 msgstr	""
 
-#: src/lang.c:126
+#: src/lang.c:127
 msgid	"Creating active file for saved groups...\n"
 msgstr	""
 
-#: src/lang.c:127
+#: src/lang.c:128
 msgid	"Creating newsrc file...\n"
 msgstr	""
 
-#: src/lang.c:129 src/lang.c:1150
+#: src/lang.c:130 src/lang.c:1150
 msgid	"Default"
 msgstr	""
 
-#: src/lang.c:130
+#: src/lang.c:131
 msgid	"Delete saved files that have been post processed?"
 msgstr	""
 
-#: src/lang.c:131
+#: src/lang.c:132
 msgid	"Deleting temporary files..."
 msgstr	""
 
-#: src/lang.c:133
+#: src/lang.c:134
 msgid	"*** End of article ***"
 msgstr	""
 
-#: src/lang.c:134
+#: src/lang.c:135
 msgid	"*** End of articles ***"
 msgstr	""
 
-#: src/lang.c:135
+#: src/lang.c:136
 msgid	"*** End of groups ***"
 msgstr	""
 
-#: src/lang.c:136
+#: src/lang.c:137
 msgid	"*** End of thread ***"
 msgstr	""
 
-#: src/lang.c:137
+#: src/lang.c:138
 msgid	"Enter limit of articles to get> "
 msgstr	""
 
-#: src/lang.c:138
+#: src/lang.c:139
 msgid	"Enter Message-ID to go to> "
 msgstr	""
 
-#: src/lang.c:139
+#: src/lang.c:140
 msgid	" and enter next unread thread"
 msgstr	""
 
-#: src/lang.c:140
+#: src/lang.c:141
 msgid	" and enter next unread group"
 msgstr	""
 
-#: src/lang.c:141
+#: src/lang.c:142
 msgid	"Enter option number> "
 msgstr	""
 
-#: src/lang.c:142
+#: src/lang.c:143
 #, c-format
 msgid	"Enter range [%s]> "
 msgstr	""
 
-#: src/lang.c:143
+#: src/lang.c:144
 msgid	"\n"
 	"Warning: Approved: header used.\n"
 msgstr	""
 
-#: src/lang.c:145
+#: src/lang.c:146
 msgid	"\n"
 	"Error: Bad address in Approved: header.\n"
 msgstr	""
 
-#: src/lang.c:146
+#: src/lang.c:147
 msgid	"\n"
 	"Error: Bad address in From: header.\n"
 msgstr	""
 
-#: src/lang.c:147
+#: src/lang.c:148
 msgid	"\n"
 	"Error: Bad address in Reply-To: header.\n"
 msgstr	""
 
-#: src/lang.c:148
+#: src/lang.c:149
 msgid	"\n"
 	"Error: Bad FQDN in Message-ID: header.\n"
 msgstr	""
 
-#: src/lang.c:149
+#: src/lang.c:150
 #, c-format
 msgid	"Can't unlock %s"
 msgstr	""
 
-#: src/lang.c:151
+#: src/lang.c:152
 #, c-format
 msgid	"Corrupted file %s"
 msgstr	""
 
-#: src/lang.c:152
+#: src/lang.c:153
 #, c-format
 msgid	"Couldn't dotlock %s - article not appended!"
 msgstr	""
 
-#: src/lang.c:153
+#: src/lang.c:154
 #, c-format
 msgid	"Couldn't lock %s - article not appended!"
 msgstr	""
 
-#: src/lang.c:155
+#: src/lang.c:156
 msgid	"Internal error in GNKSA routine - send bug report.\n"
 msgstr	""
 
-#: src/lang.c:156
+#: src/lang.c:157
 msgid	"Left angle bracket missing in route address.\n"
 msgstr	""
 
-#: src/lang.c:157
+#: src/lang.c:158
 msgid	"Left parenthesis missing in old-style address.\n"
 msgstr	""
 
-#: src/lang.c:158
+#: src/lang.c:159
 msgid	"Right parenthesis missing in old-style address.\n"
 msgstr	""
 
-#: src/lang.c:159
+#: src/lang.c:160
 msgid	"At-sign missing in mail address.\n"
 msgstr	""
 
-#: src/lang.c:160
+#: src/lang.c:161
 msgid	"Single component FQDN is not allowed. Add your domain.\n"
 msgstr	""
 
-#: src/lang.c:161
+#: src/lang.c:162
 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:162
+#: src/lang.c:163
 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:163
+#: src/lang.c:164
 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:164
+#: src/lang.c:165
 msgid	"Illegal character in FQDN.\n"
 msgstr	""
 
-#: src/lang.c:165
+#: src/lang.c:166
 msgid	"Zero length FQDN component not allowed.\n"
 msgstr	""
 
-#: src/lang.c:166
+#: src/lang.c:167
 msgid	"FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr	""
 
-#: src/lang.c:167
+#: src/lang.c:168
 msgid	"FQDN component may not start or end with hyphen.\n"
 msgstr	""
 
-#: src/lang.c:168
+#: src/lang.c:169
 msgid	"FQDN component may not start with digit.\n"
 msgstr	""
 
-#: src/lang.c:169
+#: src/lang.c:170
 msgid	"Domain literal has impossible numeric value.\n"
 msgstr	""
 
-#: src/lang.c:170
+#: src/lang.c:171
 msgid	"Domain literal is for private use only and not allowed for global use.\n"
 msgstr	""
 
-#: src/lang.c:171
+#: src/lang.c:172
 msgid	"Right bracket missing in domain literal.\n"
 msgstr	""
 
-#: src/lang.c:172
+#: src/lang.c:173
 msgid	"Missing localpart of mail address.\n"
 msgstr	""
 
-#: src/lang.c:173
+#: src/lang.c:174
 msgid	"Illegal character in localpart of mail address.\n"
 msgstr	""
 
-#: src/lang.c:174
+#: src/lang.c:175
 msgid	"Zero length localpart component not allowed.\n"
 msgstr	""
 
-#: src/lang.c:175
+#: src/lang.c:176
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr	""
 
-#: src/lang.c:176
+#: src/lang.c:177
 msgid	"Illegal character in realname.\n"
 	"Quoted words may not contain '()<>\\'.\n"
 msgstr	""
 
-#: src/lang.c:177
+#: src/lang.c:178
 msgid	"Illegal character in realname.\n"
 	"Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr	""
 
-#: src/lang.c:178
+#: src/lang.c:179
 msgid	"Bad syntax in encoded word used in realname.\n"
 msgstr	""
 
-#: src/lang.c:179
+#: src/lang.c:180
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr	""
 
-#: src/lang.c:180
+#: src/lang.c:181
 msgid	"Illegal character in realname.\n"
 	"Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr	""
 
-#: src/lang.c:181
+#: src/lang.c:182
 msgid	"\n"
 	"Error: No blank line found after header.\n"
 msgstr	""
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:183
+#: src/lang.c:184
 msgid	"\n"
 	"Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
 	"       US-ASCII  - please change this setting to a suitable value for\n"
@@ -864,7 +843,7 @@ msgid	"\n"
 	"       editing tinrc.\n"
 msgstr	""
 
-#: src/lang.c:188
+#: src/lang.c:189
 msgid	"\n"
 	"Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
 	"       for news  messages  is set  to \"7bit\"  -  please change this\n"
@@ -873,179 +852,179 @@ msgid	"\n"
 	"       using the M)enu of configurable options or by editing tinrc.\n"
 msgstr	""
 
-#: src/lang.c:194
+#: src/lang.c:195
 msgid	"\n"
 	"Error: Article starts with blank line instead of header\n"
 msgstr	""
 
-#: src/lang.c:195
+#: src/lang.c:196
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a colon after the header name:\n"
 	"%s\n"
 msgstr	""
 
-#: src/lang.c:196
+#: src/lang.c:197
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is empty.\n"
 msgstr	""
 
-#: src/lang.c:197
+#: src/lang.c:198
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is missing from the article header.\n"
 msgstr	""
 
-#: src/lang.c:198
+#: src/lang.c:199
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a space after the colon:\n"
 	"%s\n"
 msgstr	""
 
-#: src/lang.c:199
+#: src/lang.c:200
 #, c-format
 msgid	"\n"
 	"Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr	""
 
-#: src/lang.c:200
+#: src/lang.c:201
 #, c-format
 msgid	"Insecure permissions of %s (%o)"
 msgstr	""
 
-#: src/lang.c:201
+#: src/lang.c:202
 #, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	""
 
-#: src/lang.c:203
+#: src/lang.c:204
 #, c-format
 msgid	"MIME parse error: Unexpected end of %s/%s article"
 msgstr	""
 
-#: src/lang.c:204
+#: src/lang.c:205
 msgid	"MIME parse error: Start boundary whilst reading headers"
 msgstr	""
 
-#: src/lang.c:205
+#: src/lang.c:206
 msgid	"Can't get a (fully-qualified) domain-name!"
 msgstr	""
 
-#: src/lang.c:206
+#: src/lang.c:207
 #, c-format
 msgid	"No permissions to go into %s\n"
 msgstr	""
 
-#: src/lang.c:207
+#: src/lang.c:208
 msgid	"\n"
 	"Error: From: line missing.\n"
 msgstr	""
 
-#: src/lang.c:208
+#: src/lang.c:209
 #, c-format
 msgid	"No read permissions for %s\n"
 msgstr	""
 
-#: src/lang.c:209
+#: src/lang.c:210
 #, c-format
 msgid	"File %s does not exist\n"
 msgstr	""
 
-#: src/lang.c:210
+#: src/lang.c:211
 #, c-format
 msgid	"No write permissions for %s\n"
 msgstr	""
 
-#: src/lang.c:211
+#: src/lang.c:212
 msgid	"Can't get user information (/etc/passwd missing?)"
 msgstr	""
 
-#: src/lang.c:212
+#: src/lang.c:213
 msgid	"errors"
 msgstr	""
 
-#: src/lang.c:213
+#: src/lang.c:214
 #, c-format
 msgid	"\n"
 	"Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 msgstr	""
 
-#: src/lang.c:214
+#: src/lang.c:215
 #, c-format
 msgid	"Server has non of the groups listed in %s"
 msgstr	""
 
-#: src/lang.c:215
+#: src/lang.c:216
 msgid	"error"
 msgstr	""
 
-#: src/lang.c:216
+#: src/lang.c:217
 msgid	"Unknown display level"
 msgstr	""
 
-#: src/lang.c:217
+#: src/lang.c:218
 msgid	"<ESC>"
 msgstr	""
 
-#: src/lang.c:218
+#: src/lang.c:219
 msgid	"Exiting..."
 msgstr	""
 
-#: src/lang.c:219
+#: src/lang.c:220
 msgid	"leaving external mail-reader"
 msgstr	""
 
-#: src/lang.c:220
+#: src/lang.c:221
 #, c-format
 msgid	"Extracting %s..."
 msgstr	""
 
-#: src/lang.c:222
+#: src/lang.c:223
 #, c-format
 msgid	"Error writing %s file. Filesystem full? File reset to previous state."
 msgstr	""
 
-#: src/lang.c:223
+#: src/lang.c:224
 #, c-format
 msgid	"Error making backup of %s file. Filesystem full?"
 msgstr	""
 
-#: src/lang.c:224
+#: src/lang.c:225
 #, c-format
 msgid	"Filtering global rules (%d/%d)..."
 msgstr	""
 
-#: src/lang.c:225
+#: src/lang.c:226
 msgid	"Rule created by: "
 msgstr	""
 
-#: src/lang.c:226
+#: src/lang.c:227
 #, c-format
 msgid	"Enter pattern [%s]> "
 msgstr	""
 
-#: src/lang.c:227
+#: src/lang.c:228
 #, c-format
 msgid	"\n"
 	"You requested followups to your article to go to the following %s:\n"
 msgstr	""
 
-#: src/lang.c:228
+#: src/lang.c:229
 #, c-format
 msgid	"  %s\t Answers will be directed to you by mail.\n"
 msgstr	""
 
-#: src/lang.c:229
+#: src/lang.c:230
 msgid	"-- forwarded message --\n"
 msgstr	""
 
-#: src/lang.c:230
+#: src/lang.c:231
 msgid	"-- end of forwarded message --\n"
 msgstr	""
 
-#: src/lang.c:231
+#: src/lang.c:232
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
 	"placed\n"
@@ -1074,742 +1053,742 @@ msgid	"# Format:\n"
 	"#\n"
 msgstr	""
 
-#: src/lang.c:252
+#: src/lang.c:253
 #, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	""
 
-#: src/lang.c:253
+#: src/lang.c:254
 #, c-format
 msgid	"Enter the score weight (range 0 < score <= %d)"
 msgstr	""
 
 #. SCORE_MAX
-#: src/lang.c:254
+#: src/lang.c:255
 msgid	"Full"
 msgstr	""
 
-#: src/lang.c:255
+#: src/lang.c:256
 msgid	"Comment (optional)  : "
 msgstr	""
 
-#: src/lang.c:256
+#: src/lang.c:257
 msgid	"Apply pattern to    : "
 msgstr	""
 
-#: src/lang.c:257
+#: src/lang.c:258
 msgid	"From: line (ignore case)      "
 msgstr	""
 
-#: src/lang.c:258
+#: src/lang.c:259
 msgid	"From: line (case sensitive)   "
 msgstr	""
 
-#: src/lang.c:260
+#: src/lang.c:261
 #, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	""
 
-#: src/lang.c:261
+#: src/lang.c:262
 msgid	"global "
 msgstr	""
 
-#: src/lang.c:262
+#: src/lang.c:263
 #, c-format
 msgid	"Please use %.100s instead"
 msgstr	""
 
-#: src/lang.c:263
+#: src/lang.c:264
 #, c-format
 msgid	"%s is bogus"
 msgstr	""
 
-#: src/lang.c:264
+#: src/lang.c:265
 #, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	""
 
-#: src/lang.c:265
+#: src/lang.c:266
 msgid	"groups"
 msgstr	""
 
-#: src/lang.c:266
+#: src/lang.c:267
 #, c-format
 msgid	"Rereading %s..."
 msgstr	""
 
-#: src/lang.c:267
+#: src/lang.c:268
 msgid	"Top Level Commands"
 msgstr	""
 
-#: src/lang.c:268
+#: src/lang.c:269
 msgid	"Group Selection"
 msgstr	""
 
-#: src/lang.c:269
+#: src/lang.c:270
 msgid	"group"
 msgstr	""
 
-#: src/lang.c:271
+#: src/lang.c:272
 msgid	"One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr	""
 
-#: src/lang.c:272
+#: src/lang.c:273
 msgid	"From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:273
+#: src/lang.c:274
 msgid	"Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr	""
 
-#: src/lang.c:274
+#: src/lang.c:275
 msgid	"Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:275
+#: src/lang.c:276
 msgid	"Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:276
+#: src/lang.c:277
 msgid	"Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr	""
 
-#: src/lang.c:277
+#: src/lang.c:278
 msgid	"Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:278
+#: src/lang.c:279
 msgid	"Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:279
+#: src/lang.c:280
 msgid	"Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:280
+#: src/lang.c:281
 msgid	"Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:281
+#: src/lang.c:282
 msgid	"kill an article via a menu"
 msgstr	""
 
-#: src/lang.c:282
+#: src/lang.c:283
 msgid	"auto-select (hot) an article via a menu"
 msgstr	""
 
-#: src/lang.c:283
+#: src/lang.c:284
 msgid	"Browse URLs in article"
 msgstr	""
 
-#: src/lang.c:284
+#: src/lang.c:285
 msgid	"0 - 9\t  display article by number in current thread"
 msgstr	""
 
-#: src/lang.c:285
+#: src/lang.c:286
 msgid	"cancel (delete) or supersede (overwrite) current article"
 msgstr	""
 
-#: src/lang.c:286
+#: src/lang.c:287
 msgid	"edit article (mail-groups only)"
 msgstr	""
 
-#: src/lang.c:287
+#: src/lang.c:288
 msgid	"display first article in current thread"
 msgstr	""
 
-#: src/lang.c:288
+#: src/lang.c:289
 msgid	"display first page of article"
 msgstr	""
 
-#: src/lang.c:289
+#: src/lang.c:290
 msgid	"post followup to current article"
 msgstr	""
 
-#: src/lang.c:290
+#: src/lang.c:291
 msgid	"post followup (don't copy text) to current article"
 msgstr	""
 
-#: src/lang.c:291
+#: src/lang.c:292
 msgid	"post followup to current article quoting complete headers"
 msgstr	""
 
-#: src/lang.c:292
+#: src/lang.c:293
 msgid	"display last article in current thread"
 msgstr	""
 
-#: src/lang.c:293
+#: src/lang.c:294
 msgid	"display last page of article"
 msgstr	""
 
-#: src/lang.c:294
+#: src/lang.c:295
 msgid	"mark rest of thread as read and advance to next unread"
 msgstr	""
 
-#: src/lang.c:295
+#: src/lang.c:296
 msgid	"display next article"
 msgstr	""
 
-#: src/lang.c:296
+#: src/lang.c:297
 msgid	"display first article in next thread"
 msgstr	""
 
-#: src/lang.c:297
+#: src/lang.c:298
 msgid	"display next unread article"
 msgstr	""
 
-#: src/lang.c:298
+#: src/lang.c:299
 msgid	"go to the article that this one followed up"
 msgstr	""
 
-#: src/lang.c:299
+#: src/lang.c:300
 msgid	"display previous article"
 msgstr	""
 
-#: src/lang.c:300
+#: src/lang.c:301
 msgid	"display previous unread article"
 msgstr	""
 
-#: src/lang.c:301
+#: src/lang.c:302
 msgid	"quickly kill an article using defaults"
 msgstr	""
 
-#: src/lang.c:302
+#: src/lang.c:303
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	""
 
-#: src/lang.c:303
+#: src/lang.c:304
 msgid	"return to group selection level"
 msgstr	""
 
-#: src/lang.c:304
+#: src/lang.c:305
 msgid	"reply through mail to author"
 msgstr	""
 
-#: src/lang.c:305
+#: src/lang.c:306
 msgid	"reply through mail (don't copy text) to author"
 msgstr	""
 
-#: src/lang.c:306
+#: src/lang.c:307
 msgid	"reply through mail to author quoting complete headers"
 msgstr	""
 
-#: src/lang.c:307
+#: src/lang.c:308
 msgid	"repost chosen article to another group"
 msgstr	""
 
-#: src/lang.c:308
+#: src/lang.c:309
 msgid	"search backwards within this article"
 msgstr	""
 
-#: src/lang.c:309
+#: src/lang.c:310
 msgid	"search forwards within this article"
 msgstr	""
 
-#: src/lang.c:310
+#: src/lang.c:311
 msgid	"show article in raw-mode (including all headers)"
 msgstr	""
 
-#: src/lang.c:311
+#: src/lang.c:312
 msgid	"skip next block of included text"
 msgstr	""
 
-#: src/lang.c:312
+#: src/lang.c:313
 msgid	"toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr	""
 
-#: src/lang.c:313
+#: src/lang.c:314
 msgid	"toggle word highlighting on/off"
 msgstr	""
 
-#: src/lang.c:314
+#: src/lang.c:315
 msgid	"toggle ROT-13 (basic decode) for current article"
 msgstr	""
 
-#: src/lang.c:315
+#: src/lang.c:316
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	""
 
-#: src/lang.c:316
+#: src/lang.c:317
 msgid	"toggle german TeX style decoding for current article"
 msgstr	""
 
-#: src/lang.c:317
+#: src/lang.c:318
 msgid	"toggle display of uuencoded sections"
 msgstr	""
 
-#: src/lang.c:318
+#: src/lang.c:319
 msgid	"View/save multimedia attachments"
 msgstr	""
 
-#: src/lang.c:319
+#: src/lang.c:320
 #, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	""
 
-#: src/lang.c:320
+#: src/lang.c:321
 msgid	"choose range of articles to be affected by next command"
 msgstr	""
 
-#: src/lang.c:321
+#: src/lang.c:322
 msgid	"escape from command prompt"
 msgstr	""
 
-#: src/lang.c:322
+#: src/lang.c:323
 msgid	"edit filter file"
 msgstr	""
 
-#: src/lang.c:323
+#: src/lang.c:324
 msgid	"get help"
 msgstr	""
 
-#: src/lang.c:324
+#: src/lang.c:325
 msgid	"display last article viewed"
 msgstr	""
 
-#: src/lang.c:325
+#: src/lang.c:326
 msgid	"down one line"
 msgstr	""
 
-#: src/lang.c:326
+#: src/lang.c:327
 msgid	"up one line"
 msgstr	""
 
-#: src/lang.c:327
+#: src/lang.c:328
 msgid	"go to article chosen by Message-ID"
 msgstr	""
 
-#: src/lang.c:328
+#: src/lang.c:329
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	""
 
-#: src/lang.c:329
+#: src/lang.c:330
 msgid	"menu of configurable options"
 msgstr	""
 
-#: src/lang.c:330
+#: src/lang.c:331
 msgid	"down one page"
 msgstr	""
 
-#: src/lang.c:331
+#: src/lang.c:332
 msgid	"up one page"
 msgstr	""
 
-#: src/lang.c:332
+#: src/lang.c:333
 msgid	"post (write) article to current group"
 msgstr	""
 
-#: src/lang.c:333
+#: src/lang.c:334
 msgid	"post postponed articles"
 msgstr	""
 
-#: src/lang.c:334
+#: src/lang.c:335
 msgid	"list articles posted by you (from posted file)"
 msgstr	""
 
-#: src/lang.c:335
+#: src/lang.c:336
 msgid	"return to previous menu"
 msgstr	""
 
-#: src/lang.c:336
+#: src/lang.c:337
 msgid	"quit tin immediately"
 msgstr	""
 
-#: src/lang.c:337
+#: src/lang.c:338
 msgid	"redraw page"
 msgstr	""
 
-#: src/lang.c:338
+#: src/lang.c:339
 msgid	"save article/thread/hot/pattern/tagged articles to file"
 msgstr	""
 
-#: src/lang.c:339
+#: src/lang.c:340
 msgid	"save marked articles automatically without user prompts"
 msgstr	""
 
-#: src/lang.c:340
+#: src/lang.c:341
 msgid	"scroll the screen one line down"
 msgstr	""
 
-#: src/lang.c:341
+#: src/lang.c:342
 msgid	"scroll the screen one line up"
 msgstr	""
 
-#: src/lang.c:342
+#: src/lang.c:343
 msgid	"search for articles by author backwards"
 msgstr	""
 
-#: src/lang.c:343
+#: src/lang.c:344
 msgid	"search for articles by author forwards"
 msgstr	""
 
-#: src/lang.c:344
+#: src/lang.c:345
 msgid	"search all articles for a given string (this may take some time)"
 msgstr	""
 
-#: src/lang.c:345
+#: src/lang.c:346
 msgid	" \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr	""
 
-#: src/lang.c:346
+#: src/lang.c:347
 msgid	"search for articles by Subject line backwards"
 msgstr	""
 
-#: src/lang.c:347
+#: src/lang.c:348
 msgid	"search for articles by Subject line forwards"
 msgstr	""
 
-#: src/lang.c:348
+#: src/lang.c:349
 msgid	"repeat last search"
 msgstr	""
 
-#: src/lang.c:349
+#: src/lang.c:350
 msgid	"tag current article for reposting/mailing/piping/printing/saving"
 msgstr	""
 
-#: src/lang.c:350
+#: src/lang.c:351
 msgid	"toggle info message in last line (subject/description)"
 msgstr	""
 
-#: src/lang.c:351
+#: src/lang.c:352
 msgid	"toggle inverse video"
 msgstr	""
 
-#: src/lang.c:352
+#: src/lang.c:353
 msgid	"toggle mini help menu display"
 msgstr	""
 
-#: src/lang.c:353
+#: src/lang.c:354
 msgid	"cycle the display of authors email address, real name, both or neither"
 msgstr	""
 
-#: src/lang.c:354
+#: src/lang.c:355
 msgid	"show version information"
 msgstr	""
 
-#: src/lang.c:355
+#: src/lang.c:356
 msgid	"mark all articles as read and return to group selection menu"
 msgstr	""
 
-#: src/lang.c:356
+#: src/lang.c:357
 msgid	"mark all articles as read and enter next group with unread articles"
 msgstr	""
 
-#: src/lang.c:357
+#: src/lang.c:358
 msgid	"choose first thread in list"
 msgstr	""
 
-#: src/lang.c:358
+#: src/lang.c:359
 msgid	"choose last thread in list"
 msgstr	""
 
-#: src/lang.c:359
+#: src/lang.c:360
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	""
 
-#: src/lang.c:360
+#: src/lang.c:361
 msgid	"mark article as unread"
 msgstr	""
 
-#: src/lang.c:361
+#: src/lang.c:362
 msgid	"mark current thread or tagged threads as read"
 msgstr	""
 
-#: src/lang.c:362
+#: src/lang.c:363
 msgid	"mark thread as unread"
 msgstr	""
 
-#: src/lang.c:363
+#: src/lang.c:364
 msgid	"toggle display of all/selected articles"
 msgstr	""
 
-#: src/lang.c:364
+#: src/lang.c:365
 msgid	"display next group"
 msgstr	""
 
-#: src/lang.c:365
+#: src/lang.c:366
 msgid	"display previous group"
 msgstr	""
 
-#: src/lang.c:366
+#: src/lang.c:367
 msgid	"toggle all selections (all articles)"
 msgstr	""
 
-#: src/lang.c:367
+#: src/lang.c:368
 msgid	"select group (make \"hot\")"
 msgstr	""
 
-#: src/lang.c:368
+#: src/lang.c:369
 msgid	"select thread"
 msgstr	""
 
-#: src/lang.c:369
+#: src/lang.c:370
 msgid	"select threads if at least one unread article is selected"
 msgstr	""
 
-#: src/lang.c:370
+#: src/lang.c:371
 msgid	"select threads that match user specified pattern"
 msgstr	""
 
-#: src/lang.c:371
+#: src/lang.c:372
 msgid	"tag all parts of current multipart-message in order"
 msgstr	""
 
-#: src/lang.c:372
+#: src/lang.c:373
 msgid	"0 - 9\t  choose thread by number"
 msgstr	""
 
-#: src/lang.c:373
+#: src/lang.c:374
 msgid	"toggle limit number of articles to get, and reload"
 msgstr	""
 
-#: src/lang.c:374
+#: src/lang.c:375
 msgid	"toggle display of all/unread articles"
 msgstr	""
 
-#: src/lang.c:375
+#: src/lang.c:376
 msgid	"toggle selection of thread"
 msgstr	""
 
-#: src/lang.c:376
+#: src/lang.c:377
 msgid	"cycle through threading options available"
 msgstr	""
 
-#: src/lang.c:377
+#: src/lang.c:378
 msgid	"undo all selections (all articles)"
 msgstr	""
 
-#: src/lang.c:378
+#: src/lang.c:379
 msgid	"untag all tagged threads"
 msgstr	""
 
-#: src/lang.c:379
+#: src/lang.c:380
 msgid	"mark all articles in group as read"
 msgstr	""
 
-#: src/lang.c:380
+#: src/lang.c:381
 msgid	"mark all articles in group as read and move to next unread group"
 msgstr	""
 
-#: src/lang.c:381
+#: src/lang.c:382
 msgid	"choose first group in list"
 msgstr	""
 
-#: src/lang.c:382
+#: src/lang.c:383
 msgid	"choose group by name"
 msgstr	""
 
-#: src/lang.c:383
+#: src/lang.c:384
 msgid	"0 - 9\t  choose group by number"
 msgstr	""
 
-#: src/lang.c:384
+#: src/lang.c:385
 msgid	"choose range of groups to be affected by next command"
 msgstr	""
 
-#: src/lang.c:385
+#: src/lang.c:386
 msgid	"choose last group in list"
 msgstr	""
 
-#: src/lang.c:386
+#: src/lang.c:387
 msgid	"mark all articles in chosen group unread"
 msgstr	""
 
-#: src/lang.c:387
+#: src/lang.c:388
 msgid	"move chosen group within list"
 msgstr	""
 
-#: src/lang.c:388
+#: src/lang.c:389
 msgid	"choose next group with unread news"
 msgstr	""
 
-#: src/lang.c:389 src/lang.c:1197
+#: src/lang.c:390 src/lang.c:1197
 msgid	"quit"
 msgstr	""
 
-#: src/lang.c:390
+#: src/lang.c:391
 msgid	"quit without saving configuration changes"
 msgstr	""
 
-#: src/lang.c:391
+#: src/lang.c:392
 msgid	"read chosen group"
 msgstr	""
 
-#: src/lang.c:392
+#: src/lang.c:393
 msgid	"reset .newsrc (all available articles in groups marked unread)"
 msgstr	""
 
-#: src/lang.c:393
+#: src/lang.c:394
 msgid	"search backwards for a group name"
 msgstr	""
 
-#: src/lang.c:394
+#: src/lang.c:395
 msgid	" \t  (all searches are case-insensitive and wrap around)"
 msgstr	""
 
-#: src/lang.c:395
+#: src/lang.c:396
 msgid	"search forwards for a group name"
 msgstr	""
 
-#: src/lang.c:396
+#: src/lang.c:397
 msgid	"subscribe to chosen group"
 msgstr	""
 
-#: src/lang.c:397
+#: src/lang.c:398
 msgid	"subscribe to groups that match pattern"
 msgstr	""
 
-#: src/lang.c:398
+#: src/lang.c:399
 msgid	"reread active file to check for any new news"
 msgstr	""
 
-#: src/lang.c:399
+#: src/lang.c:400
 msgid	"toggle display of group name only or group name plus description"
 msgstr	""
 
-#: src/lang.c:400
+#: src/lang.c:401
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	""
 
-#: src/lang.c:401
+#: src/lang.c:402
 msgid	"unsubscribe from chosen group"
 msgstr	""
 
-#: src/lang.c:402
+#: src/lang.c:403
 msgid	"unsubscribe from groups that match pattern"
 msgstr	""
 
-#: src/lang.c:403
+#: src/lang.c:404
 msgid	"sort the list of groups"
 msgstr	""
 
-#: src/lang.c:404
+#: src/lang.c:405
 msgid	"toggle display to show all/subscribed groups"
 msgstr	""
 
-#: src/lang.c:405
+#: src/lang.c:406
 msgid	"0 - 9\t  choose article by number"
 msgstr	""
 
-#: src/lang.c:406
+#: src/lang.c:407
 msgid	"mark thread as read and return to group index page"
 msgstr	""
 
-#: src/lang.c:407
+#: src/lang.c:408
 msgid	"mark thread as read and enter next unread thread or group"
 msgstr	""
 
-#: src/lang.c:408
+#: src/lang.c:409
 msgid	"choose first article in list"
 msgstr	""
 
-#: src/lang.c:409
+#: src/lang.c:410
 msgid	"choose last article in list"
 msgstr	""
 
-#: src/lang.c:410
+#: src/lang.c:411
 msgid	"mark article or tagged articles as read and move cursor to next unread article"
 msgstr	""
 
-#: src/lang.c:411
+#: src/lang.c:412
 msgid	"read chosen article"
 msgstr	""
 
-#: src/lang.c:412
+#: src/lang.c:413
 msgid	"Display properties\n"
 	"------------------"
 msgstr	""
 
-#: src/lang.c:413
+#: src/lang.c:414
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	""
 
-#: src/lang.c:414
+#: src/lang.c:415
 msgid	"Moving around\n"
 	"-------------"
 msgstr	""
 
-#: src/lang.c:415
+#: src/lang.c:416
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	""
 
-#: src/lang.c:417
+#: src/lang.c:418
 msgid	"Group Level Commands"
 msgstr	""
 
-#: src/lang.c:418
+#: src/lang.c:419
 msgid	"Kill filter added"
 msgstr	""
 
-#: src/lang.c:419
+#: src/lang.c:420
 msgid	"Auto-selection filter added"
 msgstr	""
 
-#: src/lang.c:420
+#: src/lang.c:421
 msgid	"All parts tagged"
 msgstr	""
 
-#: src/lang.c:421
+#: src/lang.c:422
 msgid	"Storing article for later posting"
 msgstr	""
 
-#: src/lang.c:422
+#: src/lang.c:423
 msgid	"Please enter a valid character"
 msgstr	""
 
-#: src/lang.c:423
+#: src/lang.c:424
 #, c-format
 msgid	"Missing part #%d"
 msgstr	""
 
-#: src/lang.c:424
+#: src/lang.c:425
 msgid	"*** No postponed articles ***"
 msgstr	""
 
-#: src/lang.c:425
+#: src/lang.c:426
 msgid	"Not a multi-part message"
 msgstr	""
 
-#: src/lang.c:426
+#: src/lang.c:427
 msgid	"You are not subscribed to this group"
 msgstr	""
 
-#: src/lang.c:427
+#: src/lang.c:428
 msgid	"No previous expression"
 msgstr	""
 
-#: src/lang.c:428
+#: src/lang.c:429
 msgid	"Operation disabled in no-overwrite mode"
 msgstr	""
 
 #. TODO: replace hardcoded key-name in txt_info_postponed
-#: src/lang.c:430
+#: src/lang.c:431
 #, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	""
 
-#: src/lang.c:431
+#: src/lang.c:432
 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:433
+#: src/lang.c:434
 #, c-format
 msgid	"Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr	""
 
-#: src/lang.c:434
+#: src/lang.c:435
 msgid	"TeX2Iso encoded article"
 msgstr	""
 
-#: src/lang.c:435
+#: src/lang.c:436
 msgid	"incomplete "
 msgstr	""
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:437
+#: src/lang.c:438
 #, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -1845,426 +1824,426 @@ msgid	"\n"
 	"Please send bug-reports/comments to %s with the 'R' command.\n"
 msgstr	""
 
-#: src/lang.c:453
+#: src/lang.c:454
 #, c-format
 msgid	"Invalid  From: %s  line. Read the INSTALL file again."
 msgstr	""
 
-#: src/lang.c:455
+#: src/lang.c:456
 msgid	"Invalid multibyte sequence found\n"
 msgstr	""
 
-#: src/lang.c:457
+#: src/lang.c:458
 #, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	""
 
-#: src/lang.c:458
+#: src/lang.c:459
 msgid	"Inverse video disabled"
 msgstr	""
 
-#: src/lang.c:459
+#: src/lang.c:460
 msgid	"Inverse video enabled"
 msgstr	""
 
-#: src/lang.c:461
+#: src/lang.c:462
 #, c-format
 msgid	"Missing definition for %s\n"
 msgstr	""
 
-#: src/lang.c:462
+#: src/lang.c:463
 #, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	""
 
-#: src/lang.c:463
+#: src/lang.c:464
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	""
 
-#: src/lang.c:464
+#: src/lang.c:465
 #, c-format
 msgid	"Keymap file was upgraded to version %s\n"
 msgstr	""
 
-#: src/lang.c:465
+#: src/lang.c:466
 #, c-format
 msgid	"Kill From:     [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:466
+#: src/lang.c:467
 msgid	"Kill Lines: (</>num): "
 msgstr	""
 
-#: src/lang.c:467
+#: src/lang.c:468
 msgid	"Kill Article Menu"
 msgstr	""
 
-#: src/lang.c:468
+#: src/lang.c:469
 #, c-format
 msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr	""
 
-#: src/lang.c:469
+#: src/lang.c:470
 msgid	"Kill pattern scope  : "
 msgstr	""
 
-#: src/lang.c:470
+#: src/lang.c:471
 #, c-format
 msgid	"Kill Subject:  [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:471
+#: src/lang.c:472
 msgid	"Kill text pattern   : "
 msgstr	""
 
-#: src/lang.c:472
+#: src/lang.c:473
 msgid	"Kill time in days   : "
 msgstr	""
 
-#: src/lang.c:474
+#: src/lang.c:475
 msgid	"Last"
 msgstr	""
 
-#: src/lang.c:475
+#: src/lang.c:476
 msgid	"-- Last response --"
 msgstr	""
 
-#: src/lang.c:476
+#: src/lang.c:477
 #, c-format
 msgid	"Lines %s  "
 msgstr	""
 
-#: src/lang.c:478
+#: src/lang.c:479
 msgid	"Mail"
 msgstr	""
 
-#: src/lang.c:479
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	""
 
-#: src/lang.c:480
+#: src/lang.c:481
 #, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	""
 
-#: src/lang.c:481
+#: src/lang.c:482
 #, c-format
 msgid	"Mailing log to %s\n"
 msgstr	""
 
-#: src/lang.c:482
+#: src/lang.c:483
 msgid	"Mail bug report..."
 msgstr	""
 
-#: src/lang.c:483
+#: src/lang.c:484
 #, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	""
 
-#: src/lang.c:484
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	""
 
-#: src/lang.c:485
+#: src/lang.c:486
 #, c-format
 msgid	"Mailing to %s..."
 msgstr	""
 
-#: src/lang.c:486
+#: src/lang.c:487
 msgid	"# [Mail/Save] active file. Format is like news active file:\n"
 	"#   groupname  max.artnum  min.artnum  /dir\n"
 	"# The 4th field is the basedir (ie. ~/Mail or ~/News)\n"
 	"#\n"
 msgstr	""
 
-#: src/lang.c:489
+#: src/lang.c:490
 #, c-format
 msgid	"%s marked as unread"
 msgstr	""
 
-#: src/lang.c:490
+#: src/lang.c:491
 #, c-format
 msgid	"Marked %d of %d tagged %s as read"
 msgstr	""
 
-#: src/lang.c:491
+#: src/lang.c:492
 #, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	""
 
-#: src/lang.c:492
+#: src/lang.c:493
 #, c-format
 msgid	"Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr	""
 
-#: src/lang.c:493
+#: src/lang.c:494
 #, c-format
 msgid	"Mark group %s as read?"
 msgstr	""
 
-#: src/lang.c:494
+#: src/lang.c:495
 #, c-format
 msgid	"Mark thread as read%s?"
 msgstr	""
 
-#: src/lang.c:495
+#: src/lang.c:496
 #, c-format
 msgid	"Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr	""
 
-#: src/lang.c:496
+#: src/lang.c:497
 #, c-format
 msgid	"Matching %s groups..."
 msgstr	""
 
-#: src/lang.c:497 src/lang.c:501
+#: src/lang.c:498 src/lang.c:502
 #, c-format
 msgid	"<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr	""
 
-#: src/lang.c:498
+#: src/lang.c:499
 #, c-format
 msgid	"%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list "
 	"thread"
 msgstr	""
 
-#: src/lang.c:499
+#: src/lang.c:500
 #, c-format
 msgid	"%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr	""
 
-#: src/lang.c:500
+#: src/lang.c:501
 #, c-format
 msgid	"%s=search forwards; %s=search backwards; %s=quit"
 msgstr	""
 
-#: src/lang.c:502
+#: src/lang.c:503
 #, c-format
 msgid	"%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr	""
 
-#: src/lang.c:503
+#: src/lang.c:504
 #, c-format
 msgid	"<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr	""
 
-#: src/lang.c:504
+#: src/lang.c:505
 #, c-format
 msgid	"%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr	""
 
-#: src/lang.c:505
+#: src/lang.c:506
 #, c-format
 msgid	"%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out"
 msgstr	""
 
-#: src/lang.c:506
+#: src/lang.c:507
 #, c-format
 msgid	"<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr	""
 
-#: src/lang.c:507
+#: src/lang.c:508
 #, c-format
 msgid	"%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr	""
 
-#: src/lang.c:508
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	""
 
-#: src/lang.c:509
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	""
 
-#: src/lang.c:510
+#: src/lang.c:511
 msgid	"Message-ID: & last Reference  "
 msgstr	""
 
-#: src/lang.c:511
+#: src/lang.c:512
 msgid	"Message-ID: line              "
 msgstr	""
 
-#: src/lang.c:512
+#: src/lang.c:513
 msgid	"Message-ID: & References: line"
 msgstr	""
 
-#: src/lang.c:514
+#: src/lang.c:515
 msgid	", name: "
 msgstr	""
 
-#: src/lang.c:515
+#: src/lang.c:516
 #, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	""
 
-#: src/lang.c:516
+#: src/lang.c:517
 msgid	"newsgroups"
 msgstr	""
 
-#: src/lang.c:517
+#: src/lang.c:518
 #, c-format
 msgid	"Position %s in group list (1,2,..,$) [%d]> "
 msgstr	""
 
-#: src/lang.c:518
+#: src/lang.c:519
 msgid	"newsgroup"
 msgstr	""
 
-#: src/lang.c:519
+#: src/lang.c:520
 msgid	"Try and save newsrc file again?"
 msgstr	""
 
-#: src/lang.c:520
+#: src/lang.c:521
 msgid	"Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr	""
 
-#: src/lang.c:521
+#: src/lang.c:522
 msgid	"newsrc file saved successfully.\n"
 msgstr	""
 
-#: src/lang.c:522
+#: src/lang.c:523
 msgid	"-- Next response --"
 msgstr	""
 
-#: src/lang.c:523
+#: src/lang.c:524
 #, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"NNTP authorisation password not found for %s"
 
-#: src/lang.c:524
+#: src/lang.c:525
 msgid	"No  "
 msgstr	""
 
-#: src/lang.c:525
+#: src/lang.c:526
 msgid	"*** No articles ***"
 msgstr	""
 
-#: src/lang.c:526
+#: src/lang.c:527
 msgid	"No articles have been posted"
 msgstr	""
 
-#: src/lang.c:527
+#: src/lang.c:528
 msgid	"*** No description ***"
 msgstr	""
 
-#: src/lang.c:528
+#: src/lang.c:529
 msgid	"No filename"
 msgstr	""
 
-#: src/lang.c:529
+#: src/lang.c:530
 msgid	"No group"
 msgstr	""
 
-#: src/lang.c:530
+#: src/lang.c:531
 msgid	"*** No groups ***"
 msgstr	""
 
-#: src/lang.c:531
+#: src/lang.c:532
 msgid	"No more groups to read"
 msgstr	""
 
-#: src/lang.c:532
+#: src/lang.c:533
 msgid	"No last message"
 msgstr	""
 
-#: src/lang.c:533
+#: src/lang.c:534
 msgid	"No mail address"
 msgstr	""
 
-#: src/lang.c:534
+#: src/lang.c:535
 msgid	"No articles marked for saving"
 msgstr	""
 
-#: src/lang.c:535
+#: src/lang.c:536
 msgid	"No match"
 msgstr	""
 
-#: src/lang.c:536
+#: src/lang.c:537
 msgid	"No more groups"
 msgstr	""
 
-#: src/lang.c:537
+#: src/lang.c:538
 msgid	"No newsgroups"
 msgstr	""
 
-#: src/lang.c:538
+#: src/lang.c:539
 msgid	"No next unread article"
 msgstr	""
 
-#: src/lang.c:539
+#: src/lang.c:540
 msgid	"No previous group"
 msgstr	""
 
-#: src/lang.c:540
+#: src/lang.c:541
 msgid	"No previous unread article"
 msgstr	""
 
-#: src/lang.c:541
+#: src/lang.c:542
 msgid	"No responses"
 msgstr	""
 
-#: src/lang.c:542
+#: src/lang.c:543
 msgid	"No responses to list in current thread"
 msgstr	""
 
-#: src/lang.c:543
+#: src/lang.c:544
 msgid	"No search string"
 msgstr	""
 
-#: src/lang.c:544
+#: src/lang.c:545
 msgid	"No subject"
 msgstr	""
 
-#: src/lang.c:546
+#: src/lang.c:547
 #, c-format
 msgid	"%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr	""
 
-#: src/lang.c:547
+#: src/lang.c:548
 #, c-format
 msgid	"%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr	""
 
-#: src/lang.c:548
+#: src/lang.c:549
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	""
 
-#: src/lang.c:549
+#: src/lang.c:550
 #, c-format
 msgid	"%s: Terminal must have cursor motion (cm)\n"
 msgstr	""
 
-#: src/lang.c:550
+#: src/lang.c:551
 #, c-format
 msgid	"%s: TERM variable must be set to use screen capabilities\n"
 msgstr	""
 
-#: src/lang.c:552
+#: src/lang.c:553
 #, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	""
 
-#: src/lang.c:553
+#: src/lang.c:554
 msgid	"Newsgroup does not exist on this server"
 msgstr	""
 
-#: src/lang.c:554
+#: src/lang.c:555
 #, c-format
 msgid	"Group %s not found in active file"
 msgstr	""
 
-#: src/lang.c:555
+#: src/lang.c:556
 msgid	"c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	""
 
-#: src/lang.c:556
+#: src/lang.c:557
 msgid	"use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	""
 
-#: src/lang.c:557
+#: src/lang.c:558
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2280,171 +2259,167 @@ msgid	"# NNTP-server -> newsrc translati
 	"#\n"
 msgstr	""
 
-#: src/lang.c:564
+#: src/lang.c:565
 msgid	"Only"
 msgstr	""
 
-#: src/lang.c:565
+#: src/lang.c:566
 #, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	""
 
-#: src/lang.c:566
+#: src/lang.c:567
 msgid	"Options Menu"
 msgstr	""
 
-#: src/lang.c:569
+#: src/lang.c:570
 #, c-format
 msgid	"Error in regex: %s at pos. %d '%s'"
 msgstr	""
 
-#: src/lang.c:570
+#: src/lang.c:571
 #, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	""
 
-#: src/lang.c:571
+#: src/lang.c:572
 #, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	""
 
-#: src/lang.c:572
+#: src/lang.c:573
 msgid	"Post a followup..."
 msgstr	""
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:574
+#: src/lang.c:575
 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:577
+#: src/lang.c:578
 msgid	"Posted articles history"
 msgstr	""
 
-#: src/lang.c:578
+#: src/lang.c:579
 #, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	""
 
-#: src/lang.c:579
+#: src/lang.c:580
 msgid	"-- post processing started --"
 msgstr	""
 
-#: src/lang.c:580
+#: src/lang.c:581
 msgid	"-- post processing completed --"
 msgstr	""
 
-#: src/lang.c:581
+#: src/lang.c:582
 #, c-format
 msgid	"Post subject [%s]> "
 msgstr	""
 
-#: src/lang.c:582
+#: src/lang.c:583
 msgid	"# Summary of mailed/posted messages viewable by 'W' command from within tin.\n"
 msgstr	""
 
-#: src/lang.c:583
+#: src/lang.c:584
 msgid	"Posting article..."
 msgstr	""
 
-#: src/lang.c:584
+#: src/lang.c:585
 #, c-format
 msgid	"Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr	""
 
-#: src/lang.c:585
+#: src/lang.c:586
 #, c-format
 msgid	"Hot %s"
 msgstr	""
 
-#: src/lang.c:586
+#: src/lang.c:587
 #, c-format
 msgid	"Tagged %s"
 msgstr	""
 
-#: src/lang.c:587
+#: src/lang.c:588
 #, c-format
 msgid	"Untagged %s"
 msgstr	""
 
-#: src/lang.c:588
+#: src/lang.c:589
 msgid	"Processing mail messages marked for deletion."
 msgstr	""
 
-#: src/lang.c:589
+#: src/lang.c:590
 msgid	"Processing saved articles marked for deletion."
 msgstr	""
 
-#: src/lang.c:590
+#: src/lang.c:591
 #, c-format
 msgid	"Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr	""
 
-#: src/lang.c:591
+#: src/lang.c:592
 msgid	"Article unchanged, abort mailing?"
 msgstr	""
 
-#: src/lang.c:592
+#: src/lang.c:593
 #, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	""
 
-#: src/lang.c:594
+#: src/lang.c:595
 msgid	"Add quick kill filter?"
 msgstr	""
 
-#: src/lang.c:595
+#: src/lang.c:596
 msgid	"Add quick selection filter?"
 msgstr	""
 
-#: src/lang.c:596
+#: src/lang.c:597
 msgid	"Do you really want to quit?"
 msgstr	""
 
-#: src/lang.c:597
+#: src/lang.c:598
 #, c-format
 msgid	"%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr	""
 
-#: src/lang.c:598
+#: src/lang.c:599
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	""
 
-#: src/lang.c:599
+#: src/lang.c:600
 #, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	""
 
-#: src/lang.c:600
+#: src/lang.c:601
 #, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	""
 
-#: src/lang.c:601
+#: src/lang.c:602
 #, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	""
 
-#: src/lang.c:602
+#: src/lang.c:603
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	""
 
-#: src/lang.c:605
-msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
-msgstr	""
-
 #: src/lang.c:606
-msgid	"Do you want to abort this operation?"
+msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	""
 
 #: src/lang.c:607
-msgid	"Do you want to exit tin immediately?"
+msgid	"Do you want to abort this operation?"
 msgstr	""
 
 #: src/lang.c:608
-msgid	"Read response> "
+msgid	"Do you want to exit tin immediately?"
 msgstr	""
 
 #: src/lang.c:609
@@ -2548,11 +2523,6 @@ msgstr	""
 msgid	"Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr	""
 
-#: src/lang.c:634
-#, c-format
-msgid	"RespNo %4d of %4d"
-msgstr	""
-
 #: src/lang.c:635
 msgid	"Press <RETURN> to continue..."
 msgstr	""
@@ -3270,7 +3240,7 @@ msgid	"\n"
 msgstr	""
 
 #: src/lang.c:843
-msgid	"  -D       debug mode 1=NNTP 2=ALL"
+msgid	"  -D mode  debug mode"
 msgstr	""
 
 #: src/lang.c:847
@@ -3496,7 +3466,7 @@ msgstr	""
 
 #: src/lang.c:944
 #, c-format
-msgid	"Connecting to %s:%d..."
+msgid	"Connecting to %s:%u..."
 msgstr	""
 
 #: src/lang.c:945
@@ -3792,7 +3762,7 @@ msgstr	"Terminal does not support colour
 msgid	"Trying %s"
 msgstr	""
 
-#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:296
+#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:304
 msgid	"None"
 msgstr	""
 
@@ -4183,9 +4153,9 @@ msgstr	""
 #: src/lang.c:2020 src/lang.c:2027 src/lang.c:2034 src/lang.c:2041 src/lang.c:2048
 #: src/lang.c:2056 src/lang.c:2072 src/lang.c:2079 src/lang.c:2086 src/lang.c:2093
 #: src/lang.c:2099 src/lang.c:2105 src/lang.c:2122 src/lang.c:2134 src/lang.c:2168
-#: src/lang.c:2221 src/lang.c:2228 src/lang.c:2234 src/lang.c:2259 src/lang.c:2276
-#: src/lang.c:2329 src/lang.c:2365 src/lang.c:2385 src/lang.c:2420 src/lang.c:2430
-#: src/lang.c:2455 src/lang.c:2471 src/lang.c:2490 src/lang.c:2503
+#: src/lang.c:2221 src/lang.c:2235 src/lang.c:2241 src/lang.c:2266 src/lang.c:2283
+#: src/lang.c:2336 src/lang.c:2372 src/lang.c:2392 src/lang.c:2427 src/lang.c:2437
+#: src/lang.c:2462 src/lang.c:2478 src/lang.c:2497 src/lang.c:2510
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
@@ -5488,19 +5458,31 @@ msgstr	""
 msgid	"# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr	""
 
+#: src/lang.c:2227
+msgid	"Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
+msgstr	""
+
+#: src/lang.c:2228
+msgid	"MM_LOCAL_CHARSET"
+msgstr	""
+
 #: src/lang.c:2229
+msgid	"# Charset supported locally.\n"
+msgstr	""
+
+#: src/lang.c:2236
 msgid	"Mailbox format"
 msgstr	""
 
-#: src/lang.c:2230
+#: src/lang.c:2237
 msgid	"# Format of the mailbox.\n"
 msgstr	""
 
-#: src/lang.c:2235
+#: src/lang.c:2242
 msgid	"MIME encoding in news messages"
 msgstr	""
 
-#: src/lang.c:2236
+#: src/lang.c:2243
 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"
 	"# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n"
@@ -5508,42 +5490,42 @@ msgid	"# MIME encoding (8bit, base64, qu
 	"# Russian charsets with a lot of 8bit characters.\n"
 msgstr	""
 
-#: src/lang.c:2244 src/lang.c:2265
+#: src/lang.c:2251 src/lang.c:2272
 msgid	"Don't change unless you know what you are doing. <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2245
+#: src/lang.c:2252
 msgid	"Use 8bit characters in news headers"
 msgstr	""
 
-#: src/lang.c:2246
+#: src/lang.c:2253
 msgid	"# If ON, 8bit characters in news headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in header are encoded regardless of the value of this\n"
 	"# parameter unless post_mime_encoding is 8bit as well.\n"
 msgstr	""
 
-#: src/lang.c:2253
+#: src/lang.c:2260
 msgid	"Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2254
+#: src/lang.c:2261
 msgid	"View post-processed files"
 msgstr	""
 
-#: src/lang.c:2255
+#: src/lang.c:2262
 msgid	"# If set, post processed files will be opened in a viewer\n"
 msgstr	""
 
-#: src/lang.c:2260
+#: src/lang.c:2267
 msgid	"MIME encoding in mail messages"
 msgstr	""
 
-#: src/lang.c:2266
+#: src/lang.c:2273
 msgid	"Use 8bit characters in mail headers"
 msgstr	""
 
-#: src/lang.c:2267
+#: src/lang.c:2274
 msgid	"# If ON, 8bit characters in mail headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in headers are encoded regardless of the value of this "
@@ -5553,160 +5535,160 @@ msgid	"# If ON, 8bit characters in mail 
 	"# turn it ON unless you have some compelling reason.\n"
 msgstr	""
 
-#: src/lang.c:2277
+#: src/lang.c:2284
 msgid	"Strip blanks from ends of lines"
 msgstr	""
 
-#: src/lang.c:2278
+#: src/lang.c:2285
 msgid	"# If ON strip blanks from ends of lines for faster display on slow "
 	"terminals.\n"
 msgstr	""
 
-#: src/lang.c:2283
+#: src/lang.c:2290
 msgid	"If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2284
+#: src/lang.c:2291
 msgid	"Transliteration"
 msgstr	""
 
-#: src/lang.c:2285
+#: src/lang.c:2292
 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:2292
+#: src/lang.c:2299
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2293
+#: src/lang.c:2300
 msgid	"Send you a cc automatically"
 msgstr	""
 
-#: src/lang.c:2294
+#: src/lang.c:2301
 msgid	"# If ON automatically put your name in the Cc: field when mailing an article\n"
 msgstr	""
 
-#: src/lang.c:2298
+#: src/lang.c:2305
 msgid	"Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2299
+#: src/lang.c:2306
 msgid	"Send you a blind cc automatically"
 msgstr	""
 
-#: src/lang.c:2300
+#: src/lang.c:2307
 msgid	"# If ON automatically put your name in the Bcc: field when mailing an "
 	"article\n"
 msgstr	""
 
-#: src/lang.c:2304
+#: src/lang.c:2311
 msgid	"Enter address elements about which you want to be warned. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2305
+#: src/lang.c:2312
 msgid	"Spamtrap warning address parts"
 msgstr	""
 
-#: src/lang.c:2306
+#: src/lang.c:2313
 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:2311
+#: src/lang.c:2318
 msgid	"Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2312
+#: src/lang.c:2319
 msgid	"No. of days a filter entry is valid"
 msgstr	""
 
-#: src/lang.c:2313
+#: src/lang.c:2320
 msgid	"# Number of days a short term filter will be active\n"
 msgstr	""
 
-#: src/lang.c:2317
+#: src/lang.c:2324
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2318
+#: src/lang.c:2325
 msgid	"Add posted articles to filter"
 msgstr	""
 
-#: src/lang.c:2319
+#: src/lang.c:2326
 msgid	"# If ON add posted articles which start a new thread to filter for\n"
 	"# highlighting follow-ups\n"
 msgstr	""
 
-#: src/lang.c:2323
+#: src/lang.c:2330
 msgid	"The directory where articles/threads are to be saved in mailbox format."
 msgstr	""
 
-#: src/lang.c:2324
+#: src/lang.c:2331
 msgid	"Mail directory"
 msgstr	""
 
-#: src/lang.c:2325
+#: src/lang.c:2332
 msgid	"# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr	""
 
-#: src/lang.c:2330
+#: src/lang.c:2337
 msgid	"Save articles in batch mode (-S)"
 msgstr	""
 
-#: src/lang.c:2331
+#: src/lang.c:2338
 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:2336
+#: src/lang.c:2343
 msgid	"The directory where you want articles/threads saved."
 msgstr	""
 
-#: src/lang.c:2337
+#: src/lang.c:2344
 msgid	"Directory to save arts/threads in"
 msgstr	""
 
-#: src/lang.c:2338
+#: src/lang.c:2345
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	""
 
-#: src/lang.c:2342
+#: src/lang.c:2349
 msgid	"Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2343
+#: src/lang.c:2350
 msgid	"Use Archive-name: header for save"
 msgstr	""
 
-#: src/lang.c:2344
+#: src/lang.c:2351
 msgid	"# If ON articles/threads with Archive-name: in mail header will\n"
 	"# be automatically saved with the Archive-name & part/patch no.\n"
 msgstr	""
 
-#: src/lang.c:2349
+#: src/lang.c:2356
 msgid	"Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 	"cancels."
 msgstr	""
 
-#: src/lang.c:2350
+#: src/lang.c:2357
 msgid	"Mark saved articles/threads as read"
 msgstr	""
 
-#: src/lang.c:2351
+#: src/lang.c:2358
 msgid	"# If ON mark articles that are saved as read\n"
 msgstr	""
 
-#: src/lang.c:2355
+#: src/lang.c:2362
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	""
 
-#: src/lang.c:2356
+#: src/lang.c:2363
 msgid	"Post process saved articles"
 msgstr	""
 
-#: src/lang.c:2357
+#: src/lang.c:2364
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no\n"
@@ -5714,95 +5696,95 @@ msgid	"# Perform post processing (saving
 	"#   2 = yes\n"
 msgstr	""
 
-#: src/lang.c:2366
+#: src/lang.c:2373
 msgid	"Process only unread articles"
 msgstr	""
 
-#: src/lang.c:2367
+#: src/lang.c:2374
 msgid	"# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n"
 msgstr	""
 
-#: src/lang.c:2372
+#: src/lang.c:2379
 msgid	"Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2373
+#: src/lang.c:2380
 msgid	"Print all headers when printing"
 msgstr	""
 
-#: src/lang.c:2374
+#: src/lang.c:2381
 msgid	"# If ON print all of article header otherwise just the important lines\n"
 msgstr	""
 
-#: src/lang.c:2378
+#: src/lang.c:2385
 msgid	"The printer program with options that is to be used to print articles/threads."
 msgstr	""
 
-#: src/lang.c:2379
+#: src/lang.c:2386
 msgid	"Printer program with options"
 msgstr	""
 
-#: src/lang.c:2380
+#: src/lang.c:2387
 msgid	"# Print program with parameters used to print articles/threads\n"
 msgstr	""
 
-#: src/lang.c:2386
+#: src/lang.c:2393
 msgid	"Force redraw after certain commands"
 msgstr	""
 
-#: src/lang.c:2387
+#: src/lang.c:2394
 msgid	"# If ON a screen redraw will always be done after certain external commands\n"
 msgstr	""
 
-#: src/lang.c:2391
+#: src/lang.c:2398
 msgid	"Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2392
+#: src/lang.c:2399
 msgid	"Start editor with line offset"
 msgstr	""
 
-#: src/lang.c:2393
+#: src/lang.c:2400
 msgid	"# If ON editor will be started with cursor offset into the file\n"
 	"# otherwise the cursor will be positioned at the first line\n"
 msgstr	""
 
-#: src/lang.c:2398
+#: src/lang.c:2405
 msgid	"Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr	""
 
-#: src/lang.c:2399
+#: src/lang.c:2406
 msgid	"Invocation of your editor"
 msgstr	""
 
-#: src/lang.c:2400
+#: src/lang.c:2407
 #, c-format
 msgid	"# Format of editor line including parameters\n"
 	"# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr	""
 
-#: src/lang.c:2405
+#: src/lang.c:2412
 msgid	"Enter name and options for external-inews, --internal for internal inews"
 msgstr	""
 
-#: src/lang.c:2406
+#: src/lang.c:2413
 msgid	"External inews"
 msgstr	""
 
-#: src/lang.c:2407
+#: src/lang.c:2414
 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:2411
+#: src/lang.c:2418
 msgid	"Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr	""
 
-#: src/lang.c:2412
+#: src/lang.c:2419
 msgid	"Invocation of your mail command"
 msgstr	""
 
-#: src/lang.c:2413
+#: src/lang.c:2420
 #, c-format
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
@@ -5810,11 +5792,11 @@ msgid	"# Format of mailer line including
 	"# ie. elm interactive          :    elm -i %%F -s \"%%S\" \"%%T\"\n"
 msgstr	""
 
-#: src/lang.c:2421
+#: src/lang.c:2428
 msgid	"Use interactive mail reader"
 msgstr	""
 
-#: src/lang.c:2422
+#: src/lang.c:2429
 msgid	"# Interactive mailreader\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no interactive mailreader\n"
@@ -5822,56 +5804,56 @@ msgid	"# Interactive mailreader\n"
 	"#   2 = use interactive mailreader without headers in file\n"
 msgstr	""
 
-#: src/lang.c:2431
+#: src/lang.c:2438
 msgid	"Remove ~/.article after posting"
 msgstr	""
 
-#: src/lang.c:2432
+#: src/lang.c:2439
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	""
 
-#: src/lang.c:2436
+#: src/lang.c:2443
 msgid	"Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr	""
 
-#: src/lang.c:2437
+#: src/lang.c:2444
 msgid	"Filename for posted articles"
 msgstr	""
 
-#: src/lang.c:2438
+#: src/lang.c:2445
 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:2443
+#: src/lang.c:2450
 msgid	"Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2444
+#: src/lang.c:2451
 msgid	"Keep failed arts in ~/dead.articles"
 msgstr	""
 
-#: src/lang.c:2445
+#: src/lang.c:2452
 msgid	"# If ON keep all failed postings in ~/dead.articles\n"
 msgstr	""
 
-#: src/lang.c:2449
+#: src/lang.c:2456
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	""
 
-#: src/lang.c:2450
+#: src/lang.c:2457
 msgid	"No unsubscribed groups in newsrc"
 msgstr	""
 
-#: src/lang.c:2451
+#: src/lang.c:2458
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	""
 
-#: src/lang.c:2456
+#: src/lang.c:2463
 msgid	"Remove bogus groups from newsrc"
 msgstr	""
 
-#: src/lang.c:2457
+#: src/lang.c:2464
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = keep\n"
@@ -5879,55 +5861,55 @@ msgid	"# What to do with bogus groups in
 	"#   2 = highlight with D on selection screen\n"
 msgstr	""
 
-#: src/lang.c:2465
+#: src/lang.c:2472
 msgid	"Enter number of seconds until active file will be reread. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2466
+#: src/lang.c:2473
 msgid	"Interval in secs to reread active"
 msgstr	""
 
-#: src/lang.c:2467
+#: src/lang.c:2474
 msgid	"# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr	""
 
-#: src/lang.c:2472
+#: src/lang.c:2479
 msgid	"Reconnect to server automatically"
 msgstr	""
 
-#: src/lang.c:2473
+#: src/lang.c:2480
 msgid	"# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr	""
 
-#: src/lang.c:2477
+#: src/lang.c:2484
 msgid	"Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2478
+#: src/lang.c:2485
 msgid	"Cache NNTP overview files locally"
 msgstr	""
 
-#: src/lang.c:2479
+#: src/lang.c:2486
 msgid	"# If ON, create local copies of NNTP overview files.\n"
 msgstr	""
 
-#: src/lang.c:2483
+#: src/lang.c:2490
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2484
+#: src/lang.c:2491
 msgid	"Format string for display of dates"
 msgstr	""
 
-#: src/lang.c:2485
+#: src/lang.c:2492
 msgid	"# Format string for date representation\n"
 msgstr	""
 
-#: src/lang.c:2491
+#: src/lang.c:2498
 msgid	"Unicode normalization form"
 msgstr	"Unicode normalisation form"
 
-#: src/lang.c:2492
+#: src/lang.c:2499
 msgid	"# Unicode normalization form\n"
 	"# Possible values are (the default is marked with *):\n"
 	"#   0 = None\n"
@@ -5943,48 +5925,53 @@ msgstr	"# Unicode normalisation form\n"
 	"#   3 = NFC\n"
 	"#   4 = NFD\n"
 
-#: src/lang.c:2504
+#: src/lang.c:2511
 msgid	"Render BiDi"
 msgstr	""
 
-#: src/lang.c:2505
+#: src/lang.c:2512
 msgid	"# If ON, bi-directional text is rendered by tin\n"
 msgstr	""
 
-#: src/misc.c:3693
+#: src/misc.c:3697
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\") %s %s\n"
 msgstr	""
 
-#: src/misc.c:3696
+#: src/misc.c:3700
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\")\n"
 msgstr	""
 
-#: src/newsrc.c:430
+#: src/newsrc.c:436
 msgid	"Unreachable?\n"
 msgstr	""
 
-#: src/nntplib.c:816
+#: src/nntplib.c:818
 #, c-format
 msgid	"\n"
 	"Server timed out, trying reconnect # %d\n"
 msgstr	""
 
-#: src/nntplib.c:834 src/nntplib.c:1644
+#: src/nntplib.c:836 src/nntplib.c:1708
 msgid	"Rejoin current group\n"
 msgstr	""
 
-#: src/nntplib.c:841 src/nntplib.c:1651
+#: src/nntplib.c:844 src/nntplib.c:1716
 #, c-format
 msgid	"Read (%s)\n"
 msgstr	""
 
-#: src/nntplib.c:843
+#: src/nntplib.c:846
 #, c-format
 msgid	"Resend last command (%s)\n"
 msgstr	""
 
+#. as a last resort check if post was mentioned
+#: src/nntplib.c:1131
+msgid	"CAPABILITIES did not announce any of READER, MODE-READER, POST"
+msgstr	""
+
 #.
 #. * TODO: - store a hash value of the entire motd in the server-rc
 #. *         and only if it differs from the old value display the
@@ -5992,58 +5979,57 @@ msgstr	""
 #. *       - use some sort of pager?
 #. *       - -> lang.c
 #.
-#: src/nntplib.c:1783
+#: src/nntplib.c:1855
 msgid	"MOTD: "
 msgstr	""
 
-#: src/nrctbl.c:170
+#: src/nrctbl.c:173
 #, c-format
 msgid	"couldn't expand %s\n"
 msgstr	""
 
-#: src/post.c:1134
+#: src/post.c:1144
 #, c-format
 msgid	"Line %d is longer than 998 octets and should be folded, but\n"
 	"encoding is neither set to %s nor to %s\n"
 msgstr	""
 
-#: src/post.c:1139
+#: src/post.c:1149
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding 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"
 msgstr	""
 
-#: src/post.c:1141
+#: src/post.c:1151
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is not set to %s\n"
 msgstr	""
 
-#: src/post.c:1960
+#: src/post.c:1970
 #, c-format
 msgid	"Posting: %.*s ..."
 msgstr	""
 
 #. Check if okay to read
-#: src/read.c:191
+#: src/read.c:190
 msgid	"Aborting read, please wait..."
 msgstr	""
 
-#: src/read.c:338
+#: src/read.c:337
 msgid	"Aborted read\n"
 msgstr	""
 
-#: src/read.c:394
+#: src/read.c:393
 msgid	"Draining\n"
 msgstr	""
 
-#. Don't hash the initial '<'
-#: src/refs.c:251
+#: src/refs.c:248
 msgid	"unchanged"
 msgstr	""
 
-#: src/refs.c:609
+#: src/refs.c:549
 msgid	"[- Unavailable -]"
 msgstr	""
 
@@ -6051,7 +6037,7 @@ msgstr	""
 #. * preamble
 #. * TODO: -> lang.c
 #.
-#: src/rfc2047.c:1201
+#: src/rfc2047.c:1270
 #, c-format
 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 modified\n"
@@ -6059,7 +6045,7 @@ msgid	"This message has been composed in
 	"\n"
 msgstr	""
 
-#: src/save.c:964
+#: src/save.c:966
 msgid	"bytes"
 msgstr	""
 
@@ -6071,22 +6057,25 @@ msgstr	""
 msgid	"all"
 msgstr	""
 
-#: src/select.c:549 src/select.c:551
+#: src/select.c:553 src/select.c:555
 msgid	" R"
 msgstr	""
 
-#. TODO: use tin global 'homedir' instead? or even rcdir?
-#: src/xface.c:91
+#: src/xface.c:70
+msgid	"Can't run slrnface: Not running in a xterm."
+msgstr	""
+
+#: src/xface.c:82 src/xface.c:93 src/xface.c:102
 #, c-format
 msgid	"Can't run slrnface: Environment variable %s not found."
 msgstr	""
 
-#: src/xface.c:99 src/xface.c:131
+#: src/xface.c:111 src/xface.c:143
 #, c-format
 msgid	"Can't run slrnface: failed to create %s"
 msgstr	""
 
-#: src/xface.c:109
+#: src/xface.c:121
 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"
 	"the pipe is deleted right after it has been opened by both processes.\n"
@@ -6099,16 +6088,16 @@ msgid	"This directory is used to create 
 	"Do not try to remove them.\n"
 msgstr	""
 
-#: src/xface.c:123
+#: src/xface.c:135
 msgid	"Can't run slrnface: couldn't construct fifo name."
 msgstr	""
 
-#: src/xface.c:162
+#: src/xface.c:174
 #, c-format
 msgid	"Slrnface abnormally exited, code %d."
 msgstr	""
 
-#: src/xface.c:206
+#: src/xface.c:218
 #, c-format
 msgid	"Slrnface failed: %s."
 msgstr	""
Binary files tin-1.9.2/po/et.gmo and tin-1.9.3/po/et.gmo differ
diff -Nurp tin-1.9.2/po/et.po tin-1.9.3/po/et.po
--- tin-1.9.2/po/et.po	2007-02-01 14:02:43.000000000 +0100
+++ tin-1.9.3/po/et.po	2008-05-06 18:46:06.000000000 +0200
@@ -5,7 +5,7 @@
 msgid	""
 msgstr	"Project-Id-Version: tin 1.8.2\n"
 	"Report-Msgid-Bugs-To: \n"
-	"POT-Creation-Date: 2007-02-01 14:02+0100\n"
+	"POT-Creation-Date: 2008-05-06 18:44+0200\n"
 	"PO-Revision-Date: 2006-07-24 16:45+0300\n"
 	"Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
 	"Language-Team: Estonian <et@li.org>\n"
@@ -13,289 +13,261 @@ msgstr	"Project-Id-Version: tin 1.8.2\n"
 	"Content-Type: text/plain; charset=ISO-8859-15\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1545
-#, c-format
-msgid	"%d Bad overview record (%d fields) '%s'"
-msgstr	"%d Vigane overview kirje (%d välja) '%s'"
-
-#: src/attrib.c:649
+#: src/attrib.c:700
 #, c-format
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	"# Ärge seda kommentaari blokki muutke\n"
 	"#\n"
 
-#: src/attrib.c:650
+#: src/attrib.c:701
 #, c-format
-msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
+msgid	"#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	"#  scope=SÕNE (n. alt.*,!alt.bin*) [kohustuslik]\n"
 
-#: src/attrib.c:651
+#: src/attrib.c:702
 #, c-format
-msgid	"#  maildir=STRING (ie. ~/Mail)\n"
+msgid	"#  maildir=STRING (eg. ~/Mail)\n"
 msgstr	"#  maildir=SÕNE (n. ~/Mail)\n"
 
-#: src/attrib.c:652
+#: src/attrib.c:703
 #, c-format
-msgid	"#  savedir=STRING (ie. ~user/News)\n"
+msgid	"#  savedir=STRING (eg. ~user/News)\n"
 msgstr	"#  savedir=SÕNE (n. ~user/News)\n"
 
-#: src/attrib.c:653
+#: src/attrib.c:704
 #, c-format
-msgid	"#  savefile=STRING (ie. =linux)\n"
+msgid	"#  savefile=STRING (eg. =linux)\n"
 msgstr	"#  savefile=SÕNE (n. =linux)\n"
 
-#: src/attrib.c:654
+#: src/attrib.c:705
 #, c-format
-msgid	"#  sigfile=STRING (ie. $var/sig)\n"
+msgid	"#  sigfile=STRING (eg. $var/sig)\n"
 msgstr	"#  sigfile=SÕNE (n. $var/sig)\n"
 
-#: src/attrib.c:655
+#: src/attrib.c:706
 #, c-format
 msgid	"#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr	"#  organization=SÕNE (kui algab sümboliga '/', loe failist)\n"
 
-#: src/attrib.c:656
+#: src/attrib.c:707
 #, c-format
 msgid	"#  followup_to=STRING\n"
 msgstr	"#  followup_to=SÕNE\n"
 
-#: src/attrib.c:657
+#: src/attrib.c:708
 #, c-format
-msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
+msgid	"#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr	"#  mailing_list=SÕNE (n. majordomo@example.org)\n"
 
-#: src/attrib.c:658
+#: src/attrib.c:709
 #, c-format
-msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
+msgid	"#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr	"#  x_headers=SÕNE (n. ~/.tin/extra-headers)\n"
 
-#: src/attrib.c:659
+#: src/attrib.c:710
 #, c-format
-msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
+msgid	"#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr	"#  x_body=SÕNE (n. ~/.tin/extra-body-text)\n"
 
-#: src/attrib.c:660
+#: src/attrib.c:711
 #, c-format
 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/attrib.c:661
+#: src/attrib.c:712
 #, c-format
 msgid	"#  news_quote_format=STRING\n"
 msgstr	"#  news_quote_format=SÕNE\n"
 
-#: src/attrib.c:662
+#: src/attrib.c:713
 #, c-format
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	"#  quote_chars=SÕNE (%%s, %%S annavad initsiaalid)\n"
 
-#: src/attrib.c:663
+#: src/attrib.c:714
 #, c-format
 msgid	"#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr	"#  mime_types_to_save=SÕNE (n. image/*,!image/bmp)\n"
 
-#: src/attrib.c:665
+#: src/attrib.c:716
 #, c-format
 msgid	"#  ispell=STRING\n"
 msgstr	"#  ispell=SÕNE\n"
 
-#: src/attrib.c:667
+#: src/attrib.c:718
 #, c-format
 msgid	"#  auto_select=ON/OFF\n"
 msgstr	"#  auto_select=ON/OFF\n"
 
-#: src/attrib.c:668
+#: src/attrib.c:719
 #, c-format
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	"#  auto_save=ON/OFF\n"
 
-#: src/attrib.c:669
+#: src/attrib.c:720
 #, c-format
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	"#  batch_save=ON/OFF\n"
 
-#: src/attrib.c:670
+#: src/attrib.c:721
 #, c-format
 msgid	"#  delete_tmp_files=ON/OFF\n"
 msgstr	"#  delete_tmp_files=ON/OFF\n"
 
-#: src/attrib.c:671
+#: src/attrib.c:722
 #, c-format
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	"#  show_only_unread=ON/OFF\n"
 
-#: src/attrib.c:672
+#: src/attrib.c:723
 #, c-format
 msgid	"#  thread_arts=NUM"
 msgstr	"#  thread_arts=NUM"
 
-#: src/attrib.c:679
+#: src/attrib.c:730
 #, c-format
 msgid	"#  thread_perc=NUM\n"
 msgstr	"#  thread_perc=NUM\n"
 
-#: src/attrib.c:680
+#: src/attrib.c:731
 #, c-format
 msgid	"#  show_author=NUM\n"
 msgstr	"#  show_author=NUM\n"
 
-#: src/attrib.c:686
+#: src/attrib.c:737
 #, c-format
 msgid	"#  show_info=NUM\n"
 msgstr	"#  show_info=NUM\n"
 
-#: src/attrib.c:692
+#: src/attrib.c:743
 #, c-format
 msgid	"#  sort_art_type=NUM\n"
 msgstr	"#  sort_art_type=NUM\n"
 
-#: src/attrib.c:710
+#: src/attrib.c:761
 #, c-format
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	"#  sort_threads_type=NUM\n"
 
-#: src/attrib.c:718
+#: src/attrib.c:769
 #, c-format
 msgid	"#  post_proc_type=NUM\n"
 msgstr	"#  post_proc_type=NUM\n"
 
-#: src/attrib.c:723
+#: src/attrib.c:774
 #, c-format
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	"#  quick_kill_scope=SÕNE (n. talk.*)\n"
 
-#: src/attrib.c:724
+#: src/attrib.c:775
 #, c-format
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	"#  quick_kill_expire=ON/OFF\n"
 
-#: src/attrib.c:725
+#: src/attrib.c:776
 #, c-format
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	"#  quick_kill_case=ON/OFF\n"
 
-#: src/attrib.c:726
+#: src/attrib.c:777
 #, c-format
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	"#  quick_kill_header=NUM\n"
 
-#: src/attrib.c:727 src/attrib.c:734
+#: src/attrib.c:778 src/attrib.c:785
 #, c-format
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	"#    0=teema (tõstutundlik) 1=teema (tõstutundetu)\n"
 
-#: src/attrib.c:728 src/attrib.c:735
+#: src/attrib.c:779 src/attrib.c:786
 #, c-format
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	"#    2=saatja (tõstutundlik) 3=saatja (tõstutundetu)\n"
 
-#: src/attrib.c:729 src/attrib.c:736
+#: src/attrib.c:780 src/attrib.c:787
 #, c-format
 msgid	"#    4=msgid 5=lines\n"
 msgstr	"#    4=msgid 5=read\n"
 
-#: src/attrib.c:730
+#: src/attrib.c:781
 #, c-format
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	"#  quick_select_scope=SÕNE\n"
 
-#: src/attrib.c:731
+#: src/attrib.c:782
 #, c-format
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	"#  quick_select_expire=ON/OFF\n"
 
-#: src/attrib.c:732
+#: src/attrib.c:783
 #, c-format
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	"#  quick_select_case=ON/OFF\n"
 
-#: src/attrib.c:733
+#: src/attrib.c:784
 #, c-format
 msgid	"#  quick_select_header=NUM\n"
 msgstr	"#  quick_select_header=NUM\n"
 
-#: src/attrib.c:737
+#: src/attrib.c:788
 #, c-format
 msgid	"#  x_comment_to=ON/OFF\n"
 msgstr	"#  x_comment_to=ON/OFF\n"
 
-#: src/attrib.c:738
+#: src/attrib.c:789
 #, c-format
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	"#  fcc=SÕNE (n. =postkast)\n"
 
 #
-#: src/attrib.c:739
+#: src/attrib.c:790
 #, c-format
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	"#  tex2iso_conv=ON/OFF\n"
 
-#: src/attrib.c:740
+#: src/attrib.c:791
 #, c-format
 msgid	"#  mime_forward=ON/OFF\n"
 msgstr	"#  mime_forward=ON/OFF\n"
 
-#: src/attrib.c:742
+#: src/attrib.c:793
 #, c-format
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	"#  mm_network_charset=toetatud_koodileht"
 
-#: src/attrib.c:749
+#: src/attrib.c:800
 #, c-format
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	"#  undeclared_charset=SÕNE (vaikimisi on US-ASCII)\n"
 
-#: src/attrib.c:751
+#: src/attrib.c:802
 #, c-format
 msgid	"#\n"
 	"# Note that it is best to put general (global scoping)\n"
 msgstr	"#\n"
 	"# Märkus: parem on kõigepealt kirjeldada üldisemad (globaalse skoobiga)\n"
 
-#: src/attrib.c:752
+#: src/attrib.c:803
 #, c-format
 msgid	"# entries first followed by group specific entries.\n"
 	"#\n"
 msgstr	"# ning seejärel konkreetsemad, grupi spetsiifilised, reeglid.\n"
 	"#\n"
 
-#: src/attrib.c:753
-#, c-format
+#: src/attrib.c:804
+#, fuzzy, c-format
 msgid	"############################################################################\n"
-	"\n"
 msgstr	"############################################################################\n"
-	"\n"
-
-#: src/attrib.c:759
-#, c-format
-msgid	"# include extra headers\n"
-msgstr	"# lisa täiendavaid päiseid\n"
-
-#: src/attrib.c:767
-#, c-format
-msgid	"# in *sources* set post process type to shar only\n"
-msgstr	"# *tekstidel* sea järeltöötlemise tüübiks ainult shar\n"
-
-#: src/attrib.c:771
-#, c-format
-msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
-msgstr	"# *binaarfailidel* sea täielik järeltöötlemine, kuid mitte TeX2ISO "
-	"teisendus,\n"
-
-#: src/attrib.c:772
-#, c-format
-msgid	"# remove tmp files and set Followup-To: poster\n"
-msgstr	"# kustuta ajutised failid ja sea Followup-To: postitaja\n"
 
-#: src/cook.c:559
+#: src/cook.c:558
 msgid	"(unknown)"
 msgstr	"(tundmatu)"
 
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:597 src/filter.c:605
+#: src/filter.c:592 src/filter.c:600
 msgid	"Removed from the previous rule: "
 msgstr	"Eelmisest reeglist eemaldatud: "
 
@@ -397,493 +369,498 @@ msgstr	"Artiklit pole"
 msgid	"Article undeleted."
 msgstr	"Artikkel taastatud."
 
-#: src/lang.c:66
+#: src/lang.c:65
+#, fuzzy, c-format
+msgid	"Article %4d of %4d"
+msgstr	"Artikkel %4d : %4d"
+
+#: src/lang.c:67
 msgid	"articles"
 msgstr	"artiklit"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid	"This is a repost of the following article:"
 msgstr	"See on järgneva artikli uuesti postitamine:"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid	"article"
 msgstr	"artikkel"
 
-#: src/lang.c:69
+#: src/lang.c:70
 msgid	"Article"
 msgstr	"Artikkel"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid	"-- %d %s mailed --"
 msgstr	"-- %d %s saadetud --"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid	" at %s"
 msgstr	" o: %s"
 
-#: src/lang.c:72
+#: src/lang.c:73
 #, c-format
 msgid	"%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n"
 msgstr	"%*s[-- %s/%s, kodeerin %s%s%s, %d rida%s%s --]\n"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid	", charset: "
 msgstr	", kooditabel: "
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid	"%*s[-- Description: %s --]\n"
 msgstr	"%*s[-- Kirjeldus: %s --]\n"
 
-#: src/lang.c:75
+#: src/lang.c:76
 #, c-format
 msgid	"%d Authentication failed"
 msgstr	"%d Autentimine ebaõnnestus"
 
-#: src/lang.c:76
+#: src/lang.c:77
 msgid	"Server expects authentication.\n"
 msgstr	"Server eeldab autentimist.\n"
 
-#: src/lang.c:77
+#: src/lang.c:78
 msgid	"    Please enter password: "
 msgstr	"    Palun sisestage parool: "
 
-#: src/lang.c:78
+#: src/lang.c:79
 msgid	"    Please enter username: "
 msgstr	"    Palun sisestage kasutajanimi: "
 
-#: src/lang.c:79
+#: src/lang.c:80
 #, c-format
 msgid	"Author search backwards [%s]> "
 msgstr	"Autori tagaspidi otsimine [%s]> "
 
-#: src/lang.c:80
+#: src/lang.c:81
 #, c-format
 msgid	"Author search forwards [%s]> "
 msgstr	"Autori edaspidi otsimine [%s]> "
 
-#: src/lang.c:81
+#: src/lang.c:82
 #, c-format
 msgid	"Authorized for user: %s\n"
 msgstr	"Autoriseeritud kasutaja: %s\n"
 
-#: src/lang.c:82
+#: src/lang.c:83
 #, c-format
 msgid	"Authorization failed for user: %s\n"
 msgstr	"Autoriseerimine ebaõnnestus. Kasutaja: %s\n"
 
-#: src/lang.c:83
+#: src/lang.c:84
 #, c-format
 msgid	"\n"
 	"Autosubscribed to %s"
 msgstr	"\n"
 	"%s tellitud"
 
-#: src/lang.c:84
+#: src/lang.c:85
 msgid	"Autosubscribing groups...\n"
 msgstr	"Tellin grupid...\n"
 
-#: src/lang.c:85
+#: src/lang.c:86
 #, c-format
 msgid	"Autoselecting articles (use '%s' to see all unread) ..."
 msgstr	"Valin artiklid (kõikide lugemata artiklite vaatamiseks '%s') ..."
 
-#: src/lang.c:87
+#: src/lang.c:88
 #, c-format
 msgid	"Active file corrupt - %s"
 msgstr	"Aktiivsete artiklite fail on vigane - %s"
 
-#: src/lang.c:88
+#: src/lang.c:89
 #, 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:89
+#: src/lang.c:90
 #, c-format
 msgid	"Unrecognized attribute: %s"
 msgstr	"Tundmatu atribuut: %s"
 
-#: src/lang.c:90
+#: src/lang.c:91
 #, c-format
 msgid	"Bad command. Type '%s' for help."
 msgstr	"Vigane käsk. Abiinfo saamiseks vajutage '%s'."
 
-#: src/lang.c:92
+#: src/lang.c:93
 msgid	"Base article"
 msgstr	"Baasartikkel"
 
-#: src/lang.c:93
+#: src/lang.c:94
 msgid	"Base article range"
 msgstr	"Baasartiklite vahemik"
 
-#: src/lang.c:94
+#: src/lang.c:95
 #, c-format
 msgid	"%s: Updating of index files not supported\n"
 msgstr	"%s: indeks failide uuendamist ei toetata\n"
 
-#: src/lang.c:95
+#: src/lang.c:96
 msgid	"*** Beginning of article ***"
 msgstr	"*** Artikli algus ***"
 
-#: src/lang.c:97
+#: src/lang.c:98
 #, 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:98
+#: src/lang.c:99
 msgid	"Cancelling article..."
 msgstr	"Katkestan artiklit..."
 
-#: src/lang.c:100
+#: src/lang.c:101
 #, c-format
 msgid	"Cannot create %s"
 msgstr	"%s ei õnnestu luua"
 
-#: src/lang.c:101
+#: src/lang.c:102
 #, c-format
 msgid	"Can't find base article %d"
 msgstr	"Ei leis baasartiklit %d"
 
-#: src/lang.c:102
+#: src/lang.c:103
 #, c-format
 msgid	"Can't open %s"
 msgstr	"%s ei saa avada"
 
-#: src/lang.c:103
+#: src/lang.c:104
 #, c-format
 msgid	"Couldn't open %s for saving"
 msgstr	"%s ei saa salvestamiseks avada"
 
-#: src/lang.c:104
+#: src/lang.c:105
 msgid	"*** Posting not allowed ***"
 msgstr	"*** Postitamine ei ole lubatud ***"
 
-#: src/lang.c:105
+#: src/lang.c:106
 #, c-format
 msgid	"Posting is not allowed to %s"
 msgstr	"%s ei luba postitada"
 
-#: src/lang.c:106
+#: src/lang.c:107
 #, c-format
 msgid	"Can't retrieve %s"
 msgstr	"%s ei õnnestu laadida"
 
-#: src/lang.c:107
+#: src/lang.c:108
 #, c-format
 msgid	"%s is a directory"
 msgstr	"%s on kataloog"
 
-#: src/lang.c:108
+#: src/lang.c:109
 msgid	"Catchup"
 msgstr	"Märgin loetuks"
 
-#: src/lang.c:109
+#: src/lang.c:110
 #, c-format
 msgid	"Catchup %s..."
 msgstr	"Märgin %s loetuks..."
 
-#: src/lang.c:110
+#: src/lang.c:111
 msgid	"Catchup all groups entered during this session?"
 msgstr	"Märgi loetuks kõik grupid, millesse on sessiooni jooksul sisenetud?"
 
-#: src/lang.c:111
+#: src/lang.c:112
 msgid	"You have tagged articles in this group - catchup anyway?"
 msgstr	"Teil on siin grupis märgitud teateid - märgin loetuks?"
 
-#: src/lang.c:112
+#: src/lang.c:113
 #, c-format
 msgid	"%s %d %s in %lu seconds\n"
 msgstr	"%s %d %s %lu sekundiga\n"
 
-#: src/lang.c:113
+#: src/lang.c:114
 msgid	"Caughtup"
 msgstr	"Loetud"
 
-#: src/lang.c:114
+#: src/lang.c:115
 msgid	"Check Prepared Article"
 msgstr	"Kontrollin valminud artiklit"
 
-#: src/lang.c:115
+#: src/lang.c:116
 msgid	"Checking for new groups... "
 msgstr	"Otsin uusi gruppe... "
 
-#: src/lang.c:116
+#: src/lang.c:117
 msgid	"Checking for news..."
 msgstr	"Otsin uudiseid..."
 
-#: src/lang.c:117
+#: src/lang.c:118
 #, 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:119
+#: src/lang.c:120
 msgid	"ANSI color disabled"
 msgstr	"ANSI värvid on keelatud"
 
-#: src/lang.c:120
+#: src/lang.c:121
 msgid	"ANSI color enabled"
 msgstr	"ANSI värvid on lubatud"
 
-#: src/lang.c:122
+#: src/lang.c:123
 #, c-format
 msgid	"Command failed: %s"
 msgstr	"Käsk ebaõnnestus: %s"
 
-#: src/lang.c:123
+#: src/lang.c:124
 msgid	"Mark not selected articles read?"
 msgstr	"Märgin valimata artiklid loetuks?"
 
-#: src/lang.c:124
+#: src/lang.c:125
 #, c-format
 msgid	"Connecting to %s..."
 msgstr	"Loon ühendust serveriga %s..."
 
-#: src/lang.c:125
+#: src/lang.c:126
 msgid	"<CR>"
 msgstr	"<CR>"
 
-#: src/lang.c:126
+#: src/lang.c:127
 msgid	"Creating active file for saved groups...\n"
 msgstr	"Loon salvestatud gruppidele active faili...\n"
 
-#: src/lang.c:127
+#: src/lang.c:128
 msgid	"Creating newsrc file...\n"
 msgstr	"Loon newsrc faili...\n"
 
-#: src/lang.c:129 src/lang.c:1150
+#: src/lang.c:130 src/lang.c:1150
 msgid	"Default"
 msgstr	"Vaikimisi"
 
-#: src/lang.c:130
+#: src/lang.c:131
 msgid	"Delete saved files that have been post processed?"
 msgstr	"Kas kustutada salvestatud ja töödeldud failid?"
 
-#: src/lang.c:131
+#: src/lang.c:132
 msgid	"Deleting temporary files..."
 msgstr	"Kustutan ajutisi faile..."
 
-#: src/lang.c:133
+#: src/lang.c:134
 msgid	"*** End of article ***"
 msgstr	"*** Artiklid on otsas ***"
 
-#: src/lang.c:134
+#: src/lang.c:135
 msgid	"*** End of articles ***"
 msgstr	"*** Artiklid on otsas ***"
 
-#: src/lang.c:135
+#: src/lang.c:136
 msgid	"*** End of groups ***"
 msgstr	"*** Grupid on otsas ***"
 
-#: src/lang.c:136
+#: src/lang.c:137
 msgid	"*** End of thread ***"
 msgstr	"*** Teema on otsas ***"
 
-#: src/lang.c:137
+#: src/lang.c:138
 msgid	"Enter limit of articles to get> "
 msgstr	"Sisestage leatavate artiklite piirang> "
 
-#: src/lang.c:138
+#: src/lang.c:139
 msgid	"Enter Message-ID to go to> "
 msgstr	"Sisestage Message-ID> "
 
-#: src/lang.c:139
+#: src/lang.c:140
 msgid	" and enter next unread thread"
 msgstr	" ja siseneda järgmisse lugemata teemasse"
 
-#: src/lang.c:140
+#: src/lang.c:141
 msgid	" and enter next unread group"
 msgstr	" ja siseneda järgmisse lugemata teemasse"
 
-#: src/lang.c:141
+#: src/lang.c:142
 msgid	"Enter option number> "
 msgstr	"Sisestage omaduse number> "
 
-#: src/lang.c:142
+#: src/lang.c:143
 #, c-format
 msgid	"Enter range [%s]> "
 msgstr	"Sisestage vahemik [%s]> "
 
-#: src/lang.c:143
+#: src/lang.c:144
 msgid	"\n"
 	"Warning: Approved: header used.\n"
 msgstr	"\n"
 	"Hoiatus: Kasutati päiserida Approved:.\n"
 
-#: src/lang.c:145
+#: src/lang.c:146
 msgid	"\n"
 	"Error: Bad address in Approved: header.\n"
 msgstr	"\n"
 	"Viga: Vigane aadress Approved: real.\n"
 
-#: src/lang.c:146
+#: src/lang.c:147
 msgid	"\n"
 	"Error: Bad address in From: header.\n"
 msgstr	"\n"
 	"Viga: Vigane aadress From: real.\n"
 
-#: src/lang.c:147
+#: src/lang.c:148
 msgid	"\n"
 	"Error: Bad address in Reply-To: header.\n"
 msgstr	"\n"
 	"Viga: Vigane aadress Reply-To: real.\n"
 
-#: src/lang.c:148
+#: src/lang.c:149
 msgid	"\n"
 	"Error: Bad FQDN in Message-ID: header.\n"
 msgstr	"\n"
 	"Viga: Vigane FQDN Message-ID: real.\n"
 
-#: src/lang.c:149
+#: src/lang.c:150
 #, c-format
 msgid	"Can't unlock %s"
 msgstr	"%s ei saa lahti lukustada"
 
-#: src/lang.c:151
+#: src/lang.c:152
 #, c-format
 msgid	"Corrupted file %s"
 msgstr	"Vigane fail %s"
 
-#: src/lang.c:152
+#: src/lang.c:153
 #, c-format
 msgid	"Couldn't dotlock %s - article not appended!"
 msgstr	"Ei saa punkt-lukustada %s - artiklit ei lisatud!"
 
-#: src/lang.c:153
+#: src/lang.c:154
 #, c-format
 msgid	"Couldn't lock %s - article not appended!"
 msgstr	"Ei saa lukustada %s - artiklit ei lisatud!"
 
-#: src/lang.c:155
+#: src/lang.c:156
 msgid	"Internal error in GNKSA routine - send bug report.\n"
 msgstr	"Sisemine viga GNKSA protseduuris - saatke vearaport.\n"
 
-#: src/lang.c:156
+#: src/lang.c:157
 msgid	"Left angle bracket missing in route address.\n"
 msgstr	"Aadressis puudub <.\n"
 
-#: src/lang.c:157
+#: src/lang.c:158
 msgid	"Left parenthesis missing in old-style address.\n"
 msgstr	"Vanas stiilis aadressis puudub vasak ümarsulg.\n"
 
-#: src/lang.c:158
+#: src/lang.c:159
 msgid	"Right parenthesis missing in old-style address.\n"
 msgstr	"Vanas stiilis aadressis puudub parem ümarsulg.\n"
 
-#: src/lang.c:159
+#: src/lang.c:160
 msgid	"At-sign missing in mail address.\n"
 msgstr	"Postiaadressis puudub at-märk.\n"
 
-#: src/lang.c:160
+#: src/lang.c:161
 msgid	"Single component FQDN is not allowed. Add your domain.\n"
 msgstr	"Ühekomponendiline FQDN pole lubatud. Lisage oma doomen.\n"
 
-#: src/lang.c:161
+#: src/lang.c:162
 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	"Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n"
 	"Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n"
 
-#: src/lang.c:162
+#: src/lang.c:163
 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	"Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n"
 	"Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n"
 
-#: src/lang.c:163
+#: src/lang.c:164
 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	"Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n"
 	"Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n"
 
-#: src/lang.c:164
+#: src/lang.c:165
 msgid	"Illegal character in FQDN.\n"
 msgstr	"FQDN sisaldab lubamatut sümbolit.\n"
 
-#: src/lang.c:165
+#: src/lang.c:166
 msgid	"Zero length FQDN component not allowed.\n"
 msgstr	"Null pikkusega FQDN komponent ei ole lubatud.\n"
 
-#: src/lang.c:166
+#: src/lang.c:167
 msgid	"FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr	"FQDN komponendi pikkus ületab maksimaalset lubatut (63 sümbolit).\n"
 
-#: src/lang.c:167
+#: src/lang.c:168
 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:168
+#: src/lang.c:169
 msgid	"FQDN component may not start with digit.\n"
 msgstr	"FQDN komponent ei või alata numbriga.\n"
 
-#: src/lang.c:169
+#: src/lang.c:170
 msgid	"Domain literal has impossible numeric value.\n"
 msgstr	"Doomen sisaldab võimatut numbrilist väärtust.\n"
 
-#: src/lang.c:170
+#: src/lang.c:171
 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:171
+#: src/lang.c:172
 msgid	"Right bracket missing in domain literal.\n"
 msgstr	"Doomenis puudub vasak sulg.\n"
 
-#: src/lang.c:172
+#: src/lang.c:173
 msgid	"Missing localpart of mail address.\n"
 msgstr	"Aadressil puudub lokaalne osa.\n"
 
-#: src/lang.c:173
+#: src/lang.c:174
 msgid	"Illegal character in localpart of mail address.\n"
 msgstr	"Lubamatu sümbol aadressi lokaalses osas.\n"
 
-#: src/lang.c:174
+#: src/lang.c:175
 msgid	"Zero length localpart component not allowed.\n"
 msgstr	"Null pikkusega lokaalne komponent ei ole lubatud.\n"
 
-#: src/lang.c:175
+#: src/lang.c:176
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr	"Pärisnimes on lubamatu sümbol.\n"
 	"Kvootimata sõnad aadressides ei tohi sisaldada '!()<>@,;:\\.[]'.\n"
 
-#: src/lang.c:176
+#: src/lang.c:177
 msgid	"Illegal character in realname.\n"
 	"Quoted words may not contain '()<>\\'.\n"
 msgstr	"Pärisnimes on lubamatu sümbol.\n"
 	"Kvooditud sõnad ei või sisaldada '()<>\\'.\n"
 
-#: src/lang.c:177
+#: src/lang.c:178
 msgid	"Illegal character in realname.\n"
 	"Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr	"Pärisnimes on lubamatu sümbol.\n"
 	"Kodeeritud sõnad parameetris ei või sisaldada '!()<>@,;:\"\\.[]/='.\n"
 
-#: src/lang.c:178
+#: src/lang.c:179
 msgid	"Bad syntax in encoded word used in realname.\n"
 msgstr	"Vigane reaalses nimes kasutatud kodeeritud sõna süntaks.\n"
 
-#: src/lang.c:179
+#: src/lang.c:180
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr	"Pärisnimes on lubamatu sümbol.\n"
 	"Kvootimata sõnad vanas stiilis aadressides ei või sisaldada '()<>\\'.\n"
 
-#: src/lang.c:180
+#: src/lang.c:181
 msgid	"Illegal character in realname.\n"
 	"Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr	"Pärisnimes on lubamatu sümbol.\n"
 	"Kontrollsümbolid ja kodeerimata 8bit sümbolid väärtusega > 127 ei ole "
 	"lubatud.\n"
 
-#: src/lang.c:181
+#: src/lang.c:182
 msgid	"\n"
 	"Error: No blank line found after header.\n"
 msgstr	"\n"
 	"Viga: peale päiseridu pole tühja rida.\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:183
+#: src/lang.c:184
 msgid	"\n"
 	"Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
 	"       US-ASCII  - please change this setting to a suitable value for\n"
@@ -894,7 +871,7 @@ msgstr	"\n"
 	"      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:188
+#: src/lang.c:189
 msgid	"\n"
 	"Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
 	"       for news  messages  is set  to \"7bit\"  -  please change this\n"
@@ -908,13 +885,13 @@ msgstr	"\n"
 	"      enam levinud.  Muuta saate kasutades seadete M)enüüd või toimetades\n"
 	"      tinrc faili.\n"
 
-#: src/lang.c:194
+#: src/lang.c:195
 msgid	"\n"
 	"Error: Article starts with blank line instead of header\n"
 msgstr	"\n"
 	"Viga: Artikkel algab päise asemel tühja reaga\n"
 
-#: src/lang.c:195
+#: src/lang.c:196
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a colon after the header name:\n"
@@ -923,21 +900,21 @@ msgstr	"\n"
 	"Viga: Päisereal %d puudub päise nime järel koolon:\n"
 	"%s\n"
 
-#: src/lang.c:196
+#: src/lang.c:197
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is empty.\n"
 msgstr	"\n"
 	"Viga: \"%s:\" rida on tühi.\n"
 
-#: src/lang.c:197
+#: src/lang.c:198
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is missing from the article header.\n"
 msgstr	"\n"
 	"Viga: Artikli päises puudub rida \"%s:\".\n"
 
-#: src/lang.c:198
+#: src/lang.c:199
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a space after the colon:\n"
@@ -946,153 +923,153 @@ msgstr	"\n"
 	"Viga: Päisel real %d puudub kooloni järel tühik:\n"
 	"%s\n"
 
-#: src/lang.c:199
+#: src/lang.c:200
 #, c-format
 msgid	"\n"
 	"Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr	"\n"
 	"Viga: Päises on mitu (%d) \"%s:\" rida.\n"
 
-#: src/lang.c:200
+#: src/lang.c:201
 #, c-format
 msgid	"Insecure permissions of %s (%o)"
 msgstr	"Ebaturvalised õigused failil %s (%o)"
 
-#: src/lang.c:201
+#: src/lang.c:202
 #, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	"Vigane vastus GROUP käsule, %s"
 
-#: src/lang.c:203
+#: src/lang.c:204
 #, 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:204
+#: src/lang.c:205
 msgid	"MIME parse error: Start boundary whilst reading headers"
 msgstr	"MIME parsimise viga: Algas eraldaja aga loen alles päiseid"
 
-#: src/lang.c:205
+#: src/lang.c:206
 msgid	"Can't get a (fully-qualified) domain-name!"
 msgstr	"Ei õnnestu saada (täis) doomeninime!"
 
-#: src/lang.c:206
+#: src/lang.c:207
 #, c-format
 msgid	"No permissions to go into %s\n"
 msgstr	"Puuduvad õigused siseneda %s\n"
 
-#: src/lang.c:207
+#: src/lang.c:208
 msgid	"\n"
 	"Error: From: line missing.\n"
 msgstr	"\n"
 	"Viga: From: rida puudub.\n"
 
-#: src/lang.c:208
+#: src/lang.c:209
 #, c-format
 msgid	"No read permissions for %s\n"
 msgstr	"%s lugemiseks pole õiguseid\n"
 
-#: src/lang.c:209
+#: src/lang.c:210
 #, c-format
 msgid	"File %s does not exist\n"
 msgstr	"Faili %s pole\n"
 
-#: src/lang.c:210
+#: src/lang.c:211
 #, c-format
 msgid	"No write permissions for %s\n"
 msgstr	"%s kirjutamiseks pole õiguseid\n"
 
-#: src/lang.c:211
+#: src/lang.c:212
 msgid	"Can't get user information (/etc/passwd missing?)"
 msgstr	"Ei leia kasutate kohta infot (/etc/passwd puudub?)"
 
-#: src/lang.c:212
+#: src/lang.c:213
 msgid	"errors"
 msgstr	"viga"
 
-#: src/lang.c:213
+#: src/lang.c:214
 #, c-format
 msgid	"\n"
 	"Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 msgstr	"\n"
 	"Viga real %d: \"Sender:\" päiserida pole lubatud (see lisatakse teie eest)\n"
 
-#: src/lang.c:214
+#: src/lang.c:215
 #, c-format
 msgid	"Server has non of the groups listed in %s"
 msgstr	"Serveril pole failis %s näidatud gruppe"
 
-#: src/lang.c:215
+#: src/lang.c:216
 msgid	"error"
 msgstr	"viga"
 
-#: src/lang.c:216
+#: src/lang.c:217
 msgid	"Unknown display level"
 msgstr	"Tundmatu ektaani tase"
 
-#: src/lang.c:217
+#: src/lang.c:218
 msgid	"<ESC>"
 msgstr	"<ESC>"
 
-#: src/lang.c:218
+#: src/lang.c:219
 msgid	"Exiting..."
 msgstr	"Lõpetan..."
 
-#: src/lang.c:219
+#: src/lang.c:220
 msgid	"leaving external mail-reader"
 msgstr	"jätan välise kirjade lugeja"
 
-#: src/lang.c:220
+#: src/lang.c:221
 #, c-format
 msgid	"Extracting %s..."
 msgstr	"Loon %s..."
 
-#: src/lang.c:222
+#: src/lang.c:223
 #, 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:223
+#: src/lang.c:224
 #, 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:224
+#: src/lang.c:225
 #, c-format
 msgid	"Filtering global rules (%d/%d)..."
 msgstr	"Filtreerin globaalseid reegleid (%d/%d)..."
 
-#: src/lang.c:225
+#: src/lang.c:226
 msgid	"Rule created by: "
 msgstr	"Reegli looja: "
 
-#: src/lang.c:226
+#: src/lang.c:227
 #, c-format
 msgid	"Enter pattern [%s]> "
 msgstr	"Sisestage muster [%s]> "
 
-#: src/lang.c:227
+#: src/lang.c:228
 #, c-format
 msgid	"\n"
 	"You requested followups to your article to go to the following %s:\n"
 msgstr	"\n"
 	"Te soovisite vastused artiklile %s:\n"
 
-#: src/lang.c:228
+#: src/lang.c:229
 #, 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:229
+#: src/lang.c:230
 msgid	"-- forwarded message --\n"
 msgstr	"-- edastatud teade --\n"
 
-#: src/lang.c:230
+#: src/lang.c:231
 msgid	"-- end of forwarded message --\n"
 msgstr	"-- edastatud teate lõpp --\n"
 
-#: src/lang.c:231
+#: src/lang.c:232
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
 	"placed\n"
@@ -1148,747 +1125,747 @@ msgstr	"# Vorming:\n"
 	"#   time=NUMBER       Mittekohustuslik. Reegli aegumine time_t väärtusena\n"
 	"#\n"
 
-#: src/lang.c:252
+#: src/lang.c:253
 #, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	"Reegli kaal        (vaikimisi=%d): "
 
-#: src/lang.c:253
+#: src/lang.c:254
 #, 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:254
+#: src/lang.c:255
 msgid	"Full"
 msgstr	"Täis"
 
-#: src/lang.c:255
+#: src/lang.c:256
 msgid	"Comment (optional)  : "
 msgstr	"Kommentaar (vaba)   : "
 
-#: src/lang.c:256
+#: src/lang.c:257
 msgid	"Apply pattern to    : "
 msgstr	"Rakenda mustrit     : "
 
-#: src/lang.c:257
+#: src/lang.c:258
 msgid	"From: line (ignore case)      "
 msgstr	"From: rida (tõstutundetu)   "
 
-#: src/lang.c:258
+#: src/lang.c:259
 msgid	"From: line (case sensitive)   "
 msgstr	"From: rida (tõstutundlik)   "
 
-#: src/lang.c:260
+#: src/lang.c:261
 #, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	"%s%s: Tundmatu host.\n"
 
-#: src/lang.c:261
+#: src/lang.c:262
 msgid	"global "
 msgstr	"globaalset "
 
-#: src/lang.c:262
+#: src/lang.c:263
 #, c-format
 msgid	"Please use %.100s instead"
 msgstr	"Kasutage selle asemel palun %.100s"
 
-#: src/lang.c:263
+#: src/lang.c:264
 #, c-format
 msgid	"%s is bogus"
 msgstr	"gruppi %s pole"
 
-#: src/lang.c:264
+#: src/lang.c:265
 #, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	"Grupp %s on modereeritav. Jätkan?"
 
-#: src/lang.c:265
+#: src/lang.c:266
 msgid	"groups"
 msgstr	"gruppi"
 
-#: src/lang.c:266
+#: src/lang.c:267
 #, c-format
 msgid	"Rereading %s..."
 msgstr	"Loen %s uuesti..."
 
-#: src/lang.c:267
+#: src/lang.c:268
 msgid	"Top Level Commands"
 msgstr	"Ülemise taseme käsud"
 
-#: src/lang.c:268
+#: src/lang.c:269
 msgid	"Group Selection"
 msgstr	"Grupi valik"
 
-#: src/lang.c:269
+#: src/lang.c:270
 msgid	"group"
 msgstr	"grupp"
 
-#: src/lang.c:271
+#: src/lang.c:272
 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:272
+#: src/lang.c:273
 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:273
+#: src/lang.c:274
 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:274
+#: src/lang.c:275
 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:275
+#: src/lang.c:276
 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:276
+#: src/lang.c:277
 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:277
+#: src/lang.c:278
 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:278
+#: src/lang.c:279
 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:279
+#: src/lang.c:280
 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:280
+#: src/lang.c:281
 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:281
+#: src/lang.c:282
 msgid	"kill an article via a menu"
 msgstr	"artiklite surmamise menüü"
 
-#: src/lang.c:282
+#: src/lang.c:283
 msgid	"auto-select (hot) an article via a menu"
 msgstr	"(kuuma) artikli automaatse valiku menüü"
 
-#: src/lang.c:283
+#: src/lang.c:284
 msgid	"Browse URLs in article"
 msgstr	"Brausi artiklis olevaid URLe"
 
-#: src/lang.c:284
+#: src/lang.c:285
 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:285
+#: src/lang.c:286
 msgid	"cancel (delete) or supersede (overwrite) current article"
 msgstr	"katkesta (kustuta) või asenda (kirjuta üle) jooksev artikkel"
 
-#: src/lang.c:286
+#: src/lang.c:287
 msgid	"edit article (mail-groups only)"
 msgstr	"toimeta artiklit (ainult kirjade-grupid)"
 
-#: src/lang.c:287
+#: src/lang.c:288
 msgid	"display first article in current thread"
 msgstr	"näita jooksva teema esimest artiklit"
 
-#: src/lang.c:288
+#: src/lang.c:289
 msgid	"display first page of article"
 msgstr	"näita artikli esimest lehekülge"
 
-#: src/lang.c:289
+#: src/lang.c:290
 msgid	"post followup to current article"
 msgstr	"postita vastus jooksvale artiklile"
 
-#: src/lang.c:290
+#: src/lang.c:291
 msgid	"post followup (don't copy text) to current article"
 msgstr	"postita vastus (kopeeri teksti) jooksvale artiklile"
 
-#: src/lang.c:291
+#: src/lang.c:292
 msgid	"post followup to current article quoting complete headers"
 msgstr	"postita vastus jooksvale artiklile, tsiteerides kõiki päiseid"
 
-#: src/lang.c:292
+#: src/lang.c:293
 msgid	"display last article in current thread"
 msgstr	"näita jooksva teema viimast artiklit"
 
-#: src/lang.c:293
+#: src/lang.c:294
 msgid	"display last page of article"
 msgstr	"näita artikli viimast lehekülge"
 
-#: src/lang.c:294
+#: src/lang.c:295
 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:295
+#: src/lang.c:296
 msgid	"display next article"
 msgstr	"näita järgmist artiklit"
 
-#: src/lang.c:296
+#: src/lang.c:297
 msgid	"display first article in next thread"
 msgstr	"näita järgmise teema esimest artiklit"
 
-#: src/lang.c:297
+#: src/lang.c:298
 msgid	"display next unread article"
 msgstr	"näita järgmist lugemata artiklit"
 
-#: src/lang.c:298
+#: src/lang.c:299
 msgid	"go to the article that this one followed up"
 msgstr	"mine artiklile, millele see artikkel järgneb"
 
-#: src/lang.c:299
+#: src/lang.c:300
 msgid	"display previous article"
 msgstr	"näita eelmist artiklit"
 
-#: src/lang.c:300
+#: src/lang.c:301
 msgid	"display previous unread article"
 msgstr	"näita eelmist lugemata artiklit"
 
-#: src/lang.c:301
+#: src/lang.c:302
 msgid	"quickly kill an article using defaults"
 msgstr	"surma kiiresti artikkel, kasutades vaikeväärtusi"
 
-#: src/lang.c:302
+#: src/lang.c:303
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	"vali kiiresti vaikeväärtusi kasutades (kuumad) artiklid"
 
-#: src/lang.c:303
+#: src/lang.c:304
 msgid	"return to group selection level"
 msgstr	"tagasi gruppide valikusse"
 
-#: src/lang.c:304
+#: src/lang.c:305
 msgid	"reply through mail to author"
 msgstr	"vasta autorile kirjaga"
 
-#: src/lang.c:305
+#: src/lang.c:306
 msgid	"reply through mail (don't copy text) to author"
 msgstr	"vasta autorile kirjaga (teksti ei kopeerita)"
 
-#: src/lang.c:306
+#: src/lang.c:307
 msgid	"reply through mail to author quoting complete headers"
 msgstr	"vasta autorile kirjaga, tsiteerides kõiki päiseid"
 
-#: src/lang.c:307
+#: src/lang.c:308
 msgid	"repost chosen article to another group"
 msgstr	"postita valitud artikkel teise gruppi"
 
-#: src/lang.c:308
+#: src/lang.c:309
 msgid	"search backwards within this article"
 msgstr	"otsi artiklis tagaspidi"
 
-#: src/lang.c:309
+#: src/lang.c:310
 msgid	"search forwards within this article"
 msgstr	"otsi artiklis edaspidi"
 
-#: src/lang.c:310
+#: src/lang.c:311
 msgid	"show article in raw-mode (including all headers)"
 msgstr	"näita kogu artiklit (koos päistega)"
 
-#: src/lang.c:311
+#: src/lang.c:312
 msgid	"skip next block of included text"
 msgstr	"järgmisele tekstiblokile"
 
-#: src/lang.c:312
+#: src/lang.c:313
 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:313
+#: src/lang.c:314
 msgid	"toggle word highlighting on/off"
 msgstr	"lülita sõnade märkimine sisse/välja"
 
-#: src/lang.c:314
+#: src/lang.c:315
 msgid	"toggle ROT-13 (basic decode) for current article"
 msgstr	"lülita jooksva artikli ROT-13 (lihtne dekodeering) kodeering"
 
-#: src/lang.c:315
+#: src/lang.c:316
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	"lülita tabulaatori laius 4 <-> 8"
 
-#: src/lang.c:316
+#: src/lang.c:317
 msgid	"toggle german TeX style decoding for current article"
 msgstr	"lülita jooksva artikli saksa TeX stiilis dekodeerimine"
 
-#: src/lang.c:317
+#: src/lang.c:318
 msgid	"toggle display of uuencoded sections"
 msgstr	"lülita uuenkodeeritud osade näitamine"
 
-#: src/lang.c:318
+#: src/lang.c:319
 msgid	"View/save multimedia attachments"
 msgstr	"Vaata/salvesta multimeedia lisasid"
 
-#: src/lang.c:319
+#: src/lang.c:320
 #, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	"saatke vearaport või kommentaar aadressile %s"
 
-#: src/lang.c:320
+#: src/lang.c:321
 msgid	"choose range of articles to be affected by next command"
 msgstr	"valige järgmise käsuga töödeldavate artiklite vahemik"
 
-#: src/lang.c:321
+#: src/lang.c:322
 msgid	"escape from command prompt"
 msgstr	"pääs käsuviibalt"
 
-#: src/lang.c:322
+#: src/lang.c:323
 msgid	"edit filter file"
 msgstr	"toimeta filtrite faili"
 
-#: src/lang.c:323
+#: src/lang.c:324
 msgid	"get help"
 msgstr	"anna abiinfot"
 
-#: src/lang.c:324
+#: src/lang.c:325
 msgid	"display last article viewed"
 msgstr	"näita viimasena vaadatud artiklit"
 
-#: src/lang.c:325
+#: src/lang.c:326
 msgid	"down one line"
 msgstr	"üks rida alla"
 
-#: src/lang.c:326
+#: src/lang.c:327
 msgid	"up one line"
 msgstr	"üles üks rida"
 
-#: src/lang.c:327
+#: src/lang.c:328
 msgid	"go to article chosen by Message-ID"
 msgstr	"liigu Message-ID poolt määratud artiklile"
 
-#: src/lang.c:328
+#: src/lang.c:329
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	"saada artikkel/teema/kuum/muster/märgitud kellelegi"
 
-#: src/lang.c:329
+#: src/lang.c:330
 msgid	"menu of configurable options"
 msgstr	"seadete menüü"
 
-#: src/lang.c:330
+#: src/lang.c:331
 msgid	"down one page"
 msgstr	"alla üks lehekülg"
 
-#: src/lang.c:331
+#: src/lang.c:332
 msgid	"up one page"
 msgstr	"üles üks lehekülg"
 
-#: src/lang.c:332
+#: src/lang.c:333
 msgid	"post (write) article to current group"
 msgstr	"postita (kirjuta) artikkel jooksvasse gruppi"
 
-#: src/lang.c:333
+#: src/lang.c:334
 msgid	"post postponed articles"
 msgstr	"postita ootel artiklid"
 
-#: src/lang.c:334
+#: src/lang.c:335
 msgid	"list articles posted by you (from posted file)"
 msgstr	"näita teie poolt postitatud artikleid (failist posted)"
 
-#: src/lang.c:335
+#: src/lang.c:336
 msgid	"return to previous menu"
 msgstr	"tagasi eelmisse menüüsse"
 
-#: src/lang.c:336
+#: src/lang.c:337
 msgid	"quit tin immediately"
 msgstr	"välju viivitamata tinist"
 
-#: src/lang.c:337
+#: src/lang.c:338
 msgid	"redraw page"
 msgstr	"värskenda lehekülge"
 
-#: src/lang.c:338
+#: src/lang.c:339
 msgid	"save article/thread/hot/pattern/tagged articles to file"
 msgstr	"salvesta artikkel/teema/kuum/muster/märgitud faili"
 
-#: src/lang.c:339
+#: src/lang.c:340
 msgid	"save marked articles automatically without user prompts"
 msgstr	"salvesta märgitud artiklid automaatselt, kasutajalt küsimata"
 
-#: src/lang.c:340
+#: src/lang.c:341
 msgid	"scroll the screen one line down"
 msgstr	"keri ekraani rida alla"
 
-#: src/lang.c:341
+#: src/lang.c:342
 msgid	"scroll the screen one line up"
 msgstr	"keri ekraani rida üles"
 
-#: src/lang.c:342
+#: src/lang.c:343
 msgid	"search for articles by author backwards"
 msgstr	"otsi artikleid autori järgi tagaspidi"
 
-#: src/lang.c:343
+#: src/lang.c:344
 msgid	"search for articles by author forwards"
 msgstr	"otsi artikleid autori järgi edaspidi"
 
-#: src/lang.c:344
+#: src/lang.c:345
 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:345
+#: src/lang.c:346
 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:346
+#: src/lang.c:347
 msgid	"search for articles by Subject line backwards"
 msgstr	"otsi artiklit teema järgi tagaspidi"
 
-#: src/lang.c:347
+#: src/lang.c:348
 msgid	"search for articles by Subject line forwards"
 msgstr	"otsi artiklit teema järgi edaspidi"
 
-#: src/lang.c:348
+#: src/lang.c:349
 msgid	"repeat last search"
 msgstr	"korda eelmist otsingut"
 
-#: src/lang.c:349
+#: src/lang.c:350
 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:350
+#: src/lang.c:351
 msgid	"toggle info message in last line (subject/description)"
 msgstr	"lülita viimase rea infoteadet (teema/kirjeldus)"
 
-#: src/lang.c:351
+#: src/lang.c:352
 msgid	"toggle inverse video"
 msgstr	"lülita pööratud video"
 
-#: src/lang.c:352
+#: src/lang.c:353
 msgid	"toggle mini help menu display"
 msgstr	"abiinfo lülita ekraanil miniabi menüüd"
 
-#: src/lang.c:353
+#: src/lang.c:354
 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:354
+#: src/lang.c:355
 msgid	"show version information"
 msgstr	"esita info versioonist"
 
-#: src/lang.c:355
+#: src/lang.c:356
 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:356
+#: src/lang.c:357
 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:357
+#: src/lang.c:358
 msgid	"choose first thread in list"
 msgstr	"vali loendist esimene teema"
 
-#: src/lang.c:358
+#: src/lang.c:359
 msgid	"choose last thread in list"
 msgstr	"vali loendist viimane teema"
 
-#: src/lang.c:359
+#: src/lang.c:360
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	"artiklite loend jooksvas teemas (esita teema alam-menüü)"
 
-#: src/lang.c:360
+#: src/lang.c:361
 msgid	"mark article as unread"
 msgstr	"märgi artikkel loetuks"
 
-#: src/lang.c:361
+#: src/lang.c:362
 msgid	"mark current thread or tagged threads as read"
 msgstr	"märgi jooksev teema või märgitud teemad loetuks"
 
-#: src/lang.c:362
+#: src/lang.c:363
 msgid	"mark thread as unread"
 msgstr	"märgi teema loetuks"
 
-#: src/lang.c:363
+#: src/lang.c:364
 msgid	"toggle display of all/selected articles"
 msgstr	"lülita ekraanile kõik/valitud artiklid"
 
-#: src/lang.c:364
+#: src/lang.c:365
 msgid	"display next group"
 msgstr	"näita järgmist gruppi"
 
-#: src/lang.c:365
+#: src/lang.c:366
 msgid	"display previous group"
 msgstr	"näita eelmist gruppi"
 
-#: src/lang.c:366
+#: src/lang.c:367
 msgid	"toggle all selections (all articles)"
 msgstr	"lülita kõiki valikuid (kõiki artikleid)"
 
-#: src/lang.c:367
+#: src/lang.c:368
 msgid	"select group (make \"hot\")"
 msgstr	"vali grupp (muuda \"kuumaks\")"
 
-#: src/lang.c:368
+#: src/lang.c:369
 msgid	"select thread"
 msgstr	"vali teema"
 
-#: src/lang.c:369
+#: src/lang.c:370
 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:370
+#: src/lang.c:371
 msgid	"select threads that match user specified pattern"
 msgstr	"vali kasutaja määratud mustrile vastavad teemad"
 
-#: src/lang.c:371
+#: src/lang.c:372
 msgid	"tag all parts of current multipart-message in order"
 msgstr	"märgi jooksva mitmeosalise teate kõik osad"
 
-#: src/lang.c:372
+#: src/lang.c:373
 msgid	"0 - 9\t  choose thread by number"
 msgstr	"0 - 9\t  vali numbri järgi teema"
 
-#: src/lang.c:373
+#: src/lang.c:374
 msgid	"toggle limit number of articles to get, and reload"
 msgstr	"sea laetavate artiklite piirang ja lae uuesti"
 
-#: src/lang.c:374
+#: src/lang.c:375
 msgid	"toggle display of all/unread articles"
 msgstr	"lülita ekraanil kõik/lugemata artiklid"
 
-#: src/lang.c:375
+#: src/lang.c:376
 msgid	"toggle selection of thread"
 msgstr	"lülita teema valikut"
 
-#: src/lang.c:376
+#: src/lang.c:377
 msgid	"cycle through threading options available"
 msgstr	"erinevad teemade käsitlemise võtmed"
 
-#: src/lang.c:377
+#: src/lang.c:378
 msgid	"undo all selections (all articles)"
 msgstr	"ennista kõik valikud (kõik artiklid)"
 
-#: src/lang.c:378
+#: src/lang.c:379
 msgid	"untag all tagged threads"
 msgstr	"eemalda märgistus kõikidelt märgitud teemadelt"
 
-#: src/lang.c:379
+#: src/lang.c:380
 msgid	"mark all articles in group as read"
 msgstr	"märgi valitud grupis kõik artiklid loetuks"
 
-#: src/lang.c:380
+#: src/lang.c:381
 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:381
+#: src/lang.c:382
 msgid	"choose first group in list"
 msgstr	"vali loetelust esimene grupp"
 
-#: src/lang.c:382
+#: src/lang.c:383
 msgid	"choose group by name"
 msgstr	"vali grupp nime järgi"
 
-#: src/lang.c:383
+#: src/lang.c:384
 msgid	"0 - 9\t  choose group by number"
 msgstr	"0 - 9\t  vali grupp numbri järgi"
 
-#: src/lang.c:384
+#: src/lang.c:385
 msgid	"choose range of groups to be affected by next command"
 msgstr	"järgmise käsuga töödeldavate gruppide vahemik"
 
-#: src/lang.c:385
+#: src/lang.c:386
 msgid	"choose last group in list"
 msgstr	"vali loetelust viimane grupp"
 
-#: src/lang.c:386
+#: src/lang.c:387
 msgid	"mark all articles in chosen group unread"
 msgstr	"märgi valitud grupis kõik artiklid mitte-loetuks"
 
-#: src/lang.c:387
+#: src/lang.c:388
 msgid	"move chosen group within list"
 msgstr	"liiguta valitud gruppi loendis"
 
-#: src/lang.c:388
+#: src/lang.c:389
 msgid	"choose next group with unread news"
 msgstr	"vali järgmine lugemata artiklitega grupp"
 
-#: src/lang.c:389 src/lang.c:1197
+#: src/lang.c:390 src/lang.c:1197
 msgid	"quit"
 msgstr	"välju"
 
-#: src/lang.c:390
+#: src/lang.c:391
 msgid	"quit without saving configuration changes"
 msgstr	"välju muudetud seadeid salvestamata"
 
-#: src/lang.c:391
+#: src/lang.c:392
 msgid	"read chosen group"
 msgstr	"loe valitud gruppi"
 
-#: src/lang.c:392
+#: src/lang.c:393
 msgid	"reset .newsrc (all available articles in groups marked unread)"
 msgstr	".newsrc faili algväärtustamine (kõik artiklid mitte-loetuks)"
 
-#: src/lang.c:393
+#: src/lang.c:394
 msgid	"search backwards for a group name"
 msgstr	"otsi grupi nime tagaspidi"
 
-#: src/lang.c:394
+#: src/lang.c:395
 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:395
+#: src/lang.c:396
 msgid	"search forwards for a group name"
 msgstr	"otsi grupi nime edaspidi"
 
-#: src/lang.c:396
+#: src/lang.c:397
 msgid	"subscribe to chosen group"
 msgstr	"telli valitud grupp"
 
-#: src/lang.c:397
+#: src/lang.c:398
 msgid	"subscribe to groups that match pattern"
 msgstr	"telli mustrile vastavaid gruppe"
 
-#: src/lang.c:398
+#: src/lang.c:399
 msgid	"reread active file to check for any new news"
 msgstr	"kontrolli aktiivsete gruppide faili - kas on uusi artikleid"
 
-#: src/lang.c:399
+#: src/lang.c:400
 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:400
+#: src/lang.c:401
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	"vali ekraanile kõik/lugemata tellitud grupid"
 
-#: src/lang.c:401
+#: src/lang.c:402
 msgid	"unsubscribe from chosen group"
 msgstr	"loobu valitud grupist"
 
-#: src/lang.c:402
+#: src/lang.c:403
 msgid	"unsubscribe from groups that match pattern"
 msgstr	"loobu mustrile vastavatest gruppidest"
 
-#: src/lang.c:403
+#: src/lang.c:404
 msgid	"sort the list of groups"
 msgstr	"järjesta gruppide loend"
 
-#: src/lang.c:404
+#: src/lang.c:405
 msgid	"toggle display to show all/subscribed groups"
 msgstr	"näita ekraanil kõiki/tellitud gruppe"
 
-#: src/lang.c:405
+#: src/lang.c:406
 msgid	"0 - 9\t  choose article by number"
 msgstr	"0 - 9\t  vali numbri järgi artikkel"
 
-#: src/lang.c:406
+#: src/lang.c:407
 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:407
+#: src/lang.c:408
 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:408
+#: src/lang.c:409
 msgid	"choose first article in list"
 msgstr	"vali loendis esimene artikkel"
 
-#: src/lang.c:409
+#: src/lang.c:410
 msgid	"choose last article in list"
 msgstr	"vali loendis viimane artikkel"
 
-#: src/lang.c:410
+#: src/lang.c:411
 msgid	"mark article or tagged articles as read and move cursor to next unread article"
 msgstr	"märgi artikkel või märgitud artiklid loetuks, liigu järgm. lugemata artiklile"
 
-#: src/lang.c:411
+#: src/lang.c:412
 msgid	"read chosen article"
 msgstr	"loe valitud artiklit"
 
-#: src/lang.c:412
+#: src/lang.c:413
 msgid	"Display properties\n"
 	"------------------"
 msgstr	"Ekraani omadused\n"
 	"----------------"
 
-#: src/lang.c:413
+#: src/lang.c:414
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	"Muud\n"
 	"----"
 
-#: src/lang.c:414
+#: src/lang.c:415
 msgid	"Moving around\n"
 	"-------------"
 msgstr	"Liikumine\n"
 	"---------"
 
-#: src/lang.c:415
+#: src/lang.c:416
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	"Grupi/teema/artikli operatsioonid\n"
 	"---------------------------------"
 
-#: src/lang.c:417
+#: src/lang.c:418
 msgid	"Group Level Commands"
 msgstr	"Grupitaseme käsud"
 
-#: src/lang.c:418
+#: src/lang.c:419
 msgid	"Kill filter added"
 msgstr	"Surmamise filter lisatud"
 
-#: src/lang.c:419
+#: src/lang.c:420
 msgid	"Auto-selection filter added"
 msgstr	"Automaatse valiku filter lisatud"
 
-#: src/lang.c:420
+#: src/lang.c:421
 msgid	"All parts tagged"
 msgstr	"Kõik osad on märgitud"
 
-#: src/lang.c:421
+#: src/lang.c:422
 msgid	"Storing article for later posting"
 msgstr	"Salvestan artikli hiljem postitamiseks"
 
-#: src/lang.c:422
+#: src/lang.c:423
 msgid	"Please enter a valid character"
 msgstr	"Palun sisestage lubatud sümbol"
 
-#: src/lang.c:423
+#: src/lang.c:424
 #, c-format
 msgid	"Missing part #%d"
 msgstr	"Puudub osa nr: %d"
 
-#: src/lang.c:424
+#: src/lang.c:425
 msgid	"*** No postponed articles ***"
 msgstr	"*** Postitusootel artikleid pole ***"
 
-#: src/lang.c:425
+#: src/lang.c:426
 msgid	"Not a multi-part message"
 msgstr	"Ei ole mitmeosaline teade"
 
-#: src/lang.c:426
+#: src/lang.c:427
 msgid	"You are not subscribed to this group"
 msgstr	"Te pole seda gruppi tellinud"
 
-#: src/lang.c:427
+#: src/lang.c:428
 msgid	"No previous expression"
 msgstr	"Eelmist avaldist pole"
 
-#: src/lang.c:428
+#: src/lang.c:429
 msgid	"Operation disabled in no-overwrite mode"
 msgstr	"Operatsioon on ülekirjutamist keelavas moodis keelatud"
 
 #. TODO: replace hardcoded key-name in txt_info_postponed
-#: src/lang.c:430
+#: src/lang.c:431
 #, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	"%d ootel %s, kasutamiseks ^O...\n"
 
-#: src/lang.c:431
+#: src/lang.c:432
 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	"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:433
+#: src/lang.c:434
 #, 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:434
+#: src/lang.c:435
 msgid	"TeX2Iso encoded article"
 msgstr	"TeX2Iso kodeeritud artikkel"
 
-#: src/lang.c:435
+#: src/lang.c:436
 msgid	"incomplete "
 msgstr	"mittetäielik "
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:437
+#: src/lang.c:438
 #, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -1946,133 +1923,133 @@ msgstr	"\n"
 	"Lisainfot leiate manualist, README, INSTALL, TODO ja FTP failidest.\n"
 	"Palun saatke vearaportid/kommentaarid 'R' käsuga aadressil %s.\n"
 
-#: src/lang.c:453
+#: src/lang.c:454
 #, c-format
 msgid	"Invalid  From: %s  line. Read the INSTALL file again."
 msgstr	"Vigane From: %s rida. Lugege uuesti faili INSTALL."
 
-#: src/lang.c:455
+#: src/lang.c:456
 msgid	"Invalid multibyte sequence found\n"
 msgstr	"Leidsin vigase mitmebaidi järjendi\n"
 
-#: src/lang.c:457
+#: src/lang.c:458
 #, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	"Vigane Sender:-päis %s"
 
-#: src/lang.c:458
+#: src/lang.c:459
 msgid	"Inverse video disabled"
 msgstr	"Pööratud video keelatud"
 
-#: src/lang.c:459
+#: src/lang.c:460
 msgid	"Inverse video enabled"
 msgstr	"Pööratud video lubatud"
 
-#: src/lang.c:461
+#: src/lang.c:462
 #, c-format
 msgid	"Missing definition for %s\n"
 msgstr	"%s definitsioon puudub\n"
 
-#: src/lang.c:462
+#: src/lang.c:463
 #, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	"Vigane klahvi definitsioon '%s'\n"
 
-#: src/lang.c:463
+#: src/lang.c:464
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	"Vigane klahvi nimi '%s'\n"
 
-#: src/lang.c:464
+#: src/lang.c:465
 #, c-format
 msgid	"Keymap file was upgraded to version %s\n"
 msgstr	"Keymap fail uuendati versioonini %s\n"
 
-#: src/lang.c:465
+#: src/lang.c:466
 #, c-format
 msgid	"Kill From:     [%s] (y/n): "
 msgstr	"Surmake From:  [%s] (j/e): "
 
-#: src/lang.c:466
+#: src/lang.c:467
 msgid	"Kill Lines: (</>num): "
 msgstr	"Surmake read: (</>num) : "
 
-#: src/lang.c:467
+#: src/lang.c:468
 msgid	"Kill Article Menu"
 msgstr	"Artuklite surmamise menüü"
 
-#: src/lang.c:468
+#: src/lang.c:469
 #, c-format
 msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr	"Surmake Msg-Id:[%s] (f/l/o/n): "
 
-#: src/lang.c:469
+#: src/lang.c:470
 msgid	"Kill pattern scope  : "
 msgstr	"Surmamise mustri ulatus: "
 
-#: src/lang.c:470
+#: src/lang.c:471
 #, c-format
 msgid	"Kill Subject:  [%s] (y/n): "
 msgstr	"Surmake teema: [%s] (j/e): "
 
-#: src/lang.c:471
+#: src/lang.c:472
 msgid	"Kill text pattern   : "
 msgstr	"Surmake tekst mustriga : "
 
-#: src/lang.c:472
+#: src/lang.c:473
 msgid	"Kill time in days   : "
 msgstr	"Surmamise aeg päevades : "
 
-#: src/lang.c:474
+#: src/lang.c:475
 msgid	"Last"
 msgstr	"Viimane"
 
-#: src/lang.c:475
+#: src/lang.c:476
 msgid	"-- Last response --"
 msgstr	"-- Viimane vastus --"
 
-#: src/lang.c:476
+#: src/lang.c:477
 #, c-format
 msgid	"Lines %s  "
 msgstr	"Rida: %s  "
 
-#: src/lang.c:478
+#: src/lang.c:479
 msgid	"Mail"
 msgstr	"E-post"
 
-#: src/lang.c:479
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	"postkasti "
 
-#: src/lang.c:480
+#: src/lang.c:481
 #, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	"Saada artiklid aadressil [%.*s]> "
 
-#: src/lang.c:481
+#: src/lang.c:482
 #, c-format
 msgid	"Mailing log to %s\n"
 msgstr	"Saadan logi aadressil %s\n"
 
-#: src/lang.c:482
+#: src/lang.c:483
 msgid	"Mail bug report..."
 msgstr	"Saada vearaport..."
 
-#: src/lang.c:483
+#: src/lang.c:484
 #, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	"Saadan VEARAPORTI aadressil %s?"
 
-#: src/lang.c:484
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	"Saadetud"
 
-#: src/lang.c:485
+#: src/lang.c:486
 #, c-format
 msgid	"Mailing to %s..."
 msgstr	"Saadan aadressil %s..."
 
-#: src/lang.c:486
+#: src/lang.c:487
 msgid	"# [Mail/Save] active file. Format is like news active file:\n"
 	"#   groupname  max.artnum  min.artnum  /dir\n"
 	"# The 4th field is the basedir (ie. ~/Mail or ~/News)\n"
@@ -2082,295 +2059,295 @@ msgstr	"# [Saada/Salvesta] fail \"active
 	"# Neljas väli on baaskataloog (näiteks ~/Mail või ~/News)\n"
 	"#\n"
 
-#: src/lang.c:489
+#: src/lang.c:490
 #, c-format
 msgid	"%s marked as unread"
 msgstr	"%s märgitud loetuks"
 
-#: src/lang.c:490
+#: src/lang.c:491
 #, c-format
 msgid	"Marked %d of %d tagged %s as read"
 msgstr	"Märkisin %d (%d) märgitud %s loetuks"
 
-#: src/lang.c:491
+#: src/lang.c:492
 #, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	"Märgin kõik artiklid loetuks%s?"
 
-#: src/lang.c:492
+#: src/lang.c:493
 #, c-format
 msgid	"Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr	"Märgi %s=märgitud artiklid, %s=jooksev artikkel, %s=välju: "
 
-#: src/lang.c:493
+#: src/lang.c:494
 #, c-format
 msgid	"Mark group %s as read?"
 msgstr	"Märgin grupi %s loetuks?"
 
-#: src/lang.c:494
+#: src/lang.c:495
 #, c-format
 msgid	"Mark thread as read%s?"
 msgstr	"Märgin teema loetuks%s?"
 
-#: src/lang.c:495
+#: src/lang.c:496
 #, c-format
 msgid	"Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr	"Märgi %s=märgitud artiklid/teemad, %s=jooksev teema, %s=välju: "
 
-#: src/lang.c:496
+#: src/lang.c:497
 #, c-format
 msgid	"Matching %s groups..."
 msgstr	"Otsin %s gruppe..."
 
-#: src/lang.c:497 src/lang.c:501
+#: src/lang.c:498 src/lang.c:502
 #, 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:498
+#: src/lang.c:499
 #, c-format
 msgid	"%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list "
 	"thread"
 msgstr	"%s=autori otsing; %s=loetud; %s=rida alla; %s=rida üles; %s=märgi loetuks; %"
 	"s=teema"
 
-#: src/lang.c:499
+#: src/lang.c:500
 #, 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:500
+#: src/lang.c:501
 #, c-format
 msgid	"%s=search forwards; %s=search backwards; %s=quit"
 msgstr	"%s=otsi edaspidi; %s=otsi tagaspidi; %s=välju"
 
-#: src/lang.c:502
+#: src/lang.c:503
 #, 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:503
+#: src/lang.c:504
 #, 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:504
+#: src/lang.c:505
 #, 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:505
+#: src/lang.c:506
 #, 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:506
+#: src/lang.c:507
 #, 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:507
+#: src/lang.c:508
 #, 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:508
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	"--Veel--"
 
-#: src/lang.c:509
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	"Tõstan %s..."
 
-#: src/lang.c:510
+#: src/lang.c:511
 msgid	"Message-ID: & last Reference  "
 msgstr	""
 
-#: src/lang.c:511
+#: src/lang.c:512
 msgid	"Message-ID: line              "
 msgstr	"Message-ID: rida            "
 
-#: src/lang.c:512
+#: src/lang.c:513
 msgid	"Message-ID: & References: line"
 msgstr	""
 
-#: src/lang.c:514
+#: src/lang.c:515
 msgid	", name: "
 msgstr	", nimi: "
 
-#: src/lang.c:515
+#: src/lang.c:516
 #, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	"Mine gruppi [%s]> "
 
-#: src/lang.c:516
+#: src/lang.c:517
 msgid	"newsgroups"
 msgstr	"gruppidesse"
 
-#: src/lang.c:517
+#: src/lang.c:518
 #, c-format
 msgid	"Position %s in group list (1,2,..,$) [%d]> "
 msgstr	"Positsioon %s gruppide nimistus (1,2,..,$) [%d]> "
 
-#: src/lang.c:518
+#: src/lang.c:519
 msgid	"newsgroup"
 msgstr	"gruppi"
 
-#: src/lang.c:519
+#: src/lang.c:520
 msgid	"Try and save newsrc file again?"
 msgstr	"Proovin newsrc faili uuesti salvestada?"
 
-#: src/lang.c:520
+#: src/lang.c:521
 msgid	"Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr	"Hoiatus: Teie newsrc faili ei salvestatud ühtegi gruppi. Katkestasin "
 	"salvestamise."
 
-#: src/lang.c:521
+#: src/lang.c:522
 msgid	"newsrc file saved successfully.\n"
 msgstr	"newsrc fail on edukalt salvestatud.\n"
 
-#: src/lang.c:522
+#: src/lang.c:523
 msgid	"-- Next response --"
 msgstr	"- Järgmine vastus -"
 
-#: src/lang.c:523
+#: src/lang.c:524
 #, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"Serverile %s vastavat NNTP autoriseerimise parooli pole"
 
-#: src/lang.c:524
+#: src/lang.c:525
 msgid	"No  "
 msgstr	"Ei  "
 
-#: src/lang.c:525
+#: src/lang.c:526
 msgid	"*** No articles ***"
 msgstr	"*** Artikleid pole ***"
 
-#: src/lang.c:526
+#: src/lang.c:527
 msgid	"No articles have been posted"
 msgstr	"Postitatud artikleid pole"
 
-#: src/lang.c:527
+#: src/lang.c:528
 msgid	"*** No description ***"
 msgstr	"*** Kirjeldus puudub ***"
 
-#: src/lang.c:528
+#: src/lang.c:529
 msgid	"No filename"
 msgstr	"Failil pole nime"
 
-#: src/lang.c:529
+#: src/lang.c:530
 msgid	"No group"
 msgstr	"Gruppi pole"
 
-#: src/lang.c:530
+#: src/lang.c:531
 msgid	"*** No groups ***"
 msgstr	"*** Gruppe pole ***"
 
-#: src/lang.c:531
+#: src/lang.c:532
 msgid	"No more groups to read"
 msgstr	"Lugemiseks rohkem gruppe pole"
 
-#: src/lang.c:532
+#: src/lang.c:533
 msgid	"No last message"
 msgstr	"Viimast teadet pole"
 
-#: src/lang.c:533
+#: src/lang.c:534
 msgid	"No mail address"
 msgstr	"E-posti aadressi pole"
 
-#: src/lang.c:534
+#: src/lang.c:535
 msgid	"No articles marked for saving"
 msgstr	"Salvestamiseks märgitud artikleid pole"
 
-#: src/lang.c:535
+#: src/lang.c:536
 msgid	"No match"
 msgstr	"Ei leia"
 
-#: src/lang.c:536
+#: src/lang.c:537
 msgid	"No more groups"
 msgstr	"Rohkem gruppe pole"
 
-#: src/lang.c:537
+#: src/lang.c:538
 msgid	"No newsgroups"
 msgstr	"Gruppe pole"
 
-#: src/lang.c:538
+#: src/lang.c:539
 msgid	"No next unread article"
 msgstr	"Järgmist lugemata artiklit pole"
 
-#: src/lang.c:539
+#: src/lang.c:540
 msgid	"No previous group"
 msgstr	"Eelmist gruppi pole"
 
-#: src/lang.c:540
+#: src/lang.c:541
 msgid	"No previous unread article"
 msgstr	"Eelmist lugemata artiklit pole"
 
-#: src/lang.c:541
+#: src/lang.c:542
 msgid	"No responses"
 msgstr	"Vastuseid pole"
 
-#: src/lang.c:542
+#: src/lang.c:543
 msgid	"No responses to list in current thread"
 msgstr	"Jooksvas teemas pole vastuseid"
 
-#: src/lang.c:543
+#: src/lang.c:544
 msgid	"No search string"
 msgstr	"Otsingusõne puudub"
 
-#: src/lang.c:544
+#: src/lang.c:545
 msgid	"No subject"
 msgstr	"Teema puudub"
 
-#: src/lang.c:546
+#: src/lang.c:547
 #, 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:547
+#: src/lang.c:548
 #, 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:548
+#: src/lang.c:549
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	"%s: Terminalil peab olema ekraanipuhastamise (cl) omadus\n"
 
-#: src/lang.c:549
+#: src/lang.c:550
 #, c-format
 msgid	"%s: Terminal must have cursor motion (cm)\n"
 msgstr	"%s: Terminal peab toetama kursori liigutamist (cm)\n"
 
-#: src/lang.c:550
+#: src/lang.c:551
 #, 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:552
+#: src/lang.c:553
 #, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	"%s/%s jaoks puudub vaatur\n"
 
-#: src/lang.c:553
+#: src/lang.c:554
 msgid	"Newsgroup does not exist on this server"
 msgstr	"Gruppi pole sellel serveril"
 
-#: src/lang.c:554
+#: src/lang.c:555
 #, c-format
 msgid	"Group %s not found in active file"
 msgstr	"Gruppi %s pole aktiivsete gruppide failis"
 
-#: src/lang.c:555
+#: src/lang.c:556
 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:556
+#: src/lang.c:557
 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:557
+#: src/lang.c:558
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2397,40 +2374,40 @@ msgstr	"# NNTP-server -> newsrc teisendu
 	"#   news.ka.nu    /tmp/nrc-nu      kanu    nu\n"
 	"#\n"
 
-#: src/lang.c:564
+#: src/lang.c:565
 msgid	"Only"
 msgstr	"Ainult"
 
-#: src/lang.c:565
+#: src/lang.c:566
 #, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	"Võti pole lubatud. Kasutage kompileerimisel %s."
 
-#: src/lang.c:566
+#: src/lang.c:567
 msgid	"Options Menu"
 msgstr	"Omaduste menüü"
 
-#: src/lang.c:569
+#: src/lang.c:570
 #, c-format
 msgid	"Error in regex: %s at pos. %d '%s'"
 msgstr	"Viga regulaaravaldises: %s positsioonil %d '%s'"
 
-#: src/lang.c:570
+#: src/lang.c:571
 #, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	"Viga regulaaravaldises: pcre sisemine viga %d"
 
-#: src/lang.c:571
+#: src/lang.c:572
 #, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	"Viga regulaaravaldises: uurimiseks - pcre sisemine viga %s"
 
-#: src/lang.c:572
+#: src/lang.c:573
 msgid	"Post a followup..."
 msgstr	"Postita vastus..."
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:574
+#: src/lang.c:575
 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"
@@ -2438,134 +2415,130 @@ msgstr	"Artikli postitamisel tekkis viga
 	"või muul viisil kõrvaldatav, võite artikli salvestada hiljem postitamiseks\n"
 	"ja ^O käsuga hiljem postitada.\n"
 
-#: src/lang.c:577
+#: src/lang.c:578
 msgid	"Posted articles history"
 msgstr	"Postitatud artiklite ajalugu"
 
-#: src/lang.c:578
+#: src/lang.c:579
 #, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	"Postita gruppidesse [%s]> "
 
-#: src/lang.c:579
+#: src/lang.c:580
 msgid	"-- post processing started --"
 msgstr	"-- lõpptöötlus alustas --"
 
-#: src/lang.c:580
+#: src/lang.c:581
 msgid	"-- post processing completed --"
 msgstr	"-- lõpptöötlus lõpetas --"
 
-#: src/lang.c:581
+#: src/lang.c:582
 #, c-format
 msgid	"Post subject [%s]> "
 msgstr	"Postituse teema [%s]> "
 
-#: src/lang.c:582
+#: src/lang.c:583
 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:583
+#: src/lang.c:584
 msgid	"Posting article..."
 msgstr	"Postitan artiklit..."
 
-#: src/lang.c:584
+#: src/lang.c:585
 #, 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:585
+#: src/lang.c:586
 #, c-format
 msgid	"Hot %s"
 msgstr	"Kuum %s"
 
-#: src/lang.c:586
+#: src/lang.c:587
 #, c-format
 msgid	"Tagged %s"
 msgstr	"Märgitud %s"
 
-#: src/lang.c:587
+#: src/lang.c:588
 #, c-format
 msgid	"Untagged %s"
 msgstr	"Märkimata %s"
 
-#: src/lang.c:588
+#: src/lang.c:589
 msgid	"Processing mail messages marked for deletion."
 msgstr	"Töötlen kirju, mis on kustutamiseks märgitud."
 
-#: src/lang.c:589
+#: src/lang.c:590
 msgid	"Processing saved articles marked for deletion."
 msgstr	"Töötlen salvestatud ja kustutamiseks märgitud artikleid."
 
-#: src/lang.c:590
+#: src/lang.c:591
 #, 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:591
+#: src/lang.c:592
 msgid	"Article unchanged, abort mailing?"
 msgstr	"Artiklit ei ole muudetud, katkestan saatmise?"
 
-#: src/lang.c:592
+#: src/lang.c:593
 #, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	"Kas soovite näha postitamisootel artikleid (%d)?"
 
-#: src/lang.c:594
+#: src/lang.c:595
 msgid	"Add quick kill filter?"
 msgstr	"Lisan kiirsurmamise filtri?"
 
-#: src/lang.c:595
+#: src/lang.c:596
 msgid	"Add quick selection filter?"
 msgstr	"Lisan kiirvaliku filtri?"
 
-#: src/lang.c:596
+#: src/lang.c:597
 msgid	"Do you really want to quit?"
 msgstr	"Kas te tõesti soovite väljuda?"
 
-#: src/lang.c:597
+#: src/lang.c:598
 #, 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:598
+#: src/lang.c:599
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	"Teil on siin grupis märgitud artikleid - väljun siiski?"
 
-#: src/lang.c:599
+#: src/lang.c:600
 #, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	"%s=välju, %s=toimeta, %s=ootele: "
 
-#: src/lang.c:600
+#: src/lang.c:601
 #, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	"%s=välju %s=toimeta %s=salvesta surmamise kirjeldus: "
 
-#: src/lang.c:601
+#: src/lang.c:602
 #, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	"%s=välju %s=toimeta %s=salvesta valiku kirjeldus: "
 
-#: src/lang.c:602
+#: src/lang.c:603
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	"Kas te tõesti soovite seadeid salvestamata väljuda?"
 
-#: src/lang.c:605
+#: src/lang.c:606
 msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	"Vigane vahemik - lubatud on '0-9.$' näiteks 1-$"
 
-#: src/lang.c:606
+#: src/lang.c:607
 msgid	"Do you want to abort this operation?"
 msgstr	"Kas soovite seda operatsiooni katkestada?"
 
-#: src/lang.c:607
+#: src/lang.c:608
 msgid	"Do you want to exit tin immediately?"
 msgstr	"Kas soovite viivitamata tinist väljuda?"
 
-#: src/lang.c:608
-msgid	"Read response> "
-msgstr	"Loen vastust> "
-
 #: src/lang.c:609
 msgid	"Reading ('q' to quit)..."
 msgstr	"Loen ('q' katkestamiseks)..."
@@ -2667,11 +2640,6 @@ msgstr	"Vastused edastatakse järgnevates
 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:634
-#, c-format
-msgid	"RespNo %4d of %4d"
-msgstr	"Vastus %4d : %4d"
-
 #: src/lang.c:635
 msgid	"Press <RETURN> to continue..."
 msgstr	"Jätkamiseks vajutage <RETURN>..."
@@ -3456,8 +3424,8 @@ msgstr	"\n"
 	"enüü.\n"
 
 #: src/lang.c:843
-msgid	"  -D       debug mode 1=NNTP 2=ALL"
-msgstr	"  -D       silumismood 1=NNTP 2=KÕIK"
+msgid	"  -D mode  debug mode"
+msgstr	""
 
 #: src/lang.c:847
 msgid	"Read carefully!\n"
@@ -3719,8 +3687,8 @@ msgstr	"Ei leia NNTP serveri nime"
 
 #: src/lang.c:944
 #, c-format
-msgid	"Connecting to %s:%d..."
-msgstr	"Loon ühendust serveriga %s:%d..."
+msgid	"Connecting to %s:%u..."
+msgstr	"Loon ühendust serveriga %s:%u..."
 
 #: src/lang.c:945
 msgid	"Disconnecting from server...\n"
@@ -4041,7 +4009,7 @@ msgstr	"Terminal ei toeta värve"
 msgid	"Trying %s"
 msgstr	"Proovin %s"
 
-#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:296
+#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:304
 msgid	"None"
 msgstr	"Pole"
 
@@ -4432,9 +4400,9 @@ msgstr	"Filtreerimise seaded"
 #: src/lang.c:2020 src/lang.c:2027 src/lang.c:2034 src/lang.c:2041 src/lang.c:2048
 #: src/lang.c:2056 src/lang.c:2072 src/lang.c:2079 src/lang.c:2086 src/lang.c:2093
 #: src/lang.c:2099 src/lang.c:2105 src/lang.c:2122 src/lang.c:2134 src/lang.c:2168
-#: src/lang.c:2221 src/lang.c:2228 src/lang.c:2234 src/lang.c:2259 src/lang.c:2276
-#: src/lang.c:2329 src/lang.c:2365 src/lang.c:2385 src/lang.c:2420 src/lang.c:2430
-#: src/lang.c:2455 src/lang.c:2471 src/lang.c:2490 src/lang.c:2503
+#: src/lang.c:2221 src/lang.c:2235 src/lang.c:2241 src/lang.c:2266 src/lang.c:2283
+#: src/lang.c:2336 src/lang.c:2372 src/lang.c:2392 src/lang.c:2427 src/lang.c:2437
+#: src/lang.c:2462 src/lang.c:2478 src/lang.c:2497 src/lang.c:2510
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"<TÜHIK> lülitab, <CR> seab, <ESC> katkestab."
 
@@ -5895,19 +5863,33 @@ msgstr	"MM_NETWORK_CHARSET"
 msgid	"# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr	"# Postituste MIME (Content-Type) päises kasutatav kooditabel.\n"
 
+#: src/lang.c:2227
+#, fuzzy
+msgid	"Enter local charset name (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:2228
+#, fuzzy
+msgid	"MM_LOCAL_CHARSET"
+msgstr	"MM_CHARSET"
+
 #: src/lang.c:2229
+msgid	"# Charset supported locally.\n"
+msgstr	""
+
+#: src/lang.c:2236
 msgid	"Mailbox format"
 msgstr	"Kirjade kataloog"
 
-#: src/lang.c:2230
+#: src/lang.c:2237
 msgid	"# Format of the mailbox.\n"
 msgstr	"# Kirjade kataloog.\n"
 
-#: src/lang.c:2235
+#: src/lang.c:2242
 msgid	"MIME encoding in news messages"
 msgstr	"Kasuta artiklites MIME kodeerimist"
 
-#: src/lang.c:2236
+#: src/lang.c:2243
 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"
 	"# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n"
@@ -5919,15 +5901,15 @@ msgstr	"# Vajadusel kirjade ja artiklite
 	"# Base64 on kasulik enamuse 8 bitistele ida-aasia, kreeka ja vene\n"
 	"# kooditabelitele, kus kasutatakse palju 8 bitiseid sümboleid.\n"
 
-#: src/lang.c:2244 src/lang.c:2265
+#: src/lang.c:2251 src/lang.c:2272
 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:2245
+#: src/lang.c:2252
 msgid	"Use 8bit characters in news headers"
 msgstr	"Kasuta artikli päises 8bit tähti"
 
-#: src/lang.c:2246
+#: src/lang.c:2253
 msgid	"# If ON, 8bit characters in news headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in header are encoded regardless of the value of this\n"
@@ -5937,28 +5919,28 @@ msgstr	"# Kui väärtus on ON, 8bit sümbol
 	"# 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:2253
+#: src/lang.c:2260
 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:2254
+#: src/lang.c:2261
 msgid	"View post-processed files"
 msgstr	"Vaata töödeldud faile"
 
-#: src/lang.c:2255
+#: src/lang.c:2262
 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:2260
+#: src/lang.c:2267
 msgid	"MIME encoding in mail messages"
 msgstr	"Kasuta kirjades MIME kodeerimist"
 
-#: src/lang.c:2266
+#: src/lang.c:2273
 msgid	"Use 8bit characters in mail headers"
 msgstr	"Kasuta kirja päises 8bit tähti"
 
-#: src/lang.c:2267
+#: src/lang.c:2274
 msgid	"# If ON, 8bit characters in mail headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in headers are encoded regardless of the value of this "
@@ -5973,25 +5955,25 @@ msgstr	"# Kui väärtus on ON, 8bit sümbol
 	"# 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:2277
+#: src/lang.c:2284
 msgid	"Strip blanks from ends of lines"
 msgstr	"Eemalda tühikud realõppudest"
 
-#: src/lang.c:2278
+#: src/lang.c:2285
 msgid	"# If ON strip blanks from ends of lines for faster display on slow "
 	"terminals.\n"
 msgstr	"# Kui väärtus on ON, eemalda aeglaste terminalise töö kiirendamiseks\n"
 	"# realõppudest tühikud.\n"
 
-#: src/lang.c:2283
+#: src/lang.c:2290
 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:2284
+#: src/lang.c:2291
 msgid	"Transliteration"
 msgstr	"Transliteratsioon"
 
-#: src/lang.c:2285
+#: src/lang.c:2292
 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"
@@ -6000,144 +5982,144 @@ msgstr	"# Kui väärtus on ON, kasuta //TR
 	"# ei saa esitada soovitavas kooditabelis, võib seda esitada kasutades\n"
 	"# üht või enamat sarnast sümbolit.\n"
 
-#: src/lang.c:2292
+#: src/lang.c:2299
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"Saada kasutajale automaatselt koopia. <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:2293
+#: src/lang.c:2300
 msgid	"Send you a cc automatically"
 msgstr	"Saada automaatselt koopia"
 
-#: src/lang.c:2294
+#: src/lang.c:2301
 msgid	"# If ON automatically put your name in the Cc: field when mailing an article\n"
 msgstr	"# Kui väärtus on ON, pane kasutaja nimi artikli saatmisel automaatselt\n"
 	"# Cc: reale\n"
 
-#: src/lang.c:2298
+#: src/lang.c:2305
 msgid	"Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"Saada automaatselt pimekoopia. <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:2299
+#: src/lang.c:2306
 msgid	"Send you a blind cc automatically"
 msgstr	"Saada automaatselt pimekoopia"
 
-#: src/lang.c:2300
+#: src/lang.c:2307
 msgid	"# If ON automatically put your name in the Bcc: field when mailing an "
 	"article\n"
 msgstr	"# Kui väärtus on ON, pane kasutaja nimi artikli saatmisel automaatselt\n"
 	"# Bcc: väljale\n"
 
-#: src/lang.c:2304
+#: src/lang.c:2311
 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:2305
+#: src/lang.c:2312
 msgid	"Spamtrap warning address parts"
 msgstr	"Rämpsposti hoiatus aadressi osadele"
 
-#: src/lang.c:2306
+#: src/lang.c:2313
 msgid	"# A comma-delimited list of address-parts you want to be warned\n"
 	"# about when trying to reply by email.\n"
 msgstr	"# Komaga eraldatud aadresside komponentide loend, mille kasutamisel\n"
 	"# tuleks kasutajat hoiatada.\n"
 
-#: src/lang.c:2311
+#: src/lang.c:2318
 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:2312
+#: src/lang.c:2319
 msgid	"No. of days a filter entry is valid"
 msgstr	"Filtri kehtivus päevades"
 
-#: src/lang.c:2313
+#: src/lang.c:2320
 msgid	"# Number of days a short term filter will be active\n"
 msgstr	"# lühiajalise filtri kehtivus päevades\n"
 
-#: src/lang.c:2317
+#: src/lang.c:2324
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	"Lisage postitatud artikkel filtrisse. <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:2318
+#: src/lang.c:2325
 msgid	"Add posted articles to filter"
 msgstr	"Lisage postitatud artikkel filtrile"
 
-#: src/lang.c:2319
+#: src/lang.c:2326
 msgid	"# If ON add posted articles which start a new thread to filter for\n"
 	"# highlighting follow-ups\n"
 msgstr	"# Kui väärtus on ON, lisa postitatud artiklid, mis alustavad uut teemat,\n"
 	"# filtrile, mis märgistab vastuseid\n"
 
-#: src/lang.c:2323
+#: src/lang.c:2330
 msgid	"The directory where articles/threads are to be saved in mailbox format."
 msgstr	"Kataloog, kuhu artikleid/teemasid salvestatakse kirjaformaadis."
 
-#: src/lang.c:2324
+#: src/lang.c:2331
 msgid	"Mail directory"
 msgstr	"Kirjade kataloog"
 
-#: src/lang.c:2325
+#: src/lang.c:2332
 msgid	"# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr	"# (-m) kataloog, kuhu artikleid/teemasid salvestatakse kirjaformaadis\n"
 
-#: src/lang.c:2330
+#: src/lang.c:2337
 msgid	"Save articles in batch mode (-S)"
 msgstr	"Salvesta artiklid pakettmoodis (-S)"
 
-#: src/lang.c:2331
+#: src/lang.c:2338
 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	"# 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:2336
+#: src/lang.c:2343
 msgid	"The directory where you want articles/threads saved."
 msgstr	"Kataloog, kuhu te soovite artikleid salvestada."
 
-#: src/lang.c:2337
+#: src/lang.c:2344
 msgid	"Directory to save arts/threads in"
 msgstr	"Kataloog artiklite salvestamiseks"
 
-#: src/lang.c:2338
+#: src/lang.c:2345
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	"# Kataloog, kuhu salvestatakse artiklid/teemad\n"
 
-#: src/lang.c:2342
+#: src/lang.c:2349
 msgid	"Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> sets."
 msgstr	"Salvesta artiklid Archive-name: päiserea järgi. <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:2343
+#: src/lang.c:2350
 msgid	"Use Archive-name: header for save"
 msgstr	"Kasuta salvestamisel Archive-name:"
 
-#: src/lang.c:2344
+#: src/lang.c:2351
 msgid	"# If ON articles/threads with Archive-name: in mail header will\n"
 	"# be automatically saved with the Archive-name & part/patch no.\n"
 msgstr	"# Kui väärtus on ON, salvestatakse artiklid/teemad, mis omavad päiserida\n"
 	"# Archive-name:, automaatselt selle reaga määratud nime ja osa numbriga.\n"
 
-#: src/lang.c:2349
+#: src/lang.c:2356
 msgid	"Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 	"cancels."
 msgstr	"Märgi salvestatud artiklid loetuks. <TÜHIK> lülitab, <CR> seab, <ESC> "
 	"katkestab."
 
-#: src/lang.c:2350
+#: src/lang.c:2357
 msgid	"Mark saved articles/threads as read"
 msgstr	"Märgi salvestatud artiklid loetuks"
 
-#: src/lang.c:2351
+#: src/lang.c:2358
 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:2355
+#: src/lang.c:2362
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	"Teosta salvestatud artiklitel järeltöötlemist (nt. lisade eraldamist)."
 
-#: src/lang.c:2356
+#: src/lang.c:2363
 msgid	"Post process saved articles"
 msgstr	"Salvestatud artikl. järeltöötlemine"
 
-#: src/lang.c:2357
+#: src/lang.c:2364
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no\n"
@@ -6149,103 +6131,103 @@ msgstr	"# Teosta salvestatud artiklite j
 	"#   1 = jah\n"
 	"#   2 = eralda ainult shelli arhiivid (shar)\n"
 
-#: src/lang.c:2366
+#: src/lang.c:2373
 msgid	"Process only unread articles"
 msgstr	"Töötle ainult lugemata artikleid"
 
-#: src/lang.c:2367
+#: src/lang.c:2374
 msgid	"# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n"
 msgstr	"# Kui väärtus on ON, salvesta/trüki/torusse/saada lugemata artikleid\n"
 	"# (eeldatakse märgitud artikleid).\n"
 
-#: src/lang.c:2372
+#: src/lang.c:2379
 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:2373
+#: src/lang.c:2380
 msgid	"Print all headers when printing"
 msgstr	"Trükkimisel trüki kõik päised"
 
-#: src/lang.c:2374
+#: src/lang.c:2381
 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:2378
+#: src/lang.c:2385
 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:2379
+#: src/lang.c:2386
 msgid	"Printer program with options"
 msgstr	"Trükikäsk koos võtmetega"
 
-#: src/lang.c:2380
+#: src/lang.c:2387
 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:2386
+#: src/lang.c:2393
 msgid	"Force redraw after certain commands"
 msgstr	"Värskenda ekraani peale käske"
 
-#: src/lang.c:2387
+#: src/lang.c:2394
 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:2391
+#: src/lang.c:2398
 msgid	"Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"Käivita tekstitoimeti etteantud real. <TÜHIK> lülitab, <CR> seab, <ESC> "
 	"katkestab."
 
-#: src/lang.c:2392
+#: src/lang.c:2399
 msgid	"Start editor with line offset"
 msgstr	"Käivita tekstitoimeti reanumbril"
 
-#: src/lang.c:2393
+#: src/lang.c:2400
 msgid	"# If ON editor will be started with cursor offset into the file\n"
 	"# otherwise the cursor will be positioned at the first line\n"
 msgstr	"# Kui väärtus on ON, käivitatakse tekstitoimeti kursori paigutamisega\n"
 	"# vastavale reale. Vastasel korral positsioneeritakse kursor esimesele reale\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2405
 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:2399
+#: src/lang.c:2406
 msgid	"Invocation of your editor"
 msgstr	"Teie tekstitoimeti"
 
-#: src/lang.c:2400
+#: src/lang.c:2407
 #, c-format
 msgid	"# Format of editor line including parameters\n"
 	"# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr	"# Tekstitoimeti rea formaat koos parameetritega\n"
 	"# %%E Toimeti  %%F Failinimi  %%N Reanumber\n"
 
-#: src/lang.c:2405
+#: src/lang.c:2412
 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:2406
+#: src/lang.c:2413
 msgid	"External inews"
 msgstr	"Väline inews"
 
-#: src/lang.c:2407
+#: src/lang.c:2414
 msgid	"# If --internal use the built in mini inews for posting via NNTP\n"
 	"# otherwise use an external inews program\n"
 msgstr	"# Kui on --internal, kasuta NNTP postitustel sisseehitatud inews käsku\n"
 	"# muidu kasuta välist inews programmi\n"
 
-#: src/lang.c:2411
+#: src/lang.c:2418
 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:2412
+#: src/lang.c:2419
 msgid	"Invocation of your mail command"
 msgstr	"Teie e-posti käsk"
 
-#: src/lang.c:2413
+#: src/lang.c:2420
 #, c-format
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
@@ -6256,11 +6238,11 @@ msgstr	"# e-posti saatja käsurea formaat
 	"# näiteks. kasutada saatjana elm programmi:    elm -s \"%%S\" \"%%T\" < %%F\n"
 	"# näiteks. elm interaktiivses moodis      :    elm -i %%F -s \"%%S\" \"%%T\"\n"
 
-#: src/lang.c:2421
+#: src/lang.c:2428
 msgid	"Use interactive mail reader"
 msgstr	"Kasuta interaktiivset e-posti"
 
-#: src/lang.c:2422
+#: src/lang.c:2429
 msgid	"# Interactive mailreader\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no interactive mailreader\n"
@@ -6272,58 +6254,58 @@ msgstr	"# Interaktiivne e-posti programm
 	"#   1 = kasuta interaktiivset e-posti programmi koos päistega\n"
 	"#   2 = kasuta interaktiivset e-posti programmi päisteta\n"
 
-#: src/lang.c:2431
+#: src/lang.c:2438
 msgid	"Remove ~/.article after posting"
 msgstr	"Eemalda ~/.article peale postitust"
 
-#: src/lang.c:2432
+#: src/lang.c:2439
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	"# Kui väärtus on ON, kustuta  ~/.article peale postitust.\n"
 
-#: src/lang.c:2436
+#: src/lang.c:2443
 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:2437
+#: src/lang.c:2444
 msgid	"Filename for posted articles"
 msgstr	"Failinimi postitatud artiklitele"
 
-#: src/lang.c:2438
+#: src/lang.c:2445
 msgid	"# Filename where to keep all postings (default posted)\n"
 	"# If no filename is set then postings will not be saved\n"
 msgstr	"# Failinimi, kus hoida kõiki postitusi (vaikimisi posted)\n"
 	"# Kui nime pole, siis postitusi ei salvestata\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2450
 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:2444
+#: src/lang.c:2451
 msgid	"Keep failed arts in ~/dead.articles"
 msgstr	"Vigased artiklid ~/dead.articles"
 
-#: src/lang.c:2445
+#: src/lang.c:2452
 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:2449
+#: src/lang.c:2456
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	"Kas te soovite eemaldada tellimata grupid .newsrc failist"
 
-#: src/lang.c:2450
+#: src/lang.c:2457
 msgid	"No unsubscribed groups in newsrc"
 msgstr	"newsrcs ainult tellitud grupid"
 
-#: src/lang.c:2451
+#: src/lang.c:2458
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	"# Kui väärtus on ON, eemalda tellimata grupid newsrc failist\n"
 
-#: src/lang.c:2456
+#: src/lang.c:2463
 msgid	"Remove bogus groups from newsrc"
 msgstr	"Eemalda olematud grupid"
 
-#: src/lang.c:2457
+#: src/lang.c:2464
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = keep\n"
@@ -6335,56 +6317,56 @@ msgstr	"# Mida teha olematute gruppidega
 	"#   1 = Eemalda\n"
 	"#   2 = Märgi valikuekraanil lipuga D\n"
 
-#: src/lang.c:2465
+#: src/lang.c:2472
 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:2466
+#: src/lang.c:2473
 msgid	"Interval in secs to reread active"
 msgstr	"Aktiivsete faili lugemise intervall"
 
-#: src/lang.c:2467
+#: src/lang.c:2474
 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:2472
+#: src/lang.c:2479
 msgid	"Reconnect to server automatically"
 msgstr	"Taasta automaatselt NNTP ühendus"
 
-#: src/lang.c:2473
+#: src/lang.c:2480
 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:2477
+#: src/lang.c:2484
 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:2478
+#: src/lang.c:2485
 msgid	"Cache NNTP overview files locally"
 msgstr	"Puhverda NNTP overview lokaalselt"
 
-#: src/lang.c:2479
+#: src/lang.c:2486
 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:2483
+#: src/lang.c:2490
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	"Sisestage vormingusõne. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:2484
+#: src/lang.c:2491
 msgid	"Format string for display of dates"
 msgstr	"Kuupäevade esitamise vormingusõne"
 
-#: src/lang.c:2485
+#: src/lang.c:2492
 msgid	"# Format string for date representation\n"
 msgstr	"# Vormingusõne kuupäevade esitamiseks\n"
 
-#: src/lang.c:2491
+#: src/lang.c:2498
 msgid	"Unicode normalization form"
 msgstr	"Unikoodi normaliseerimise kuju"
 
-#: src/lang.c:2492
+#: src/lang.c:2499
 msgid	"# Unicode normalization form\n"
 	"# Possible values are (the default is marked with *):\n"
 	"#   0 = None\n"
@@ -6400,49 +6382,54 @@ msgstr	"# Unikoodi normaliseerimine\n"
 	"#   3 = NFC\n"
 	"#   4 = NFD\n"
 
-#: src/lang.c:2504
+#: src/lang.c:2511
 msgid	"Render BiDi"
 msgstr	"Renderda BiDi"
 
-#: src/lang.c:2505
+#: src/lang.c:2512
 msgid	"# If ON, bi-directional text is rendered by tin\n"
 msgstr	"# Kui väärtus on ON, renderdab tin mitmesuunalist (BiDi) teksti\n"
 
-#: src/misc.c:3693
+#: src/misc.c:3697
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\") %s %s\n"
 msgstr	"Versioon: %s %s väljalase %s (\"%s\") %s %s\n"
 
-#: src/misc.c:3696
+#: src/misc.c:3700
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\")\n"
 msgstr	"Versioon: %s %s väljalase %s (\"%s\")\n"
 
-#: src/newsrc.c:430
+#: src/newsrc.c:436
 msgid	"Unreachable?\n"
 msgstr	"Kättesaamatu?\n"
 
-#: src/nntplib.c:816
+#: src/nntplib.c:818
 #, c-format
 msgid	"\n"
 	"Server timed out, trying reconnect # %d\n"
 msgstr	"\n"
 	"Ühendus serveriga aegus, proovin taastada, katse %d\n"
 
-#: src/nntplib.c:834 src/nntplib.c:1644
+#: src/nntplib.c:836 src/nntplib.c:1708
 msgid	"Rejoin current group\n"
 msgstr	"Taasühinen jooksva grupiga\n"
 
-#: src/nntplib.c:841 src/nntplib.c:1651
+#: src/nntplib.c:844 src/nntplib.c:1716
 #, c-format
 msgid	"Read (%s)\n"
 msgstr	"Lugesin (%s)\n"
 
-#: src/nntplib.c:843
+#: src/nntplib.c:846
 #, c-format
 msgid	"Resend last command (%s)\n"
 msgstr	"Saada viimane käsk uuesti (%s)\n"
 
+#. as a last resort check if post was mentioned
+#: src/nntplib.c:1131
+msgid	"CAPABILITIES did not announce any of READER, MODE-READER, POST"
+msgstr	""
+
 #.
 #. * TODO: - store a hash value of the entire motd in the server-rc
 #. *         and only if it differs from the old value display the
@@ -6450,23 +6437,23 @@ msgstr	"Saada viimane käsk uuesti (%s)\n
 #. *       - use some sort of pager?
 #. *       - -> lang.c
 #.
-#: src/nntplib.c:1783
+#: src/nntplib.c:1855
 msgid	"MOTD: "
 msgstr	"MOTD: "
 
-#: src/nrctbl.c:170
+#: src/nrctbl.c:173
 #, c-format
 msgid	"couldn't expand %s\n"
 msgstr	"ei saa laiendada %s\n"
 
-#: src/post.c:1134
+#: src/post.c:1144
 #, c-format
 msgid	"Line %d is longer than 998 octets and should be folded, but\n"
 	"encoding is neither set to %s nor to %s\n"
 msgstr	"Rida %d on pikem, kui 998 sümbolit ja tuleks poolitada, aga kodeering\n"
 	"pole ei %s ega %s\n"
 
-#: src/post.c:1139
+#: src/post.c:1149
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n"
@@ -6475,37 +6462,36 @@ msgstr	"Rida %d on pikem, kui 998 sümbol
 	"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/post.c:1141
+#: src/post.c:1151
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is not set to %s\n"
 msgstr	"Rida %d on pikem, kui 998 sümbolit ja tuleks poolitada, aga kodeering\n"
 	"pole %s\n"
 
-#: src/post.c:1960
+#: src/post.c:1970
 #, c-format
 msgid	"Posting: %.*s ..."
 msgstr	"Postitan: %.*s ..."
 
 #. Check if okay to read
-#: src/read.c:191
+#: src/read.c:190
 msgid	"Aborting read, please wait..."
 msgstr	"Katkestan lugemise, palun oodake..."
 
-#: src/read.c:338
+#: src/read.c:337
 msgid	"Aborted read\n"
 msgstr	"Katkestatud lugemine\n"
 
-#: src/read.c:394
+#: src/read.c:393
 msgid	"Draining\n"
 msgstr	"Tühjendan\n"
 
-#. Don't hash the initial '<'
-#: src/refs.c:251
+#: src/refs.c:248
 msgid	"unchanged"
 msgstr	"muutmata"
 
-#: src/refs.c:609
+#: src/refs.c:549
 msgid	"[- Unavailable -]"
 msgstr	"[- Pole kasutatav -]"
 
@@ -6513,7 +6499,7 @@ msgstr	"[- Pole kasutatav -]"
 #. * preamble
 #. * TODO: -> lang.c
 #.
-#: src/rfc2047.c:1201
+#: src/rfc2047.c:1270
 #, c-format
 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 modified\n"
@@ -6524,7 +6510,7 @@ msgstr	"See teade on koostatud kasutades
 	"vormingut kasutama ja järgnev tekst võib olla kummaline.\n"
 	"\n"
 
-#: src/save.c:964
+#: src/save.c:966
 msgid	"bytes"
 msgstr	"baiti"
 
@@ -6536,22 +6522,26 @@ msgstr	"lugemata"
 msgid	"all"
 msgstr	"kõik"
 
-#: src/select.c:549 src/select.c:551
+#: src/select.c:553 src/select.c:555
 msgid	" R"
 msgstr	" L"
 
-#. TODO: use tin global 'homedir' instead? or even rcdir?
-#: src/xface.c:91
+#: src/xface.c:70
+#, fuzzy
+msgid	"Can't run slrnface: Not running in a xterm."
+msgstr	"Slrnface ei saa käivitada: ei õnnestu konstrueerida fifo nime."
+
+#: src/xface.c:82 src/xface.c:93 src/xface.c:102
 #, c-format
 msgid	"Can't run slrnface: Environment variable %s not found."
 msgstr	"Slrnface ei saa käivitada: Keskkonnamuutuja %s puudub."
 
-#: src/xface.c:99 src/xface.c:131
+#: src/xface.c:111 src/xface.c:143
 #, c-format
 msgid	"Can't run slrnface: failed to create %s"
 msgstr	"Slrnface ei saa käivitada: %s loomine ebaõnnestus"
 
-#: src/xface.c:109
+#: src/xface.c:121
 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"
 	"the pipe is deleted right after it has been opened by both processes.\n"
@@ -6573,16 +6563,32 @@ msgstr	"Seda kataloogi kasutatakse slrnf
 	"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/xface.c:123
+#: src/xface.c:135
 msgid	"Can't run slrnface: couldn't construct fifo name."
 msgstr	"Slrnface ei saa käivitada: ei õnnestu konstrueerida fifo nime."
 
-#: src/xface.c:162
+#: src/xface.c:174
 #, c-format
 msgid	"Slrnface abnormally exited, code %d."
 msgstr	"Slrnface lõpetas veaga, kood %d."
 
-#: src/xface.c:206
+#: src/xface.c:218
 #, c-format
 msgid	"Slrnface failed: %s."
 msgstr	"Slrnface ebaõnnestus: %s."
+
+#~ msgid	"%d Bad overview record %d (%d fields)"
+#~ msgstr	"%d Vigane overview kirje %d (%d välja)"
+
+#~ msgid	"# include extra headers\n"
+#~ msgstr	"# lisa täiendavaid päiseid\n"
+
+#~ msgid	"# in *sources* set post process type to shar only\n"
+#~ msgstr	"# *tekstidel* sea järeltöötlemise tüübiks ainult shar\n"
+
+#~ msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
+#~ msgstr	"# *binaarfailidel* sea täielik järeltöötlemine, kuid mitte TeX2ISO "
+#~ 	"teisendus,\n"
+
+#~ msgid	"# remove tmp files and set Followup-To: poster\n"
+#~ msgstr	"# kustuta ajutised failid ja sea Followup-To: postitaja\n"
Binary files tin-1.9.2/po/fr.gmo and tin-1.9.3/po/fr.gmo differ
diff -Nurp tin-1.9.2/po/fr.po tin-1.9.3/po/fr.po
--- tin-1.9.2/po/fr.po	2007-02-01 14:02:44.000000000 +0100
+++ tin-1.9.3/po/fr.po	2008-05-06 18:46:07.000000000 +0200
@@ -4,7 +4,7 @@
 msgid	""
 msgstr	"Project-Id-Version: 1.8.0\n"
 	"Report-Msgid-Bugs-To: \n"
-	"POT-Creation-Date: 2007-02-01 14:02+0100\n"
+	"POT-Creation-Date: 2008-05-06 18:44+0200\n"
 	"PO-Revision-Date: 2004-11-17 00:50+0100\n"
 	"Last-Translator: Matt Anton <tin@syrius.org\n"
 	"Language-Team: French <tin@syrius.org>\n"
@@ -12,288 +12,260 @@ msgstr	"Project-Id-Version: 1.8.0\n"
 	"Content-Type: text/plain; charset=ISO-8859-15\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1545
-#, c-format
-msgid	"%d Bad overview record (%d fields) '%s'"
-msgstr	"%d Mauvais overview (%d champs) '%s'"
-
-#: src/attrib.c:649
+#: src/attrib.c:700
 #, c-format
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	"# Ne pas éditer ce commentaire\n"
 	"#\n"
 
-#: src/attrib.c:650
+#: src/attrib.c:701
 #, c-format
-msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
+msgid	"#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	"#  scope=TERME (pe. alt.*,!alt.bin*) [obligatoire]\n"
 
-#: src/attrib.c:651
+#: src/attrib.c:702
 #, c-format
-msgid	"#  maildir=STRING (ie. ~/Mail)\n"
+msgid	"#  maildir=STRING (eg. ~/Mail)\n"
 msgstr	"#  maildir=TERME (pe. ~/Mail)\n"
 
-#: src/attrib.c:652
+#: src/attrib.c:703
 #, c-format
-msgid	"#  savedir=STRING (ie. ~user/News)\n"
+msgid	"#  savedir=STRING (eg. ~user/News)\n"
 msgstr	"#  savedir=TERME (pe. ~user/News)\n"
 
-#: src/attrib.c:653
+#: src/attrib.c:704
 #, c-format
-msgid	"#  savefile=STRING (ie. =linux)\n"
+msgid	"#  savefile=STRING (eg. =linux)\n"
 msgstr	"#  savefile=TERME (pe. =linux)\n"
 
-#: src/attrib.c:654
+#: src/attrib.c:705
 #, c-format
-msgid	"#  sigfile=STRING (ie. $var/sig)\n"
+msgid	"#  sigfile=STRING (eg. $var/sig)\n"
 msgstr	"#  sigfile=TERME (pe. $var/sig)\n"
 
-#: src/attrib.c:655
+#: src/attrib.c:706
 #, c-format
 msgid	"#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr	"#  organization=TERME (si commence par '/' lire dans fichier)\n"
 
-#: src/attrib.c:656
+#: src/attrib.c:707
 #, c-format
 msgid	"#  followup_to=STRING\n"
 msgstr	"#  followup_to=TERME\n"
 
-#: src/attrib.c:657
+#: src/attrib.c:708
 #, c-format
-msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
+msgid	"#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr	"#  mailing_list=TERME (pe. majordomo@example.org)\n"
 
-#: src/attrib.c:658
+#: src/attrib.c:709
 #, c-format
-msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
+msgid	"#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr	"#  x_headers=TERME (pe. ~/.tin/extra-headers)\n"
 
-#: src/attrib.c:659
+#: src/attrib.c:710
 #, c-format
-msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
+msgid	"#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr	"#  x_body=TERME (pe. ~/.tin/extra-body-text)\n"
 
-#: src/attrib.c:660
+#: src/attrib.c:711
 #, c-format
 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/attrib.c:661
+#: src/attrib.c:712
 #, c-format
 msgid	"#  news_quote_format=STRING\n"
 msgstr	"#  news_quote_format=TERME\n"
 
-#: src/attrib.c:662
+#: src/attrib.c:713
 #, c-format
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	"#  quote_chars=TERME (%%s, %%S pour les initiales)\n"
 
-#: src/attrib.c:663
+#: src/attrib.c:714
 #, c-format
 msgid	"#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr	"#  mime_types_to_save=TERME (pe. image/*,!image/bmp)\n"
 
-#: src/attrib.c:665
+#: src/attrib.c:716
 #, c-format
 msgid	"#  ispell=STRING\n"
 msgstr	"#  ispell=TERME\n"
 
-#: src/attrib.c:667
+#: src/attrib.c:718
 #, c-format
 msgid	"#  auto_select=ON/OFF\n"
 msgstr	"#  auto_select=ON/OFF\n"
 
-#: src/attrib.c:668
+#: src/attrib.c:719
 #, c-format
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	"#  auto_save=ON/OFF\n"
 
-#: src/attrib.c:669
+#: src/attrib.c:720
 #, c-format
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	"#  batch_save=ON/OFF\n"
 
-#: src/attrib.c:670
+#: src/attrib.c:721
 #, c-format
 msgid	"#  delete_tmp_files=ON/OFF\n"
 msgstr	"#  delete_tmp_files=ON/OFF\n"
 
-#: src/attrib.c:671
+#: src/attrib.c:722
 #, c-format
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	"#  show_only_unread=ON/OFF\n"
 
-#: src/attrib.c:672
+#: src/attrib.c:723
 #, c-format
 msgid	"#  thread_arts=NUM"
 msgstr	"#  thread_arts=NUM"
 
-#: src/attrib.c:679
+#: src/attrib.c:730
 #, c-format
 msgid	"#  thread_perc=NUM\n"
 msgstr	"#  thread_perc=NUM\n"
 
-#: src/attrib.c:680
+#: src/attrib.c:731
 #, c-format
 msgid	"#  show_author=NUM\n"
 msgstr	"#  show_author=NUM\n"
 
-#: src/attrib.c:686
+#: src/attrib.c:737
 #, c-format
 msgid	"#  show_info=NUM\n"
 msgstr	"#  show_info=NUM\n"
 
-#: src/attrib.c:692
+#: src/attrib.c:743
 #, c-format
 msgid	"#  sort_art_type=NUM\n"
 msgstr	"#  sort_art_type=NUM\n"
 
-#: src/attrib.c:710
+#: src/attrib.c:761
 #, c-format
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	"#  sort_threads_type=NUM\n"
 
-#: src/attrib.c:718
+#: src/attrib.c:769
 #, c-format
 msgid	"#  post_proc_type=NUM\n"
 msgstr	"#  post_proc_type=NUM\n"
 
-#: src/attrib.c:723
+#: src/attrib.c:774
 #, c-format
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	"#  quick_kill_scope=TERME (pe. talk.*)\n"
 
-#: src/attrib.c:724
+#: src/attrib.c:775
 #, c-format
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	"#  quick_kill_expire=ON/OFF\n"
 
-#: src/attrib.c:725
+#: src/attrib.c:776
 #, c-format
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	"#  quick_kill_case=ON/OFF\n"
 
-#: src/attrib.c:726
+#: src/attrib.c:777
 #, c-format
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	"#  quick_kill_header=NUM\n"
 
-#: src/attrib.c:727 src/attrib.c:734
+#: src/attrib.c:778 src/attrib.c:785
 #, c-format
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	"#    0=subject (casse sensible) 1=subject (ignore la casse)\n"
 
-#: src/attrib.c:728 src/attrib.c:735
+#: src/attrib.c:779 src/attrib.c:786
 #, c-format
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	"#    2=from (casse sensible) 3=from (ignore la casse)\n"
 
-#: src/attrib.c:729 src/attrib.c:736
+#: src/attrib.c:780 src/attrib.c:787
 #, c-format
 msgid	"#    4=msgid 5=lines\n"
 msgstr	"#    4=msgid 5=lines\n"
 
-#: src/attrib.c:730
+#: src/attrib.c:781
 #, c-format
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	"#  quick_select_scope=TERME\n"
 
-#: src/attrib.c:731
+#: src/attrib.c:782
 #, c-format
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	"#  quick_select_expire=ON/OFF\n"
 
-#: src/attrib.c:732
+#: src/attrib.c:783
 #, c-format
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	"#  quick_select_case=ON/OFF\n"
 
-#: src/attrib.c:733
+#: src/attrib.c:784
 #, c-format
 msgid	"#  quick_select_header=NUM\n"
 msgstr	"#  quick_select_header=NUM\n"
 
-#: src/attrib.c:737
+#: src/attrib.c:788
 #, c-format
 msgid	"#  x_comment_to=ON/OFF\n"
 msgstr	"#  x_comment_to=ON/OFF\n"
 
-#: src/attrib.c:738
+#: src/attrib.c:789
 #, c-format
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	"#  fcc=TERME (pe. =mailbox)\n"
 
-#: src/attrib.c:739
+#: src/attrib.c:790
 #, c-format
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	"#  tex2iso_conv=ON/OFF\n"
 
-#: src/attrib.c:740
+#: src/attrib.c:791
 #, c-format
 msgid	"#  mime_forward=ON/OFF\n"
 msgstr	"#  mime_forward=ON/OFF\n"
 
-#: src/attrib.c:742
+#: src/attrib.c:793
 #, c-format
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	"#  mm_network_charset=encodage_supporté"
 
-#: src/attrib.c:749
+#: src/attrib.c:800
 #, c-format
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	"#  undeclared_charset=TERME (défaut est US-ASCII)\n"
 
-#: src/attrib.c:751
+#: src/attrib.c:802
 #, c-format
 msgid	"#\n"
 	"# Note that it is best to put general (global scoping)\n"
 msgstr	"#\n"
 	"# Notez que placer les entrées générales (portée globale) en premier\n"
 
-#: src/attrib.c:752
+#: src/attrib.c:803
 #, c-format
 msgid	"# entries first followed by group specific entries.\n"
 	"#\n"
 msgstr	"# est préférable, suivies des entrées spécifiques aux groupes.\n"
 	"#\n"
 
-#: src/attrib.c:753
-#, c-format
+#: src/attrib.c:804
+#, fuzzy, c-format
 msgid	"############################################################################\n"
-	"\n"
 msgstr	"############################################################################\n"
-	"\n"
-
-#: src/attrib.c:759
-#, c-format
-msgid	"# include extra headers\n"
-msgstr	"# inclure des en-têtes supplémentaires\n"
-
-#: src/attrib.c:767
-#, c-format
-msgid	"# in *sources* set post process type to shar only\n"
-msgstr	"# dans *sources* choisir le type shar en post-traitement\n"
-
-# TRANSLATION OUTDATED
-#: src/attrib.c:771
-#, fuzzy, c-format
-msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
-msgstr	"# dans *binaries* faire traitement complet,\n"
-
-#: src/attrib.c:772
-#, c-format
-msgid	"# remove tmp files and set Followup-To: poster\n"
-msgstr	"# effaçant les fichiers temporaires et utiliser Followup-To: poster\n"
 
-#: src/cook.c:559
+#: src/cook.c:558
 msgid	"(unknown)"
 msgstr	"(inconnu)"
 
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:597 src/filter.c:605
+#: src/filter.c:592 src/filter.c:600
 msgid	"Removed from the previous rule: "
 msgstr	"Effacé de la règle précédente : "
 
@@ -396,497 +368,502 @@ msgstr	"Article indisponible"
 msgid	"Article undeleted."
 msgstr	"Article non effacé."
 
-#: src/lang.c:66
+#: src/lang.c:65
+#, c-format
+msgid	"Article %4d of %4d"
+msgstr	"Article %4d sur %4d"
+
+#: src/lang.c:67
 msgid	"articles"
 msgstr	"articles"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid	"This is a repost of the following article:"
 msgstr	"C'est un repostage de l'article suivant :"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid	"article"
 msgstr	"article"
 
-#: src/lang.c:69
+#: src/lang.c:70
 msgid	"Article"
 msgstr	"Article"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid	"-- %d %s mailed --"
 msgstr	"-- %d %s envoyé --"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid	" at %s"
 msgstr	" à %s"
 
-#: src/lang.c:72
+#: src/lang.c:73
 #, c-format
 msgid	"%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n"
 msgstr	"%*s[-- %s/%s, encodage en %s%s%s, %d lignes%s%s --]\n"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid	", charset: "
 msgstr	", encodage : "
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid	"%*s[-- Description: %s --]\n"
 msgstr	"%*s[-- Description : %s --]\n"
 
-#: src/lang.c:75
+#: src/lang.c:76
 #, c-format
 msgid	"%d Authentication failed"
 msgstr	"%d Échec de l'authentification"
 
-#: src/lang.c:76
+#: src/lang.c:77
 msgid	"Server expects authentication.\n"
 msgstr	"Le serveur attend une authentification.\n"
 
-#: src/lang.c:77
+#: src/lang.c:78
 msgid	"    Please enter password: "
 msgstr	"    Entrez votre mdp svp : "
 
-#: src/lang.c:78
+#: src/lang.c:79
 msgid	"    Please enter username: "
 msgstr	"    Entrez votre identifiant svp : "
 
-#: src/lang.c:79
+#: src/lang.c:80
 #, c-format
 msgid	"Author search backwards [%s]> "
 msgstr	"Recherche arrière sur l'auteur [%s] > "
 
-#: src/lang.c:80
+#: src/lang.c:81
 #, c-format
 msgid	"Author search forwards [%s]> "
 msgstr	"Recherche avant sur l'auteur [%s] > "
 
-#: src/lang.c:81
+#: src/lang.c:82
 #, c-format
 msgid	"Authorized for user: %s\n"
 msgstr	"Autorisé pour l'utilisateur : %s\n"
 
-#: src/lang.c:82
+#: src/lang.c:83
 #, c-format
 msgid	"Authorization failed for user: %s\n"
 msgstr	"Autorisation refusée pour l'utilisateur : %s\n"
 
-#: src/lang.c:83
+#: src/lang.c:84
 #, c-format
 msgid	"\n"
 	"Autosubscribed to %s"
 msgstr	"\n"
 	"Abonnement auto. à %s"
 
-#: src/lang.c:84
+#: src/lang.c:85
 msgid	"Autosubscribing groups...\n"
 msgstr	"Abonnement auto. aux groupes...\n"
 
-#: src/lang.c:85
+#: src/lang.c:86
 #, 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:87
+#: src/lang.c:88
 #, c-format
 msgid	"Active file corrupt - %s"
 msgstr	"Fichier active corrompu - %s"
 
-#: src/lang.c:88
+#: src/lang.c:89
 #, 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:89
+#: src/lang.c:90
 #, c-format
 msgid	"Unrecognized attribute: %s"
 msgstr	"Attribut non reconnu : %s"
 
-#: src/lang.c:90
+#: src/lang.c:91
 #, c-format
 msgid	"Bad command. Type '%s' for help."
 msgstr	"Mauvaise commande. Tapez '%s' pour l'aide."
 
-#: src/lang.c:92
+#: src/lang.c:93
 msgid	"Base article"
 msgstr	"Article initial"
 
-#: src/lang.c:93
+#: src/lang.c:94
 msgid	"Base article range"
 msgstr	"Champ article initial"
 
-#: src/lang.c:94
+#: src/lang.c:95
 #, c-format
 msgid	"%s: Updating of index files not supported\n"
 msgstr	"%s : Màj des fichiers index non supportée\n"
 
-#: src/lang.c:95
+#: src/lang.c:96
 msgid	"*** Beginning of article ***"
 msgstr	"*** Début de l'article ***"
 
-#: src/lang.c:97
+#: src/lang.c:98
 #, 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:98
+#: src/lang.c:99
 msgid	"Cancelling article..."
 msgstr	"Annulation de l'article..."
 
-#: src/lang.c:100
+#: src/lang.c:101
 #, c-format
 msgid	"Cannot create %s"
 msgstr	"Création de %s impossible"
 
-#: src/lang.c:101
+#: src/lang.c:102
 #, c-format
 msgid	"Can't find base article %d"
 msgstr	"Article initial %d introuvable"
 
-#: src/lang.c:102
+#: src/lang.c:103
 #, c-format
 msgid	"Can't open %s"
 msgstr	"Ouverture de %s impossible"
 
-#: src/lang.c:103
+#: src/lang.c:104
 #, c-format
 msgid	"Couldn't open %s for saving"
 msgstr	"Ouverture de %s pour enregistrement impossible"
 
-#: src/lang.c:104
+#: src/lang.c:105
 msgid	"*** Posting not allowed ***"
 msgstr	"*** Postage non autorisé ***"
 
-#: src/lang.c:105
+#: src/lang.c:106
 #, c-format
 msgid	"Posting is not allowed to %s"
 msgstr	"Postage non autorisé dans %s"
 
-#: src/lang.c:106
+#: src/lang.c:107
 #, c-format
 msgid	"Can't retrieve %s"
 msgstr	"Récupération de %s impossible"
 
-#: src/lang.c:107
+#: src/lang.c:108
 #, c-format
 msgid	"%s is a directory"
 msgstr	"%s est un répertoire"
 
-#: src/lang.c:108
+#: src/lang.c:109
 msgid	"Catchup"
 msgstr	"Marquer lu"
 
-#: src/lang.c:109
+#: src/lang.c:110
 #, c-format
 msgid	"Catchup %s..."
 msgstr	"Effacement sur %s..."
 
-#: src/lang.c:110
+#: src/lang.c:111
 msgid	"Catchup all groups entered during this session?"
 msgstr	"Marquer lus tous les groupes visités lors de la session ?"
 
-#: src/lang.c:111
+#: src/lang.c:112
 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:112
+#: src/lang.c:113
 #, c-format
 msgid	"%s %d %s in %lu seconds\n"
 msgstr	"%s %d %s en %lu secondes\n"
 
-#: src/lang.c:113
+#: src/lang.c:114
 msgid	"Caughtup"
 msgstr	"Caughtup"
 
-#: src/lang.c:114
+#: src/lang.c:115
 msgid	"Check Prepared Article"
 msgstr	"Vérification de l'article préparé"
 
-#: src/lang.c:115
+#: src/lang.c:116
 msgid	"Checking for new groups... "
 msgstr	"Vérification de nouveaux groupes... "
 
-#: src/lang.c:116
+#: src/lang.c:117
 msgid	"Checking for news..."
 msgstr	"Vérification de articles..."
 
-#: src/lang.c:117
+#: src/lang.c:118
 #, 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:119
+#: src/lang.c:120
 msgid	"ANSI color disabled"
 msgstr	"Couleurs ANSI désactivées"
 
-#: src/lang.c:120
+#: src/lang.c:121
 msgid	"ANSI color enabled"
 msgstr	"Couleurs ANSI activées"
 
-#: src/lang.c:122
+#: src/lang.c:123
 #, c-format
 msgid	"Command failed: %s"
 msgstr	"Échec commande : %s"
 
-#: src/lang.c:123
+#: src/lang.c:124
 msgid	"Mark not selected articles read?"
 msgstr	"Marquer comme lu les articles sélectionnés ?"
 
-#: src/lang.c:124
+#: src/lang.c:125
 #, c-format
 msgid	"Connecting to %s..."
 msgstr	"Connexion à %s..."
 
-#: src/lang.c:125
+#: src/lang.c:126
 msgid	"<CR>"
 msgstr	"<RETOUR>"
 
-#: src/lang.c:126
+#: src/lang.c:127
 msgid	"Creating active file for saved groups...\n"
 msgstr	"Création du fichier active des groupes enregistrés...\n"
 
-#: src/lang.c:127
+#: src/lang.c:128
 msgid	"Creating newsrc file...\n"
 msgstr	"Création du fichier newsrc...\n"
 
-#: src/lang.c:129 src/lang.c:1150
+#: src/lang.c:130 src/lang.c:1150
 msgid	"Default"
 msgstr	"Défaut"
 
-#: src/lang.c:130
+#: src/lang.c:131
 msgid	"Delete saved files that have been post processed?"
 msgstr	"Effacer les fichiers enregistrés qui ont été post-traités ?"
 
-#: src/lang.c:131
+#: src/lang.c:132
 msgid	"Deleting temporary files..."
 msgstr	"Effacement des fichiers temporaires..."
 
-#: src/lang.c:133
+#: src/lang.c:134
 msgid	"*** End of article ***"
 msgstr	"*** Fin de l'article ***"
 
-#: src/lang.c:134
+#: src/lang.c:135
 msgid	"*** End of articles ***"
 msgstr	"*** Fin de la liste ***"
 
-#: src/lang.c:135
+#: src/lang.c:136
 msgid	"*** End of groups ***"
 msgstr	"*** Fin de la liste ***"
 
-#: src/lang.c:136
+#: src/lang.c:137
 msgid	"*** End of thread ***"
 msgstr	"*** Fin du fil ***"
 
-#: src/lang.c:137
+#: src/lang.c:138
 msgid	"Enter limit of articles to get> "
 msgstr	"Entrez le nombre max d'articles à récupérer > "
 
-#: src/lang.c:138
+#: src/lang.c:139
 msgid	"Enter Message-ID to go to> "
 msgstr	"Entrez le Message-ID à voir > "
 
-#: src/lang.c:139
+#: src/lang.c:140
 msgid	" and enter next unread thread"
 msgstr	" et passer au fil non lu suivant"
 
-#: src/lang.c:140
+#: src/lang.c:141
 msgid	" and enter next unread group"
 msgstr	" et entrer dans le groupe suivant non lu"
 
-#: src/lang.c:141
+#: src/lang.c:142
 msgid	"Enter option number> "
 msgstr	"Entrez le numéro de l'option > "
 
-#: src/lang.c:142
+#: src/lang.c:143
 #, c-format
 msgid	"Enter range [%s]> "
 msgstr	"Entrez un champ [%s] > "
 
-#: src/lang.c:143
+#: src/lang.c:144
 msgid	"\n"
 	"Warning: Approved: header used.\n"
 msgstr	"\n"
 	"Attention : en-tête Approved: utilisé.\n"
 
-#: src/lang.c:145
+#: src/lang.c:146
 msgid	"\n"
 	"Error: Bad address in Approved: header.\n"
 msgstr	"\n"
 	"Erreur : Mauvaise adresse dans l'en-tête Approved:.\n"
 
-#: src/lang.c:146
+#: src/lang.c:147
 msgid	"\n"
 	"Error: Bad address in From: header.\n"
 msgstr	"\n"
 	"Erreur : Mauvaise adresse dans l'en-tête From:.\n"
 
-#: src/lang.c:147
+#: src/lang.c:148
 msgid	"\n"
 	"Error: Bad address in Reply-To: header.\n"
 msgstr	"\n"
 	"Erreur : Mauvais adresse dans l'en-ête Reply-To:.\n"
 
-#: src/lang.c:148
+#: src/lang.c:149
 msgid	"\n"
 	"Error: Bad FQDN in Message-ID: header.\n"
 msgstr	"\n"
 	"Erreur : Mauvais FQDN dans l'en-tête Message-ID:.\n"
 
-#: src/lang.c:149
+#: src/lang.c:150
 #, c-format
 msgid	"Can't unlock %s"
 msgstr	"Déverrouillage de %s impossible"
 
-#: src/lang.c:151
+#: src/lang.c:152
 #, c-format
 msgid	"Corrupted file %s"
 msgstr	"Fichier %s corrompu"
 
-#: src/lang.c:152
+#: src/lang.c:153
 #, c-format
 msgid	"Couldn't dotlock %s - article not appended!"
 msgstr	"N'a pu déverrouiler %s - article non ajouté !"
 
-#: src/lang.c:153
+#: src/lang.c:154
 #, c-format
 msgid	"Couldn't lock %s - article not appended!"
 msgstr	"N'a pu verrouiller %s - article non ajouté !"
 
-#: src/lang.c:155
+#: src/lang.c:156
 msgid	"Internal error in GNKSA routine - send bug report.\n"
 msgstr	"Erreur interne dans routine GNKSA - envoi d'un rapport de bug.\n"
 
-#: src/lang.c:156
+#: src/lang.c:157
 msgid	"Left angle bracket missing in route address.\n"
 msgstr	"Accolade gauche manquante dans l'adresse de routage.\n"
 
-#: src/lang.c:157
+#: src/lang.c:158
 msgid	"Left parenthesis missing in old-style address.\n"
 msgstr	"Parenthèse gauche manquante dans l'ancien type d'adresse.\n"
 
-#: src/lang.c:158
+#: src/lang.c:159
 msgid	"Right parenthesis missing in old-style address.\n"
 msgstr	"Parenthèse droite manquante dans l'ancien type d'adresse.\n"
 
-#: src/lang.c:159
+#: src/lang.c:160
 msgid	"At-sign missing in mail address.\n"
 msgstr	"Arobase manquant dans l'adresse email.\n"
 
-#: src/lang.c:160
+#: src/lang.c:161
 msgid	"Single component FQDN is not allowed. Add your domain.\n"
 msgstr	"Composant FQDN unique non autorisé. Ajoutez votre domaine.\n"
 
-#: src/lang.c:161
+#: src/lang.c:162
 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	"Domaine invalide. Envoyez un rapport de bug si votre domaine premier existe.\n"
 	"Utilisez .invalid comme domaine premier pour les fausses adresses.\n"
 
-#: src/lang.c:162
+#: src/lang.c:163
 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	"Domaine illégal. Envoyez un rapport de bug si votre domaine premier existe.\n"
 	"Utilisez .invalid comme domaine premier pour les fausses adresses.\n"
 
-#: src/lang.c:163
+#: src/lang.c:164
 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	"Domaine inconnu. Envoyez un rapport de bug si votre domaine premier existe.\n"
 	"Utilisez .invalid comme domaine premier pour les fausses adresses.\n"
 
-#: src/lang.c:164
+#: src/lang.c:165
 msgid	"Illegal character in FQDN.\n"
 msgstr	"Caractère illégal dans le FQDN.\n"
 
-#: src/lang.c:165
+#: src/lang.c:166
 msgid	"Zero length FQDN component not allowed.\n"
 msgstr	"Valeur vide dans le FQDN non autorisé.\n"
 
-#: src/lang.c:166
+#: src/lang.c:167
 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:167
+#: src/lang.c:168
 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:168
+#: src/lang.c:169
 msgid	"FQDN component may not start with digit.\n"
 msgstr	"Composant FQDN ne devrait pas commencer par un chiffre.\n"
 
-#: src/lang.c:169
+#: src/lang.c:170
 msgid	"Domain literal has impossible numeric value.\n"
 msgstr	"Domaine littéral contient une valeur numérique impossible.\n"
 
-#: src/lang.c:170
+#: src/lang.c:171
 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:171
+#: src/lang.c:172
 msgid	"Right bracket missing in domain literal.\n"
 msgstr	"Parenthèse droite manquante dans le domaine littéral.\n"
 
-#: src/lang.c:172
+#: src/lang.c:173
 msgid	"Missing localpart of mail address.\n"
 msgstr	"Partie locale manquante dans l'adresse email.\n"
 
-#: src/lang.c:173
+#: src/lang.c:174
 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:174
+#: src/lang.c:175
 msgid	"Zero length localpart component not allowed.\n"
 msgstr	"Valeur vide dans composant de partie locale non autorisé.\n"
 
-#: src/lang.c:175
+#: src/lang.c:176
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr	"Caractère illégal dans le nom réel.\n"
 	"Mots non cités ne devraient pas contenir '!()<>@,;:\\.[]' dans l'adresse de "
 	"routage.\n"
 
-#: src/lang.c:176
+#: src/lang.c:177
 msgid	"Illegal character in realname.\n"
 	"Quoted words may not contain '()<>\\'.\n"
 msgstr	"Caractère illégal dans le nom réel.\n"
 	"Mots cités ne devraient pas contenir '()<>\\'.\n"
 
-#: src/lang.c:177
+#: src/lang.c:178
 msgid	"Illegal character in realname.\n"
 	"Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr	"Caractère illégal dans le nom réel.\n"
 	"Mots encodés ne devraient pas contenir '!()<>@,;:\"\\.[]/=' dans le "
 	"paramètre.\n"
 
-#: src/lang.c:178
+#: src/lang.c:179
 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:179
+#: src/lang.c:180
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr	"Caractère illégal dans le nom réel.\n"
 	"Mots non cités ne devraient pas contenir '()<>\\' dans les adresses de type "
 	"anciennes.\n"
 
-#: src/lang.c:180
+#: src/lang.c:181
 msgid	"Illegal character in realname.\n"
 	"Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr	"Caractère illégal dans le nom réel.\n"
 	"Les caractères de contrôle et non encodés en 8bit > 127 ne sont pas "
 	"autorisés.\n"
 
-#: src/lang.c:181
+#: src/lang.c:182
 msgid	"\n"
 	"Error: No blank line found after header.\n"
 msgstr	"\n"
 	"Erreur : Pas de ligne vide trouvée après l'en-tête.\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:183
+#: src/lang.c:184
 msgid	"\n"
 	"Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
 	"       US-ASCII  - please change this setting to a suitable value for\n"
@@ -898,7 +875,7 @@ msgstr	"\n"
 	"         correcte pour votre langue via le M)enu des options ou via\n"
 	"         l'édition de votre tinrc.\n"
 
-#: src/lang.c:188
+#: src/lang.c:189
 msgid	"\n"
 	"Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
 	"       for news  messages  is set  to \"7bit\"  -  please change this\n"
@@ -913,13 +890,13 @@ msgstr	"\n"
 	"         changement peut être effectué via le M)enu des options ou via\n"
 	"         l'édition de votre tinrc.\n"
 
-#: src/lang.c:194
+#: src/lang.c:195
 msgid	"\n"
 	"Error: Article starts with blank line instead of header\n"
 msgstr	"\n"
 	"Erreur : L'article débute avec une ligne vide au lieu d'un en-tête\n"
 
-#: src/lang.c:195
+#: src/lang.c:196
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a colon after the header name:\n"
@@ -929,21 +906,21 @@ msgstr	"\n"
 	"nom :\n"
 	"%s\n"
 
-#: src/lang.c:196
+#: src/lang.c:197
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is empty.\n"
 msgstr	"\n"
 	"Erreur : La ligne \"%s:\" est vide.\n"
 
-#: src/lang.c:197
+#: src/lang.c:198
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is missing from the article header.\n"
 msgstr	"\n"
 	"Erreur : La ligne \"%s:\" est absente de l'en-tête de l'article.\n"
 
-#: src/lang.c:198
+#: src/lang.c:199
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a space after the colon:\n"
@@ -952,71 +929,71 @@ msgstr	"\n"
 	"Erreur : L'en-tête à la ligne %d n'a pas d'espace après le séparateur :\n"
 	"%s\n"
 
-#: src/lang.c:199
+#: src/lang.c:200
 #, c-format
 msgid	"\n"
 	"Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr	"\n"
 	"Erreur : Il y a plusieurs lignes (%d) \"%s:\" dans l'en-tête.\n"
 
-#: src/lang.c:200
+#: src/lang.c:201
 #, c-format
 msgid	"Insecure permissions of %s (%o)"
 msgstr	"Permissions de %s non sûres (%o)"
 
-#: src/lang.c:201
+#: src/lang.c:202
 #, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	"Réponse de la commande GROUP invalide, %s"
 
-#: src/lang.c:203
+#: src/lang.c:204
 #, 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:204
+#: src/lang.c:205
 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:205
+#: src/lang.c:206
 msgid	"Can't get a (fully-qualified) domain-name!"
 msgstr	"Nom de domaine (qualifié) introuvable !"
 
-#: src/lang.c:206
+#: src/lang.c:207
 #, c-format
 msgid	"No permissions to go into %s\n"
 msgstr	"Pas la permission d'aller dans %s\n"
 
-#: src/lang.c:207
+#: src/lang.c:208
 msgid	"\n"
 	"Error: From: line missing.\n"
 msgstr	"\n"
 	"Erreur : En-tête 'From:' manquant.\n"
 
-#: src/lang.c:208
+#: src/lang.c:209
 #, c-format
 msgid	"No read permissions for %s\n"
 msgstr	"Pas la permission de lecture pour %s\n"
 
-#: src/lang.c:209
+#: src/lang.c:210
 #, c-format
 msgid	"File %s does not exist\n"
 msgstr	"Fichier %s inexistant\n"
 
-#: src/lang.c:210
+#: src/lang.c:211
 #, c-format
 msgid	"No write permissions for %s\n"
 msgstr	"Pas la permission d'écrire pour %s\n"
 
-#: src/lang.c:211
+#: src/lang.c:212
 msgid	"Can't get user information (/etc/passwd missing?)"
 msgstr	"Info sur l'utilisateur introuvable (/etc/passwd manquant ?)"
 
-#: src/lang.c:212
+#: src/lang.c:213
 msgid	"errors"
 msgstr	"erreurs"
 
-#: src/lang.c:213
+#: src/lang.c:214
 #, c-format
 msgid	"\n"
 	"Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
@@ -1024,81 +1001,81 @@ msgstr	"\n"
 	"Erreur sur la ligne %d : en-tête \"Sender:\" non autorisé (sera ajouté pour "
 	"vous)\n"
 
-#: src/lang.c:214
+#: src/lang.c:215
 #, 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:215
+#: src/lang.c:216
 msgid	"error"
 msgstr	"erreur"
 
-#: src/lang.c:216
+#: src/lang.c:217
 msgid	"Unknown display level"
 msgstr	"Vue affichée inconnue"
 
-#: src/lang.c:217
+#: src/lang.c:218
 msgid	"<ESC>"
 msgstr	"<ESC>"
 
-#: src/lang.c:218
+#: src/lang.c:219
 msgid	"Exiting..."
 msgstr	"Fermeture..."
 
-#: src/lang.c:219
+#: src/lang.c:220
 msgid	"leaving external mail-reader"
 msgstr	"fermeture du client mail externe"
 
-#: src/lang.c:220
+#: src/lang.c:221
 #, c-format
 msgid	"Extracting %s..."
 msgstr	"Extraction de %s..."
 
-#: src/lang.c:222
+#: src/lang.c:223
 #, 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:223
+#: src/lang.c:224
 #, 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:224
+#: src/lang.c:225
 #, c-format
 msgid	"Filtering global rules (%d/%d)..."
 msgstr	"Filtrage selon les règles globales (%d/%d)..."
 
-#: src/lang.c:225
+#: src/lang.c:226
 msgid	"Rule created by: "
 msgstr	"Règle créée par : "
 
-#: src/lang.c:226
+#: src/lang.c:227
 #, c-format
 msgid	"Enter pattern [%s]> "
 msgstr	"Entrez le réglage [%s] > "
 
-#: src/lang.c:227
+#: src/lang.c:228
 #, c-format
 msgid	"\n"
 	"You requested followups to your article to go to the following %s:\n"
 msgstr	"\n"
 	"Vous avez souhaité que les réponses à votre article aillent au %s suivant :\n"
 
-#: src/lang.c:228
+#: src/lang.c:229
 #, 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:229
+#: src/lang.c:230
 msgid	"-- forwarded message --\n"
 msgstr	"-- message redirigé --\n"
 
-#: src/lang.c:230
+#: src/lang.c:231
 msgid	"-- end of forwarded message --\n"
 msgstr	"-- fin du message redirigé --\n"
 
-#: src/lang.c:231
+#: src/lang.c:232
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
 	"placed\n"
@@ -1158,729 +1135,729 @@ msgstr	"# Format :\n"
 	"règle.\n"
 	"#\n"
 
-#: src/lang.c:252
+#: src/lang.c:253
 #, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	"Entrez le score (défaut=%d) : "
 
-#: src/lang.c:253
+#: src/lang.c:254
 #, 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:254
+#: src/lang.c:255
 msgid	"Full"
 msgstr	"Tous"
 
-#: src/lang.c:255
+#: src/lang.c:256
 msgid	"Comment (optional)  : "
 msgstr	"Commentaire (facultatif) : "
 
-#: src/lang.c:256
+#: src/lang.c:257
 msgid	"Apply pattern to    : "
 msgstr	"Appliquer à     : "
 
-#: src/lang.c:257
+#: src/lang.c:258
 msgid	"From: line (ignore case)      "
 msgstr	"l'en-tête 'From:' (ignorer la casse)"
 
-#: src/lang.c:258
+#: src/lang.c:259
 msgid	"From: line (case sensitive)   "
 msgstr	"l'en-tête 'From:' (casse sensible)"
 
-#: src/lang.c:260
+#: src/lang.c:261
 #, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	"%s%s : Hôte inconnu.\n"
 
-#: src/lang.c:261
+#: src/lang.c:262
 msgid	"global "
 msgstr	"global "
 
-#: src/lang.c:262
+#: src/lang.c:263
 #, c-format
 msgid	"Please use %.100s instead"
 msgstr	"Utilisez svp %.100s à la place"
 
-#: src/lang.c:263
+#: src/lang.c:264
 #, c-format
 msgid	"%s is bogus"
 msgstr	"%s pose problème"
 
-#: src/lang.c:264
+#: src/lang.c:265
 #, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	"Groupe %s modéré. Continuer ?"
 
-#: src/lang.c:265
+#: src/lang.c:266
 msgid	"groups"
 msgstr	"groupes"
 
-#: src/lang.c:266
+#: src/lang.c:267
 #, c-format
 msgid	"Rereading %s..."
 msgstr	"Relecture de %s..."
 
-#: src/lang.c:267
+#: src/lang.c:268
 msgid	"Top Level Commands"
 msgstr	"Commandes niveau supérieur"
 
-#: src/lang.c:268
+#: src/lang.c:269
 msgid	"Group Selection"
 msgstr	"Sélection du groupe"
 
-#: src/lang.c:269
+#: src/lang.c:270
 msgid	"group"
 msgstr	"groupe"
 
-#: src/lang.c:271
+#: src/lang.c:272
 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:272
+#: src/lang.c:273
 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:273
+#: src/lang.c:274
 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:274
+#: src/lang.c:275
 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:275
+#: src/lang.c:276
 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:276
+#: src/lang.c:277
 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:277
+#: src/lang.c:278
 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:278
+#: src/lang.c:279
 msgid	"Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr	"Durée (en nombre de jours) du filtre. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:279
+#: src/lang.c:280
 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:280
+#: src/lang.c:281
 msgid	"Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	"Appliquer règle au groupe actuel ou à tous. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:281
+#: src/lang.c:282
 msgid	"kill an article via a menu"
 msgstr	"filtrer un article via un menu"
 
-#: src/lang.c:282
+#: src/lang.c:283
 msgid	"auto-select (hot) an article via a menu"
 msgstr	"sélection auto. (hot) d'un article via un menu"
 
-#: src/lang.c:283
+#: src/lang.c:284
 msgid	"Browse URLs in article"
 msgstr	"Voir les URLs dans l'article"
 
-#: src/lang.c:284
+#: src/lang.c:285
 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:285
+#: src/lang.c:286
 msgid	"cancel (delete) or supersede (overwrite) current article"
 msgstr	"annuler (effacer) ou remplacer (écraser) l'article actuel"
 
-#: src/lang.c:286
+#: src/lang.c:287
 msgid	"edit article (mail-groups only)"
 msgstr	"éditer l'article (groupes de messagerie uniquement)"
 
-#: src/lang.c:287
+#: src/lang.c:288
 msgid	"display first article in current thread"
 msgstr	"afficher le 1er article du fil actuel"
 
-#: src/lang.c:288
+#: src/lang.c:289
 msgid	"display first page of article"
 msgstr	"afficher la 1ère page de l'article"
 
-#: src/lang.c:289
+#: src/lang.c:290
 msgid	"post followup to current article"
 msgstr	"poster un suivi pour l'article actuel"
 
-#: src/lang.c:290
+#: src/lang.c:291
 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:291
+#: src/lang.c:292
 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:292
+#: src/lang.c:293
 msgid	"display last article in current thread"
 msgstr	"afficher le dernier article du fil actuel"
 
-#: src/lang.c:293
+#: src/lang.c:294
 msgid	"display last page of article"
 msgstr	"afficher la dernière page de l'article"
 
-#: src/lang.c:294
+#: src/lang.c:295
 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:295
+#: src/lang.c:296
 msgid	"display next article"
 msgstr	"afficher l'article suivant"
 
-#: src/lang.c:296
+#: src/lang.c:297
 msgid	"display first article in next thread"
 msgstr	"afficher le 1er article du fil suivant"
 
-#: src/lang.c:297
+#: src/lang.c:298
 msgid	"display next unread article"
 msgstr	"afficher le prochain article non lu"
 
-#: src/lang.c:298
+#: src/lang.c:299
 msgid	"go to the article that this one followed up"
 msgstr	"aller à l'article parent"
 
-#: src/lang.c:299
+#: src/lang.c:300
 msgid	"display previous article"
 msgstr	"afficher l'article précédent"
 
-#: src/lang.c:300
+#: src/lang.c:301
 msgid	"display previous unread article"
 msgstr	"afficher l'article précédent non lu"
 
-#: src/lang.c:301
+#: src/lang.c:302
 msgid	"quickly kill an article using defaults"
 msgstr	"filtrer rapidement un article en utilisant les défauts"
 
-#: src/lang.c:302
+#: src/lang.c:303
 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:303
+#: src/lang.c:304
 msgid	"return to group selection level"
 msgstr	"retourner à la vue sélection de groupe"
 
-#: src/lang.c:304
+#: src/lang.c:305
 msgid	"reply through mail to author"
 msgstr	"répondre par email à l'auteur"
 
-#: src/lang.c:305
+#: src/lang.c:306
 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:306
+#: src/lang.c:307
 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:307
+#: src/lang.c:308
 msgid	"repost chosen article to another group"
 msgstr	"reposter l'article choisi dans un autre groupe"
 
-#: src/lang.c:308
+#: src/lang.c:309
 msgid	"search backwards within this article"
 msgstr	"recherche arrière dans cet article"
 
-#: src/lang.c:309
+#: src/lang.c:310
 msgid	"search forwards within this article"
 msgstr	"recherche avant dans cet article"
 
-#: src/lang.c:310
+#: src/lang.c:311
 msgid	"show article in raw-mode (including all headers)"
 msgstr	"afficher la source des articles (incluant les en-têtes)"
 
-#: src/lang.c:311
+#: src/lang.c:312
 msgid	"skip next block of included text"
 msgstr	"passer au bloc suivant incluant du texte"
 
-#: src/lang.c:312
+#: src/lang.c:313
 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:313
+#: src/lang.c:314
 msgid	"toggle word highlighting on/off"
 msgstr	"(dés)activer la surbrillance des mots"
 
-#: src/lang.c:314
+#: src/lang.c:315
 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:315
+#: src/lang.c:316
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	"basculer la taille de tabulation 4 <-> 8"
 
-#: src/lang.c:316
+#: src/lang.c:317
 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:317
+#: src/lang.c:318
 msgid	"toggle display of uuencoded sections"
 msgstr	"(dés)activer l'affichage des sections uuencodées"
 
-#: src/lang.c:318
+#: src/lang.c:319
 msgid	"View/save multimedia attachments"
 msgstr	"Voir/enregistrer les pj multimédia"
 
-#: src/lang.c:319
+#: src/lang.c:320
 #, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	"signaler un bug ou envoi d'un commentaires à %s"
 
-#: src/lang.c:320
+#: src/lang.c:321
 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:321
+#: src/lang.c:322
 msgid	"escape from command prompt"
 msgstr	"quitter le prompt"
 
-#: src/lang.c:322
+#: src/lang.c:323
 msgid	"edit filter file"
 msgstr	"éditer les filtres"
 
-#: src/lang.c:323
+#: src/lang.c:324
 msgid	"get help"
 msgstr	"voir l'aide"
 
-#: src/lang.c:324
+#: src/lang.c:325
 msgid	"display last article viewed"
 msgstr	"afficher le dernier article lu"
 
-#: src/lang.c:325
+#: src/lang.c:326
 msgid	"down one line"
 msgstr	"descendre d'une ligne"
 
-#: src/lang.c:326
+#: src/lang.c:327
 msgid	"up one line"
 msgstr	"monter d'une ligne"
 
-#: src/lang.c:327
+#: src/lang.c:328
 msgid	"go to article chosen by Message-ID"
 msgstr	"aller à l'article via son Message-ID"
 
-#: src/lang.c:328
+#: src/lang.c:329
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	"envoyer article/fil/sél./articles marqués à une personne"
 
-#: src/lang.c:329
+#: src/lang.c:330
 msgid	"menu of configurable options"
 msgstr	"menu des options réglables"
 
-#: src/lang.c:330
+#: src/lang.c:331
 msgid	"down one page"
 msgstr	"descendre d'une page"
 
-#: src/lang.c:331
+#: src/lang.c:332
 msgid	"up one page"
 msgstr	"monter d'une page"
 
-#: src/lang.c:332
+#: src/lang.c:333
 msgid	"post (write) article to current group"
 msgstr	"poster (écrire) un article dans le groupe actuel"
 
-#: src/lang.c:333
+#: src/lang.c:334
 msgid	"post postponed articles"
 msgstr	"poster les brouillons"
 
-#: src/lang.c:334
+#: src/lang.c:335
 msgid	"list articles posted by you (from posted file)"
 msgstr	"lister les articles postés par vous (fichier posted)"
 
-#: src/lang.c:335
+#: src/lang.c:336
 msgid	"return to previous menu"
 msgstr	"retourner au menu précédent"
 
-#: src/lang.c:336
+#: src/lang.c:337
 msgid	"quit tin immediately"
 msgstr	"quitter tin immédiatement"
 
-#: src/lang.c:337
+#: src/lang.c:338
 msgid	"redraw page"
 msgstr	"rafraîchir la page"
 
-#: src/lang.c:338
+#: src/lang.c:339
 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:339
+#: src/lang.c:340
 msgid	"save marked articles automatically without user prompts"
 msgstr	"enregistrement auto. des articles marqués sans demander"
 
-#: src/lang.c:340
+#: src/lang.c:341
 msgid	"scroll the screen one line down"
 msgstr	"défiler une page par une page"
 
-#: src/lang.c:341
+#: src/lang.c:342
 msgid	"scroll the screen one line up"
 msgstr	"remonter une page par une page"
 
-#: src/lang.c:342
+#: src/lang.c:343
 msgid	"search for articles by author backwards"
 msgstr	"recherche arrière d'articles par auteur"
 
-#: src/lang.c:343
+#: src/lang.c:344
 msgid	"search for articles by author forwards"
 msgstr	"recherche avant d'articles par auteur"
 
-#: src/lang.c:344
+#: src/lang.c:345
 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:345
+#: src/lang.c:346
 msgid	" \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr	" \t  (recherche ignore la casse et se cantonne à tous les articles)"
 
-#: src/lang.c:346
+#: src/lang.c:347
 msgid	"search for articles by Subject line backwards"
 msgstr	"recherche arrière d'articles par Sujet"
 
-#: src/lang.c:347
+#: src/lang.c:348
 msgid	"search for articles by Subject line forwards"
 msgstr	"recherche avant d'articles par Sujet"
 
-#: src/lang.c:348
+#: src/lang.c:349
 msgid	"repeat last search"
 msgstr	"relancer la dernière recherche"
 
-#: src/lang.c:349
+#: src/lang.c:350
 msgid	"tag current article for reposting/mailing/piping/printing/saving"
 msgstr	"marquer article pour repostage/envoi/passer/imprimer/enregistrer"
 
-#: src/lang.c:350
+#: src/lang.c:351
 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:351
+#: src/lang.c:352
 msgid	"toggle inverse video"
 msgstr	"afficher ou non la vidéo inversée"
 
-#: src/lang.c:352
+#: src/lang.c:353
 msgid	"toggle mini help menu display"
 msgstr	"afficher ou non le petit menu d'aide"
 
-#: src/lang.c:353
+#: src/lang.c:354
 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:354
+#: src/lang.c:355
 msgid	"show version information"
 msgstr	"afficher la version de tin"
 
-#: src/lang.c:355
+#: src/lang.c:356
 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:356
+#: src/lang.c:357
 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:357
+#: src/lang.c:358
 msgid	"choose first thread in list"
 msgstr	"choisir le 1er fil de la liste"
 
-#: src/lang.c:358
+#: src/lang.c:359
 msgid	"choose last thread in list"
 msgstr	"choisir le dernier fil de la liste"
 
-#: src/lang.c:359
+#: src/lang.c:360
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	"lister les articles du fil actuel (sous-menu fil)"
 
-#: src/lang.c:360
+#: src/lang.c:361
 msgid	"mark article as unread"
 msgstr	"marquer l'article comme non lu"
 
-#: src/lang.c:361
+#: src/lang.c:362
 msgid	"mark current thread or tagged threads as read"
 msgstr	"marquer le fil actuel ou les fils marqués comme lus"
 
-#: src/lang.c:362
+#: src/lang.c:363
 msgid	"mark thread as unread"
 msgstr	"marquer le fil comme non lu"
 
-#: src/lang.c:363
+#: src/lang.c:364
 msgid	"toggle display of all/selected articles"
 msgstr	"(dés)activer la vue de tout article/articles sélectionnés"
 
-#: src/lang.c:364
+#: src/lang.c:365
 msgid	"display next group"
 msgstr	"afficher le groupe suivant"
 
-#: src/lang.c:365
+#: src/lang.c:366
 msgid	"display previous group"
 msgstr	"afficher le groupe précédent"
 
-#: src/lang.c:366
+#: src/lang.c:367
 msgid	"toggle all selections (all articles)"
 msgstr	"(dés)activer toutes les sélections (tout article)"
 
-#: src/lang.c:367
+#: src/lang.c:368
 msgid	"select group (make \"hot\")"
 msgstr	"sélection du groupe (utiliser \"hot\")"
 
-#: src/lang.c:368
+#: src/lang.c:369
 msgid	"select thread"
 msgstr	"sélectionner le fil"
 
-#: src/lang.c:369
+#: src/lang.c:370
 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:370
+#: src/lang.c:371
 msgid	"select threads that match user specified pattern"
 msgstr	"sélectionner les fils qui correspondent au critère choisi"
 
-#: src/lang.c:371
+#: src/lang.c:372
 msgid	"tag all parts of current multipart-message in order"
 msgstr	"marquer dans l'ordre toutes parties du message multiparties"
 
-#: src/lang.c:372
+#: src/lang.c:373
 msgid	"0 - 9\t  choose thread by number"
 msgstr	"0 - 9\t  choisir le fil par numéro"
 
-#: src/lang.c:373
+#: src/lang.c:374
 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:374
+#: src/lang.c:375
 msgid	"toggle display of all/unread articles"
 msgstr	"(dés)activer l'affichage de tout article/articles non lus"
 
-#: src/lang.c:375
+#: src/lang.c:376
 msgid	"toggle selection of thread"
 msgstr	"(dés)activer sélection du fil"
 
-#: src/lang.c:376
+#: src/lang.c:377
 msgid	"cycle through threading options available"
 msgstr	"voir toutes les options de groupage disponibles"
 
-#: src/lang.c:377
+#: src/lang.c:378
 msgid	"undo all selections (all articles)"
 msgstr	"annuler toutes sélections (tout article)"
 
-#: src/lang.c:378
+#: src/lang.c:379
 msgid	"untag all tagged threads"
 msgstr	"démarquer tout fil marqué"
 
-#: src/lang.c:379
+#: src/lang.c:380
 msgid	"mark all articles in group as read"
 msgstr	"marquer lu tous les articles du groupe"
 
-#: src/lang.c:380
+#: src/lang.c:381
 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:381
+#: src/lang.c:382
 msgid	"choose first group in list"
 msgstr	"choisir le 1er groupe de la liste"
 
-#: src/lang.c:382
+#: src/lang.c:383
 msgid	"choose group by name"
 msgstr	"choisir le groupe par nom"
 
-#: src/lang.c:383
+#: src/lang.c:384
 msgid	"0 - 9\t  choose group by number"
 msgstr	"0 - 9\t  choisir un groupe par son numéro"
 
-#: src/lang.c:384
+#: src/lang.c:385
 msgid	"choose range of groups to be affected by next command"
 msgstr	"choisir les groupes affectés par la commande suivante"
 
-#: src/lang.c:385
+#: src/lang.c:386
 msgid	"choose last group in list"
 msgstr	"choisir le dernier groupe de la liste"
 
-#: src/lang.c:386
+#: src/lang.c:387
 msgid	"mark all articles in chosen group unread"
 msgstr	"marquer non lu tout article dans le groupe choisi"
 
-#: src/lang.c:387
+#: src/lang.c:388
 msgid	"move chosen group within list"
 msgstr	"déplacer le groupe sélectionné"
 
-#: src/lang.c:388
+#: src/lang.c:389
 msgid	"choose next group with unread news"
 msgstr	"choisir le groupe suivant ayant articles non lus"
 
-#: src/lang.c:389 src/lang.c:1197
+#: src/lang.c:390 src/lang.c:1197
 msgid	"quit"
 msgstr	"quitter"
 
-#: src/lang.c:390
+#: src/lang.c:391
 msgid	"quit without saving configuration changes"
 msgstr	"quitter sans enregistrer les changements"
 
-#: src/lang.c:391
+#: src/lang.c:392
 msgid	"read chosen group"
 msgstr	"lire le groupe choisi"
 
-#: src/lang.c:392
+#: src/lang.c:393
 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:393
+#: src/lang.c:394
 msgid	"search backwards for a group name"
 msgstr	"recherche arrière d'un groupe"
 
-#: src/lang.c:394
+#: src/lang.c:395
 msgid	" \t  (all searches are case-insensitive and wrap around)"
 msgstr	" \t  (les recherches sont sensibles à la casse)"
 
-#: src/lang.c:395
+#: src/lang.c:396
 msgid	"search forwards for a group name"
 msgstr	"recherche avant d'un groupe"
 
-#: src/lang.c:396
+#: src/lang.c:397
 msgid	"subscribe to chosen group"
 msgstr	"s'abonner au groupe sélectionné"
 
-#: src/lang.c:397
+#: src/lang.c:398
 msgid	"subscribe to groups that match pattern"
 msgstr	"abonnement aux groupes correspondant au critère"
 
-#: src/lang.c:398
+#: src/lang.c:399
 msgid	"reread active file to check for any new news"
 msgstr	"vérifier l'existence de nouveaux articles"
 
-#: src/lang.c:399
+#: src/lang.c:400
 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:400
+#: src/lang.c:401
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	"afficher ou non tous les groupes abonnés non lu"
 
-#: src/lang.c:401
+#: src/lang.c:402
 msgid	"unsubscribe from chosen group"
 msgstr	"se désabonner du groupe sélectionné"
 
-#: src/lang.c:402
+#: src/lang.c:403
 msgid	"unsubscribe from groups that match pattern"
 msgstr	"désabonnement aux groupes correspondant au critère"
 
-#: src/lang.c:403
+#: src/lang.c:404
 msgid	"sort the list of groups"
 msgstr	"trier la liste des groupes"
 
-#: src/lang.c:404
+#: src/lang.c:405
 msgid	"toggle display to show all/subscribed groups"
 msgstr	"afficher ou non tous les groupes abonnés"
 
-#: src/lang.c:405
+#: src/lang.c:406
 msgid	"0 - 9\t  choose article by number"
 msgstr	"0 - 9\t  choisir article par numéro"
 
-#: src/lang.c:406
+#: src/lang.c:407
 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:407
+#: src/lang.c:408
 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:408
+#: src/lang.c:409
 msgid	"choose first article in list"
 msgstr	"choisir le 1er article dans la liste"
 
-#: src/lang.c:409
+#: src/lang.c:410
 msgid	"choose last article in list"
 msgstr	"choisir le dernier article dans la liste"
 
 # TRANSLATION TOO LONG
-#: src/lang.c:410
+#: src/lang.c:411
 msgid	"mark article or tagged articles as read and move cursor to next unread article"
 msgstr	"marquer l'article ou les articles marqués comme lus et aller au prochain "
 	"article non lu"
 
-#: src/lang.c:411
+#: src/lang.c:412
 msgid	"read chosen article"
 msgstr	"lire l'article choisi"
 
-#: src/lang.c:412
+#: src/lang.c:413
 msgid	"Display properties\n"
 	"------------------"
 msgstr	"Propriétés de l'affichage\n"
 	"-------------------------"
 
-#: src/lang.c:413
+#: src/lang.c:414
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	"Divers\n"
 	"------"
 
-#: src/lang.c:414
+#: src/lang.c:415
 msgid	"Moving around\n"
 	"-------------"
 msgstr	"Navigation\n"
 	"----------"
 
-#: src/lang.c:415
+#: src/lang.c:416
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	"Opérations sur les Groupes / fils / articles\n"
 	"--------------------------------------------"
 
-#: src/lang.c:417
+#: src/lang.c:418
 msgid	"Group Level Commands"
 msgstr	"Commandes du niveau Groupe"
 
-#: src/lang.c:418
+#: src/lang.c:419
 msgid	"Kill filter added"
 msgstr	"Filtre ajouté"
 
-#: src/lang.c:419
+#: src/lang.c:420
 msgid	"Auto-selection filter added"
 msgstr	"Filtre à auto-sélection ajouté"
 
-#: src/lang.c:420
+#: src/lang.c:421
 msgid	"All parts tagged"
 msgstr	"Toutes les parties sont marquées"
 
-#: src/lang.c:421
+#: src/lang.c:422
 msgid	"Storing article for later posting"
 msgstr	"Stockage de l'article afin de le poster plus tard"
 
-#: src/lang.c:422
+#: src/lang.c:423
 msgid	"Please enter a valid character"
 msgstr	"Entrez un caractère valide svp"
 
-#: src/lang.c:423
+#: src/lang.c:424
 #, c-format
 msgid	"Missing part #%d"
 msgstr	"Partie manquante #%d"
 
-#: src/lang.c:424
+#: src/lang.c:425
 msgid	"*** No postponed articles ***"
 msgstr	"*** Aucun brouillon ***"
 
-#: src/lang.c:425
+#: src/lang.c:426
 msgid	"Not a multi-part message"
 msgstr	"N'est pas un message en plusieurs parties"
 
-#: src/lang.c:426
+#: src/lang.c:427
 msgid	"You are not subscribed to this group"
 msgstr	"Vous n'êtes pas abonné à ce groupe"
 
-#: src/lang.c:427
+#: src/lang.c:428
 msgid	"No previous expression"
 msgstr	"Pas d'expression précédente"
 
-#: src/lang.c:428
+#: src/lang.c:429
 msgid	"Operation disabled in no-overwrite mode"
 msgstr	"Opération désactivée en mode lecture"
 
 #. TODO: replace hardcoded key-name in txt_info_postponed
-#: src/lang.c:430
+#: src/lang.c:431
 #, 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:431
+#: src/lang.c:432
 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	"X-Conversion-Note : contenus multiparties/alternatifs retirés.\n"
@@ -1888,21 +1865,21 @@ msgstr	"X-Conversion-Note : contenus mul
 	"dans\n"
 	"  le Menu Option.\n"
 
-#: src/lang.c:433
+#: src/lang.c:434
 #, 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:434
+#: src/lang.c:435
 msgid	"TeX2Iso encoded article"
 msgstr	"Article encodé en TeX2Iso"
 
-#: src/lang.c:435
+#: src/lang.c:436
 msgid	"incomplete "
 msgstr	"incomplet "
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:437
+#: src/lang.c:438
 #, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -1967,134 +1944,134 @@ msgstr	"\n"
 	"Si vous constatez des bogues ou tout autre problème, envoyez s'il vous plaît\n"
 	"un rapport de bogue/commentaires à %s via la touche 'R'.\n"
 
-#: src/lang.c:453
+#: src/lang.c:454
 #, 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."
 
 # TRANSLATION MISSING
-#: src/lang.c:455
+#: src/lang.c:456
 msgid	"Invalid multibyte sequence found\n"
 msgstr	""
 
-#: src/lang.c:457
+#: src/lang.c:458
 #, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	"En-tête Sender: %s invalide"
 
-#: src/lang.c:458
+#: src/lang.c:459
 msgid	"Inverse video disabled"
 msgstr	"Vidéo inversée désactivée"
 
-#: src/lang.c:459
+#: src/lang.c:460
 msgid	"Inverse video enabled"
 msgstr	"Vidéo inversée activée"
 
-#: src/lang.c:461
+#: src/lang.c:462
 #, c-format
 msgid	"Missing definition for %s\n"
 msgstr	"Définition manquante pour %s\n"
 
-#: src/lang.c:462
+#: src/lang.c:463
 #, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	"Définition de clé invalide '%s'\n"
 
-#: src/lang.c:463
+#: src/lang.c:464
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	"Nom de clé invalide '%s'\n"
 
-#: src/lang.c:464
+#: src/lang.c:465
 #, 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:465
+#: src/lang.c:466
 #, c-format
 msgid	"Kill From:     [%s] (y/n): "
 msgstr	"   De : [%s] (o/n) : "
 
-#: src/lang.c:466
+#: src/lang.c:467
 msgid	"Kill Lines: (</>num): "
 msgstr	"Nombre de lignes (</>num)    : "
 
-#: src/lang.c:467
+#: src/lang.c:468
 msgid	"Kill Article Menu"
 msgstr	"Créer un filtre"
 
-#: src/lang.c:468
+#: src/lang.c:469
 #, c-format
 msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr	"  MID : [%s] (t/d/a/n) : "
 
-#: src/lang.c:469
+#: src/lang.c:470
 msgid	"Kill pattern scope  : "
 msgstr	"Filtre s'appliquant à : "
 
-#: src/lang.c:470
+#: src/lang.c:471
 #, c-format
 msgid	"Kill Subject:  [%s] (y/n): "
 msgstr	"Sujet : [%s] (o/n) : "
 
-#: src/lang.c:471
+#: src/lang.c:472
 msgid	"Kill text pattern   : "
 msgstr	"Texte à filtrer : "
 
-#: src/lang.c:472
+#: src/lang.c:473
 msgid	"Kill time in days   : "
 msgstr	"Durée du filtre              : "
 
-#: src/lang.c:474
+#: src/lang.c:475
 msgid	"Last"
 msgstr	"Dernier"
 
-#: src/lang.c:475
+#: src/lang.c:476
 msgid	"-- Last response --"
 msgstr	"-- Dernière réponse --"
 
-#: src/lang.c:476
+#: src/lang.c:477
 #, c-format
 msgid	"Lines %s  "
 msgstr	"%s lignes "
 
-#: src/lang.c:478
+#: src/lang.c:479
 msgid	"Mail"
 msgstr	"Envoyer"
 
-#: src/lang.c:479
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	"bàl"
 
-#: src/lang.c:480
+#: src/lang.c:481
 #, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	"Envoyer article(s) à [%.*s] > "
 
-#: src/lang.c:481
+#: src/lang.c:482
 #, c-format
 msgid	"Mailing log to %s\n"
 msgstr	"Envoi de l'historique à %s\n"
 
-#: src/lang.c:482
+#: src/lang.c:483
 msgid	"Mail bug report..."
 msgstr	"Envoi d'un rapport de bug..."
 
-#: src/lang.c:483
+#: src/lang.c:484
 #, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	"Signaler LE BUG à %s ?"
 
-#: src/lang.c:484
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	"Envoyé"
 
-#: src/lang.c:485
+#: src/lang.c:486
 #, c-format
 msgid	"Mailing to %s..."
 msgstr	"Envoi à %s..."
 
-#: src/lang.c:486
+#: src/lang.c:487
 msgid	"# [Mail/Save] active file. Format is like news active file:\n"
 	"#   groupname  max.artnum  min.artnum  /dir\n"
 	"# The 4th field is the basedir (ie. ~/Mail or ~/News)\n"
@@ -2105,296 +2082,296 @@ msgstr	"# [Envoyer/Enregistrer] fichier 
 	"# Le 4ème champ est le répertoire racine utilisé\n"
 	"# (p.e. ~/Mail ou ~/News)\n"
 
-#: src/lang.c:489
+#: src/lang.c:490
 #, c-format
 msgid	"%s marked as unread"
 msgstr	"%s marqué comme non lu"
 
-#: src/lang.c:490
+#: src/lang.c:491
 #, c-format
 msgid	"Marked %d of %d tagged %s as read"
 msgstr	"%d marqué(s) sur %d sélectionné(s) %s comme lu(s)"
 
-#: src/lang.c:491
+#: src/lang.c:492
 #, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	"Marquer tous les articles comme lus%s ?"
 
-#: src/lang.c:492
+#: src/lang.c:493
 #, c-format
 msgid	"Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr	"Marquer %s=art. marqués, %s=article actuel, %s=quitter : "
 
-#: src/lang.c:493
+#: src/lang.c:494
 #, c-format
 msgid	"Mark group %s as read?"
 msgstr	"Marquer le groupe %s comme lu ?"
 
-#: src/lang.c:494
+#: src/lang.c:495
 #, c-format
 msgid	"Mark thread as read%s?"
 msgstr	"Marquer le fil comme lu%s ?"
 
-#: src/lang.c:495
+#: src/lang.c:496
 #, c-format
 msgid	"Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr	"Marquer %s=art./fils marqués, %s=fil actuel, %s=quitter : "
 
-#: src/lang.c:496
+#: src/lang.c:497
 #, c-format
 msgid	"Matching %s groups..."
 msgstr	"%s groupes correspondants..."
 
-#: src/lang.c:497 src/lang.c:501
+#: src/lang.c:498 src/lang.c:502
 #, 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:498
+#: src/lang.c:499
 #, c-format
 msgid	"%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list "
 	"thread"
 msgstr	"%s=rech. auteur; %s=tout lu; %s=bas; %s=haut; %s=marquer lu; %s=voir fil"
 
-#: src/lang.c:499
+#: src/lang.c:500
 #, 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:500
+#: src/lang.c:501
 #, c-format
 msgid	"%s=search forwards; %s=search backwards; %s=quit"
 msgstr	"%s=recherche avant; %s=recherche arrière; %s=quitter"
 
-#: src/lang.c:502
+#: src/lang.c:503
 #, 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:503
+#: src/lang.c:504
 #, 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:504
+#: src/lang.c:505
 #, 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:505
+#: src/lang.c:506
 #, c-format
 msgid	"%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out"
 msgstr	"%s=abonner; %s=sous-critère; %s=désabonner; %s=critère; %s=liste des groupes"
 
-#: src/lang.c:506
+#: src/lang.c:507
 #, 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:507
+#: src/lang.c:508
 #, 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:508
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	"-- Suite --"
 
-#: src/lang.c:509
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	"Déplacement de %s..."
 
 # TRANSLATION MISSING
-#: src/lang.c:510
+#: src/lang.c:511
 msgid	"Message-ID: & last Reference  "
 msgstr	""
 
-#: src/lang.c:511
+#: src/lang.c:512
 msgid	"Message-ID: line              "
 msgstr	"l'en-tête 'Message-ID:'"
 
 # TRANSLATION MISSING
-#: src/lang.c:512
+#: src/lang.c:513
 msgid	"Message-ID: & References: line"
 msgstr	""
 
-#: src/lang.c:514
+#: src/lang.c:515
 msgid	", name: "
 msgstr	", nom : "
 
-#: src/lang.c:515
+#: src/lang.c:516
 #, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	"Aller dans le groupe [%s]> "
 
-#: src/lang.c:516
+#: src/lang.c:517
 msgid	"newsgroups"
 msgstr	"groupes"
 
-#: src/lang.c:517
+#: src/lang.c:518
 #, 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:518
+#: src/lang.c:519
 msgid	"newsgroup"
 msgstr	"groupe"
 
-#: src/lang.c:519
+#: src/lang.c:520
 msgid	"Try and save newsrc file again?"
 msgstr	"Encore essayer et enregistrer le newsrc ?"
 
-#: src/lang.c:520
+#: src/lang.c:521
 msgid	"Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr	"Attention : Aucuns groupes n'a été écrits dans le newsrc. Enregistrement "
 	"annulé."
 
-#: src/lang.c:521
+#: src/lang.c:522
 msgid	"newsrc file saved successfully.\n"
 msgstr	"le newsrc a été enregistré avec succès.\n"
 
-#: src/lang.c:522
+#: src/lang.c:523
 msgid	"-- Next response --"
 msgstr	"-- Réponse suivante --"
 
-#: src/lang.c:523
+#: src/lang.c:524
 #, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"Mot de passe NNTP introuvable pour %s"
 
-#: src/lang.c:524
+#: src/lang.c:525
 msgid	"No  "
 msgstr	"Non "
 
-#: src/lang.c:525
+#: src/lang.c:526
 msgid	"*** No articles ***"
 msgstr	"*** Aucun article ***"
 
-#: src/lang.c:526
+#: src/lang.c:527
 msgid	"No articles have been posted"
 msgstr	"Aucun article n'a été posté"
 
-#: src/lang.c:527
+#: src/lang.c:528
 msgid	"*** No description ***"
 msgstr	"*** Aucune description ***"
 
-#: src/lang.c:528
+#: src/lang.c:529
 msgid	"No filename"
 msgstr	"Pas de nom de fichier"
 
-#: src/lang.c:529
+#: src/lang.c:530
 msgid	"No group"
 msgstr	"Pas de groupe"
 
-#: src/lang.c:530
+#: src/lang.c:531
 msgid	"*** No groups ***"
 msgstr	"*** Aucun groupe ***"
 
-#: src/lang.c:531
+#: src/lang.c:532
 msgid	"No more groups to read"
 msgstr	"Plus de groupes à lire"
 
-#: src/lang.c:532
+#: src/lang.c:533
 msgid	"No last message"
 msgstr	"Aucun dernier message"
 
-#: src/lang.c:533
+#: src/lang.c:534
 msgid	"No mail address"
 msgstr	"Aucune adresse email"
 
-#: src/lang.c:534
+#: src/lang.c:535
 msgid	"No articles marked for saving"
 msgstr	"Aucun article marqué à enregistrer"
 
-#: src/lang.c:535
+#: src/lang.c:536
 msgid	"No match"
 msgstr	"Aucun résultat"
 
-#: src/lang.c:536
+#: src/lang.c:537
 msgid	"No more groups"
 msgstr	"Plus de groupes"
 
-#: src/lang.c:537
+#: src/lang.c:538
 msgid	"No newsgroups"
 msgstr	"Aucun groupe"
 
-#: src/lang.c:538
+#: src/lang.c:539
 msgid	"No next unread article"
 msgstr	"Aucun article non lu suivant"
 
-#: src/lang.c:539
+#: src/lang.c:540
 msgid	"No previous group"
 msgstr	"Aucun groupe précédent"
 
-#: src/lang.c:540
+#: src/lang.c:541
 msgid	"No previous unread article"
 msgstr	"Aucun article non lu précédent"
 
-#: src/lang.c:541
+#: src/lang.c:542
 msgid	"No responses"
 msgstr	"Aucune réponse"
 
-#: src/lang.c:542
+#: src/lang.c:543
 msgid	"No responses to list in current thread"
 msgstr	"Aucune réponse à afficher dans le fil actuel"
 
-#: src/lang.c:543
+#: src/lang.c:544
 msgid	"No search string"
 msgstr	"Aucun terme à rechercher"
 
-#: src/lang.c:544
+#: src/lang.c:545
 msgid	"No subject"
 msgstr	"Aucun sujet"
 
-#: src/lang.c:546
+#: src/lang.c:547
 #, 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:547
+#: src/lang.c:548
 #, 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:548
+#: src/lang.c:549
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	"%s: Terminal doit avoir la fonction clearscreen (cl)\n"
 
-#: src/lang.c:549
+#: src/lang.c:550
 #, 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:550
+#: src/lang.c:551
 #, 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:552
+#: src/lang.c:553
 #, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	"Visualiseur introuvable pour %s/%s\n"
 
-#: src/lang.c:553
+#: src/lang.c:554
 msgid	"Newsgroup does not exist on this server"
 msgstr	"Groupe inexistant sur ce serveur"
 
-#: src/lang.c:554
+#: src/lang.c:555
 #, c-format
 msgid	"Group %s not found in active file"
 msgstr	"Groupe %s introuvable dans le fichier active"
 
-#: src/lang.c:555
+#: src/lang.c:556
 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:556
+#: src/lang.c:557
 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:557
+#: src/lang.c:558
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2422,40 +2399,40 @@ msgstr	"# Serveur NNTP -> tableau de cor
 	"#   news.ka.nu    /tmp/nrc-nu      kanu    nu\n"
 	"#\n"
 
-#: src/lang.c:564
+#: src/lang.c:565
 msgid	"Only"
 msgstr	"Actuel"
 
-#: src/lang.c:565
+#: src/lang.c:566
 #, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	"Option non activée. Recompilez avec %s."
 
-#: src/lang.c:566
+#: src/lang.c:567
 msgid	"Options Menu"
 msgstr	"Menu Options"
 
-#: src/lang.c:569
+#: src/lang.c:570
 #, c-format
 msgid	"Error in regex: %s at pos. %d '%s'"
 msgstr	"Erreur dans la regex : %s à %d '%s'"
 
-#: src/lang.c:570
+#: src/lang.c:571
 #, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	"Erreur dans la regex : erreur pcre interne %d"
 
-#: src/lang.c:571
+#: src/lang.c:572
 #, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	"Erreur dans la regex : study - erreur pcre interne %s"
 
-#: src/lang.c:572
+#: src/lang.c:573
 msgid	"Post a followup..."
 msgstr	"Postage du suivi..."
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:574
+#: src/lang.c:575
 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"
@@ -2463,135 +2440,131 @@ msgstr	"Une erreur est survenue lors du 
 	"cette erreur est temporaire ou alors corrigeable, vous pouvez enregistrer\n"
 	"l'article comme brouillon et le réutiliser plus tard grâce à la commande ^O.\n"
 
-#: src/lang.c:577
+#: src/lang.c:578
 msgid	"Posted articles history"
 msgstr	"Historique des articles postés"
 
-#: src/lang.c:578
+#: src/lang.c:579
 #, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	"Poster dans groupe(s) [%s]> "
 
-#: src/lang.c:579
+#: src/lang.c:580
 msgid	"-- post processing started --"
 msgstr	"-- post-traitement lancé --"
 
-#: src/lang.c:580
+#: src/lang.c:581
 msgid	"-- post processing completed --"
 msgstr	"-- post-traitement terminé --"
 
-#: src/lang.c:581
+#: src/lang.c:582
 #, c-format
 msgid	"Post subject [%s]> "
 msgstr	"Poster le sujet [%s] > "
 
-#: src/lang.c:582
+#: src/lang.c:583
 msgid	"# Summary of mailed/posted messages viewable by 'W' command from within tin.\n"
 msgstr	"# Sommaire des messages envoyés/postés visible par la commande 'W' depuis "
 	"tin.\n"
 
-#: src/lang.c:583
+#: src/lang.c:584
 msgid	"Posting article..."
 msgstr	"Postage de l'article..."
 
-#: src/lang.c:584
+#: src/lang.c:585
 #, 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:585
+#: src/lang.c:586
 #, c-format
 msgid	"Hot %s"
 msgstr	"%s sélectionné"
 
-#: src/lang.c:586
+#: src/lang.c:587
 #, c-format
 msgid	"Tagged %s"
 msgstr	"%s marqué"
 
-#: src/lang.c:587
+#: src/lang.c:588
 #, c-format
 msgid	"Untagged %s"
 msgstr	"%s non marqué"
 
-#: src/lang.c:588
+#: src/lang.c:589
 msgid	"Processing mail messages marked for deletion."
 msgstr	"Traitement des emails enregistrés marqués pour effacement."
 
-#: src/lang.c:589
+#: src/lang.c:590
 msgid	"Processing saved articles marked for deletion."
 msgstr	"Traitement des articles enregistrés marqués pour effacement."
 
-#: src/lang.c:590
+#: src/lang.c:591
 #, 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:591
+#: src/lang.c:592
 msgid	"Article unchanged, abort mailing?"
 msgstr	"Article inchangé, annuler l'envoi ?"
 
-#: src/lang.c:592
+#: src/lang.c:593
 #, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	"Voulez-vous voir les brouillons (%d) ?"
 
-#: src/lang.c:594
+#: src/lang.c:595
 msgid	"Add quick kill filter?"
 msgstr	"Ajouter rapidement un filtre ?"
 
-#: src/lang.c:595
+#: src/lang.c:596
 msgid	"Add quick selection filter?"
 msgstr	"Ajouter rapidement une règle ?"
 
-#: src/lang.c:596
+#: src/lang.c:597
 msgid	"Do you really want to quit?"
 msgstr	"Voulez-vous réellement quitter ?"
 
-#: src/lang.c:597
+#: src/lang.c:598
 #, 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:598
+#: src/lang.c:599
 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:599
+#: src/lang.c:600
 #, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	"%s=quitter, %s=éditer, %s=brouillon : "
 
-#: src/lang.c:600
+#: src/lang.c:601
 #, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	"%s=quitter, %s=éditer, %s=enregistrer le filtre : "
 
-#: src/lang.c:601
+#: src/lang.c:602
 #, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	"%s=quitter %s=éditer %s=enregistrer la règle : "
 
-#: src/lang.c:602
+#: src/lang.c:603
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	"Voulez-vous réellement quitter sans enregistrer votre configuration ?"
 
-#: src/lang.c:605
+#: src/lang.c:606
 msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	"Champ invalide - '0-9.$' pe. 1-$ est valide"
 
-#: src/lang.c:606
+#: src/lang.c:607
 msgid	"Do you want to abort this operation?"
 msgstr	"Voulez-vous annuler cette opération ?"
 
-#: src/lang.c:607
+#: src/lang.c:608
 msgid	"Do you want to exit tin immediately?"
 msgstr	"Voulez-vous quitter tin immédiatement ?"
 
-#: src/lang.c:608
-msgid	"Read response> "
-msgstr	"Lire la réponse> "
-
 #: src/lang.c:609
 msgid	"Reading ('q' to quit)..."
 msgstr	"Lecture ('q' pour quitter)..."
@@ -2645,7 +2618,6 @@ msgid	"Reading newsrc file..."
 msgstr	"Lecture du fichier newsrc..."
 
 #: src/lang.c:621
-#, fuzzy
 msgid	"References: line              "
 msgstr	"l'en-tête 'References:'"
 
@@ -2694,11 +2666,6 @@ msgstr	"Les réponses ont été redirigées 
 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:634
-#, c-format
-msgid	"RespNo %4d of %4d"
-msgstr	"Réponse %4d sur %4d"
-
 #: src/lang.c:635
 msgid	"Press <RETURN> to continue..."
 msgstr	"Appuyez sur <RETOUR> pour continuer..."
@@ -3492,8 +3459,8 @@ msgstr	"\n"
 	"            via le M)enu.\n"
 
 #: src/lang.c:843
-msgid	"  -D       debug mode 1=NNTP 2=ALL"
-msgstr	"  -D       mode debug 1=NNTP 2=TOUS"
+msgid	"  -D mode  debug mode"
+msgstr	"  -D mode  mode debug"
 
 #: src/lang.c:847
 msgid	"Read carefully!\n"
@@ -3758,8 +3725,8 @@ msgstr	"Nom du serveur NNTP introuvable"
 
 #: src/lang.c:944
 #, c-format
-msgid	"Connecting to %s:%d..."
-msgstr	"Connexion à %s:%d..."
+msgid	"Connecting to %s:%u..."
+msgstr	"Connexion à %s:%u..."
 
 #: src/lang.c:945
 msgid	"Disconnecting from server...\n"
@@ -4091,7 +4058,7 @@ msgstr	"Le terminal ne supporte pas les 
 msgid	"Trying %s"
 msgstr	"Essai %s"
 
-#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:296
+#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:304
 msgid	"None"
 msgstr	"Aucun"
 
@@ -4488,9 +4455,9 @@ msgstr	"Options de filtrage"
 #: src/lang.c:2020 src/lang.c:2027 src/lang.c:2034 src/lang.c:2041 src/lang.c:2048
 #: src/lang.c:2056 src/lang.c:2072 src/lang.c:2079 src/lang.c:2086 src/lang.c:2093
 #: src/lang.c:2099 src/lang.c:2105 src/lang.c:2122 src/lang.c:2134 src/lang.c:2168
-#: src/lang.c:2221 src/lang.c:2228 src/lang.c:2234 src/lang.c:2259 src/lang.c:2276
-#: src/lang.c:2329 src/lang.c:2365 src/lang.c:2385 src/lang.c:2420 src/lang.c:2430
-#: src/lang.c:2455 src/lang.c:2471 src/lang.c:2490 src/lang.c:2503
+#: src/lang.c:2221 src/lang.c:2235 src/lang.c:2241 src/lang.c:2266 src/lang.c:2283
+#: src/lang.c:2336 src/lang.c:2372 src/lang.c:2392 src/lang.c:2427 src/lang.c:2437
+#: src/lang.c:2462 src/lang.c:2478 src/lang.c:2497 src/lang.c:2510
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"<ESPACE> change, <RETOUR> valide, <ESC> annule."
 
@@ -5988,19 +5955,33 @@ msgstr	"MM_NETWORK_CHARSET"
 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:2227
+#, fuzzy
+msgid	"Enter local charset name (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:2228
+#, fuzzy
+msgid	"MM_LOCAL_CHARSET"
+msgstr	"MM_CHARSET"
+
 #: src/lang.c:2229
+msgid	"# Charset supported locally.\n"
+msgstr	""
+
+#: src/lang.c:2236
 msgid	"Mailbox format"
 msgstr	"Format de la boîte à lettres"
 
-#: src/lang.c:2230
+#: src/lang.c:2237
 msgid	"# Format of the mailbox.\n"
 msgstr	"# Format de la boîte à lettres\n"
 
-#: src/lang.c:2235
+#: src/lang.c:2242
 msgid	"MIME encoding in news messages"
 msgstr	"Encodage MIME dans les messages usenet"
 
-#: src/lang.c:2236
+#: src/lang.c:2243
 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"
 	"# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n"
@@ -6013,15 +5994,15 @@ msgstr	"# Si nécessaire, encodage MIME (
 	"# 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:2244 src/lang.c:2265
+#: src/lang.c:2251 src/lang.c:2272
 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:2245
+#: src/lang.c:2252
 msgid	"Use 8bit characters in news headers"
 msgstr	"Caractères 8bit dans les en-têtes usenet"
 
-#: src/lang.c:2246
+#: src/lang.c:2253
 msgid	"# If ON, 8bit characters in news headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in header are encoded regardless of the value of this\n"
@@ -6032,28 +6013,28 @@ msgstr	"# Si ON, les caractères 8bit dan
 	"# de la valeur de cette option sauf si post_mime_encoding a comme\n"
 	"# valeur 8bit.\n"
 
-#: src/lang.c:2253
+#: src/lang.c:2260
 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:2254
+#: src/lang.c:2261
 msgid	"View post-processed files"
 msgstr	"Voir les fichiers traités"
 
-#: src/lang.c:2255
+#: src/lang.c:2262
 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:2260
+#: src/lang.c:2267
 msgid	"MIME encoding in mail messages"
 msgstr	"Encodage MIME pour les mails"
 
-#: src/lang.c:2266
+#: src/lang.c:2273
 msgid	"Use 8bit characters in mail headers"
 msgstr	"Caractères 8bits dans en-têtes mail"
 
-#: src/lang.c:2267
+#: src/lang.c:2274
 msgid	"# If ON, 8bit characters in mail headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in headers are encoded regardless of the value of this "
@@ -6071,26 +6052,26 @@ msgstr	"# Si ON, les caractères 8bit dan
 	"# mails donc nous vous conseillons de ne PAS activer cette option sauf si\n"
 	"# vous avez une bonne raison.\n"
 
-#: src/lang.c:2277
+#: src/lang.c:2284
 msgid	"Strip blanks from ends of lines"
 msgstr	"Nettoyer les fins de lignes"
 
-#: src/lang.c:2278
+#: src/lang.c:2285
 msgid	"# If ON strip blanks from ends of lines for faster display on slow "
 	"terminals.\n"
 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:2283
+#: src/lang.c:2290
 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:2284
+#: src/lang.c:2291
 msgid	"Transliteration"
 msgstr	"Translitération (conversion)"
 
-#: src/lang.c:2285
+#: src/lang.c:2292
 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"
@@ -6098,147 +6079,147 @@ msgstr	"# Si ON, utilise l'extension //T
 	"# 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:2292
+#: src/lang.c:2299
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"Vous envoie automatiquement une copie (CC). <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2293
+#: src/lang.c:2300
 msgid	"Send you a cc automatically"
 msgstr	"Envoyer automatiquement une copie"
 
-#: src/lang.c:2294
+#: src/lang.c:2301
 msgid	"# If ON automatically put your name in the Cc: field when mailing an article\n"
 msgstr	"# Si ON, inclus automatiquement votre nom dans le champ Cc: lors d'un envoi\n"
 	"# par mail d'un article.\n"
 
-#: src/lang.c:2298
+#: src/lang.c:2305
 msgid	"Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"Vous envoie automatiquement une copie privée (BCC). <ESPACE> change & "
 	"<RETOUR> valide."
 
-#: src/lang.c:2299
+#: src/lang.c:2306
 msgid	"Send you a blind cc automatically"
 msgstr	"Envoi automatique d'une copie privée"
 
-#: src/lang.c:2300
+#: src/lang.c:2307
 msgid	"# If ON automatically put your name in the Bcc: field when mailing an "
 	"article\n"
 msgstr	"# Si ON, inclus automatiquement votre nom dans le champ Bcc: lors d'un envoi\n"
 	"# par mail d'un article.\n"
 
-#: src/lang.c:2304
+#: src/lang.c:2311
 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:2305
+#: src/lang.c:2312
 msgid	"Spamtrap warning address parts"
 msgstr	"Pièges à spam dans les adresses"
 
-#: src/lang.c:2306
+#: src/lang.c:2313
 msgid	"# A comma-delimited list of address-parts you want to be warned\n"
 	"# about when trying to reply by email.\n"
 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:2311
+#: src/lang.c:2318
 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:2312
+#: src/lang.c:2319
 msgid	"No. of days a filter entry is valid"
 msgstr	"Durée de validité d'un filtre"
 
-#: src/lang.c:2313
+#: src/lang.c:2320
 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:2317
+#: src/lang.c:2324
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	"Créer un filtre pour les articles postés. <ESPACE> change & <RETOUR> valide."
 
-#: src/lang.c:2318
+#: src/lang.c:2325
 msgid	"Add posted articles to filter"
 msgstr	"Créer un filtre pour les articles postés"
 
-#: src/lang.c:2319
+#: src/lang.c:2326
 msgid	"# If ON add posted articles which start a new thread to filter for\n"
 	"# highlighting follow-ups\n"
 msgstr	"# Si ON, crée un filtre pour les articles débutant un nouveau fil\n"
 	"# afin de mettre en surbrillance les suivis.\n"
 
-#: src/lang.c:2323
+#: src/lang.c:2330
 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:2324
+#: src/lang.c:2331
 msgid	"Mail directory"
 msgstr	"Répertoire mail"
 
-#: src/lang.c:2325
+#: src/lang.c:2332
 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:2330
+#: src/lang.c:2337
 msgid	"Save articles in batch mode (-S)"
 msgstr	"Enregistrer articles en arrière-plan (-S)"
 
-#: src/lang.c:2331
+#: src/lang.c:2338
 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	"# 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:2336
+#: src/lang.c:2343
 msgid	"The directory where you want articles/threads saved."
 msgstr	"Le répertoire où vous voulez enregistrer les articles/fils."
 
-#: src/lang.c:2337
+#: src/lang.c:2344
 msgid	"Directory to save arts/threads in"
 msgstr	"Répertoire où enregistrer les articles/fils"
 
-#: src/lang.c:2338
+#: src/lang.c:2345
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	"# Répertoire où sont enregistrés les articles/fils\n"
 
-#: src/lang.c:2342
+#: src/lang.c:2349
 msgid	"Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> sets."
 msgstr	"Enregistrement auto. basé sur l'en-tête Archive-name:. <ESPACE> change & "
 	"<RETOUR> valide."
 
-#: src/lang.c:2343
+#: src/lang.c:2350
 msgid	"Use Archive-name: header for save"
 msgstr	"Honorer l'en-tête 'Archive-name:'"
 
-#: src/lang.c:2344
+#: src/lang.c:2351
 msgid	"# If ON articles/threads with Archive-name: in mail header will\n"
 	"# be automatically saved with the Archive-name & part/patch no.\n"
 msgstr	"# Si ON, les articles/fils avec 'Archive-name:' dans l'en-tête\n"
 	"# du mail seront enregistrés automatiquement avec l'Archive-name\n"
 	"# & le numéro de la partie et ou patch.\n"
 
-#: src/lang.c:2349
+#: src/lang.c:2356
 msgid	"Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 	"cancels."
 msgstr	"Marquer lu les articles/fils enregistrés. <ESPACE> change, <RETOUR> valide, "
 	"<ESC> annule."
 
-#: src/lang.c:2350
+#: src/lang.c:2357
 msgid	"Mark saved articles/threads as read"
 msgstr	"Marquer lu les articles/fils enregistrés"
 
-#: src/lang.c:2351
+#: src/lang.c:2358
 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:2355
+#: src/lang.c:2362
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	"Post-traiter (p.e. extraire les pj) les articles enregistrés."
 
-#: src/lang.c:2356
+#: src/lang.c:2363
 msgid	"Post process saved articles"
 msgstr	"Post-traiter les articles enregistrés"
 
-#: src/lang.c:2357
+#: src/lang.c:2364
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no\n"
@@ -6250,104 +6231,104 @@ msgstr	"# Post-traitement (enregistremen
 	"#   1 = extraire uniquement les *.shar (archives shell)\n"
 	"#   2 = oui\n"
 
-#: src/lang.c:2366
+#: src/lang.c:2373
 msgid	"Process only unread articles"
 msgstr	"Traiter uniquement les articles non lus"
 
-#: src/lang.c:2367
+#: src/lang.c:2374
 msgid	"# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n"
 msgstr	"# Si ON, enregistre/imprime/pipe/envoi articles non lu\n"
 	"# (excepté les articles marqués)\n"
 
-#: src/lang.c:2372
+#: src/lang.c:2379
 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:2373
+#: src/lang.c:2380
 msgid	"Print all headers when printing"
 msgstr	"Imprimer tous les en-têtes"
 
-#: src/lang.c:2374
+#: src/lang.c:2381
 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:2378
+#: src/lang.c:2385
 msgid	"The printer program with options that is to be used to print articles/threads."
 msgstr	"Le logiciel d'impression avec options utilisées pour imprimer les articles/"
 	"fils."
 
-#: src/lang.c:2379
+#: src/lang.c:2386
 msgid	"Printer program with options"
 msgstr	"Logiciel d'impression avec options"
 
-#: src/lang.c:2380
+#: src/lang.c:2387
 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:2386
+#: src/lang.c:2393
 msgid	"Force redraw after certain commands"
 msgstr	"Rafraîchir l'écran après certaines actions"
 
-#: src/lang.c:2387
+#: src/lang.c:2394
 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:2391
+#: src/lang.c:2398
 msgid	"Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"Lancer l'éditeur avec une ligne décalée. <ESPACE> change, <RETOUR> valide, "
 	"<ESC> annule."
 
-#: src/lang.c:2392
+#: src/lang.c:2399
 msgid	"Start editor with line offset"
 msgstr	"Lancer l'éditeur avec une ligne décalée"
 
-#: src/lang.c:2393
+#: src/lang.c:2400
 msgid	"# If ON editor will be started with cursor offset into the file\n"
 	"# otherwise the cursor will be positioned at the first line\n"
 msgstr	"# Si ON, l'éditeur sera lancé avec le curseur décalé\n"
 	"# sinon, le curseur sera positionné sur la première ligne\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2405
 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:2399
+#: src/lang.c:2406
 msgid	"Invocation of your editor"
 msgstr	"Lancement de votre éditeur"
 
-#: src/lang.c:2400
+#: src/lang.c:2407
 #, c-format
 msgid	"# Format of editor line including parameters\n"
 	"# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr	"# Format des paramètres pour l'éditeur\n"
 	"# %%E Éditeur  %%F Fichier  %%N N° de ligne\n"
 
-#: src/lang.c:2405
+#: src/lang.c:2412
 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:2406
+#: src/lang.c:2413
 msgid	"External inews"
 msgstr	"Inews externe"
 
-#: src/lang.c:2407
+#: src/lang.c:2414
 msgid	"# If --internal use the built in mini inews for posting via NNTP\n"
 	"# otherwise use an external inews program\n"
 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:2411
+#: src/lang.c:2418
 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:2412
+#: src/lang.c:2419
 msgid	"Invocation of your mail command"
 msgstr	"Lancement de votre client mail"
 
-#: src/lang.c:2413
+#: src/lang.c:2420
 #, c-format
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
@@ -6358,11 +6339,11 @@ msgstr	"# Format des paramètres pour le 
 	"# p.e. pour utiliser elm comme MUA : elm -s \"%%S\" \"%%T\" < %%F\n"
 	"# p.e. pour elm interactif         : elm -i %%F -s \"%%S\" \"%%T\"\n"
 
-#: src/lang.c:2421
+#: src/lang.c:2428
 msgid	"Use interactive mail reader"
 msgstr	"Utiliser un MUA interactif"
 
-#: src/lang.c:2422
+#: src/lang.c:2429
 msgid	"# Interactive mailreader\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no interactive mailreader\n"
@@ -6374,59 +6355,59 @@ msgstr	"# MUA interactif :\n"
 	"#   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:2431
+#: src/lang.c:2438
 msgid	"Remove ~/.article after posting"
 msgstr	"Effacer ~/.article après le postage"
 
-#: src/lang.c:2432
+#: src/lang.c:2439
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	"# Si ON, effacer ~/.article après le postage.\n"
 
-#: src/lang.c:2436
+#: src/lang.c:2443
 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:2437
+#: src/lang.c:2444
 msgid	"Filename for posted articles"
 msgstr	"Fichier pour les articles postés"
 
-#: src/lang.c:2438
+#: src/lang.c:2445
 msgid	"# Filename where to keep all postings (default posted)\n"
 	"# If no filename is set then postings will not be saved\n"
 msgstr	"# Fichier où enregistrer les articles postés ('posted' par défaut)\n"
 	"# Si aucun fichier n'est indiqué, les articles postés ne seront pas\n"
 	"# enregistrés\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2450
 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:2444
+#: src/lang.c:2451
 msgid	"Keep failed arts in ~/dead.articles"
 msgstr	"Articles non postés dans ~/dead.articles"
 
-#: src/lang.c:2445
+#: src/lang.c:2452
 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:2449
+#: src/lang.c:2456
 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:2450
+#: src/lang.c:2457
 msgid	"No unsubscribed groups in newsrc"
 msgstr	"Pas de groupes désabonnés dans newsrc"
 
-#: src/lang.c:2451
+#: src/lang.c:2458
 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:2456
+#: src/lang.c:2463
 msgid	"Remove bogus groups from newsrc"
 msgstr	"Effacer les groupes corrompus de newsrc"
 
-#: src/lang.c:2457
+#: src/lang.c:2464
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = keep\n"
@@ -6438,55 +6419,55 @@ msgstr	"# Que faire des groupes corrompu
 	"#   1 = effacer\n"
 	"#   2 = marquer d'un D dans l'écran de sélection\n"
 
-#: src/lang.c:2465
+#: src/lang.c:2472
 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:2466
+#: src/lang.c:2473
 msgid	"Interval in secs to reread active"
 msgstr	"Durée avant relecture du fichier active"
 
-#: src/lang.c:2467
+#: src/lang.c:2474
 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:2472
+#: src/lang.c:2479
 msgid	"Reconnect to server automatically"
 msgstr	"Reconnexion automatique au serveur"
 
-#: src/lang.c:2473
+#: src/lang.c:2480
 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:2477
+#: src/lang.c:2484
 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:2478
+#: src/lang.c:2485
 msgid	"Cache NNTP overview files locally"
 msgstr	"Cache local des en-têtes NNTP"
 
-#: src/lang.c:2479
+#: src/lang.c:2486
 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:2483
+#: src/lang.c:2490
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	"Formatage des dates. <RETOUR> valide, <ESC> annule."
 
-#: src/lang.c:2484
+#: src/lang.c:2491
 msgid	"Format string for display of dates"
 msgstr	"Format des dates affichées"
 
-#: src/lang.c:2485
+#: src/lang.c:2492
 msgid	"# Format string for date representation\n"
 msgstr	"# Format des dates affichées\n"
 
-#: src/lang.c:2491
+#: src/lang.c:2498
 msgid	"Unicode normalization form"
 msgstr	"Normalisation d'Unicode"
 
-#: src/lang.c:2492
+#: src/lang.c:2499
 msgid	"# Unicode normalization form\n"
 	"# Possible values are (the default is marked with *):\n"
 	"#   0 = None\n"
@@ -6502,49 +6483,54 @@ msgstr	"# Normalisation d'Unicode\n"
 	"#   3 = NFC\n"
 	"#   4 = NFD\n"
 
-#: src/lang.c:2504
+#: src/lang.c:2511
 msgid	"Render BiDi"
 msgstr	"Rendu BiDi"
 
-#: src/lang.c:2505
+#: src/lang.c:2512
 msgid	"# If ON, bi-directional text is rendered by tin\n"
 msgstr	"# Si ON, le texte bi-directionnel est affiché par tin\n"
 
-#: src/misc.c:3693
+#: src/misc.c:3697
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\") %s %s\n"
 msgstr	"Version : %s %s release %s (\"%s\") %s %s\n"
 
-#: src/misc.c:3696
+#: src/misc.c:3700
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\")\n"
 msgstr	"Version : %s %s release %s (\"%s\")\n"
 
-#: src/newsrc.c:430
+#: src/newsrc.c:436
 msgid	"Unreachable?\n"
 msgstr	"Inacessible ?\n"
 
-#: src/nntplib.c:816
+#: src/nntplib.c:818
 #, c-format
 msgid	"\n"
 	"Server timed out, trying reconnect # %d\n"
 msgstr	"\n"
 	"Connexion au serveur expirée, reconnexion # %d\n"
 
-#: src/nntplib.c:834 src/nntplib.c:1644
+#: src/nntplib.c:836 src/nntplib.c:1708
 msgid	"Rejoin current group\n"
 msgstr	"Rejoindre le groupe actuel\n"
 
-#: src/nntplib.c:841 src/nntplib.c:1651
+#: src/nntplib.c:844 src/nntplib.c:1716
 #, c-format
 msgid	"Read (%s)\n"
 msgstr	"Lecture (%s)\n"
 
-#: src/nntplib.c:843
+#: src/nntplib.c:846
 #, c-format
 msgid	"Resend last command (%s)\n"
 msgstr	"Réenvoyer la dernière commande (%s)\n"
 
+#. as a last resort check if post was mentioned
+#: src/nntplib.c:1131
+msgid	"CAPABILITIES did not announce any of READER, MODE-READER, POST"
+msgstr	""
+
 # TRANSLATION MISSING
 #.
 #. * TODO: - store a hash value of the entire motd in the server-rc
@@ -6553,24 +6539,24 @@ msgstr	"Réenvoyer la dernière commande (
 #. *       - use some sort of pager?
 #. *       - -> lang.c
 #.
-#: src/nntplib.c:1783
+#: src/nntplib.c:1855
 msgid	"MOTD: "
 msgstr	""
 
-#: src/nrctbl.c:170
+#: src/nrctbl.c:173
 #, c-format
 msgid	"couldn't expand %s\n"
 msgstr	"impossible de décompacter %s\n"
 
 # TRANSLATION MISSING
-#: src/post.c:1134
+#: src/post.c:1144
 #, c-format
 msgid	"Line %d is longer than 998 octets and should be folded, but\n"
 	"encoding is neither set to %s nor to %s\n"
 msgstr	""
 
 # TRANSLATION MISSING
-#: src/post.c:1139
+#: src/post.c:1149
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n"
@@ -6578,36 +6564,35 @@ msgid	"Line %d is longer than 998 octets
 msgstr	""
 
 # TRANSLATION MISSING
-#: src/post.c:1141
+#: src/post.c:1151
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is not set to %s\n"
 msgstr	""
 
-#: src/post.c:1960
+#: src/post.c:1970
 #, c-format
 msgid	"Posting: %.*s ..."
 msgstr	"Postage : %.*s ..."
 
 #. Check if okay to read
-#: src/read.c:191
+#: src/read.c:190
 msgid	"Aborting read, please wait..."
 msgstr	"Annulation de la lecture, un moment svp..."
 
-#: src/read.c:338
+#: src/read.c:337
 msgid	"Aborted read\n"
 msgstr	"Lecture annulée\n"
 
-#: src/read.c:394
+#: src/read.c:393
 msgid	"Draining\n"
 msgstr	"Purge\n"
 
-#. Don't hash the initial '<'
-#: src/refs.c:251
+#: src/refs.c:248
 msgid	"unchanged"
 msgstr	"non changé"
 
-#: src/refs.c:609
+#: src/refs.c:549
 msgid	"[- Unavailable -]"
 msgstr	"[- Indisponible -]"
 
@@ -6615,7 +6600,7 @@ msgstr	"[- Indisponible -]"
 #. * preamble
 #. * TODO: -> lang.c
 #.
-#: src/rfc2047.c:1201
+#: src/rfc2047.c:1270
 #, c-format
 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 modified\n"
@@ -6626,7 +6611,7 @@ msgstr	"Ce message a été composé avec le
 	"ce qui suit peut paraître assez bizarre.\n"
 	"\n"
 
-#: src/save.c:964
+#: src/save.c:966
 msgid	"bytes"
 msgstr	"octets"
 
@@ -6638,22 +6623,27 @@ msgstr	"non lu(s)"
 msgid	"all"
 msgstr	"tout"
 
-#: src/select.c:549 src/select.c:551
+#: src/select.c:553 src/select.c:555
 msgid	" R"
 msgstr	" R"
 
-#. TODO: use tin global 'homedir' instead? or even rcdir?
-#: src/xface.c:91
+# TRANSLATION OUTDATED
+#: src/xface.c:70
+#, fuzzy
+msgid	"Can't run slrnface: Not running in a xterm."
+msgstr	"Lancement de Slrnface impossible : création du nom fifo impossible."
+
+#: src/xface.c:82 src/xface.c:93 src/xface.c:102
 #, c-format
 msgid	"Can't run slrnface: Environment variable %s not found."
 msgstr	"Lancement de slrnface impossible : Variable %s introuvable."
 
-#: src/xface.c:99 src/xface.c:131
+#: src/xface.c:111 src/xface.c:143
 #, c-format
 msgid	"Can't run slrnface: failed to create %s"
 msgstr	"Lancement de slrnface impossible : échec de la création de %s"
 
-#: src/xface.c:109
+#: src/xface.c:121
 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"
 	"the pipe is deleted right after it has been opened by both processes.\n"
@@ -6669,16 +6659,19 @@ msgstr	"Ce répertoire est utilisé pour c
 	"le pipe est effacé juste après son ouverture entre les processus.\n"
 	"\n"
 
-#: src/xface.c:123
+#: src/xface.c:135
 msgid	"Can't run slrnface: couldn't construct fifo name."
 msgstr	"Lancement de Slrnface impossible : création du nom fifo impossible."
 
-#: src/xface.c:162
+#: src/xface.c:174
 #, c-format
 msgid	"Slrnface abnormally exited, code %d."
 msgstr	"Fermeture anormale de Slrnface, code %d."
 
-#: src/xface.c:206
+#: src/xface.c:218
 #, c-format
 msgid	"Slrnface failed: %s."
 msgstr	"Échec de Slrnface : %s."
+
+#~ msgid	"%d Bad overview record %d (%d fields)"
+#~ msgstr	"%d Mauvais overview %d (%d champs)"
Binary files tin-1.9.2/po/ru.gmo and tin-1.9.3/po/ru.gmo differ
diff -Nurp tin-1.9.2/po/ru.po tin-1.9.3/po/ru.po
--- tin-1.9.2/po/ru.po	2007-02-01 14:02:44.000000000 +0100
+++ tin-1.9.3/po/ru.po	2008-05-06 18:46:07.000000000 +0200
@@ -5,7 +5,7 @@
 msgid	""
 msgstr	"Project-Id-Version: tin 1.8.2\n"
 	"Report-Msgid-Bugs-To: \n"
-	"POT-Creation-Date: 2007-02-01 14:02+0100\n"
+	"POT-Creation-Date: 2008-05-06 18:44+0200\n"
 	"PO-Revision-Date: 2006-04-21 15:39+0200\n"
 	"Last-Translator: Andrei Emeltchenko <andrei.emeltchenko@finik.org>\n"
 	"Language-Team: Russian <ru@li.org>\n"
@@ -15,284 +15,258 @@ msgstr	"Project-Id-Version: tin 1.8.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/art.c:1545
-#, c-format
-msgid	"%d Bad overview record (%d fields) '%s'"
-msgstr	""
-
-#: src/attrib.c:649
+#: src/attrib.c:700
 #, c-format
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	"# îÅ ÒÅÄÁËÔÉÒÕÊÔÅ ÜÔÏÔ ÂÌÏË ËÏÍÍÅÎÔÁÒÉÅ×\n"
 	"#\n"
 
-#: src/attrib.c:650
+#: src/attrib.c:701
 #, c-format
-msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
+msgid	"#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	"#  scope=óôòïëá (ÎÁÐÒ. alt.*,!alt.bin*) [mandatory]\n"
 
-#: src/attrib.c:651
+#: src/attrib.c:702
 #, c-format
-msgid	"#  maildir=STRING (ie. ~/Mail)\n"
+msgid	"#  maildir=STRING (eg. ~/Mail)\n"
 msgstr	"#  maildir=óôòïëá (ÎÁÐÒ. ~/Mail)\n"
 
-#: src/attrib.c:652
+#: src/attrib.c:703
 #, c-format
-msgid	"#  savedir=STRING (ie. ~user/News)\n"
+msgid	"#  savedir=STRING (eg. ~user/News)\n"
 msgstr	"#  savedir=óôòïëá (ÎÁÐÒ. ~user/News)\n"
 
-#: src/attrib.c:653
+#: src/attrib.c:704
 #, c-format
-msgid	"#  savefile=STRING (ie. =linux)\n"
+msgid	"#  savefile=STRING (eg. =linux)\n"
 msgstr	"#  savefile=óôòïëá (ÎÁÐÒ. =linux)\n"
 
-#: src/attrib.c:654
+#: src/attrib.c:705
 #, c-format
-msgid	"#  sigfile=STRING (ie. $var/sig)\n"
+msgid	"#  sigfile=STRING (eg. $var/sig)\n"
 msgstr	"#  sigfile=óôòïëá (ÎÁÐÒ. $var/sig)\n"
 
-#: src/attrib.c:655
+#: src/attrib.c:706
 #, c-format
 msgid	"#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr	"#  organization=óôòïëá (ÅÓÌÉ ÎÁÞÉÎÁÅÔÓÑ Ó '/', ÔÏ ÐÒÏÞÉÔÁÔØ ÉÚ ÆÁÊÌÁ)\n"
 
-#: src/attrib.c:656
+#: src/attrib.c:707
 #, c-format
 msgid	"#  followup_to=STRING\n"
 msgstr	"#  followup_to=óôòïëá\n"
 
-#: src/attrib.c:657
+#: src/attrib.c:708
 #, c-format
-msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
+msgid	"#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr	"#  mailing_list=óôòïëá (ÎÁÐÒ. majordomo@example.org)\n"
 
-#: src/attrib.c:658
+#: src/attrib.c:709
 #, c-format
-msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
+msgid	"#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr	"#  x_headers=óôòïëá (ÎÁÐÒ. ~/.tin/extra-headers)\n"
 
-#: src/attrib.c:659
+#: src/attrib.c:710
 #, c-format
-msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
+msgid	"#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr	"#  x_body=óôòïëá (ÎÁÐÒ. ~/.tin/extra-body-text)\n"
 
-#: src/attrib.c:660
+#: src/attrib.c:711
 #, c-format
 msgid	"#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr	"#  from=óôòïëá (ÄÏÂÁ×ØÔÅ ÖÅÌÁÅÍÕÀ ÓÔÒÏËÕ From:, ÎÅ ÉÓÐÏÌØÚÕÊÔÅ ËÁ×ÙÞËÉ)\n"
 
-#: src/attrib.c:661
+#: src/attrib.c:712
 #, c-format
 msgid	"#  news_quote_format=STRING\n"
 msgstr	"#  news_quote_format=óôòïëá\n"
 
-#: src/attrib.c:662
+#: src/attrib.c:713
 #, c-format
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	"#  quote_chars=óôòïëá (%%s, %%S ÄÌÑ ÉÎÉÃÉÁÌÏ×)\n"
 
-#: src/attrib.c:663
+#: src/attrib.c:714
 #, c-format
 msgid	"#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr	"#  mime_types_to_save=óôòïëá (ÎÁÐÒ. image/*,!image/bmp)\n"
 
-#: src/attrib.c:665
+#: src/attrib.c:716
 #, c-format
 msgid	"#  ispell=STRING\n"
 msgstr	"#  ispell=óôòïëá\n"
 
-#: src/attrib.c:667
+#: src/attrib.c:718
 #, c-format
 msgid	"#  auto_select=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:668
+#: src/attrib.c:719
 #, c-format
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:669
+#: src/attrib.c:720
 #, c-format
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:670
+#: src/attrib.c:721
 #, c-format
 msgid	"#  delete_tmp_files=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:671
+#: src/attrib.c:722
 #, c-format
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:672
+#: src/attrib.c:723
 #, c-format
 msgid	"#  thread_arts=NUM"
 msgstr	"#  thread_arts=þéóìï"
 
-#: src/attrib.c:679
+#: src/attrib.c:730
 #, c-format
 msgid	"#  thread_perc=NUM\n"
 msgstr	"#  thread_perc=þéóìï\n"
 
-#: src/attrib.c:680
+#: src/attrib.c:731
 #, c-format
 msgid	"#  show_author=NUM\n"
 msgstr	"#  show_author=þéóìï\n"
 
-#: src/attrib.c:686
+#: src/attrib.c:737
 #, c-format
 msgid	"#  show_info=NUM\n"
 msgstr	"#  show_info=þéóìï\n"
 
-#: src/attrib.c:692
+#: src/attrib.c:743
 #, c-format
 msgid	"#  sort_art_type=NUM\n"
 msgstr	"#  sort_art_type=þéóìï\n"
 
-#: src/attrib.c:710
+#: src/attrib.c:761
 #, c-format
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	"#  sort_threads_type=þéóìï\n"
 
-#: src/attrib.c:718
+#: src/attrib.c:769
 #, c-format
 msgid	"#  post_proc_type=NUM\n"
 msgstr	"#  post_proc_type=þéóìï\n"
 
-#: src/attrib.c:723
+#: src/attrib.c:774
 #, c-format
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	"#  quick_kill_scope=óôòïëá (ÎÁÐÒ. talk.*)\n"
 
-#: src/attrib.c:724
+#: src/attrib.c:775
 #, c-format
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:725
+#: src/attrib.c:776
 #, c-format
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:726
+#: src/attrib.c:777
 #, c-format
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	"#  quick_kill_header=þéóìï\n"
 
-#: src/attrib.c:727 src/attrib.c:734
+#: src/attrib.c:778 src/attrib.c:785
 #, c-format
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	"#    0=subj (ÕÞÉÔÙ×ÁÔØ ÒÅÇÉÓÔÒ) 1=subj (ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ)\n"
 
-#: src/attrib.c:728 src/attrib.c:735
+#: src/attrib.c:779 src/attrib.c:786
 #, c-format
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	"#    2=from (ÕÞÉÔÙ×ÁÔØ ÒÅÇÉÓÔÒ) 3=from (ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ)\n"
 
-#: src/attrib.c:729 src/attrib.c:736
+#: src/attrib.c:780 src/attrib.c:787
 #, c-format
 msgid	"#    4=msgid 5=lines\n"
 msgstr	"#    4=msgid 5=ÓÔÒÏËÉ\n"
 
-#: src/attrib.c:730
+#: src/attrib.c:781
 #, c-format
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	"#  quick_select_scope=óôòïëá\n"
 
-#: src/attrib.c:731
+#: src/attrib.c:782
 #, c-format
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:732
+#: src/attrib.c:783
 #, c-format
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:733
+#: src/attrib.c:784
 #, c-format
 msgid	"#  quick_select_header=NUM\n"
 msgstr	"#  quick_select_header=þéóìï\n"
 
-#: src/attrib.c:737
+#: src/attrib.c:788
 #, c-format
 msgid	"#  x_comment_to=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:738
+#: src/attrib.c:789
 #, c-format
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	"#  fcc=óôòïëá (ÎÁÐÒ. =mailbox)\n"
 
-#: src/attrib.c:739
+#: src/attrib.c:790
 #, c-format
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:740
+#: src/attrib.c:791
 #, c-format
 msgid	"#  mime_forward=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:742
+#: src/attrib.c:793
 #, c-format
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	"#  mm_network_charset=ÐÏÄÄÅÒÖÉ×ÁÅÍÁÑ_ËÏÄÉÒÏ×ËÁ"
 
-#: src/attrib.c:749
+#: src/attrib.c:800
 #, c-format
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	"#  undeclared_charset=óôòïëá (ÐÏ ÕÍÏÌÞÁÎÉÀ US-ASCII)\n"
 
-#: src/attrib.c:751
+#: src/attrib.c:802
 #, c-format
 msgid	"#\n"
 	"# Note that it is best to put general (global scoping)\n"
 msgstr	""
 
-#: src/attrib.c:752
+#: src/attrib.c:803
 #, c-format
 msgid	"# entries first followed by group specific entries.\n"
 	"#\n"
 msgstr	""
 
-#: src/attrib.c:753
+#: src/attrib.c:804
 #, c-format
 msgid	"############################################################################\n"
-	"\n"
 msgstr	""
 
-#: src/attrib.c:759
-#, c-format
-msgid	"# include extra headers\n"
-msgstr	"# ÄÏÂÁ×ØÔÅ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÚÁÇÏÌÏ×ËÉ ÚÄÅÓØ\n"
-
-#: src/attrib.c:767
-#, c-format
-msgid	"# in *sources* set post process type to shar only\n"
-msgstr	""
-
-#: src/attrib.c:771
-#, c-format
-msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
-msgstr	"# × *binaries* ÄÅÌÁÔØ ÐÏÌÎÕÀ ÐÏÓÔ-ÏÂÒÁÂÏÔËÕ, ÎÏ ÔÏÌØËÏ ÎÅ TeX2ISO\n"
-
-#: src/attrib.c:772
-#, c-format
-msgid	"# remove tmp files and set Followup-To: poster\n"
-msgstr	""
-
-#: src/cook.c:559
+#: src/cook.c:558
 msgid	"(unknown)"
 msgstr	"(ÎÅÉÚ×ÅÓÔÎÏ)"
 
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:597 src/filter.c:605
+#: src/filter.c:592 src/filter.c:600
 msgid	"Removed from the previous rule: "
 msgstr	"õÄÁÌ£Î ÉÚ ÐÒÅÄÙÄÕÝÅÇÏ ÐÒÁ×ÉÌÁ: "
 
@@ -394,492 +368,497 @@ msgstr	"óÔÁÔØÑ ÎÅÄÏÓÔÕÐÎÁ"
 msgid	"Article undeleted."
 msgstr	"óÔÁÔØÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÁ."
 
-#: src/lang.c:66
+#: src/lang.c:65
+#, c-format
+msgid	"Article %4d of %4d"
+msgstr	"óÔÁÔØÑ %4d ÉÚ %4d"
+
+#: src/lang.c:67
 msgid	"articles"
 msgstr	"ÓÔÁÔØÉ"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid	"This is a repost of the following article:"
 msgstr	"üÔÏ ÐÏ×ÔÏÒÎÁÑ ÏÔÐÒÁ×ËÁ ÓÔÁÔØÉ:"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid	"article"
 msgstr	"ÓÔÁÔØÑ"
 
-#: src/lang.c:69
+#: src/lang.c:70
 msgid	"Article"
 msgstr	"óÔÁÔØÑ"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid	"-- %d %s mailed --"
 msgstr	"-- %d %s ÏÔÐÒÁ×ÌÅÎÏ ÐÏ email --"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid	" at %s"
 msgstr	" × %s"
 
-#: src/lang.c:72
+#: src/lang.c:73
 #, c-format
 msgid	"%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n"
 msgstr	"%*s[-- %s/%s, ËÏÄÉÒÏ×ËÁ %s%s%s, %d ÓÔÒÏË%s%s --]\n"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid	", charset: "
 msgstr	", ËÏÄÉÒÏ×ËÁ: "
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid	"%*s[-- Description: %s --]\n"
 msgstr	"%*s[-- ïÐÉÓÁÎÉÅ: %s --]\n"
 
-#: src/lang.c:75
+#: src/lang.c:76
 #, c-format
 msgid	"%d Authentication failed"
 msgstr	"%d á×ÔÏÒÉÚÁÃÉÑ ÎÅ ÕÄÁÌÁÓØ"
 
-#: src/lang.c:76
+#: src/lang.c:77
 msgid	"Server expects authentication.\n"
 msgstr	"óÅÒ×ÅÒ ÏÖÉÄÁÅÔ Á×ÔÏÒÉÚÁÃÉÀ. \n"
 
-#: src/lang.c:77
+#: src/lang.c:78
 msgid	"    Please enter password: "
 msgstr	"    ðÏÖÁÌÕÊÓÔÁ ××ÅÄÉÔÅ ÐÁÒÏÌØ: "
 
-#: src/lang.c:78
+#: src/lang.c:79
 msgid	"    Please enter username: "
 msgstr	"    ðÏÖÁÌÕÊÓÔÁ ××ÅÄÉÔÅ ÉÍÑ: "
 
-#: src/lang.c:79
+#: src/lang.c:80
 #, c-format
 msgid	"Author search backwards [%s]> "
 msgstr	"ðÏÉÓË Á×ÔÏÒÁ (ÎÁÚÁÄ)[%s]> "
 
-#: src/lang.c:80
+#: src/lang.c:81
 #, c-format
 msgid	"Author search forwards [%s]> "
 msgstr	"ðÏÉÓË Á×ÔÏÒÁ (×ÐÅÒ£Ä)[%s]> "
 
-#: src/lang.c:81
+#: src/lang.c:82
 #, c-format
 msgid	"Authorized for user: %s\n"
 msgstr	"á×ÔÏÒÉÚÉÒÏ×ÁÎÏ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ: %s\n"
 
-#: src/lang.c:82
+#: src/lang.c:83
 #, c-format
 msgid	"Authorization failed for user: %s\n"
 msgstr	"á×ÔÏÒÉÚÁÃÉÑ ÎÅ ÕÄÁÌÁÓØ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ: %s\n"
 
-#: src/lang.c:83
+#: src/lang.c:84
 #, c-format
 msgid	"\n"
 	"Autosubscribed to %s"
 msgstr	"\n"
 	"ðÏÄÐÉÓÁÎ Á×ÔÏÍÁÔÉÞÅÓËÉ ÎÁ %s"
 
-#: src/lang.c:84
+#: src/lang.c:85
 msgid	"Autosubscribing groups...\n"
 msgstr	"á×ÔÏÍÁÔÉÞÅÓËÁÑ ÐÏÄÐÉÓËÁ ÎÁ ÇÒÕÐÐÙ...\n"
 
-#: src/lang.c:85
+#: src/lang.c:86
 #, c-format
 msgid	"Autoselecting articles (use '%s' to see all unread) ..."
 msgstr	"á×ÔÏÍÁÔ. ×ÙÂÏÒ ÓÔÁÔÅÊ (ÉÓÐÏÌØÚÕÊÔÅ '%s' ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÎÅÐÒÏÞÉÔÁÎÎÙÈ) ..."
 
-#: src/lang.c:87
+#: src/lang.c:88
 #, c-format
 msgid	"Active file corrupt - %s"
 msgstr	"Active ÆÁÊÌ ÐÏ×ÒÅÖÄ£Î - %s"
 
-#: src/lang.c:88
+#: src/lang.c:89
 #, c-format
 msgid	"Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr	"óÔÁÔØÑ ÄÌÑ ÏÔÐÒÁ×ËÉ Ó ÏÛÉÂ./ÐÒÅÄÕÐÒ. %s=×ÙÈÏÄ, %s=ÍÅÎÀ, %s=ÒÅÄÁËÔ.: "
 
-#: src/lang.c:89
+#: src/lang.c:90
 #, c-format
 msgid	"Unrecognized attribute: %s"
 msgstr	"îÅÒÁÓÐÏÚÎÁÎÎÙÊ ÁÔÒÉÂÕÔ: %s"
 
-#: src/lang.c:90
+#: src/lang.c:91
 #, c-format
 msgid	"Bad command. Type '%s' for help."
 msgstr	"ïÛÉÂÏÞÎÁÑ ËÏÍÁÎÄÁ. îÁÂÅÒÉÔÅ '%s' ÄÌÑ ÐÏÍÏÝÉ."
 
-#: src/lang.c:92
+#: src/lang.c:93
 msgid	"Base article"
 msgstr	"ïÓÎÏ×ÎÁÑ ÓÔÁÔØÑ"
 
-#: src/lang.c:93
+#: src/lang.c:94
 msgid	"Base article range"
 msgstr	"äÉÁÐÁÚÏÎ ÏÓÎÏ×ÎÏÊ ÓÔÁÔØÉ"
 
-#: src/lang.c:94
+#: src/lang.c:95
 #, c-format
 msgid	"%s: Updating of index files not supported\n"
 msgstr	"%s: ïÂÎÏ×ÌÅÎÉÅ ÉÎÄÅËÓÁ ÆÁÊÌÏ× ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
 
-#: src/lang.c:95
+#: src/lang.c:96
 msgid	"*** Beginning of article ***"
 msgstr	"*** îÁÞÁÌÏ ÓÔÁÔØÉ ***"
 
-#: src/lang.c:97
+#: src/lang.c:98
 #, c-format
 msgid	"Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr	"ïÔÍÅÎÉÔØ (ÕÄÁÌÉÔØ) ÉÌÉ ÚÁÍÅÎÉÔØ (ÐÅÒÅÐÉÓÁÔØ) ÓÔÁÔØÀ [%%s]? (%s/%s/%s): "
 
-#: src/lang.c:98
+#: src/lang.c:99
 msgid	"Cancelling article..."
 msgstr	"ïÔÍÅÎÁ ÓÔÁÔØÉ..."
 
-#: src/lang.c:100
+#: src/lang.c:101
 #, c-format
 msgid	"Cannot create %s"
 msgstr	"îÅ ÍÏÇÕ ÓÏÚÄÁÔØ %s"
 
-#: src/lang.c:101
+#: src/lang.c:102
 #, c-format
 msgid	"Can't find base article %d"
 msgstr	"îÅ ÍÏÇÕ ÎÁÊÔÉ ÏÓÎÏ×ÎÕÀ ÓÔÁÔØÀ %d"
 
-#: src/lang.c:102
+#: src/lang.c:103
 #, c-format
 msgid	"Can't open %s"
 msgstr	"îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s"
 
-#: src/lang.c:103
+#: src/lang.c:104
 #, c-format
 msgid	"Couldn't open %s for saving"
 msgstr	"îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s ÄÌÑ ÚÁÐÉÓÉ"
 
-#: src/lang.c:104
+#: src/lang.c:105
 msgid	"*** Posting not allowed ***"
 msgstr	"*** ïÔÐÒÁ×ËÁ ÚÁÐÒÅÝÅÎÁ ***"
 
-#: src/lang.c:105
+#: src/lang.c:106
 #, c-format
 msgid	"Posting is not allowed to %s"
 msgstr	"ïÔÐÒÁ×ËÁ ÚÁÐÒÅÝÅÎÁ × %s"
 
-#: src/lang.c:106
+#: src/lang.c:107
 #, c-format
 msgid	"Can't retrieve %s"
 msgstr	"îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ %s"
 
-#: src/lang.c:107
+#: src/lang.c:108
 #, c-format
 msgid	"%s is a directory"
 msgstr	"%s - ÄÉÒÅËÔÏÒÉÑ"
 
-#: src/lang.c:108
+#: src/lang.c:109
 msgid	"Catchup"
 msgstr	"úÁÈ×ÁÔ"
 
-#: src/lang.c:109
+#: src/lang.c:110
 #, c-format
 msgid	"Catchup %s..."
 msgstr	"úÁÈ×ÁÔ %s..."
 
-#: src/lang.c:110
+#: src/lang.c:111
 msgid	"Catchup all groups entered during this session?"
 msgstr	"úÁÈ×ÁÔÉÔØ ×ÓÅ ÇÒÕÐÐÙ ÐÏÓÅÝ£ÎÎÙÅ × ÜÔÏÊ ÓÅÓÓÉÉ?"
 
-#: src/lang.c:111
+#: src/lang.c:112
 msgid	"You have tagged articles in this group - catchup anyway?"
 msgstr	"÷Ù ÐÏÍÅÔÉÌÉ ÓÔÁÔØÉ × ÇÒÕÐÐÅ - ÚÁÈ×ÁÔÉÔØ ÎÅÓÍÏÔÒÑ ÎÁ ÜÔÏ?"
 
-#: src/lang.c:112
+#: src/lang.c:113
 #, c-format
 msgid	"%s %d %s in %lu seconds\n"
 msgstr	"%s %d %s × %lu ÓÅËÕÎÄ\n"
 
-#: src/lang.c:113
+#: src/lang.c:114
 msgid	"Caughtup"
 msgstr	"úÁÈ×ÁÞÅÎÏ"
 
-#: src/lang.c:114
+#: src/lang.c:115
 msgid	"Check Prepared Article"
 msgstr	"ðÒÏ×ÅÒÉÔØ ÐÒÉÇÏÔÏ×ÌÅÎÎÕÀ ÓÔÁÔØÀ"
 
-#: src/lang.c:115
+#: src/lang.c:116
 msgid	"Checking for new groups... "
 msgstr	"ðÏÉÓË ÎÏ×ÙÈ ÇÒÕÐÐ... "
 
-#: src/lang.c:116
+#: src/lang.c:117
 msgid	"Checking for news..."
 msgstr	"ðÒÏ×ÅÒËÁ ÎÏ×ÏÓÔÅÊ..."
 
-#: src/lang.c:117
+#: src/lang.c:118
 #, c-format
 msgid	"Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr	"ðÏÓÔ-ÏÂÒÁÂÏÔËÁ %s=ÎÅÔ, %s=ÄÁ, %s=shar, %s=×ÙÈÏÄ:"
 
-#: src/lang.c:119
+#: src/lang.c:120
 msgid	"ANSI color disabled"
 msgstr	"÷ÙËÌÀÞÉÔØ Ã×ÅÔÁ ANSI"
 
-#: src/lang.c:120
+#: src/lang.c:121
 msgid	"ANSI color enabled"
 msgstr	"÷ËÌÀÞÉÔØ Ã×ÅÔÁ ANSI"
 
-#: src/lang.c:122
+#: src/lang.c:123
 #, c-format
 msgid	"Command failed: %s"
 msgstr	"ïÛÉÂËÁ ×Ï ×ÒÅÍÑ ÉÓÐÏÌÎÅÎÉÑ: %s"
 
-#: src/lang.c:123
+#: src/lang.c:124
 msgid	"Mark not selected articles read?"
 msgstr	"ðÏÍÅÔÉÔØ ÎÅÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ?"
 
-#: src/lang.c:124
+#: src/lang.c:125
 #, c-format
 msgid	"Connecting to %s..."
 msgstr	"óÏÅÄÉÎÑÅÍÓÑ Ó %s..."
 
-#: src/lang.c:125
+#: src/lang.c:126
 msgid	"<CR>"
 msgstr	""
 
-#: src/lang.c:126
+#: src/lang.c:127
 msgid	"Creating active file for saved groups...\n"
 msgstr	"óÏÚÄÁÎÉÅ ÆÁÊÌÁ active ÄÌÑ ÓÏÈÒ. ÇÒÕÐÐ...\n"
 
-#: src/lang.c:127
+#: src/lang.c:128
 msgid	"Creating newsrc file...\n"
 msgstr	"óÏÚÄÁÎÉÅ ÆÁÊÌÁ newsrc...\n"
 
-#: src/lang.c:129 src/lang.c:1150
+#: src/lang.c:130 src/lang.c:1150
 msgid	"Default"
 msgstr	"ðÏ ÕÍÏÌÞÁÎÉÀ"
 
-#: src/lang.c:130
+#: src/lang.c:131
 msgid	"Delete saved files that have been post processed?"
 msgstr	"õÄÁÌÉÔØ ÓÏÈÒÁÎ£ÎÎÙÅ ÏÂÒÁÂÏÔÁÎÎÙÅ ÆÁÊÌÙ?"
 
-#: src/lang.c:131
+#: src/lang.c:132
 msgid	"Deleting temporary files..."
 msgstr	"õÄÁÌÅÎÉÅ ×ÒÅÍÅÎÎÙÈ ÆÁÊÌÏ×..."
 
-#: src/lang.c:133
+#: src/lang.c:134
 msgid	"*** End of article ***"
 msgstr	"*** ëÏÎÅÃ ÓÔÁÔØÉ ***"
 
-#: src/lang.c:134
+#: src/lang.c:135
 msgid	"*** End of articles ***"
 msgstr	"*** ëÏÎÅÃ ÓÔÁÔÅÊ ***"
 
-#: src/lang.c:135
+#: src/lang.c:136
 msgid	"*** End of groups ***"
 msgstr	"*** ëÏÎÅÃ ÇÒÕÐÐ ***"
 
-#: src/lang.c:136
+#: src/lang.c:137
 msgid	"*** End of thread ***"
 msgstr	"*** ëÏÎÅÃ ÄÉÓËÕÓÓÉÉ ***"
 
-#: src/lang.c:137
+#: src/lang.c:138
 msgid	"Enter limit of articles to get> "
 msgstr	"÷×ÅÄÉÔÅ ÐÒÅÄÅÌ ÐÏÌÕÞÁÅÍÙÈ ÓÔÁÔÅÊ> "
 
-#: src/lang.c:138
+#: src/lang.c:139
 msgid	"Enter Message-ID to go to> "
 msgstr	"÷×ÅÄÉÔÅ Message-ID ÄÌÑ ÐÅÒÅÈÏÄÁ> "
 
-#: src/lang.c:139
+#: src/lang.c:140
 msgid	" and enter next unread thread"
 msgstr	" É ××ÅÄÉÔÅ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÄÉÓËÕÓÓÉÀ"
 
-#: src/lang.c:140
+#: src/lang.c:141
 msgid	" and enter next unread group"
 msgstr	" É ××ÅÄÉÔÅ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÇÒÕÐÐÕ"
 
-#: src/lang.c:141
+#: src/lang.c:142
 msgid	"Enter option number> "
 msgstr	"÷×ÅÄÉÔÅ ÎÏÍÅÒ ÏÐÃÉÉ> "
 
-#: src/lang.c:142
+#: src/lang.c:143
 #, c-format
 msgid	"Enter range [%s]> "
 msgstr	"÷×ÅÄÉÔÅ ÄÉÁÐÁÚÏÎ [%s]> "
 
-#: src/lang.c:143
+#: src/lang.c:144
 msgid	"\n"
 	"Warning: Approved: header used.\n"
 msgstr	"\n"
 	"÷ÎÉÍÁÎÉÅ: ÉÓÐÏÌØÚÏ×ÁÎ ÚÁÇÏÌÏ×ÏË Approved:.\n"
 
-#: src/lang.c:145
+#: src/lang.c:146
 msgid	"\n"
 	"Error: Bad address in Approved: header.\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ ÁÄÒÅÓ × ÚÁÇÏÌÏ×ËÅ Approved:.\n"
 
-#: src/lang.c:146
+#: src/lang.c:147
 msgid	"\n"
 	"Error: Bad address in From: header.\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ ÁÄÒÅÓ × ÚÁÇÏÌÏ×ËÅ From:.\n"
 
-#: src/lang.c:147
+#: src/lang.c:148
 msgid	"\n"
 	"Error: Bad address in Reply-To: header.\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ ÁÄÒÅÓ × ÚÁÇÏÌÏ×ËÅ Reply-To:.\n"
 
-#: src/lang.c:148
+#: src/lang.c:149
 msgid	"\n"
 	"Error: Bad FQDN in Message-ID: header.\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ FQDN × ÚÁÇÏÌÏ×ËÅ Message-ID:.\n"
 
-#: src/lang.c:149
+#: src/lang.c:150
 #, c-format
 msgid	"Can't unlock %s"
 msgstr	"îÅ ÍÏÇÕ ÒÁÚÂÌÏËÉÒÏ×ÁÔØ %s"
 
-#: src/lang.c:151
+#: src/lang.c:152
 #, c-format
 msgid	"Corrupted file %s"
 msgstr	"ðÏ×ÒÅÖÄÅÎÎÙÊ ÆÁÊÌ %s"
 
-#: src/lang.c:152
+#: src/lang.c:153
 #, c-format
 msgid	"Couldn't dotlock %s - article not appended!"
 msgstr	"îÅ ÍÏÇÕ dotlock %s - ÓÔÁÔØÑ ÎÅ ÐÒÉËÒÅÐÌÅÎÁ!"
 
-#: src/lang.c:153
+#: src/lang.c:154
 #, c-format
 msgid	"Couldn't lock %s - article not appended!"
 msgstr	"îÅ ÍÏÇÕ ÚÁÂÌÏËÉÒÏ×ÁÔØ %s - ÓÔÁÔØÑ ÎÅ ÐÒÉËÒÅÐÌÅÎÁ!"
 
-#: src/lang.c:155
+#: src/lang.c:156
 msgid	"Internal error in GNKSA routine - send bug report.\n"
 msgstr	"÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ × ÆÕÎËÃÉÉ GNKSA - ÏÔÐÒÁ×ØÔÅ ÓÏÏÂÝÅÎÉÅ ÏÂ ÏÛÉÂËÅ.\n"
 
-#: src/lang.c:156
+#: src/lang.c:157
 msgid	"Left angle bracket missing in route address.\n"
 msgstr	"÷ ÁÄÒÅÓÅ ÐÒÏÐÕÝÅÎÁ ÌÅ×ÁÑ ÕÇÌÏ×ÁÑ ÓËÏÂËÁ.\n"
 
-#: src/lang.c:157
+#: src/lang.c:158
 msgid	"Left parenthesis missing in old-style address.\n"
 msgstr	"÷ ÁÄÒÅÓÅ ÓÔÁÒÏÇÏ ÓÔÉÌÑ ÐÒÏÐÕÝÅÎÁ ÌÅ×ÁÑ ËÒÕÇÌÁÑ ÓËÏÂËÁ.\n"
 
-#: src/lang.c:158
+#: src/lang.c:159
 msgid	"Right parenthesis missing in old-style address.\n"
 msgstr	"÷ ÁÄÒÅÓÅ ÓÔÁÒÏÇÏ ÓÔÉÌÑ ÐÒÏÐÕÝÅÎÁ ÐÒÁ×ÁÑ ËÒÕÇÌÁÑ ÓËÏÂËÁ.\n"
 
-#: src/lang.c:159
+#: src/lang.c:160
 msgid	"At-sign missing in mail address.\n"
 msgstr	"÷ ÐÏÞÔÏ×ÏÍ ÁÄÒÅÓÅ ÐÒÏÐÕÝÅÎ ÚÎÁË '@'.\n"
 
-#: src/lang.c:160
+#: src/lang.c:161
 msgid	"Single component FQDN is not allowed. Add your domain.\n"
 msgstr	"åÄÉÎÓÔ×ÅÎÎÙÊ ËÏÍÐÏÎÅÎÔ FQDN ÎÅÄÏÐÕÓÔÉÍ. äÏÂÁ×ØÔÅ ×ÁÛ ÄÏÍÅÎ.\n"
 
-#: src/lang.c:161
+#: src/lang.c:162
 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	"îÅÐÒÁ×ÉÌØÎÙÊ ÄÏÍÅÎ. ïÔÐÒÁ×ØÔÅ ÓÏÏÂÝÅÎÉÅ ÏÂ ÏÛÉÂËÅ, ÅÓÌÉ ÄÏÍÅÎ ÓÕÝÅÓÔ×ÕÅÔ.\n"
 	"éÓÐÏÌØÚÕÊÔÅ .invalid ËÁË ÄÏÍÅÎ 1 ÕÒÏ×ÎÑ ÄÌÑ ÉÓÐÏÒÞÅÎÎÙÈ ÁÄÒÅÓÏ×.\n"
 
-#: src/lang.c:162
+#: src/lang.c:163
 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	"îÅÄÏÐÕÓÔÉÍÙÊ ÄÏÍÅÎ. ïÔÐÒÁ×ØÔÅ ÓÏÏÂÝÅÎÉÅ ÏÂ ÏÛÉÂËÅ ÅÓÌÉ ÄÏÍÅÎ ÓÕÝÅÓÔ×ÕÅÔ.\n"
 	"éÓÐÏÌØÚÕÊÔÅ .invalid ËÁË ÄÏÍÅÎ 1 ÕÒÏ×ÎÑ ÄÌÑ ÉÓÐÏÒÞÅÎÎÙÈ ÁÄÒÅÓÏ×.\n"
 
-#: src/lang.c:163
+#: src/lang.c:164
 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	"îÅÉÚ×ÅÓÔÎÙÊ ÄÏÍÅÎ. ïÔÐÒÁ×ØÔÅ ÓÏÏÂÝÅÎÉÅ ÏÂ ÏÛÉÂËÅ ÅÓÌÉ ÄÏÍÅÎ ÓÕÝÅÓÔ×ÕÅÔ.\n"
 	"éÓÐÏÌØÚÕÊÔÅ .invalid ËÁË ÄÏÍÅÎ 1 ÕÒÏ×ÎÑ ÄÌÑ ÉÓÐÏÒÞÅÎÎÙÈ ÁÄÒÅÓÏ×.\n"
 
-#: src/lang.c:164
+#: src/lang.c:165
 msgid	"Illegal character in FQDN.\n"
 msgstr	"îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × FQDN.\n"
 
-#: src/lang.c:165
+#: src/lang.c:166
 msgid	"Zero length FQDN component not allowed.\n"
 msgstr	"îÕÌÅ×ÁÑ ÄÌÉÎÁ ËÏÍÐÏÎÅÎÔÁ FQDN ÎÅÄÏÐÕÓÔÉÍÁ.\n"
 
-#: src/lang.c:166
+#: src/lang.c:167
 msgid	"FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr	"ëÏÍÐÏÎÅÎÔ FQDN ÐÒÅ×ÙÛÁÅÔ ÍÁËÓ. ÄÏÐÕÓÔÉÍÕÀ ÄÌÉÎÕ (63 ÚÎÁËÁ).\n"
 
-#: src/lang.c:167
+#: src/lang.c:168
 msgid	"FQDN component may not start or end with hyphen.\n"
 msgstr	"ëÏÍÐÏÎÅÎÔ FQDN ÎÅ ÍÏÖÅÔ ÎÁÞÉÎÁÔØÓÑ ÉÌÉ ÚÁËÁÎÞÉ×ÁÔØÓÑ ÄÅÆÉÓÏÍ.\n"
 
-#: src/lang.c:168
+#: src/lang.c:169
 msgid	"FQDN component may not start with digit.\n"
 msgstr	"ëÏÍÐÏÎÅÎÔ FQDN ÎÅ ÍÏÖÅÔ ÎÁÞÉÎÁÔØÓÑ Ó ÃÉÆÒÙ.\n"
 
-#: src/lang.c:169
+#: src/lang.c:170
 msgid	"Domain literal has impossible numeric value.\n"
 msgstr	"÷ ÚÎÁËÅ ÄÏÍÅÎÁ ÎÅÄÏÐÕÓÔÉÍÙÊ ÃÉÆÒÏ×ÏÊ ÚÎÁË.\n"
 
-#: src/lang.c:170
+#: src/lang.c:171
 msgid	"Domain literal is for private use only and not allowed for global use.\n"
 msgstr	"úÎÁË ÄÏÍÅÎÁ ÔÏÌØËÏ ÄÌÑ ÞÁÓÔÎÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ É ÎÅÄÏÐÕÓÔÉÍ.\n"
 
-#: src/lang.c:171
+#: src/lang.c:172
 msgid	"Right bracket missing in domain literal.\n"
 msgstr	"÷ ÚÎÁËÅ ÄÏÍÅÎÁ ÐÒÏÐÕÝÅÎÁ ÐÒÁ×ÁÑ ÓËÏÂËÁ.\n"
 
-#: src/lang.c:172
+#: src/lang.c:173
 msgid	"Missing localpart of mail address.\n"
 msgstr	"ðÒÏÐÕÝÅÎÁ ÌÏËÁÌØÎÁÑ ÞÁÓÔØ ÐÏÞÔÏ×ÏÇÏ ÁÄÒÅÓÁ.\n"
 
-#: src/lang.c:173
+#: src/lang.c:174
 msgid	"Illegal character in localpart of mail address.\n"
 msgstr	"îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÌÏËÁÌØÎÏÊ ÞÁÓÔÉ ÐÏÞÔÏ×ÏÇÏ ÁÄÒÅÓÁ.\n"
 
-#: src/lang.c:174
+#: src/lang.c:175
 msgid	"Zero length localpart component not allowed.\n"
 msgstr	"îÕÌÅ×ÁÑ ÄÌÉÎÁ ÌÏËÁÌØÎÏÊ ÞÁÓÔÉ email ÎÅÄÏÐÕÓÔÉÍÁ.\n"
 
-#: src/lang.c:175
+#: src/lang.c:176
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr	"îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n"
 	"óÌÏ×Á ÂÅÚ ËÁ×ÙÞÅË ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '!()<>@,;:\\.[]' × ÁÄÒÅÓÅ.\n"
 
-#: src/lang.c:176
+#: src/lang.c:177
 msgid	"Illegal character in realname.\n"
 	"Quoted words may not contain '()<>\\'.\n"
 msgstr	"îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n"
 	"óÌÏ×Á × ËÁ×ÙÞËÁÈ ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '()<>\\'.\n"
 
-#: src/lang.c:177
+#: src/lang.c:178
 msgid	"Illegal character in realname.\n"
 	"Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr	"îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n"
 	"ëÏÄÉÒÏ×ÁÎÎÙÅ ÓÌÏ×Á ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '!()<>@,;:\"\\.[]/=' × ÐÁÒÁÍÅÔÒÅ.\n"
 
-#: src/lang.c:178
+#: src/lang.c:179
 msgid	"Bad syntax in encoded word used in realname.\n"
 msgstr	"îÅ×ÅÒÎÙÊ ÓÉÎÔÁËÓÉÓ × ËÏÄÉÒÏ×ÁÎÎÏÍ ÓÌÏ×Å, ÉÓÐÏÌØÚÏ×ÁÎÎÏÍ × ÉÍÅÎÉ.\n"
 
-#: src/lang.c:179
+#: src/lang.c:180
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr	"îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n"
 	"óÌÏ×Á ÂÅÚ ËÁ×ÙÞÅË ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '()<>\\' × ÁÄÒÅÓÁÈ ÓÔÁÒÏÇÏ ÓÔÉÌÑ.\n"
 
-#: src/lang.c:180
+#: src/lang.c:181
 msgid	"Illegal character in realname.\n"
 	"Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr	"îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n"
 	"õÐÒÁ×ÌÑÀÝÉÅ ÓÉÍ×ÏÌÙ É ÎÅËÏÄ. 8-ÂÉÔÎÙÅ ÓÉÍ×. > 127 ÎÅÄÏÐÕÓÔÉÍÙ.\n"
 
-#: src/lang.c:181
+#: src/lang.c:182
 msgid	"\n"
 	"Error: No blank line found after header.\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ: îÅ ÎÁÊÄÅÎÁ ÐÕÓÔÁÑ ÓÔÒÏËÁ ÐÏÓÌÅ ÚÁÇÏÌÏ×ËÁ.\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:183
+#: src/lang.c:184
 msgid	"\n"
 	"Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
 	"       US-ASCII  - please change this setting to a suitable value for\n"
@@ -891,7 +870,7 @@ msgstr	"\n"
 	"        ×ÁÛÅÍÕ ÑÚÙËÕ, ÉÓÐÏÌØÚÕÑ M)ÍÅÎÀ ËÏÎÆÉÇÕÒÉÒÕÅÍÙÈ ÚÎÁÞÅÎÉÊ ÉÌÉ\n"
 	"        ÏÔÒÅÄÁËÔÉÒÕÊÔÅ tinrc.\n"
 
-#: src/lang.c:188
+#: src/lang.c:189
 msgid	"\n"
 	"Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
 	"       for news  messages  is set  to \"7bit\"  -  please change this\n"
@@ -905,13 +884,13 @@ msgstr	"\n"
 	"        ÒÅÇÉÏÎÅ. éÓÐÏÌØÚÕÊÔÅ M)ÍÅÎÀ ËÏÎÆÉÇÕÒÉÒÕÅÍÙÈ ÏÐÃÉÊ ÉÌÉ ÏÔÒÅÄÁËÔÉÒÕÊÔÅ\n"
 	"\t ÆÁÊÌ tinrc.\n"
 
-#: src/lang.c:194
+#: src/lang.c:195
 msgid	"\n"
 	"Error: Article starts with blank line instead of header\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ: óÔÁÔØÑ ÎÁÞÉÎÁÅÔÓÑ Ó ÐÕÓÔÏÊ ÓÔÒÏËÉ ×ÍÅÓÔÏ ÚÁÇÏÌÏ×ËÁ\n"
 
-#: src/lang.c:195
+#: src/lang.c:196
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a colon after the header name:\n"
@@ -920,21 +899,21 @@ msgstr	"\n"
 	"ïÛÉÂËÁ: úÁÇÏÌÏ×ÏË × ÓÔÒÏËÅ %d ÎÅ ÉÍÅÅÔ Ä×ÏÅÔÏÞÉÑ ÐÏÓÌÅ ÉÍÅÎÉ:\n"
 	"%s\n"
 
-#: src/lang.c:196
+#: src/lang.c:197
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is empty.\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ: ðÕcÔÁÑ ÓÔÒÏËÁ \"%s:\".\n"
 
-#: src/lang.c:197
+#: src/lang.c:198
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is missing from the article header.\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ: óÔÒÏËÁ  \"%s:\" ÐÒÏÐÕÝÅÎÁ × ÚÁÌÏ×ËÅ ÓÔÁÔØÉ.\n"
 
-#: src/lang.c:198
+#: src/lang.c:199
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a space after the colon:\n"
@@ -943,151 +922,151 @@ msgstr	"\n"
 	"ïÛÉÂËÁ: úÁÇÏÌÏ×ÏË × ÓÔÒÏËÅ %d ÎÅ ÉÍÅÅÔ ÐÒÏÂÅÌÁ ÐÏÓÌÅ Ä×ÏÅÔÏÞÉÑ:\n"
 	"%s\n"
 
-#: src/lang.c:199
+#: src/lang.c:200
 #, c-format
 msgid	"\n"
 	"Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ: îÅÓËÏÌØËÏ ÓÔÒÏË (%d) \"%s:\" × ÚÁÇÏÌÏ×ËÅ.\n"
 
-#: src/lang.c:200
+#: src/lang.c:201
 #, c-format
 msgid	"Insecure permissions of %s (%o)"
 msgstr	"îÅÂÅÚÏÐÁÓÎÙÅ ÐÒÁ×Á ÄÏÓÔÕÐÁ %s (%o)"
 
-#: src/lang.c:201
+#: src/lang.c:202
 #, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	"îÅÄÏÐÕÓÔÉÍÙÊ ÏÔ×ÅÔ ÎÁ ËÏÍÁÎÄÕ GROUP, %s"
 
-#: src/lang.c:203
+#: src/lang.c:204
 #, c-format
 msgid	"MIME parse error: Unexpected end of %s/%s article"
 msgstr	"ïÛÉÂËÁ ÏÂÒÁÂÏÔËÉ MIME: îÅÏÖÉÄÁÎÎÏÅ ÏËÏÎÞÁÎÉÅ ÓÔÁÔØÉ %s/%s"
 
-#: src/lang.c:204
+#: src/lang.c:205
 msgid	"MIME parse error: Start boundary whilst reading headers"
 msgstr	"ïÛÉÂËÁ ÏÂÒÁÂÏÔËÉ MIME: îÁÞÁÌÏ ÇÒÁÎÉÃÙ × ÚÁÇÏÌÏ×ËÅ"
 
-#: src/lang.c:205
+#: src/lang.c:206
 msgid	"Can't get a (fully-qualified) domain-name!"
 msgstr	"îÅ ÕÄÁ£ÔÓÑ ÐÏÌÕÞÉÔØ ÐÏÌÎÏÅ ÉÍÑ ÄÏÍÅÎÁ!"
 
-#: src/lang.c:206
+#: src/lang.c:207
 #, c-format
 msgid	"No permissions to go into %s\n"
 msgstr	"îÅÔ ÄÏÓÔÕÐÁ ÄÌÑ %s\n"
 
-#: src/lang.c:207
+#: src/lang.c:208
 msgid	"\n"
 	"Error: From: line missing.\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ: ðÒÏÐÕÝÅÎÁ ÓÔÒÏËÁ From:.\n"
 
-#: src/lang.c:208
+#: src/lang.c:209
 #, c-format
 msgid	"No read permissions for %s\n"
 msgstr	"îÅÔ ÐÒÁ×Á ÎÁ ÞÔÅÎÉÅ ÄÌÑ %s\n"
 
-#: src/lang.c:209
+#: src/lang.c:210
 #, c-format
 msgid	"File %s does not exist\n"
 msgstr	"æÁÊÌ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ\n"
 
-#: src/lang.c:210
+#: src/lang.c:211
 #, c-format
 msgid	"No write permissions for %s\n"
 msgstr	"îÅÔ ÐÒÁ×Á ÎÁ ÚÁÐÉÓØ ÄÌÑ %s\n"
 
-#: src/lang.c:211
+#: src/lang.c:212
 msgid	"Can't get user information (/etc/passwd missing?)"
 msgstr	"îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÏÌØÚÏ×ÁÔÅÌÅ (ÎÅÔ /etc/passwd ?)"
 
-#: src/lang.c:212
+#: src/lang.c:213
 msgid	"errors"
 msgstr	"ÏÛÉÂËÉ"
 
-#: src/lang.c:213
+#: src/lang.c:214
 #, c-format
 msgid	"\n"
 	"Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 msgstr	"\n"
 	"ïÛÉÂËÁ × ÓÔÒÏËÅ %d: úÁÇÏÌÏ×ÏË \"Sender:\" ÎÅÄÏÐÕÓÔÉÍ (ÂÕÄÅÔ ÄÏÂÁ×ÌÅÎ)\n"
 
-#: src/lang.c:214
+#: src/lang.c:215
 #, c-format
 msgid	"Server has non of the groups listed in %s"
 msgstr	"îÁ ÓÅÒ×ÅÒÅ ÎÅÔ ÎÉ ÏÄÎÏÊ ÇÒÕÐÐÙ ÕËÁÚÁÎÎÙÈ × %s"
 
-#: src/lang.c:215
+#: src/lang.c:216
 msgid	"error"
 msgstr	"ÏÛÉÂËÁ"
 
-#: src/lang.c:216
+#: src/lang.c:217
 msgid	"Unknown display level"
 msgstr	"îÅÉÚ×ÅÓÔÎÙÊ ÕÒÏ×ÅÎØ ÄÉÓÐÌÅÑ"
 
-#: src/lang.c:217
+#: src/lang.c:218
 msgid	"<ESC>"
 msgstr	""
 
-#: src/lang.c:218
+#: src/lang.c:219
 msgid	"Exiting..."
 msgstr	"÷ÙÈÏÄ..."
 
-#: src/lang.c:219
+#: src/lang.c:220
 msgid	"leaving external mail-reader"
 msgstr	"ÏÓÔÁ×ÌÑÅÍ ×ÎÅÛÎÉÊ ÐÏÞÔÏ×ÙÊ ËÌÉÅÎÔ"
 
-#: src/lang.c:220
+#: src/lang.c:221
 #, c-format
 msgid	"Extracting %s..."
 msgstr	"éÚ×ÌÅËÁÅÍ %s..."
 
-#: src/lang.c:222
+#: src/lang.c:223
 #, c-format
 msgid	"Error writing %s file. Filesystem full? File reset to previous state."
 msgstr	"ïÛÉÂËÁ ÚÁÐÉÓÉ ÆÁÊÌÁ %s. îÅÔ ÍÅÓÔÁ? ÷ÏÓÓÔÁÎÏ×ÌÅÎÏ ÐÒÅÄ. ÓÏÓÔÏÑÎÉÅ ÆÁÊÌÁ."
 
-#: src/lang.c:223
+#: src/lang.c:224
 #, c-format
 msgid	"Error making backup of %s file. Filesystem full?"
 msgstr	"ïÛÉÂËÁ ÓÏÈÒÁÎÅÎÉÑ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %s. îÅÔ ÍÅÓÔÁ?"
 
-#: src/lang.c:224
+#: src/lang.c:225
 #, c-format
 msgid	"Filtering global rules (%d/%d)..."
 msgstr	"æÉÌØÔÒÁÃÉÑ ÇÌÏÂÁÌØÎÙÈ ÐÒÁ×ÉÌ (%d/%d)..."
 
-#: src/lang.c:225
+#: src/lang.c:226
 msgid	"Rule created by: "
 msgstr	"ðÒÁ×ÉÌÏ ÓÏÚÄÁÎÏ: "
 
-#: src/lang.c:226
+#: src/lang.c:227
 #, c-format
 msgid	"Enter pattern [%s]> "
 msgstr	"÷×ÅÄÉÔÅ ÛÁÂÌÏÎ [%s]> "
 
-#: src/lang.c:227
+#: src/lang.c:228
 #, c-format
 msgid	"\n"
 	"You requested followups to your article to go to the following %s:\n"
 msgstr	""
 
-#: src/lang.c:228
+#: src/lang.c:229
 #, c-format
 msgid	"  %s\t Answers will be directed to you by mail.\n"
 msgstr	"  %s\t ïÔ×ÅÔÙ ÂÕÄÕÔ ÎÁÐÒÁ×ÌÅÎÙ Ë ×ÁÍ ÐÏ email.\n"
 
-#: src/lang.c:229
+#: src/lang.c:230
 msgid	"-- forwarded message --\n"
 msgstr	"-- ÐÅÒÅÓÌÁÎÎÏÅ ÓÏÏÂÝÅÎÉÅ --\n"
 
-#: src/lang.c:230
+#: src/lang.c:231
 msgid	"-- end of forwarded message --\n"
 msgstr	"-- ËÏÎÅÃ ÐÅÒÅÓÌÁÎÎÏÇÏ ÓÏÏÂÝÅÎÉÑ --\n"
 
-#: src/lang.c:231
+#: src/lang.c:232
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
 	"placed\n"
@@ -1116,752 +1095,752 @@ msgid	"# Format:\n"
 	"#\n"
 msgstr	""
 
-#: src/lang.c:252
+#: src/lang.c:253
 #, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	"÷×ÅÄÉÔÅ score ÄÌÑ ÐÒÁ×ÉÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ=%d): "
 
-#: src/lang.c:253
+#: src/lang.c:254
 #, c-format
 msgid	"Enter the score weight (range 0 < score <= %d)"
 msgstr	"÷×ÅÄÉÔÅ ×ÅÓ score (× ÐÒÅÄÅÌÁÈ 0 < score <= %d)"
 
 #. SCORE_MAX
-#: src/lang.c:254
+#: src/lang.c:255
 msgid	"Full"
 msgstr	"ðÏÌÎÙÊ"
 
-#: src/lang.c:255
+#: src/lang.c:256
 msgid	"Comment (optional)  : "
 msgstr	"ëÏÍÍÅÎÔÁÒÉÊ (ÏÐÃÉÏÎÁÌÅÎ): "
 
-#: src/lang.c:256
+#: src/lang.c:257
 msgid	"Apply pattern to    : "
 msgstr	"ðÒÉÍÅÎÉÔØ ÛÁÂÌÏÎ Ë  : "
 
-#: src/lang.c:257
+#: src/lang.c:258
 msgid	"From: line (ignore case)      "
 msgstr	"From: ÓÔÒÏËÁ (ÉÇÎÏÒ. ÒÅÇÉÓÔÒ)   "
 
-#: src/lang.c:258
+#: src/lang.c:259
 msgid	"From: line (case sensitive)   "
 msgstr	"From: ÓÔÒÏËÁ (ÎÅ ÉÇÎÏÒ. ÒÅÇÉÓÔÒ)    "
 
-#: src/lang.c:260
+#: src/lang.c:261
 #, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	"%s%s: îÅÉÚ×ÅÓÔÎÙÊ ÈÏÓÔ.\n"
 
-#: src/lang.c:261
+#: src/lang.c:262
 msgid	"global "
 msgstr	"ÇÌÏÂÁÌØÎÙÈ "
 
-#: src/lang.c:262
+#: src/lang.c:263
 #, c-format
 msgid	"Please use %.100s instead"
 msgstr	"ðÏÖÁÌÕÊÓÔÁ ÉÓÐÏÌØÚÕÊÔÅ ×ÍÅÓÔÏ ÜÔÏÇÏ %.100s"
 
-#: src/lang.c:263
+#: src/lang.c:264
 #, c-format
 msgid	"%s is bogus"
 msgstr	"%s ÆÉËÔÉ×ÎÁ (bogus)"
 
-#: src/lang.c:264
+#: src/lang.c:265
 #, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	"çÒÕÐÐÁ %s ÍÏÄÅÒÉÒÕÅÔÓÑ. ðÒÏÄÏÌÖÉÔØ?"
 
-#: src/lang.c:265
+#: src/lang.c:266
 msgid	"groups"
 msgstr	"ÇÒÕÐÐÙ"
 
-#: src/lang.c:266
+#: src/lang.c:267
 #, c-format
 msgid	"Rereading %s..."
 msgstr	"ðÅÒÅÞÉÔÙ×ÁÀ %s..."
 
-#: src/lang.c:267
+#: src/lang.c:268
 msgid	"Top Level Commands"
 msgstr	"ëÏÍÁÎÄÙ ×ÅÒÈÎÅÇÏ ÕÒÏ×ÎÑ"
 
-#: src/lang.c:268
+#: src/lang.c:269
 msgid	"Group Selection"
 msgstr	"÷ÙÂÏÒ ÇÒÕÐÐÙ"
 
-#: src/lang.c:269
+#: src/lang.c:270
 msgid	"group"
 msgstr	"ÇÒÕÐÐÁ"
 
-#: src/lang.c:271
+#: src/lang.c:272
 msgid	"One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr	"ïÄÎÁ ÉÌÉ ÂÏÌÅÅ ÓÔÒÏË ËÏÍÍÅÎÔÁÒÉÑ. <CR> ÄÏÂÁ×ÉÔØ ÓÔÒÏËÕ ÉÌÉ ÐÒÏÄÏÌÖÉÔØ ÅÓÌÉ "
 	"ÓÔÒÏËÁ ÐÕÓÔÁ."
 
-#: src/lang.c:272
+#: src/lang.c:273
 msgid	"From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	"From: ÓÔÒÏËÁ ÄÌÑ ÄÏÂ. × ÆÉÌØÔÒ. <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:273
+#: src/lang.c:274
 msgid	"Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr	"äÌÉÎÁ ÆÉÌØÔÒÕÅÍÙÈ ÓÔÁÔÅÊ. < ÍÅÎØÛÅ, > ÂÏÌØÛÅ, = ÒÁ×ÎÏ."
 
-#: src/lang.c:274
+#: src/lang.c:275
 msgid	"Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	"Message-ID: ÓÔÒÏËÁ ÄÌÑ ÄÏÂ. × ÆÉÌØÔÒ. <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:275
+#: src/lang.c:276
 msgid	"Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	"ôÅÍÁ: ÓÔÒÏËÁ ÄÌÑ ÄÏÂ. × ÆÉÌØÔÒ. <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:276
+#: src/lang.c:277
 msgid	"Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr	"÷×ÅÄÉÔÅ ÛÁÂÌÏÎ ÄÌÑ ÆÉÌØÔÒÁÃÉÉ ÅÓÌÉ Subject: É From: ÓÔÒÏËÉ ÎÅÖÅÌÁÎÎÙ."
 
-#: src/lang.c:277
+#: src/lang.c:278
 msgid	"Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr	"÷ÙÂÒÁÔØ ÉÅÓÔÏ ÐÒÉÍÅÎÅÎÉÑ ÛÁÂÌÏÎÁ. <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:278
+#: src/lang.c:279
 msgid	"Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr	"÷ÒÅÍÑ ÄÅÊÓÔ×ÉÑ ÆÉÌØÔÒÁ × ÄÎÑÈ. <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:279
+#: src/lang.c:280
 msgid	"Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	"ðÒÉÍÅÎÉÔØ kill ÔÏÌØËÏ Ë ÔÅËÕÝÅÊ ÉÌÉ ËÏ ×ÓÅÍ ÇÒÕÐÐÁÍ. <ðòïâåì> ×ÙÂÏÒ, <CR> "
 	"ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:280
+#: src/lang.c:281
 msgid	"Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	"ðÒÉÍÅÎÉÔØ ×ÙÂÏÒ Ë ÔÅËÕÝÅÊ ÉÌÉ ËÏ ×ÓÅÍ ÇÒÕÐÐÁÍ. <ðòïâåì> ×ÙÂÏÒ, <CR> "
 	"ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:281
+#: src/lang.c:282
 msgid	"kill an article via a menu"
 msgstr	"ÕÎÉÞÔÏÖÉÔØ ÓÔÁÔØÀ ÞÅÒÅÚ ÍÅÎÀ"
 
-#: src/lang.c:282
+#: src/lang.c:283
 msgid	"auto-select (hot) an article via a menu"
 msgstr	"Á×ÔÏ×ÙÂÏÒ (hot) ÓÔÁÔØÉ ÞÅÒÅÚ ÍÅÎÀ"
 
-#: src/lang.c:283
+#: src/lang.c:284
 msgid	"Browse URLs in article"
 msgstr	"ðÒÏÓÍÏÔÒ URL × ÓÔÁÔØÅ"
 
-#: src/lang.c:284
+#: src/lang.c:285
 msgid	"0 - 9\t  display article by number in current thread"
 msgstr	"0 - 9\t  ÐÏËÁÚÁÔØ ÓÔÁÔØÀ ÐÏ ÎÏÍÅÒÕ × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ"
 
-#: src/lang.c:285
+#: src/lang.c:286
 msgid	"cancel (delete) or supersede (overwrite) current article"
 msgstr	"ÏÔÍÅÎÉÔØ (ÕÄÁÌÉÔØ) ÉÌÉ ÚÁÍÅÎÉÔØ (ÐÅÒÅÐÉÓÁÔØ) ÔÅËÕÝÕÀ ÓÔÁÔØÀ"
 
-#: src/lang.c:286
+#: src/lang.c:287
 msgid	"edit article (mail-groups only)"
 msgstr	"ÒÅÄÁËÔÉÒÏ×ÁÔØ ÓÔÁÔØÀ (ÔÏÌØËÏ ÄÌÑ ÐÏÞÔÏ×ÙÈ ÇÒÕÐÐ)"
 
-#: src/lang.c:287
+#: src/lang.c:288
 msgid	"display first article in current thread"
 msgstr	"ÐÏËÁÚÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ"
 
-#: src/lang.c:288
+#: src/lang.c:289
 msgid	"display first page of article"
 msgstr	"ÐÏËÁÚÁÔØ ÐÅÒ×ÕÀ ÓÔÒÁÎÉÃÕ ÓÔÁÔØÉ"
 
-#: src/lang.c:289
+#: src/lang.c:290
 msgid	"post followup to current article"
 msgstr	"ÏÔÐÒÁ×ÉÔØ followup ÎÁ ÔÅËÕÝÕÀ ÓÔÁÔØÀ"
 
-#: src/lang.c:290
+#: src/lang.c:291
 msgid	"post followup (don't copy text) to current article"
 msgstr	"ÏÔÐÒÁ×ÉÔØ followup (ÎÅ ËÏÐÉÒÕÑ ÔÅËÓÔ) ÎÁ ÔÅËÕÝÕÀ ÓÔÁÔØÀ"
 
-#: src/lang.c:291
+#: src/lang.c:292
 msgid	"post followup to current article quoting complete headers"
 msgstr	"ÏÔÐÒÁ×ÉÔØ followup ÎÁ ÔÅËÕÝÕÀ ÓÔÁÔØÀ, ÃÉÔÉÒÕÑ ÐÏÌÎÙÅ ÚÁÇÏÌÏ×ËÉ"
 
-#: src/lang.c:292
+#: src/lang.c:293
 msgid	"display last article in current thread"
 msgstr	"ÐÏËÁÚÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÁÔØÀ × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ"
 
-#: src/lang.c:293
+#: src/lang.c:294
 msgid	"display last page of article"
 msgstr	"ÐÏËÁÚÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÒÁÎÉÃÕ ÓÔÁÔØÉ"
 
-#: src/lang.c:294
+#: src/lang.c:295
 msgid	"mark rest of thread as read and advance to next unread"
 msgstr	"ÐÏÍÅÔÉÔØ ÏÓÔÁÔÏË ÄÉÓË. ËÁË ÐÒÏÞÉÔÁÎÎÙÊ É ÐÅÒÅÊÔÉ ÎÁ ÓÌÅÄ. ÎÅÐÒÏÞÉÔ."
 
-#: src/lang.c:295
+#: src/lang.c:296
 msgid	"display next article"
 msgstr	"ÐÏËÁÚÁÔØ ÓÌÅÄÕÀÝÕÀ ÓÔÁÔØÀ"
 
-#: src/lang.c:296
+#: src/lang.c:297
 msgid	"display first article in next thread"
 msgstr	"ÐÏËÁÚÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÓÌÅÄÕÀÝÅÊ ÄÉÓËÕÓÓÉÉ"
 
-#: src/lang.c:297
+#: src/lang.c:298
 msgid	"display next unread article"
 msgstr	"ÐÏËÁÚÁÔØ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÓÔÁÔØÀ"
 
-#: src/lang.c:298
+#: src/lang.c:299
 msgid	"go to the article that this one followed up"
 msgstr	"ÐÅÒÅÊÔÉ ÎÁ ÓÔÁÔØÀ ÚÁ ËÏÔÏÒÏÊ ÓÌÅÄÕÅÔ ÜÔÁ ÓÔÁÔØÑ"
 
-#: src/lang.c:299
+#: src/lang.c:300
 msgid	"display previous article"
 msgstr	"ÐÏËÁÚÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÓÔÁÔØÀ"
 
-#: src/lang.c:300
+#: src/lang.c:301
 msgid	"display previous unread article"
 msgstr	"ÐÏËÁÚÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÓÔÁÔØÀ"
 
-#: src/lang.c:301
+#: src/lang.c:302
 msgid	"quickly kill an article using defaults"
 msgstr	"ÂÙÓÔÒÏ ÕÎÉÞÔÏÖÉÔØ ÓÔÁÔØÀ ÉÓÐÏÌØÚÕÑ ÕÓÔÁÎÏ×ËÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
 
-#: src/lang.c:302
+#: src/lang.c:303
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	"ÂÙÓÔÒÙÊ Á×ÔÏ×ÙÂÏÒ (hot) ÓÔÁÔØÉ ÉÓÐÏÌØÚÕÑ ÕÓÔÁÎÏ×ËÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
 
-#: src/lang.c:303
+#: src/lang.c:304
 msgid	"return to group selection level"
 msgstr	"×ÅÒÎÕÔØÓÑ × ÕÒÏ×ÅÎØ ×ÙÂÏÒÁ ÇÒÕÐÐ"
 
-#: src/lang.c:304
+#: src/lang.c:305
 msgid	"reply through mail to author"
 msgstr	"ÏÔ×ÅÔÉÔØ Á×ÔÏÒÕ ÐÏ email"
 
-#: src/lang.c:305
+#: src/lang.c:306
 msgid	"reply through mail (don't copy text) to author"
 msgstr	"ÏÔ×ÅÔÉÔØ (ÎÅ ×ÓÔÁ×ÌÑÑ ÔÅËÓÔ) Á×ÔÏÒÕ ÐÏ email"
 
-#: src/lang.c:306
+#: src/lang.c:307
 msgid	"reply through mail to author quoting complete headers"
 msgstr	"ÏÔ×ÅÔÉÔØ (ÃÉÔÉÒÕÑ ÐÏÌÎÏÓÔØÀ ÚÁÇÏÌÏ×ËÉ) Á×ÔÏÒÕ ÐÏ email"
 
-#: src/lang.c:307
+#: src/lang.c:308
 msgid	"repost chosen article to another group"
 msgstr	"ÏÔÐÒÁ×ÉÔØ ×ÙÂÒÁÎÎÕÀ ÓÔÁÔØÀ × ÄÒÕÇÕÀ ÇÒÕÐÐÕ"
 
-#: src/lang.c:308
+#: src/lang.c:309
 msgid	"search backwards within this article"
 msgstr	"ÐÏÉÓË ÎÁÚÁÄ ×ÎÕÔÒÉ ÜÔÏÊ ÓÔÁÔØÉ"
 
-#: src/lang.c:309
+#: src/lang.c:310
 msgid	"search forwards within this article"
 msgstr	"ÐÏÉÓË ×ÐÅÒ£Ä ×ÎÕÔÒÉ ÜÔÏÊ ÓÔÁÔØÉ"
 
-#: src/lang.c:310
+#: src/lang.c:311
 msgid	"show article in raw-mode (including all headers)"
 msgstr	"ÐÏËÁÚÁÔØ ÓÔÁÔØÀ × raw ÒÅÖÉÍÅ (×ËÌÀÞÁÑ ×ÓÅ ÚÁÇÏÌÏ×ËÉ)"
 
-#: src/lang.c:311
+#: src/lang.c:312
 msgid	"skip next block of included text"
 msgstr	"ÐÒÏÐÕÓÔÉÔØ ÓÌÅÄÕÀÝÉÊ ÂÌÏË ×ËÌÀÞ£ÎÎÏÇÏ ÔÅËÓÔÁ"
 
-#: src/lang.c:312
+#: src/lang.c:313
 msgid	"toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr	"ÉÚÍÅÎÉÔØ ÏÔÏÂÒÁÖÅÎÉÅ ÓÅËÃÉÊ ÓËÒÙÔÙÈ Ó ÐÏÍÏÝØÀ form-feed (^L) ÷ëì/÷ùëì"
 
-#: src/lang.c:313
+#: src/lang.c:314
 msgid	"toggle word highlighting on/off"
 msgstr	"ÉÚÍÅÎÉÔØ ÐÏÄÓ×ÅÔËÕ ÓÌÏ× ÷ëì/÷ùëì"
 
-#: src/lang.c:314
+#: src/lang.c:315
 msgid	"toggle ROT-13 (basic decode) for current article"
 msgstr	"ÉÚÍÅÎÉÔØ ROT-13 (ÄÅËÏÄÉÒÏ×ÁÎÉÅ) ÄÌÑ ÔÅËÕÝÅÊ ÓÔÁÔØÉ"
 
-#: src/lang.c:315
+#: src/lang.c:316
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	"ÉÚÍÅÎÉÔØ ÛÉÒÉÎÕ TAB 4 <-> 8"
 
-#: src/lang.c:316
+#: src/lang.c:317
 msgid	"toggle german TeX style decoding for current article"
 msgstr	"ÉÚÍÅÎÉÔØ ÎÅÍÅÃËÉÊ TeX ÓÔÉÌØ ÄÅËÏÄÉÒÏ×ÁÎÉÑ ÄÌÑ ÔÅËÕÝÅÊ ÓÔÁÔØÉ"
 
-#: src/lang.c:317
+#: src/lang.c:318
 msgid	"toggle display of uuencoded sections"
 msgstr	"ÉÚÍÅÎÉÔØ ÐÏËÁÚ UUE ÚÁËÏÄÉÒÏ×ÁÎÎÏÊ ÓÅËÃÉÉ"
 
-#: src/lang.c:318
+#: src/lang.c:319
 msgid	"View/save multimedia attachments"
 msgstr	"ðÒÏÓÍÏÔÒÅÔØ/ÓÏÈÒÁÎÉÔØ ÍÕÌØÔÉÍÅÄÉÑ-×ÌÏÖÅÎÉÅ"
 
-#: src/lang.c:319
+#: src/lang.c:320
 #, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	"ÏÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ ÏÂ ÏÛÉÂËÅ ÉÌÉ ËÏÍÍÅÎÔÁÒÉÊ %s ÐÏ email"
 
-#: src/lang.c:320
+#: src/lang.c:321
 msgid	"choose range of articles to be affected by next command"
 msgstr	"×ÙÂÒÁÔØ ÄÉÁÐÁÚÏÎ ÓÔÁÔÅÊ ÐÏÄ×ÅÒÖÅÎÎÙÈ ÓÌÅÄÕÀÝÅÊ ËÏÍÁÎÄÏÊ"
 
-#: src/lang.c:321
+#: src/lang.c:322
 msgid	"escape from command prompt"
 msgstr	"×ÙÊÔÉ ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ"
 
-#: src/lang.c:322
+#: src/lang.c:323
 msgid	"edit filter file"
 msgstr	"ÒÅÄÁËÔÉÒÏ×ÁÔØ ÆÁÊÌ ÆÉÌØÔÒÁ"
 
-#: src/lang.c:323
+#: src/lang.c:324
 msgid	"get help"
 msgstr	"ÐÏÌÕÞÉÔØ ÐÏÍÏÝØ"
 
-#: src/lang.c:324
+#: src/lang.c:325
 msgid	"display last article viewed"
 msgstr	"ÐÏËÁÚÁÔØ ÐÏÓÌÅÄÎÀÀ ÐÒÏÓÍÏÔÒÅÎÎÕÀ ÓÔÁÔØÀ"
 
-#: src/lang.c:325
+#: src/lang.c:326
 msgid	"down one line"
 msgstr	"×ÎÉÚ ÎÁ ÏÄÎÕ ÓÔÒÏËÕ"
 
-#: src/lang.c:326
+#: src/lang.c:327
 msgid	"up one line"
 msgstr	"××ÅÒÈ ÎÁ ÏÄÎÕ ÓÔÒÏËÕ"
 
-#: src/lang.c:327
+#: src/lang.c:328
 msgid	"go to article chosen by Message-ID"
 msgstr	"ÐÅÒÅÊÔÉ ÎÁ ÓÔÁÔØÀ ÐÏ Message-ID"
 
-#: src/lang.c:328
+#: src/lang.c:329
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	"ÏÔÐÒÁ×ÉÔØ ÓÔÁÔØÀ/ÄÉÓË./hot/ÛÁÂÌÏÎ/ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ ÐÏ email"
 
-#: src/lang.c:329
+#: src/lang.c:330
 msgid	"menu of configurable options"
 msgstr	"ÍÅÎÀ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÏÐÃÉÊ"
 
-#: src/lang.c:330
+#: src/lang.c:331
 msgid	"down one page"
 msgstr	"×ÎÉÚ ÎÁ ÏÄÎÕ ÓÔÒÁÎÉÃÕ"
 
-#: src/lang.c:331
+#: src/lang.c:332
 msgid	"up one page"
 msgstr	"××ÅÒÈ ÎÁ ÏÄÎÕ ÓÔÒÁÎÉÃÕ"
 
-#: src/lang.c:332
+#: src/lang.c:333
 msgid	"post (write) article to current group"
 msgstr	"ÏÔÐÒÁ×ÉÔØ (ÎÁÐÉÓÁÔØ) ÓÔÁÔØÀ × ÔÅËÕÝÕÀ ÇÒÕÐÐÕ"
 
-#: src/lang.c:333
+#: src/lang.c:334
 msgid	"post postponed articles"
 msgstr	"ÏÔÐÒÁ×ÉÔØ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ"
 
-#: src/lang.c:334
+#: src/lang.c:335
 msgid	"list articles posted by you (from posted file)"
 msgstr	"ÓÐÉÓÏË ÓÔÁÔÅÊ ÏÔÐÒÁ×ÌÅÎÎÙÈ ×ÁÍÉ (ÉÚ ÆÁÊÌÁ posted)"
 
-#: src/lang.c:335
+#: src/lang.c:336
 msgid	"return to previous menu"
 msgstr	"×ÏÚ×ÒÁÔ × ÐÒÅÄÙÄÕÝÅÅ ÍÅÎÀ"
 
-#: src/lang.c:336
+#: src/lang.c:337
 msgid	"quit tin immediately"
 msgstr	"×ÙÊÔÉ ÉÚ tin ÎÅÍÅÄÌÅÎÎÏ"
 
-#: src/lang.c:337
+#: src/lang.c:338
 msgid	"redraw page"
 msgstr	"ÐÅÒÅÒÉÓÏ×ÁÔØ ÓÔÒÁÎÉÃÕ"
 
-#: src/lang.c:338
+#: src/lang.c:339
 msgid	"save article/thread/hot/pattern/tagged articles to file"
 msgstr	"ÓÏÈÒÁÎÉÔØ ÓÔÁÔØÀ/ÄÉÓË./hot/ÛÁÂÌÏÎ/ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ × ÆÁÊÌ"
 
-#: src/lang.c:339
+#: src/lang.c:340
 msgid	"save marked articles automatically without user prompts"
 msgstr	"ÓÏÈÒÁÎÑÔØ ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÂÅÚ ÐÏÄÔ×ÅÒÖÄÅÎÉÑ"
 
-#: src/lang.c:340
+#: src/lang.c:341
 msgid	"scroll the screen one line down"
 msgstr	"ÐÒÏËÒÕÔÉÔØ ÜËÒÁÎ ÎÁ ÏÄÎÕ ÌÉÎÉÀ ×ÎÉÚ"
 
-#: src/lang.c:341
+#: src/lang.c:342
 msgid	"scroll the screen one line up"
 msgstr	"ÐÒÏËÒÕÔÉÔØ ÜËÒÁÎ ÎÁ ÏÄÎÕ ÌÉÎÉÀ ××ÅÒÈ"
 
-#: src/lang.c:342
+#: src/lang.c:343
 msgid	"search for articles by author backwards"
 msgstr	"ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ Á×ÔÏÒÕ (ÎÁÚÁÄ)"
 
-#: src/lang.c:343
+#: src/lang.c:344
 msgid	"search for articles by author forwards"
 msgstr	"ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ Á×ÔÏÒÕ (×ÐÅÒ£Ä)"
 
-#: src/lang.c:344
+#: src/lang.c:345
 msgid	"search all articles for a given string (this may take some time)"
 msgstr	"ÐÏÉÓË ×ÓÅÈ ÓÔÁÔÅÊ ÐÏ ÚÁÄÁÎÎÏÊ ÓÔÒÏËÅ (ÍÏÖÅÔ ÚÁÎÑÔØ ÎÅËÏÔÏÒÏÅ ×ÒÅÍÑ)"
 
-#: src/lang.c:345
+#: src/lang.c:346
 msgid	" \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr	" \t  (ÐÏÉÓË ÉÇÎÏÒÉÒÕÅÔ ÒÅÇÉÓÔÒ É ÏÈ×ÁÔÙ×ÁÅÔ ×ÓÅ ÓÔÁÔØÉ)"
 
-#: src/lang.c:346
+#: src/lang.c:347
 msgid	"search for articles by Subject line backwards"
 msgstr	"ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ ôÅÍÅ (ÎÁÚÁÄ)"
 
-#: src/lang.c:347
+#: src/lang.c:348
 msgid	"search for articles by Subject line forwards"
 msgstr	"ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ ôÅÍÅ (×ÐÅÒ£Ä)"
 
-#: src/lang.c:348
+#: src/lang.c:349
 msgid	"repeat last search"
 msgstr	"ÐÏ×ÔÏÒÉÔØ ÐÏÓÌÅÄÎÉÊ ÐÏÉÓË"
 
-#: src/lang.c:349
+#: src/lang.c:350
 msgid	"tag current article for reposting/mailing/piping/printing/saving"
 msgstr	"ÏÔÍÅÔÉÔØ ÔÅËÕÝÕÀ ÓÔÁÔØÀ ÄÌÑ ÐÅÒÅÏÔÐ./email/piping/ÐÅÞÁÔÉ/ÓÏÈÒÁÎ."
 
-#: src/lang.c:350
+#: src/lang.c:351
 msgid	"toggle info message in last line (subject/description)"
 msgstr	"ÉÚÍÅÎÉÔØ ÉÎÆ. ÓÏÏÂÝÅÎÉÅ × ÐÏÓÌÅÄÎÅÊ ÓÔÒÏËÅ (ÔÅÍÁ/ÏÐÉÓÁÎÉÅ)"
 
-#: src/lang.c:351
+#: src/lang.c:352
 msgid	"toggle inverse video"
 msgstr	"ÉÚÍÅÎÉÔØ ÉÎ×ÅÒÓÉÀ ×ÉÄÅÏ"
 
-#: src/lang.c:352
+#: src/lang.c:353
 msgid	"toggle mini help menu display"
 msgstr	"ÉÚÍÅÎÉÔØ ÍÉÎÉÐÏÄÓËÁÚËÕ"
 
-#: src/lang.c:353
+#: src/lang.c:354
 msgid	"cycle the display of authors email address, real name, both or neither"
 msgstr	"ÓÍÅÎÉÔØ ÐÏËÁÚ ÁÄÒÅÓÏ× email, ÉÍÅÎ, ÏÂÏÉÈ ÉÌÉ ÎÉÞÅÇÏ"
 
-#: src/lang.c:354
+#: src/lang.c:355
 msgid	"show version information"
 msgstr	"ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ"
 
-#: src/lang.c:355
+#: src/lang.c:356
 msgid	"mark all articles as read and return to group selection menu"
 msgstr	"ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ É ×ÅÒÎÕÔØÓÑ × ÍÅÎÀ ×ÙÂÏÒÁ ÇÒÕÐÐ"
 
-#: src/lang.c:356
+#: src/lang.c:357
 msgid	"mark all articles as read and enter next group with unread articles"
 msgstr	"ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔ. É ×ÏÊÔÉ × ÓÌÅÄ. ÇÒÕÐÐÕ Ó ÎÅÐÒÏÞÉÔ. ÓÔÁÔØÑÍÉ"
 
-#: src/lang.c:357
+#: src/lang.c:358
 msgid	"choose first thread in list"
 msgstr	"×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÄÉÓËÕÓÓÉÀ × ÓÐÉÓËÅ"
 
-#: src/lang.c:358
+#: src/lang.c:359
 msgid	"choose last thread in list"
 msgstr	"×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÄÉÓËÕÓÓÉÀ × ÓÐÉÓËÅ"
 
-#: src/lang.c:359
+#: src/lang.c:360
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	"ÓÐÉÓÏË ÓÔÁÔÅÊ × ÄÉÓËÕÓÓÉÉ (×ÙÚ×ÁÔØ ÐÏÄÍÅÎÀ äÉÓËÕÓÓÉÑ)"
 
-#: src/lang.c:360
+#: src/lang.c:361
 msgid	"mark article as unread"
 msgstr	"ÐÏÍÅÔÉÔØ ÓÔÁÔØÀ ËÁË ÐÒÏÞÉÔÁÎÎÕÀ"
 
-#: src/lang.c:361
+#: src/lang.c:362
 msgid	"mark current thread or tagged threads as read"
 msgstr	"ÐÏÍÅÔÉÔØ ÔÅËÕÝÕÀ ÄÉÓË. ÉÌÉ ÏÔÍÅÞÅÎÎÙÅ ÄÉÓË. ËÁË ÐÒÏÞÉÔÁÎÎÙÅ"
 
-#: src/lang.c:362
+#: src/lang.c:363
 msgid	"mark thread as unread"
 msgstr	"ÐÏÍÅÔÉÔØ ÄÉÓËÕÓÓÉÀ ËÁË ÎÅÐÒÏÞÉÔÁÎÎÕÀ"
 
-#: src/lang.c:363
+#: src/lang.c:364
 msgid	"toggle display of all/selected articles"
 msgstr	"ðÏËÁÚÙ×ÁÔØ ×ÓÅ/×ÙÂÒÁÎÎÙÅ ÓÔÁÔØÉ"
 
-#: src/lang.c:364
+#: src/lang.c:365
 msgid	"display next group"
 msgstr	"ÐÏËÁÚÁÔØ ÓÌÅÄÕÀÝÕÀ ÇÒÕÐÐÕ"
 
-#: src/lang.c:365
+#: src/lang.c:366
 msgid	"display previous group"
 msgstr	"ÐÏËÁÚÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÇÒÕÐÐÕ"
 
-#: src/lang.c:366
+#: src/lang.c:367
 msgid	"toggle all selections (all articles)"
 msgstr	"ÉÚÍÅÎÉÔØ ×ÓÅ ÐÏÍÅÔËÉ (×ÓÅ ÓÔÁÔØÉ)"
 
-#: src/lang.c:367
+#: src/lang.c:368
 msgid	"select group (make \"hot\")"
 msgstr	"×ÙÂÒÁÔØ ÇÒÕÐÐÕ (ÓÄÅÌÁÔØ \"hot\")"
 
-#: src/lang.c:368
+#: src/lang.c:369
 msgid	"select thread"
 msgstr	"×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÀ"
 
-#: src/lang.c:369
+#: src/lang.c:370
 msgid	"select threads if at least one unread article is selected"
 msgstr	"×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÀ, ÅÓÌÉ ÈÏÔÑ ÂÙ ÏÄÎÁ ÎÅÐÒÏÞÉÔ. ÓÔÁÔØÑ ÐÏÍÅÞÅÎÁ"
 
-#: src/lang.c:370
+#: src/lang.c:371
 msgid	"select threads that match user specified pattern"
 msgstr	"×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÉ, ËÏÔÏÒÙÅ ÐÏÄÐÁÄÁÀÔ ÐÏÄ ÕËÁÚÁÎÎÙÊ ÛÁÂÌÏÎ"
 
-#: src/lang.c:371
+#: src/lang.c:372
 msgid	"tag all parts of current multipart-message in order"
 msgstr	"ÐÏÍÅÔÉÔØ ×ÓÅ ÞÁÓÔÉ ÔÅËÕÝÅÇÏ multipart-ÓÏÏÂÝÅÎÉÑ ÐÏ ÐÏÒÑÄËÕ"
 
-#: src/lang.c:372
+#: src/lang.c:373
 msgid	"0 - 9\t  choose thread by number"
 msgstr	"0 - 9\t  ×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÀ ÐÏ ÎÏÍÅÒÕ"
 
-#: src/lang.c:373
+#: src/lang.c:374
 msgid	"toggle limit number of articles to get, and reload"
 msgstr	"ÉÚÍÅÎÉÔØ ÐÒÅÄÅÌ ÞÉÓÌÁ ÐÏÌÕÞÁÅÍÙÈ É ÐÅÒÅÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ"
 
-#: src/lang.c:374
+#: src/lang.c:375
 msgid	"toggle display of all/unread articles"
 msgstr	"ÐÏËÁÚÙ×ÁÔØ ×ÓÅ/ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÓÔÁÔØÉ"
 
-#: src/lang.c:375
+#: src/lang.c:376
 msgid	"toggle selection of thread"
 msgstr	"ÉÚÍÅÎÉÔØ ÐÏÍÅÔËÉ ÄÉÓËÕÓÓÉÊ"
 
-#: src/lang.c:376
+#: src/lang.c:377
 msgid	"cycle through threading options available"
 msgstr	"ÐÅÒÅÂÏÒ ÄÏÓÔÕÐÎÙÈ ÏÐÃÉÊ ÄÉÓËÕÓÓÉÊ"
 
-#: src/lang.c:377
+#: src/lang.c:378
 msgid	"undo all selections (all articles)"
 msgstr	"ÏÔÍÅÎÉÔØ ×ÓÅ ÐÏÍÅÔËÉ (×ÓÅÈ ÓÔÁÔÅÊ)"
 
-#: src/lang.c:378
+#: src/lang.c:379
 msgid	"untag all tagged threads"
 msgstr	"ÓÎÑÔØ ÍÅÔËÉ Ó ÏÔÍÅÞÅÎÎÙÈ ÄÉÓËÕÓÓÉÊ"
 
-#: src/lang.c:379
+#: src/lang.c:380
 msgid	"mark all articles in group as read"
 msgstr	"ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ"
 
-#: src/lang.c:380
+#: src/lang.c:381
 msgid	"mark all articles in group as read and move to next unread group"
 msgstr	"ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ËÁË ÐÒÏÞÉÔ. É ÐÅÒÅÊÔÉ Ë ÓÌÅÄ. ÎÅÐÒÏÞÉÔ. ÇÒÕÐÐÅ"
 
-#: src/lang.c:381
+#: src/lang.c:382
 msgid	"choose first group in list"
 msgstr	"×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ"
 
-#: src/lang.c:382
+#: src/lang.c:383
 msgid	"choose group by name"
 msgstr	"×ÙÂÒÁÔØ ÇÒÕÐÐÕ ÐÏ ÉÍÅÎÉ"
 
-#: src/lang.c:383
+#: src/lang.c:384
 msgid	"0 - 9\t  choose group by number"
 msgstr	"0 - 9\t  ×ÙÂÒÁÔØ ÇÒÕÐÐÕ ÐÏ ÎÏÍÅÒÕ"
 
-#: src/lang.c:384
+#: src/lang.c:385
 msgid	"choose range of groups to be affected by next command"
 msgstr	"×ÙÂÒÁÔØ ÄÉÁÐÁÚÏÎ ÇÒÕÐÐ ÐÏÄ×ÅÒÖÅÎÎÙÈ ÓÌÅÄÕÀÝÅÊ ËÏÍÁÎÄÅ"
 
-#: src/lang.c:385
+#: src/lang.c:386
 msgid	"choose last group in list"
 msgstr	"×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ"
 
-#: src/lang.c:386
+#: src/lang.c:387
 msgid	"mark all articles in chosen group unread"
 msgstr	"ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ËÁË ÎÅÐÒÏÞÉÔÁÎÎÙÅ"
 
-#: src/lang.c:387
+#: src/lang.c:388
 msgid	"move chosen group within list"
 msgstr	"ÐÅÒÅÍÅÓÔÉÔØ ÇÒÕÐÐÕ × ÓÐÉÓËÅ"
 
-#: src/lang.c:388
+#: src/lang.c:389
 msgid	"choose next group with unread news"
 msgstr	"×ÙÂÒÁÔØ ÓÌÅÄ. ÇÒÕÐÐÕ Ó ÎÅÐÒÏÞÉÔÁÎÎÙÍÉ ÎÏ×ÏÓÔÑÍÉ"
 
-#: src/lang.c:389 src/lang.c:1197
+#: src/lang.c:390 src/lang.c:1197
 msgid	"quit"
 msgstr	"×ÙÈÏÄ"
 
-#: src/lang.c:390
+#: src/lang.c:391
 msgid	"quit without saving configuration changes"
 msgstr	"×ÙÈÏÄ ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÉÚÍÅÎÅÎÉÊ"
 
-#: src/lang.c:391
+#: src/lang.c:392
 msgid	"read chosen group"
 msgstr	"ÐÒÏÞÉÔÁÔØ ×ÙÂÒÁÎÎÕÀ ÇÒÕÐÐÕ"
 
-#: src/lang.c:392
+#: src/lang.c:393
 msgid	"reset .newsrc (all available articles in groups marked unread)"
 msgstr	"ÓÂÒÏÓÉÔØ .newsrc (×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ÐÏÍÅÔÑÔÓÑ ÎÅÐÒÏÞÉÔÁÎÎÙÍÉ)"
 
-#: src/lang.c:393
+#: src/lang.c:394
 msgid	"search backwards for a group name"
 msgstr	"ÐÏÉÓË ÉÍÅÎÉ ÇÒÕÐÐÙ (ÎÁÚÁÄ)"
 
-#: src/lang.c:394
+#: src/lang.c:395
 msgid	" \t  (all searches are case-insensitive and wrap around)"
 msgstr	" \t  (×ÓÅ ÐÏÉÓËÉ ÒÅÇÉÓÔÒÏ-ÎÅÚÁ×ÉÓÉÍÙ É ÏÈ×ÁÔÙ×ÁÀÔ ×ÓÅ ÓÔÁÔØÉ/ÇÒÕÐÐÙ)"
 
-#: src/lang.c:395
+#: src/lang.c:396
 msgid	"search forwards for a group name"
 msgstr	"ÐÏÉÓË ÉÍÅÎÉ ÇÒÕÐÐÙ (×ÐÅÒ£Ä)"
 
-#: src/lang.c:396
+#: src/lang.c:397
 msgid	"subscribe to chosen group"
 msgstr	"ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ×ÙÂÒÁÎÎÕÀ ÇÒÕÐÐÕ"
 
-#: src/lang.c:397
+#: src/lang.c:398
 msgid	"subscribe to groups that match pattern"
 msgstr	"ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÇÒÕÐÐÙ, ÓÏ×ÐÁÄÁÀÝÉÅ Ó ÛÁÂÌÏÎÏÍ"
 
-#: src/lang.c:398
+#: src/lang.c:399
 msgid	"reread active file to check for any new news"
 msgstr	"ÐÅÒÅÞÉÔÁÔØ ÆÁÊÌ active ÄÌÑ ÐÒÏ×ÅÒËÉ ÎÏ×ÙÈ ÎÏ×ÏÓÔÅÊ"
 
-#: src/lang.c:399
+#: src/lang.c:400
 msgid	"toggle display of group name only or group name plus description"
 msgstr	"ÐÅÒÅËÌÀÞÉÔØ ×Ù×ÏÄ: ÉÍÑ ÇÒÕÐÐÙ ÉÌÉ ÉÍÑ ÇÒÕÐÐÙ ÐÌÀÓ ÏÐÉÓÁÎÉÅ"
 
-#: src/lang.c:400
+#: src/lang.c:401
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	"ÐÅÒÅËÌÀÞÉÔØ ×Ù×ÏÄ: ×ÓÅ/ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ"
 
-#: src/lang.c:401
+#: src/lang.c:402
 msgid	"unsubscribe from chosen group"
 msgstr	"ÏÔÐÉÓÁÔØÓÑ ÏÔ ×ÙÂÒÁÎÎÏÊ ÇÒÕÐÐÙ"
 
-#: src/lang.c:402
+#: src/lang.c:403
 msgid	"unsubscribe from groups that match pattern"
 msgstr	"ÏÔÐÉÓÁÔØÓÑ ÏÔ ÇÒÕÐÐ, ÓÏ×ÐÁÄÁÀÝÉÈ Ó ÛÁÂÌÏÎÏÍ"
 
-#: src/lang.c:403
+#: src/lang.c:404
 msgid	"sort the list of groups"
 msgstr	"ÓÏÒÔÉÒÏ×ÁÔØ ÓÐÉÓÏË ÇÒÕÐÐ"
 
-#: src/lang.c:404
+#: src/lang.c:405
 msgid	"toggle display to show all/subscribed groups"
 msgstr	"ÐÅÒÅËÌÀÞÉÔØ ×Ù×ÏÄ: ×ÓÅ/ÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ"
 
-#: src/lang.c:405
+#: src/lang.c:406
 msgid	"0 - 9\t  choose article by number"
 msgstr	"0 - 9\t  ×ÙÂÒÁÔØ ÓÔÁÔØÀ ÐÏ ÎÏÍÅÒÕ"
 
-#: src/lang.c:406
+#: src/lang.c:407
 msgid	"mark thread as read and return to group index page"
 msgstr	"ÐÏÍÅÔÉÔØ ÄÉÓËÕÓÓÉÀ ËÁË ÐÒÏÞÉÔÁÎÎÕÀ É ×ÅÒÎÕÔØÓÑ ÎÁ ÓÔÒÁÎÉÃÕ ÉÎÄÅËÓÁ ÇÒÕÐÐ"
 
-#: src/lang.c:407
+#: src/lang.c:408
 msgid	"mark thread as read and enter next unread thread or group"
 msgstr	"ÐÏÍÅÔÉÔØ ÄÉÓË. ËÁË ÐÒÏÞÉÔ. É ÐÅÒÅÊÔÉ × ÓÌÅÄ. ÎÅÐÒÏÞÉÔ. ÄÉÓË. ÉÌÉ ÇÒÕÐÐÅ"
 
-#: src/lang.c:408
+#: src/lang.c:409
 msgid	"choose first article in list"
 msgstr	"×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÓÐÉÓËÅ"
 
-#: src/lang.c:409
+#: src/lang.c:410
 msgid	"choose last article in list"
 msgstr	"×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÁÔØÀ × ÓÐÉÓËÅ"
 
-#: src/lang.c:410
+#: src/lang.c:411
 msgid	"mark article or tagged articles as read and move cursor to next unread article"
 msgstr	"ÐÏÍÅÔÉÔØ ÓÔÁÔØÀ ÉÌÉ ÏÔÍÅÞ. ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔ. É ÐÅÒÅÊÔÉ Ë ÓÌÅÄ. ÎÅÐÒÏÞ. ÓÔÁÔØÅ"
 
-#: src/lang.c:411
+#: src/lang.c:412
 msgid	"read chosen article"
 msgstr	"ÐÒÏÞÉÔÁÔØ ×ÙÂÒÁÎÎÕÀ ÓÔÁÔØÀ"
 
-#: src/lang.c:412
+#: src/lang.c:413
 msgid	"Display properties\n"
 	"------------------"
 msgstr	"ðÏËÁÚÁÔØ Ó×ÏÊÓÔ×Á\n"
 	"-----------------"
 
-#: src/lang.c:413
+#: src/lang.c:414
 #, fuzzy
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	"òÁÚÎÙÅ\n"
 	"------"
 
-#: src/lang.c:414
+#: src/lang.c:415
 msgid	"Moving around\n"
 	"-------------"
 msgstr	"ä×ÉÖÅÎÉÅ\n"
 	"--------"
 
-#: src/lang.c:415
+#: src/lang.c:416
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	"ïÐÅÒÁÃÉÉ Ó ÇÒÕÐÐÁÍÉ/ÄÉÓËÕÓÓÉÑÍ/ÓÔÁÔØÑÍÉ\n"
 	"---------------------------------------"
 
-#: src/lang.c:417
+#: src/lang.c:418
 msgid	"Group Level Commands"
 msgstr	"ëÏÍÁÎÄÙ ÕÒÏ×ÎÑ ÇÒÕÐÐ"
 
-#: src/lang.c:418
+#: src/lang.c:419
 msgid	"Kill filter added"
 msgstr	"õÎÉÞÔÏÖÉÔØ ÄÏÂÁ×ÌÅÎÎÙÊ ÆÉÌØÔÒ"
 
-#: src/lang.c:419
+#: src/lang.c:420
 msgid	"Auto-selection filter added"
 msgstr	"æÉÌØÔÒ Á×ÔÏ×ÙÂÏÒÁ ÄÏÂÁ×ÌÅÎ"
 
-#: src/lang.c:420
+#: src/lang.c:421
 msgid	"All parts tagged"
 msgstr	"÷ÓÅ ÞÁÓÔÉ ÐÏÍÅÞÅÎÙ"
 
-#: src/lang.c:421
+#: src/lang.c:422
 msgid	"Storing article for later posting"
 msgstr	"óÏÈÒÁÎÅÎÉÅ ÓÔÁÔØÉ ÄÌÑ ÏÔÌÏÖÅÎÎÏÊ ÏÔÐÒÁ×ËÉ"
 
-#: src/lang.c:422
+#: src/lang.c:423
 msgid	"Please enter a valid character"
 msgstr	"ðÏÖÁÌÕÊÓÔÁ ××ÅÄÉÔÅ ÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ"
 
-#: src/lang.c:423
+#: src/lang.c:424
 #, c-format
 msgid	"Missing part #%d"
 msgstr	"ðÒÏÐÕÝÅÎÁ ÞÁÓÔØ #%d"
 
-#: src/lang.c:424
+#: src/lang.c:425
 msgid	"*** No postponed articles ***"
 msgstr	"*** îÅÔ ÏÔÌÏÖÅÎÎÙÈ ÓÔÁÔÅÊ ***"
 
-#: src/lang.c:425
+#: src/lang.c:426
 msgid	"Not a multi-part message"
 msgstr	"îÅ multi-part ÓÏÏÂÝÅÎÉÅ"
 
-#: src/lang.c:426
+#: src/lang.c:427
 msgid	"You are not subscribed to this group"
 msgstr	"÷Ù ÎÅ ÐÏÄÐÉÓÁÎÙ ÎÁ ÜÔÕ ÇÒÕÐÐÕ"
 
-#: src/lang.c:427
+#: src/lang.c:428
 msgid	"No previous expression"
 msgstr	"îÅÔ ÐÒÅÄÙÄÕÝÅÇÏ ×ÙÒÁÖÅÎÉÑ"
 
-#: src/lang.c:428
+#: src/lang.c:429
 msgid	"Operation disabled in no-overwrite mode"
 msgstr	"ïÐÅÒÁÃÉÑ ÚÁÐÒÅÝÅÎÁ × ÒÅÖÉÍÅ ÚÁÐÒÅÝÅÎÉÑ ÐÅÒÅÚÁÐÉÓÉ"
 
 #. TODO: replace hardcoded key-name in txt_info_postponed
-#: src/lang.c:430
+#: src/lang.c:431
 #, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	"%d ÏÔÌÏÖÅÎÁ(Ù) %s, ×ÏÚÏÂÎÏ×ÉÔØ Ó ^O...\n"
 
-#: src/lang.c:431
+#: src/lang.c:432
 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	"X-Conversion-Note: multipart/alternative ÓÏÄÅÒÖÉÍÏÅ ÂÙÌÏ ÕÄÁÌÅÎÏ.\n"
 	"  äÌÑ ÐÏÌÕÞÅÎÉÑ ×ÓÅÊ ÓÔÁÔØÉ, ÉÚÍÅÎÉÔÅ ÏÂÒÁÂÏÔËÕ multipart/alternative\n"
 	"  ÓÔÁÔÅÊ ÎÁ OFF × íÅÎÀ ÏÐÃÉÊ\n"
 
-#: src/lang.c:433
+#: src/lang.c:434
 #, c-format
 msgid	"Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr	"æÁÊÌ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ  %s/%s - mailbox. ÷ÌÏÖÅÎÉÅ ÎÅ ÓÏÈÒÁÎÅÎÏ"
 
-#: src/lang.c:434
+#: src/lang.c:435
 msgid	"TeX2Iso encoded article"
 msgstr	"TeX2Iso ËÏÄÉÒÏ×ÁÎÎÁÑ ÓÔÁÔØÑ"
 
-#: src/lang.c:435
+#: src/lang.c:436
 msgid	"incomplete "
 msgstr	"ÎÅÐÏÌÎÙÊ "
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:437
+#: src/lang.c:438
 #, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -1922,430 +1901,430 @@ msgstr	"\n"
 	"TODO É FTP. óÏÏÂÝÅÎÉÑ ÏÂ ÏÛÉÂËÁÈ É ÏÔÚÙ×Ù ÏÔÐÒÁ×ÌÑÊÔÅ %s ÐÒÉ ÐÏÍÏÝÉ ËÏÍÁÎÄÙ "
 	"'R'.\n"
 
-#: src/lang.c:453
+#: src/lang.c:454
 #, c-format
 msgid	"Invalid  From: %s  line. Read the INSTALL file again."
 msgstr	"îÅÄÏÐÕÓÔÉÍÁÑ ÓÔÒÏËÁ From: %s. ðÒÏÞÉÔÁÊÔÅ ÆÁÊÌ INSTALL ÓÎÏ×Á."
 
-#: src/lang.c:455
+#: src/lang.c:456
 msgid	"Invalid multibyte sequence found\n"
 msgstr	"îÁÊÄÅÎÁ ÎÅÄÏÐÕÓÔÉÍÁÑ ÍÕÌØÔÉÂÁÊÔÏ×ÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ\n"
 
-#: src/lang.c:457
+#: src/lang.c:458
 #, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	"îÅÄÏÐÕÓÔÉÍÙÊ ÚÁÇÏÌÏ×ÏË Sender: %s"
 
-#: src/lang.c:458
+#: src/lang.c:459
 msgid	"Inverse video disabled"
 msgstr	"éÎ×ÅÒÓÎÏÅ ×ÉÄÅÏ ÚÁÐÒÅÝÅÎÏ"
 
-#: src/lang.c:459
+#: src/lang.c:460
 msgid	"Inverse video enabled"
 msgstr	"éÎ×ÅÒÓÎÏÅ ×ÉÄÅÏ ÒÁÚÒÅÛÅÎÏ"
 
-#: src/lang.c:461
+#: src/lang.c:462
 #, c-format
 msgid	"Missing definition for %s\n"
 msgstr	"ðÒÏÐÕÝÅÎÏ ÏÐÒÅÄÅÌÅÎÉÅ ÄÌÑ %s\n"
 
-#: src/lang.c:462
+#: src/lang.c:463
 #, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	"îÅÐÒÁ×ÉÌØÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ËÌÁ×ÉÛÉ '%s'\n"
 
-#: src/lang.c:463
+#: src/lang.c:464
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	"îÅÐÒÁ×ÉÌØÎÏÅ ÎÁÚ×ÁÎÉÅ ËÌÁ×ÉÛÉ '%s'\n"
 
-#: src/lang.c:464
+#: src/lang.c:465
 #, c-format
 msgid	"Keymap file was upgraded to version %s\n"
 msgstr	"æÁÊÌ Keymap ÏÂÎÏ×ÌÅÎ ÄÏ ×ÅÒÓÉÉ %s\n"
 
-#: src/lang.c:465
+#: src/lang.c:466
 #, c-format
 msgid	"Kill From:     [%s] (y/n): "
 msgstr	"õÎÉÞÔÏÖÉÔØ From:    [%s] (y/n): "
 
-#: src/lang.c:466
+#: src/lang.c:467
 msgid	"Kill Lines: (</>num): "
 msgstr	"õÎÉÞÔÏÖÉÔØ ÓÔÒÏËÉ: (</>num): "
 
-#: src/lang.c:467
+#: src/lang.c:468
 msgid	"Kill Article Menu"
 msgstr	"õÎÉÞÔÏÖÉÔØ ÍÅÎÀ ÓÔÁÔØÉ"
 
-#: src/lang.c:468
+#: src/lang.c:469
 #, c-format
 msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr	"õÎÉÞÔÏÖÉÔØ Msg-Id:   [%s] (f/l/o/n): "
 
-#: src/lang.c:469
+#: src/lang.c:470
 msgid	"Kill pattern scope  : "
 msgstr	"õÎÉÞÔÏÖÉÔØ ÛÁÂÌÏÎ ÏÂÚÏÒÁ  : "
 
-#: src/lang.c:470
+#: src/lang.c:471
 #, c-format
 msgid	"Kill Subject:  [%s] (y/n): "
 msgstr	"õÎÉÞÔÏÖÉÔØ ôÅÍÕ:  [%s] (y/n): "
 
-#: src/lang.c:471
+#: src/lang.c:472
 msgid	"Kill text pattern   : "
 msgstr	"õÎÉÞÔÏÖÉÔØ ÛÁÂÌÏÎ    : "
 
-#: src/lang.c:472
+#: src/lang.c:473
 msgid	"Kill time in days   : "
 msgstr	"õÎÉÞÔÏÖÉÔØ ×ÒÅÍÑ × ÄÎÑÈ   : "
 
-#: src/lang.c:474
+#: src/lang.c:475
 msgid	"Last"
 msgstr	"ðÏÓÌÅÄÎÉÊ"
 
-#: src/lang.c:475
+#: src/lang.c:476
 msgid	"-- Last response --"
 msgstr	"-- ðÏÓÌÅÄÎÉÊ ÏÔ×ÅÔ --"
 
-#: src/lang.c:476
+#: src/lang.c:477
 #, c-format
 msgid	"Lines %s  "
 msgstr	"óÔÒÏË %s  "
 
-#: src/lang.c:478
+#: src/lang.c:479
 msgid	"Mail"
 msgstr	""
 
-#: src/lang.c:479
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	""
 
-#: src/lang.c:480
+#: src/lang.c:481
 #, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	"ïÔÐÒÁ×ÉÔØ ÓÔÁÔØÀ(É) ÐÏ email [%.*s]> "
 
-#: src/lang.c:481
+#: src/lang.c:482
 #, c-format
 msgid	"Mailing log to %s\n"
 msgstr	"ïÔÐÒÁ×ÉÔØ ÌÏÇ-ÓÏÏÂÝÅÎÉÅ %s\n"
 
-#: src/lang.c:482
+#: src/lang.c:483
 msgid	"Mail bug report..."
 msgstr	"ïÔÐÒÁ×ÌÑÅÔÓÑ ÓÏÏÂÝÅÎÉÅ ÏÂ ÏÛÉÂËÅ..."
 
-#: src/lang.c:483
+#: src/lang.c:484
 #, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	"ïÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ ÏÂ ÏÛÉÂËÅ %s?"
 
-#: src/lang.c:484
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	"ïÔÐÒÁ×ÌÅÎÏ ÐÏ email"
 
-#: src/lang.c:485
+#: src/lang.c:486
 #, c-format
 msgid	"Mailing to %s..."
 msgstr	"ïÔÐÒÁ×ÌÑÅÔÓÑ ÐÏ email %s..."
 
-#: src/lang.c:486
+#: src/lang.c:487
 msgid	"# [Mail/Save] active file. Format is like news active file:\n"
 	"#   groupname  max.artnum  min.artnum  /dir\n"
 	"# The 4th field is the basedir (ie. ~/Mail or ~/News)\n"
 	"#\n"
 msgstr	""
 
-#: src/lang.c:489
+#: src/lang.c:490
 #, c-format
 msgid	"%s marked as unread"
 msgstr	"%s ÐÏÍÅÞÅÎÏ ËÁË ÎÅÐÒÏÞÉÔÁÎÏ"
 
-#: src/lang.c:490
+#: src/lang.c:491
 #, c-format
 msgid	"Marked %d of %d tagged %s as read"
 msgstr	"ðÏÍÅÞÅÎÏ %d ÉÚ %d ÏÔÍÅÞÅÎÎÙÈ %s ËÁË ÐÒÏÞÉÔÁÎÎÙÅ"
 
-#: src/lang.c:491
+#: src/lang.c:492
 #, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	"ðÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ%s?"
 
-#: src/lang.c:492
+#: src/lang.c:493
 #, c-format
 msgid	"Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr	"íÁÒËÉÒÏ×ÁÔØ %s=ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ, %s=ÔÅËÕÝÕÀ ÓÔÁÔØÀ, %s=×ÙÈÏÄ: "
 
-#: src/lang.c:493
+#: src/lang.c:494
 #, c-format
 msgid	"Mark group %s as read?"
 msgstr	"ðÏÍÅÔÉÔØ ÇÒÕÐÐÕ %s ËÁË ÐÒÏÞÉÔÁÎÎÕÀ?"
 
-#: src/lang.c:494
+#: src/lang.c:495
 #, c-format
 msgid	"Mark thread as read%s?"
 msgstr	"ðÏÍÅÔÉÔØ ÄÉÓËÕÓÓÉÀ ËÁË ÐÒÏÞÉÔÁÎÎÕÀ %s?"
 
-#: src/lang.c:495
+#: src/lang.c:496
 #, c-format
 msgid	"Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr	"íÁÒËÉÒÏ×ÁÔØ %s=ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ/ÄÉÓË., %s=ÔÅËÕÝÕÀ ÄÉÓË., %s=×ÙÈÏÄ: "
 
-#: src/lang.c:496
+#: src/lang.c:497
 #, c-format
 msgid	"Matching %s groups..."
 msgstr	"óÏÐÏÓÔÁ×ÌÅÎÉÅ Ó ÛÁÂÌÏÎÏÍ %s ÇÒÕÐÐ..."
 
-#: src/lang.c:497 src/lang.c:501
+#: src/lang.c:498 src/lang.c:502
 #, 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:498
+#: src/lang.c:499
 #, c-format
 msgid	"%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list "
 	"thread"
 msgstr	"%s=ÐÏÉÓË Á×Ô.; %s=catchup; %s=ÓÔÒË. ×ÎÉÚ.; %s=ÓÔÒË. ××ÅÒÈ.; %s=ÍÁÒË. ÐÒÏÞ.; %"
 	"s=ÓÐÉÓ. ÄÉÓË."
 
-#: src/lang.c:499
+#: src/lang.c:500
 #, 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:500
+#: src/lang.c:501
 #, c-format
 msgid	"%s=search forwards; %s=search backwards; %s=quit"
 msgstr	"%s=ÐÏÉÓË ×ÐÅÒ£Ä; %s=ÐÏÉÓË ÎÁÚÁÄ; %s=×ÙÈÏÄ"
 
-#: src/lang.c:502
+#: src/lang.c:503
 #, 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:503
+#: src/lang.c:504
 #, 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:504
+#: src/lang.c:505
 #, 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:505
+#: src/lang.c:506
 #, c-format
 msgid	"%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out"
 msgstr	"%s=ÐÏÄÐÉÓÁÔØÓÑ; %s=ÐÏÄÐ. ÛÁÂÌÏÎ; %s=ÏÔÐÉÓÁÔØÓÑ; %s=ÏÔÐÉÓ. ÛÁÂÌÏÎ; %s=yank in/"
 	"out"
 
-#: src/lang.c:506
+#: src/lang.c:507
 #, 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:507
+#: src/lang.c:508
 #, 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:508
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	"--äÁÌÅÅ--"
 
-#: src/lang.c:509
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	"ðÅÒÅÍÅÝÅÎÉÅ %s..."
 
-#: src/lang.c:510
+#: src/lang.c:511
 msgid	"Message-ID: & last Reference  "
 msgstr	""
 
-#: src/lang.c:511
+#: src/lang.c:512
 msgid	"Message-ID: line              "
 msgstr	"Message-ID: ÓÔÒÏËÁ            "
 
-#: src/lang.c:512
+#: src/lang.c:513
 msgid	"Message-ID: & References: line"
 msgstr	""
 
-#: src/lang.c:514
+#: src/lang.c:515
 msgid	", name: "
 msgstr	", ÉÍÑ: "
 
-#: src/lang.c:515
+#: src/lang.c:516
 #, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	"ðÅÒÅÊÔÉ Ë ÇÒÕÐÐÅ [%s]> "
 
-#: src/lang.c:516
+#: src/lang.c:517
 msgid	"newsgroups"
 msgstr	"ÇÒÕÐÐÙ"
 
-#: src/lang.c:517
+#: src/lang.c:518
 #, c-format
 msgid	"Position %s in group list (1,2,..,$) [%d]> "
 msgstr	"ðÏÚÉÃÉÑ %s × ÓÐÉÓËÅ ÇÒÕÐÐ (1,2,..,$) [%d]> "
 
-#: src/lang.c:518
+#: src/lang.c:519
 msgid	"newsgroup"
 msgstr	"ÇÒÕÐÐÁ"
 
-#: src/lang.c:519
+#: src/lang.c:520
 msgid	"Try and save newsrc file again?"
 msgstr	"ðÏÐÒÏÂÏ×ÁÔØ É ÓÏÈÒÁÎÉÔØ newsrc ÓÎÏ×Á?"
 
-#: src/lang.c:520
+#: src/lang.c:521
 msgid	"Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr	"÷ÎÉÍÁÎÉÅ: çÒÕÐÐÙ ÎÅ ÂÙÌÉ ÚÁÐÉÓÁÎÙ × newsrc. óÏÈÒÁÎÅÎÉÅ ÐÒÅÒ×ÁÎÏ."
 
-#: src/lang.c:521
+#: src/lang.c:522
 msgid	"newsrc file saved successfully.\n"
 msgstr	"newsrc ÆÁÊÌ ÕÓÐÅÛÎÏ ÓÏÈÒÁÎ£Î.\n"
 
-#: src/lang.c:522
+#: src/lang.c:523
 msgid	"-- Next response --"
 msgstr	"-- óÌÅÄÕÀÝÉÊ ÏÔ×ÅÔ --"
 
-#: src/lang.c:523
+#: src/lang.c:524
 #, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"ðÁÒÏÌØ Á×ÔÏÒÉÚÁÃÉÉ Ë NNTP ÎÅ ÎÁÊÄÅÎ ÄÌÑ %s"
 
-#: src/lang.c:524
+#: src/lang.c:525
 msgid	"No  "
 msgstr	"îÅÔ  "
 
-#: src/lang.c:525
+#: src/lang.c:526
 msgid	"*** No articles ***"
 msgstr	"*** îÅÔ ÓÔÁÔÅÊ ***"
 
-#: src/lang.c:526
+#: src/lang.c:527
 msgid	"No articles have been posted"
 msgstr	"îÉ ÏÄÎÁ ÓÔÁÔØÑ ÎÅ ÂÙÌÁ ÏÔÐÒÁ×ÌÅÎÁ"
 
-#: src/lang.c:527
+#: src/lang.c:528
 msgid	"*** No description ***"
 msgstr	"*** îÅÔ ÏÐÉÓÁÎÉÑ ***"
 
-#: src/lang.c:528
+#: src/lang.c:529
 msgid	"No filename"
 msgstr	"îÅÔ ÉÍÅÎÉ ÆÁÊÌÁ"
 
-#: src/lang.c:529
+#: src/lang.c:530
 msgid	"No group"
 msgstr	"îÅÔ ÇÒÕÐÐÙ"
 
-#: src/lang.c:530
+#: src/lang.c:531
 msgid	"*** No groups ***"
 msgstr	"*** îÅÔ ÇÒÕÐÐ ***"
 
-#: src/lang.c:531
+#: src/lang.c:532
 msgid	"No more groups to read"
 msgstr	"îÅÔ ÂÏÌØÛÅ ÇÒÕÐÐ ÄÌÑ ÞÔÅÎÉÑ"
 
-#: src/lang.c:532
+#: src/lang.c:533
 msgid	"No last message"
 msgstr	"îÅÔ ÐÏÓÌÅÄÎÅÇÏ ÓÏÏÂÝÅÎÉÑ"
 
-#: src/lang.c:533
+#: src/lang.c:534
 msgid	"No mail address"
 msgstr	"îÅÔ ÁÄÒÅÓÁ email"
 
-#: src/lang.c:534
+#: src/lang.c:535
 msgid	"No articles marked for saving"
 msgstr	"îÅÔ ÍÁÒËÉÒÏ×ÁÎÎÙÈ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ"
 
-#: src/lang.c:535
+#: src/lang.c:536
 msgid	"No match"
 msgstr	"îÅÔ ÓÏ×ÐÁÄÅÎÉÑ"
 
-#: src/lang.c:536
+#: src/lang.c:537
 msgid	"No more groups"
 msgstr	"âÏÌØÛÅ ÎÅÔ ÇÒÕÐÐ"
 
-#: src/lang.c:537
+#: src/lang.c:538
 msgid	"No newsgroups"
 msgstr	"îÅÔ ÇÒÕÐÐ"
 
-#: src/lang.c:538
+#: src/lang.c:539
 msgid	"No next unread article"
 msgstr	"îÅÔ ÓÌÅÄÕÀÝÅÊ ÎÅÐÒÏÞÉÔÁÎÎÏÊ ÓÔÁÔØÉ"
 
-#: src/lang.c:539
+#: src/lang.c:540
 msgid	"No previous group"
 msgstr	"îÅÔ ÐÒÅÄÙÄÕÝÅÊ ÇÒÕÐÐÙ"
 
-#: src/lang.c:540
+#: src/lang.c:541
 msgid	"No previous unread article"
 msgstr	"îÅÔ ÐÒÅÄÙÄÕÝÅÊ ÎÅÐÒÏÞÉÔÁÎÎÏÊ ÓÔÁÔØÉ"
 
-#: src/lang.c:541
+#: src/lang.c:542
 msgid	"No responses"
 msgstr	"îÅÔ ÏÔ×ÅÔÏ×"
 
-#: src/lang.c:542
+#: src/lang.c:543
 msgid	"No responses to list in current thread"
 msgstr	"îÅÔ ÏÔ×ÅÔÏ× ÎÁ ÓÐÉÓÏË × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ"
 
-#: src/lang.c:543
+#: src/lang.c:544
 msgid	"No search string"
 msgstr	"îÅÔ ÓÔÒÏËÉ ÐÏÉÓËÁ"
 
-#: src/lang.c:544
+#: src/lang.c:545
 msgid	"No subject"
 msgstr	"îÅÔ ÔÅÍÙ"
 
-#: src/lang.c:546
+#: src/lang.c:547
 #, 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:547
+#: src/lang.c:548
 #, 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:548
+#: src/lang.c:549
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	"%s: ôÅÒÍÉÎÁÌ ÄÏÌÖÅÎ ÉÍÅÔØ ÆÕÎËÃÉÀ clearscreen (cl)\n"
 
-#: src/lang.c:549
+#: src/lang.c:550
 #, c-format
 msgid	"%s: Terminal must have cursor motion (cm)\n"
 msgstr	"%s: ôÅÒÍÉÎÁÌ ÄÏÌÖÅÎ ÉÍÅÔØ cursor motion (cm)\n"
 
-#: src/lang.c:550
+#: src/lang.c:551
 #, c-format
 msgid	"%s: TERM variable must be set to use screen capabilities\n"
 msgstr	"%s: ÕÓÔÁÎÏ×ÉÔÅ ÐÅÒÅÍÅÎÎÕÀ ÓÒÅÄÙ TERM\n"
 
-#: src/lang.c:552
+#: src/lang.c:553
 #, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	"îÅ ÎÁÊÄÅÎ ÐÒÏÓÍÏÔÏÒÝÉË ÄÌÑ %s/%s\n"
 
-#: src/lang.c:553
+#: src/lang.c:554
 msgid	"Newsgroup does not exist on this server"
 msgstr	"çÒÕÐÐÁ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ÎÁ ÜÔÏÍ ÓÅÒ×ÅÒÅ"
 
-#: src/lang.c:554
+#: src/lang.c:555
 #, c-format
 msgid	"Group %s not found in active file"
 msgstr	"çÒÕÐÐÁ %s ÎÅ ÎÁÊÄÅÎÁ × ÆÁÊÌÅ active"
 
-#: src/lang.c:555
+#: src/lang.c:556
 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:556
+#: src/lang.c:557
 msgid	"use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	"a)ÉÓÐ. ÁÌØÔÅÒ. ÉÍÑ, d)ÉÓÐ. ÓÔÁÎÄÁÒÔÎÙÊ .newsrc, q)×ÙÈÏÄ ÉÚ tin: "
 
-#: src/lang.c:557
+#: src/lang.c:558
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2361,40 +2340,40 @@ msgid	"# NNTP-server -> newsrc translati
 	"#\n"
 msgstr	""
 
-#: src/lang.c:564
+#: src/lang.c:565
 msgid	"Only"
 msgstr	"ôÏÌØËÏ"
 
-#: src/lang.c:565
+#: src/lang.c:566
 #, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	"ïÐÃÉÑ ÎÅ ×ËÌÀÞÅÎÁ. ðÅÒÅÓÏÂÅÒÉÔÅ ÐÁËÅÔ Ó %s."
 
-#: src/lang.c:566
+#: src/lang.c:567
 msgid	"Options Menu"
 msgstr	"íÅÎÀ ÏÐÃÉÊ"
 
-#: src/lang.c:569
+#: src/lang.c:570
 #, c-format
 msgid	"Error in regex: %s at pos. %d '%s'"
 msgstr	"ïÛÉÂËÁ × regex: %s × ÐÏÚ. %d '%s'"
 
-#: src/lang.c:570
+#: src/lang.c:571
 #, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	"ïÛÉÂËÁ × regex: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ pcre %d"
 
-#: src/lang.c:571
+#: src/lang.c:572
 #, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	"ïÛÉÂËÁ × regex: study - ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ pcre %s"
 
-#: src/lang.c:572
+#: src/lang.c:573
 msgid	"Post a followup..."
 msgstr	"ïÔÐÒÁ×ÌÅÎÉÅ ÏÔ×ÅÔÁ × ÇÒÕÐÐÕ..."
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:574
+#: src/lang.c:575
 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"
@@ -2402,135 +2381,131 @@ msgstr	"ïÛÉÂËÁ ×Ï ×ÒÅÍÑ ÏÔÐÒÁ×ÌÅÎÉÑ ÓÔÁÔ
 	"É ÍÏÖÅÔ ÂÙÔØ ÉÓÐÒÁ×ÌÅÎÁÑ, ÔÏ ×Ù ÍÏÖÅÔÅ ÏÔÌÏÖÉÔØ ÓÔÁÔØÀ É ÏÔÐÒÁ×ÉÔØ Å£ Ó\n"
 	"ÐÏÍÏÝØÀ ^O ÐÏÚÖÅ.\n"
 
-#: src/lang.c:577
+#: src/lang.c:578
 msgid	"Posted articles history"
 msgstr	"éÓÔÏÒÉÑ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ"
 
-#: src/lang.c:578
+#: src/lang.c:579
 #, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	"ïÔÐÒÁ×ÉÔØ × ÇÒÕÐÐÕ(Ù) [%s]> "
 
-#: src/lang.c:579
+#: src/lang.c:580
 msgid	"-- post processing started --"
 msgstr	"-- ÐÏÓÔ-ÏÂÒÁÂÏÔËÁ ÎÁÞÁÔÁ --"
 
-#: src/lang.c:580
+#: src/lang.c:581
 msgid	"-- post processing completed --"
 msgstr	"-- ÐÏÓÔ-ÏÂÒÁÂÏÔËÁ ÚÁËÏÎÞÅÎÁ --"
 
-#: src/lang.c:581
+#: src/lang.c:582
 #, c-format
 msgid	"Post subject [%s]> "
 msgstr	"ôÅÍÁ ÓÏÏÂÝÅÎÉÑ [%s]> "
 
-#: src/lang.c:582
+#: src/lang.c:583
 msgid	"# Summary of mailed/posted messages viewable by 'W' command from within tin.\n"
 msgstr	"# ó×ÏÄËÁ Ï ÓÏÏÂÝÅÎÉÑÈ ÏÔÐÒÁ×ÌÅÎÎÙÈ × ÇÒÕÐÐÕ ÉÌÉ ÐÏ ÐÏÞÔÅ ×ÙÚÙ×ÁÅÔÓÑ ËÏÍÁÎÄÏÊ\n"
 	"# 'W' ÉÚ tin.\n"
 
-#: src/lang.c:583
+#: src/lang.c:584
 msgid	"Posting article..."
 msgstr	"ïÔÐÒÁ×ÌÅÎÉÅ ÓÔÁÔØÉ..."
 
-#: src/lang.c:584
+#: src/lang.c:585
 #, c-format
 msgid	"Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr	"ïÔÐÒÁ×ÉÔØ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ [%%s]? (%s/%s/%s/%s/%s): "
 
-#: src/lang.c:585
+#: src/lang.c:586
 #, c-format
 msgid	"Hot %s"
 msgstr	""
 
-#: src/lang.c:586
+#: src/lang.c:587
 #, c-format
 msgid	"Tagged %s"
 msgstr	"ðÏÍÅÞÅÎÙ %s"
 
-#: src/lang.c:587
+#: src/lang.c:588
 #, c-format
 msgid	"Untagged %s"
 msgstr	"óÎÑÔÙ ÏÔÍÅÔËÉ %s"
 
-#: src/lang.c:588
+#: src/lang.c:589
 msgid	"Processing mail messages marked for deletion."
 msgstr	"ïÂÒÁÂÏÔËÁ ÐÏÞÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÊ ÐÏÍÅÞÅÎÎÙÈ ÄÌÑ ÕÄÁÌÅÎÉÑ."
 
-#: src/lang.c:589
+#: src/lang.c:590
 msgid	"Processing saved articles marked for deletion."
 msgstr	"ïÂÒÁÂÏÔËÁ ÓÏÈÒÁÎ£ÎÎÙÈ ÓÔÁÔÅÊ ÐÏÍÅÞÅÎÎÙÈ ÄÌÑ ÕÄÁÌÅÎÉÑ."
 
-#: src/lang.c:590
+#: src/lang.c:591
 #, c-format
 msgid	"Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr	"ðÒÉÎÑÔØ Followup-To? %s=ÏÔÐÒÁ×ÉÔØ, %s=ÉÇÎÏÒÉÒÏ×ÁÔØ, %s=×ÙÈÏÄ: "
 
-#: src/lang.c:591
+#: src/lang.c:592
 msgid	"Article unchanged, abort mailing?"
 msgstr	"óÔÁÔØÑ ÎÅ ÉÚÍÅÎÉÌÁÓØ, ÐÒÅÒ×ÁÔØ ÏÔÐÒÁ×ËÕ?"
 
-#: src/lang.c:592
+#: src/lang.c:593
 #, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	"èÏÔÉÔÅ ÐÏÓÍÏÔÒÅÔØ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ (%d)?"
 
-#: src/lang.c:594
+#: src/lang.c:595
 msgid	"Add quick kill filter?"
 msgstr	"äÏÂÁ×ÉÔØ ÆÉÌØÔÒ ÂÙÓÔÒÏÇÏ ÕÎÉÞÔÏÖÅÎÉÑ?"
 
-#: src/lang.c:595
+#: src/lang.c:596
 msgid	"Add quick selection filter?"
 msgstr	"äÏÂÁ×ÉÔØ ÆÉÌØÔÒ ÂÙÓÔÒÏÇÏ ×ÙÂÏÒÁ?"
 
-#: src/lang.c:596
+#: src/lang.c:597
 msgid	"Do you really want to quit?"
 msgstr	"÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ×ÙÊÔÉ?"
 
-#: src/lang.c:597
+#: src/lang.c:598
 #, c-format
 msgid	"%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr	"%s=ÒÅÄÁËÔ. ÏÔÍÅÎ. ÓÏÏÂÝÅÎÉÑ, %s=×ÙÈÏÄ, %s=ÕÄÁÌÉÔØ (ÏÔÍÅÎÉÔØ) [%%s]: "
 
-#: src/lang.c:598
+#: src/lang.c:599
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	"ïÓÔÁÌÉÓØ ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ - ×ÙÊÔÉ ×ÓÅ ÒÁ×ÎÏ?"
 
-#: src/lang.c:599
+#: src/lang.c:600
 #, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	"%s=×ÙÈÏÄ, %s=ÒÅÄÁËÔÉÒÏ×ÁÔØ, %s=ÏÔÌÏÖÉÔØ: "
 
-#: src/lang.c:600
+#: src/lang.c:601
 #, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	"%s=×ÙÈÏÄ %s=ÒÅÄÁËÔÉÒÏ×ÁÔØ %s=ÓÏÈÒ. ÕÎÉÞÔÏÖÅÎÎÏÅ ÏÐÉÓÁÎÉÅ: "
 
-#: src/lang.c:601
+#: src/lang.c:602
 #, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	"%s=×ÙÈÏÄ %s=ÒÅÄÁËÔÉÒÏ×ÁÔØ %s=ÓÏÈÒ. ×ÙÂÒÁÎÎÏÅ ÏÐÉÓÁÎÉÅ: "
 
-#: src/lang.c:602
+#: src/lang.c:603
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	"÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ×ÙÊÔÉ ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ ËÏÎÆÉÇÕÒÁÃÉÉ?"
 
-#: src/lang.c:605
+#: src/lang.c:606
 msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	"îÅÄÏÐÕÓÔÉÍÙÊ ÄÉÁÐÁÚÏÎ - ÄÏÓÔÕÐÎÙ '0-9.$', ÎÁÐÒ. 1-$"
 
-#: src/lang.c:606
+#: src/lang.c:607
 msgid	"Do you want to abort this operation?"
 msgstr	"÷Ù ÈÏÔÉÔÅ ÐÒÅÒ×ÁÔØ ÏÐÅÒÁÃÉÀ?"
 
-#: src/lang.c:607
+#: src/lang.c:608
 msgid	"Do you want to exit tin immediately?"
 msgstr	"÷Ù ÈÏÔÉÔÅ ×ÙÊÔÉ ÉÚ tin ÎÅÍÅÄÌÅÎÎÏ?"
 
-#: src/lang.c:608
-msgid	"Read response> "
-msgstr	"ðÒÏÞÉÔÁÔØ ÏÔ×ÅÔ> "
-
 #: src/lang.c:609
 msgid	"Reading ('q' to quit)..."
 msgstr	"þÔÅÎÉÅ ('q' - ×ÙÈÏÄ)..."
@@ -2584,7 +2559,6 @@ msgid	"Reading newsrc file..."
 msgstr	"þÔÅÎÉÅ ÆÁÊÌÁ newsrc..."
 
 #: src/lang.c:621
-#, fuzzy
 msgid	"References: line              "
 msgstr	"References: ÓÔÒÏËÁ            "
 
@@ -2633,11 +2607,6 @@ msgstr	"ïÔ×ÅÔÙ ÂÙÌÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÙ × ÓÌÅ
 msgid	"Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr	"ïÔ×ÅÔÙ ÂÙÌÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÙ ÏÔÐÒÁ×ÉÔÅÌÀ. %s=mail, %s=ÏÔÐÒÁ×ÉÔØ, %s=×ÙÈÏÄ: "
 
-#: src/lang.c:634
-#, c-format
-msgid	"RespNo %4d of %4d"
-msgstr	"ïÔ×ÅÔ %4d ÉÚ %4d"
-
 #: src/lang.c:635
 msgid	"Press <RETURN> to continue..."
 msgstr	"îÁÖÍÉÔÅ <CR> ÄÌÑ ÐÒÏÄÏÌÖÅÎÉÑ..."
@@ -3410,8 +3379,8 @@ msgstr	"\n"
 	"          ÚÎÁÞÅÎÉÅ MM_NETWORK_CHARSET ÎÁ ÐÏÄÈÏÄÑÝÅÅ.\n"
 
 #: src/lang.c:843
-msgid	"  -D       debug mode 1=NNTP 2=ALL"
-msgstr	"  -D       ÒÅÖÉÍ ÏÔÌÁÄËÉ 1=NNTP 2=÷ó³"
+msgid	"  -D mode  debug mode"
+msgstr	""
 
 #: src/lang.c:847
 msgid	"Read carefully!\n"
@@ -3671,9 +3640,9 @@ msgid	"Cannot find NNTP server name"
 msgstr	"îÅ ÍÏÇÕ ÎÁÊÔÉ ÉÍÑ NNTP ÓÅÒ×ÅÒÁ"
 
 #: src/lang.c:944
-#, c-format
-msgid	"Connecting to %s:%d..."
-msgstr	"óÏÅÄÉÎÅÎÉÅ Ó %s:%d..."
+#, fuzzy, c-format
+msgid	"Connecting to %s:%u..."
+msgstr	"óÏÅÄÉÎÅÎÉÅ Ó %s:%u..."
 
 #: src/lang.c:945
 msgid	"Disconnecting from server...\n"
@@ -3987,7 +3956,7 @@ msgstr	"ôÅÒÍÉÎÁÌ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ Ã×ÅÔ"
 msgid	"Trying %s"
 msgstr	""
 
-#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:296
+#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:304
 msgid	"None"
 msgstr	"îÉÞÅÇÏ"
 
@@ -4380,9 +4349,9 @@ msgstr	"ïÐÃÉÉ ÆÉÌØÔÒÁÃÉÉ"
 #: src/lang.c:2020 src/lang.c:2027 src/lang.c:2034 src/lang.c:2041 src/lang.c:2048
 #: src/lang.c:2056 src/lang.c:2072 src/lang.c:2079 src/lang.c:2086 src/lang.c:2093
 #: src/lang.c:2099 src/lang.c:2105 src/lang.c:2122 src/lang.c:2134 src/lang.c:2168
-#: src/lang.c:2221 src/lang.c:2228 src/lang.c:2234 src/lang.c:2259 src/lang.c:2276
-#: src/lang.c:2329 src/lang.c:2365 src/lang.c:2385 src/lang.c:2420 src/lang.c:2430
-#: src/lang.c:2455 src/lang.c:2471 src/lang.c:2490 src/lang.c:2503
+#: src/lang.c:2221 src/lang.c:2235 src/lang.c:2241 src/lang.c:2266 src/lang.c:2283
+#: src/lang.c:2336 src/lang.c:2372 src/lang.c:2392 src/lang.c:2427 src/lang.c:2437
+#: src/lang.c:2462 src/lang.c:2478 src/lang.c:2497 src/lang.c:2510
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"<ðòïâåì> ×ÙÂÒÁÔØ, <CR> ÕÓÔÁÎÏ×ÉÔØ, <ESC> ÏÔÍÅÎÁ."
 
@@ -5765,19 +5734,33 @@ msgstr	""
 msgid	"# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr	"# ëÏÄÉÒÏ×ËÁ × MIME (Content-Type) × ÏÔÐÒÁ×ÌÑÅÍÙÈ ÓÔÁÔØÑÈ.\n"
 
+#: src/lang.c:2227
+#, fuzzy
+msgid	"Enter local charset name (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:2228
+msgid	"MM_LOCAL_CHARSET"
+msgstr	""
+
 #: src/lang.c:2229
+msgid	"# Charset supported locally.\n"
+msgstr	""
+
+#: src/lang.c:2236
 msgid	"Mailbox format"
 msgstr	"æÏÒÍÁÔ Mailbox"
 
-#: src/lang.c:2230
+#: src/lang.c:2237
 msgid	"# Format of the mailbox.\n"
 msgstr	"# æÏÒÍÁÔ mailbox.\n"
 
-#: src/lang.c:2235
+#: src/lang.c:2242
 msgid	"MIME encoding in news messages"
 msgstr	"ëÏÄÉÒÏ×ËÁ MIME × ÓÔÁÔØÑÈ"
 
-#: src/lang.c:2236
+#: src/lang.c:2243
 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"
 	"# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n"
@@ -5785,15 +5768,15 @@ msgid	"# MIME encoding (8bit, base64, qu
 	"# Russian charsets with a lot of 8bit characters.\n"
 msgstr	""
 
-#: src/lang.c:2244 src/lang.c:2265
+#: src/lang.c:2251 src/lang.c:2272
 msgid	"Don't change unless you know what you are doing. <ESC> cancels."
 msgstr	"îÅ ÉÚÍÅÎÑÊÔÅ, ÅÓÌÉ ÎÅ ÐÏÎÉÍÁÅÔÅ ÞÔÏ ×Ù ÄÅÌÁÅÔÅ. <ESC> ÏÔÍÅÎÁ."
 
-#: src/lang.c:2245
+#: src/lang.c:2252
 msgid	"Use 8bit characters in news headers"
 msgstr	"éÓÐÏÌØÚÏ×ÁÔØ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÚÁÇÏÌÏ×ËÁÈ ÓÔÁÔÅÊ"
 
-#: src/lang.c:2246
+#: src/lang.c:2253
 msgid	"# If ON, 8bit characters in news headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in header are encoded regardless of the value of this\n"
@@ -5804,29 +5787,29 @@ msgstr	"# åÓÌÉ ON, ÔÏ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ ×
 	"# ÏÔ ÚÎÁÞÅÎÉÑ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ, ÐÏËÁ post_mime_encoding ÔÁËÖÅ\n"
 	"# ÎÅ ÕÓÔÁÎÏ×ÌÅÎ × 8bit.\n"
 
-#: src/lang.c:2253
+#: src/lang.c:2260
 msgid	"Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"á×ÔÏÐÒÏÓÍÏÔÒ ÐÏÓÔ-ÏÂÒÁÂÏÔÁÎÎÙÈ ÆÁÊÌÏ×. <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ, <ESC> "
 	"ÏÔÍÅÎÉÔØ"
 
-#: src/lang.c:2254
+#: src/lang.c:2261
 msgid	"View post-processed files"
 msgstr	"ðÒÏÓÍÏÔÒ ÐÏÓÔ-ÏÂÒÁÂÏÔÁÎÎÙÈ ÆÁÊÌÏ×"
 
-#: src/lang.c:2255
+#: src/lang.c:2262
 msgid	"# If set, post processed files will be opened in a viewer\n"
 msgstr	"# åÓÌÉ ÕÓÔÁÎÏ×ÌÅÎ, ÔÏ ÐÏÓÔ-ÏÂÒÁÂÏÔÁÎÎÙÅ ÆÁÊÌÙ ÂÕÄÕÔ ÏÔËÒÙ×ÁÔØÓÑ\n"
 	"# × ÐÒÏÓÍÏÔÏÒÝÉËÅ\n"
 
-#: src/lang.c:2260
+#: src/lang.c:2267
 msgid	"MIME encoding in mail messages"
 msgstr	"MIME ËÏÄÉÒÏ×ËÁ × ÐÏÞÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÑÈ"
 
-#: src/lang.c:2266
+#: src/lang.c:2273
 msgid	"Use 8bit characters in mail headers"
 msgstr	"éÓÐÏÌØÚÏ×ÁÔØ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÚÁÇÏÌÏ×ËÁÈ ÐÏÞÔÙ"
 
-#: src/lang.c:2267
+#: src/lang.c:2274
 msgid	"# If ON, 8bit characters in mail headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in headers are encoded regardless of the value of this "
@@ -5836,25 +5819,25 @@ msgid	"# If ON, 8bit characters in mail 
 	"# turn it ON unless you have some compelling reason.\n"
 msgstr	""
 
-#: src/lang.c:2277
+#: src/lang.c:2284
 msgid	"Strip blanks from ends of lines"
 msgstr	"õÂÉÒÁÔØ ÐÒÏÂÅÌÙ × ËÏÎÃÅ ÓÔÒÏËÉ"
 
-#: src/lang.c:2278
+#: src/lang.c:2285
 msgid	"# If ON strip blanks from ends of lines for faster display on slow "
 	"terminals.\n"
 msgstr	"# åÓÌÉ ON, ÔÏ ÕÂÉÒÁÔØ ÐÒÏÂÅÌÙ × ËÏÎÃÅ ÓÔÒÏËÉ ÄÌÑ ÂÏÌÅÅ ÂÙÓÔÒÏÇÏ ×Ù×ÏÄÁ\n"
 	"# ÎÁ ÍÅÄÌÅÎÎÙÈ ÔÅÒÍÉÎÁÌÁÈ.\n"
 
-#: src/lang.c:2283
+#: src/lang.c:2290
 msgid	"If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr	"åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÒÁÎÓÌÉÔÅÒÁÃÉÀ, <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ"
 
-#: src/lang.c:2284
+#: src/lang.c:2291
 msgid	"Transliteration"
 msgstr	"ôÒÁÎÓÌÉÔÅÒÁÃÉÑ"
 
-#: src/lang.c:2285
+#: src/lang.c:2292
 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"
@@ -5862,140 +5845,140 @@ msgstr	"# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÁÓÛÉ
 	"# ÓÉÍ×ÏÌ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÒÅÄÓÔÁ×ÌÅÎ × ÃÅÌÅ×ÏÍ ÎÁÂÏÒÅ ÓÉÍ×ÏÌÏ×, ÔÏ ÏÎ\n"
 	"# ÁÐÐÒÏËÓÉÍÉÒÕÅÔÓÑ ÏÄÎÉÍ ÉÌÉ ÎÅÓËÏÌØËÉÍÉ ÐÏÈÏÖÉÍÉ ÓÉÍ×ÏÌÁÍÉ.\n"
 
-#: src/lang.c:2292
+#: src/lang.c:2299
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"ïÔÐÒÁ×ÌÑÔØ ×ÁÍ carbon copy Á×ÔÏÍÁÔÉÞÅÓËÉ. <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:2293
+#: src/lang.c:2300
 msgid	"Send you a cc automatically"
 msgstr	"ïÔÐÒÁ×ÌÑÔØ ×ÁÍ Cc Á×ÔÏÍÁÔÉÞÅÓËÉ"
 
-#: src/lang.c:2294
+#: src/lang.c:2301
 msgid	"# If ON automatically put your name in the Cc: field when mailing an article\n"
 msgstr	"# åÓÌÉ ON, ÔÏ ÐÒÉ ÏÔÐÒÁ×ËÅ ÓÔÁÔØÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏÍÅÝÁÔØ ×ÁÛÅ ÉÍÑ × ÐÏÌÅ Cc:\n"
 
-#: src/lang.c:2298
+#: src/lang.c:2305
 msgid	"Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2299
+#: src/lang.c:2306
 msgid	"Send you a blind cc automatically"
 msgstr	"ïÔÐÒÁ×ÌÑÔØ ×ÁÍ Blind cc Á×ÔÏÍÁÔÉÞÅÓËÉ"
 
-#: src/lang.c:2300
+#: src/lang.c:2307
 msgid	"# If ON automatically put your name in the Bcc: field when mailing an "
 	"article\n"
 msgstr	"# åÓÌÉ ON, ÔÏ ÐÒÉ ÏÔÐÒÁ×ËÅ ÓÔÁÔØÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏÍÅÝÁÔØ ×ÁÛÅ ÉÍÑ × ÐÏÌÅ "
 	"Bcc:\n"
 
-#: src/lang.c:2304
+#: src/lang.c:2311
 msgid	"Enter address elements about which you want to be warned. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2305
+#: src/lang.c:2312
 msgid	"Spamtrap warning address parts"
 msgstr	""
 
-#: src/lang.c:2306
+#: src/lang.c:2313
 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:2311
+#: src/lang.c:2318
 msgid	"Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr	"÷×ÅÄÉÔÅ ÞÉÓÌÏ ÄÎÅÊ ÐÏËÁ ÆÉÌØÔÒ ÉÍÅÅÔ ÓÉÌÕ. <CR> ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:2312
+#: src/lang.c:2319
 msgid	"No. of days a filter entry is valid"
 msgstr	"þÉÓÌÏ ÄÎÅÊ ÐÏËÁ ÆÉÌØÔÒ ÉÍÅÅÔ ÓÉÌÕ"
 
-#: src/lang.c:2313
+#: src/lang.c:2320
 msgid	"# Number of days a short term filter will be active\n"
 msgstr	""
 
-#: src/lang.c:2317
+#: src/lang.c:2324
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	"äÏÂÁ×ÉÔØ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÔÁÔØÉ × ÆÉÌØÔÒ, <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ"
 
-#: src/lang.c:2318
+#: src/lang.c:2325
 msgid	"Add posted articles to filter"
 msgstr	"äÏÂÁ×ÉÔØ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÔÁÔØÉ × ÆÉÌØÔÒ"
 
-#: src/lang.c:2319
+#: src/lang.c:2326
 msgid	"# If ON add posted articles which start a new thread to filter for\n"
 	"# highlighting follow-ups\n"
 msgstr	""
 
-#: src/lang.c:2323
+#: src/lang.c:2330
 msgid	"The directory where articles/threads are to be saved in mailbox format."
 msgstr	"äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ × ÆÏÒÍÁÔÅ mailbox."
 
-#: src/lang.c:2324
+#: src/lang.c:2331
 msgid	"Mail directory"
 msgstr	"äÉÒÅËÔÏÒÉÑ ÄÌÑ ÐÏÞÔÙ"
 
-#: src/lang.c:2325
+#: src/lang.c:2332
 msgid	"# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr	"# (-m) ÄÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ × ÆÏÒÍÁÔÅ mailbox\n"
 
-#: src/lang.c:2330
+#: src/lang.c:2337
 msgid	"Save articles in batch mode (-S)"
 msgstr	"óÏÈÒÁÎÑÔØ ÓÔÁÔØÉ × ÐÁËÅÔÎÏÍ ÒÅÖÉÍÅ (-S)"
 
-#: src/lang.c:2331
+#: src/lang.c:2338
 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:2336
+#: src/lang.c:2343
 msgid	"The directory where you want articles/threads saved."
 msgstr	"äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ"
 
-#: src/lang.c:2337
+#: src/lang.c:2344
 msgid	"Directory to save arts/threads in"
 msgstr	"äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ"
 
-#: src/lang.c:2338
+#: src/lang.c:2345
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	"# äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ\n"
 
-#: src/lang.c:2342
+#: src/lang.c:2349
 msgid	"Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> sets."
 msgstr	"á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÈÒÁÎÑÔØ ÓÔÁÔØÉ/ÄÉÓË. Ó ÚÁÇÏÌÏ×ËÏÍ Archive-name:. <ðòïâåì> "
 	"×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:2343
+#: src/lang.c:2350
 msgid	"Use Archive-name: header for save"
 msgstr	"éÓÐÏÌØÚÏ×ÁÔØ ÚÁÇÏÌÏ×ÏË Archive-name: ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ"
 
-#: src/lang.c:2344
+#: src/lang.c:2351
 msgid	"# If ON articles/threads with Archive-name: in mail header will\n"
 	"# be automatically saved with the Archive-name & part/patch no.\n"
 msgstr	""
 
-#: src/lang.c:2349
+#: src/lang.c:2356
 msgid	"Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 	"cancels."
 msgstr	"ïÔÍÅÔÉÔØ ÓÏÈÒÁÎ£ÎÎÙÅ ÓÔÁÔØÉ/ÄÉÓËÕÓÓÉÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ. <ðòïâåì> ×ÙÂÏÒ, <CR> "
 	"ÕÓÔÁÎÏ×ÉÔØ, <ESC> ÏÔÍÅÎÁ"
 
-#: src/lang.c:2350
+#: src/lang.c:2357
 msgid	"Mark saved articles/threads as read"
 msgstr	"ïÔÍÅÔÉÔØ ÓÏÈÒÁÎ£ÎÎÙÅ ÓÔÁÔØÉ/ÄÉÓËÕÓÓÉÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ"
 
-#: src/lang.c:2351
+#: src/lang.c:2358
 msgid	"# If ON mark articles that are saved as read\n"
 msgstr	"# åÓÌÉ ON, ÔÏ ÏÔÍÅÔÉÔØ ÓÏÈÒÁÎ£ÎÎÙÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ\n"
 
-#: src/lang.c:2355
+#: src/lang.c:2362
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	"÷ÙÐÏÌÎÉÔØ ÐÏÓÔ-ÏÂÒÁÂÏÔËÕ (ÎÁÐÒ. ÕÂÒÁÔØ ×ÌÏÖÅÎÉÑ) ÄÌÑ ÓÏÈÒÁÎÑÅÍÙÈ ÓÔÁÔÅÊ"
 
-#: src/lang.c:2356
+#: src/lang.c:2363
 msgid	"Post process saved articles"
 msgstr	"ðÏÓÔ-ÏÂÒÁÂÏÔËÁ ÓÏÈÒÁÎ£ÎÎÙÈ ÓÔÁÔÅÊ"
 
-#: src/lang.c:2357
+#: src/lang.c:2364
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no\n"
@@ -6003,101 +5986,101 @@ msgid	"# Perform post processing (saving
 	"#   2 = yes\n"
 msgstr	""
 
-#: src/lang.c:2366
+#: src/lang.c:2373
 msgid	"Process only unread articles"
 msgstr	"ïÂÒÁÂÏÔÁÔØ ÔÏÌØËÏ ÎÅÐÒÏÞ. ÓÔÁÔØÉ"
 
-#: src/lang.c:2367
+#: src/lang.c:2374
 msgid	"# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n"
 msgstr	""
 
-#: src/lang.c:2372
+#: src/lang.c:2379
 msgid	"Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr	"ðÅÞÁÔÁÔØ ×ÓÅ ÉÌÉ ÔÏÌØËÏ ÞÁÓÔØ ÚÁÇÏÌÏ×ËÏ×. <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:2373
+#: src/lang.c:2380
 msgid	"Print all headers when printing"
 msgstr	"ðÅÞÁÔÁÔØ ×ÓÅ ÚÁÇÏÌÏ×ËÉ"
 
-#: src/lang.c:2374
+#: src/lang.c:2381
 msgid	"# If ON print all of article header otherwise just the important lines\n"
 msgstr	"# åÓÌÉ ON, ÔÏ ×Ù×ÏÄÉÔØ ×ÓÅ ÚÁÇÏÌÏ×ËÉ ÓÔÁÔÅÊ, ÉÎÁÞÅ ÔÏÌØËÏ ×ÁÖÎÙÅ\n"
 
-#: src/lang.c:2378
+#: src/lang.c:2385
 msgid	"The printer program with options that is to be used to print articles/threads."
 msgstr	"ëÏÍÁÎÄÁ ÐÅÞÁÔÉ Ó ÐÁÒÁÍÅÔÒÁÍÉ ÄÌÑ ÐÅÞÁÔÉ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ"
 
-#: src/lang.c:2379
+#: src/lang.c:2386
 msgid	"Printer program with options"
 msgstr	"ðÒÏÇÒÁÍÍÁ ÐÅÞÁÔÉ Ó ÏÐÃÉÑÍÉ"
 
-#: src/lang.c:2380
+#: src/lang.c:2387
 msgid	"# Print program with parameters used to print articles/threads\n"
 msgstr	"# ëÏÍÁÎÄÁ ÐÅÞÁÔÉ Ó ÐÁÒÁÍÅÔÒÁÍÉ ÄÌÑ ÐÅÞÁÔÉ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ\n"
 
-#: src/lang.c:2386
+#: src/lang.c:2393
 msgid	"Force redraw after certain commands"
 msgstr	"ðÅÒÅÒÉÓÏ×Ù×ÁÔØ ÜËÒÁÎ ÐÏÓÌÅ ÎÅËÏÔÏÒÙÈ ËÏÍÁÎÄ"
 
-#: src/lang.c:2387
+#: src/lang.c:2394
 msgid	"# If ON a screen redraw will always be done after certain external commands\n"
 msgstr	"# åÓÌÉ ON, ÔÏ ÐÅÒÅÒÉÓÏ×Ù×ÁÔØ ÜËÒÁÎ ÐÏÓÌÅ ÎÅËÏÔÏÒÙÈ ×ÎÅÛÎÉÈ ËÏÍÁÎÄ\n"
 
-#: src/lang.c:2391
+#: src/lang.c:2398
 msgid	"Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"úÁÐÕÓÔÉÔØ ÒÅÄÁËÔÏÒ Ó ÕÓÔÁÎÏ×ËÏÊ ËÕÒÓÏÒÁ. <ðòïâåì> ×ÙÂÏÒ, <CR> ÕÓÔÁÎÏ×ÉÔØ, "
 	"<ESC> ÏÔÍÅÎÁ."
 
-#: src/lang.c:2392
+#: src/lang.c:2399
 msgid	"Start editor with line offset"
 msgstr	"úÁÐÕÓÔÉÔØ ÒÅÄÁËÔÏÒ Ó ÕÓÔÁÎÏ×ËÏÊ ËÕÒÓÏÒÁ"
 
-#: src/lang.c:2393
+#: src/lang.c:2400
 msgid	"# If ON editor will be started with cursor offset into the file\n"
 	"# otherwise the cursor will be positioned at the first line\n"
 msgstr	"# åÓÌÉ ON, ÔÏ ÒÅÄÁËÔÏÒ ÂÕÄÅÔ ÚÁÐÕÝÅÎ Ó ÕÓÔÁÎÏ×ËÏÊ ËÕÒÓÏÒÁ ÓÏ ÓÍÅÝÅÎÉÅÍ,\n"
 	"# ÉÎÁÞÅ ËÕÒÓÏÒ ÂÕÄÅÔ ÕÓÔÁÎÏ×ÌÅÎ ÎÁ ÐÅÒ×ÏÊ ÓÔÒÏËÅ\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2405
 msgid	"Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr	"÷×ÅÄÉÔÅ %E ÄÌÑ ÉÍÅÎÉ ÒÅÄÁËÔÏÒÁ, %F ÄÌÑ ÉÍÅÎÉ ÆÁÊÌÁ, %N ÄÌÑ ÎÏÍÅÒÁ ÓÔÒÏËÉ. "
 	"<CR> ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:2399
+#: src/lang.c:2406
 msgid	"Invocation of your editor"
 msgstr	"úÁÐÕÓË ×ÁÛÅÇÏ ÒÅÄÁËÔÏÒÁ"
 
-#: src/lang.c:2400
+#: src/lang.c:2407
 #, c-format
 msgid	"# Format of editor line including parameters\n"
 	"# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr	"# æÏÒÍÁÔ ÓÔÒÏËÉ ÄÌÑ ÚÁÐÕÓËÁ ÒÅÄÁËÔÏÒÁ ×ËÌÀÞÁÅÔ ÐÁÒÁÍÅÔÒÙ\n"
 	"# %%E òÅÄÁËÔÏÒ %%F éÍÑ ÆÁÊÌÁ %%N îÏÍÅÒ ÓÔÒÏËÉ\n"
 
-#: src/lang.c:2405
+#: src/lang.c:2412
 msgid	"Enter name and options for external-inews, --internal for internal inews"
 msgstr	"÷×ÅÄÉÔÅ ÉÍÑ É ÏÐÃÉÉ ÄÌÑ external-inews, --internal ÄÌÑ internal inews"
 
-#: src/lang.c:2406
+#: src/lang.c:2413
 msgid	"External inews"
 msgstr	"÷ÎÅÛÎÉÊ inews"
 
-#: src/lang.c:2407
+#: src/lang.c:2414
 msgid	"# If --internal use the built in mini inews for posting via NNTP\n"
 	"# otherwise use an external inews program\n"
 msgstr	"# åÓÌÉ --internal, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÓÔÒÏÅÎÎÙÊ ÍÉÎÉ unews ÄÌÑ ÏÔÐÒÁ×ËÉ\n"
 	"# ÓÔÁÔÅÊ ÞÅÒÅÚ NNTP, ÉÎÁÞÅ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÅÛÎÀÀ ÐÒÏÇÒÁÍÍÕ inews\n"
 
-#: src/lang.c:2411
+#: src/lang.c:2418
 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:2412
+#: src/lang.c:2419
 msgid	"Invocation of your mail command"
 msgstr	"úÁÐÕÓË ×ÁÛÅÊ ËÏÍÁÎÄÙ ÏÔÐÒÁ×ËÉ ÐÏÞÔÙ"
 
-#: src/lang.c:2413
+#: src/lang.c:2420
 #, c-format
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
@@ -6105,11 +6088,11 @@ msgid	"# Format of mailer line including
 	"# ie. elm interactive          :    elm -i %%F -s \"%%S\" \"%%T\"\n"
 msgstr	""
 
-#: src/lang.c:2421
+#: src/lang.c:2428
 msgid	"Use interactive mail reader"
 msgstr	"éÓÐÏÌØÚÏ×ÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÕÀ ÐÒÏÇÒÁÍÍÕ ÞÔÅÎÉÑ ÐÏÞÔÙ"
 
-#: src/lang.c:2422
+#: src/lang.c:2429
 msgid	"# Interactive mailreader\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no interactive mailreader\n"
@@ -6123,59 +6106,59 @@ msgstr	"# éÎÔÅÒÁËÔÉ×ÎÁÑ ÐÒÏÇÒÁÍÍÁ ÞÔÅÎÉÑ
 	"#   2 = ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÕÀ ÐÒÏÇÒÁÍÍÕ ÞÔÅÎÉÑ ÐÏÞÔÙ ÂÅÚ ÚÁÇÏÌÏ×ËÏ× × "
 	"ÆÁÊÌÅ\n"
 
-#: src/lang.c:2431
+#: src/lang.c:2438
 msgid	"Remove ~/.article after posting"
 msgstr	"õÂÒÁÔØ ~/.article ÐÏÓÌÅ ÏÔÐÒÁ×ËÉ"
 
-#: src/lang.c:2432
+#: src/lang.c:2439
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	"# åÓÌÉ ON, ÔÏ ÕÂÒÁÔØ ~/.article ÐÏÓÌÅ ÏÔÐÒÁ×ËÉ.\n"
 
-#: src/lang.c:2436
+#: src/lang.c:2443
 msgid	"Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr	"éÍÑ ÆÁÊÌÁ ÄÌÑ ×ÓÅÈ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ. <CR> ÕÓÔÁÎÏ×ÉÔØ, ÎÅ ÉÍÅÎÉ=ÎÅ "
 	"ÓÏÈÒÁÎÑÔØ."
 
-#: src/lang.c:2437
+#: src/lang.c:2444
 msgid	"Filename for posted articles"
 msgstr	"éÍÑ ÆÁÊÌÁ ÄÌÑ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ"
 
-#: src/lang.c:2438
+#: src/lang.c:2445
 msgid	"# Filename where to keep all postings (default posted)\n"
 	"# If no filename is set then postings will not be saved\n"
 msgstr	"# éÍÑ ÆÁÊÌÁ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ.\n"
 	"# åÓÌÉ ÉÍÑ ÆÁÊÌÁ ÎÅ ÕËÁÚÁÎÏ, ÔÏ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÔÁÔØÉ ÎÅ ÂÕÄÕÔ ÓÏÈÒÁÎÑÔÓÑ.\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2450
 msgid	"Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr	"äÅÒÖÁÔØ ×ÓÅ ÎÅÕÄÁ×ÛÉÅÓÑ ÓÔÁÔØÉ × ~/dead.articles. <ðòïâåì> ×ÙÂÏÒ, <CR> "
 	"ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:2444
+#: src/lang.c:2451
 msgid	"Keep failed arts in ~/dead.articles"
 msgstr	"äÅÒÖÁÔØ ÎÅÕÄÁ×ÛÉÅÓÑ ÓÔÁÔØÉ × ~/dead.articles"
 
-#: src/lang.c:2445
+#: src/lang.c:2452
 msgid	"# If ON keep all failed postings in ~/dead.articles\n"
 msgstr	"# åÓÌÉ ON, ÔÏ ÄÅÒÖÁÔØ ×ÓÅ ÎÅÕÄÁ×ÛÉÅÓÑ ÏÔÐÒÁ×ËÉ ÓÔÁÔÅÊ × ~/dead.articles\n"
 
-#: src/lang.c:2449
+#: src/lang.c:2456
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	"èÏÔÉÔÅ ÕÂÒÁÔØ ÎÅÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ ÉÚ .newsrc"
 
-#: src/lang.c:2450
+#: src/lang.c:2457
 msgid	"No unsubscribed groups in newsrc"
 msgstr	"õÂÉÒÁÔØ ÎÅÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ ÉÚ newsrc"
 
-#: src/lang.c:2451
+#: src/lang.c:2458
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	"# åÓÌÉ ON, ÔÏ ÕÂÉÒÁÔØ ÎÅÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ ÉÚ newsrc\n"
 
-#: src/lang.c:2456
+#: src/lang.c:2463
 msgid	"Remove bogus groups from newsrc"
 msgstr	"õÂÉÒÁÔØ ÆÉËÔÉ×ÎÙÅ ÇÒÕÐÐÙ ÉÚ newsrc"
 
-#: src/lang.c:2457
+#: src/lang.c:2464
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = keep\n"
@@ -6187,58 +6170,58 @@ msgstr	"# äÅÊÓÔ×ÉÑ Ó ÆÉËÔÉ×ÎÙÍÉ ÇÒÕÐÐÁÍÉ
 	"#   1 = ÕÎÉÞÔÏÖÁÔØ\n"
 	"#   2 = ÐÏÍÅÞÁÔØ D × ÜËÒÁÎÅ ×ÙÂÏÒÁ\n"
 
-#: src/lang.c:2465
+#: src/lang.c:2472
 msgid	"Enter number of seconds until active file will be reread. <CR> sets."
 msgstr	"÷×ÅÄÉÔÅ ËÏÌÉÞÅÓÔ×Ï ÓÅËÕÎÄ ÍÅÖÄÕ Á×ÔÏÍÁÔÉÞÅÓËÉÍ ÞÔÅÎÉÅÍ ÁËÔÉ×ÎÏÇÏ ÆÁÊÌÁ. <CR> "
 	"ÕÓÔÁÎÏ×ÉÔØ."
 
-#: src/lang.c:2466
+#: src/lang.c:2473
 msgid	"Interval in secs to reread active"
 msgstr	"éÎÔÅÒ×ÁÌ × ÓÅËÕÎÄÁÈ ÍÅÖÄÕ ÞÔÅÎÉÅÍ active"
 
-#: src/lang.c:2467
+#: src/lang.c:2474
 msgid	"# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr	"# ÷ÒÅÍÅÎÎÏÊ ÉÎÔÅÒ×ÁÌ × ÓÅËÕÎÄÁÈ ÍÅÖÄÕ Á×ÔÏÍÁÔÉÞÅÓËÉÍ ÞÔÅÎÉÅÍ ÆÁÊÌÁ\n"
 	"# active (0=ÎÉËÏÇÄÁ)\n"
 
-#: src/lang.c:2472
+#: src/lang.c:2479
 msgid	"Reconnect to server automatically"
 msgstr	"óÏÅÄÉÎÉÔØÓÑ ÓÎÏ×Á Ó ÓÅÒ×ÅÒÏÍ Á×ÔÏÍÁÔÉÞÅÓËÉ"
 
-#: src/lang.c:2473
+#: src/lang.c:2480
 msgid	"# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr	"# åÓÌÉ ON, ÔÏ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÅÒÅÐÏÄËÌÀÞÁÔØÓÑ Ë ÓÅÒ×ÅÒÕ NNTP, ÅÓÌÉ ÓÏÅÄÉÎÅÎÉÅ\n"
 	"# ÐÒÅÒ×ÁÌÏÓØ\n"
 
-#: src/lang.c:2477
+#: src/lang.c:2484
 msgid	"Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2478
+#: src/lang.c:2485
 msgid	"Cache NNTP overview files locally"
 msgstr	""
 
-#: src/lang.c:2479
+#: src/lang.c:2486
 msgid	"# If ON, create local copies of NNTP overview files.\n"
 msgstr	""
 
-#: src/lang.c:2483
+#: src/lang.c:2490
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	"÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. <CR> ÕÓÔÁÎÏ×ÉÔØ, <ESC> ÏÔÍÅÎÁ."
 
-#: src/lang.c:2484
+#: src/lang.c:2491
 msgid	"Format string for display of dates"
 msgstr	"æÏÒÍÁÔ ÓÔÒÏËÉ ÄÌÑ ×Ù×ÏÄÁ ÄÁÔ"
 
-#: src/lang.c:2485
+#: src/lang.c:2492
 msgid	"# Format string for date representation\n"
 msgstr	"# æÏÒÍÁÔ ÓÔÒÏËÉ ÄÌÑ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÄÁÔÙ\n"
 
-#: src/lang.c:2491
+#: src/lang.c:2498
 msgid	"Unicode normalization form"
 msgstr	"æÏÒÍÁ ÎÏÒÍÁÌÉÚÁÃÉÉ Unicode"
 
-#: src/lang.c:2492
+#: src/lang.c:2499
 msgid	"# Unicode normalization form\n"
 	"# Possible values are (the default is marked with *):\n"
 	"#   0 = None\n"
@@ -6254,49 +6237,54 @@ msgstr	"# æÏÒÍÁ ÎÏÒÍÁÌÉÚÁÃÉÉ Unicode\n"
 	"#   3 = NFC\n"
 	"#   4 = NFD\n"
 
-#: src/lang.c:2504
+#: src/lang.c:2511
 msgid	"Render BiDi"
 msgstr	"÷ÏÓÐÒÏÉÚ×ÏÄÉÔØ BiDi"
 
-#: src/lang.c:2505
+#: src/lang.c:2512
 msgid	"# If ON, bi-directional text is rendered by tin\n"
 msgstr	"# åÓÌÉ ON, ÔÏ Ä×ÕÎÁÐÒÁ×ÌÅÎÎÙÊ ÔÅËÓÔ ×ÏÓÐÒÏÉÚ×ÏÄÉÔÓÑ tin'ÏÍ\n"
 
-#: src/misc.c:3693
+#: src/misc.c:3697
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\") %s %s\n"
 msgstr	"÷ÅÒÓÉÑ: %s %s ÒÅÌÉÚ %s (\"%s\") %s %s\n"
 
-#: src/misc.c:3696
+#: src/misc.c:3700
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\")\n"
 msgstr	"÷ÅÒÓÉÑ: %s %s ÒÅÌÉÚ %s (\"%s\")\n"
 
-#: src/newsrc.c:430
+#: src/newsrc.c:436
 msgid	"Unreachable?\n"
 msgstr	"îÅÄÏÓÔÉÖÉÍÏ?\n"
 
-#: src/nntplib.c:816
+#: src/nntplib.c:818
 #, c-format
 msgid	"\n"
 	"Server timed out, trying reconnect # %d\n"
 msgstr	"\n"
 	"óÅÒ×ÅÒ ÎÅ ÏÔ×ÅÞÁÅÔ, ÐÏÐÙÔËÁ ÓÏÅÄÉÎÉÔØÓÑ ÓÎÏ×Á # %d\n"
 
-#: src/nntplib.c:834 src/nntplib.c:1644
+#: src/nntplib.c:836 src/nntplib.c:1708
 msgid	"Rejoin current group\n"
 msgstr	"÷ÓÔÕÐÉÔØ ÓÎÏ×Á × ÔÅËÕÝÕÀ ÇÒÕÐÐÕ\n"
 
-#: src/nntplib.c:841 src/nntplib.c:1651
+#: src/nntplib.c:844 src/nntplib.c:1716
 #, c-format
 msgid	"Read (%s)\n"
 msgstr	"þÔÅÎÉÅ (%s)\n"
 
-#: src/nntplib.c:843
+#: src/nntplib.c:846
 #, c-format
 msgid	"Resend last command (%s)\n"
 msgstr	"ðÅÒÅÓÌÁÔØ ÐÏÓÌÅÄÎÀÀ ËÏÍÁÎÄÕ (%s)\n"
 
+#. as a last resort check if post was mentioned
+#: src/nntplib.c:1131
+msgid	"CAPABILITIES did not announce any of READER, MODE-READER, POST"
+msgstr	""
+
 #.
 #. * TODO: - store a hash value of the entire motd in the server-rc
 #. *         and only if it differs from the old value display the
@@ -6304,23 +6292,23 @@ msgstr	"ðÅÒÅÓÌÁÔØ ÐÏÓÌÅÄÎÀÀ ËÏÍÁÎÄÕ (%s)
 #. *       - use some sort of pager?
 #. *       - -> lang.c
 #.
-#: src/nntplib.c:1783
+#: src/nntplib.c:1855
 msgid	"MOTD: "
 msgstr	""
 
-#: src/nrctbl.c:170
+#: src/nrctbl.c:173
 #, c-format
 msgid	"couldn't expand %s\n"
 msgstr	"ÎÅ ÐÏÌÕÞÉÌÏÓØ ÒÁÓËÒÙÔØ %s\n"
 
-#: src/post.c:1134
+#: src/post.c:1144
 #, c-format
 msgid	"Line %d is longer than 998 octets and should be folded, but\n"
 	"encoding is neither set to %s nor to %s\n"
 msgstr	"óÔÒÏËÁ %d ÄÌÉÎÎÅÅ 998 ÏËÔÅÔÏ× É ÄÏÌÖÎÁ ÂÙÔØ ÒÁÚÂÉÔÁ ÎÁ ÞÁÓÔÉ,\n"
 	"ÎÏ ËÏÄÉÒÏ×ËÁ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ ÎÉ × %s, ÎÉ × %s\n"
 
-#: src/post.c:1139
+#: src/post.c:1149
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n"
@@ -6330,37 +6318,36 @@ msgstr	"óÔÒÏËÁ %d ÄÌÉÎÎÅÅ 998 ÏËÔÅÔÏ× É 
 	"ÉÌÉ ÓÏÏÂÝÅÎÉÅ ÎÅ ÓÏÄÅÒÖÉÔ ÎÉ ÏÄÎÏÇÏ 8-ÂÉÔÎÏÇÏ ÓÉÍ×ÏÌÁ, ÔÁËÉÍ ÏÂÒÁÚÏÍ\n"
 	"ÒÁÚÂÉÔÉÑ ÎÁ ÞÁÓÔÉ ÎÅ ÐÒÏÉÚÏÊÄ£Ô.\n"
 
-#: src/post.c:1141
+#: src/post.c:1151
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is not set to %s\n"
 msgstr	"óÔÒÏËÁ %d ÄÌÉÎÎÅÅ 998 ÏËÔÅÔÏ× É ÄÏÌÖÎÁ ÂÙÔØ ÒÁÚÂÉÔÁ ÎÁ ÞÁÓÔÉ,\n"
 	"ÎÏ ËÏÄÉÒÏ×ËÁ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ × %s\n"
 
-#: src/post.c:1960
+#: src/post.c:1970
 #, c-format
 msgid	"Posting: %.*s ..."
 msgstr	"ïÔÐÒÁ×ÌÅÎÉÅ × ÇÒÕÐÐÕ %.*s ..."
 
 #. Check if okay to read
-#: src/read.c:191
+#: src/read.c:190
 msgid	"Aborting read, please wait..."
 msgstr	"ðÒÅÒÙ×ÁÎÉÅ ÞÔÅÎÉÑ, ÐÏÄÏÖÄÉÔÅ..."
 
-#: src/read.c:338
+#: src/read.c:337
 msgid	"Aborted read\n"
 msgstr	"þÔÅÎÉÅ ÐÒÅÒ×ÁÎÏ\n"
 
-#: src/read.c:394
+#: src/read.c:393
 msgid	"Draining\n"
 msgstr	"ïÓÕÛÅÎÉÅ\n"
 
-#. Don't hash the initial '<'
-#: src/refs.c:251
+#: src/refs.c:248
 msgid	"unchanged"
 msgstr	"ÎÅÉÚÍÅÎÅÎÏ"
 
-#: src/refs.c:609
+#: src/refs.c:549
 msgid	"[- Unavailable -]"
 msgstr	"[- îÅÄÏÓÔÕÐÎÏ -]"
 
@@ -6368,7 +6355,7 @@ msgstr	"[- îÅÄÏÓÔÕÐÎÏ -]"
 #. * preamble
 #. * TODO: -> lang.c
 #.
-#: src/rfc2047.c:1201
+#: src/rfc2047.c:1270
 #, c-format
 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 modified\n"
@@ -6379,7 +6366,7 @@ msgstr	"üÔÏ ÓÏÏÂÝÅÎÉÅ ÂÙÌÏ ÓÏÚÄÁÎÏ × 'mu
 	"ÄÌÑ ÒÁÂÏÔÙ Ó ÎÏ×ÙÍ ÆÏÒÍÁÔÏÍ É ÓÌÅÄÕÀÝÉÅ ÄÁÎÎÙÅ ÍÏÇÕÔ ×ÙÇÌÑÄÅÔØ ÓÔÒÁÎÎÏ.\n"
 	"\n"
 
-#: src/save.c:964
+#: src/save.c:966
 msgid	"bytes"
 msgstr	"ÂÁÊÔ"
 
@@ -6391,22 +6378,26 @@ msgstr	"ÎÅÐÒÏÞÉÔÁÎÎÙÅ"
 msgid	"all"
 msgstr	"×ÓÅ"
 
-#: src/select.c:549 src/select.c:551
+#: src/select.c:553 src/select.c:555
 msgid	" R"
 msgstr	""
 
-#. TODO: use tin global 'homedir' instead? or even rcdir?
-#: src/xface.c:91
+#: src/xface.c:70
+#, fuzzy
+msgid	"Can't run slrnface: Not running in a xterm."
+msgstr	"îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ÎÅ ÕÄÁ£ÔÓÑ ÓËÏÎÓÔÒÕÉÒÏ×ÁÔØ ÉÍÑ fifo."
+
+#: src/xface.c:82 src/xface.c:93 src/xface.c:102
 #, c-format
 msgid	"Can't run slrnface: Environment variable %s not found."
 msgstr	"îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ðÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ %s ÎÅ ÎÁÊÄÅÎÁ."
 
-#: src/xface.c:99 src/xface.c:131
+#: src/xface.c:111 src/xface.c:143
 #, c-format
 msgid	"Can't run slrnface: failed to create %s"
 msgstr	"îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ÏÛÉÂËÁ ÓÏÚÄÁÎÉÑ %s"
 
-#: src/xface.c:109
+#: src/xface.c:121
 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"
 	"the pipe is deleted right after it has been opened by both processes.\n"
@@ -6428,16 +6419,16 @@ msgstr	"üÔÁ ÄÉÒÅËÔÏÒÉÑ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ 
 	"×ÉÄÅÔØ ÓÐÅÃÉÁÌØÎÙÅ ÆÁÊÌÙ ÓÏÚÄÁÎÎÙÅ ÄÌÑ ×ÁÓ NFS ÓÅÒ×ÅÒÏÍ ×Ï ×ÒÅÍÑ ÒÁÂÏÔÙ\n"
 	"slrnface.\n"
 
-#: src/xface.c:123
+#: src/xface.c:135
 msgid	"Can't run slrnface: couldn't construct fifo name."
 msgstr	"îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ÎÅ ÕÄÁ£ÔÓÑ ÓËÏÎÓÔÒÕÉÒÏ×ÁÔØ ÉÍÑ fifo."
 
-#: src/xface.c:162
+#: src/xface.c:174
 #, c-format
 msgid	"Slrnface abnormally exited, code %d."
 msgstr	"Slrnface ÎÅÐÒÁ×ÉÌØÎÏ ÚÁ×ÅÒÛÅÎÁ Ó ËÏÄÏÍ %d."
 
-#: src/xface.c:206
+#: src/xface.c:218
 #, c-format
 msgid	"Slrnface failed: %s."
 msgstr	"Slrnface: ÏÛÉÂËÁ ÚÁÐÕÓËÁ: %s."
Binary files tin-1.9.2/po/rw.gmo and tin-1.9.3/po/rw.gmo differ
diff -Nurp tin-1.9.2/po/rw.po tin-1.9.3/po/rw.po
--- tin-1.9.2/po/rw.po	2007-02-01 14:02:44.000000000 +0100
+++ tin-1.9.3/po/rw.po	2008-05-06 18:46:07.000000000 +0200
@@ -15,7 +15,7 @@
 msgid	""
 msgstr	"Project-Id-Version: tin 1.7.8\n"
 	"Report-Msgid-Bugs-To: \n"
-	"POT-Creation-Date: 2007-02-01 14:02+0100\n"
+	"POT-Creation-Date: 2008-05-06 18:44+0200\n"
 	"PO-Revision-Date: 2005-04-03 10:55-0700\n"
 	"Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
 	"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
@@ -23,279 +23,253 @@ msgstr	"Project-Id-Version: tin 1.7.8\n"
 	"Content-Type: text/plain; charset=ISO-8859-1\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1545
-#, fuzzy, c-format
-msgid	"%d Bad overview record (%d fields) '%s'"
-msgstr	"%d Incamake Icyabitswe Imyanya"
-
-#: src/attrib.c:649
+#: src/attrib.c:700
 #, fuzzy, c-format
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	"# O YA Guhindura iyi Icyo wongeraho\n"
 	"#\n"
 
-#: src/attrib.c:650
+#: src/attrib.c:701
 #, fuzzy, c-format
-msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
+msgid	"#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	"#  Alt. Alt.\n"
 
-#: src/attrib.c:651
-#, c-format
-msgid	"#  maildir=STRING (ie. ~/Mail)\n"
-msgstr	""
+#: src/attrib.c:702
+#, fuzzy, c-format
+msgid	"#  maildir=STRING (eg. ~/Mail)\n"
+msgstr	"#  Ukoresha:\n"
 
-#: src/attrib.c:652
+#: src/attrib.c:703
 #, fuzzy, c-format
-msgid	"#  savedir=STRING (ie. ~user/News)\n"
+msgid	"#  savedir=STRING (eg. ~user/News)\n"
 msgstr	"#  Ukoresha:\n"
 
-#: src/attrib.c:653
-#, c-format
-msgid	"#  savefile=STRING (ie. =linux)\n"
-msgstr	""
+#: src/attrib.c:704
+#, fuzzy, c-format
+msgid	"#  savefile=STRING (eg. =linux)\n"
+msgstr	"#  VAR\n"
 
-#: src/attrib.c:654
+#: src/attrib.c:705
 #, fuzzy, c-format
-msgid	"#  sigfile=STRING (ie. $var/sig)\n"
+msgid	"#  sigfile=STRING (eg. $var/sig)\n"
 msgstr	"#  VAR\n"
 
-#: src/attrib.c:655
+#: src/attrib.c:706
 #, fuzzy, c-format
 msgid	"#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr	"#  Ihuzagahunda NIBA Itangiriro Na: Gusoma Bivuye IDOSIYE\n"
 
-#: src/attrib.c:656
+#: src/attrib.c:707
 #, c-format
 msgid	"#  followup_to=STRING\n"
 msgstr	""
 
-#: src/attrib.c:657
+#: src/attrib.c:708
 #, fuzzy, c-format
-msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
+msgid	"#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr	"#  Urutonde rwa Imeli Urugero org\n"
 
-#: src/attrib.c:658
-#, c-format
-msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
-msgstr	""
+#: src/attrib.c:709
+#, fuzzy, c-format
+msgid	"#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
+msgstr	"#  Ukoresha:\n"
 
-#: src/attrib.c:659
+#: src/attrib.c:710
 #, c-format
-msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
+msgid	"#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr	""
 
-#: src/attrib.c:660
+#: src/attrib.c:711
 #, fuzzy, c-format
 msgid	"#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr	"#  Bivuye Kongeraho... Umurongo Gukoresha\n"
 
-#: src/attrib.c:661
+#: src/attrib.c:712
 #, c-format
 msgid	"#  news_quote_format=STRING\n"
 msgstr	""
 
-#: src/attrib.c:662
+#: src/attrib.c:713
 #, fuzzy, c-format
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	"#  kugirango Izibanza\n"
 
-#: src/attrib.c:663
+#: src/attrib.c:714
 #, fuzzy, c-format
 msgid	"#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr	"#  Ishusho Ishusho bmp\n"
 
-#: src/attrib.c:665
+#: src/attrib.c:716
 #, c-format
 msgid	"#  ispell=STRING\n"
 msgstr	""
 
-#: src/attrib.c:667
+#: src/attrib.c:718
 #, c-format
 msgid	"#  auto_select=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:668
+#: src/attrib.c:719
 #, fuzzy, c-format
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	"#  NyaMwishyingura\n"
 
-#: src/attrib.c:669
+#: src/attrib.c:720
 #, c-format
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:670
+#: src/attrib.c:721
 #, c-format
 msgid	"#  delete_tmp_files=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:671
+#: src/attrib.c:722
 #, c-format
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:672
+#: src/attrib.c:723
 #, c-format
 msgid	"#  thread_arts=NUM"
 msgstr	""
 
-#: src/attrib.c:679
+#: src/attrib.c:730
 #, c-format
 msgid	"#  thread_perc=NUM\n"
 msgstr	""
 
-#: src/attrib.c:680
+#: src/attrib.c:731
 #, c-format
 msgid	"#  show_author=NUM\n"
 msgstr	""
 
-#: src/attrib.c:686
+#: src/attrib.c:737
 #, c-format
 msgid	"#  show_info=NUM\n"
 msgstr	""
 
-#: src/attrib.c:692
+#: src/attrib.c:743
 #, c-format
 msgid	"#  sort_art_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:710
+#: src/attrib.c:761
 #, c-format
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:718
+#: src/attrib.c:769
 #, c-format
 msgid	"#  post_proc_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:723
+#: src/attrib.c:774
 #, c-format
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	""
 
-#: src/attrib.c:724
+#: src/attrib.c:775
 #, c-format
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:725
+#: src/attrib.c:776
 #, c-format
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:726
+#: src/attrib.c:777
 #, c-format
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	""
 
-#: src/attrib.c:727 src/attrib.c:734
+#: src/attrib.c:778 src/attrib.c:785
 #, fuzzy, c-format
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	"#    0 1. Kwirengagiza\n"
 
-#: src/attrib.c:728 src/attrib.c:735
+#: src/attrib.c:779 src/attrib.c:786
 #, fuzzy, c-format
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	"#    2. Bivuye 3. Bivuye Kwirengagiza\n"
 
-#: src/attrib.c:729 src/attrib.c:736
+#: src/attrib.c:780 src/attrib.c:787
 #, c-format
 msgid	"#    4=msgid 5=lines\n"
 msgstr	""
 
-#: src/attrib.c:730
+#: src/attrib.c:781
 #, c-format
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	""
 
-#: src/attrib.c:731
+#: src/attrib.c:782
 #, c-format
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:732
+#: src/attrib.c:783
 #, c-format
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:733
+#: src/attrib.c:784
 #, c-format
 msgid	"#  quick_select_header=NUM\n"
 msgstr	""
 
-#: src/attrib.c:737
+#: src/attrib.c:788
 #, c-format
 msgid	"#  x_comment_to=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:738
+#: src/attrib.c:789
 #, c-format
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	""
 
-#: src/attrib.c:739
+#: src/attrib.c:790
 #, c-format
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:740
+#: src/attrib.c:791
 #, c-format
 msgid	"#  mime_forward=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:742
+#: src/attrib.c:793
 #, c-format
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	""
 
-#: src/attrib.c:749
+#: src/attrib.c:800
 #, fuzzy, c-format
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	"#  Mburabuzi ni\n"
 
-#: src/attrib.c:751
+#: src/attrib.c:802
 #, fuzzy, c-format
 msgid	"#\n"
 	"# Note that it is best to put general (global scoping)\n"
 msgstr	"#\n"
 	"# ni Kuri Gushyira Rusange\n"
 
-#: src/attrib.c:752
+#: src/attrib.c:803
 #, fuzzy, c-format
 msgid	"# entries first followed by group specific entries.\n"
 	"#\n"
 msgstr	"# Ibyinjijwe Itangira ku Itsinda Ibyinjijwe\n"
 	"#\n"
 
-#: src/attrib.c:753
+#: src/attrib.c:804
 #, c-format
 msgid	"############################################################################\n"
-	"\n"
 msgstr	""
 
-#: src/attrib.c:759
-#, fuzzy, c-format
-msgid	"# include extra headers\n"
-msgstr	"# Gushyiramo Birenga\n"
-
-#: src/attrib.c:767
-#, fuzzy, c-format
-msgid	"# in *sources* set post process type to shar only\n"
-msgstr	"# in Gushyiraho Iposita Ubwoko Kuri\n"
-
-#: src/attrib.c:771
-#, fuzzy, c-format
-msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
-msgstr	"# in Iposita Inonosora Gukuraho...\n"
-
-#: src/attrib.c:772
-#, fuzzy, c-format
-msgid	"# remove tmp files and set Followup-To: poster\n"
-msgstr	"# Na Gushyiraho\n"
-
-#: src/cook.c:559
+#: src/cook.c:558
 #, fuzzy
 msgid	"(unknown)"
 msgstr	"(Itazwi)"
@@ -303,7 +277,7 @@ msgstr	"(Itazwi)"
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:597 src/filter.c:605
+#: src/filter.c:592 src/filter.c:600
 #, fuzzy
 msgid	"Removed from the previous rule: "
 msgstr	"Bivuye i Ibanjirije"
@@ -413,543 +387,548 @@ msgstr	""
 msgid	"Article undeleted."
 msgstr	""
 
-#: src/lang.c:66
-msgid	"articles"
+#: src/lang.c:65
+#, c-format
+msgid	"Article %4d of %4d"
 msgstr	""
 
 #: src/lang.c:67
+msgid	"articles"
+msgstr	""
+
+#: src/lang.c:68
 #, fuzzy
 msgid	"This is a repost of the following article:"
 msgstr	"ni a Bya i Ingingo"
 
-#: src/lang.c:68
+#: src/lang.c:69
 #, fuzzy
 msgid	"article"
 msgstr	"Ingingo"
 
-#: src/lang.c:69
+#: src/lang.c:70
 msgid	"Article"
 msgstr	"Ingingo"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid	"-- %d %s mailed --"
 msgstr	""
 
 # 345
-#: src/lang.c:71
+#: src/lang.c:72
 #, fuzzy, c-format
 msgid	" at %s"
 msgstr	" ku %s"
 
-#: src/lang.c:72
+#: src/lang.c:73
 #, fuzzy, c-format
 msgid	"%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n"
 msgstr	"%*s[--%s/%s,Imisobekere: Imirongo"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid	", charset: "
 msgstr	""
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid	"%*s[-- Description: %s --]\n"
 msgstr	""
 
-#: src/lang.c:75
+#: src/lang.c:76
 #, fuzzy, c-format
 msgid	"%d Authentication failed"
 msgstr	"%dByanze"
 
-#: src/lang.c:76
+#: src/lang.c:77
 msgid	"Server expects authentication.\n"
 msgstr	""
 
-#: src/lang.c:77
+#: src/lang.c:78
 #, fuzzy
 msgid	"    Please enter password: "
 msgstr	"Injiza Ijambobanga..."
 
-#: src/lang.c:78
+#: src/lang.c:79
 #, fuzzy
 msgid	"    Please enter username: "
 msgstr	"Injiza Izina ry'ukoresha"
 
-#: src/lang.c:79
+#: src/lang.c:80
 #, fuzzy, c-format
 msgid	"Author search backwards [%s]> "
 msgstr	"Gushaka Inyuma"
 
-#: src/lang.c:80
+#: src/lang.c:81
 #, fuzzy, c-format
 msgid	"Author search forwards [%s]> "
 msgstr	"Gushaka"
 
-#: src/lang.c:81
+#: src/lang.c:82
 #, fuzzy, c-format
 msgid	"Authorized for user: %s\n"
 msgstr	"kugirango Ukoresha:"
 
-#: src/lang.c:82
+#: src/lang.c:83
 #, fuzzy, c-format
 msgid	"Authorization failed for user: %s\n"
 msgstr	"Byanze kugirango Ukoresha:"
 
-#: src/lang.c:83
+#: src/lang.c:84
 #, fuzzy, c-format
 msgid	"\n"
 	"Autosubscribed to %s"
 msgstr	"Kuri"
 
-#: src/lang.c:84
+#: src/lang.c:85
 #, fuzzy
 msgid	"Autosubscribing groups...\n"
 msgstr	"Amatsinda"
 
-#: src/lang.c:85
+#: src/lang.c:86
 #, fuzzy, c-format
 msgid	"Autoselecting articles (use '%s' to see all unread) ..."
 msgstr	"Gukoresha Kuri Byose Bidasomye"
 
-#: src/lang.c:87
+#: src/lang.c:88
 #, fuzzy, c-format
 msgid	"Active file corrupt - %s"
 msgstr	"IDOSIYE"
 
-#: src/lang.c:88
+#: src/lang.c:89
 #, fuzzy, c-format
 msgid	"Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr	"Kuri in Amakosa Iburira Kuvamo Guhindura"
 
-#: src/lang.c:89
+#: src/lang.c:90
 #, fuzzy, c-format
 msgid	"Unrecognized attribute: %s"
 msgstr	"Ikiranga"
 
-#: src/lang.c:90
+#: src/lang.c:91
 #, fuzzy, c-format
 msgid	"Bad command. Type '%s' for help."
 msgstr	"Komandi: kugirango Ifashayobora"
 
-#: src/lang.c:92
+#: src/lang.c:93
 #, fuzzy
 msgid	"Base article"
 msgstr	"Base Ingingo"
 
-#: src/lang.c:93
+#: src/lang.c:94
 #, fuzzy
 msgid	"Base article range"
 msgstr	"Base Ingingo Urutonde"
 
-#: src/lang.c:94
+#: src/lang.c:95
 #, fuzzy, c-format
 msgid	"%s: Updating of index files not supported\n"
 msgstr	"%s:Bya Umubarendanga Idosiye OYA"
 
-#: src/lang.c:95
+#: src/lang.c:96
 #, fuzzy
 msgid	"*** Beginning of article ***"
 msgstr	"***Bya Ingingo"
 
-#: src/lang.c:97
+#: src/lang.c:98
 #, fuzzy, c-format
 msgid	"Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr	"Gusiba Cyangwa Guhindura Ingingo"
 
-#: src/lang.c:98
+#: src/lang.c:99
 #, fuzzy
 msgid	"Cancelling article..."
 msgstr	"Ingingo"
 
-#: src/lang.c:100
+#: src/lang.c:101
 #, fuzzy, c-format
 msgid	"Cannot create %s"
 msgstr	"Kurema"
 
-#: src/lang.c:101
+#: src/lang.c:102
 #, fuzzy, c-format
 msgid	"Can't find base article %d"
 msgstr	"Gushaka SHINGIRO Ingingo"
 
-#: src/lang.c:102
+#: src/lang.c:103
 #, fuzzy, c-format
 msgid	"Can't open %s"
 msgstr	"Gufungura"
 
-#: src/lang.c:103
+#: src/lang.c:104
 #, fuzzy, c-format
 msgid	"Couldn't open %s for saving"
 msgstr	"Gufungura kugirango Mu kubika"
 
-#: src/lang.c:104
+#: src/lang.c:105
 #, fuzzy
 msgid	"*** Posting not allowed ***"
 msgstr	"***OYA"
 
-#: src/lang.c:105
+#: src/lang.c:106
 #, fuzzy, c-format
 msgid	"Posting is not allowed to %s"
 msgstr	"ni OYA Kuri"
 
-#: src/lang.c:106
+#: src/lang.c:107
 #, c-format
 msgid	"Can't retrieve %s"
 msgstr	""
 
-#: src/lang.c:107
+#: src/lang.c:108
 #, fuzzy, c-format
 msgid	"%s is a directory"
 msgstr	"%sni a bushyinguro"
 
-#: src/lang.c:108
+#: src/lang.c:109
 msgid	"Catchup"
 msgstr	""
 
-#: src/lang.c:109
+#: src/lang.c:110
 #, c-format
 msgid	"Catchup %s..."
 msgstr	""
 
-#: src/lang.c:110
+#: src/lang.c:111
 #, fuzzy
 msgid	"Catchup all groups entered during this session?"
 msgstr	"Byose Amatsinda iyi Umukoro"
 
-#: src/lang.c:111
+#: src/lang.c:112
 #, fuzzy
 msgid	"You have tagged articles in this group - catchup anyway?"
 msgstr	"in iyi Itsinda"
 
-#: src/lang.c:112
+#: src/lang.c:113
 #, fuzzy, c-format
 msgid	"%s %d %s in %lu seconds\n"
 msgstr	"%s%d%sin"
 
-#: src/lang.c:113
+#: src/lang.c:114
 msgid	"Caughtup"
 msgstr	""
 
-#: src/lang.c:114
+#: src/lang.c:115
 msgid	"Check Prepared Article"
 msgstr	""
 
-#: src/lang.c:115
+#: src/lang.c:116
 #, fuzzy
 msgid	"Checking for new groups... "
 msgstr	"kugirango Gishya Amatsinda"
 
-#: src/lang.c:116
+#: src/lang.c:117
 #, fuzzy
 msgid	"Checking for news..."
 msgstr	"kugirango Amakuru"
 
-#: src/lang.c:117
+#: src/lang.c:118
 #, fuzzy, c-format
 msgid	"Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr	"Oya Yego Kuvamo"
 
-#: src/lang.c:119
+#: src/lang.c:120
 #, fuzzy
 msgid	"ANSI color disabled"
 msgstr	"Ibara Yahagaritswe"
 
-#: src/lang.c:120
+#: src/lang.c:121
 #, fuzzy
 msgid	"ANSI color enabled"
 msgstr	"Ibara Bikora"
 
-#: src/lang.c:122
+#: src/lang.c:123
 #, fuzzy, c-format
 msgid	"Command failed: %s"
 msgstr	"Byanze"
 
-#: src/lang.c:123
+#: src/lang.c:124
 #, fuzzy
 msgid	"Mark not selected articles read?"
 msgstr	"OYA Byahiswemo Gusoma"
 
-#: src/lang.c:124
+#: src/lang.c:125
 #, fuzzy, c-format
 msgid	"Connecting to %s..."
 msgstr	"Kwihuza na %s..."
 
-#: src/lang.c:125
+#: src/lang.c:126
 msgid	"<CR>"
 msgstr	""
 
-#: src/lang.c:126
+#: src/lang.c:127
 #, fuzzy
 msgid	"Creating active file for saved groups...\n"
 msgstr	"Gikora IDOSIYE kugirango Amatsinda"
 
-#: src/lang.c:127
+#: src/lang.c:128
 #, fuzzy
 msgid	"Creating newsrc file...\n"
 msgstr	"IDOSIYE"
 
-#: src/lang.c:129 src/lang.c:1150
+#: src/lang.c:130 src/lang.c:1150
 msgid	"Default"
 msgstr	"Mburabuzi"
 
-#: src/lang.c:130
+#: src/lang.c:131
 #, fuzzy
 msgid	"Delete saved files that have been post processed?"
 msgstr	"Idosiye Iposita"
 
-#: src/lang.c:131
+#: src/lang.c:132
 #, fuzzy
 msgid	"Deleting temporary files..."
 msgstr	"By'igihe gito Idosiye"
 
-#: src/lang.c:133
+#: src/lang.c:134
 #, fuzzy
 msgid	"*** End of article ***"
 msgstr	"***Impera Bya Ingingo"
 
-#: src/lang.c:134
+#: src/lang.c:135
 #, fuzzy
 msgid	"*** End of articles ***"
 msgstr	"***Impera Bya"
 
-#: src/lang.c:135
+#: src/lang.c:136
 #, fuzzy
 msgid	"*** End of groups ***"
 msgstr	"***Impera Bya Amatsinda"
 
-#: src/lang.c:136
+#: src/lang.c:137
 #, fuzzy
 msgid	"*** End of thread ***"
 msgstr	"***Impera Bya Urudodo"
 
-#: src/lang.c:137
+#: src/lang.c:138
 #, fuzzy
 msgid	"Enter limit of articles to get> "
 msgstr	"Bya Kuri Kubona"
 
-#: src/lang.c:138
+#: src/lang.c:139
 #, fuzzy
 msgid	"Enter Message-ID to go to> "
 msgstr	"Kuri Gyayo Kuri"
 
-#: src/lang.c:139
+#: src/lang.c:140
 #, fuzzy
 msgid	" and enter next unread thread"
 msgstr	"Na Injiza Komeza>> Bidasomye Urudodo"
 
-#: src/lang.c:140
+#: src/lang.c:141
 #, fuzzy
 msgid	" and enter next unread group"
 msgstr	"Na Injiza Komeza>> Bidasomye Itsinda"
 
-#: src/lang.c:141
+#: src/lang.c:142
 #, fuzzy
 msgid	"Enter option number> "
 msgstr	"Ihitamo Umubare"
 
-#: src/lang.c:142
+#: src/lang.c:143
 #, fuzzy, c-format
 msgid	"Enter range [%s]> "
 msgstr	"Urutonde"
 
-#: src/lang.c:143
+#: src/lang.c:144
 #, fuzzy
 msgid	"\n"
 	"Warning: Approved: header used.\n"
 msgstr	"Umutwempangano"
 
-#: src/lang.c:145
+#: src/lang.c:146
 #, fuzzy
 msgid	"\n"
 	"Error: Bad address in Approved: header.\n"
 msgstr	"Aderesi in Umutwempangano"
 
-#: src/lang.c:146
+#: src/lang.c:147
 #, fuzzy
 msgid	"\n"
 	"Error: Bad address in From: header.\n"
 msgstr	"Aderesi in Umutwempangano"
 
-#: src/lang.c:147
+#: src/lang.c:148
 #, fuzzy
 msgid	"\n"
 	"Error: Bad address in Reply-To: header.\n"
 msgstr	"Aderesi in Umutwempangano"
 
-#: src/lang.c:148
+#: src/lang.c:149
 #, fuzzy
 msgid	"\n"
 	"Error: Bad FQDN in Message-ID: header.\n"
 msgstr	"in Umutwempangano"
 
-#: src/lang.c:149
+#: src/lang.c:150
 #, c-format
 msgid	"Can't unlock %s"
 msgstr	""
 
-#: src/lang.c:151
+#: src/lang.c:152
 #, fuzzy, c-format
 msgid	"Corrupted file %s"
 msgstr	"IDOSIYE"
 
-#: src/lang.c:152
+#: src/lang.c:153
 #, fuzzy, c-format
 msgid	"Couldn't dotlock %s - article not appended!"
 msgstr	"Ingingo OYA"
 
-#: src/lang.c:153
+#: src/lang.c:154
 #, fuzzy, c-format
 msgid	"Couldn't lock %s - article not appended!"
 msgstr	"Ingingo OYA"
 
-#: src/lang.c:155
+#: src/lang.c:156
 #, fuzzy
 msgid	"Internal error in GNKSA routine - send bug report.\n"
 msgstr	"Ikosa in Kohereza Icyegeranyo"
 
-#: src/lang.c:156
+#: src/lang.c:157
 #, fuzzy
 msgid	"Left angle bracket missing in route address.\n"
 msgstr	"Imfuruka Ibuze in Aderesi"
 
-#: src/lang.c:157
+#: src/lang.c:158
 #, fuzzy
 msgid	"Left parenthesis missing in old-style address.\n"
 msgstr	"Ibuze in ki/ bishaje IMISUSIRE Aderesi"
 
-#: src/lang.c:158
+#: src/lang.c:159
 #, fuzzy
 msgid	"Right parenthesis missing in old-style address.\n"
 msgstr	"Ibuze in ki/ bishaje IMISUSIRE Aderesi"
 
-#: src/lang.c:159
+#: src/lang.c:160
 #, fuzzy
 msgid	"At-sign missing in mail address.\n"
 msgstr	"IKIMENYETSO Ibuze in Ubutumwa Aderesi"
 
-#: src/lang.c:160
+#: src/lang.c:161
 #, fuzzy
 msgid	"Single component FQDN is not allowed. Add your domain.\n"
 msgstr	"ni OYA Urwego"
 
-#: src/lang.c:161
+#: src/lang.c:162
 #, fuzzy
 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	"Urwego Icyegeranyo NIBA Hejuru: urwego Urwego Sibyo Nka Hejuru: urwego Urwego "
 	"kugirango Amaderesi"
 
-#: src/lang.c:162
+#: src/lang.c:163
 #, fuzzy
 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	"Urwego Icyegeranyo NIBA Hejuru: urwego Urwego Sibyo Nka Hejuru: urwego Urwego "
 	"kugirango Amaderesi"
 
-#: src/lang.c:163
+#: src/lang.c:164
 #, fuzzy
 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	"Urwego Icyegeranyo NIBA Hejuru: urwego Urwego Sibyo Nka Hejuru: urwego Urwego "
 	"kugirango Amaderesi"
 
-#: src/lang.c:164
+#: src/lang.c:165
 #, fuzzy
 msgid	"Illegal character in FQDN.\n"
 msgstr	"Inyuguti in"
 
-#: src/lang.c:165
+#: src/lang.c:166
 #, fuzzy
 msgid	"Zero length FQDN component not allowed.\n"
 msgstr	"Uburebure OYA"
 
-#: src/lang.c:166
+#: src/lang.c:167
 #, fuzzy
 msgid	"FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr	"Kinini Uburebure"
 
-#: src/lang.c:167
+#: src/lang.c:168
 #, fuzzy
 msgid	"FQDN component may not start or end with hyphen.\n"
 msgstr	"Gicurasi OYA Gutangira Cyangwa Impera Na:"
 
-#: src/lang.c:168
+#: src/lang.c:169
 #, fuzzy
 msgid	"FQDN component may not start with digit.\n"
 msgstr	"Gicurasi OYA Gutangira Na:"
 
-#: src/lang.c:169
+#: src/lang.c:170
 #, fuzzy
 msgid	"Domain literal has impossible numeric value.\n"
 msgstr	"Bikurikije umubare Agaciro"
 
-#: src/lang.c:170
+#: src/lang.c:171
 #, fuzzy
 msgid	"Domain literal is for private use only and not allowed for global use.\n"
 msgstr	"ni kugirango By'umwihariko Gukoresha Na OYA kugirango Gukoresha"
 
-#: src/lang.c:171
+#: src/lang.c:172
 #, fuzzy
 msgid	"Right bracket missing in domain literal.\n"
 msgstr	"Ibuze in Urwego"
 
-#: src/lang.c:172
+#: src/lang.c:173
 #, fuzzy
 msgid	"Missing localpart of mail address.\n"
 msgstr	"Bya Ubutumwa Aderesi"
 
-#: src/lang.c:173
+#: src/lang.c:174
 #, fuzzy
 msgid	"Illegal character in localpart of mail address.\n"
 msgstr	"Inyuguti in Bya Ubutumwa Aderesi"
 
-#: src/lang.c:174
+#: src/lang.c:175
 #, fuzzy
 msgid	"Zero length localpart component not allowed.\n"
 msgstr	"Uburebure OYA"
 
-#: src/lang.c:175
+#: src/lang.c:176
 #, fuzzy
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr	"Inyuguti in Amagambo Gicurasi OYA in Amaderesi"
 
-#: src/lang.c:176
+#: src/lang.c:177
 #, fuzzy
 msgid	"Illegal character in realname.\n"
 	"Quoted words may not contain '()<>\\'.\n"
 msgstr	"Inyuguti in Amagambo Gicurasi OYA"
 
-#: src/lang.c:177
+#: src/lang.c:178
 #, fuzzy
 msgid	"Illegal character in realname.\n"
 	"Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr	"Inyuguti in Amagambo Gicurasi OYA in"
 
-#: src/lang.c:178
+#: src/lang.c:179
 #, fuzzy
 msgid	"Bad syntax in encoded word used in realname.\n"
 msgstr	"in ijambo in"
 
-#: src/lang.c:179
+#: src/lang.c:180
 #, fuzzy
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr	"Inyuguti in Amagambo Gicurasi OYA in ki/ bishaje IMISUSIRE Amaderesi"
 
-#: src/lang.c:180
+#: src/lang.c:181
 #, fuzzy
 msgid	"Illegal character in realname.\n"
 	"Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr	"Inyuguti in Inyuguti Na Inyuguti OYA"
 
-#: src/lang.c:181
+#: src/lang.c:182
 #, fuzzy
 msgid	"\n"
 	"Error: No blank line found after header.\n"
 msgstr	"Ahatanditseho Umurongo Byabonetse Nyuma Umutwempangano"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:183
+#: src/lang.c:184
 #, fuzzy
 msgid	"\n"
 	"Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -959,7 +938,7 @@ msgid	"\n"
 msgstr	"Kirimo Inyuguti ni Gushyiraho Guhindura>> iyi Igenamiterere Kuri a Agaciro "
 	"Ururimi ikoresha i Bya Amahitamo Cyangwa"
 
-#: src/lang.c:188
+#: src/lang.c:189
 #, fuzzy
 msgid	"\n"
 	"Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -971,191 +950,191 @@ msgstr	"Kirimo Inyuguti i kugirango Amak
 	"Igenamiterere Kuri Cyangwa Gicapika ku ni Birenzeho in Bya i ikoresha i Bya "
 	"Amahitamo Cyangwa ku"
 
-#: src/lang.c:194
+#: src/lang.c:195
 #, fuzzy
 msgid	"\n"
 	"Error: Article starts with blank line instead of header\n"
 msgstr	"Na: Ahatanditseho Umurongo Bya"
 
-#: src/lang.c:195
+#: src/lang.c:196
 #, fuzzy, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a colon after the header name:\n"
 	"%s\n"
 msgstr	"ku Umurongo OYA a Nyuma i Umutwempangano Izina:"
 
-#: src/lang.c:196
+#: src/lang.c:197
 #, fuzzy, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is empty.\n"
 msgstr	"Umurongo ni ubusa"
 
-#: src/lang.c:197
+#: src/lang.c:198
 #, fuzzy, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is missing from the article header.\n"
 msgstr	"Umurongo ni Ibuze Bivuye i Ingingo Umutwempangano"
 
-#: src/lang.c:198
+#: src/lang.c:199
 #, fuzzy, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a space after the colon:\n"
 	"%s\n"
 msgstr	"ku Umurongo OYA a Umwanya Nyuma i"
 
-#: src/lang.c:199
+#: src/lang.c:200
 #, fuzzy, c-format
 msgid	"\n"
 	"Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr	"Igikubo Imirongo in i Umutwempangano"
 
-#: src/lang.c:200
+#: src/lang.c:201
 #, fuzzy, c-format
 msgid	"Insecure permissions of %s (%o)"
 msgstr	"Uruhushya Bya"
 
-#: src/lang.c:201
+#: src/lang.c:202
 #, fuzzy, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	"Kuri Komandi:"
 
-#: src/lang.c:203
+#: src/lang.c:204
 #, fuzzy, c-format
 msgid	"MIME parse error: Unexpected end of %s/%s article"
 msgstr	"Ikosa Impera Bya Ingingo"
 
-#: src/lang.c:204
+#: src/lang.c:205
 #, fuzzy
 msgid	"MIME parse error: Start boundary whilst reading headers"
 msgstr	"Ikosa Gutangira Imitwe"
 
-#: src/lang.c:205
+#: src/lang.c:206
 #, fuzzy
 msgid	"Can't get a (fully-qualified) domain-name!"
 msgstr	"Kubona a Urwego Izina:"
 
-#: src/lang.c:206
+#: src/lang.c:207
 #, fuzzy, c-format
 msgid	"No permissions to go into %s\n"
 msgstr	"Uruhushya Kuri Gyayo"
 
-#: src/lang.c:207
+#: src/lang.c:208
 #, fuzzy
 msgid	"\n"
 	"Error: From: line missing.\n"
 msgstr	"Umurongo Ibuze"
 
-#: src/lang.c:208
+#: src/lang.c:209
 #, fuzzy, c-format
 msgid	"No read permissions for %s\n"
 msgstr	"Gusoma Uruhushya kugirango"
 
-#: src/lang.c:209
+#: src/lang.c:210
 #, fuzzy, c-format
 msgid	"File %s does not exist\n"
 msgstr	"Idosiye OYA"
 
-#: src/lang.c:210
+#: src/lang.c:211
 #, fuzzy, c-format
 msgid	"No write permissions for %s\n"
 msgstr	"Kwandika Uruhushya kugirango"
 
-#: src/lang.c:211
+#: src/lang.c:212
 #, fuzzy
 msgid	"Can't get user information (/etc/passwd missing?)"
 msgstr	"Kubona Ukoresha: Ibisobanuro Ibuze"
 
-#: src/lang.c:212
+#: src/lang.c:213
 #, fuzzy
 msgid	"errors"
 msgstr	"Amakosa"
 
-#: src/lang.c:213
+#: src/lang.c:214
 #, fuzzy, c-format
 msgid	"\n"
 	"Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 msgstr	"ku Umurongo Umutwempangano OYA Kyongewe kugirango"
 
-#: src/lang.c:214
+#: src/lang.c:215
 #, fuzzy, c-format
 msgid	"Server has non of the groups listed in %s"
 msgstr	"Bya i Amatsinda in"
 
-#: src/lang.c:215
+#: src/lang.c:216
 #, fuzzy
 msgid	"error"
 msgstr	"Ikosa"
 
-#: src/lang.c:216
+#: src/lang.c:217
 #, fuzzy
 msgid	"Unknown display level"
 msgstr	"Kugaragaza urwego"
 
-#: src/lang.c:217
+#: src/lang.c:218
 msgid	"<ESC>"
 msgstr	""
 
-#: src/lang.c:218
+#: src/lang.c:219
 msgid	"Exiting..."
 msgstr	""
 
-#: src/lang.c:219
+#: src/lang.c:220
 #, fuzzy
 msgid	"leaving external mail-reader"
 msgstr	"external Ubutumwa"
 
-#: src/lang.c:220
+#: src/lang.c:221
 #, c-format
 msgid	"Extracting %s..."
 msgstr	""
 
-#: src/lang.c:222
+#: src/lang.c:223
 #, fuzzy, c-format
 msgid	"Error writing %s file. Filesystem full? File reset to previous state."
 msgstr	"IDOSIYE Idosiye Kugarura Kuri Ibanjirije Leta"
 
-#: src/lang.c:223
+#: src/lang.c:224
 #, fuzzy, c-format
 msgid	"Error making backup of %s file. Filesystem full?"
 msgstr	"Inyibutsa Bya IDOSIYE"
 
-#: src/lang.c:224
+#: src/lang.c:225
 #, c-format
 msgid	"Filtering global rules (%d/%d)..."
 msgstr	""
 
-#: src/lang.c:225
+#: src/lang.c:226
 #, fuzzy
 msgid	"Rule created by: "
 msgstr	"Byaremwe ku"
 
-#: src/lang.c:226
+#: src/lang.c:227
 #, fuzzy, c-format
 msgid	"Enter pattern [%s]> "
 msgstr	"Ishusho"
 
-#: src/lang.c:227
+#: src/lang.c:228
 #, fuzzy, c-format
 msgid	"\n"
 	"You requested followups to your article to go to the following %s:\n"
 msgstr	"Kuri Ingingo Kuri Gyayo Kuri i"
 
-#: src/lang.c:228
+#: src/lang.c:229
 #, fuzzy, c-format
 msgid	"  %s\t Answers will be directed to you by mail.\n"
 msgstr	"%sKuri ku Ubutumwa"
 
-#: src/lang.c:229
+#: src/lang.c:230
 #, fuzzy
 msgid	"-- forwarded message --\n"
 msgstr	"--Ubutumwa"
 
-#: src/lang.c:230
+#: src/lang.c:231
 #, fuzzy
 msgid	"-- end of forwarded message --\n"
 msgstr	"--Impera Bya Ubutumwa"
 
-#: src/lang.c:231
+#: src/lang.c:232
 #, fuzzy
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1185,906 +1164,906 @@ msgid	"# Format:\n"
 	"#\n"
 msgstr	"#g. g. g. g. g. g. g. Alt."
 
-#: src/lang.c:252
+#: src/lang.c:253
 #, fuzzy, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	"kugirango Mburabuzi"
 
-#: src/lang.c:253
+#: src/lang.c:254
 #, fuzzy, c-format
 msgid	"Enter the score weight (range 0 < score <= %d)"
 msgstr	"i Uburemere Urutonde 0"
 
 #. SCORE_MAX
-#: src/lang.c:254
+#: src/lang.c:255
 msgid	"Full"
 msgstr	""
 
-#: src/lang.c:255
+#: src/lang.c:256
 #, fuzzy
 msgid	"Comment (optional)  : "
 msgstr	"Bitari ngombwa"
 
-#: src/lang.c:256
+#: src/lang.c:257
 #, fuzzy
 msgid	"Apply pattern to    : "
 msgstr	"Ishusho Kuri"
 
-#: src/lang.c:257
+#: src/lang.c:258
 #, fuzzy
 msgid	"From: line (ignore case)      "
 msgstr	"Umurongo Kwirengagiza"
 
-#: src/lang.c:258
+#: src/lang.c:259
 #, fuzzy
 msgid	"From: line (case sensitive)   "
 msgstr	"Umurongo"
 
-#: src/lang.c:260
+#: src/lang.c:261
 #, fuzzy, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	"%s%s:Ubuturo"
 
-#: src/lang.c:261
+#: src/lang.c:262
 msgid	"global "
 msgstr	""
 
-#: src/lang.c:262
+#: src/lang.c:263
 #, fuzzy, c-format
 msgid	"Please use %.100s instead"
 msgstr	"Gukoresha"
 
-#: src/lang.c:263
+#: src/lang.c:264
 #, fuzzy, c-format
 msgid	"%s is bogus"
 msgstr	"%sni"
 
-#: src/lang.c:264
+#: src/lang.c:265
 #, fuzzy, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	"Dukomeza."
 
-#: src/lang.c:265
+#: src/lang.c:266
 #, fuzzy
 msgid	"groups"
 msgstr	"Amatsinda"
 
-#: src/lang.c:266
+#: src/lang.c:267
 #, c-format
 msgid	"Rereading %s..."
 msgstr	""
 
-#: src/lang.c:267
+#: src/lang.c:268
 msgid	"Top Level Commands"
 msgstr	""
 
-#: src/lang.c:268
+#: src/lang.c:269
 msgid	"Group Selection"
 msgstr	""
 
-#: src/lang.c:269
+#: src/lang.c:270
 #, fuzzy
 msgid	"group"
 msgstr	"Itsinda"
 
-#: src/lang.c:271
+#: src/lang.c:272
 #, fuzzy
 msgid	"One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr	"Cyangwa Birenzeho Imirongo Bya Icyo wongeraho Kuri Kongeramo a Umurongo "
 	"Cyangwa NIBA Umurongo ni ubusa"
 
-#: src/lang.c:272
+#: src/lang.c:273
 #, fuzzy
 msgid	"From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	"Umurongo Kuri Kongeramo Kuri Muyunguruzi... IDOSIYE"
 
-#: src/lang.c:273
+#: src/lang.c:274
 #, fuzzy
 msgid	"Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr	"Bya Kuri kugirango Birutwa kugirango Birenzeho kugirango bingana"
 
-#: src/lang.c:274
+#: src/lang.c:275
 #, fuzzy
 msgid	"Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	"Umurongo Kuri Kongeramo Kuri Muyunguruzi... IDOSIYE"
 
-#: src/lang.c:275
+#: src/lang.c:276
 #, fuzzy
 msgid	"Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	"Umurongo Kuri Kongeramo Kuri Muyunguruzi... IDOSIYE"
 
-#: src/lang.c:276
+#: src/lang.c:277
 #, fuzzy
 msgid	"Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr	"Umwandiko Ishusho Kuri Muyunguruzi... NIBA Imirongo OYA"
 
-#: src/lang.c:277
+#: src/lang.c:278
 #, fuzzy
 msgid	"Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr	"Umwandiko Ishusho Byashyizweho"
 
-#: src/lang.c:278
+#: src/lang.c:279
 #, fuzzy
 msgid	"Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr	"Igihe in Iminsi kugirango i Muyunguruzi..."
 
-#: src/lang.c:279
+#: src/lang.c:280
 #, fuzzy
 msgid	"Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	"Kuri KIGEZWEHO Itsinda Cyangwa Byose Amatsinda"
 
-#: src/lang.c:280
+#: src/lang.c:281
 #, fuzzy
 msgid	"Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	"Guhitamo Kuri KIGEZWEHO Itsinda Cyangwa Byose Amatsinda"
 
-#: src/lang.c:281
+#: src/lang.c:282
 #, fuzzy
 msgid	"kill an article via a menu"
 msgstr	"Ingingo Biturutse a Ibikubiyemo"
 
-#: src/lang.c:282
+#: src/lang.c:283
 #, fuzzy
 msgid	"auto-select (hot) an article via a menu"
 msgstr	"Ikiyega Guhitamo Ingingo Biturutse a Ibikubiyemo"
 
-#: src/lang.c:283
+#: src/lang.c:284
 #, fuzzy
 msgid	"Browse URLs in article"
 msgstr	"in Ingingo"
 
-#: src/lang.c:284
+#: src/lang.c:285
 #, fuzzy
 msgid	"0 - 9\t  display article by number in current thread"
 msgstr	"0 Kugaragaza Ingingo ku Umubare in KIGEZWEHO Urudodo"
 
-#: src/lang.c:285
+#: src/lang.c:286
 #, fuzzy
 msgid	"cancel (delete) or supersede (overwrite) current article"
 msgstr	"Kureka Gusiba Cyangwa Guhindura KIGEZWEHO Ingingo"
 
-#: src/lang.c:286
+#: src/lang.c:287
 #, fuzzy
 msgid	"edit article (mail-groups only)"
 msgstr	"Guhindura Ingingo Ubutumwa Amatsinda"
 
-#: src/lang.c:287
+#: src/lang.c:288
 #, fuzzy
 msgid	"display first article in current thread"
 msgstr	"Kugaragaza Itangira Ingingo in KIGEZWEHO Urudodo"
 
-#: src/lang.c:288
+#: src/lang.c:289
 #, fuzzy
 msgid	"display first page of article"
 msgstr	"Kugaragaza Itangira Ipaji Bya Ingingo"
 
-#: src/lang.c:289
+#: src/lang.c:290
 #, fuzzy
 msgid	"post followup to current article"
 msgstr	"Iposita Kuri KIGEZWEHO Ingingo"
 
-#: src/lang.c:290
+#: src/lang.c:291
 #, fuzzy
 msgid	"post followup (don't copy text) to current article"
 msgstr	"Iposita Gukoporora Umwandiko Kuri KIGEZWEHO Ingingo"
 
-#: src/lang.c:291
+#: src/lang.c:292
 #, fuzzy
 msgid	"post followup to current article quoting complete headers"
 msgstr	"Iposita Kuri KIGEZWEHO Ingingo Byuzuye Imitwe"
 
-#: src/lang.c:292
+#: src/lang.c:293
 #, fuzzy
 msgid	"display last article in current thread"
 msgstr	"Kugaragaza Iheruka Ingingo in KIGEZWEHO Urudodo"
 
-#: src/lang.c:293
+#: src/lang.c:294
 #, fuzzy
 msgid	"display last page of article"
 msgstr	"Kugaragaza Iheruka Ipaji Bya Ingingo"
 
-#: src/lang.c:294
+#: src/lang.c:295
 #, fuzzy
 msgid	"mark rest of thread as read and advance to next unread"
 msgstr	"Ikimenyetso Bya Urudodo Nka Gusoma Na Kuri Komeza>> Bidasomye"
 
-#: src/lang.c:295
+#: src/lang.c:296
 #, fuzzy
 msgid	"display next article"
 msgstr	"Kugaragaza Komeza>> Ingingo"
 
-#: src/lang.c:296
+#: src/lang.c:297
 #, fuzzy
 msgid	"display first article in next thread"
 msgstr	"Kugaragaza Itangira Ingingo in Komeza>> Urudodo"
 
-#: src/lang.c:297
+#: src/lang.c:298
 #, fuzzy
 msgid	"display next unread article"
 msgstr	"Kugaragaza Komeza>> Bidasomye Ingingo"
 
-#: src/lang.c:298
+#: src/lang.c:299
 #, fuzzy
 msgid	"go to the article that this one followed up"
 msgstr	"Gyayo Kuri i Ingingo iyi Hejuru"
 
-#: src/lang.c:299
+#: src/lang.c:300
 #, fuzzy
 msgid	"display previous article"
 msgstr	"Kugaragaza Ibanjirije Ingingo"
 
-#: src/lang.c:300
+#: src/lang.c:301
 #, fuzzy
 msgid	"display previous unread article"
 msgstr	"Kugaragaza Ibanjirije Bidasomye Ingingo"
 
-#: src/lang.c:301
+#: src/lang.c:302
 #, fuzzy
 msgid	"quickly kill an article using defaults"
 msgstr	"Ingingo ikoresha"
 
-#: src/lang.c:302
+#: src/lang.c:303
 #, fuzzy
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	"Ikiyega Guhitamo Ingingo ikoresha"
 
-#: src/lang.c:303
+#: src/lang.c:304
 #, fuzzy
 msgid	"return to group selection level"
 msgstr	"Garuka Kuri Itsinda Ihitamo urwego"
 
-#: src/lang.c:304
+#: src/lang.c:305
 #, fuzzy
 msgid	"reply through mail to author"
 msgstr	"Subiza Gihinguranya Ubutumwa Kuri Umwanditsi"
 
-#: src/lang.c:305
+#: src/lang.c:306
 #, fuzzy
 msgid	"reply through mail (don't copy text) to author"
 msgstr	"Subiza Gihinguranya Ubutumwa Gukoporora Umwandiko Kuri Umwanditsi"
 
-#: src/lang.c:306
+#: src/lang.c:307
 #, fuzzy
 msgid	"reply through mail to author quoting complete headers"
 msgstr	"Subiza Gihinguranya Ubutumwa Kuri Umwanditsi Byuzuye Imitwe"
 
-#: src/lang.c:307
+#: src/lang.c:308
 #, fuzzy
 msgid	"repost chosen article to another group"
 msgstr	"Ingingo Kuri Itsinda"
 
-#: src/lang.c:308
+#: src/lang.c:309
 #, fuzzy
 msgid	"search backwards within this article"
 msgstr	"Gushaka Inyuma muri iyi Ingingo"
 
-#: src/lang.c:309
+#: src/lang.c:310
 #, fuzzy
 msgid	"search forwards within this article"
 msgstr	"Gushaka muri iyi Ingingo"
 
-#: src/lang.c:310
+#: src/lang.c:311
 #, fuzzy
 msgid	"show article in raw-mode (including all headers)"
 msgstr	"Garagaza Ingingo in Ubwoko Byose Imitwe"
 
-#: src/lang.c:311
+#: src/lang.c:312
 #, fuzzy
 msgid	"skip next block of included text"
 msgstr	"Komeza>> Funga Bya Umwandiko"
 
-#: src/lang.c:312
+#: src/lang.c:313
 #, fuzzy
 msgid	"toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr	"Mukomatanya Kugaragaza Bya Ibyatoranyijwe gihishwe ku a Ifishi ku Bidakora"
 
-#: src/lang.c:313
+#: src/lang.c:314
 #, fuzzy
 msgid	"toggle word highlighting on/off"
 msgstr	"Mukomatanya ijambo Igaragaza cyane ku Bidakora"
 
-#: src/lang.c:314
+#: src/lang.c:315
 #, fuzzy
 msgid	"toggle ROT-13 (basic decode) for current article"
 msgstr	"Mukomatanya BASIC kugirango KIGEZWEHO Ingingo"
 
-#: src/lang.c:315
+#: src/lang.c:316
 #, fuzzy
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	"Mukomatanya 4. 8"
 
-#: src/lang.c:316
+#: src/lang.c:317
 #, fuzzy
 msgid	"toggle german TeX style decoding for current article"
 msgstr	"Mukomatanya Ikidage IMISUSIRE kugirango KIGEZWEHO Ingingo"
 
-#: src/lang.c:317
+#: src/lang.c:318
 #, fuzzy
 msgid	"toggle display of uuencoded sections"
 msgstr	"Mukomatanya Kugaragaza Bya Ibyatoranyijwe"
 
-#: src/lang.c:318
+#: src/lang.c:319
 #, fuzzy
 msgid	"View/save multimedia attachments"
 msgstr	"Kubika Imigereka"
 
-#: src/lang.c:319
+#: src/lang.c:320
 #, fuzzy, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	"Icyegeranyo Cyangwa Icyo wongeraho Biturutse Ubutumwa Kuri"
 
-#: src/lang.c:320
+#: src/lang.c:321
 #, fuzzy
 msgid	"choose range of articles to be affected by next command"
 msgstr	"Guhitamo Urutonde Bya Kuri ku Komeza>> Komandi:"
 
-#: src/lang.c:321
+#: src/lang.c:322
 #, fuzzy
 msgid	"escape from command prompt"
 msgstr	"Bivuye Komandi: Urwinjiriro"
 
-#: src/lang.c:322
+#: src/lang.c:323
 #, fuzzy
 msgid	"edit filter file"
 msgstr	"Guhindura Muyunguruzi... IDOSIYE"
 
-#: src/lang.c:323
+#: src/lang.c:324
 #, fuzzy
 msgid	"get help"
 msgstr	"Kubona Ifashayobora"
 
-#: src/lang.c:324
+#: src/lang.c:325
 #, fuzzy
 msgid	"display last article viewed"
 msgstr	"Kugaragaza Iheruka Ingingo"
 
-#: src/lang.c:325
+#: src/lang.c:326
 #, fuzzy
 msgid	"down one line"
 msgstr	"Hasi Umurongo"
 
-#: src/lang.c:326
+#: src/lang.c:327
 #, fuzzy
 msgid	"up one line"
 msgstr	"Hejuru Umurongo"
 
-#: src/lang.c:327
+#: src/lang.c:328
 #, fuzzy
 msgid	"go to article chosen by Message-ID"
 msgstr	"Gyayo Kuri Ingingo ku"
 
-#: src/lang.c:328
+#: src/lang.c:329
 #, fuzzy
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	"Ubutumwa Ingingo Urudodo Ishusho Kuri"
 
-#: src/lang.c:329
+#: src/lang.c:330
 #, fuzzy
 msgid	"menu of configurable options"
 msgstr	"Ibikubiyemo Bya Amahitamo"
 
-#: src/lang.c:330
+#: src/lang.c:331
 #, fuzzy
 msgid	"down one page"
 msgstr	"Hasi Ipaji"
 
-#: src/lang.c:331
+#: src/lang.c:332
 #, fuzzy
 msgid	"up one page"
 msgstr	"Hejuru Ipaji"
 
-#: src/lang.c:332
+#: src/lang.c:333
 #, fuzzy
 msgid	"post (write) article to current group"
 msgstr	"Iposita Kwandika Ingingo Kuri KIGEZWEHO Itsinda"
 
-#: src/lang.c:333
+#: src/lang.c:334
 #, fuzzy
 msgid	"post postponed articles"
 msgstr	"Iposita"
 
-#: src/lang.c:334
+#: src/lang.c:335
 #, fuzzy
 msgid	"list articles posted by you (from posted file)"
 msgstr	"Urutonde ku Bivuye IDOSIYE"
 
-#: src/lang.c:335
+#: src/lang.c:336
 #, fuzzy
 msgid	"return to previous menu"
 msgstr	"Garuka Kuri Ibanjirije Ibikubiyemo"
 
-#: src/lang.c:336
+#: src/lang.c:337
 #, fuzzy
 msgid	"quit tin immediately"
 msgstr	"Kuvamo Ako kanya"
 
-#: src/lang.c:337
+#: src/lang.c:338
 #, fuzzy
 msgid	"redraw page"
 msgstr	"Kongera Gushushanya Ipaji"
 
-#: src/lang.c:338
+#: src/lang.c:339
 #, fuzzy
 msgid	"save article/thread/hot/pattern/tagged articles to file"
 msgstr	"Kubika Ingingo Urudodo Ishusho Kuri IDOSIYE"
 
-#: src/lang.c:339
+#: src/lang.c:340
 #, fuzzy
 msgid	"save marked articles automatically without user prompts"
 msgstr	"Kubika cy/ byagarajwe ku buryo bwikora Ukoresha:"
 
-#: src/lang.c:340
+#: src/lang.c:341
 #, fuzzy
 msgid	"scroll the screen one line down"
 msgstr	"i Mugaragaza Umurongo Hasi"
 
-#: src/lang.c:341
+#: src/lang.c:342
 #, fuzzy
 msgid	"scroll the screen one line up"
 msgstr	"i Mugaragaza Umurongo Hejuru"
 
-#: src/lang.c:342
+#: src/lang.c:343
 #, fuzzy
 msgid	"search for articles by author backwards"
 msgstr	"Gushaka kugirango ku Umwanditsi Inyuma"
 
-#: src/lang.c:343
+#: src/lang.c:344
 #, fuzzy
 msgid	"search for articles by author forwards"
 msgstr	"Gushaka kugirango ku Umwanditsi"
 
-#: src/lang.c:344
+#: src/lang.c:345
 #, fuzzy
 msgid	"search all articles for a given string (this may take some time)"
 msgstr	"Gushaka Byose kugirango a Ikurikiranyanyuguti iyi Gicurasi Igihe"
 
-#: src/lang.c:345
+#: src/lang.c:346
 #, fuzzy
 msgid	" \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr	"(Na Gufunika Kuri Byose"
 
-#: src/lang.c:346
+#: src/lang.c:347
 #, fuzzy
 msgid	"search for articles by Subject line backwards"
 msgstr	"Gushaka kugirango ku Umurongo Inyuma"
 
-#: src/lang.c:347
+#: src/lang.c:348
 #, fuzzy
 msgid	"search for articles by Subject line forwards"
 msgstr	"Gushaka kugirango ku Umurongo"
 
-#: src/lang.c:348
+#: src/lang.c:349
 #, fuzzy
 msgid	"repeat last search"
 msgstr	"Gusubiramo Iheruka Gushaka"
 
-#: src/lang.c:349
+#: src/lang.c:350
 #, fuzzy
 msgid	"tag current article for reposting/mailing/piping/printing/saving"
 msgstr	"Itagi: KIGEZWEHO Ingingo kugirango Icapa... Mu kubika"
 
-#: src/lang.c:350
+#: src/lang.c:351
 #, fuzzy
 msgid	"toggle info message in last line (subject/description)"
 msgstr	"Mukomatanya Ibisobanuro Ubutumwa in Iheruka Umurongo Ikivugwaho "
 	"Isobanuramiterere"
 
-#: src/lang.c:351
+#: src/lang.c:352
 #, fuzzy
 msgid	"toggle inverse video"
 msgstr	"Mukomatanya Videwo..."
 
-#: src/lang.c:352
+#: src/lang.c:353
 #, fuzzy
 msgid	"toggle mini help menu display"
 msgstr	"Mukomatanya Ifashayobora Ibikubiyemo Kugaragaza"
 
-#: src/lang.c:353
+#: src/lang.c:354
 #, fuzzy
 msgid	"cycle the display of authors email address, real name, both or neither"
 msgstr	"Uruziga i Kugaragaza Bya Abahanzi imeli Aderesi Izina: Byombi Cyangwa"
 
-#: src/lang.c:354
+#: src/lang.c:355
 #, fuzzy
 msgid	"show version information"
 msgstr	"Garagaza Verisiyo Ibisobanuro"
 
-#: src/lang.c:355
+#: src/lang.c:356
 #, fuzzy
 msgid	"mark all articles as read and return to group selection menu"
 msgstr	"Ikimenyetso Byose Nka Gusoma Na Garuka Kuri Itsinda Ihitamo Ibikubiyemo"
 
-#: src/lang.c:356
+#: src/lang.c:357
 #, fuzzy
 msgid	"mark all articles as read and enter next group with unread articles"
 msgstr	"Ikimenyetso Byose Nka Gusoma Na Injiza Komeza>> Itsinda Na: Bidasomye"
 
-#: src/lang.c:357
+#: src/lang.c:358
 #, fuzzy
 msgid	"choose first thread in list"
 msgstr	"Guhitamo Itangira Urudodo in Urutonde"
 
-#: src/lang.c:358
+#: src/lang.c:359
 #, fuzzy
 msgid	"choose last thread in list"
 msgstr	"Guhitamo Iheruka Urudodo in Urutonde"
 
-#: src/lang.c:359
+#: src/lang.c:360
 #, fuzzy
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	"Urutonde muri KIGEZWEHO Urudodo Hejuru Ibikubiyemo"
 
-#: src/lang.c:360
+#: src/lang.c:361
 #, fuzzy
 msgid	"mark article as unread"
 msgstr	"Ikimenyetso Ingingo Nka Bidasomye"
 
-#: src/lang.c:361
+#: src/lang.c:362
 #, fuzzy
 msgid	"mark current thread or tagged threads as read"
 msgstr	"Ikimenyetso KIGEZWEHO Urudodo Cyangwa Nka Gusoma"
 
-#: src/lang.c:362
+#: src/lang.c:363
 #, fuzzy
 msgid	"mark thread as unread"
 msgstr	"Ikimenyetso Urudodo Nka Bidasomye"
 
-#: src/lang.c:363
+#: src/lang.c:364
 #, fuzzy
 msgid	"toggle display of all/selected articles"
 msgstr	"Mukomatanya Kugaragaza Bya Byose Byahiswemo"
 
-#: src/lang.c:364
+#: src/lang.c:365
 #, fuzzy
 msgid	"display next group"
 msgstr	"Kugaragaza Komeza>> Itsinda"
 
-#: src/lang.c:365
+#: src/lang.c:366
 #, fuzzy
 msgid	"display previous group"
 msgstr	"Kugaragaza Ibanjirije Itsinda"
 
-#: src/lang.c:366
+#: src/lang.c:367
 #, fuzzy
 msgid	"toggle all selections (all articles)"
 msgstr	"Mukomatanya Byose Byose"
 
-#: src/lang.c:367
+#: src/lang.c:368
 #, fuzzy
 msgid	"select group (make \"hot\")"
 msgstr	"Guhitamo Itsinda Ubwoko"
 
-#: src/lang.c:368
+#: src/lang.c:369
 #, fuzzy
 msgid	"select thread"
 msgstr	"Guhitamo Urudodo"
 
-#: src/lang.c:369
+#: src/lang.c:370
 #, fuzzy
 msgid	"select threads if at least one unread article is selected"
 msgstr	"Guhitamo NIBA ku Bidasomye Ingingo ni Byahiswemo"
 
-#: src/lang.c:370
+#: src/lang.c:371
 #, fuzzy
 msgid	"select threads that match user specified pattern"
 msgstr	"Guhitamo BIHUYE Ukoresha: Ishusho"
 
-#: src/lang.c:371
+#: src/lang.c:372
 #, fuzzy
 msgid	"tag all parts of current multipart-message in order"
 msgstr	"Itagi: Byose Bya KIGEZWEHO Ubutumwa in Itondekanya"
 
-#: src/lang.c:372
+#: src/lang.c:373
 #, fuzzy
 msgid	"0 - 9\t  choose thread by number"
 msgstr	"0 Guhitamo Urudodo ku Umubare"
 
-#: src/lang.c:373
+#: src/lang.c:374
 #, fuzzy
 msgid	"toggle limit number of articles to get, and reload"
 msgstr	"Mukomatanya Umubare Bya Kuri Kubona Na Kongera Gutangiza"
 
-#: src/lang.c:374
+#: src/lang.c:375
 #, fuzzy
 msgid	"toggle display of all/unread articles"
 msgstr	"Mukomatanya Kugaragaza Bya Byose Bidasomye"
 
-#: src/lang.c:375
+#: src/lang.c:376
 #, fuzzy
 msgid	"toggle selection of thread"
 msgstr	"Mukomatanya Ihitamo Bya Urudodo"
 
-#: src/lang.c:376
+#: src/lang.c:377
 #, fuzzy
 msgid	"cycle through threading options available"
 msgstr	"Uruziga Gihinguranya Amahitamo Bihari"
 
-#: src/lang.c:377
+#: src/lang.c:378
 #, fuzzy
 msgid	"undo all selections (all articles)"
 msgstr	"Isubiranyuma Byose Byose"
 
-#: src/lang.c:378
+#: src/lang.c:379
 #, fuzzy
 msgid	"untag all tagged threads"
 msgstr	"Byose"
 
-#: src/lang.c:379
+#: src/lang.c:380
 #, fuzzy
 msgid	"mark all articles in group as read"
 msgstr	"Ikimenyetso Byose in Itsinda Nka Gusoma"
 
-#: src/lang.c:380
+#: src/lang.c:381
 #, fuzzy
 msgid	"mark all articles in group as read and move to next unread group"
 msgstr	"Ikimenyetso Byose in Itsinda Nka Gusoma Na Kwimura Kuri Komeza>> Bidasomye "
 	"Itsinda"
 
-#: src/lang.c:381
+#: src/lang.c:382
 #, fuzzy
 msgid	"choose first group in list"
 msgstr	"Guhitamo Itangira Itsinda in Urutonde"
 
-#: src/lang.c:382
+#: src/lang.c:383
 #, fuzzy
 msgid	"choose group by name"
 msgstr	"Guhitamo Itsinda ku Izina:"
 
-#: src/lang.c:383
+#: src/lang.c:384
 #, fuzzy
 msgid	"0 - 9\t  choose group by number"
 msgstr	"0 Guhitamo Itsinda ku Umubare"
 
-#: src/lang.c:384
+#: src/lang.c:385
 #, fuzzy
 msgid	"choose range of groups to be affected by next command"
 msgstr	"Guhitamo Urutonde Bya Amatsinda Kuri ku Komeza>> Komandi:"
 
-#: src/lang.c:385
+#: src/lang.c:386
 #, fuzzy
 msgid	"choose last group in list"
 msgstr	"Guhitamo Iheruka Itsinda in Urutonde"
 
-#: src/lang.c:386
+#: src/lang.c:387
 #, fuzzy
 msgid	"mark all articles in chosen group unread"
 msgstr	"Ikimenyetso Byose in Itsinda Bidasomye"
 
-#: src/lang.c:387
+#: src/lang.c:388
 #, fuzzy
 msgid	"move chosen group within list"
 msgstr	"Kwimura Itsinda muri Urutonde"
 
-#: src/lang.c:388
+#: src/lang.c:389
 #, fuzzy
 msgid	"choose next group with unread news"
 msgstr	"Guhitamo Komeza>> Itsinda Na: Bidasomye Amakuru"
 
-#: src/lang.c:389 src/lang.c:1197
+#: src/lang.c:390 src/lang.c:1197
 #, fuzzy
 msgid	"quit"
 msgstr	"Kuvamo"
 
-#: src/lang.c:390
+#: src/lang.c:391
 #, fuzzy
 msgid	"quit without saving configuration changes"
 msgstr	"Kuvamo Mu kubika Iboneza Amahinduka"
 
-#: src/lang.c:391
+#: src/lang.c:392
 #, fuzzy
 msgid	"read chosen group"
 msgstr	"Gusoma Itsinda"
 
-#: src/lang.c:392
+#: src/lang.c:393
 #, fuzzy
 msgid	"reset .newsrc (all available articles in groups marked unread)"
 msgstr	"Kugarura."
 
-#: src/lang.c:393
+#: src/lang.c:394
 #, fuzzy
 msgid	"search backwards for a group name"
 msgstr	"Gushaka Inyuma kugirango a Itsinda Izina:"
 
-#: src/lang.c:394
+#: src/lang.c:395
 #, fuzzy
 msgid	" \t  (all searches are case-insensitive and wrap around)"
 msgstr	"(Byose Na Gufunika"
 
-#: src/lang.c:395
+#: src/lang.c:396
 #, fuzzy
 msgid	"search forwards for a group name"
 msgstr	"Gushaka kugirango a Itsinda Izina:"
 
-#: src/lang.c:396
+#: src/lang.c:397
 #, fuzzy
 msgid	"subscribe to chosen group"
 msgstr	"Kwiyandikisha Kuri Itsinda"
 
-#: src/lang.c:397
+#: src/lang.c:398
 #, fuzzy
 msgid	"subscribe to groups that match pattern"
 msgstr	"Kwiyandikisha Kuri Amatsinda BIHUYE Ishusho"
 
-#: src/lang.c:398
+#: src/lang.c:399
 #, fuzzy
 msgid	"reread active file to check for any new news"
 msgstr	"Gikora IDOSIYE Kuri Kugenzura... kugirango Gishya Amakuru"
 
-#: src/lang.c:399
+#: src/lang.c:400
 #, fuzzy
 msgid	"toggle display of group name only or group name plus description"
 msgstr	"Mukomatanya Kugaragaza Bya Itsinda Izina: Cyangwa Itsinda Izina: Guteranya "
 	"Isobanuramiterere"
 
-#: src/lang.c:400
+#: src/lang.c:401
 #, fuzzy
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	"Mukomatanya Kugaragaza Kuri Garagaza Byose Bidasomye yanditswe/ byemewe "
 	"Amatsinda"
 
-#: src/lang.c:401
+#: src/lang.c:402
 #, fuzzy
 msgid	"unsubscribe from chosen group"
 msgstr	"Kwivana aho wiyandikishe Bivuye Itsinda"
 
-#: src/lang.c:402
+#: src/lang.c:403
 #, fuzzy
 msgid	"unsubscribe from groups that match pattern"
 msgstr	"Kwivana aho wiyandikishe Bivuye Amatsinda BIHUYE Ishusho"
 
-#: src/lang.c:403
+#: src/lang.c:404
 #, fuzzy
 msgid	"sort the list of groups"
 msgstr	"Ishungura i Urutonde Bya Amatsinda"
 
-#: src/lang.c:404
+#: src/lang.c:405
 #, fuzzy
 msgid	"toggle display to show all/subscribed groups"
 msgstr	"Mukomatanya Kugaragaza Kuri Garagaza Byose yanditswe/ byemewe Amatsinda"
 
-#: src/lang.c:405
+#: src/lang.c:406
 #, fuzzy
 msgid	"0 - 9\t  choose article by number"
 msgstr	"0 Guhitamo Ingingo ku Umubare"
 
-#: src/lang.c:406
+#: src/lang.c:407
 #, fuzzy
 msgid	"mark thread as read and return to group index page"
 msgstr	"Ikimenyetso Urudodo Nka Gusoma Na Garuka Kuri Itsinda Umubarendanga Ipaji"
 
-#: src/lang.c:407
+#: src/lang.c:408
 #, fuzzy
 msgid	"mark thread as read and enter next unread thread or group"
 msgstr	"Ikimenyetso Urudodo Nka Gusoma Na Injiza Komeza>> Bidasomye Urudodo Cyangwa "
 	"Itsinda"
 
-#: src/lang.c:408
+#: src/lang.c:409
 #, fuzzy
 msgid	"choose first article in list"
 msgstr	"Guhitamo Itangira Ingingo in Urutonde"
 
-#: src/lang.c:409
+#: src/lang.c:410
 #, fuzzy
 msgid	"choose last article in list"
 msgstr	"Guhitamo Iheruka Ingingo in Urutonde"
 
-#: src/lang.c:410
+#: src/lang.c:411
 #, fuzzy
 msgid	"mark article or tagged articles as read and move cursor to next unread article"
 msgstr	"Ikimenyetso Ingingo Cyangwa Nka Gusoma Na Kwimura indanga Kuri Komeza>> "
 	"Bidasomye Ingingo"
 
-#: src/lang.c:411
+#: src/lang.c:412
 #, fuzzy
 msgid	"read chosen article"
 msgstr	"Gusoma Ingingo"
 
-#: src/lang.c:412
+#: src/lang.c:413
 msgid	"Display properties\n"
 	"------------------"
 msgstr	""
 
-#: src/lang.c:413
+#: src/lang.c:414
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	""
 
-#: src/lang.c:414
+#: src/lang.c:415
 msgid	"Moving around\n"
 	"-------------"
 msgstr	""
 
-#: src/lang.c:415
+#: src/lang.c:416
 #, fuzzy
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	"Urudodo Ingingo"
 
-#: src/lang.c:417
+#: src/lang.c:418
 msgid	"Group Level Commands"
 msgstr	""
 
-#: src/lang.c:418
+#: src/lang.c:419
 #, fuzzy
 msgid	"Kill filter added"
 msgstr	"Muyunguruzi... Kyongewe"
 
-#: src/lang.c:419
+#: src/lang.c:420
 #, fuzzy
 msgid	"Auto-selection filter added"
 msgstr	"Ihitamo Muyunguruzi... Kyongewe"
 
-#: src/lang.c:420
+#: src/lang.c:421
 msgid	"All parts tagged"
 msgstr	""
 
-#: src/lang.c:421
+#: src/lang.c:422
 #, fuzzy
 msgid	"Storing article for later posting"
 msgstr	"Ingingo kugirango"
 
-#: src/lang.c:422
+#: src/lang.c:423
 #, fuzzy
 msgid	"Please enter a valid character"
 msgstr	"Injiza a Byemewe Inyuguti"
 
-#: src/lang.c:423
+#: src/lang.c:424
 #, c-format
 msgid	"Missing part #%d"
 msgstr	""
 
-#: src/lang.c:424
+#: src/lang.c:425
 msgid	"*** No postponed articles ***"
 msgstr	""
 
-#: src/lang.c:425
+#: src/lang.c:426
 #, fuzzy
 msgid	"Not a multi-part message"
 msgstr	"a Ubutumwa"
 
-#: src/lang.c:426
+#: src/lang.c:427
 #, fuzzy
 msgid	"You are not subscribed to this group"
 msgstr	"OYA yanditswe/ byemewe Kuri iyi Itsinda"
 
-#: src/lang.c:427
+#: src/lang.c:428
 #, fuzzy
 msgid	"No previous expression"
 msgstr	"Ibanjirije imvugo"
 
-#: src/lang.c:428
+#: src/lang.c:429
 #, fuzzy
 msgid	"Operation disabled in no-overwrite mode"
 msgstr	"Yahagaritswe in Oya Guhindura Ubwoko"
 
 #. TODO: replace hardcoded key-name in txt_info_postponed
-#: src/lang.c:430
+#: src/lang.c:431
 #, fuzzy, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	"%dNa:"
 
-#: src/lang.c:431
+#: src/lang.c:432
 #, fuzzy
 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	"Ibigize Cyavanyweho Kubona i Ingingo in i"
 
-#: src/lang.c:433
+#: src/lang.c:434
 #, fuzzy, c-format
 msgid	"Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr	"Kubika Izina ry'idosiye: kugirango ni a OYA"
 
-#: src/lang.c:434
+#: src/lang.c:435
 #, fuzzy
 msgid	"TeX2Iso encoded article"
 msgstr	"Ingingo"
 
-#: src/lang.c:435
+#: src/lang.c:436
 msgid	"incomplete "
 msgstr	""
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:437
+#: src/lang.c:438
 #, fuzzy, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -2129,140 +2108,140 @@ msgstr	"Kuri a Mugaragaza Gusoma Amakuru
 	"Ibikubiyemo Birenzeho Ibisobanuro Gusoma i Bikorwa Ipaji Na Idosiye Kohereza "
 	"Raporo Ibisobanuro Kuri Na: i Komandi:"
 
-#: src/lang.c:453
+#: src/lang.c:454
 #, fuzzy, c-format
 msgid	"Invalid  From: %s  line. Read the INSTALL file again."
 msgstr	"Umurongo i IDOSIYE"
 
-#: src/lang.c:455
+#: src/lang.c:456
 msgid	"Invalid multibyte sequence found\n"
 msgstr	""
 
-#: src/lang.c:457
+#: src/lang.c:458
 #, fuzzy, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	"Umutwempangano"
 
-#: src/lang.c:458
+#: src/lang.c:459
 #, fuzzy
 msgid	"Inverse video disabled"
 msgstr	"Videwo... Yahagaritswe"
 
-#: src/lang.c:459
+#: src/lang.c:460
 #, fuzzy
 msgid	"Inverse video enabled"
 msgstr	"Videwo... Bikora"
 
-#: src/lang.c:461
+#: src/lang.c:462
 #, fuzzy, c-format
 msgid	"Missing definition for %s\n"
 msgstr	"Insobanuro kugirango"
 
-#: src/lang.c:462
+#: src/lang.c:463
 #, fuzzy, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	"Urufunguzo Insobanuro"
 
-#: src/lang.c:463
+#: src/lang.c:464
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	""
 
-#: src/lang.c:464
+#: src/lang.c:465
 #, fuzzy, c-format
 msgid	"Keymap file was upgraded to version %s\n"
 msgstr	"IDOSIYE Kuri Verisiyo"
 
-#: src/lang.c:465
+#: src/lang.c:466
 #, c-format
 msgid	"Kill From:     [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:466
+#: src/lang.c:467
 msgid	"Kill Lines: (</>num): "
 msgstr	""
 
-#: src/lang.c:467
+#: src/lang.c:468
 msgid	"Kill Article Menu"
 msgstr	""
 
-#: src/lang.c:468
+#: src/lang.c:469
 #, c-format
 msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr	""
 
-#: src/lang.c:469
+#: src/lang.c:470
 #, fuzzy
 msgid	"Kill pattern scope  : "
 msgstr	"Ishusho Ingano:"
 
-#: src/lang.c:470
+#: src/lang.c:471
 #, c-format
 msgid	"Kill Subject:  [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:471
+#: src/lang.c:472
 #, fuzzy
 msgid	"Kill text pattern   : "
 msgstr	"Umwandiko Ishusho"
 
-#: src/lang.c:472
+#: src/lang.c:473
 #, fuzzy
 msgid	"Kill time in days   : "
 msgstr	"Igihe in Iminsi"
 
-#: src/lang.c:474
+#: src/lang.c:475
 msgid	"Last"
 msgstr	"Iheruka"
 
-#: src/lang.c:475
+#: src/lang.c:476
 msgid	"-- Last response --"
 msgstr	""
 
-#: src/lang.c:476
+#: src/lang.c:477
 #, fuzzy, c-format
 msgid	"Lines %s  "
 msgstr	"Imirongo."
 
 # sfx2/source\appl\app.src:STR_MAIL.text
-#: src/lang.c:478
+#: src/lang.c:479
 msgid	"Mail"
 msgstr	"Ubutumwa"
 
-#: src/lang.c:479
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	""
 
-#: src/lang.c:480
+#: src/lang.c:481
 #, fuzzy, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	"Ingingo S Kuri S"
 
-#: src/lang.c:481
+#: src/lang.c:482
 #, fuzzy, c-format
 msgid	"Mailing log to %s\n"
 msgstr	"LOG Kuri %s\n"
 
-#: src/lang.c:482
+#: src/lang.c:483
 #, fuzzy
 msgid	"Mail bug report..."
 msgstr	"Icyegeranyo"
 
-#: src/lang.c:483
+#: src/lang.c:484
 #, fuzzy, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	"Kuri"
 
-#: src/lang.c:484
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	""
 
-#: src/lang.c:485
+#: src/lang.c:486
 #, fuzzy, c-format
 msgid	"Mailing to %s..."
 msgstr	"Kuri %s"
 
-#: src/lang.c:486
+#: src/lang.c:487
 #, fuzzy
 msgid	"# [Mail/Save] active file. Format is like news active file:\n"
 	"#   groupname  max.artnum  min.artnum  /dir\n"
@@ -2271,324 +2250,324 @@ msgid	"# [Mail/Save] active file. Format
 msgstr	"#[Kubika Gikora IDOSIYE ni nka Amakuru Gikora IDOSIYE KININI GITO Umwanya ni "
 	"i Cyangwa"
 
-#: src/lang.c:489
+#: src/lang.c:490
 #, fuzzy, c-format
 msgid	"%s marked as unread"
 msgstr	"%scy/ byagarajwe Nka Bidasomye"
 
-#: src/lang.c:490
+#: src/lang.c:491
 #, fuzzy, c-format
 msgid	"Marked %d of %d tagged %s as read"
 msgstr	"Bya Nka Gusoma"
 
-#: src/lang.c:491
+#: src/lang.c:492
 #, fuzzy, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	"Byose Nka Gusoma"
 
-#: src/lang.c:492
+#: src/lang.c:493
 #, fuzzy, c-format
 msgid	"Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr	"KIGEZWEHO Ingingo Kuvamo"
 
-#: src/lang.c:493
+#: src/lang.c:494
 #, fuzzy, c-format
 msgid	"Mark group %s as read?"
 msgstr	"Itsinda Nka Gusoma"
 
-#: src/lang.c:494
+#: src/lang.c:495
 #, fuzzy, c-format
 msgid	"Mark thread as read%s?"
 msgstr	"Urudodo Nka Gusoma"
 
-#: src/lang.c:495
+#: src/lang.c:496
 #, fuzzy, c-format
 msgid	"Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr	"KIGEZWEHO Urudodo Kuvamo"
 
-#: src/lang.c:496
+#: src/lang.c:497
 #, fuzzy, c-format
 msgid	"Matching %s groups..."
 msgstr	"Amatsinda"
 
-#: src/lang.c:497 src/lang.c:501
+#: src/lang.c:498 src/lang.c:502
 #, fuzzy, c-format
 msgid	"<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr	"<N Gushyiraho KIGEZWEHO Kuri N Komeza>> Bidasomye Gushaka Ishusho Guhitamo"
 
-#: src/lang.c:498
+#: src/lang.c:499
 #, fuzzy, c-format
 msgid	"%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list "
 	"thread"
 msgstr	"%s=Umwanditsi Gushaka Umurongo Hasi Umurongo Hejuru Ikimenyetso Gusoma "
 	"Urutonde Urudodo"
 
-#: src/lang.c:499
+#: src/lang.c:500
 #, fuzzy, c-format
 msgid	"%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr	"%s=Umurongo Hejuru Umurongo Hasi Ipaji Hejuru Ipaji Hasi Hejuru: Hasi:"
 
-#: src/lang.c:500
+#: src/lang.c:501
 #, fuzzy, c-format
 msgid	"%s=search forwards; %s=search backwards; %s=quit"
 msgstr	"%s=Gushaka Gushaka Inyuma Kuvamo"
 
-#: src/lang.c:502
+#: src/lang.c:503
 #, fuzzy, c-format
 msgid	"%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr	"%s=Umwanditsi Gushaka Umubiri Gushaka Ikimenyetso Gusoma"
 
-#: src/lang.c:503
+#: src/lang.c:504
 #, fuzzy, c-format
 msgid	"<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr	"<N Gushyiraho KIGEZWEHO Kuri N Komeza>> Bidasomye Gushaka Ishusho"
 
-#: src/lang.c:504
+#: src/lang.c:505
 #, fuzzy, c-format
 msgid	"%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr	"%s=Umurongo Hasi Umurongo Hejuru Ifashayobora Kwimura Kuvamo Mukomatanya "
 	"Byose Bidasomye"
 
-#: src/lang.c:505
+#: src/lang.c:506
 #, fuzzy, c-format
 msgid	"%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out"
 msgstr	"%s=Kwiyandikisha Ishusho Kwivana aho wiyandikishe Ishusho in Inyuma"
 
-#: src/lang.c:506
+#: src/lang.c:507
 #, fuzzy, c-format
 msgid	"<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr	"<N Gushyiraho KIGEZWEHO Kuri N Komeza>> Bidasomye Kugaragaza Mukomatanya"
 
-#: src/lang.c:507
+#: src/lang.c:508
 #, fuzzy, c-format
 msgid	"%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr	"%s=Ifashayobora Umurongo Hasi Umurongo Hejuru Kuvamo Itagi: Ikimenyetso "
 	"Bidasomye"
 
-#: src/lang.c:508
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	""
 
-#: src/lang.c:509
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	""
 
-#: src/lang.c:510
+#: src/lang.c:511
 msgid	"Message-ID: & last Reference  "
 msgstr	""
 
-#: src/lang.c:511
+#: src/lang.c:512
 #, fuzzy
 msgid	"Message-ID: line              "
 msgstr	"Umurongo"
 
-#: src/lang.c:512
+#: src/lang.c:513
 msgid	"Message-ID: & References: line"
 msgstr	""
 
-#: src/lang.c:514
+#: src/lang.c:515
 #, fuzzy
 msgid	", name: "
 msgstr	",IZINA! "
 
-#: src/lang.c:515
+#: src/lang.c:516
 #, fuzzy, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	"Urubuga rw'amakuru"
 
 # svtools/source\misc\mediatyp.src:STR_SVT_MIMETYPE_CNT_BBBOX.text
-#: src/lang.c:516
+#: src/lang.c:517
 #, fuzzy
 msgid	"newsgroups"
 msgstr	"Imbuga z'amakuru"
 
-#: src/lang.c:517
+#: src/lang.c:518
 #, c-format
 msgid	"Position %s in group list (1,2,..,$) [%d]> "
 msgstr	""
 
-#: src/lang.c:518
+#: src/lang.c:519
 #, fuzzy
 msgid	"newsgroup"
 msgstr	"Urubuga rw'amakuru"
 
-#: src/lang.c:519
+#: src/lang.c:520
 #, fuzzy
 msgid	"Try and save newsrc file again?"
 msgstr	"Na Kubika IDOSIYE"
 
-#: src/lang.c:520
+#: src/lang.c:521
 #, fuzzy
 msgid	"Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr	"Imbuga z'amakuru Kuri IDOSIYE Kubika"
 
-#: src/lang.c:521
+#: src/lang.c:522
 #, fuzzy
 msgid	"newsrc file saved successfully.\n"
 msgstr	"IDOSIYE"
 
-#: src/lang.c:522
+#: src/lang.c:523
 msgid	"-- Next response --"
 msgstr	""
 
-#: src/lang.c:523
+#: src/lang.c:524
 #, fuzzy, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"Ijambobanga... OYA Byabonetse kugirango"
 
-#: src/lang.c:524
+#: src/lang.c:525
 #, fuzzy
 msgid	"No  "
 msgstr	"Oya"
 
-#: src/lang.c:525
+#: src/lang.c:526
 msgid	"*** No articles ***"
 msgstr	""
 
-#: src/lang.c:526
+#: src/lang.c:527
 msgid	"No articles have been posted"
 msgstr	""
 
-#: src/lang.c:527
+#: src/lang.c:528
 #, fuzzy
 msgid	"*** No description ***"
 msgstr	"*** Isobanuramiterere ***"
 
-#: src/lang.c:528
+#: src/lang.c:529
 #, fuzzy
 msgid	"No filename"
 msgstr	"Izina ry'idosiye:"
 
-#: src/lang.c:529
+#: src/lang.c:530
 #, fuzzy
 msgid	"No group"
 msgstr	"Itsinda"
 
-#: src/lang.c:530
+#: src/lang.c:531
 #, fuzzy
 msgid	"*** No groups ***"
 msgstr	"*** Amatsinda ***"
 
-#: src/lang.c:531
+#: src/lang.c:532
 #, fuzzy
 msgid	"No more groups to read"
 msgstr	"Birenzeho Amatsinda Kuri Gusoma"
 
-#: src/lang.c:532
+#: src/lang.c:533
 #, fuzzy
 msgid	"No last message"
 msgstr	"Iheruka Ubutumwa"
 
-#: src/lang.c:533
+#: src/lang.c:534
 #, fuzzy
 msgid	"No mail address"
 msgstr	"Ubutumwa Aderesi"
 
-#: src/lang.c:534
+#: src/lang.c:535
 #, fuzzy
 msgid	"No articles marked for saving"
 msgstr	"cy/ byagarajwe kugirango Mu kubika"
 
-#: src/lang.c:535
+#: src/lang.c:536
 #, fuzzy
 msgid	"No match"
 msgstr	"BIHUYE"
 
-#: src/lang.c:536
+#: src/lang.c:537
 #, fuzzy
 msgid	"No more groups"
 msgstr	"Birenzeho Amatsinda"
 
-#: src/lang.c:537
+#: src/lang.c:538
 #, fuzzy
 msgid	"No newsgroups"
 msgstr	"Imbuga z'amakuru"
 
-#: src/lang.c:538
+#: src/lang.c:539
 #, fuzzy
 msgid	"No next unread article"
 msgstr	"Komeza>> Bidasomye Ingingo"
 
-#: src/lang.c:539
+#: src/lang.c:540
 #, fuzzy
 msgid	"No previous group"
 msgstr	"Ibanjirije Itsinda"
 
-#: src/lang.c:540
+#: src/lang.c:541
 #, fuzzy
 msgid	"No previous unread article"
 msgstr	"Ibanjirije Bidasomye Ingingo"
 
-#: src/lang.c:541
+#: src/lang.c:542
 msgid	"No responses"
 msgstr	""
 
-#: src/lang.c:542
+#: src/lang.c:543
 #, fuzzy
 msgid	"No responses to list in current thread"
 msgstr	"Kuri Urutonde in KIGEZWEHO Urudodo"
 
-#: src/lang.c:543
+#: src/lang.c:544
 #, fuzzy
 msgid	"No search string"
 msgstr	"Gushaka Ikurikiranyanyuguti"
 
-#: src/lang.c:544
+#: src/lang.c:545
 msgid	"No subject"
 msgstr	"Nta kivugwaho"
 
-#: src/lang.c:546
+#: src/lang.c:547
 #, fuzzy, c-format
 msgid	"%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr	"%s:Gusiba Kuri Impera Bya Umurongo"
 
-#: src/lang.c:547
+#: src/lang.c:548
 #, fuzzy, c-format
 msgid	"%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr	"%s:Gusiba Kuri Impera Bya Mugaragaza"
 
-#: src/lang.c:548
+#: src/lang.c:549
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	""
 
-#: src/lang.c:549
+#: src/lang.c:550
 #, fuzzy, c-format
 msgid	"%s: Terminal must have cursor motion (cm)\n"
 msgstr	"%s:indanga cm"
 
-#: src/lang.c:550
+#: src/lang.c:551
 #, fuzzy, c-format
 msgid	"%s: TERM variable must be set to use screen capabilities\n"
 msgstr	"%s:IMPINDURAGACIRO Gushyiraho Kuri Gukoresha Mugaragaza"
 
-#: src/lang.c:552
+#: src/lang.c:553
 #, fuzzy, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	"Byabonetse kugirango"
 
-#: src/lang.c:553
+#: src/lang.c:554
 #, fuzzy
 msgid	"Newsgroup does not exist on this server"
 msgstr	"OYA ku iyi Seriveri"
 
-#: src/lang.c:554
+#: src/lang.c:555
 #, fuzzy, c-format
 msgid	"Group %s not found in active file"
 msgstr	"OYA Byabonetse in Gikora IDOSIYE"
 
-#: src/lang.c:555
+#: src/lang.c:556
 #, fuzzy
 msgid	"c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	"C Gukoresha a Izina: Gukoresha D Q"
 
-#: src/lang.c:556
+#: src/lang.c:557
 #, fuzzy
 msgid	"use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	"Gukoresha a Izina: Gukoresha D Q"
 
-#: src/lang.c:557
+#: src/lang.c:558
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2604,190 +2583,186 @@ msgid	"# NNTP-server -> newsrc translati
 	"#\n"
 msgstr	""
 
-#: src/lang.c:564
+#: src/lang.c:565
 msgid	"Only"
 msgstr	""
 
-#: src/lang.c:565
+#: src/lang.c:566
 #, fuzzy, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	"OYA Bikora Na:"
 
-#: src/lang.c:566
+#: src/lang.c:567
 msgid	"Options Menu"
 msgstr	""
 
-#: src/lang.c:569
+#: src/lang.c:570
 #, fuzzy, c-format
 msgid	"Error in regex: %s at pos. %d '%s'"
 msgstr	"in ku"
 
-#: src/lang.c:570
+#: src/lang.c:571
 #, fuzzy, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	"in By'imbere Ikosa"
 
-#: src/lang.c:571
+#: src/lang.c:572
 #, fuzzy, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	"in By'imbere Ikosa"
 
-#: src/lang.c:572
+#: src/lang.c:573
 msgid	"Post a followup..."
 msgstr	""
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:574
+#: src/lang.c:575
 #, fuzzy
 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	"Ikosa i Ingingo ni By'igihe gito Cyangwa i Hejuru Na:"
 
-#: src/lang.c:577
+#: src/lang.c:578
 #, fuzzy
 msgid	"Posted articles history"
 msgstr	"Urutonde"
 
-#: src/lang.c:578
+#: src/lang.c:579
 #, fuzzy, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	"Kuri Urubuga rw'amakuru S"
 
-#: src/lang.c:579
+#: src/lang.c:580
 #, fuzzy
 msgid	"-- post processing started --"
 msgstr	"--Iposita Inonosora--"
 
-#: src/lang.c:580
+#: src/lang.c:581
 #, fuzzy
 msgid	"-- post processing completed --"
 msgstr	"--Iposita Inonosora--"
 
-#: src/lang.c:581
+#: src/lang.c:582
 #, fuzzy, c-format
 msgid	"Post subject [%s]> "
 msgstr	"Ikivugwaho"
 
-#: src/lang.c:582
+#: src/lang.c:583
 #, fuzzy
 msgid	"# Summary of mailed/posted messages viewable by 'W' command from within tin.\n"
 msgstr	"# Bya Ubutumwa ku Komandi: Bivuye muri"
 
-#: src/lang.c:583
+#: src/lang.c:584
 #, fuzzy
 msgid	"Posting article..."
 msgstr	"Ingingo"
 
-#: src/lang.c:584
+#: src/lang.c:585
 #, c-format
 msgid	"Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr	""
 
-#: src/lang.c:585
+#: src/lang.c:586
 #, c-format
 msgid	"Hot %s"
 msgstr	""
 
-#: src/lang.c:586
+#: src/lang.c:587
 #, c-format
 msgid	"Tagged %s"
 msgstr	""
 
-#: src/lang.c:587
+#: src/lang.c:588
 #, c-format
 msgid	"Untagged %s"
 msgstr	""
 
-#: src/lang.c:588
+#: src/lang.c:589
 #, fuzzy
 msgid	"Processing mail messages marked for deletion."
 msgstr	"Ubutumwa Ubutumwa cy/ byagarajwe kugirango Isibwa"
 
-#: src/lang.c:589
+#: src/lang.c:590
 #, fuzzy
 msgid	"Processing saved articles marked for deletion."
 msgstr	"cy/ byagarajwe kugirango Isibwa"
 
-#: src/lang.c:590
+#: src/lang.c:591
 #, fuzzy, c-format
 msgid	"Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr	"Iposita Kwirengagiza Kuvamo"
 
-#: src/lang.c:591
+#: src/lang.c:592
 #, fuzzy
 msgid	"Article unchanged, abort mailing?"
 msgstr	"Kureka"
 
-#: src/lang.c:592
+#: src/lang.c:593
 #, fuzzy, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	"Kuri"
 
-#: src/lang.c:594
+#: src/lang.c:595
 #, fuzzy
 msgid	"Add quick kill filter?"
 msgstr	"Muyunguruzi..."
 
-#: src/lang.c:595
+#: src/lang.c:596
 #, fuzzy
 msgid	"Add quick selection filter?"
 msgstr	"Ihitamo Muyunguruzi..."
 
-#: src/lang.c:596
+#: src/lang.c:597
 #, fuzzy
 msgid	"Do you really want to quit?"
 msgstr	"Kuri Kuvamo"
 
-#: src/lang.c:597
+#: src/lang.c:598
 #, fuzzy, c-format
 msgid	"%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr	"%s=Guhindura Kureka Ubutumwa Kuvamo Gusiba Kureka"
 
-#: src/lang.c:598
+#: src/lang.c:599
 #, fuzzy
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	"in iyi Itsinda Kuvamo"
 
-#: src/lang.c:599
+#: src/lang.c:600
 #, fuzzy, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	"%s=Kuvamo Guhindura"
 
-#: src/lang.c:600
+#: src/lang.c:601
 #, fuzzy, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	"%s=Kuvamo Guhindura Kubika Isobanuramiterere"
 
-#: src/lang.c:601
+#: src/lang.c:602
 #, fuzzy, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	"%s=Kuvamo Guhindura Kubika Guhitamo Isobanuramiterere"
 
-#: src/lang.c:602
+#: src/lang.c:603
 #, fuzzy
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	"Kuri Kuvamo Mu kubika Iboneza"
 
-#: src/lang.c:605
+#: src/lang.c:606
 #, fuzzy
 msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	"Urutonde Byemewe 0 9 1."
 
-#: src/lang.c:606
+#: src/lang.c:607
 #, fuzzy
 msgid	"Do you want to abort this operation?"
 msgstr	"Kuri Kureka iyi"
 
-#: src/lang.c:607
+#: src/lang.c:608
 #, fuzzy
 msgid	"Do you want to exit tin immediately?"
 msgstr	"Kuri Gusohoka Ako kanya"
 
-#: src/lang.c:608
-msgid	"Read response> "
-msgstr	""
-
 #: src/lang.c:609
 #, fuzzy
 msgid	"Reading ('q' to quit)..."
@@ -2901,11 +2876,6 @@ msgstr	"Kuri i Imbuga z'amakuru"
 msgid	"Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr	"Kuri Umuteguro Ubutumwa Iposita Kuvamo"
 
-#: src/lang.c:634
-#, fuzzy, c-format
-msgid	"RespNo %4d of %4d"
-msgstr	"Bya"
-
 #: src/lang.c:635
 #, fuzzy
 msgid	"Press <RETURN> to continue..."
@@ -3700,9 +3670,8 @@ msgstr	"ni in Na Kirimo Inyuguti in Byah
 	"Kuri a Agaciro kugirango Biturutse Ihitamo"
 
 #: src/lang.c:843
-#, fuzzy
-msgid	"  -D       debug mode 1=NNTP 2=ALL"
-msgstr	"-Kosora amakosa Ubwoko 1. 2."
+msgid	"  -D mode  debug mode"
+msgstr	""
 
 #: src/lang.c:847
 #, fuzzy
@@ -3948,9 +3917,9 @@ msgid	"Cannot find NNTP server name"
 msgstr	"Gushaka Seriveri Izina:"
 
 #: src/lang.c:944
-#, fuzzy, c-format
-msgid	"Connecting to %s:%d..."
-msgstr	"Kwihuza na\"\"..."
+#, c-format
+msgid	"Connecting to %s:%u..."
+msgstr	""
 
 #: src/lang.c:945
 #, fuzzy
@@ -4278,7 +4247,7 @@ msgid	"Trying %s"
 msgstr	""
 
 # goodies/source\filter.vcl\eps\dlgeps.src:DLG_EXPORT_EPS.RB_COMPRESSION_NONE.text
-#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:296
+#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:304
 msgid	"None"
 msgstr	"Nta na kimwe"
 
@@ -4707,9 +4676,9 @@ msgstr	""
 #: src/lang.c:2020 src/lang.c:2027 src/lang.c:2034 src/lang.c:2041 src/lang.c:2048
 #: src/lang.c:2056 src/lang.c:2072 src/lang.c:2079 src/lang.c:2086 src/lang.c:2093
 #: src/lang.c:2099 src/lang.c:2105 src/lang.c:2122 src/lang.c:2134 src/lang.c:2168
-#: src/lang.c:2221 src/lang.c:2228 src/lang.c:2234 src/lang.c:2259 src/lang.c:2276
-#: src/lang.c:2329 src/lang.c:2365 src/lang.c:2385 src/lang.c:2420 src/lang.c:2430
-#: src/lang.c:2455 src/lang.c:2471 src/lang.c:2490 src/lang.c:2503
+#: src/lang.c:2221 src/lang.c:2235 src/lang.c:2241 src/lang.c:2266 src/lang.c:2283
+#: src/lang.c:2336 src/lang.c:2372 src/lang.c:2392 src/lang.c:2427 src/lang.c:2437
+#: src/lang.c:2462 src/lang.c:2478 src/lang.c:2497 src/lang.c:2510
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
@@ -6269,22 +6238,35 @@ msgstr	""
 msgid	"# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr	"#kugirango Umutwempangano in"
 
+#: src/lang.c:2227
+#, fuzzy
+msgid	"Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
+msgstr	"g."
+
+#: src/lang.c:2228
+msgid	"MM_LOCAL_CHARSET"
+msgstr	""
+
 #: src/lang.c:2229
+msgid	"# Charset supported locally.\n"
+msgstr	""
+
+#: src/lang.c:2236
 #, fuzzy
 msgid	"Mailbox format"
 msgstr	"Imiterere"
 
-#: src/lang.c:2230
+#: src/lang.c:2237
 #, fuzzy
 msgid	"# Format of the mailbox.\n"
 msgstr	"#Bya i"
 
-#: src/lang.c:2235
+#: src/lang.c:2242
 #, fuzzy
 msgid	"MIME encoding in news messages"
 msgstr	"Imisobekere: in Amakuru Ubutumwa"
 
-#: src/lang.c:2236
+#: src/lang.c:2243
 #, fuzzy
 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"
@@ -6294,17 +6276,17 @@ msgid	"# MIME encoding (8bit, base64, qu
 msgstr	"#Imisobekere: Gicapika Bya i kugirango Na NIBA ni kugirango Inyuguti Na: "
 	"Gitoya Imigabane Bya ni Birenzeho kugirango Na: a Bya Inyuguti"
 
-#: src/lang.c:2244 src/lang.c:2265
+#: src/lang.c:2251 src/lang.c:2272
 #, fuzzy
 msgid	"Don't change unless you know what you are doing. <ESC> cancels."
 msgstr	"Guhindura>>"
 
-#: src/lang.c:2245
+#: src/lang.c:2252
 #, fuzzy
 msgid	"Use 8bit characters in news headers"
 msgstr	"Inyuguti in Amakuru Imitwe"
 
-#: src/lang.c:2246
+#: src/lang.c:2253
 #, fuzzy
 msgid	"# If ON, 8bit characters in news headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -6313,32 +6295,32 @@ msgid	"# If ON, 8bit characters in news 
 msgstr	"#Inyuguti in Amakuru Imitwe Mburabuzi ni Inyuguti ku Mburabuzi in "
 	"Umutwempangano Bya i Agaciro Bya ni Nka"
 
-#: src/lang.c:2253
+#: src/lang.c:2260
 #, fuzzy
 msgid	"Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"Kureba Iposita Idosiye"
 
-#: src/lang.c:2254
+#: src/lang.c:2261
 #, fuzzy
 msgid	"View post-processed files"
 msgstr	"Iposita Idosiye"
 
-#: src/lang.c:2255
+#: src/lang.c:2262
 #, fuzzy
 msgid	"# If set, post processed files will be opened in a viewer\n"
 msgstr	"#Gushyiraho Iposita Idosiye in a"
 
-#: src/lang.c:2260
+#: src/lang.c:2267
 #, fuzzy
 msgid	"MIME encoding in mail messages"
 msgstr	"Imisobekere: in Ubutumwa Ubutumwa"
 
-#: src/lang.c:2266
+#: src/lang.c:2273
 #, fuzzy
 msgid	"Use 8bit characters in mail headers"
 msgstr	"Inyuguti in Ubutumwa Imitwe"
 
-#: src/lang.c:2267
+#: src/lang.c:2274
 #, fuzzy
 msgid	"# If ON, 8bit characters in mail headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -6350,27 +6332,27 @@ msgid	"# If ON, 8bit characters in mail 
 msgstr	"#Inyuguti in Ubutumwa Imitwe Mburabuzi ni Inyuguti ku Mburabuzi in Imitwe Bya "
 	"i Agaciro Bya iyi ni Nka Inyuguti in Ubutumwa Imitwe"
 
-#: src/lang.c:2277
+#: src/lang.c:2284
 #, fuzzy
 msgid	"Strip blanks from ends of lines"
 msgstr	"Bivuye Bya Imirongo"
 
-#: src/lang.c:2278
+#: src/lang.c:2285
 #, fuzzy
 msgid	"# If ON strip blanks from ends of lines for faster display on slow "
 	"terminals.\n"
 msgstr	"#Bivuye Bya Imirongo kugirango Kugaragaza ku Buhoro"
 
-#: src/lang.c:2283
+#: src/lang.c:2290
 #, fuzzy
 msgid	"If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr	"Gukoresha"
 
-#: src/lang.c:2284
+#: src/lang.c:2291
 msgid	"Transliteration"
 msgstr	""
 
-#: src/lang.c:2285
+#: src/lang.c:2292
 #, fuzzy
 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"
@@ -6378,166 +6360,166 @@ msgid	"# If ON, use //TRANSLIT extension
 msgstr	"#Gukoresha Umugereka Ryari: a Inyuguti in i in i Intego Inyuguti Gushyiraho "
 	"Gihinguranya Cyangwa Inyuguti"
 
-#: src/lang.c:2292
+#: src/lang.c:2299
 #, fuzzy
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"a Gukoporora ku buryo bwikora"
 
-#: src/lang.c:2293
+#: src/lang.c:2300
 #, fuzzy
 msgid	"Send you a cc automatically"
 msgstr	"a KopiKubandi ku buryo bwikora"
 
-#: src/lang.c:2294
+#: src/lang.c:2301
 #, fuzzy
 msgid	"# If ON automatically put your name in the Cc: field when mailing an article\n"
 msgstr	"#ku buryo bwikora Gushyira Izina: in i Umwanya Ryari:"
 
-#: src/lang.c:2298
+#: src/lang.c:2305
 #, fuzzy
 msgid	"Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"a Gukoporora ku buryo bwikora"
 
-#: src/lang.c:2299
+#: src/lang.c:2306
 #, fuzzy
 msgid	"Send you a blind cc automatically"
 msgstr	"a KopiKubandi ku buryo bwikora"
 
-#: src/lang.c:2300
+#: src/lang.c:2307
 #, fuzzy
 msgid	"# If ON automatically put your name in the Bcc: field when mailing an "
 	"article\n"
 msgstr	"#ku buryo bwikora Gushyira Izina: in i Umwanya Ryari:"
 
-#: src/lang.c:2304
+#: src/lang.c:2311
 #, fuzzy
 msgid	"Enter address elements about which you want to be warned. <CR> sets."
 msgstr	"Aderesi Ibintu Ibyerekeye Kuri"
 
-#: src/lang.c:2305
+#: src/lang.c:2312
 #, fuzzy
 msgid	"Spamtrap warning address parts"
 msgstr	"Iburira Aderesi"
 
-#: src/lang.c:2306
+#: src/lang.c:2313
 #, fuzzy
 msgid	"# A comma-delimited list of address-parts you want to be warned\n"
 	"# about when trying to reply by email.\n"
 msgstr	"#A Akitso Urutonde Bya Aderesi Kuri Ibyerekeye Ryari: Kuri Subiza ku imeli"
 
-#: src/lang.c:2311
+#: src/lang.c:2318
 #, fuzzy
 msgid	"Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr	"Mburabuzi Umubare Bya Iminsi a Muyunguruzi... Icyinjijwe Byemewe"
 
-#: src/lang.c:2312
+#: src/lang.c:2319
 #, fuzzy
 msgid	"No. of days a filter entry is valid"
 msgstr	"Bya Iminsi a Muyunguruzi... Icyinjijwe ni Byemewe"
 
-#: src/lang.c:2313
+#: src/lang.c:2320
 #, fuzzy
 msgid	"# Number of days a short term filter will be active\n"
 msgstr	"#Bya Iminsi a Ijambo Muyunguruzi..."
 
-#: src/lang.c:2317
+#: src/lang.c:2324
 #, fuzzy
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	"Kuri Muyunguruzi..."
 
-#: src/lang.c:2318
+#: src/lang.c:2325
 #, fuzzy
 msgid	"Add posted articles to filter"
 msgstr	"Kuri Muyunguruzi..."
 
-#: src/lang.c:2319
+#: src/lang.c:2326
 #, fuzzy
 msgid	"# If ON add posted articles which start a new thread to filter for\n"
 	"# highlighting follow-ups\n"
 msgstr	"#Kongeramo Gutangira a Gishya Urudodo Kuri Muyunguruzi... Igaragaza cyane"
 
-#: src/lang.c:2323
+#: src/lang.c:2330
 #, fuzzy
 msgid	"The directory where articles/threads are to be saved in mailbox format."
 msgstr	"bushyinguro Kuri in Imiterere"
 
-#: src/lang.c:2324
+#: src/lang.c:2331
 #, fuzzy
 msgid	"Mail directory"
 msgstr	"bushyinguro"
 
-#: src/lang.c:2325
+#: src/lang.c:2332
 #, fuzzy
 msgid	"# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr	"#(-M bushyinguro in"
 
-#: src/lang.c:2330
+#: src/lang.c:2337
 #, fuzzy
 msgid	"Save articles in batch mode (-S)"
 msgstr	"Kubika in Ubwoko"
 
-#: src/lang.c:2331
+#: src/lang.c:2338
 #, fuzzy
 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	"#in Ubwoko Ryari: Kubika Cyangwa Ubutumwa ni ku i Komandi:"
 
-#: src/lang.c:2336
+#: src/lang.c:2343
 #, fuzzy
 msgid	"The directory where you want articles/threads saved."
 msgstr	"bushyinguro"
 
-#: src/lang.c:2337
+#: src/lang.c:2344
 #, fuzzy
 msgid	"Directory to save arts/threads in"
 msgstr	"Kuri Kubika in"
 
-#: src/lang.c:2338
+#: src/lang.c:2345
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	""
 
-#: src/lang.c:2342
+#: src/lang.c:2349
 #, fuzzy
 msgid	"Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> sets."
 msgstr	"Kubika Ingingo Urudodo ku Izina: Umutwempangano"
 
-#: src/lang.c:2343
+#: src/lang.c:2350
 #, fuzzy
 msgid	"Use Archive-name: header for save"
 msgstr	"Izina: Umutwempangano kugirango Kubika"
 
-#: src/lang.c:2344
+#: src/lang.c:2351
 #, fuzzy
 msgid	"# If ON articles/threads with Archive-name: in mail header will\n"
 	"# be automatically saved with the Archive-name & part/patch no.\n"
 msgstr	"#Na: Izina: in Ubutumwa Umutwempangano ku buryo bwikora Na: i Izina: Oya"
 
-#: src/lang.c:2349
+#: src/lang.c:2356
 #, fuzzy
 msgid	"Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 	"cancels."
 msgstr	"Nka Gusoma"
 
-#: src/lang.c:2350
+#: src/lang.c:2357
 #, fuzzy
 msgid	"Mark saved articles/threads as read"
 msgstr	"Nka Gusoma"
 
-#: src/lang.c:2351
+#: src/lang.c:2358
 #, fuzzy
 msgid	"# If ON mark articles that are saved as read\n"
 msgstr	"#Ikimenyetso Nka"
 
-#: src/lang.c:2355
+#: src/lang.c:2362
 #, fuzzy
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	"Iposita Inonosora Imigereka kugirango"
 
-#: src/lang.c:2356
+#: src/lang.c:2363
 msgid	"Post process saved articles"
 msgstr	""
 
-#: src/lang.c:2357
+#: src/lang.c:2364
 #, fuzzy
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# Possible values are (the default is marked with *):\n"
@@ -6547,116 +6529,116 @@ msgid	"# Perform post processing (saving
 msgstr	"#Iposita Inonosora Mu kubika Nyabibiri Imigereka Bivuye Uduciro i Mburabuzi "
 	"ni cy/ byagarajwe Na: 0 1. Igikonoshwa Ubushyinguro 2."
 
-#: src/lang.c:2366
+#: src/lang.c:2373
 #, fuzzy
 msgid	"Process only unread articles"
 msgstr	"Bidasomye"
 
-#: src/lang.c:2367
+#: src/lang.c:2374
 #, fuzzy
 msgid	"# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n"
 msgstr	"#Kubika Gucapa Ubutumwa Bidasomye"
 
-#: src/lang.c:2372
+#: src/lang.c:2379
 #, fuzzy
 msgid	"Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr	"Byose Cyangwa Bya Umutwempangano"
 
-#: src/lang.c:2373
+#: src/lang.c:2380
 #, fuzzy
 msgid	"Print all headers when printing"
 msgstr	"Byose Imitwe Ryari: Icapa..."
 
-#: src/lang.c:2374
+#: src/lang.c:2381
 #, fuzzy
 msgid	"# If ON print all of article header otherwise just the important lines\n"
 msgstr	"#Gucapa Byose Bya Ingingo Umutwempangano i By'ingirakamaro"
 
-#: src/lang.c:2378
+#: src/lang.c:2385
 #, fuzzy
 msgid	"The printer program with options that is to be used to print articles/threads."
 msgstr	"Mucapyi Porogaramu Na: Amahitamo ni Kuri Kuri Gucapa"
 
-#: src/lang.c:2379
+#: src/lang.c:2386
 #, fuzzy
 msgid	"Printer program with options"
 msgstr	"Porogaramu Na: Amahitamo"
 
-#: src/lang.c:2380
+#: src/lang.c:2387
 #, fuzzy
 msgid	"# Print program with parameters used to print articles/threads\n"
 msgstr	"#Porogaramu Na: Ibigenga Kuri Gucapa"
 
-#: src/lang.c:2386
+#: src/lang.c:2393
 #, fuzzy
 msgid	"Force redraw after certain commands"
 msgstr	"Kongera Gushushanya Nyuma Amabwiriza"
 
-#: src/lang.c:2387
+#: src/lang.c:2394
 #, fuzzy
 msgid	"# If ON a screen redraw will always be done after certain external commands\n"
 msgstr	"#a Mugaragaza Kongera Gushushanya Buri gihe Byakozwe Nyuma external"
 
-#: src/lang.c:2391
+#: src/lang.c:2398
 #, fuzzy
 msgid	"Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"Gutangira Muhinduzi Na: Umurongo Nta- boneza"
 
-#: src/lang.c:2392
+#: src/lang.c:2399
 #, fuzzy
 msgid	"Start editor with line offset"
 msgstr	"Gutangira Muhinduzi Na: Umurongo Nta- boneza"
 
-#: src/lang.c:2393
+#: src/lang.c:2400
 #, fuzzy
 msgid	"# If ON editor will be started with cursor offset into the file\n"
 	"# otherwise the cursor will be positioned at the first line\n"
 msgstr	"#Muhinduzi Na: indanga Nta- boneza i i indanga ku i Itangira"
 
-#: src/lang.c:2398
+#: src/lang.c:2405
 #, fuzzy
 msgid	"Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr	"kugirango Muhinduzi kugirango Izina ry'idosiye: kugirango Umurongo Umubare "
 	"Kuri Gushyiraho"
 
-#: src/lang.c:2399
+#: src/lang.c:2406
 #, fuzzy
 msgid	"Invocation of your editor"
 msgstr	"Bya Muhinduzi"
 
-#: src/lang.c:2400
+#: src/lang.c:2407
 #, fuzzy, c-format
 msgid	"# Format of editor line including parameters\n"
 	"# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr	"#Bya Muhinduzi Umurongo"
 
-#: src/lang.c:2405
+#: src/lang.c:2412
 #, fuzzy
 msgid	"Enter name and options for external-inews, --internal for internal inews"
 msgstr	"Izina: Na Amahitamo kugirango external By'imbere kugirango By'imbere"
 
-#: src/lang.c:2406
+#: src/lang.c:2413
 msgid	"External inews"
 msgstr	""
 
-#: src/lang.c:2407
+#: src/lang.c:2414
 #, fuzzy
 msgid	"# If --internal use the built in mini inews for posting via NNTP\n"
 	"# otherwise use an external inews program\n"
 msgstr	"#By'imbere Gukoresha i in kugirango Biturutse Gukoresha external"
 
-#: src/lang.c:2411
+#: src/lang.c:2418
 #, fuzzy
 msgid	"Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr	"kugirango Uwanditse kugirango Ikivugwaho kugirango Kuri kugirango Izina "
 	"ry'idosiye: Kuri Gushyiraho"
 
-#: src/lang.c:2412
+#: src/lang.c:2419
 #, fuzzy
 msgid	"Invocation of your mail command"
 msgstr	"Bya Ubutumwa Komandi:"
 
-#: src/lang.c:2413
+#: src/lang.c:2420
 #, fuzzy, c-format
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
@@ -6664,12 +6646,12 @@ msgid	"# Format of mailer line including
 	"# ie. elm interactive          :    elm -i %%F -s \"%%S\" \"%%T\"\n"
 msgstr	"#Bya Uwanditse Umurongo Kuri Gukoresha Nka Uwanditse S Biganira i S"
 
-#: src/lang.c:2421
+#: src/lang.c:2428
 #, fuzzy
 msgid	"Use interactive mail reader"
 msgstr	"Biganira Ubutumwa"
 
-#: src/lang.c:2422
+#: src/lang.c:2429
 #, fuzzy
 msgid	"# Interactive mailreader\n"
 	"# Possible values are (the default is marked with *):\n"
@@ -6679,68 +6661,68 @@ msgid	"# Interactive mailreader\n"
 msgstr	"#Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 Oya Biganira 1. Gukoresha "
 	"Biganira Na: Imitwe in 2. Gukoresha Biganira Imitwe in"
 
-#: src/lang.c:2431
+#: src/lang.c:2438
 #, fuzzy
 msgid	"Remove ~/.article after posting"
 msgstr	"Ingingo Nyuma"
 
-#: src/lang.c:2432
+#: src/lang.c:2439
 #, fuzzy
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	"#Gukuraho... Ingingo Nyuma"
 
-#: src/lang.c:2436
+#: src/lang.c:2443
 #, fuzzy
 msgid	"Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr	"kugirango Byose Oya Izina ry'idosiye: OYA Kubika"
 
-#: src/lang.c:2437
+#: src/lang.c:2444
 #, fuzzy
 msgid	"Filename for posted articles"
 msgstr	"kugirango"
 
-#: src/lang.c:2438
+#: src/lang.c:2445
 #, fuzzy
 msgid	"# Filename where to keep all postings (default posted)\n"
 	"# If no filename is set then postings will not be saved\n"
 msgstr	"#Kuri Gumana: Byose Mburabuzi Oya Izina ry'idosiye: ni Gushyiraho Hanyuma OYA"
 
-#: src/lang.c:2443
+#: src/lang.c:2450
 #, fuzzy
 msgid	"Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr	"Byose Byanze in"
 
-#: src/lang.c:2444
+#: src/lang.c:2451
 #, fuzzy
 msgid	"Keep failed arts in ~/dead.articles"
 msgstr	"Byanze in"
 
-#: src/lang.c:2445
+#: src/lang.c:2452
 #, fuzzy
 msgid	"# If ON keep all failed postings in ~/dead.articles\n"
 msgstr	"#Gumana: Byose Byanze in"
 
-#: src/lang.c:2449
+#: src/lang.c:2456
 #, fuzzy
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	"Kuri Amatsinda Bivuye"
 
-#: src/lang.c:2450
+#: src/lang.c:2457
 #, fuzzy
 msgid	"No unsubscribed groups in newsrc"
 msgstr	"Amatsinda in"
 
-#: src/lang.c:2451
+#: src/lang.c:2458
 #, fuzzy
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	"#Amatsinda Bivuye"
 
-#: src/lang.c:2456
+#: src/lang.c:2463
 #, fuzzy
 msgid	"Remove bogus groups from newsrc"
 msgstr	"Amatsinda Bivuye"
 
-#: src/lang.c:2457
+#: src/lang.c:2464
 #, fuzzy
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# Possible values are (the default is marked with *):\n"
@@ -6750,67 +6732,67 @@ msgid	"# What to do with bogus groups in
 msgstr	"#Kuri Na: Amatsinda in Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2. "
 	"garagaza cyane Na: ku Ihitamo"
 
-#: src/lang.c:2465
+#: src/lang.c:2472
 #, fuzzy
 msgid	"Enter number of seconds until active file will be reread. <CR> sets."
 msgstr	"Umubare Bya amasogonda Gikora IDOSIYE"
 
-#: src/lang.c:2466
+#: src/lang.c:2473
 #, fuzzy
 msgid	"Interval in secs to reread active"
 msgstr	"in Kuri Gikora"
 
-#: src/lang.c:2467
+#: src/lang.c:2474
 #, fuzzy
 msgid	"# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr	"#Intera in amasogonda hagati i Gikora IDOSIYE 0 Nta narimwe"
 
-#: src/lang.c:2472
+#: src/lang.c:2479
 #, fuzzy
 msgid	"Reconnect to server automatically"
 msgstr	"Kongerakwihuza Kuri Seriveri ku buryo bwikora"
 
-#: src/lang.c:2473
+#: src/lang.c:2480
 #, fuzzy
 msgid	"# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr	"#ku buryo bwikora Kuri Seriveri NIBA i Ukwihuza ni"
 
-#: src/lang.c:2477
+#: src/lang.c:2484
 #, fuzzy
 msgid	"Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr	"Amakopi Bya Incamake Idosiye"
 
-#: src/lang.c:2478
+#: src/lang.c:2485
 #, fuzzy
 msgid	"Cache NNTP overview files locally"
 msgstr	"Incamake Idosiye"
 
-#: src/lang.c:2479
+#: src/lang.c:2486
 #, fuzzy
 msgid	"# If ON, create local copies of NNTP overview files.\n"
 msgstr	"#Kurema Amakopi Bya Incamake Idosiye"
 
-#: src/lang.c:2483
+#: src/lang.c:2490
 #, fuzzy
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	"Imiterere Ikurikiranyanyuguti"
 
-#: src/lang.c:2484
+#: src/lang.c:2491
 #, fuzzy
 msgid	"Format string for display of dates"
 msgstr	"Ikurikiranyanyuguti kugirango Kugaragaza Bya Amatariki"
 
-#: src/lang.c:2485
+#: src/lang.c:2492
 #, fuzzy
 msgid	"# Format string for date representation\n"
 msgstr	"#Ikurikiranyanyuguti kugirango Itariki"
 
-#: src/lang.c:2491
+#: src/lang.c:2498
 #, fuzzy
 msgid	"Unicode normalization form"
 msgstr	"Ifishi"
 
-#: src/lang.c:2492
+#: src/lang.c:2499
 #, fuzzy
 msgid	"# Unicode normalization form\n"
 	"# Possible values are (the default is marked with *):\n"
@@ -6821,51 +6803,56 @@ msgid	"# Unicode normalization form\n"
 	"#   4 = NFD\n"
 msgstr	"#Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2. 3. 4."
 
-#: src/lang.c:2504
+#: src/lang.c:2511
 msgid	"Render BiDi"
 msgstr	""
 
-#: src/lang.c:2505
+#: src/lang.c:2512
 #, fuzzy
 msgid	"# If ON, bi-directional text is rendered by tin\n"
 msgstr	"#Umwandiko ni ku"
 
-#: src/misc.c:3693
+#: src/misc.c:3697
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\") %s %s\n"
 msgstr	""
 
-#: src/misc.c:3696
+#: src/misc.c:3700
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\")\n"
 msgstr	""
 
-#: src/newsrc.c:430
+#: src/newsrc.c:436
 msgid	"Unreachable?\n"
 msgstr	""
 
-#: src/nntplib.c:816
+#: src/nntplib.c:818
 #, fuzzy, c-format
 msgid	"\n"
 	"Server timed out, trying reconnect # %d\n"
 msgstr	"Inyuma"
 
-#: src/nntplib.c:834 src/nntplib.c:1644
+#: src/nntplib.c:836 src/nntplib.c:1708
 #, fuzzy
 msgid	"Rejoin current group\n"
 msgstr	"KIGEZWEHO"
 
 # svx/inc\globlmn.hrc:ITEM_FILE_MAIL_INBOX.text
-#: src/nntplib.c:841 src/nntplib.c:1651
+#: src/nntplib.c:844 src/nntplib.c:1716
 #, fuzzy, c-format
 msgid	"Read (%s)\n"
 msgstr	"Gusoma"
 
-#: src/nntplib.c:843
+#: src/nntplib.c:846
 #, fuzzy, c-format
 msgid	"Resend last command (%s)\n"
 msgstr	"Iheruka Komandi:"
 
+#. as a last resort check if post was mentioned
+#: src/nntplib.c:1131
+msgid	"CAPABILITIES did not announce any of READER, MODE-READER, POST"
+msgstr	""
+
 #.
 #. * TODO: - store a hash value of the entire motd in the server-rc
 #. *         and only if it differs from the old value display the
@@ -6873,59 +6860,58 @@ msgstr	"Iheruka Komandi:"
 #. *       - use some sort of pager?
 #. *       - -> lang.c
 #.
-#: src/nntplib.c:1783
+#: src/nntplib.c:1855
 msgid	"MOTD: "
 msgstr	""
 
-#: src/nrctbl.c:170
+#: src/nrctbl.c:173
 #, fuzzy, c-format
 msgid	"couldn't expand %s\n"
 msgstr	"Kwagura"
 
-#: src/post.c:1134
+#: src/post.c:1144
 #, c-format
 msgid	"Line %d is longer than 998 octets and should be folded, but\n"
 	"encoding is neither set to %s nor to %s\n"
 msgstr	""
 
-#: src/post.c:1139
+#: src/post.c:1149
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding 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"
 msgstr	""
 
-#: src/post.c:1141
+#: src/post.c:1151
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is not set to %s\n"
 msgstr	""
 
-#: src/post.c:1960
+#: src/post.c:1970
 #, fuzzy, c-format
 msgid	"Posting: %.*s ..."
 msgstr	"S"
 
 #. Check if okay to read
-#: src/read.c:191
+#: src/read.c:190
 #, fuzzy
 msgid	"Aborting read, please wait..."
 msgstr	"Gusoma Tegereza"
 
-#: src/read.c:338
+#: src/read.c:337
 msgid	"Aborted read\n"
 msgstr	""
 
-#: src/read.c:394
+#: src/read.c:393
 msgid	"Draining\n"
 msgstr	""
 
-#. Don't hash the initial '<'
-#: src/refs.c:251
+#: src/refs.c:248
 msgid	"unchanged"
 msgstr	""
 
-#: src/refs.c:609
+#: src/refs.c:549
 msgid	"[- Unavailable -]"
 msgstr	""
 
@@ -6933,7 +6919,7 @@ msgstr	""
 #. * preamble
 #. * TODO: -> lang.c
 #.
-#: src/rfc2047.c:1201
+#: src/rfc2047.c:1270
 #, fuzzy, c-format
 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 modified\n"
@@ -6942,7 +6928,7 @@ msgid	"This message has been composed in
 msgstr	"Ubutumwa in i Imiterere iyi Imbanziriza Ubutumwa OYA i Gishya Imiterere Na "
 	"Bya Gicurasi"
 
-#: src/save.c:964
+#: src/save.c:966
 #, fuzzy
 msgid	"bytes"
 msgstr	"Bayite"
@@ -6957,23 +6943,27 @@ msgstr	"Bidasomye"
 msgid	"all"
 msgstr	"Byose"
 
-#: src/select.c:549 src/select.c:551
+#: src/select.c:553 src/select.c:555
 #, fuzzy
 msgid	" R"
 msgstr	" R"
 
-#. TODO: use tin global 'homedir' instead? or even rcdir?
-#: src/xface.c:91
+#: src/xface.c:70
+#, fuzzy
+msgid	"Can't run slrnface: Not running in a xterm."
+msgstr	"Gukoresha Izina:"
+
+#: src/xface.c:82 src/xface.c:93 src/xface.c:102
 #, fuzzy, c-format
 msgid	"Can't run slrnface: Environment variable %s not found."
 msgstr	"Gukoresha IMPINDURAGACIRO OYA Byabonetse"
 
-#: src/xface.c:99 src/xface.c:131
+#: src/xface.c:111 src/xface.c:143
 #, fuzzy, c-format
 msgid	"Can't run slrnface: failed to create %s"
 msgstr	"Gukoresha Byanze Kuri Kurema"
 
-#: src/xface.c:109
+#: src/xface.c:121
 #, fuzzy
 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"
@@ -6990,17 +6980,33 @@ msgstr	"bushyinguro ni Kuri Kurema kugir
 	"Imigabane Bya a ISEGONDA NIBA i bushyinguro ni Bivuye Seriveri Idosiye "
 	"Byaremwe ku Seriveri ni OYA Kuri Gukuraho..."
 
-#: src/xface.c:123
+#: src/xface.c:135
 #, fuzzy
 msgid	"Can't run slrnface: couldn't construct fifo name."
 msgstr	"Gukoresha Izina:"
 
-#: src/xface.c:162
+#: src/xface.c:174
 #, fuzzy, c-format
 msgid	"Slrnface abnormally exited, code %d."
 msgstr	"ITEGEKONGENGA"
 
-#: src/xface.c:206
+#: src/xface.c:218
 #, fuzzy, c-format
 msgid	"Slrnface failed: %s."
 msgstr	"Byanze"
+
+#, fuzzy
+#~ msgid	"# include extra headers\n"
+#~ msgstr	"# Gushyiramo Birenga\n"
+
+#, fuzzy
+#~ msgid	"# in *sources* set post process type to shar only\n"
+#~ msgstr	"# in Gushyiraho Iposita Ubwoko Kuri\n"
+
+#, fuzzy
+#~ msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
+#~ msgstr	"# in Iposita Inonosora Gukuraho...\n"
+
+#, fuzzy
+#~ msgid	"# remove tmp files and set Followup-To: poster\n"
+#~ msgstr	"# Na Gushyiraho\n"
Binary files tin-1.9.2/po/sv.gmo and tin-1.9.3/po/sv.gmo differ
diff -Nurp tin-1.9.2/po/sv.po tin-1.9.3/po/sv.po
--- tin-1.9.2/po/sv.po	2007-02-01 14:02:45.000000000 +0100
+++ tin-1.9.3/po/sv.po	2008-05-06 18:46:07.000000000 +0200
@@ -6,7 +6,7 @@
 msgid	""
 msgstr	"Project-Id-Version: tin 1.8.0\n"
 	"Report-Msgid-Bugs-To: \n"
-	"POT-Creation-Date: 2007-02-01 14:02+0100\n"
+	"POT-Creation-Date: 2008-05-06 18:44+0200\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"
@@ -14,283 +14,257 @@ msgstr	"Project-Id-Version: tin 1.8.0\n"
 	"Content-Type: text/plain; charset=iso-8859-1\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1545
-#, c-format
-msgid	"%d Bad overview record (%d fields) '%s'"
-msgstr	""
-
-#: src/attrib.c:649
+#: src/attrib.c:700
 #, c-format
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	""
 
-#: src/attrib.c:650
+#: src/attrib.c:701
 #, c-format
-msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
+msgid	"#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	""
 
-#: src/attrib.c:651
+#: src/attrib.c:702
 #, c-format
-msgid	"#  maildir=STRING (ie. ~/Mail)\n"
+msgid	"#  maildir=STRING (eg. ~/Mail)\n"
 msgstr	""
 
-#: src/attrib.c:652
+#: src/attrib.c:703
 #, c-format
-msgid	"#  savedir=STRING (ie. ~user/News)\n"
+msgid	"#  savedir=STRING (eg. ~user/News)\n"
 msgstr	""
 
-#: src/attrib.c:653
+#: src/attrib.c:704
 #, c-format
-msgid	"#  savefile=STRING (ie. =linux)\n"
+msgid	"#  savefile=STRING (eg. =linux)\n"
 msgstr	""
 
-#: src/attrib.c:654
+#: src/attrib.c:705
 #, c-format
-msgid	"#  sigfile=STRING (ie. $var/sig)\n"
+msgid	"#  sigfile=STRING (eg. $var/sig)\n"
 msgstr	""
 
-#: src/attrib.c:655
+#: src/attrib.c:706
 #, c-format
 msgid	"#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr	""
 
-#: src/attrib.c:656
+#: src/attrib.c:707
 #, c-format
 msgid	"#  followup_to=STRING\n"
 msgstr	""
 
-#: src/attrib.c:657
+#: src/attrib.c:708
 #, c-format
-msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
+msgid	"#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr	""
 
-#: src/attrib.c:658
+#: src/attrib.c:709
 #, c-format
-msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
+msgid	"#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr	""
 
-#: src/attrib.c:659
+#: src/attrib.c:710
 #, c-format
-msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
+msgid	"#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr	""
 
-#: src/attrib.c:660
+#: src/attrib.c:711
 #, c-format
 msgid	"#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr	""
 
-#: src/attrib.c:661
+#: src/attrib.c:712
 #, c-format
 msgid	"#  news_quote_format=STRING\n"
 msgstr	""
 
-#: src/attrib.c:662
+#: src/attrib.c:713
 #, c-format
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	""
 
-#: src/attrib.c:663
+#: src/attrib.c:714
 #, c-format
 msgid	"#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr	""
 
-#: src/attrib.c:665
+#: src/attrib.c:716
 #, c-format
 msgid	"#  ispell=STRING\n"
 msgstr	""
 
-#: src/attrib.c:667
+#: src/attrib.c:718
 #, c-format
 msgid	"#  auto_select=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:668
+#: src/attrib.c:719
 #, c-format
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:669
+#: src/attrib.c:720
 #, c-format
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:670
+#: src/attrib.c:721
 #, c-format
 msgid	"#  delete_tmp_files=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:671
+#: src/attrib.c:722
 #, c-format
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:672
+#: src/attrib.c:723
 #, c-format
 msgid	"#  thread_arts=NUM"
 msgstr	""
 
-#: src/attrib.c:679
+#: src/attrib.c:730
 #, c-format
 msgid	"#  thread_perc=NUM\n"
 msgstr	""
 
-#: src/attrib.c:680
+#: src/attrib.c:731
 #, c-format
 msgid	"#  show_author=NUM\n"
 msgstr	""
 
-#: src/attrib.c:686
+#: src/attrib.c:737
 #, c-format
 msgid	"#  show_info=NUM\n"
 msgstr	""
 
-#: src/attrib.c:692
+#: src/attrib.c:743
 #, c-format
 msgid	"#  sort_art_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:710
+#: src/attrib.c:761
 #, c-format
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:718
+#: src/attrib.c:769
 #, c-format
 msgid	"#  post_proc_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:723
+#: src/attrib.c:774
 #, c-format
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	""
 
-#: src/attrib.c:724
+#: src/attrib.c:775
 #, c-format
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:725
+#: src/attrib.c:776
 #, c-format
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:726
+#: src/attrib.c:777
 #, c-format
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	""
 
-#: src/attrib.c:727 src/attrib.c:734
+#: src/attrib.c:778 src/attrib.c:785
 #, c-format
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	""
 
-#: src/attrib.c:728 src/attrib.c:735
+#: src/attrib.c:779 src/attrib.c:786
 #, c-format
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	""
 
-#: src/attrib.c:729 src/attrib.c:736
+#: src/attrib.c:780 src/attrib.c:787
 #, c-format
 msgid	"#    4=msgid 5=lines\n"
 msgstr	""
 
-#: src/attrib.c:730
+#: src/attrib.c:781
 #, c-format
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	""
 
-#: src/attrib.c:731
+#: src/attrib.c:782
 #, c-format
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:732
+#: src/attrib.c:783
 #, c-format
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:733
+#: src/attrib.c:784
 #, c-format
 msgid	"#  quick_select_header=NUM\n"
 msgstr	""
 
-#: src/attrib.c:737
+#: src/attrib.c:788
 #, c-format
 msgid	"#  x_comment_to=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:738
+#: src/attrib.c:789
 #, c-format
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	""
 
-#: src/attrib.c:739
+#: src/attrib.c:790
 #, c-format
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:740
+#: src/attrib.c:791
 #, c-format
 msgid	"#  mime_forward=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:742
+#: src/attrib.c:793
 #, c-format
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	""
 
-#: src/attrib.c:749
+#: src/attrib.c:800
 #, c-format
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	""
 
-#: src/attrib.c:751
+#: src/attrib.c:802
 #, c-format
 msgid	"#\n"
 	"# Note that it is best to put general (global scoping)\n"
 msgstr	""
 
-#: src/attrib.c:752
+#: src/attrib.c:803
 #, c-format
 msgid	"# entries first followed by group specific entries.\n"
 	"#\n"
 msgstr	""
 
-#: src/attrib.c:753
+#: src/attrib.c:804
 #, c-format
 msgid	"############################################################################\n"
-	"\n"
 msgstr	""
 
-#: src/attrib.c:759
-#, c-format
-msgid	"# include extra headers\n"
-msgstr	""
-
-#: src/attrib.c:767
-#, c-format
-msgid	"# in *sources* set post process type to shar only\n"
-msgstr	""
-
-#: src/attrib.c:771
-#, c-format
-msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
-msgstr	""
-
-#: src/attrib.c:772
-#, c-format
-msgid	"# remove tmp files and set Followup-To: poster\n"
-msgstr	""
-
-#: src/cook.c:559
+#: src/cook.c:558
 msgid	"(unknown)"
 msgstr	"(okänd)"
 
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:597 src/filter.c:605
+#: src/filter.c:592 src/filter.c:600
 msgid	"Removed from the previous rule: "
 msgstr	""
 
@@ -392,477 +366,482 @@ msgstr	"Artikel ej tillgänglig"
 msgid	"Article undeleted."
 msgstr	""
 
-#: src/lang.c:66
+#: src/lang.c:65
+#, fuzzy, c-format
+msgid	"Article %4d of %4d"
+msgstr	"Artikel %4d of %4d"
+
+#: src/lang.c:67
 msgid	"articles"
 msgstr	"artiklar"
 
-#: src/lang.c:67
+#: src/lang.c:68
 msgid	"This is a repost of the following article:"
 msgstr	""
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid	"article"
 msgstr	"artikel"
 
-#: src/lang.c:69
+#: src/lang.c:70
 msgid	"Article"
 msgstr	"Artikel"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid	"-- %d %s mailed --"
 msgstr	""
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid	" at %s"
 msgstr	" den %s"
 
-#: src/lang.c:72
+#: src/lang.c:73
 #, c-format
 msgid	"%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n"
 msgstr	"%*s[-- %s/%s, kodar %s%s%s, %d rader%s%s --]\n"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid	", charset: "
 msgstr	", teckenuppsättning: "
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid	"%*s[-- Description: %s --]\n"
 msgstr	"%*s[-- Beskrivning: %s --]\n"
 
-#: src/lang.c:75
+#: src/lang.c:76
 #, c-format
 msgid	"%d Authentication failed"
 msgstr	"%d Autentisering misslyckades"
 
-#: src/lang.c:76
+#: src/lang.c:77
 msgid	"Server expects authentication.\n"
 msgstr	""
 
-#: src/lang.c:77
+#: src/lang.c:78
 msgid	"    Please enter password: "
 msgstr	"    Ange lösenord: "
 
-#: src/lang.c:78
+#: src/lang.c:79
 msgid	"    Please enter username: "
 msgstr	"    Vänligen ange användarnamn: "
 
-#: src/lang.c:79
+#: src/lang.c:80
 #, c-format
 msgid	"Author search backwards [%s]> "
 msgstr	""
 
-#: src/lang.c:80
+#: src/lang.c:81
 #, c-format
 msgid	"Author search forwards [%s]> "
 msgstr	""
 
-#: src/lang.c:81
+#: src/lang.c:82
 #, c-format
 msgid	"Authorized for user: %s\n"
 msgstr	""
 
-#: src/lang.c:82
+#: src/lang.c:83
 #, c-format
 msgid	"Authorization failed for user: %s\n"
 msgstr	""
 
-#: src/lang.c:83
+#: src/lang.c:84
 #, c-format
 msgid	"\n"
 	"Autosubscribed to %s"
 msgstr	""
 
-#: src/lang.c:84
+#: src/lang.c:85
 msgid	"Autosubscribing groups...\n"
 msgstr	""
 
-#: src/lang.c:85
+#: src/lang.c:86
 #, c-format
 msgid	"Autoselecting articles (use '%s' to see all unread) ..."
 msgstr	""
 
-#: src/lang.c:87
+#: src/lang.c:88
 #, c-format
 msgid	"Active file corrupt - %s"
 msgstr	""
 
-#: src/lang.c:88
+#: src/lang.c:89
 #, c-format
 msgid	"Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr	""
 
-#: src/lang.c:89
+#: src/lang.c:90
 #, c-format
 msgid	"Unrecognized attribute: %s"
 msgstr	""
 
-#: src/lang.c:90
+#: src/lang.c:91
 #, c-format
 msgid	"Bad command. Type '%s' for help."
 msgstr	"Felaktigt kommando. Skriv \"%s\" för hjälp."
 
-#: src/lang.c:92
+#: src/lang.c:93
 msgid	"Base article"
 msgstr	""
 
-#: src/lang.c:93
+#: src/lang.c:94
 msgid	"Base article range"
 msgstr	""
 
-#: src/lang.c:94
+#: src/lang.c:95
 #, c-format
 msgid	"%s: Updating of index files not supported\n"
 msgstr	""
 
-#: src/lang.c:95
+#: src/lang.c:96
 msgid	"*** Beginning of article ***"
 msgstr	"*** Början av artikel ***"
 
-#: src/lang.c:97
+#: src/lang.c:98
 #, c-format
 msgid	"Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr	""
 
-#: src/lang.c:98
+#: src/lang.c:99
 msgid	"Cancelling article..."
 msgstr	""
 
-#: src/lang.c:100
+#: src/lang.c:101
 #, c-format
 msgid	"Cannot create %s"
 msgstr	"Kan inte skapa %s"
 
-#: src/lang.c:101
+#: src/lang.c:102
 #, c-format
 msgid	"Can't find base article %d"
 msgstr	""
 
-#: src/lang.c:102
+#: src/lang.c:103
 #, c-format
 msgid	"Can't open %s"
 msgstr	"Kan inte öppna %s"
 
-#: src/lang.c:103
+#: src/lang.c:104
 #, c-format
 msgid	"Couldn't open %s for saving"
 msgstr	""
 
-#: src/lang.c:104
+#: src/lang.c:105
 msgid	"*** Posting not allowed ***"
 msgstr	"*** Postning inte tillåten ***"
 
-#: src/lang.c:105
+#: src/lang.c:106
 #, c-format
 msgid	"Posting is not allowed to %s"
 msgstr	""
 
-#: src/lang.c:106
+#: src/lang.c:107
 #, c-format
 msgid	"Can't retrieve %s"
 msgstr	""
 
-#: src/lang.c:107
+#: src/lang.c:108
 #, c-format
 msgid	"%s is a directory"
 msgstr	"%s är en katalog"
 
-#: src/lang.c:108
+#: src/lang.c:109
 msgid	"Catchup"
 msgstr	""
 
-#: src/lang.c:109
+#: src/lang.c:110
 #, c-format
 msgid	"Catchup %s..."
 msgstr	""
 
-#: src/lang.c:110
+#: src/lang.c:111
 msgid	"Catchup all groups entered during this session?"
 msgstr	""
 
-#: src/lang.c:111
+#: src/lang.c:112
 msgid	"You have tagged articles in this group - catchup anyway?"
 msgstr	""
 
-#: src/lang.c:112
+#: src/lang.c:113
 #, c-format
 msgid	"%s %d %s in %lu seconds\n"
 msgstr	""
 
-#: src/lang.c:113
+#: src/lang.c:114
 msgid	"Caughtup"
 msgstr	""
 
-#: src/lang.c:114
+#: src/lang.c:115
 msgid	"Check Prepared Article"
 msgstr	""
 
-#: src/lang.c:115
+#: src/lang.c:116
 msgid	"Checking for new groups... "
 msgstr	"Letar efter nya grupper..."
 
-#: src/lang.c:116
+#: src/lang.c:117
 msgid	"Checking for news..."
 msgstr	""
 
-#: src/lang.c:117
+#: src/lang.c:118
 #, c-format
 msgid	"Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr	""
 
-#: src/lang.c:119
+#: src/lang.c:120
 msgid	"ANSI color disabled"
 msgstr	""
 
-#: src/lang.c:120
+#: src/lang.c:121
 msgid	"ANSI color enabled"
 msgstr	""
 
-#: src/lang.c:122
+#: src/lang.c:123
 #, c-format
 msgid	"Command failed: %s"
 msgstr	"Kommando misslyckades: %s"
 
-#: src/lang.c:123
+#: src/lang.c:124
 msgid	"Mark not selected articles read?"
 msgstr	""
 
-#: src/lang.c:124
+#: src/lang.c:125
 #, c-format
 msgid	"Connecting to %s..."
 msgstr	"Ansluter till %s..."
 
-#: src/lang.c:125
+#: src/lang.c:126
 msgid	"<CR>"
 msgstr	""
 
-#: src/lang.c:126
+#: src/lang.c:127
 msgid	"Creating active file for saved groups...\n"
 msgstr	""
 
-#: src/lang.c:127
+#: src/lang.c:128
 msgid	"Creating newsrc file...\n"
 msgstr	""
 
-#: src/lang.c:129 src/lang.c:1150
+#: src/lang.c:130 src/lang.c:1150
 msgid	"Default"
 msgstr	"Förvald"
 
-#: src/lang.c:130
+#: src/lang.c:131
 msgid	"Delete saved files that have been post processed?"
 msgstr	""
 
-#: src/lang.c:131
+#: src/lang.c:132
 msgid	"Deleting temporary files..."
 msgstr	""
 
-#: src/lang.c:133
+#: src/lang.c:134
 msgid	"*** End of article ***"
 msgstr	"*** Slut på artikel ***"
 
-#: src/lang.c:134
+#: src/lang.c:135
 msgid	"*** End of articles ***"
 msgstr	"*** Slut på artiklar ***"
 
-#: src/lang.c:135
+#: src/lang.c:136
 msgid	"*** End of groups ***"
 msgstr	"*** Slut på grupper ***"
 
-#: src/lang.c:136
+#: src/lang.c:137
 msgid	"*** End of thread ***"
 msgstr	"*** Slut på tråd ***"
 
-#: src/lang.c:137
+#: src/lang.c:138
 msgid	"Enter limit of articles to get> "
 msgstr	""
 
-#: src/lang.c:138
+#: src/lang.c:139
 msgid	"Enter Message-ID to go to> "
 msgstr	""
 
-#: src/lang.c:139
+#: src/lang.c:140
 msgid	" and enter next unread thread"
 msgstr	""
 
-#: src/lang.c:140
+#: src/lang.c:141
 msgid	" and enter next unread group"
 msgstr	""
 
-#: src/lang.c:141
+#: src/lang.c:142
 msgid	"Enter option number> "
 msgstr	""
 
-#: src/lang.c:142
+#: src/lang.c:143
 #, c-format
 msgid	"Enter range [%s]> "
 msgstr	""
 
-#: src/lang.c:143
+#: src/lang.c:144
 msgid	"\n"
 	"Warning: Approved: header used.\n"
 msgstr	""
 
-#: src/lang.c:145
+#: src/lang.c:146
 msgid	"\n"
 	"Error: Bad address in Approved: header.\n"
 msgstr	""
 
-#: src/lang.c:146
+#: src/lang.c:147
 msgid	"\n"
 	"Error: Bad address in From: header.\n"
 msgstr	""
 
-#: src/lang.c:147
+#: src/lang.c:148
 msgid	"\n"
 	"Error: Bad address in Reply-To: header.\n"
 msgstr	""
 
-#: src/lang.c:148
+#: src/lang.c:149
 msgid	"\n"
 	"Error: Bad FQDN in Message-ID: header.\n"
 msgstr	""
 
-#: src/lang.c:149
+#: src/lang.c:150
 #, c-format
 msgid	"Can't unlock %s"
 msgstr	"Kan inte låsa upp %s"
 
-#: src/lang.c:151
+#: src/lang.c:152
 #, c-format
 msgid	"Corrupted file %s"
 msgstr	"Skadad fil %s"
 
-#: src/lang.c:152
+#: src/lang.c:153
 #, c-format
 msgid	"Couldn't dotlock %s - article not appended!"
 msgstr	""
 
-#: src/lang.c:153
+#: src/lang.c:154
 #, c-format
 msgid	"Couldn't lock %s - article not appended!"
 msgstr	""
 
-#: src/lang.c:155
+#: src/lang.c:156
 msgid	"Internal error in GNKSA routine - send bug report.\n"
 msgstr	""
 
-#: src/lang.c:156
+#: src/lang.c:157
 msgid	"Left angle bracket missing in route address.\n"
 msgstr	""
 
-#: src/lang.c:157
+#: src/lang.c:158
 msgid	"Left parenthesis missing in old-style address.\n"
 msgstr	""
 
-#: src/lang.c:158
+#: src/lang.c:159
 msgid	"Right parenthesis missing in old-style address.\n"
 msgstr	""
 
-#: src/lang.c:159
+#: src/lang.c:160
 msgid	"At-sign missing in mail address.\n"
 msgstr	""
 
-#: src/lang.c:160
+#: src/lang.c:161
 msgid	"Single component FQDN is not allowed. Add your domain.\n"
 msgstr	""
 
-#: src/lang.c:161
+#: src/lang.c:162
 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:162
+#: src/lang.c:163
 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:163
+#: src/lang.c:164
 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:164
+#: src/lang.c:165
 msgid	"Illegal character in FQDN.\n"
 msgstr	""
 
-#: src/lang.c:165
+#: src/lang.c:166
 msgid	"Zero length FQDN component not allowed.\n"
 msgstr	""
 
-#: src/lang.c:166
+#: src/lang.c:167
 msgid	"FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr	""
 
-#: src/lang.c:167
+#: src/lang.c:168
 msgid	"FQDN component may not start or end with hyphen.\n"
 msgstr	""
 
-#: src/lang.c:168
+#: src/lang.c:169
 msgid	"FQDN component may not start with digit.\n"
 msgstr	""
 
-#: src/lang.c:169
+#: src/lang.c:170
 msgid	"Domain literal has impossible numeric value.\n"
 msgstr	""
 
-#: src/lang.c:170
+#: src/lang.c:171
 msgid	"Domain literal is for private use only and not allowed for global use.\n"
 msgstr	""
 
-#: src/lang.c:171
+#: src/lang.c:172
 msgid	"Right bracket missing in domain literal.\n"
 msgstr	""
 
-#: src/lang.c:172
+#: src/lang.c:173
 msgid	"Missing localpart of mail address.\n"
 msgstr	""
 
-#: src/lang.c:173
+#: src/lang.c:174
 msgid	"Illegal character in localpart of mail address.\n"
 msgstr	""
 
-#: src/lang.c:174
+#: src/lang.c:175
 msgid	"Zero length localpart component not allowed.\n"
 msgstr	""
 
-#: src/lang.c:175
+#: src/lang.c:176
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr	""
 
-#: src/lang.c:176
+#: src/lang.c:177
 msgid	"Illegal character in realname.\n"
 	"Quoted words may not contain '()<>\\'.\n"
 msgstr	""
 
-#: src/lang.c:177
+#: src/lang.c:178
 msgid	"Illegal character in realname.\n"
 	"Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr	""
 
-#: src/lang.c:178
+#: src/lang.c:179
 msgid	"Bad syntax in encoded word used in realname.\n"
 msgstr	""
 
-#: src/lang.c:179
+#: src/lang.c:180
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr	""
 
-#: src/lang.c:180
+#: src/lang.c:181
 msgid	"Illegal character in realname.\n"
 	"Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr	""
 
-#: src/lang.c:181
+#: src/lang.c:182
 msgid	"\n"
 	"Error: No blank line found after header.\n"
 msgstr	""
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:183
+#: src/lang.c:184
 msgid	"\n"
 	"Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
 	"       US-ASCII  - please change this setting to a suitable value for\n"
@@ -870,7 +849,7 @@ msgid	"\n"
 	"       editing tinrc.\n"
 msgstr	""
 
-#: src/lang.c:188
+#: src/lang.c:189
 msgid	"\n"
 	"Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
 	"       for news  messages  is set  to \"7bit\"  -  please change this\n"
@@ -879,180 +858,180 @@ msgid	"\n"
 	"       using the M)enu of configurable options or by editing tinrc.\n"
 msgstr	""
 
-#: src/lang.c:194
+#: src/lang.c:195
 msgid	"\n"
 	"Error: Article starts with blank line instead of header\n"
 msgstr	""
 
-#: src/lang.c:195
+#: src/lang.c:196
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a colon after the header name:\n"
 	"%s\n"
 msgstr	""
 
-#: src/lang.c:196
+#: src/lang.c:197
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is empty.\n"
 msgstr	""
 
-#: src/lang.c:197
+#: src/lang.c:198
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is missing from the article header.\n"
 msgstr	""
 
-#: src/lang.c:198
+#: src/lang.c:199
 #, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a space after the colon:\n"
 	"%s\n"
 msgstr	""
 
-#: src/lang.c:199
+#: src/lang.c:200
 #, c-format
 msgid	"\n"
 	"Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr	""
 
-#: src/lang.c:200
+#: src/lang.c:201
 #, c-format
 msgid	"Insecure permissions of %s (%o)"
 msgstr	""
 
-#: src/lang.c:201
+#: src/lang.c:202
 #, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	""
 
-#: src/lang.c:203
+#: src/lang.c:204
 #, c-format
 msgid	"MIME parse error: Unexpected end of %s/%s article"
 msgstr	""
 
-#: src/lang.c:204
+#: src/lang.c:205
 msgid	"MIME parse error: Start boundary whilst reading headers"
 msgstr	""
 
-#: src/lang.c:205
+#: src/lang.c:206
 msgid	"Can't get a (fully-qualified) domain-name!"
 msgstr	""
 
-#: src/lang.c:206
+#: src/lang.c:207
 #, c-format
 msgid	"No permissions to go into %s\n"
 msgstr	"Inga rättigheter att gå in i %s\n"
 
-#: src/lang.c:207
+#: src/lang.c:208
 msgid	"\n"
 	"Error: From: line missing.\n"
 msgstr	""
 
-#: src/lang.c:208
+#: src/lang.c:209
 #, c-format
 msgid	"No read permissions for %s\n"
 msgstr	"Inga läsrättigheter för %s\n"
 
-#: src/lang.c:209
+#: src/lang.c:210
 #, c-format
 msgid	"File %s does not exist\n"
 msgstr	"Filen %s existerar inte\n"
 
-#: src/lang.c:210
+#: src/lang.c:211
 #, c-format
 msgid	"No write permissions for %s\n"
 msgstr	"Inga skrivrättigheter för %s\n"
 
-#: src/lang.c:211
+#: src/lang.c:212
 msgid	"Can't get user information (/etc/passwd missing?)"
 msgstr	""
 
-#: src/lang.c:212
+#: src/lang.c:213
 msgid	"errors"
 msgstr	"fel"
 
-#: src/lang.c:213
+#: src/lang.c:214
 #, c-format
 msgid	"\n"
 	"Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 msgstr	""
 
-#: src/lang.c:214
+#: src/lang.c:215
 #, c-format
 msgid	"Server has non of the groups listed in %s"
 msgstr	""
 
-#: src/lang.c:215
+#: src/lang.c:216
 msgid	"error"
 msgstr	"fel"
 
-#: src/lang.c:216
+#: src/lang.c:217
 msgid	"Unknown display level"
 msgstr	""
 
-#: src/lang.c:217
+#: src/lang.c:218
 msgid	"<ESC>"
 msgstr	"<ESC>"
 
-#: src/lang.c:218
+#: src/lang.c:219
 msgid	"Exiting..."
 msgstr	"Avslutar..."
 
-#: src/lang.c:219
+#: src/lang.c:220
 msgid	"leaving external mail-reader"
 msgstr	""
 
-#: src/lang.c:220
+#: src/lang.c:221
 #, c-format
 msgid	"Extracting %s..."
 msgstr	"extraherar %s..."
 
-#: src/lang.c:222
+#: src/lang.c:223
 #, c-format
 msgid	"Error writing %s file. Filesystem full? File reset to previous state."
 msgstr	""
 
-#: src/lang.c:223
+#: src/lang.c:224
 #, c-format
 msgid	"Error making backup of %s file. Filesystem full?"
 msgstr	""
 
-#: src/lang.c:224
+#: src/lang.c:225
 #, c-format
 msgid	"Filtering global rules (%d/%d)..."
 msgstr	""
 
-#: src/lang.c:225
+#: src/lang.c:226
 msgid	"Rule created by: "
 msgstr	""
 
-#: src/lang.c:226
+#: src/lang.c:227
 #, c-format
 msgid	"Enter pattern [%s]> "
 msgstr	"Ange mönster [%s]> "
 
-#: src/lang.c:227
+#: src/lang.c:228
 #, c-format
 msgid	"\n"
 	"You requested followups to your article to go to the following %s:\n"
 msgstr	""
 
-#: src/lang.c:228
+#: src/lang.c:229
 #, c-format
 msgid	"  %s\t Answers will be directed to you by mail.\n"
 msgstr	""
 
-#: src/lang.c:229
+#: src/lang.c:230
 msgid	"-- forwarded message --\n"
 msgstr	"-- vidarebefordrat meddelande --\n"
 
-#: src/lang.c:230
+#: src/lang.c:231
 #, fuzzy
 msgid	"-- end of forwarded message --\n"
 msgstr	"Vidarebefordrat meddelande (slut)\n"
 
-#: src/lang.c:231
+#: src/lang.c:232
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
 	"placed\n"
@@ -1081,746 +1060,746 @@ msgid	"# Format:\n"
 	"#\n"
 msgstr	""
 
-#: src/lang.c:252
+#: src/lang.c:253
 #, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	""
 
-#: src/lang.c:253
+#: src/lang.c:254
 #, c-format
 msgid	"Enter the score weight (range 0 < score <= %d)"
 msgstr	""
 
 #. SCORE_MAX
-#: src/lang.c:254
+#: src/lang.c:255
 msgid	"Full"
 msgstr	"Fullständig"
 
-#: src/lang.c:255
+#: src/lang.c:256
 msgid	"Comment (optional)  : "
 msgstr	"Kommentar (valfri)  : "
 
-#: src/lang.c:256
+#: src/lang.c:257
 msgid	"Apply pattern to    : "
 msgstr	""
 
-#: src/lang.c:257
+#: src/lang.c:258
 msgid	"From: line (ignore case)      "
 msgstr	""
 
-#: src/lang.c:258
+#: src/lang.c:259
 msgid	"From: line (case sensitive)   "
 msgstr	""
 
-#: src/lang.c:260
+#: src/lang.c:261
 #, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	"%s%s: Okänd värd.\n"
 
-#: src/lang.c:261
+#: src/lang.c:262
 msgid	"global "
 msgstr	"global "
 
-#: src/lang.c:262
+#: src/lang.c:263
 #, c-format
 msgid	"Please use %.100s instead"
 msgstr	"Vänligen använd %.100s istället"
 
-#: src/lang.c:263
+#: src/lang.c:264
 #, c-format
 msgid	"%s is bogus"
 msgstr	""
 
-#: src/lang.c:264
+#: src/lang.c:265
 #, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	"Grupp %s är modererad. Fortsätta?"
 
-#: src/lang.c:265
+#: src/lang.c:266
 msgid	"groups"
 msgstr	"grupper"
 
-#: src/lang.c:266
+#: src/lang.c:267
 #, c-format
 msgid	"Rereading %s..."
 msgstr	"Läser om %s..."
 
-#: src/lang.c:267
+#: src/lang.c:268
 msgid	"Top Level Commands"
 msgstr	"Toppnivåkommandon"
 
-#: src/lang.c:268
+#: src/lang.c:269
 msgid	"Group Selection"
 msgstr	"Gruppval"
 
-#: src/lang.c:269
+#: src/lang.c:270
 msgid	"group"
 msgstr	"grupp"
 
-#: src/lang.c:271
+#: src/lang.c:272
 msgid	"One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr	""
 
-#: src/lang.c:272
+#: src/lang.c:273
 msgid	"From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:273
+#: src/lang.c:274
 msgid	"Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr	""
 
-#: src/lang.c:274
+#: src/lang.c:275
 msgid	"Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:275
+#: src/lang.c:276
 msgid	"Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:276
+#: src/lang.c:277
 msgid	"Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr	""
 
-#: src/lang.c:277
+#: src/lang.c:278
 msgid	"Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:278
+#: src/lang.c:279
 msgid	"Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:279
+#: src/lang.c:280
 msgid	"Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:280
+#: src/lang.c:281
 msgid	"Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:281
+#: src/lang.c:282
 msgid	"kill an article via a menu"
 msgstr	""
 
-#: src/lang.c:282
+#: src/lang.c:283
 msgid	"auto-select (hot) an article via a menu"
 msgstr	""
 
-#: src/lang.c:283
+#: src/lang.c:284
 msgid	"Browse URLs in article"
 msgstr	"Bläddra URL:er i artikel"
 
-#: src/lang.c:284
+#: src/lang.c:285
 msgid	"0 - 9\t  display article by number in current thread"
 msgstr	""
 
-#: src/lang.c:285
+#: src/lang.c:286
 msgid	"cancel (delete) or supersede (overwrite) current article"
 msgstr	""
 
-#: src/lang.c:286
+#: src/lang.c:287
 msgid	"edit article (mail-groups only)"
 msgstr	""
 
-#: src/lang.c:287
+#: src/lang.c:288
 msgid	"display first article in current thread"
 msgstr	""
 
-#: src/lang.c:288
+#: src/lang.c:289
 msgid	"display first page of article"
 msgstr	""
 
-#: src/lang.c:289
+#: src/lang.c:290
 msgid	"post followup to current article"
 msgstr	""
 
-#: src/lang.c:290
+#: src/lang.c:291
 msgid	"post followup (don't copy text) to current article"
 msgstr	""
 
-#: src/lang.c:291
+#: src/lang.c:292
 msgid	"post followup to current article quoting complete headers"
 msgstr	""
 
-#: src/lang.c:292
+#: src/lang.c:293
 msgid	"display last article in current thread"
 msgstr	""
 
-#: src/lang.c:293
+#: src/lang.c:294
 msgid	"display last page of article"
 msgstr	"visa sista sidan av artikel"
 
-#: src/lang.c:294
+#: src/lang.c:295
 msgid	"mark rest of thread as read and advance to next unread"
 msgstr	""
 
-#: src/lang.c:295
+#: src/lang.c:296
 msgid	"display next article"
 msgstr	"visa nästa artikel"
 
-#: src/lang.c:296
+#: src/lang.c:297
 msgid	"display first article in next thread"
 msgstr	"visa första artikel i nästa tråd"
 
-#: src/lang.c:297
+#: src/lang.c:298
 msgid	"display next unread article"
 msgstr	"visa nästa olästa artikel"
 
-#: src/lang.c:298
+#: src/lang.c:299
 msgid	"go to the article that this one followed up"
 msgstr	""
 
-#: src/lang.c:299
+#: src/lang.c:300
 msgid	"display previous article"
 msgstr	"visa föregående artikel"
 
-#: src/lang.c:300
+#: src/lang.c:301
 msgid	"display previous unread article"
 msgstr	"visa föregående olästa artikel"
 
-#: src/lang.c:301
+#: src/lang.c:302
 msgid	"quickly kill an article using defaults"
 msgstr	""
 
-#: src/lang.c:302
+#: src/lang.c:303
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	""
 
-#: src/lang.c:303
+#: src/lang.c:304
 msgid	"return to group selection level"
 msgstr	"återgå till gruppvalsnivå"
 
-#: src/lang.c:304
+#: src/lang.c:305
 msgid	"reply through mail to author"
 msgstr	""
 
-#: src/lang.c:305
+#: src/lang.c:306
 msgid	"reply through mail (don't copy text) to author"
 msgstr	""
 
-#: src/lang.c:306
+#: src/lang.c:307
 msgid	"reply through mail to author quoting complete headers"
 msgstr	""
 
-#: src/lang.c:307
+#: src/lang.c:308
 msgid	"repost chosen article to another group"
 msgstr	""
 
-#: src/lang.c:308
+#: src/lang.c:309
 msgid	"search backwards within this article"
 msgstr	""
 
-#: src/lang.c:309
+#: src/lang.c:310
 msgid	"search forwards within this article"
 msgstr	"sök framåt inom denna artikel"
 
-#: src/lang.c:310
+#: src/lang.c:311
 msgid	"show article in raw-mode (including all headers)"
 msgstr	""
 
-#: src/lang.c:311
+#: src/lang.c:312
 msgid	"skip next block of included text"
 msgstr	""
 
-#: src/lang.c:312
+#: src/lang.c:313
 msgid	"toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr	""
 
-#: src/lang.c:313
+#: src/lang.c:314
 msgid	"toggle word highlighting on/off"
 msgstr	""
 
-#: src/lang.c:314
+#: src/lang.c:315
 msgid	"toggle ROT-13 (basic decode) for current article"
 msgstr	""
 
-#: src/lang.c:315
+#: src/lang.c:316
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	""
 
-#: src/lang.c:316
+#: src/lang.c:317
 msgid	"toggle german TeX style decoding for current article"
 msgstr	""
 
-#: src/lang.c:317
+#: src/lang.c:318
 msgid	"toggle display of uuencoded sections"
 msgstr	""
 
-#: src/lang.c:318
+#: src/lang.c:319
 msgid	"View/save multimedia attachments"
 msgstr	""
 
-#: src/lang.c:319
+#: src/lang.c:320
 #, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	"rapportera fel eller kommentar via e-post till %s"
 
-#: src/lang.c:320
+#: src/lang.c:321
 msgid	"choose range of articles to be affected by next command"
 msgstr	""
 
-#: src/lang.c:321
+#: src/lang.c:322
 msgid	"escape from command prompt"
 msgstr	""
 
-#: src/lang.c:322
+#: src/lang.c:323
 msgid	"edit filter file"
 msgstr	"redigera filterfil"
 
-#: src/lang.c:323
+#: src/lang.c:324
 msgid	"get help"
 msgstr	"få hjälp"
 
-#: src/lang.c:324
+#: src/lang.c:325
 msgid	"display last article viewed"
 msgstr	""
 
-#: src/lang.c:325
+#: src/lang.c:326
 msgid	"down one line"
 msgstr	"en rad ner"
 
-#: src/lang.c:326
+#: src/lang.c:327
 msgid	"up one line"
 msgstr	"upp en rad"
 
-#: src/lang.c:327
+#: src/lang.c:328
 msgid	"go to article chosen by Message-ID"
 msgstr	""
 
-#: src/lang.c:328
+#: src/lang.c:329
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	""
 
-#: src/lang.c:329
+#: src/lang.c:330
 msgid	"menu of configurable options"
 msgstr	""
 
-#: src/lang.c:330
+#: src/lang.c:331
 msgid	"down one page"
 msgstr	"ner en sida"
 
-#: src/lang.c:331
+#: src/lang.c:332
 msgid	"up one page"
 msgstr	"upp en sida"
 
-#: src/lang.c:332
+#: src/lang.c:333
 msgid	"post (write) article to current group"
 msgstr	""
 
-#: src/lang.c:333
+#: src/lang.c:334
 msgid	"post postponed articles"
 msgstr	""
 
-#: src/lang.c:334
+#: src/lang.c:335
 msgid	"list articles posted by you (from posted file)"
 msgstr	""
 
-#: src/lang.c:335
+#: src/lang.c:336
 msgid	"return to previous menu"
 msgstr	"återgå till föregående meny"
 
-#: src/lang.c:336
+#: src/lang.c:337
 msgid	"quit tin immediately"
 msgstr	"avsluta tin omedelbart"
 
-#: src/lang.c:337
+#: src/lang.c:338
 msgid	"redraw page"
 msgstr	"rita om sida"
 
-#: src/lang.c:338
+#: src/lang.c:339
 msgid	"save article/thread/hot/pattern/tagged articles to file"
 msgstr	""
 
-#: src/lang.c:339
+#: src/lang.c:340
 msgid	"save marked articles automatically without user prompts"
 msgstr	""
 
-#: src/lang.c:340
+#: src/lang.c:341
 msgid	"scroll the screen one line down"
 msgstr	""
 
-#: src/lang.c:341
+#: src/lang.c:342
 msgid	"scroll the screen one line up"
 msgstr	""
 
-#: src/lang.c:342
+#: src/lang.c:343
 msgid	"search for articles by author backwards"
 msgstr	""
 
-#: src/lang.c:343
+#: src/lang.c:344
 msgid	"search for articles by author forwards"
 msgstr	""
 
-#: src/lang.c:344
+#: src/lang.c:345
 msgid	"search all articles for a given string (this may take some time)"
 msgstr	""
 
-#: src/lang.c:345
+#: src/lang.c:346
 msgid	" \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr	""
 
-#: src/lang.c:346
+#: src/lang.c:347
 msgid	"search for articles by Subject line backwards"
 msgstr	""
 
-#: src/lang.c:347
+#: src/lang.c:348
 msgid	"search for articles by Subject line forwards"
 msgstr	""
 
-#: src/lang.c:348
+#: src/lang.c:349
 msgid	"repeat last search"
 msgstr	"repetera senaste sökning"
 
-#: src/lang.c:349
+#: src/lang.c:350
 msgid	"tag current article for reposting/mailing/piping/printing/saving"
 msgstr	""
 
-#: src/lang.c:350
+#: src/lang.c:351
 msgid	"toggle info message in last line (subject/description)"
 msgstr	""
 
-#: src/lang.c:351
+#: src/lang.c:352
 msgid	"toggle inverse video"
 msgstr	""
 
-#: src/lang.c:352
+#: src/lang.c:353
 msgid	"toggle mini help menu display"
 msgstr	""
 
-#: src/lang.c:353
+#: src/lang.c:354
 msgid	"cycle the display of authors email address, real name, both or neither"
 msgstr	""
 
-#: src/lang.c:354
+#: src/lang.c:355
 msgid	"show version information"
 msgstr	"visa versionsinformation"
 
-#: src/lang.c:355
+#: src/lang.c:356
 msgid	"mark all articles as read and return to group selection menu"
 msgstr	""
 
-#: src/lang.c:356
+#: src/lang.c:357
 msgid	"mark all articles as read and enter next group with unread articles"
 msgstr	""
 
-#: src/lang.c:357
+#: src/lang.c:358
 msgid	"choose first thread in list"
 msgstr	"välj första tråd i lista"
 
-#: src/lang.c:358
+#: src/lang.c:359
 msgid	"choose last thread in list"
 msgstr	"välj sista tråd i lista"
 
-#: src/lang.c:359
+#: src/lang.c:360
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	""
 
-#: src/lang.c:360
+#: src/lang.c:361
 msgid	"mark article as unread"
 msgstr	"markera artikel som oläst"
 
-#: src/lang.c:361
+#: src/lang.c:362
 msgid	"mark current thread or tagged threads as read"
 msgstr	""
 
-#: src/lang.c:362
+#: src/lang.c:363
 msgid	"mark thread as unread"
 msgstr	"markera tråd som oläst"
 
-#: src/lang.c:363
+#: src/lang.c:364
 msgid	"toggle display of all/selected articles"
 msgstr	""
 
-#: src/lang.c:364
+#: src/lang.c:365
 msgid	"display next group"
 msgstr	"visa nästa grupp"
 
-#: src/lang.c:365
+#: src/lang.c:366
 msgid	"display previous group"
 msgstr	"visa föregående grupp"
 
-#: src/lang.c:366
+#: src/lang.c:367
 msgid	"toggle all selections (all articles)"
 msgstr	""
 
-#: src/lang.c:367
+#: src/lang.c:368
 msgid	"select group (make \"hot\")"
 msgstr	"välj grupp (gör \"het\")"
 
-#: src/lang.c:368
+#: src/lang.c:369
 msgid	"select thread"
 msgstr	"välj tråd"
 
-#: src/lang.c:369
+#: src/lang.c:370
 msgid	"select threads if at least one unread article is selected"
 msgstr	""
 
-#: src/lang.c:370
+#: src/lang.c:371
 msgid	"select threads that match user specified pattern"
 msgstr	""
 
-#: src/lang.c:371
+#: src/lang.c:372
 msgid	"tag all parts of current multipart-message in order"
 msgstr	""
 
-#: src/lang.c:372
+#: src/lang.c:373
 msgid	"0 - 9\t  choose thread by number"
 msgstr	"0 - 9\t  välj tråd efter nummer"
 
-#: src/lang.c:373
+#: src/lang.c:374
 msgid	"toggle limit number of articles to get, and reload"
 msgstr	""
 
-#: src/lang.c:374
+#: src/lang.c:375
 msgid	"toggle display of all/unread articles"
 msgstr	""
 
-#: src/lang.c:375
+#: src/lang.c:376
 msgid	"toggle selection of thread"
 msgstr	"växla val av tråd"
 
-#: src/lang.c:376
+#: src/lang.c:377
 msgid	"cycle through threading options available"
 msgstr	""
 
-#: src/lang.c:377
+#: src/lang.c:378
 msgid	"undo all selections (all articles)"
 msgstr	""
 
-#: src/lang.c:378
+#: src/lang.c:379
 msgid	"untag all tagged threads"
 msgstr	""
 
-#: src/lang.c:379
+#: src/lang.c:380
 msgid	"mark all articles in group as read"
 msgstr	""
 
-#: src/lang.c:380
+#: src/lang.c:381
 msgid	"mark all articles in group as read and move to next unread group"
 msgstr	""
 
-#: src/lang.c:381
+#: src/lang.c:382
 msgid	"choose first group in list"
 msgstr	"välj första grupp i lista"
 
-#: src/lang.c:382
+#: src/lang.c:383
 msgid	"choose group by name"
 msgstr	"välj grupp efter namn"
 
-#: src/lang.c:383
+#: src/lang.c:384
 msgid	"0 - 9\t  choose group by number"
 msgstr	"0 - 9\t  välj grupp efter nummer"
 
-#: src/lang.c:384
+#: src/lang.c:385
 msgid	"choose range of groups to be affected by next command"
 msgstr	""
 
-#: src/lang.c:385
+#: src/lang.c:386
 msgid	"choose last group in list"
 msgstr	"välj sista grupp i lista"
 
-#: src/lang.c:386
+#: src/lang.c:387
 msgid	"mark all articles in chosen group unread"
 msgstr	""
 
-#: src/lang.c:387
+#: src/lang.c:388
 msgid	"move chosen group within list"
 msgstr	""
 
-#: src/lang.c:388
+#: src/lang.c:389
 msgid	"choose next group with unread news"
 msgstr	""
 
-#: src/lang.c:389 src/lang.c:1197
+#: src/lang.c:390 src/lang.c:1197
 msgid	"quit"
 msgstr	"avsluta"
 
-#: src/lang.c:390
+#: src/lang.c:391
 msgid	"quit without saving configuration changes"
 msgstr	"avsluta utan att spara konfigurationsändringar"
 
-#: src/lang.c:391
+#: src/lang.c:392
 msgid	"read chosen group"
 msgstr	"läs vald grupp"
 
-#: src/lang.c:392
+#: src/lang.c:393
 msgid	"reset .newsrc (all available articles in groups marked unread)"
 msgstr	""
 
-#: src/lang.c:393
+#: src/lang.c:394
 msgid	"search backwards for a group name"
 msgstr	""
 
-#: src/lang.c:394
+#: src/lang.c:395
 msgid	" \t  (all searches are case-insensitive and wrap around)"
 msgstr	""
 
-#: src/lang.c:395
+#: src/lang.c:396
 msgid	"search forwards for a group name"
 msgstr	"sök framåt efter ett gruppnamn"
 
-#: src/lang.c:396
+#: src/lang.c:397
 msgid	"subscribe to chosen group"
 msgstr	"prenumerera på vald grupp"
 
-#: src/lang.c:397
+#: src/lang.c:398
 msgid	"subscribe to groups that match pattern"
 msgstr	""
 
-#: src/lang.c:398
+#: src/lang.c:399
 msgid	"reread active file to check for any new news"
 msgstr	""
 
-#: src/lang.c:399
+#: src/lang.c:400
 msgid	"toggle display of group name only or group name plus description"
 msgstr	""
 
-#: src/lang.c:400
+#: src/lang.c:401
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	""
 
-#: src/lang.c:401
+#: src/lang.c:402
 msgid	"unsubscribe from chosen group"
 msgstr	"säg upp prenumeration av vald grupp"
 
-#: src/lang.c:402
+#: src/lang.c:403
 msgid	"unsubscribe from groups that match pattern"
 msgstr	"säg upp prenumeration av grupper som matchar mönster"
 
-#: src/lang.c:403
+#: src/lang.c:404
 msgid	"sort the list of groups"
 msgstr	"sortera listan av grupper"
 
-#: src/lang.c:404
+#: src/lang.c:405
 msgid	"toggle display to show all/subscribed groups"
 msgstr	""
 
-#: src/lang.c:405
+#: src/lang.c:406
 msgid	"0 - 9\t  choose article by number"
 msgstr	"0 - 9\t  välj artikel efter nummer"
 
-#: src/lang.c:406
+#: src/lang.c:407
 msgid	"mark thread as read and return to group index page"
 msgstr	""
 
-#: src/lang.c:407
+#: src/lang.c:408
 msgid	"mark thread as read and enter next unread thread or group"
 msgstr	""
 
-#: src/lang.c:408
+#: src/lang.c:409
 msgid	"choose first article in list"
 msgstr	"välj första artikel i lista"
 
-#: src/lang.c:409
+#: src/lang.c:410
 msgid	"choose last article in list"
 msgstr	"välj sista artikel i lista"
 
-#: src/lang.c:410
+#: src/lang.c:411
 msgid	"mark article or tagged articles as read and move cursor to next unread article"
 msgstr	""
 
-#: src/lang.c:411
+#: src/lang.c:412
 msgid	"read chosen article"
 msgstr	"läs vald artikel"
 
-#: src/lang.c:412
+#: src/lang.c:413
 msgid	"Display properties\n"
 	"------------------"
 msgstr	"Visa egenskaper\n"
 	"---------------"
 
-#: src/lang.c:413
+#: src/lang.c:414
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	"Diverse\n"
 	"-------"
 
-#: src/lang.c:414
+#: src/lang.c:415
 msgid	"Moving around\n"
 	"-------------"
 msgstr	"Flytta runt\n"
 	"-----------"
 
-#: src/lang.c:415
+#: src/lang.c:416
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	"Operationer för grupp/tråd/artikel\n"
 	"----------------------------------"
 
-#: src/lang.c:417
+#: src/lang.c:418
 msgid	"Group Level Commands"
 msgstr	"Gruppnivåkommandon"
 
-#: src/lang.c:418
+#: src/lang.c:419
 msgid	"Kill filter added"
 msgstr	""
 
-#: src/lang.c:419
+#: src/lang.c:420
 msgid	"Auto-selection filter added"
 msgstr	""
 
-#: src/lang.c:420
+#: src/lang.c:421
 msgid	"All parts tagged"
 msgstr	""
 
-#: src/lang.c:421
+#: src/lang.c:422
 msgid	"Storing article for later posting"
 msgstr	""
 
-#: src/lang.c:422
+#: src/lang.c:423
 msgid	"Please enter a valid character"
 msgstr	"Vänligen ange ett giltigt tecken"
 
-#: src/lang.c:423
+#: src/lang.c:424
 #, c-format
 msgid	"Missing part #%d"
 msgstr	""
 
-#: src/lang.c:424
+#: src/lang.c:425
 msgid	"*** No postponed articles ***"
 msgstr	"*** Inga uppskjutna artiklar ***"
 
-#: src/lang.c:425
+#: src/lang.c:426
 msgid	"Not a multi-part message"
 msgstr	""
 
-#: src/lang.c:426
+#: src/lang.c:427
 msgid	"You are not subscribed to this group"
 msgstr	"Du är inte prenumerant av denna grupp"
 
-#: src/lang.c:427
+#: src/lang.c:428
 msgid	"No previous expression"
 msgstr	"Inget tidigare uttryck"
 
-#: src/lang.c:428
+#: src/lang.c:429
 msgid	"Operation disabled in no-overwrite mode"
 msgstr	""
 
 #. TODO: replace hardcoded key-name in txt_info_postponed
-#: src/lang.c:430
+#: src/lang.c:431
 #, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	""
 
-#: src/lang.c:431
+#: src/lang.c:432
 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:433
+#: src/lang.c:434
 #, c-format
 msgid	"Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr	""
 
-#: src/lang.c:434
+#: src/lang.c:435
 msgid	"TeX2Iso encoded article"
 msgstr	""
 
-#: src/lang.c:435
+#: src/lang.c:436
 msgid	"incomplete "
 msgstr	"ej komplett "
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:437
+#: src/lang.c:438
 #, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -1856,426 +1835,426 @@ msgid	"\n"
 	"Please send bug-reports/comments to %s with the 'R' command.\n"
 msgstr	""
 
-#: src/lang.c:453
+#: src/lang.c:454
 #, c-format
 msgid	"Invalid  From: %s  line. Read the INSTALL file again."
 msgstr	""
 
-#: src/lang.c:455
+#: src/lang.c:456
 msgid	"Invalid multibyte sequence found\n"
 msgstr	""
 
-#: src/lang.c:457
+#: src/lang.c:458
 #, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	""
 
-#: src/lang.c:458
+#: src/lang.c:459
 msgid	"Inverse video disabled"
 msgstr	""
 
-#: src/lang.c:459
+#: src/lang.c:460
 msgid	"Inverse video enabled"
 msgstr	""
 
-#: src/lang.c:461
+#: src/lang.c:462
 #, c-format
 msgid	"Missing definition for %s\n"
 msgstr	""
 
-#: src/lang.c:462
+#: src/lang.c:463
 #, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	""
 
-#: src/lang.c:463
+#: src/lang.c:464
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	""
 
-#: src/lang.c:464
+#: src/lang.c:465
 #, c-format
 msgid	"Keymap file was upgraded to version %s\n"
 msgstr	""
 
-#: src/lang.c:465
+#: src/lang.c:466
 #, c-format
 msgid	"Kill From:     [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:466
+#: src/lang.c:467
 msgid	"Kill Lines: (</>num): "
 msgstr	""
 
-#: src/lang.c:467
+#: src/lang.c:468
 msgid	"Kill Article Menu"
 msgstr	""
 
-#: src/lang.c:468
+#: src/lang.c:469
 #, c-format
 msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr	""
 
-#: src/lang.c:469
+#: src/lang.c:470
 msgid	"Kill pattern scope  : "
 msgstr	""
 
-#: src/lang.c:470
+#: src/lang.c:471
 #, c-format
 msgid	"Kill Subject:  [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:471
+#: src/lang.c:472
 msgid	"Kill text pattern   : "
 msgstr	""
 
-#: src/lang.c:472
+#: src/lang.c:473
 msgid	"Kill time in days   : "
 msgstr	""
 
-#: src/lang.c:474
+#: src/lang.c:475
 msgid	"Last"
 msgstr	"Sista"
 
-#: src/lang.c:475
+#: src/lang.c:476
 msgid	"-- Last response --"
 msgstr	"-- Sista svaret --"
 
-#: src/lang.c:476
+#: src/lang.c:477
 #, c-format
 msgid	"Lines %s  "
 msgstr	"Rader %s  "
 
-#: src/lang.c:478
+#: src/lang.c:479
 msgid	"Mail"
 msgstr	"Post"
 
-#: src/lang.c:479
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	"postlåda "
 
-#: src/lang.c:480
+#: src/lang.c:481
 #, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	"Skicka artikel(ar) till [%.*s]> "
 
-#: src/lang.c:481
+#: src/lang.c:482
 #, c-format
 msgid	"Mailing log to %s\n"
 msgstr	"Skickar logg till %s\n"
 
-#: src/lang.c:482
+#: src/lang.c:483
 msgid	"Mail bug report..."
 msgstr	""
 
-#: src/lang.c:483
+#: src/lang.c:484
 #, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	"Skicka FELRAPPORT till %s?"
 
-#: src/lang.c:484
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	"Skickad"
 
-#: src/lang.c:485
+#: src/lang.c:486
 #, c-format
 msgid	"Mailing to %s..."
 msgstr	"Skickar till %s..."
 
-#: src/lang.c:486
+#: src/lang.c:487
 msgid	"# [Mail/Save] active file. Format is like news active file:\n"
 	"#   groupname  max.artnum  min.artnum  /dir\n"
 	"# The 4th field is the basedir (ie. ~/Mail or ~/News)\n"
 	"#\n"
 msgstr	""
 
-#: src/lang.c:489
+#: src/lang.c:490
 #, c-format
 msgid	"%s marked as unread"
 msgstr	"%s markerad som oläst"
 
-#: src/lang.c:490
+#: src/lang.c:491
 #, c-format
 msgid	"Marked %d of %d tagged %s as read"
 msgstr	""
 
-#: src/lang.c:491
+#: src/lang.c:492
 #, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	"Markera alla artiklar som lästa%s?"
 
-#: src/lang.c:492
+#: src/lang.c:493
 #, c-format
 msgid	"Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr	""
 
-#: src/lang.c:493
+#: src/lang.c:494
 #, c-format
 msgid	"Mark group %s as read?"
 msgstr	"Markera grupp %s som läst?"
 
-#: src/lang.c:494
+#: src/lang.c:495
 #, c-format
 msgid	"Mark thread as read%s?"
 msgstr	"Markera tråd som läst%s?"
 
-#: src/lang.c:495
+#: src/lang.c:496
 #, c-format
 msgid	"Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr	""
 
-#: src/lang.c:496
+#: src/lang.c:497
 #, c-format
 msgid	"Matching %s groups..."
 msgstr	"Matchar %s grupper..."
 
-#: src/lang.c:497 src/lang.c:501
+#: src/lang.c:498 src/lang.c:502
 #, 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:498
+#: src/lang.c:499
 #, c-format
 msgid	"%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list "
 	"thread"
 msgstr	""
 
-#: src/lang.c:499
+#: src/lang.c:500
 #, 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:500
+#: src/lang.c:501
 #, 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:502
+#: src/lang.c:503
 #, c-format
 msgid	"%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr	""
 
-#: src/lang.c:503
+#: src/lang.c:504
 #, c-format
 msgid	"<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr	""
 
-#: src/lang.c:504
+#: src/lang.c:505
 #, 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:505
+#: src/lang.c:506
 #, c-format
 msgid	"%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out"
 msgstr	""
 
-#: src/lang.c:506
+#: src/lang.c:507
 #, c-format
 msgid	"<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr	""
 
-#: src/lang.c:507
+#: src/lang.c:508
 #, 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:508
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	"--Mer--"
 
-#: src/lang.c:509
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	"Flyttar %s..."
 
-#: src/lang.c:510
+#: src/lang.c:511
 msgid	"Message-ID: & last Reference  "
 msgstr	""
 
-#: src/lang.c:511
+#: src/lang.c:512
 msgid	"Message-ID: line              "
 msgstr	""
 
-#: src/lang.c:512
+#: src/lang.c:513
 msgid	"Message-ID: & References: line"
 msgstr	""
 
-#: src/lang.c:514
+#: src/lang.c:515
 msgid	", name: "
 msgstr	", namn: "
 
-#: src/lang.c:515
+#: src/lang.c:516
 #, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	"Gå till diskussionsgrupp [%s]> "
 
-#: src/lang.c:516
+#: src/lang.c:517
 msgid	"newsgroups"
 msgstr	"diskussionsgrupper"
 
-#: src/lang.c:517
+#: src/lang.c:518
 #, c-format
 msgid	"Position %s in group list (1,2,..,$) [%d]> "
 msgstr	""
 
-#: src/lang.c:518
+#: src/lang.c:519
 msgid	"newsgroup"
 msgstr	"diskussionsgrupp"
 
-#: src/lang.c:519
+#: src/lang.c:520
 msgid	"Try and save newsrc file again?"
 msgstr	"Försöka att spara filen newsrc igen?"
 
-#: src/lang.c:520
+#: src/lang.c:521
 msgid	"Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr	""
 
-#: src/lang.c:521
+#: src/lang.c:522
 msgid	"newsrc file saved successfully.\n"
 msgstr	""
 
-#: src/lang.c:522
+#: src/lang.c:523
 msgid	"-- Next response --"
 msgstr	"-- Nästa svar --"
 
-#: src/lang.c:523
+#: src/lang.c:524
 #, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	""
 
-#: src/lang.c:524
+#: src/lang.c:525
 msgid	"No  "
 msgstr	"Nej "
 
-#: src/lang.c:525
+#: src/lang.c:526
 msgid	"*** No articles ***"
 msgstr	"*** Inga artiklar ***"
 
-#: src/lang.c:526
+#: src/lang.c:527
 msgid	"No articles have been posted"
 msgstr	"Inga artiklar har postats"
 
-#: src/lang.c:527
+#: src/lang.c:528
 msgid	"*** No description ***"
 msgstr	"*** Ingen beskrivning ***"
 
-#: src/lang.c:528
+#: src/lang.c:529
 msgid	"No filename"
 msgstr	"Inget filnamn"
 
-#: src/lang.c:529
+#: src/lang.c:530
 msgid	"No group"
 msgstr	"Ingen grupp"
 
-#: src/lang.c:530
+#: src/lang.c:531
 msgid	"*** No groups ***"
 msgstr	"*** Inga grupper ***"
 
-#: src/lang.c:531
+#: src/lang.c:532
 msgid	"No more groups to read"
 msgstr	"Inga fler grupper att läsa"
 
-#: src/lang.c:532
+#: src/lang.c:533
 msgid	"No last message"
 msgstr	"Inget sista meddelande"
 
-#: src/lang.c:533
+#: src/lang.c:534
 msgid	"No mail address"
 msgstr	"Ingen e-postadress"
 
-#: src/lang.c:534
+#: src/lang.c:535
 msgid	"No articles marked for saving"
 msgstr	""
 
-#: src/lang.c:535
+#: src/lang.c:536
 msgid	"No match"
 msgstr	"Ingen match"
 
-#: src/lang.c:536
+#: src/lang.c:537
 msgid	"No more groups"
 msgstr	"Inga fler grupper"
 
-#: src/lang.c:537
+#: src/lang.c:538
 msgid	"No newsgroups"
 msgstr	"Inga diskussionsgrupper"
 
-#: src/lang.c:538
+#: src/lang.c:539
 msgid	"No next unread article"
 msgstr	"Slut på olästa artiklar"
 
-#: src/lang.c:539
+#: src/lang.c:540
 msgid	"No previous group"
 msgstr	"Ingen föregående grupp"
 
-#: src/lang.c:540
+#: src/lang.c:541
 msgid	"No previous unread article"
 msgstr	"Ingen föregående oläst artikel"
 
-#: src/lang.c:541
+#: src/lang.c:542
 msgid	"No responses"
 msgstr	"Inga svar"
 
-#: src/lang.c:542
+#: src/lang.c:543
 msgid	"No responses to list in current thread"
 msgstr	""
 
-#: src/lang.c:543
+#: src/lang.c:544
 msgid	"No search string"
 msgstr	"Ingen söksträng"
 
-#: src/lang.c:544
+#: src/lang.c:545
 msgid	"No subject"
 msgstr	"Inget ämne"
 
-#: src/lang.c:546
+#: src/lang.c:547
 #, c-format
 msgid	"%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr	""
 
-#: src/lang.c:547
+#: src/lang.c:548
 #, c-format
 msgid	"%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr	""
 
-#: src/lang.c:548
+#: src/lang.c:549
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	""
 
-#: src/lang.c:549
+#: src/lang.c:550
 #, c-format
 msgid	"%s: Terminal must have cursor motion (cm)\n"
 msgstr	""
 
-#: src/lang.c:550
+#: src/lang.c:551
 #, c-format
 msgid	"%s: TERM variable must be set to use screen capabilities\n"
 msgstr	""
 
-#: src/lang.c:552
+#: src/lang.c:553
 #, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	""
 
-#: src/lang.c:553
+#: src/lang.c:554
 msgid	"Newsgroup does not exist on this server"
 msgstr	""
 
-#: src/lang.c:554
+#: src/lang.c:555
 #, c-format
 msgid	"Group %s not found in active file"
 msgstr	""
 
-#: src/lang.c:555
+#: src/lang.c:556
 msgid	"c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	""
 
-#: src/lang.c:556
+#: src/lang.c:557
 msgid	"use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	""
 
-#: src/lang.c:557
+#: src/lang.c:558
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2291,173 +2270,169 @@ msgid	"# NNTP-server -> newsrc translati
 	"#\n"
 msgstr	""
 
-#: src/lang.c:564
+#: src/lang.c:565
 msgid	"Only"
 msgstr	"Endast"
 
-#: src/lang.c:565
+#: src/lang.c:566
 #, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	"Flagga inte aktiverad. Bygg om med %s."
 
-#: src/lang.c:566
+#: src/lang.c:567
 msgid	"Options Menu"
 msgstr	"Alternativmenyn"
 
-#: src/lang.c:569
+#: src/lang.c:570
 #, c-format
 msgid	"Error in regex: %s at pos. %d '%s'"
 msgstr	""
 
-#: src/lang.c:570
+#: src/lang.c:571
 #, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	""
 
-#: src/lang.c:571
+#: src/lang.c:572
 #, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	""
 
-#: src/lang.c:572
+#: src/lang.c:573
 msgid	"Post a followup..."
 msgstr	"Posta en uppföljning..."
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:574
+#: src/lang.c:575
 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:577
+#: src/lang.c:578
 msgid	"Posted articles history"
 msgstr	""
 
-#: src/lang.c:578
+#: src/lang.c:579
 #, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	"Posta till diskussionsgrupp(er) [%s]> "
 
-#: src/lang.c:579
+#: src/lang.c:580
 msgid	"-- post processing started --"
 msgstr	""
 
-#: src/lang.c:580
+#: src/lang.c:581
 msgid	"-- post processing completed --"
 msgstr	""
 
-#: src/lang.c:581
+#: src/lang.c:582
 #, c-format
 msgid	"Post subject [%s]> "
 msgstr	""
 
-#: src/lang.c:582
+#: src/lang.c:583
 msgid	"# Summary of mailed/posted messages viewable by 'W' command from within tin.\n"
 msgstr	""
 
-#: src/lang.c:583
+#: src/lang.c:584
 msgid	"Posting article..."
 msgstr	"Postar artikel..."
 
-#: src/lang.c:584
+#: src/lang.c:585
 #, c-format
 msgid	"Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr	""
 
-#: src/lang.c:585
+#: src/lang.c:586
 #, c-format
 msgid	"Hot %s"
 msgstr	"Hetta %s"
 
-#: src/lang.c:586
+#: src/lang.c:587
 #, c-format
 msgid	"Tagged %s"
 msgstr	"Märkt %s"
 
-#: src/lang.c:587
+#: src/lang.c:588
 #, c-format
 msgid	"Untagged %s"
 msgstr	""
 
-#: src/lang.c:588
+#: src/lang.c:589
 msgid	"Processing mail messages marked for deletion."
 msgstr	""
 
-#: src/lang.c:589
+#: src/lang.c:590
 msgid	"Processing saved articles marked for deletion."
 msgstr	""
 
-#: src/lang.c:590
+#: src/lang.c:591
 #, c-format
 msgid	"Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr	""
 
-#: src/lang.c:591
+#: src/lang.c:592
 msgid	"Article unchanged, abort mailing?"
 msgstr	""
 
-#: src/lang.c:592
+#: src/lang.c:593
 #, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	""
 
-#: src/lang.c:594
+#: src/lang.c:595
 msgid	"Add quick kill filter?"
 msgstr	""
 
-#: src/lang.c:595
+#: src/lang.c:596
 msgid	"Add quick selection filter?"
 msgstr	""
 
-#: src/lang.c:596
+#: src/lang.c:597
 msgid	"Do you really want to quit?"
 msgstr	"Vill du verkligen avsluta?"
 
-#: src/lang.c:597
+#: src/lang.c:598
 #, c-format
 msgid	"%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr	""
 
-#: src/lang.c:598
+#: src/lang.c:599
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	""
 
-#: src/lang.c:599
+#: src/lang.c:600
 #, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	""
 
-#: src/lang.c:600
+#: src/lang.c:601
 #, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	""
 
-#: src/lang.c:601
+#: src/lang.c:602
 #, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	""
 
-#: src/lang.c:602
+#: src/lang.c:603
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	"Vill du verkligen avsluta utan att spara din konfiguration?"
 
-#: src/lang.c:605
+#: src/lang.c:606
 msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	""
 
-#: src/lang.c:606
+#: src/lang.c:607
 msgid	"Do you want to abort this operation?"
 msgstr	"Vill du avbryta denna operation?"
 
-#: src/lang.c:607
+#: src/lang.c:608
 msgid	"Do you want to exit tin immediately?"
 msgstr	"Vill du avsluta tin omedelbart?"
 
-#: src/lang.c:608
-msgid	"Read response> "
-msgstr	"Läsa svar> "
-
 #: src/lang.c:609
 msgid	"Reading ('q' to quit)..."
 msgstr	"Läser (\"q\" för att avsluta)..."
@@ -2559,11 +2534,6 @@ msgstr	""
 msgid	"Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr	""
 
-#: src/lang.c:634
-#, c-format
-msgid	"RespNo %4d of %4d"
-msgstr	""
-
 #: src/lang.c:635
 msgid	"Press <RETURN> to continue..."
 msgstr	"Tryck <RETURN> för att fortsätta..."
@@ -3287,8 +3257,8 @@ msgid	"\n"
 msgstr	""
 
 #: src/lang.c:843
-msgid	"  -D       debug mode 1=NNTP 2=ALL"
-msgstr	"  -D       felsökningsläge 1=NNTP 2=ALLA"
+msgid	"  -D mode  debug mode"
+msgstr	""
 
 #: src/lang.c:847
 msgid	"Read carefully!\n"
@@ -3513,8 +3483,8 @@ msgstr	""
 
 #: src/lang.c:944
 #, c-format
-msgid	"Connecting to %s:%d..."
-msgstr	"Ansluter till %s:%d..."
+msgid	"Connecting to %s:%u..."
+msgstr	"Ansluter till %s:%u..."
 
 #: src/lang.c:945
 msgid	"Disconnecting from server...\n"
@@ -3811,7 +3781,7 @@ msgstr	""
 msgid	"Trying %s"
 msgstr	"Försöker med %s"
 
-#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:296
+#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:304
 msgid	"None"
 msgstr	"Ingen"
 
@@ -4202,9 +4172,9 @@ msgstr	""
 #: src/lang.c:2020 src/lang.c:2027 src/lang.c:2034 src/lang.c:2041 src/lang.c:2048
 #: src/lang.c:2056 src/lang.c:2072 src/lang.c:2079 src/lang.c:2086 src/lang.c:2093
 #: src/lang.c:2099 src/lang.c:2105 src/lang.c:2122 src/lang.c:2134 src/lang.c:2168
-#: src/lang.c:2221 src/lang.c:2228 src/lang.c:2234 src/lang.c:2259 src/lang.c:2276
-#: src/lang.c:2329 src/lang.c:2365 src/lang.c:2385 src/lang.c:2420 src/lang.c:2430
-#: src/lang.c:2455 src/lang.c:2471 src/lang.c:2490 src/lang.c:2503
+#: src/lang.c:2221 src/lang.c:2235 src/lang.c:2241 src/lang.c:2266 src/lang.c:2283
+#: src/lang.c:2336 src/lang.c:2372 src/lang.c:2392 src/lang.c:2427 src/lang.c:2437
+#: src/lang.c:2462 src/lang.c:2478 src/lang.c:2497 src/lang.c:2510
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
@@ -5478,19 +5448,32 @@ msgstr	"MM_NETWORK_CHARSET"
 msgid	"# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr	""
 
+#: src/lang.c:2227
+msgid	"Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
+msgstr	""
+
+#: src/lang.c:2228
+#, fuzzy
+msgid	"MM_LOCAL_CHARSET"
+msgstr	"MM_CHARSET"
+
 #: src/lang.c:2229
+msgid	"# Charset supported locally.\n"
+msgstr	""
+
+#: src/lang.c:2236
 msgid	"Mailbox format"
 msgstr	"Format på postlåda"
 
-#: src/lang.c:2230
+#: src/lang.c:2237
 msgid	"# Format of the mailbox.\n"
 msgstr	"# Format på postlåda.\n"
 
-#: src/lang.c:2235
+#: src/lang.c:2242
 msgid	"MIME encoding in news messages"
 msgstr	""
 
-#: src/lang.c:2236
+#: src/lang.c:2243
 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"
 	"# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n"
@@ -5498,42 +5481,42 @@ msgid	"# MIME encoding (8bit, base64, qu
 	"# Russian charsets with a lot of 8bit characters.\n"
 msgstr	""
 
-#: src/lang.c:2244 src/lang.c:2265
+#: src/lang.c:2251 src/lang.c:2272
 msgid	"Don't change unless you know what you are doing. <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2245
+#: src/lang.c:2252
 msgid	"Use 8bit characters in news headers"
 msgstr	""
 
-#: src/lang.c:2246
+#: src/lang.c:2253
 msgid	"# If ON, 8bit characters in news headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in header are encoded regardless of the value of this\n"
 	"# parameter unless post_mime_encoding is 8bit as well.\n"
 msgstr	""
 
-#: src/lang.c:2253
+#: src/lang.c:2260
 msgid	"Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2254
+#: src/lang.c:2261
 msgid	"View post-processed files"
 msgstr	""
 
-#: src/lang.c:2255
+#: src/lang.c:2262
 msgid	"# If set, post processed files will be opened in a viewer\n"
 msgstr	""
 
-#: src/lang.c:2260
+#: src/lang.c:2267
 msgid	"MIME encoding in mail messages"
 msgstr	""
 
-#: src/lang.c:2266
+#: src/lang.c:2273
 msgid	"Use 8bit characters in mail headers"
 msgstr	""
 
-#: src/lang.c:2267
+#: src/lang.c:2274
 msgid	"# If ON, 8bit characters in mail headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
 	"# 8bit chars in headers are encoded regardless of the value of this "
@@ -5543,160 +5526,160 @@ msgid	"# If ON, 8bit characters in mail 
 	"# turn it ON unless you have some compelling reason.\n"
 msgstr	""
 
-#: src/lang.c:2277
+#: src/lang.c:2284
 msgid	"Strip blanks from ends of lines"
 msgstr	""
 
-#: src/lang.c:2278
+#: src/lang.c:2285
 msgid	"# If ON strip blanks from ends of lines for faster display on slow "
 	"terminals.\n"
 msgstr	""
 
-#: src/lang.c:2283
+#: src/lang.c:2290
 msgid	"If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2284
+#: src/lang.c:2291
 msgid	"Transliteration"
 msgstr	""
 
-#: src/lang.c:2285
+#: src/lang.c:2292
 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:2292
+#: src/lang.c:2299
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2293
+#: src/lang.c:2300
 msgid	"Send you a cc automatically"
 msgstr	""
 
-#: src/lang.c:2294
+#: src/lang.c:2301
 msgid	"# If ON automatically put your name in the Cc: field when mailing an article\n"
 msgstr	""
 
-#: src/lang.c:2298
+#: src/lang.c:2305
 msgid	"Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2299
+#: src/lang.c:2306
 msgid	"Send you a blind cc automatically"
 msgstr	""
 
-#: src/lang.c:2300
+#: src/lang.c:2307
 msgid	"# If ON automatically put your name in the Bcc: field when mailing an "
 	"article\n"
 msgstr	""
 
-#: src/lang.c:2304
+#: src/lang.c:2311
 msgid	"Enter address elements about which you want to be warned. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2305
+#: src/lang.c:2312
 msgid	"Spamtrap warning address parts"
 msgstr	""
 
-#: src/lang.c:2306
+#: src/lang.c:2313
 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:2311
+#: src/lang.c:2318
 msgid	"Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2312
+#: src/lang.c:2319
 msgid	"No. of days a filter entry is valid"
 msgstr	""
 
-#: src/lang.c:2313
+#: src/lang.c:2320
 msgid	"# Number of days a short term filter will be active\n"
 msgstr	""
 
-#: src/lang.c:2317
+#: src/lang.c:2324
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2318
+#: src/lang.c:2325
 msgid	"Add posted articles to filter"
 msgstr	""
 
-#: src/lang.c:2319
+#: src/lang.c:2326
 msgid	"# If ON add posted articles which start a new thread to filter for\n"
 	"# highlighting follow-ups\n"
 msgstr	""
 
-#: src/lang.c:2323
+#: src/lang.c:2330
 msgid	"The directory where articles/threads are to be saved in mailbox format."
 msgstr	""
 
-#: src/lang.c:2324
+#: src/lang.c:2331
 msgid	"Mail directory"
 msgstr	"Postkatalog"
 
-#: src/lang.c:2325
+#: src/lang.c:2332
 msgid	"# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr	""
 
-#: src/lang.c:2330
+#: src/lang.c:2337
 msgid	"Save articles in batch mode (-S)"
 msgstr	""
 
-#: src/lang.c:2331
+#: src/lang.c:2338
 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:2336
+#: src/lang.c:2343
 msgid	"The directory where you want articles/threads saved."
 msgstr	""
 
-#: src/lang.c:2337
+#: src/lang.c:2344
 msgid	"Directory to save arts/threads in"
 msgstr	""
 
-#: src/lang.c:2338
+#: src/lang.c:2345
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	""
 
-#: src/lang.c:2342
+#: src/lang.c:2349
 msgid	"Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2343
+#: src/lang.c:2350
 msgid	"Use Archive-name: header for save"
 msgstr	""
 
-#: src/lang.c:2344
+#: src/lang.c:2351
 msgid	"# If ON articles/threads with Archive-name: in mail header will\n"
 	"# be automatically saved with the Archive-name & part/patch no.\n"
 msgstr	""
 
-#: src/lang.c:2349
+#: src/lang.c:2356
 msgid	"Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 	"cancels."
 msgstr	""
 
-#: src/lang.c:2350
+#: src/lang.c:2357
 msgid	"Mark saved articles/threads as read"
 msgstr	""
 
-#: src/lang.c:2351
+#: src/lang.c:2358
 msgid	"# If ON mark articles that are saved as read\n"
 msgstr	""
 
-#: src/lang.c:2355
+#: src/lang.c:2362
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	""
 
-#: src/lang.c:2356
+#: src/lang.c:2363
 msgid	"Post process saved articles"
 msgstr	""
 
-#: src/lang.c:2357
+#: src/lang.c:2364
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no\n"
@@ -5704,95 +5687,95 @@ msgid	"# Perform post processing (saving
 	"#   2 = yes\n"
 msgstr	""
 
-#: src/lang.c:2366
+#: src/lang.c:2373
 msgid	"Process only unread articles"
 msgstr	""
 
-#: src/lang.c:2367
+#: src/lang.c:2374
 msgid	"# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n"
 msgstr	""
 
-#: src/lang.c:2372
+#: src/lang.c:2379
 msgid	"Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2373
+#: src/lang.c:2380
 msgid	"Print all headers when printing"
 msgstr	""
 
-#: src/lang.c:2374
+#: src/lang.c:2381
 msgid	"# If ON print all of article header otherwise just the important lines\n"
 msgstr	""
 
-#: src/lang.c:2378
+#: src/lang.c:2385
 msgid	"The printer program with options that is to be used to print articles/threads."
 msgstr	""
 
-#: src/lang.c:2379
+#: src/lang.c:2386
 msgid	"Printer program with options"
 msgstr	""
 
-#: src/lang.c:2380
+#: src/lang.c:2387
 msgid	"# Print program with parameters used to print articles/threads\n"
 msgstr	""
 
-#: src/lang.c:2386
+#: src/lang.c:2393
 msgid	"Force redraw after certain commands"
 msgstr	""
 
-#: src/lang.c:2387
+#: src/lang.c:2394
 msgid	"# If ON a screen redraw will always be done after certain external commands\n"
 msgstr	""
 
-#: src/lang.c:2391
+#: src/lang.c:2398
 msgid	"Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2392
+#: src/lang.c:2399
 msgid	"Start editor with line offset"
 msgstr	""
 
-#: src/lang.c:2393
+#: src/lang.c:2400
 msgid	"# If ON editor will be started with cursor offset into the file\n"
 	"# otherwise the cursor will be positioned at the first line\n"
 msgstr	""
 
-#: src/lang.c:2398
+#: src/lang.c:2405
 msgid	"Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr	""
 
-#: src/lang.c:2399
+#: src/lang.c:2406
 msgid	"Invocation of your editor"
 msgstr	""
 
-#: src/lang.c:2400
+#: src/lang.c:2407
 #, c-format
 msgid	"# Format of editor line including parameters\n"
 	"# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr	""
 
-#: src/lang.c:2405
+#: src/lang.c:2412
 msgid	"Enter name and options for external-inews, --internal for internal inews"
 msgstr	""
 
-#: src/lang.c:2406
+#: src/lang.c:2413
 msgid	"External inews"
 msgstr	"Extern inews"
 
-#: src/lang.c:2407
+#: src/lang.c:2414
 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:2411
+#: src/lang.c:2418
 msgid	"Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr	""
 
-#: src/lang.c:2412
+#: src/lang.c:2419
 msgid	"Invocation of your mail command"
 msgstr	""
 
-#: src/lang.c:2413
+#: src/lang.c:2420
 #, c-format
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
@@ -5800,11 +5783,11 @@ msgid	"# Format of mailer line including
 	"# ie. elm interactive          :    elm -i %%F -s \"%%S\" \"%%T\"\n"
 msgstr	""
 
-#: src/lang.c:2421
+#: src/lang.c:2428
 msgid	"Use interactive mail reader"
 msgstr	""
 
-#: src/lang.c:2422
+#: src/lang.c:2429
 msgid	"# Interactive mailreader\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no interactive mailreader\n"
@@ -5812,56 +5795,56 @@ msgid	"# Interactive mailreader\n"
 	"#   2 = use interactive mailreader without headers in file\n"
 msgstr	""
 
-#: src/lang.c:2431
+#: src/lang.c:2438
 msgid	"Remove ~/.article after posting"
 msgstr	"Ta bort ~/.article efter postning"
 
-#: src/lang.c:2432
+#: src/lang.c:2439
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	""
 
-#: src/lang.c:2436
+#: src/lang.c:2443
 msgid	"Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr	""
 
-#: src/lang.c:2437
+#: src/lang.c:2444
 msgid	"Filename for posted articles"
 msgstr	""
 
-#: src/lang.c:2438
+#: src/lang.c:2445
 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:2443
+#: src/lang.c:2450
 msgid	"Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2444
+#: src/lang.c:2451
 msgid	"Keep failed arts in ~/dead.articles"
 msgstr	""
 
-#: src/lang.c:2445
+#: src/lang.c:2452
 msgid	"# If ON keep all failed postings in ~/dead.articles\n"
 msgstr	""
 
-#: src/lang.c:2449
+#: src/lang.c:2456
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	""
 
-#: src/lang.c:2450
+#: src/lang.c:2457
 msgid	"No unsubscribed groups in newsrc"
 msgstr	""
 
-#: src/lang.c:2451
+#: src/lang.c:2458
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	""
 
-#: src/lang.c:2456
+#: src/lang.c:2463
 msgid	"Remove bogus groups from newsrc"
 msgstr	""
 
-#: src/lang.c:2457
+#: src/lang.c:2464
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = keep\n"
@@ -5869,55 +5852,55 @@ msgid	"# What to do with bogus groups in
 	"#   2 = highlight with D on selection screen\n"
 msgstr	""
 
-#: src/lang.c:2465
+#: src/lang.c:2472
 msgid	"Enter number of seconds until active file will be reread. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2466
+#: src/lang.c:2473
 msgid	"Interval in secs to reread active"
 msgstr	""
 
-#: src/lang.c:2467
+#: src/lang.c:2474
 msgid	"# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr	""
 
-#: src/lang.c:2472
+#: src/lang.c:2479
 msgid	"Reconnect to server automatically"
 msgstr	""
 
-#: src/lang.c:2473
+#: src/lang.c:2480
 msgid	"# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr	""
 
-#: src/lang.c:2477
+#: src/lang.c:2484
 msgid	"Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2478
+#: src/lang.c:2485
 msgid	"Cache NNTP overview files locally"
 msgstr	""
 
-#: src/lang.c:2479
+#: src/lang.c:2486
 msgid	"# If ON, create local copies of NNTP overview files.\n"
 msgstr	""
 
-#: src/lang.c:2483
+#: src/lang.c:2490
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2484
+#: src/lang.c:2491
 msgid	"Format string for display of dates"
 msgstr	""
 
-#: src/lang.c:2485
+#: src/lang.c:2492
 msgid	"# Format string for date representation\n"
 msgstr	""
 
-#: src/lang.c:2491
+#: src/lang.c:2498
 msgid	"Unicode normalization form"
 msgstr	""
 
-#: src/lang.c:2492
+#: src/lang.c:2499
 msgid	"# Unicode normalization form\n"
 	"# Possible values are (the default is marked with *):\n"
 	"#   0 = None\n"
@@ -5927,48 +5910,53 @@ msgid	"# Unicode normalization form\n"
 	"#   4 = NFD\n"
 msgstr	""
 
-#: src/lang.c:2504
+#: src/lang.c:2511
 msgid	"Render BiDi"
 msgstr	""
 
-#: src/lang.c:2505
+#: src/lang.c:2512
 msgid	"# If ON, bi-directional text is rendered by tin\n"
 msgstr	""
 
-#: src/misc.c:3693
+#: src/misc.c:3697
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\") %s %s\n"
 msgstr	"Version: %s %s utgåva %s (\"%s\") %s %s\n"
 
-#: src/misc.c:3696
+#: src/misc.c:3700
 #, c-format
 msgid	"Version: %s %s release %s (\"%s\")\n"
 msgstr	"Version: %s %s utgåva %s (\"%s\")\n"
 
-#: src/newsrc.c:430
+#: src/newsrc.c:436
 msgid	"Unreachable?\n"
 msgstr	"Ej nåbar?\n"
 
-#: src/nntplib.c:816
+#: src/nntplib.c:818
 #, c-format
 msgid	"\n"
 	"Server timed out, trying reconnect # %d\n"
 msgstr	""
 
-#: src/nntplib.c:834 src/nntplib.c:1644
+#: src/nntplib.c:836 src/nntplib.c:1708
 msgid	"Rejoin current group\n"
 msgstr	""
 
-#: src/nntplib.c:841 src/nntplib.c:1651
+#: src/nntplib.c:844 src/nntplib.c:1716
 #, c-format
 msgid	"Read (%s)\n"
 msgstr	"Läs (%s)\n"
 
-#: src/nntplib.c:843
+#: src/nntplib.c:846
 #, c-format
 msgid	"Resend last command (%s)\n"
 msgstr	""
 
+#. as a last resort check if post was mentioned
+#: src/nntplib.c:1131
+msgid	"CAPABILITIES did not announce any of READER, MODE-READER, POST"
+msgstr	""
+
 #.
 #. * TODO: - store a hash value of the entire motd in the server-rc
 #. *         and only if it differs from the old value display the
@@ -5976,58 +5964,57 @@ msgstr	""
 #. *       - use some sort of pager?
 #. *       - -> lang.c
 #.
-#: src/nntplib.c:1783
+#: src/nntplib.c:1855
 msgid	"MOTD: "
 msgstr	""
 
-#: src/nrctbl.c:170
+#: src/nrctbl.c:173
 #, c-format
 msgid	"couldn't expand %s\n"
 msgstr	""
 
-#: src/post.c:1134
+#: src/post.c:1144
 #, c-format
 msgid	"Line %d is longer than 998 octets and should be folded, but\n"
 	"encoding is neither set to %s nor to %s\n"
 msgstr	""
 
-#: src/post.c:1139
+#: src/post.c:1149
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding 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"
 msgstr	""
 
-#: src/post.c:1141
+#: src/post.c:1151
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is not set to %s\n"
 msgstr	""
 
-#: src/post.c:1960
+#: src/post.c:1970
 #, c-format
 msgid	"Posting: %.*s ..."
 msgstr	"Postar: %.*s ..."
 
 #. Check if okay to read
-#: src/read.c:191
+#: src/read.c:190
 msgid	"Aborting read, please wait..."
 msgstr	"Avbryter läsning, var god vänta..."
 
-#: src/read.c:338
+#: src/read.c:337
 msgid	"Aborted read\n"
 msgstr	"Avbröt läsning\n"
 
-#: src/read.c:394
+#: src/read.c:393
 msgid	"Draining\n"
 msgstr	""
 
-#. Don't hash the initial '<'
-#: src/refs.c:251
+#: src/refs.c:248
 msgid	"unchanged"
 msgstr	"oförändrad"
 
-#: src/refs.c:609
+#: src/refs.c:549
 msgid	"[- Unavailable -]"
 msgstr	"[- Ej tillgänglig -]"
 
@@ -6035,7 +6022,7 @@ msgstr	"[- Ej tillgänglig -]"
 #. * preamble
 #. * TODO: -> lang.c
 #.
-#: src/rfc2047.c:1201
+#: src/rfc2047.c:1270
 #, c-format
 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 modified\n"
@@ -6043,7 +6030,7 @@ msgid	"This message has been composed in
 	"\n"
 msgstr	""
 
-#: src/save.c:964
+#: src/save.c:966
 msgid	"bytes"
 msgstr	"byte"
 
@@ -6055,22 +6042,25 @@ msgstr	"oläst"
 msgid	"all"
 msgstr	"alla"
 
-#: src/select.c:549 src/select.c:551
+#: src/select.c:553 src/select.c:555
 msgid	" R"
 msgstr	""
 
-#. TODO: use tin global 'homedir' instead? or even rcdir?
-#: src/xface.c:91
+#: src/xface.c:70
+msgid	"Can't run slrnface: Not running in a xterm."
+msgstr	""
+
+#: src/xface.c:82 src/xface.c:93 src/xface.c:102
 #, c-format
 msgid	"Can't run slrnface: Environment variable %s not found."
 msgstr	""
 
-#: src/xface.c:99 src/xface.c:131
+#: src/xface.c:111 src/xface.c:143
 #, c-format
 msgid	"Can't run slrnface: failed to create %s"
 msgstr	""
 
-#: src/xface.c:109
+#: src/xface.c:121
 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"
 	"the pipe is deleted right after it has been opened by both processes.\n"
@@ -6083,16 +6073,16 @@ msgid	"This directory is used to create 
 	"Do not try to remove them.\n"
 msgstr	""
 
-#: src/xface.c:123
+#: src/xface.c:135
 msgid	"Can't run slrnface: couldn't construct fifo name."
 msgstr	""
 
-#: src/xface.c:162
+#: src/xface.c:174
 #, c-format
 msgid	"Slrnface abnormally exited, code %d."
 msgstr	""
 
-#: src/xface.c:206
+#: src/xface.c:218
 #, c-format
 msgid	"Slrnface failed: %s."
 msgstr	""
diff -Nurp tin-1.9.2/po/tin.pot tin-1.9.3/po/tin.pot
--- tin-1.9.2/po/tin.pot	2007-02-01 14:02:38.000000000 +0100
+++ tin-1.9.3/po/tin.pot	2008-05-06 18:44:57.000000000 +0200
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-01 14:02+0100\n"
+"POT-Creation-Date: 2008-05-06 18:44+0200\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"
@@ -15,287 +15,260 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1545
-#, c-format
-msgid "%d Bad overview record (%d fields) '%s'"
-msgstr ""
-
-#: src/attrib.c:649
+#: src/attrib.c:700
 #, c-format
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
 msgstr ""
 
-#: src/attrib.c:650
+#: src/attrib.c:701
 #, c-format
-msgid "#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
+msgid "#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr ""
 
-#: src/attrib.c:651
+#: src/attrib.c:702
 #, c-format
-msgid "#  maildir=STRING (ie. ~/Mail)\n"
+msgid "#  maildir=STRING (eg. ~/Mail)\n"
 msgstr ""
 
-#: src/attrib.c:652
+#: src/attrib.c:703
 #, c-format
-msgid "#  savedir=STRING (ie. ~user/News)\n"
+msgid "#  savedir=STRING (eg. ~user/News)\n"
 msgstr ""
 
-#: src/attrib.c:653
+#: src/attrib.c:704
 #, c-format
-msgid "#  savefile=STRING (ie. =linux)\n"
+msgid "#  savefile=STRING (eg. =linux)\n"
 msgstr ""
 
-#: src/attrib.c:654
+#: src/attrib.c:705
 #, c-format
-msgid "#  sigfile=STRING (ie. $var/sig)\n"
+msgid "#  sigfile=STRING (eg. $var/sig)\n"
 msgstr ""
 
-#: src/attrib.c:655
+#: src/attrib.c:706
 #, c-format
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr ""
 
-#: src/attrib.c:656
+#: src/attrib.c:707
 #, c-format
 msgid "#  followup_to=STRING\n"
 msgstr ""
 
-#: src/attrib.c:657
+#: src/attrib.c:708
 #, c-format
-msgid "#  mailing_list=STRING (ie. majordomo@example.org)\n"
+msgid "#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr ""
 
-#: src/attrib.c:658
+#: src/attrib.c:709
 #, c-format
-msgid "#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
+msgid "#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr ""
 
-#: src/attrib.c:659
+#: src/attrib.c:710
 #, c-format
-msgid "#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
+msgid "#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr ""
 
-#: src/attrib.c:660
+#: src/attrib.c:711
 #, c-format
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr ""
 
-#: src/attrib.c:661
+#: src/attrib.c:712
 #, c-format
 msgid "#  news_quote_format=STRING\n"
 msgstr ""
 
-#: src/attrib.c:662
+#: src/attrib.c:713
 #, c-format
 msgid "#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr ""
 
-#: src/attrib.c:663
+#: src/attrib.c:714
 #, c-format
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr ""
 
-#: src/attrib.c:665
+#: src/attrib.c:716
 #, c-format
 msgid "#  ispell=STRING\n"
 msgstr ""
 
-#: src/attrib.c:667
+#: src/attrib.c:718
 #, c-format
 msgid "#  auto_select=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:668
+#: src/attrib.c:719
 #, c-format
 msgid "#  auto_save=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:669
+#: src/attrib.c:720
 #, c-format
 msgid "#  batch_save=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:670
+#: src/attrib.c:721
 #, c-format
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:671
+#: src/attrib.c:722
 #, c-format
 msgid "#  show_only_unread=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:672
+#: src/attrib.c:723
 #, c-format
 msgid "#  thread_arts=NUM"
 msgstr ""
 
-#: src/attrib.c:679
+#: src/attrib.c:730
 #, c-format
 msgid "#  thread_perc=NUM\n"
 msgstr ""
 
-#: src/attrib.c:680
+#: src/attrib.c:731
 #, c-format
 msgid "#  show_author=NUM\n"
 msgstr ""
 
-#: src/attrib.c:686
+#: src/attrib.c:737
 #, c-format
 msgid "#  show_info=NUM\n"
 msgstr ""
 
-#: src/attrib.c:692
+#: src/attrib.c:743
 #, c-format
 msgid "#  sort_art_type=NUM\n"
 msgstr ""
 
-#: src/attrib.c:710
+#: src/attrib.c:761
 #, c-format
 msgid "#  sort_threads_type=NUM\n"
 msgstr ""
 
-#: src/attrib.c:718
+#: src/attrib.c:769
 #, c-format
 msgid "#  post_proc_type=NUM\n"
 msgstr ""
 
-#: src/attrib.c:723
+#: src/attrib.c:774
 #, c-format
 msgid "#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr ""
 
-#: src/attrib.c:724
+#: src/attrib.c:775
 #, c-format
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:725
+#: src/attrib.c:776
 #, c-format
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:726
+#: src/attrib.c:777
 #, c-format
 msgid "#  quick_kill_header=NUM\n"
 msgstr ""
 
-#: src/attrib.c:727 src/attrib.c:734
+#: src/attrib.c:778 src/attrib.c:785
 #, c-format
 msgid "#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr ""
 
-#: src/attrib.c:728 src/attrib.c:735
+#: src/attrib.c:779 src/attrib.c:786
 #, c-format
 msgid "#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr ""
 
-#: src/attrib.c:729 src/attrib.c:736
+#: src/attrib.c:780 src/attrib.c:787
 #, c-format
 msgid "#    4=msgid 5=lines\n"
 msgstr ""
 
-#: src/attrib.c:730
+#: src/attrib.c:781
 #, c-format
 msgid "#  quick_select_scope=STRING\n"
 msgstr ""
 
-#: src/attrib.c:731
+#: src/attrib.c:782
 #, c-format
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:732
+#: src/attrib.c:783
 #, c-format
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:733
+#: src/attrib.c:784
 #, c-format
 msgid "#  quick_select_header=NUM\n"
 msgstr ""
 
-#: src/attrib.c:737
+#: src/attrib.c:788
 #, c-format
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:738
+#: src/attrib.c:789
 #, c-format
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr ""
 
-#: src/attrib.c:739
+#: src/attrib.c:790
 #, c-format
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:740
+#: src/attrib.c:791
 #, c-format
 msgid "#  mime_forward=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:742
+#: src/attrib.c:793
 #, c-format
 msgid "#  mm_network_charset=supported_charset"
 msgstr ""
 
-#: src/attrib.c:749
+#: src/attrib.c:800
 #, c-format
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr ""
 
-#: src/attrib.c:751
+#: src/attrib.c:802
 #, c-format
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
 msgstr ""
 
-#: src/attrib.c:752
+#: src/attrib.c:803
 #, c-format
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
 msgstr ""
 
-#: src/attrib.c:753
-#, c-format
-msgid ""
-"############################################################################\n"
-"\n"
-msgstr ""
-
-#: src/attrib.c:759
-#, c-format
-msgid "# include extra headers\n"
-msgstr ""
-
-#: src/attrib.c:767
+#: src/attrib.c:804
 #, c-format
-msgid "# in *sources* set post process type to shar only\n"
+msgid "############################################################################\n"
 msgstr ""
 
-#: src/attrib.c:771
-#, c-format
-msgid "# in *binaries* do full post processing but no TeX2ISO conversion,\n"
-msgstr ""
-
-#: src/attrib.c:772
-#, c-format
-msgid "# remove tmp files and set Followup-To: poster\n"
-msgstr ""
-
-#: src/cook.c:559
+#: src/cook.c:558
 msgid "(unknown)"
 msgstr ""
 
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:597 src/filter.c:605
+#: src/filter.c:592 src/filter.c:600
 msgid "Removed from the previous rule: "
 msgstr ""
 
@@ -396,494 +369,499 @@ msgstr ""
 msgid "Article undeleted."
 msgstr ""
 
-#: src/lang.c:66
-msgid "articles"
+#: src/lang.c:65
+#, c-format
+msgid "Article %4d of %4d"
 msgstr ""
 
 #: src/lang.c:67
-msgid "This is a repost of the following article:"
+msgid "articles"
 msgstr ""
 
 #: src/lang.c:68
-msgid "article"
+msgid "This is a repost of the following article:"
 msgstr ""
 
 #: src/lang.c:69
-msgid "Article"
+msgid "article"
 msgstr ""
 
 #: src/lang.c:70
+msgid "Article"
+msgstr ""
+
+#: src/lang.c:71
 #, c-format
 msgid "-- %d %s mailed --"
 msgstr ""
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid " at %s"
 msgstr ""
 
-#: src/lang.c:72
+#: src/lang.c:73
 #, c-format
 msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n"
 msgstr ""
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid ", charset: "
 msgstr ""
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid "%*s[-- Description: %s --]\n"
 msgstr ""
 
-#: src/lang.c:75
+#: src/lang.c:76
 #, c-format
 msgid "%d Authentication failed"
 msgstr ""
 
-#: src/lang.c:76
+#: src/lang.c:77
 msgid "Server expects authentication.\n"
 msgstr ""
 
-#: src/lang.c:77
+#: src/lang.c:78
 msgid "    Please enter password: "
 msgstr ""
 
-#: src/lang.c:78
+#: src/lang.c:79
 msgid "    Please enter username: "
 msgstr ""
 
-#: src/lang.c:79
+#: src/lang.c:80
 #, c-format
 msgid "Author search backwards [%s]> "
 msgstr ""
 
-#: src/lang.c:80
+#: src/lang.c:81
 #, c-format
 msgid "Author search forwards [%s]> "
 msgstr ""
 
-#: src/lang.c:81
+#: src/lang.c:82
 #, c-format
 msgid "Authorized for user: %s\n"
 msgstr ""
 
-#: src/lang.c:82
+#: src/lang.c:83
 #, c-format
 msgid "Authorization failed for user: %s\n"
 msgstr ""
 
-#: src/lang.c:83
+#: src/lang.c:84
 #, c-format
 msgid ""
 "\n"
 "Autosubscribed to %s"
 msgstr ""
 
-#: src/lang.c:84
+#: src/lang.c:85
 msgid "Autosubscribing groups...\n"
 msgstr ""
 
-#: src/lang.c:85
+#: src/lang.c:86
 #, c-format
 msgid "Autoselecting articles (use '%s' to see all unread) ..."
 msgstr ""
 
-#: src/lang.c:87
+#: src/lang.c:88
 #, c-format
 msgid "Active file corrupt - %s"
 msgstr ""
 
-#: src/lang.c:88
+#: src/lang.c:89
 #, c-format
 msgid ""
 "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr ""
 
-#: src/lang.c:89
+#: src/lang.c:90
 #, c-format
 msgid "Unrecognized attribute: %s"
 msgstr ""
 
-#: src/lang.c:90
+#: src/lang.c:91
 #, c-format
 msgid "Bad command. Type '%s' for help."
 msgstr ""
 
-#: src/lang.c:92
+#: src/lang.c:93
 msgid "Base article"
 msgstr ""
 
-#: src/lang.c:93
+#: src/lang.c:94
 msgid "Base article range"
 msgstr ""
 
-#: src/lang.c:94
+#: src/lang.c:95
 #, c-format
 msgid "%s: Updating of index files not supported\n"
 msgstr ""
 
-#: src/lang.c:95
+#: src/lang.c:96
 msgid "*** Beginning of article ***"
 msgstr ""
 
-#: src/lang.c:97
+#: src/lang.c:98
 #, c-format
 msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:98
+#: src/lang.c:99
 msgid "Cancelling article..."
 msgstr ""
 
-#: src/lang.c:100
+#: src/lang.c:101
 #, c-format
 msgid "Cannot create %s"
 msgstr ""
 
-#: src/lang.c:101
+#: src/lang.c:102
 #, c-format
 msgid "Can't find base article %d"
 msgstr ""
 
-#: src/lang.c:102
+#: src/lang.c:103
 #, c-format
 msgid "Can't open %s"
 msgstr ""
 
-#: src/lang.c:103
+#: src/lang.c:104
 #, c-format
 msgid "Couldn't open %s for saving"
 msgstr ""
 
-#: src/lang.c:104
+#: src/lang.c:105
 msgid "*** Posting not allowed ***"
 msgstr ""
 
-#: src/lang.c:105
+#: src/lang.c:106
 #, c-format
 msgid "Posting is not allowed to %s"
 msgstr ""
 
-#: src/lang.c:106
+#: src/lang.c:107
 #, c-format
 msgid "Can't retrieve %s"
 msgstr ""
 
-#: src/lang.c:107
+#: src/lang.c:108
 #, c-format
 msgid "%s is a directory"
 msgstr ""
 
-#: src/lang.c:108
+#: src/lang.c:109
 msgid "Catchup"
 msgstr ""
 
-#: src/lang.c:109
+#: src/lang.c:110
 #, c-format
 msgid "Catchup %s..."
 msgstr ""
 
-#: src/lang.c:110
+#: src/lang.c:111
 msgid "Catchup all groups entered during this session?"
 msgstr ""
 
-#: src/lang.c:111
+#: src/lang.c:112
 msgid "You have tagged articles in this group - catchup anyway?"
 msgstr ""
 
-#: src/lang.c:112
+#: src/lang.c:113
 #, c-format
 msgid "%s %d %s in %lu seconds\n"
 msgstr ""
 
-#: src/lang.c:113
+#: src/lang.c:114
 msgid "Caughtup"
 msgstr ""
 
-#: src/lang.c:114
+#: src/lang.c:115
 msgid "Check Prepared Article"
 msgstr ""
 
-#: src/lang.c:115
+#: src/lang.c:116
 msgid "Checking for new groups... "
 msgstr ""
 
-#: src/lang.c:116
+#: src/lang.c:117
 msgid "Checking for news..."
 msgstr ""
 
-#: src/lang.c:117
+#: src/lang.c:118
 #, c-format
 msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr ""
 
-#: src/lang.c:119
+#: src/lang.c:120
 msgid "ANSI color disabled"
 msgstr ""
 
-#: src/lang.c:120
+#: src/lang.c:121
 msgid "ANSI color enabled"
 msgstr ""
 
-#: src/lang.c:122
+#: src/lang.c:123
 #, c-format
 msgid "Command failed: %s"
 msgstr ""
 
-#: src/lang.c:123
+#: src/lang.c:124
 msgid "Mark not selected articles read?"
 msgstr ""
 
-#: src/lang.c:124
+#: src/lang.c:125
 #, c-format
 msgid "Connecting to %s..."
 msgstr ""
 
-#: src/lang.c:125
+#: src/lang.c:126
 msgid "<CR>"
 msgstr ""
 
-#: src/lang.c:126
+#: src/lang.c:127
 msgid "Creating active file for saved groups...\n"
 msgstr ""
 
-#: src/lang.c:127
+#: src/lang.c:128
 msgid "Creating newsrc file...\n"
 msgstr ""
 
-#: src/lang.c:129 src/lang.c:1150
+#: src/lang.c:130 src/lang.c:1150
 msgid "Default"
 msgstr ""
 
-#: src/lang.c:130
+#: src/lang.c:131
 msgid "Delete saved files that have been post processed?"
 msgstr ""
 
-#: src/lang.c:131
+#: src/lang.c:132
 msgid "Deleting temporary files..."
 msgstr ""
 
-#: src/lang.c:133
+#: src/lang.c:134
 msgid "*** End of article ***"
 msgstr ""
 
-#: src/lang.c:134
+#: src/lang.c:135
 msgid "*** End of articles ***"
 msgstr ""
 
-#: src/lang.c:135
+#: src/lang.c:136
 msgid "*** End of groups ***"
 msgstr ""
 
-#: src/lang.c:136
+#: src/lang.c:137
 msgid "*** End of thread ***"
 msgstr ""
 
-#: src/lang.c:137
+#: src/lang.c:138
 msgid "Enter limit of articles to get> "
 msgstr ""
 
-#: src/lang.c:138
+#: src/lang.c:139
 msgid "Enter Message-ID to go to> "
 msgstr ""
 
-#: src/lang.c:139
+#: src/lang.c:140
 msgid " and enter next unread thread"
 msgstr ""
 
-#: src/lang.c:140
+#: src/lang.c:141
 msgid " and enter next unread group"
 msgstr ""
 
-#: src/lang.c:141
+#: src/lang.c:142
 msgid "Enter option number> "
 msgstr ""
 
-#: src/lang.c:142
+#: src/lang.c:143
 #, c-format
 msgid "Enter range [%s]> "
 msgstr ""
 
-#: src/lang.c:143
+#: src/lang.c:144
 msgid ""
 "\n"
 "Warning: Approved: header used.\n"
 msgstr ""
 
-#: src/lang.c:145
+#: src/lang.c:146
 msgid ""
 "\n"
 "Error: Bad address in Approved: header.\n"
 msgstr ""
 
-#: src/lang.c:146
+#: src/lang.c:147
 msgid ""
 "\n"
 "Error: Bad address in From: header.\n"
 msgstr ""
 
-#: src/lang.c:147
+#: src/lang.c:148
 msgid ""
 "\n"
 "Error: Bad address in Reply-To: header.\n"
 msgstr ""
 
-#: src/lang.c:148
+#: src/lang.c:149
 msgid ""
 "\n"
 "Error: Bad FQDN in Message-ID: header.\n"
 msgstr ""
 
-#: src/lang.c:149
+#: src/lang.c:150
 #, c-format
 msgid "Can't unlock %s"
 msgstr ""
 
-#: src/lang.c:151
+#: src/lang.c:152
 #, c-format
 msgid "Corrupted file %s"
 msgstr ""
 
-#: src/lang.c:152
+#: src/lang.c:153
 #, c-format
 msgid "Couldn't dotlock %s - article not appended!"
 msgstr ""
 
-#: src/lang.c:153
+#: src/lang.c:154
 #, c-format
 msgid "Couldn't lock %s - article not appended!"
 msgstr ""
 
-#: src/lang.c:155
+#: src/lang.c:156
 msgid "Internal error in GNKSA routine - send bug report.\n"
 msgstr ""
 
-#: src/lang.c:156
+#: src/lang.c:157
 msgid "Left angle bracket missing in route address.\n"
 msgstr ""
 
-#: src/lang.c:157
+#: src/lang.c:158
 msgid "Left parenthesis missing in old-style address.\n"
 msgstr ""
 
-#: src/lang.c:158
+#: src/lang.c:159
 msgid "Right parenthesis missing in old-style address.\n"
 msgstr ""
 
-#: src/lang.c:159
+#: src/lang.c:160
 msgid "At-sign missing in mail address.\n"
 msgstr ""
 
-#: src/lang.c:160
+#: src/lang.c:161
 msgid "Single component FQDN is not allowed. Add your domain.\n"
 msgstr ""
 
-#: src/lang.c:161
+#: src/lang.c:162
 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:162
+#: src/lang.c:163
 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:163
+#: src/lang.c:164
 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:164
+#: src/lang.c:165
 msgid "Illegal character in FQDN.\n"
 msgstr ""
 
-#: src/lang.c:165
+#: src/lang.c:166
 msgid "Zero length FQDN component not allowed.\n"
 msgstr ""
 
-#: src/lang.c:166
+#: src/lang.c:167
 msgid "FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr ""
 
-#: src/lang.c:167
+#: src/lang.c:168
 msgid "FQDN component may not start or end with hyphen.\n"
 msgstr ""
 
-#: src/lang.c:168
+#: src/lang.c:169
 msgid "FQDN component may not start with digit.\n"
 msgstr ""
 
-#: src/lang.c:169
+#: src/lang.c:170
 msgid "Domain literal has impossible numeric value.\n"
 msgstr ""
 
-#: src/lang.c:170
+#: src/lang.c:171
 msgid ""
 "Domain literal is for private use only and not allowed for global use.\n"
 msgstr ""
 
-#: src/lang.c:171
+#: src/lang.c:172
 msgid "Right bracket missing in domain literal.\n"
 msgstr ""
 
-#: src/lang.c:172
+#: src/lang.c:173
 msgid "Missing localpart of mail address.\n"
 msgstr ""
 
-#: src/lang.c:173
+#: src/lang.c:174
 msgid "Illegal character in localpart of mail address.\n"
 msgstr ""
 
-#: src/lang.c:174
+#: src/lang.c:175
 msgid "Zero length localpart component not allowed.\n"
 msgstr ""
 
-#: src/lang.c:175
+#: src/lang.c:176
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr ""
 
-#: src/lang.c:176
+#: src/lang.c:177
 msgid ""
 "Illegal character in realname.\n"
 "Quoted words may not contain '()<>\\'.\n"
 msgstr ""
 
-#: src/lang.c:177
+#: src/lang.c:178
 msgid ""
 "Illegal character in realname.\n"
 "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr ""
 
-#: src/lang.c:178
+#: src/lang.c:179
 msgid "Bad syntax in encoded word used in realname.\n"
 msgstr ""
 
-#: src/lang.c:179
+#: src/lang.c:180
 msgid ""
 "Illegal character in realname.\n"
 "Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr ""
 
-#: src/lang.c:180
+#: src/lang.c:181
 msgid ""
 "Illegal character in realname.\n"
 "Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr ""
 
-#: src/lang.c:181
+#: src/lang.c:182
 msgid ""
 "\n"
 "Error: No blank line found after header.\n"
 msgstr ""
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:183
+#: src/lang.c:184
 msgid ""
 "\n"
 "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -892,7 +870,7 @@ msgid ""
 "       editing tinrc.\n"
 msgstr ""
 
-#: src/lang.c:188
+#: src/lang.c:189
 msgid ""
 "\n"
 "Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -902,13 +880,13 @@ msgid ""
 "       using the M)enu of configurable options or by editing tinrc.\n"
 msgstr ""
 
-#: src/lang.c:194
+#: src/lang.c:195
 msgid ""
 "\n"
 "Error: Article starts with blank line instead of header\n"
 msgstr ""
 
-#: src/lang.c:195
+#: src/lang.c:196
 #, c-format
 msgid ""
 "\n"
@@ -916,21 +894,21 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:196
+#: src/lang.c:197
 #, c-format
 msgid ""
 "\n"
 "Error: The \"%s:\" line is empty.\n"
 msgstr ""
 
-#: src/lang.c:197
+#: src/lang.c:198
 #, c-format
 msgid ""
 "\n"
 "Error: The \"%s:\" line is missing from the article header.\n"
 msgstr ""
 
-#: src/lang.c:198
+#: src/lang.c:199
 #, c-format
 msgid ""
 "\n"
@@ -938,152 +916,152 @@ msgid ""
 "%s\n"
 msgstr ""
 
-#: src/lang.c:199
+#: src/lang.c:200
 #, c-format
 msgid ""
 "\n"
 "Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr ""
 
-#: src/lang.c:200
+#: src/lang.c:201
 #, c-format
 msgid "Insecure permissions of %s (%o)"
 msgstr ""
 
-#: src/lang.c:201
+#: src/lang.c:202
 #, c-format
 msgid "Invalid response to GROUP command, %s"
 msgstr ""
 
-#: src/lang.c:203
+#: src/lang.c:204
 #, c-format
 msgid "MIME parse error: Unexpected end of %s/%s article"
 msgstr ""
 
-#: src/lang.c:204
+#: src/lang.c:205
 msgid "MIME parse error: Start boundary whilst reading headers"
 msgstr ""
 
-#: src/lang.c:205
+#: src/lang.c:206
 msgid "Can't get a (fully-qualified) domain-name!"
 msgstr ""
 
-#: src/lang.c:206
+#: src/lang.c:207
 #, c-format
 msgid "No permissions to go into %s\n"
 msgstr ""
 
-#: src/lang.c:207
+#: src/lang.c:208
 msgid ""
 "\n"
 "Error: From: line missing.\n"
 msgstr ""
 
-#: src/lang.c:208
+#: src/lang.c:209
 #, c-format
 msgid "No read permissions for %s\n"
 msgstr ""
 
-#: src/lang.c:209
+#: src/lang.c:210
 #, c-format
 msgid "File %s does not exist\n"
 msgstr ""
 
-#: src/lang.c:210
+#: src/lang.c:211
 #, c-format
 msgid "No write permissions for %s\n"
 msgstr ""
 
-#: src/lang.c:211
+#: src/lang.c:212
 msgid "Can't get user information (/etc/passwd missing?)"
 msgstr ""
 
-#: src/lang.c:212
+#: src/lang.c:213
 msgid "errors"
 msgstr ""
 
-#: src/lang.c:213
+#: src/lang.c:214
 #, c-format
 msgid ""
 "\n"
 "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
 msgstr ""
 
-#: src/lang.c:214
+#: src/lang.c:215
 #, c-format
 msgid "Server has non of the groups listed in %s"
 msgstr ""
 
-#: src/lang.c:215
+#: src/lang.c:216
 msgid "error"
 msgstr ""
 
-#: src/lang.c:216
+#: src/lang.c:217
 msgid "Unknown display level"
 msgstr ""
 
-#: src/lang.c:217
+#: src/lang.c:218
 msgid "<ESC>"
 msgstr ""
 
-#: src/lang.c:218
+#: src/lang.c:219
 msgid "Exiting..."
 msgstr ""
 
-#: src/lang.c:219
+#: src/lang.c:220
 msgid "leaving external mail-reader"
 msgstr ""
 
-#: src/lang.c:220
+#: src/lang.c:221
 #, c-format
 msgid "Extracting %s..."
 msgstr ""
 
-#: src/lang.c:222
+#: src/lang.c:223
 #, c-format
 msgid "Error writing %s file. Filesystem full? File reset to previous state."
 msgstr ""
 
-#: src/lang.c:223
+#: src/lang.c:224
 #, c-format
 msgid "Error making backup of %s file. Filesystem full?"
 msgstr ""
 
-#: src/lang.c:224
+#: src/lang.c:225
 #, c-format
 msgid "Filtering global rules (%d/%d)..."
 msgstr ""
 
-#: src/lang.c:225
+#: src/lang.c:226
 msgid "Rule created by: "
 msgstr ""
 
-#: src/lang.c:226
+#: src/lang.c:227
 #, c-format
 msgid "Enter pattern [%s]> "
 msgstr ""
 
-#: src/lang.c:227
+#: src/lang.c:228
 #, c-format
 msgid ""
 "\n"
 "You requested followups to your article to go to the following %s:\n"
 msgstr ""
 
-#: src/lang.c:228
+#: src/lang.c:229
 #, c-format
 msgid "  %s\t Answers will be directed to you by mail.\n"
 msgstr ""
 
-#: src/lang.c:229
+#: src/lang.c:230
 msgid "-- forwarded message --\n"
 msgstr ""
 
-#: src/lang.c:230
+#: src/lang.c:231
 msgid "-- end of forwarded message --\n"
 msgstr ""
 
-#: src/lang.c:231
+#: src/lang.c:232
 msgid ""
 "# Format:\n"
 "#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1114,757 +1092,757 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:252
+#: src/lang.c:253
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr ""
 
-#: src/lang.c:253
+#: src/lang.c:254
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr ""
 
 #. SCORE_MAX
-#: src/lang.c:254
+#: src/lang.c:255
 msgid "Full"
 msgstr ""
 
-#: src/lang.c:255
+#: src/lang.c:256
 msgid "Comment (optional)  : "
 msgstr ""
 
-#: src/lang.c:256
+#: src/lang.c:257
 msgid "Apply pattern to    : "
 msgstr ""
 
-#: src/lang.c:257
+#: src/lang.c:258
 msgid "From: line (ignore case)      "
 msgstr ""
 
-#: src/lang.c:258
+#: src/lang.c:259
 msgid "From: line (case sensitive)   "
 msgstr ""
 
-#: src/lang.c:260
+#: src/lang.c:261
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr ""
 
-#: src/lang.c:261
+#: src/lang.c:262
 msgid "global "
 msgstr ""
 
-#: src/lang.c:262
+#: src/lang.c:263
 #, c-format
 msgid "Please use %.100s instead"
 msgstr ""
 
-#: src/lang.c:263
+#: src/lang.c:264
 #, c-format
 msgid "%s is bogus"
 msgstr ""
 
-#: src/lang.c:264
+#: src/lang.c:265
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr ""
 
-#: src/lang.c:265
+#: src/lang.c:266
 msgid "groups"
 msgstr ""
 
-#: src/lang.c:266
+#: src/lang.c:267
 #, c-format
 msgid "Rereading %s..."
 msgstr ""
 
-#: src/lang.c:267
+#: src/lang.c:268
 msgid "Top Level Commands"
 msgstr ""
 
-#: src/lang.c:268
+#: src/lang.c:269
 msgid "Group Selection"
 msgstr ""
 
-#: src/lang.c:269
+#: src/lang.c:270
 msgid "group"
 msgstr ""
 
-#: src/lang.c:271
+#: src/lang.c:272
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 
-#: src/lang.c:272
+#: src/lang.c:273
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:273
+#: src/lang.c:274
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr ""
 
-#: src/lang.c:274
+#: src/lang.c:275
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:275
+#: src/lang.c:276
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:276
+#: src/lang.c:277
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr ""
 
-#: src/lang.c:277
+#: src/lang.c:278
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:278
+#: src/lang.c:279
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:279
+#: src/lang.c:280
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:280
+#: src/lang.c:281
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:281
+#: src/lang.c:282
 msgid "kill an article via a menu"
 msgstr ""
 
-#: src/lang.c:282
+#: src/lang.c:283
 msgid "auto-select (hot) an article via a menu"
 msgstr ""
 
-#: src/lang.c:283
+#: src/lang.c:284
 msgid "Browse URLs in article"
 msgstr ""
 
-#: src/lang.c:284
+#: src/lang.c:285
 msgid "0 - 9\t  display article by number in current thread"
 msgstr ""
 
-#: src/lang.c:285
+#: src/lang.c:286
 msgid "cancel (delete) or supersede (overwrite) current article"
 msgstr ""
 
-#: src/lang.c:286
+#: src/lang.c:287
 msgid "edit article (mail-groups only)"
 msgstr ""
 
-#: src/lang.c:287
+#: src/lang.c:288
 msgid "display first article in current thread"
 msgstr ""
 
-#: src/lang.c:288
+#: src/lang.c:289
 msgid "display first page of article"
 msgstr ""
 
-#: src/lang.c:289
+#: src/lang.c:290
 msgid "post followup to current article"
 msgstr ""
 
-#: src/lang.c:290
+#: src/lang.c:291
 msgid "post followup (don't copy text) to current article"
 msgstr ""
 
-#: src/lang.c:291
+#: src/lang.c:292
 msgid "post followup to current article quoting complete headers"
 msgstr ""
 
-#: src/lang.c:292
+#: src/lang.c:293
 msgid "display last article in current thread"
 msgstr ""
 
-#: src/lang.c:293
+#: src/lang.c:294
 msgid "display last page of article"
 msgstr ""
 
-#: src/lang.c:294
+#: src/lang.c:295
 msgid "mark rest of thread as read and advance to next unread"
 msgstr ""
 
-#: src/lang.c:295
+#: src/lang.c:296
 msgid "display next article"
 msgstr ""
 
-#: src/lang.c:296
+#: src/lang.c:297
 msgid "display first article in next thread"
 msgstr ""
 
-#: src/lang.c:297
+#: src/lang.c:298
 msgid "display next unread article"
 msgstr ""
 
-#: src/lang.c:298
+#: src/lang.c:299
 msgid "go to the article that this one followed up"
 msgstr ""
 
-#: src/lang.c:299
+#: src/lang.c:300
 msgid "display previous article"
 msgstr ""
 
-#: src/lang.c:300
+#: src/lang.c:301
 msgid "display previous unread article"
 msgstr ""
 
-#: src/lang.c:301
+#: src/lang.c:302
 msgid "quickly kill an article using defaults"
 msgstr ""
 
-#: src/lang.c:302
+#: src/lang.c:303
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr ""
 
-#: src/lang.c:303
+#: src/lang.c:304
 msgid "return to group selection level"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:305
 msgid "reply through mail to author"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:306
 msgid "reply through mail (don't copy text) to author"
 msgstr ""
 
-#: src/lang.c:306
+#: src/lang.c:307
 msgid "reply through mail to author quoting complete headers"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:308
 msgid "repost chosen article to another group"
 msgstr ""
 
-#: src/lang.c:308
+#: src/lang.c:309
 msgid "search backwards within this article"
 msgstr ""
 
-#: src/lang.c:309
+#: src/lang.c:310
 msgid "search forwards within this article"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:311
 msgid "show article in raw-mode (including all headers)"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:312
 msgid "skip next block of included text"
 msgstr ""
 
-#: src/lang.c:312
+#: src/lang.c:313
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:314
 msgid "toggle word highlighting on/off"
 msgstr ""
 
-#: src/lang.c:314
+#: src/lang.c:315
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:316
 msgid "toggle tabwidth 4 <-> 8"
 msgstr ""
 
-#: src/lang.c:316
+#: src/lang.c:317
 msgid "toggle german TeX style decoding for current article"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:318
 msgid "toggle display of uuencoded sections"
 msgstr ""
 
-#: src/lang.c:318
+#: src/lang.c:319
 msgid "View/save multimedia attachments"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:320
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr ""
 
-#: src/lang.c:320
+#: src/lang.c:321
 msgid "choose range of articles to be affected by next command"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:322
 msgid "escape from command prompt"
 msgstr ""
 
-#: src/lang.c:322
+#: src/lang.c:323
 msgid "edit filter file"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:324
 msgid "get help"
 msgstr ""
 
-#: src/lang.c:324
+#: src/lang.c:325
 msgid "display last article viewed"
 msgstr ""
 
-#: src/lang.c:325
+#: src/lang.c:326
 msgid "down one line"
 msgstr ""
 
-#: src/lang.c:326
+#: src/lang.c:327
 msgid "up one line"
 msgstr ""
 
-#: src/lang.c:327
+#: src/lang.c:328
 msgid "go to article chosen by Message-ID"
 msgstr ""
 
-#: src/lang.c:328
+#: src/lang.c:329
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr ""
 
-#: src/lang.c:329
+#: src/lang.c:330
 msgid "menu of configurable options"
 msgstr ""
 
-#: src/lang.c:330
+#: src/lang.c:331
 msgid "down one page"
 msgstr ""
 
-#: src/lang.c:331
+#: src/lang.c:332
 msgid "up one page"
 msgstr ""
 
-#: src/lang.c:332
+#: src/lang.c:333
 msgid "post (write) article to current group"
 msgstr ""
 
-#: src/lang.c:333
+#: src/lang.c:334
 msgid "post postponed articles"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:335
 msgid "list articles posted by you (from posted file)"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:336
 msgid "return to previous menu"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:337
 msgid "quit tin immediately"
 msgstr ""
 
-#: src/lang.c:337
+#: src/lang.c:338
 msgid "redraw page"
 msgstr ""
 
-#: src/lang.c:338
+#: src/lang.c:339
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr ""
 
-#: src/lang.c:339
+#: src/lang.c:340
 msgid "save marked articles automatically without user prompts"
 msgstr ""
 
-#: src/lang.c:340
+#: src/lang.c:341
 msgid "scroll the screen one line down"
 msgstr ""
 
-#: src/lang.c:341
+#: src/lang.c:342
 msgid "scroll the screen one line up"
 msgstr ""
 
-#: src/lang.c:342
+#: src/lang.c:343
 msgid "search for articles by author backwards"
 msgstr ""
 
-#: src/lang.c:343
+#: src/lang.c:344
 msgid "search for articles by author forwards"
 msgstr ""
 
-#: src/lang.c:344
+#: src/lang.c:345
 msgid "search all articles for a given string (this may take some time)"
 msgstr ""
 
-#: src/lang.c:345
+#: src/lang.c:346
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:347
 msgid "search for articles by Subject line backwards"
 msgstr ""
 
-#: src/lang.c:347
+#: src/lang.c:348
 msgid "search for articles by Subject line forwards"
 msgstr ""
 
-#: src/lang.c:348
+#: src/lang.c:349
 msgid "repeat last search"
 msgstr ""
 
-#: src/lang.c:349
+#: src/lang.c:350
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr ""
 
-#: src/lang.c:350
+#: src/lang.c:351
 msgid "toggle info message in last line (subject/description)"
 msgstr ""
 
-#: src/lang.c:351
+#: src/lang.c:352
 msgid "toggle inverse video"
 msgstr ""
 
-#: src/lang.c:352
+#: src/lang.c:353
 msgid "toggle mini help menu display"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:354
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr ""
 
-#: src/lang.c:354
+#: src/lang.c:355
 msgid "show version information"
 msgstr ""
 
-#: src/lang.c:355
+#: src/lang.c:356
 msgid "mark all articles as read and return to group selection menu"
 msgstr ""
 
-#: src/lang.c:356
+#: src/lang.c:357
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr ""
 
-#: src/lang.c:357
+#: src/lang.c:358
 msgid "choose first thread in list"
 msgstr ""
 
-#: src/lang.c:358
+#: src/lang.c:359
 msgid "choose last thread in list"
 msgstr ""
 
-#: src/lang.c:359
+#: src/lang.c:360
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr ""
 
-#: src/lang.c:360
+#: src/lang.c:361
 msgid "mark article as unread"
 msgstr ""
 
-#: src/lang.c:361
+#: src/lang.c:362
 msgid "mark current thread or tagged threads as read"
 msgstr ""
 
-#: src/lang.c:362
+#: src/lang.c:363
 msgid "mark thread as unread"
 msgstr ""
 
-#: src/lang.c:363
+#: src/lang.c:364
 msgid "toggle display of all/selected articles"
 msgstr ""
 
-#: src/lang.c:364
+#: src/lang.c:365
 msgid "display next group"
 msgstr ""
 
-#: src/lang.c:365
+#: src/lang.c:366
 msgid "display previous group"
 msgstr ""
 
-#: src/lang.c:366
+#: src/lang.c:367
 msgid "toggle all selections (all articles)"
 msgstr ""
 
-#: src/lang.c:367
+#: src/lang.c:368
 msgid "select group (make \"hot\")"
 msgstr ""
 
-#: src/lang.c:368
+#: src/lang.c:369
 msgid "select thread"
 msgstr ""
 
-#: src/lang.c:369
+#: src/lang.c:370
 msgid "select threads if at least one unread article is selected"
 msgstr ""
 
-#: src/lang.c:370
+#: src/lang.c:371
 msgid "select threads that match user specified pattern"
 msgstr ""
 
-#: src/lang.c:371
+#: src/lang.c:372
 msgid "tag all parts of current multipart-message in order"
 msgstr ""
 
-#: src/lang.c:372
+#: src/lang.c:373
 msgid "0 - 9\t  choose thread by number"
 msgstr ""
 
-#: src/lang.c:373
+#: src/lang.c:374
 msgid "toggle limit number of articles to get, and reload"
 msgstr ""
 
-#: src/lang.c:374
+#: src/lang.c:375
 msgid "toggle display of all/unread articles"
 msgstr ""
 
-#: src/lang.c:375
+#: src/lang.c:376
 msgid "toggle selection of thread"
 msgstr ""
 
-#: src/lang.c:376
+#: src/lang.c:377
 msgid "cycle through threading options available"
 msgstr ""
 
-#: src/lang.c:377
+#: src/lang.c:378
 msgid "undo all selections (all articles)"
 msgstr ""
 
-#: src/lang.c:378
+#: src/lang.c:379
 msgid "untag all tagged threads"
 msgstr ""
 
-#: src/lang.c:379
+#: src/lang.c:380
 msgid "mark all articles in group as read"
 msgstr ""
 
-#: src/lang.c:380
+#: src/lang.c:381
 msgid "mark all articles in group as read and move to next unread group"
 msgstr ""
 
-#: src/lang.c:381
+#: src/lang.c:382
 msgid "choose first group in list"
 msgstr ""
 
-#: src/lang.c:382
+#: src/lang.c:383
 msgid "choose group by name"
 msgstr ""
 
-#: src/lang.c:383
+#: src/lang.c:384
 msgid "0 - 9\t  choose group by number"
 msgstr ""
 
-#: src/lang.c:384
+#: src/lang.c:385
 msgid "choose range of groups to be affected by next command"
 msgstr ""
 
-#: src/lang.c:385
+#: src/lang.c:386
 msgid "choose last group in list"
 msgstr ""
 
-#: src/lang.c:386
+#: src/lang.c:387
 msgid "mark all articles in chosen group unread"
 msgstr ""
 
-#: src/lang.c:387
+#: src/lang.c:388
 msgid "move chosen group within list"
 msgstr ""
 
-#: src/lang.c:388
+#: src/lang.c:389
 msgid "choose next group with unread news"
 msgstr ""
 
-#: src/lang.c:389 src/lang.c:1197
+#: src/lang.c:390 src/lang.c:1197
 msgid "quit"
 msgstr ""
 
-#: src/lang.c:390
+#: src/lang.c:391
 msgid "quit without saving configuration changes"
 msgstr ""
 
-#: src/lang.c:391
+#: src/lang.c:392
 msgid "read chosen group"
 msgstr ""
 
-#: src/lang.c:392
+#: src/lang.c:393
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr ""
 
-#: src/lang.c:393
+#: src/lang.c:394
 msgid "search backwards for a group name"
 msgstr ""
 
-#: src/lang.c:394
+#: src/lang.c:395
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr ""
 
-#: src/lang.c:395
+#: src/lang.c:396
 msgid "search forwards for a group name"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:397
 msgid "subscribe to chosen group"
 msgstr ""
 
-#: src/lang.c:397
+#: src/lang.c:398
 msgid "subscribe to groups that match pattern"
 msgstr ""
 
-#: src/lang.c:398
+#: src/lang.c:399
 msgid "reread active file to check for any new news"
 msgstr ""
 
-#: src/lang.c:399
+#: src/lang.c:400
 msgid "toggle display of group name only or group name plus description"
 msgstr ""
 
-#: src/lang.c:400
+#: src/lang.c:401
 msgid "toggle display to show all/unread subscribed groups"
 msgstr ""
 
-#: src/lang.c:401
+#: src/lang.c:402
 msgid "unsubscribe from chosen group"
 msgstr ""
 
-#: src/lang.c:402
+#: src/lang.c:403
 msgid "unsubscribe from groups that match pattern"
 msgstr ""
 
-#: src/lang.c:403
+#: src/lang.c:404
 msgid "sort the list of groups"
 msgstr ""
 
-#: src/lang.c:404
+#: src/lang.c:405
 msgid "toggle display to show all/subscribed groups"
 msgstr ""
 
-#: src/lang.c:405
+#: src/lang.c:406
 msgid "0 - 9\t  choose article by number"
 msgstr ""
 
-#: src/lang.c:406
+#: src/lang.c:407
 msgid "mark thread as read and return to group index page"
 msgstr ""
 
-#: src/lang.c:407
+#: src/lang.c:408
 msgid "mark thread as read and enter next unread thread or group"
 msgstr ""
 
-#: src/lang.c:408
+#: src/lang.c:409
 msgid "choose first article in list"
 msgstr ""
 
-#: src/lang.c:409
+#: src/lang.c:410
 msgid "choose last article in list"
 msgstr ""
 
-#: src/lang.c:410
+#: src/lang.c:411
 msgid ""
 "mark article or tagged articles as read and move cursor to next unread "
 "article"
 msgstr ""
 
-#: src/lang.c:411
+#: src/lang.c:412
 msgid "read chosen article"
 msgstr ""
 
-#: src/lang.c:412
+#: src/lang.c:413
 msgid ""
 "Display properties\n"
 "------------------"
 msgstr ""
 
-#: src/lang.c:413
+#: src/lang.c:414
 msgid ""
 "Miscellaneous\n"
 "-------------"
 msgstr ""
 
-#: src/lang.c:414
+#: src/lang.c:415
 msgid ""
 "Moving around\n"
 "-------------"
 msgstr ""
 
-#: src/lang.c:415
+#: src/lang.c:416
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
 msgstr ""
 
-#: src/lang.c:417
+#: src/lang.c:418
 msgid "Group Level Commands"
 msgstr ""
 
-#: src/lang.c:418
+#: src/lang.c:419
 msgid "Kill filter added"
 msgstr ""
 
-#: src/lang.c:419
+#: src/lang.c:420
 msgid "Auto-selection filter added"
 msgstr ""
 
-#: src/lang.c:420
+#: src/lang.c:421
 msgid "All parts tagged"
 msgstr ""
 
-#: src/lang.c:421
+#: src/lang.c:422
 msgid "Storing article for later posting"
 msgstr ""
 
-#: src/lang.c:422
+#: src/lang.c:423
 msgid "Please enter a valid character"
 msgstr ""
 
-#: src/lang.c:423
+#: src/lang.c:424
 #, c-format
 msgid "Missing part #%d"
 msgstr ""
 
-#: src/lang.c:424
+#: src/lang.c:425
 msgid "*** No postponed articles ***"
 msgstr ""
 
-#: src/lang.c:425
+#: src/lang.c:426
 msgid "Not a multi-part message"
 msgstr ""
 
-#: src/lang.c:426
+#: src/lang.c:427
 msgid "You are not subscribed to this group"
 msgstr ""
 
-#: src/lang.c:427
+#: src/lang.c:428
 msgid "No previous expression"
 msgstr ""
 
-#: src/lang.c:428
+#: src/lang.c:429
 msgid "Operation disabled in no-overwrite mode"
 msgstr ""
 
 #. TODO: replace hardcoded key-name in txt_info_postponed
-#: src/lang.c:430
+#: src/lang.c:431
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr ""
 
-#: src/lang.c:431
+#: src/lang.c:432
 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:433
+#: src/lang.c:434
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr ""
 
-#: src/lang.c:434
+#: src/lang.c:435
 msgid "TeX2Iso encoded article"
 msgstr ""
 
-#: src/lang.c:435
+#: src/lang.c:436
 msgid "incomplete "
 msgstr ""
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:437
+#: src/lang.c:438
 #, c-format
 msgid ""
 "\n"
@@ -1902,133 +1880,133 @@ msgid ""
 "Please send bug-reports/comments to %s with the 'R' command.\n"
 msgstr ""
 
-#: src/lang.c:453
+#: src/lang.c:454
 #, c-format
 msgid "Invalid  From: %s  line. Read the INSTALL file again."
 msgstr ""
 
-#: src/lang.c:455
+#: src/lang.c:456
 msgid "Invalid multibyte sequence found\n"
 msgstr ""
 
-#: src/lang.c:457
+#: src/lang.c:458
 #, c-format
 msgid "Invalid  Sender:-header %s"
 msgstr ""
 
-#: src/lang.c:458
+#: src/lang.c:459
 msgid "Inverse video disabled"
 msgstr ""
 
-#: src/lang.c:459
+#: src/lang.c:460
 msgid "Inverse video enabled"
 msgstr ""
 
-#: src/lang.c:461
+#: src/lang.c:462
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr ""
 
-#: src/lang.c:462
+#: src/lang.c:463
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr ""
 
-#: src/lang.c:463
+#: src/lang.c:464
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr ""
 
-#: src/lang.c:464
+#: src/lang.c:465
 #, c-format
 msgid "Keymap file was upgraded to version %s\n"
 msgstr ""
 
-#: src/lang.c:465
+#: src/lang.c:466
 #, c-format
 msgid "Kill From:     [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:466
+#: src/lang.c:467
 msgid "Kill Lines: (</>num): "
 msgstr ""
 
-#: src/lang.c:467
+#: src/lang.c:468
 msgid "Kill Article Menu"
 msgstr ""
 
-#: src/lang.c:468
+#: src/lang.c:469
 #, c-format
 msgid "Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr ""
 
-#: src/lang.c:469
+#: src/lang.c:470
 msgid "Kill pattern scope  : "
 msgstr ""
 
-#: src/lang.c:470
+#: src/lang.c:471
 #, c-format
 msgid "Kill Subject:  [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:471
+#: src/lang.c:472
 msgid "Kill text pattern   : "
 msgstr ""
 
-#: src/lang.c:472
+#: src/lang.c:473
 msgid "Kill time in days   : "
 msgstr ""
 
-#: src/lang.c:474
+#: src/lang.c:475
 msgid "Last"
 msgstr ""
 
-#: src/lang.c:475
+#: src/lang.c:476
 msgid "-- Last response --"
 msgstr ""
 
-#: src/lang.c:476
+#: src/lang.c:477
 #, c-format
 msgid "Lines %s  "
 msgstr ""
 
-#: src/lang.c:478
+#: src/lang.c:479
 msgid "Mail"
 msgstr ""
 
-#: src/lang.c:479
+#: src/lang.c:480
 msgid "mailbox "
 msgstr ""
 
-#: src/lang.c:480
+#: src/lang.c:481
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr ""
 
-#: src/lang.c:481
+#: src/lang.c:482
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr ""
 
-#: src/lang.c:482
+#: src/lang.c:483
 msgid "Mail bug report..."
 msgstr ""
 
-#: src/lang.c:483
+#: src/lang.c:484
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr ""
 
-#: src/lang.c:484
+#: src/lang.c:485
 msgid "Mailed"
 msgstr ""
 
-#: src/lang.c:485
+#: src/lang.c:486
 #, c-format
 msgid "Mailing to %s..."
 msgstr ""
 
-#: src/lang.c:486
+#: src/lang.c:487
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -2036,297 +2014,297 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:489
+#: src/lang.c:490
 #, c-format
 msgid "%s marked as unread"
 msgstr ""
 
-#: src/lang.c:490
+#: src/lang.c:491
 #, c-format
 msgid "Marked %d of %d tagged %s as read"
 msgstr ""
 
-#: src/lang.c:491
+#: src/lang.c:492
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr ""
 
-#: src/lang.c:492
+#: src/lang.c:493
 #, c-format
 msgid "Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr ""
 
-#: src/lang.c:493
+#: src/lang.c:494
 #, c-format
 msgid "Mark group %s as read?"
 msgstr ""
 
-#: src/lang.c:494
+#: src/lang.c:495
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr ""
 
-#: src/lang.c:495
+#: src/lang.c:496
 #, c-format
 msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr ""
 
-#: src/lang.c:496
+#: src/lang.c:497
 #, c-format
 msgid "Matching %s groups..."
 msgstr ""
 
-#: src/lang.c:497 src/lang.c:501
+#: src/lang.c:498 src/lang.c:502
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr ""
 
-#: src/lang.c:498
+#: src/lang.c:499
 #, c-format
 msgid ""
 "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %"
 "s=list thread"
 msgstr ""
 
-#: src/lang.c:499
+#: src/lang.c:500
 #, c-format
 msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr ""
 
-#: src/lang.c:500
+#: src/lang.c:501
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr ""
 
-#: src/lang.c:502
+#: src/lang.c:503
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr ""
 
-#: src/lang.c:503
+#: src/lang.c:504
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr ""
 
-#: src/lang.c:504
+#: src/lang.c:505
 #, c-format
 msgid ""
 "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr ""
 
-#: src/lang.c:505
+#: src/lang.c:506
 #, c-format
 msgid ""
 "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/"
 "out"
 msgstr ""
 
-#: src/lang.c:506
+#: src/lang.c:507
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr ""
 
-#: src/lang.c:507
+#: src/lang.c:508
 #, c-format
 msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr ""
 
-#: src/lang.c:508
+#: src/lang.c:509
 msgid "--More--"
 msgstr ""
 
-#: src/lang.c:509
+#: src/lang.c:510
 #, c-format
 msgid "Moving %s..."
 msgstr ""
 
-#: src/lang.c:510
+#: src/lang.c:511
 msgid "Message-ID: & last Reference  "
 msgstr ""
 
-#: src/lang.c:511
+#: src/lang.c:512
 msgid "Message-ID: line              "
 msgstr ""
 
-#: src/lang.c:512
+#: src/lang.c:513
 msgid "Message-ID: & References: line"
 msgstr ""
 
-#: src/lang.c:514
+#: src/lang.c:515
 msgid ", name: "
 msgstr ""
 
-#: src/lang.c:515
+#: src/lang.c:516
 #, c-format
 msgid "Goto newsgroup [%s]> "
 msgstr ""
 
-#: src/lang.c:516
+#: src/lang.c:517
 msgid "newsgroups"
 msgstr ""
 
-#: src/lang.c:517
+#: src/lang.c:518
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr ""
 
-#: src/lang.c:518
+#: src/lang.c:519
 msgid "newsgroup"
 msgstr ""
 
-#: src/lang.c:519
+#: src/lang.c:520
 msgid "Try and save newsrc file again?"
 msgstr ""
 
-#: src/lang.c:520
+#: src/lang.c:521
 msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr ""
 
-#: src/lang.c:521
+#: src/lang.c:522
 msgid "newsrc file saved successfully.\n"
 msgstr ""
 
-#: src/lang.c:522
+#: src/lang.c:523
 msgid "-- Next response --"
 msgstr ""
 
-#: src/lang.c:523
+#: src/lang.c:524
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr ""
 
-#: src/lang.c:524
+#: src/lang.c:525
 msgid "No  "
 msgstr ""
 
-#: src/lang.c:525
+#: src/lang.c:526
 msgid "*** No articles ***"
 msgstr ""
 
-#: src/lang.c:526
+#: src/lang.c:527
 msgid "No articles have been posted"
 msgstr ""
 
-#: src/lang.c:527
+#: src/lang.c:528
 msgid "*** No description ***"
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:529
 msgid "No filename"
 msgstr ""
 
-#: src/lang.c:529
+#: src/lang.c:530
 msgid "No group"
 msgstr ""
 
-#: src/lang.c:530
+#: src/lang.c:531
 msgid "*** No groups ***"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:532
 msgid "No more groups to read"
 msgstr ""
 
-#: src/lang.c:532
+#: src/lang.c:533
 msgid "No last message"
 msgstr ""
 
-#: src/lang.c:533
+#: src/lang.c:534
 msgid "No mail address"
 msgstr ""
 
-#: src/lang.c:534
+#: src/lang.c:535
 msgid "No articles marked for saving"
 msgstr ""
 
-#: src/lang.c:535
+#: src/lang.c:536
 msgid "No match"
 msgstr ""
 
-#: src/lang.c:536
+#: src/lang.c:537
 msgid "No more groups"
 msgstr ""
 
-#: src/lang.c:537
+#: src/lang.c:538
 msgid "No newsgroups"
 msgstr ""
 
-#: src/lang.c:538
+#: src/lang.c:539
 msgid "No next unread article"
 msgstr ""
 
-#: src/lang.c:539
+#: src/lang.c:540
 msgid "No previous group"
 msgstr ""
 
-#: src/lang.c:540
+#: src/lang.c:541
 msgid "No previous unread article"
 msgstr ""
 
-#: src/lang.c:541
+#: src/lang.c:542
 msgid "No responses"
 msgstr ""
 
-#: src/lang.c:542
+#: src/lang.c:543
 msgid "No responses to list in current thread"
 msgstr ""
 
-#: src/lang.c:543
+#: src/lang.c:544
 msgid "No search string"
 msgstr ""
 
-#: src/lang.c:544
+#: src/lang.c:545
 msgid "No subject"
 msgstr ""
 
-#: src/lang.c:546
+#: src/lang.c:547
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr ""
 
-#: src/lang.c:547
+#: src/lang.c:548
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr ""
 
-#: src/lang.c:548
+#: src/lang.c:549
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr ""
 
-#: src/lang.c:549
+#: src/lang.c:550
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr ""
 
-#: src/lang.c:550
+#: src/lang.c:551
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr ""
 
-#: src/lang.c:552
+#: src/lang.c:553
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr ""
 
-#: src/lang.c:553
+#: src/lang.c:554
 msgid "Newsgroup does not exist on this server"
 msgstr ""
 
-#: src/lang.c:554
+#: src/lang.c:555
 #, c-format
 msgid "Group %s not found in active file"
 msgstr ""
 
-#: src/lang.c:555
+#: src/lang.c:556
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 
-#: src/lang.c:556
+#: src/lang.c:557
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 
-#: src/lang.c:557
+#: src/lang.c:558
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -2343,174 +2321,170 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:564
+#: src/lang.c:565
 msgid "Only"
 msgstr ""
 
-#: src/lang.c:565
+#: src/lang.c:566
 #, c-format
 msgid "Option not enabled. Recompile with %s."
 msgstr ""
 
-#: src/lang.c:566
+#: src/lang.c:567
 msgid "Options Menu"
 msgstr ""
 
-#: src/lang.c:569
+#: src/lang.c:570
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr ""
 
-#: src/lang.c:570
+#: src/lang.c:571
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr ""
 
-#: src/lang.c:571
+#: src/lang.c:572
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr ""
 
-#: src/lang.c:572
+#: src/lang.c:573
 msgid "Post a followup..."
 msgstr ""
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:574
+#: src/lang.c:575
 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:577
+#: src/lang.c:578
 msgid "Posted articles history"
 msgstr ""
 
-#: src/lang.c:578
+#: src/lang.c:579
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr ""
 
-#: src/lang.c:579
+#: src/lang.c:580
 msgid "-- post processing started --"
 msgstr ""
 
-#: src/lang.c:580
+#: src/lang.c:581
 msgid "-- post processing completed --"
 msgstr ""
 
-#: src/lang.c:581
+#: src/lang.c:582
 #, c-format
 msgid "Post subject [%s]> "
 msgstr ""
 
-#: src/lang.c:582
+#: src/lang.c:583
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
 msgstr ""
 
-#: src/lang.c:583
+#: src/lang.c:584
 msgid "Posting article..."
 msgstr ""
 
-#: src/lang.c:584
+#: src/lang.c:585
 #, c-format
 msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:585
+#: src/lang.c:586
 #, c-format
 msgid "Hot %s"
 msgstr ""
 
-#: src/lang.c:586
+#: src/lang.c:587
 #, c-format
 msgid "Tagged %s"
 msgstr ""
 
-#: src/lang.c:587
+#: src/lang.c:588
 #, c-format
 msgid "Untagged %s"
 msgstr ""
 
-#: src/lang.c:588
+#: src/lang.c:589
 msgid "Processing mail messages marked for deletion."
 msgstr ""
 
-#: src/lang.c:589
+#: src/lang.c:590
 msgid "Processing saved articles marked for deletion."
 msgstr ""
 
-#: src/lang.c:590
+#: src/lang.c:591
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr ""
 
-#: src/lang.c:591
+#: src/lang.c:592
 msgid "Article unchanged, abort mailing?"
 msgstr ""
 
-#: src/lang.c:592
+#: src/lang.c:593
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr ""
 
-#: src/lang.c:594
+#: src/lang.c:595
 msgid "Add quick kill filter?"
 msgstr ""
 
-#: src/lang.c:595
+#: src/lang.c:596
 msgid "Add quick selection filter?"
 msgstr ""
 
-#: src/lang.c:596
+#: src/lang.c:597
 msgid "Do you really want to quit?"
 msgstr ""
 
-#: src/lang.c:597
+#: src/lang.c:598
 #, c-format
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr ""
 
-#: src/lang.c:598
+#: src/lang.c:599
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr ""
 
-#: src/lang.c:599
+#: src/lang.c:600
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:600
+#: src/lang.c:601
 #, c-format
 msgid "%s=quit %s=edit %s=save kill description: "
 msgstr ""
 
-#: src/lang.c:601
+#: src/lang.c:602
 #, c-format
 msgid "%s=quit %s=edit %s=save select description: "
 msgstr ""
 
-#: src/lang.c:602
+#: src/lang.c:603
 msgid "Do you really want to quit without saving your configuration?"
 msgstr ""
 
-#: src/lang.c:605
-msgid "Invalid range - valid are '0-9.$' eg. 1-$"
-msgstr ""
-
 #: src/lang.c:606
-msgid "Do you want to abort this operation?"
+msgid "Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr ""
 
 #: src/lang.c:607
-msgid "Do you want to exit tin immediately?"
+msgid "Do you want to abort this operation?"
 msgstr ""
 
 #: src/lang.c:608
-msgid "Read response> "
+msgid "Do you want to exit tin immediately?"
 msgstr ""
 
 #: src/lang.c:609
@@ -2614,11 +2588,6 @@ msgstr ""
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr ""
 
-#: src/lang.c:634
-#, c-format
-msgid "RespNo %4d of %4d"
-msgstr ""
-
 #: src/lang.c:635
 msgid "Press <RETURN> to continue..."
 msgstr ""
@@ -3362,7 +3331,7 @@ msgid ""
 msgstr ""
 
 #: src/lang.c:843
-msgid "  -D       debug mode 1=NNTP 2=ALL"
+msgid "  -D mode  debug mode"
 msgstr ""
 
 #: src/lang.c:847
@@ -3598,7 +3567,7 @@ msgstr ""
 
 #: src/lang.c:944
 #, c-format
-msgid "Connecting to %s:%d..."
+msgid "Connecting to %s:%u..."
 msgstr ""
 
 #: src/lang.c:945
@@ -3908,7 +3877,7 @@ msgid "Trying %s"
 msgstr ""
 
 #: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328
-#: src/refs.c:296
+#: src/refs.c:304
 msgid "None"
 msgstr ""
 
@@ -4301,10 +4270,10 @@ msgstr ""
 #: src/lang.c:2027 src/lang.c:2034 src/lang.c:2041 src/lang.c:2048
 #: src/lang.c:2056 src/lang.c:2072 src/lang.c:2079 src/lang.c:2086
 #: src/lang.c:2093 src/lang.c:2099 src/lang.c:2105 src/lang.c:2122
-#: src/lang.c:2134 src/lang.c:2168 src/lang.c:2221 src/lang.c:2228
-#: src/lang.c:2234 src/lang.c:2259 src/lang.c:2276 src/lang.c:2329
-#: src/lang.c:2365 src/lang.c:2385 src/lang.c:2420 src/lang.c:2430
-#: src/lang.c:2455 src/lang.c:2471 src/lang.c:2490 src/lang.c:2503
+#: src/lang.c:2134 src/lang.c:2168 src/lang.c:2221 src/lang.c:2235
+#: src/lang.c:2241 src/lang.c:2266 src/lang.c:2283 src/lang.c:2336
+#: src/lang.c:2372 src/lang.c:2392 src/lang.c:2427 src/lang.c:2437
+#: src/lang.c:2462 src/lang.c:2478 src/lang.c:2497 src/lang.c:2510
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
@@ -5674,19 +5643,32 @@ msgstr ""
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr ""
 
+#: src/lang.c:2227
+msgid ""
+"Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
+msgstr ""
+
+#: src/lang.c:2228
+msgid "MM_LOCAL_CHARSET"
+msgstr ""
+
 #: src/lang.c:2229
+msgid "# Charset supported locally.\n"
+msgstr ""
+
+#: src/lang.c:2236
 msgid "Mailbox format"
 msgstr ""
 
-#: src/lang.c:2230
+#: src/lang.c:2237
 msgid "# Format of the mailbox.\n"
 msgstr ""
 
-#: src/lang.c:2235
+#: src/lang.c:2242
 msgid "MIME encoding in news messages"
 msgstr ""
 
-#: src/lang.c:2236
+#: src/lang.c:2243
 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"
@@ -5695,15 +5677,15 @@ msgid ""
 "# Russian charsets with a lot of 8bit characters.\n"
 msgstr ""
 
-#: src/lang.c:2244 src/lang.c:2265
+#: src/lang.c:2251 src/lang.c:2272
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2245
+#: src/lang.c:2252
 msgid "Use 8bit characters in news headers"
 msgstr ""
 
-#: src/lang.c:2246
+#: src/lang.c:2253
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -5711,28 +5693,28 @@ msgid ""
 "# parameter unless post_mime_encoding is 8bit as well.\n"
 msgstr ""
 
-#: src/lang.c:2253
+#: src/lang.c:2260
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2254
+#: src/lang.c:2261
 msgid "View post-processed files"
 msgstr ""
 
-#: src/lang.c:2255
+#: src/lang.c:2262
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr ""
 
-#: src/lang.c:2260
+#: src/lang.c:2267
 msgid "MIME encoding in mail messages"
 msgstr ""
 
-#: src/lang.c:2266
+#: src/lang.c:2273
 msgid "Use 8bit characters in mail headers"
 msgstr ""
 
-#: src/lang.c:2267
+#: src/lang.c:2274
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -5743,173 +5725,173 @@ msgid ""
 "# turn it ON unless you have some compelling reason.\n"
 msgstr ""
 
-#: src/lang.c:2277
+#: src/lang.c:2284
 msgid "Strip blanks from ends of lines"
 msgstr ""
 
-#: src/lang.c:2278
+#: src/lang.c:2285
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
 msgstr ""
 
-#: src/lang.c:2283
+#: src/lang.c:2290
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2284
+#: src/lang.c:2291
 msgid "Transliteration"
 msgstr ""
 
-#: src/lang.c:2285
+#: src/lang.c:2292
 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:2292
+#: src/lang.c:2299
 msgid "Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2293
+#: src/lang.c:2300
 msgid "Send you a cc automatically"
 msgstr ""
 
-#: src/lang.c:2294
+#: src/lang.c:2301
 msgid ""
 "# If ON automatically put your name in the Cc: field when mailing an "
 "article\n"
 msgstr ""
 
-#: src/lang.c:2298
+#: src/lang.c:2305
 msgid ""
 "Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2299
+#: src/lang.c:2306
 msgid "Send you a blind cc automatically"
 msgstr ""
 
-#: src/lang.c:2300
+#: src/lang.c:2307
 msgid ""
 "# If ON automatically put your name in the Bcc: field when mailing an "
 "article\n"
 msgstr ""
 
-#: src/lang.c:2304
+#: src/lang.c:2311
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2305
+#: src/lang.c:2312
 msgid "Spamtrap warning address parts"
 msgstr ""
 
-#: src/lang.c:2306
+#: src/lang.c:2313
 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:2311
+#: src/lang.c:2318
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2312
+#: src/lang.c:2319
 msgid "No. of days a filter entry is valid"
 msgstr ""
 
-#: src/lang.c:2313
+#: src/lang.c:2320
 msgid "# Number of days a short term filter will be active\n"
 msgstr ""
 
-#: src/lang.c:2317
+#: src/lang.c:2324
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2318
+#: src/lang.c:2325
 msgid "Add posted articles to filter"
 msgstr ""
 
-#: src/lang.c:2319
+#: src/lang.c:2326
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
 msgstr ""
 
-#: src/lang.c:2323
+#: src/lang.c:2330
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr ""
 
-#: src/lang.c:2324
+#: src/lang.c:2331
 msgid "Mail directory"
 msgstr ""
 
-#: src/lang.c:2325
+#: src/lang.c:2332
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr ""
 
-#: src/lang.c:2330
+#: src/lang.c:2337
 msgid "Save articles in batch mode (-S)"
 msgstr ""
 
-#: src/lang.c:2331
+#: src/lang.c:2338
 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:2336
+#: src/lang.c:2343
 msgid "The directory where you want articles/threads saved."
 msgstr ""
 
-#: src/lang.c:2337
+#: src/lang.c:2344
 msgid "Directory to save arts/threads in"
 msgstr ""
 
-#: src/lang.c:2338
+#: src/lang.c:2345
 msgid "# Directory where articles/threads are saved\n"
 msgstr ""
 
-#: src/lang.c:2342
+#: src/lang.c:2349
 msgid ""
 "Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> "
 "sets."
 msgstr ""
 
-#: src/lang.c:2343
+#: src/lang.c:2350
 msgid "Use Archive-name: header for save"
 msgstr ""
 
-#: src/lang.c:2344
+#: src/lang.c:2351
 msgid ""
 "# If ON articles/threads with Archive-name: in mail header will\n"
 "# be automatically saved with the Archive-name & part/patch no.\n"
 msgstr ""
 
-#: src/lang.c:2349
+#: src/lang.c:2356
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 
-#: src/lang.c:2350
+#: src/lang.c:2357
 msgid "Mark saved articles/threads as read"
 msgstr ""
 
-#: src/lang.c:2351
+#: src/lang.c:2358
 msgid "# If ON mark articles that are saved as read\n"
 msgstr ""
 
-#: src/lang.c:2355
+#: src/lang.c:2362
 msgid "Do post processing (eg. extract attachments) for saved articles."
 msgstr ""
 
-#: src/lang.c:2356
+#: src/lang.c:2363
 msgid "Post process saved articles"
 msgstr ""
 
-#: src/lang.c:2357
+#: src/lang.c:2364
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
 "# Possible values are (the default is marked with *):\n"
@@ -5918,107 +5900,107 @@ msgid ""
 "#   2 = yes\n"
 msgstr ""
 
-#: src/lang.c:2366
+#: src/lang.c:2373
 msgid "Process only unread articles"
 msgstr ""
 
-#: src/lang.c:2367
+#: src/lang.c:2374
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
 msgstr ""
 
-#: src/lang.c:2372
+#: src/lang.c:2379
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2373
+#: src/lang.c:2380
 msgid "Print all headers when printing"
 msgstr ""
 
-#: src/lang.c:2374
+#: src/lang.c:2381
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
 
-#: src/lang.c:2378
+#: src/lang.c:2385
 msgid ""
 "The printer program with options that is to be used to print articles/"
 "threads."
 msgstr ""
 
-#: src/lang.c:2379
+#: src/lang.c:2386
 msgid "Printer program with options"
 msgstr ""
 
-#: src/lang.c:2380
+#: src/lang.c:2387
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr ""
 
-#: src/lang.c:2386
+#: src/lang.c:2393
 msgid "Force redraw after certain commands"
 msgstr ""
 
-#: src/lang.c:2387
+#: src/lang.c:2394
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 
-#: src/lang.c:2391
+#: src/lang.c:2398
 msgid ""
 "Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2392
+#: src/lang.c:2399
 msgid "Start editor with line offset"
 msgstr ""
 
-#: src/lang.c:2393
+#: src/lang.c:2400
 msgid ""
 "# If ON editor will be started with cursor offset into the file\n"
 "# otherwise the cursor will be positioned at the first line\n"
 msgstr ""
 
-#: src/lang.c:2398
+#: src/lang.c:2405
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr ""
 
-#: src/lang.c:2399
+#: src/lang.c:2406
 msgid "Invocation of your editor"
 msgstr ""
 
-#: src/lang.c:2400
+#: src/lang.c:2407
 #, c-format
 msgid ""
 "# Format of editor line including parameters\n"
 "# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr ""
 
-#: src/lang.c:2405
+#: src/lang.c:2412
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr ""
 
-#: src/lang.c:2406
+#: src/lang.c:2413
 msgid "External inews"
 msgstr ""
 
-#: src/lang.c:2407
+#: src/lang.c:2414
 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:2411
+#: src/lang.c:2418
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 
-#: src/lang.c:2412
+#: src/lang.c:2419
 msgid "Invocation of your mail command"
 msgstr ""
 
-#: src/lang.c:2413
+#: src/lang.c:2420
 #, c-format
 msgid ""
 "# Format of mailer line including parameters\n"
@@ -6027,11 +6009,11 @@ msgid ""
 "# ie. elm interactive          :    elm -i %%F -s \"%%S\" \"%%T\"\n"
 msgstr ""
 
-#: src/lang.c:2421
+#: src/lang.c:2428
 msgid "Use interactive mail reader"
 msgstr ""
 
-#: src/lang.c:2422
+#: src/lang.c:2429
 msgid ""
 "# Interactive mailreader\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6040,58 +6022,58 @@ msgid ""
 "#   2 = use interactive mailreader without headers in file\n"
 msgstr ""
 
-#: src/lang.c:2431
+#: src/lang.c:2438
 msgid "Remove ~/.article after posting"
 msgstr ""
 
-#: src/lang.c:2432
+#: src/lang.c:2439
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr ""
 
-#: src/lang.c:2436
+#: src/lang.c:2443
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 
-#: src/lang.c:2437
+#: src/lang.c:2444
 msgid "Filename for posted articles"
 msgstr ""
 
-#: src/lang.c:2438
+#: src/lang.c:2445
 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:2443
+#: src/lang.c:2450
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2444
+#: src/lang.c:2451
 msgid "Keep failed arts in ~/dead.articles"
 msgstr ""
 
-#: src/lang.c:2445
+#: src/lang.c:2452
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr ""
 
-#: src/lang.c:2449
+#: src/lang.c:2456
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr ""
 
-#: src/lang.c:2450
+#: src/lang.c:2457
 msgid "No unsubscribed groups in newsrc"
 msgstr ""
 
-#: src/lang.c:2451
+#: src/lang.c:2458
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr ""
 
-#: src/lang.c:2456
+#: src/lang.c:2463
 msgid "Remove bogus groups from newsrc"
 msgstr ""
 
-#: src/lang.c:2457
+#: src/lang.c:2464
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6100,58 +6082,58 @@ msgid ""
 "#   2 = highlight with D on selection screen\n"
 msgstr ""
 
-#: src/lang.c:2465
+#: src/lang.c:2472
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2466
+#: src/lang.c:2473
 msgid "Interval in secs to reread active"
 msgstr ""
 
-#: src/lang.c:2467
+#: src/lang.c:2474
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 
-#: src/lang.c:2472
+#: src/lang.c:2479
 msgid "Reconnect to server automatically"
 msgstr ""
 
-#: src/lang.c:2473
+#: src/lang.c:2480
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 
-#: src/lang.c:2477
+#: src/lang.c:2484
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2478
+#: src/lang.c:2485
 msgid "Cache NNTP overview files locally"
 msgstr ""
 
-#: src/lang.c:2479
+#: src/lang.c:2486
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr ""
 
-#: src/lang.c:2483
+#: src/lang.c:2490
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2484
+#: src/lang.c:2491
 msgid "Format string for display of dates"
 msgstr ""
 
-#: src/lang.c:2485
+#: src/lang.c:2492
 msgid "# Format string for date representation\n"
 msgstr ""
 
-#: src/lang.c:2491
+#: src/lang.c:2498
 msgid "Unicode normalization form"
 msgstr ""
 
-#: src/lang.c:2492
+#: src/lang.c:2499
 msgid ""
 "# Unicode normalization form\n"
 "# Possible values are (the default is marked with *):\n"
@@ -6162,49 +6144,54 @@ msgid ""
 "#   4 = NFD\n"
 msgstr ""
 
-#: src/lang.c:2504
+#: src/lang.c:2511
 msgid "Render BiDi"
 msgstr ""
 
-#: src/lang.c:2505
+#: src/lang.c:2512
 msgid "# If ON, bi-directional text is rendered by tin\n"
 msgstr ""
 
-#: src/misc.c:3693
+#: src/misc.c:3697
 #, c-format
 msgid "Version: %s %s release %s (\"%s\") %s %s\n"
 msgstr ""
 
-#: src/misc.c:3696
+#: src/misc.c:3700
 #, c-format
 msgid "Version: %s %s release %s (\"%s\")\n"
 msgstr ""
 
-#: src/newsrc.c:430
+#: src/newsrc.c:436
 msgid "Unreachable?\n"
 msgstr ""
 
-#: src/nntplib.c:816
+#: src/nntplib.c:818
 #, c-format
 msgid ""
 "\n"
 "Server timed out, trying reconnect # %d\n"
 msgstr ""
 
-#: src/nntplib.c:834 src/nntplib.c:1644
+#: src/nntplib.c:836 src/nntplib.c:1708
 msgid "Rejoin current group\n"
 msgstr ""
 
-#: src/nntplib.c:841 src/nntplib.c:1651
+#: src/nntplib.c:844 src/nntplib.c:1716
 #, c-format
 msgid "Read (%s)\n"
 msgstr ""
 
-#: src/nntplib.c:843
+#: src/nntplib.c:846
 #, c-format
 msgid "Resend last command (%s)\n"
 msgstr ""
 
+#. as a last resort check if post was mentioned
+#: src/nntplib.c:1131
+msgid "CAPABILITIES did not announce any of READER, MODE-READER, POST"
+msgstr ""
+
 #.
 #. * TODO: - store a hash value of the entire motd in the server-rc
 #. *         and only if it differs from the old value display the
@@ -6212,23 +6199,23 @@ msgstr ""
 #. *       - use some sort of pager?
 #. *       - -> lang.c
 #.
-#: src/nntplib.c:1783
+#: src/nntplib.c:1855
 msgid "MOTD: "
 msgstr ""
 
-#: src/nrctbl.c:170
+#: src/nrctbl.c:173
 #, c-format
 msgid "couldn't expand %s\n"
 msgstr ""
 
-#: src/post.c:1134
+#: src/post.c:1144
 #, c-format
 msgid ""
 "Line %d is longer than 998 octets and should be folded, but\n"
 "encoding is neither set to %s nor to %s\n"
 msgstr ""
 
-#: src/post.c:1139
+#: src/post.c:1149
 #, c-format
 msgid ""
 "Line %d is longer than 998 octets, and should be folded, but\n"
@@ -6236,37 +6223,36 @@ msgid ""
 "posting doesn't contain any 8bit chars and thus folding won't happen\n"
 msgstr ""
 
-#: src/post.c:1141
+#: src/post.c:1151
 #, c-format
 msgid ""
 "Line %d is longer than 998 octets, and should be folded, but\n"
 "encoding is not set to %s\n"
 msgstr ""
 
-#: src/post.c:1960
+#: src/post.c:1970
 #, c-format
 msgid "Posting: %.*s ..."
 msgstr ""
 
 #. Check if okay to read
-#: src/read.c:191
+#: src/read.c:190
 msgid "Aborting read, please wait..."
 msgstr ""
 
-#: src/read.c:338
+#: src/read.c:337
 msgid "Aborted read\n"
 msgstr ""
 
-#: src/read.c:394
+#: src/read.c:393
 msgid "Draining\n"
 msgstr ""
 
-#. Don't hash the initial '<'
-#: src/refs.c:251
+#: src/refs.c:248
 msgid "unchanged"
 msgstr ""
 
-#: src/refs.c:609
+#: src/refs.c:549
 msgid "[- Unavailable -]"
 msgstr ""
 
@@ -6274,7 +6260,7 @@ msgstr ""
 #. * preamble
 #. * TODO: -> lang.c
 #.
-#: src/rfc2047.c:1201
+#: src/rfc2047.c:1270
 #, c-format
 msgid ""
 "This message has been composed in the 'multipart/mixed' MIME-format. If you\n"
@@ -6284,7 +6270,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/save.c:964
+#: src/save.c:966
 msgid "bytes"
 msgstr ""
 
@@ -6296,22 +6282,25 @@ msgstr ""
 msgid "all"
 msgstr ""
 
-#: src/select.c:549 src/select.c:551
+#: src/select.c:553 src/select.c:555
 msgid " R"
 msgstr ""
 
-#. TODO: use tin global 'homedir' instead? or even rcdir?
-#: src/xface.c:91
+#: src/xface.c:70
+msgid "Can't run slrnface: Not running in a xterm."
+msgstr ""
+
+#: src/xface.c:82 src/xface.c:93 src/xface.c:102
 #, c-format
 msgid "Can't run slrnface: Environment variable %s not found."
 msgstr ""
 
-#: src/xface.c:99 src/xface.c:131
+#: src/xface.c:111 src/xface.c:143
 #, c-format
 msgid "Can't run slrnface: failed to create %s"
 msgstr ""
 
-#: src/xface.c:109
+#: src/xface.c:121
 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"
@@ -6325,16 +6314,16 @@ msgid ""
 "Do not try to remove them.\n"
 msgstr ""
 
-#: src/xface.c:123
+#: src/xface.c:135
 msgid "Can't run slrnface: couldn't construct fifo name."
 msgstr ""
 
-#: src/xface.c:162
+#: src/xface.c:174
 #, c-format
 msgid "Slrnface abnormally exited, code %d."
 msgstr ""
 
-#: src/xface.c:206
+#: src/xface.c:218
 #, c-format
 msgid "Slrnface failed: %s."
 msgstr ""
Binary files tin-1.9.2/po/tr.gmo and tin-1.9.3/po/tr.gmo differ
diff -Nurp tin-1.9.2/po/tr.po tin-1.9.3/po/tr.po
--- tin-1.9.2/po/tr.po	2007-02-01 14:02:45.000000000 +0100
+++ tin-1.9.3/po/tr.po	2008-05-06 18:46:08.000000000 +0200
@@ -7,7 +7,7 @@
 msgid	""
 msgstr	"Project-Id-Version: tin 1.7.7\n"
 	"Report-Msgid-Bugs-To: \n"
-	"POT-Creation-Date: 2007-02-01 14:02+0100\n"
+	"POT-Creation-Date: 2008-05-06 18:44+0200\n"
 	"PO-Revision-Date: 2005-03-06 09:25+0200\n"
 	"Last-Translator: Þebnem Korkmaz <sebnem_k@hotmail.com>\n"
 	"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -15,287 +15,260 @@ msgstr	"Project-Id-Version: tin 1.7.7\n"
 	"Content-Type: text/plain; charset=ISO-8859-9\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1545
-#, c-format
-msgid	"%d Bad overview record (%d fields) '%s'"
-msgstr	""
-
-#: src/attrib.c:649
+#: src/attrib.c:700
 #, c-format
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	"# Bu açýklama bloðunu düzenlemeyin\n"
 	"#\n"
 
-#: src/attrib.c:650
-#, c-format
-msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
+#: src/attrib.c:701
+#, fuzzy, c-format
+msgid	"#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	"#  scope=DÝZGE (kapsam, örn. alt.*,!alt.bin*) [zorunlu]\n"
 
-#: src/attrib.c:651
-#, c-format
-msgid	"#  maildir=STRING (ie. ~/Mail)\n"
+#: src/attrib.c:702
+#, fuzzy, c-format
+msgid	"#  maildir=STRING (eg. ~/Mail)\n"
 msgstr	"#  maildir=DÝZGE (posta dizini, örn. ~/Mail)\n"
 
-#: src/attrib.c:652
-#, c-format
-msgid	"#  savedir=STRING (ie. ~user/News)\n"
+#: src/attrib.c:703
+#, fuzzy, c-format
+msgid	"#  savedir=STRING (eg. ~user/News)\n"
 msgstr	"#  savedir=DÝZGE (saklama dizini, örn. ~user/News)\n"
 
-#: src/attrib.c:653
-#, c-format
-msgid	"#  savefile=STRING (ie. =linux)\n"
+#: src/attrib.c:704
+#, fuzzy, c-format
+msgid	"#  savefile=STRING (eg. =linux)\n"
 msgstr	"#  savefile=DÝZGE (saklama dosyasý, örn. =linux)\n"
 
-#: src/attrib.c:654
-#, c-format
-msgid	"#  sigfile=STRING (ie. $var/sig)\n"
+#: src/attrib.c:705
+#, fuzzy, c-format
+msgid	"#  sigfile=STRING (eg. $var/sig)\n"
 msgstr	"#  sigfile=DÝZGE (imza dosyasý, örn. $var/sig)\n"
 
-#: src/attrib.c:655
+#: src/attrib.c:706
 #, c-format
 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/attrib.c:656
+#: src/attrib.c:707
 #, c-format
 msgid	"#  followup_to=STRING\n"
 msgstr	"#  followup_to=DÝZGE (cevap yönlendirmesi)\n"
 
-#: src/attrib.c:657
-#, c-format
-msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
+#: src/attrib.c:708
+#, fuzzy, c-format
+msgid	"#  mailing_list=STRING (eg. majordomo@example.org)\n"
 msgstr	"#  mailing_list=DÝZGE (posta listesi, örn. majordomo@example.org)\n"
 
-#: src/attrib.c:658
-#, c-format
-msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
+#: src/attrib.c:709
+#, fuzzy, c-format
+msgid	"#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"
 msgstr	"#  x_headers=DÝZGE (ekstra baþlýk dosyasý, örn. ~/.tin/extra-headers)\n"
 
-#: src/attrib.c:659
-#, c-format
-msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
+#: src/attrib.c:710
+#, fuzzy, c-format
+msgid	"#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"
 msgstr	"#  x_body=DÝZGE (extra gövde dosyasý, örn. ~/.tin/extra-body-text)\n"
 
-#: src/attrib.c:660
+#: src/attrib.c:711
 #, c-format
 msgid	"#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr	""
 
-#: src/attrib.c:661
+#: src/attrib.c:712
 #, fuzzy, c-format
 msgid	"#  news_quote_format=STRING\n"
 msgstr	"#  news_quote_format=DÝZGE\n"
 
-#: src/attrib.c:662
+#: src/attrib.c:713
 #, c-format
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	""
 
-#: src/attrib.c:663
+#: src/attrib.c:714
 #, c-format
 msgid	"#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr	""
 
-#: src/attrib.c:665
+#: src/attrib.c:716
 #, fuzzy, c-format
 msgid	"#  ispell=STRING\n"
 msgstr	"#  ispell=DÝZGE\n"
 
-#: src/attrib.c:667
+#: src/attrib.c:718
 #, c-format
 msgid	"#  auto_select=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:668
+#: src/attrib.c:719
 #, c-format
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:669
+#: src/attrib.c:720
 #, c-format
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:670
+#: src/attrib.c:721
 #, c-format
 msgid	"#  delete_tmp_files=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:671
+#: src/attrib.c:722
 #, c-format
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:672
+#: src/attrib.c:723
 #, c-format
 msgid	"#  thread_arts=NUM"
 msgstr	""
 
-#: src/attrib.c:679
+#: src/attrib.c:730
 #, c-format
 msgid	"#  thread_perc=NUM\n"
 msgstr	""
 
-#: src/attrib.c:680
+#: src/attrib.c:731
 #, c-format
 msgid	"#  show_author=NUM\n"
 msgstr	""
 
-#: src/attrib.c:686
+#: src/attrib.c:737
 #, c-format
 msgid	"#  show_info=NUM\n"
 msgstr	""
 
-#: src/attrib.c:692
+#: src/attrib.c:743
 #, c-format
 msgid	"#  sort_art_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:710
+#: src/attrib.c:761
 #, c-format
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:718
+#: src/attrib.c:769
 #, c-format
 msgid	"#  post_proc_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:723
+#: src/attrib.c:774
 #, c-format
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	""
 
-#: src/attrib.c:724
+#: src/attrib.c:775
 #, c-format
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:725
+#: src/attrib.c:776
 #, c-format
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:726
+#: src/attrib.c:777
 #, c-format
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	""
 
-#: src/attrib.c:727 src/attrib.c:734
+#: src/attrib.c:778 src/attrib.c:785
 #, c-format
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	""
 
-#: src/attrib.c:728 src/attrib.c:735
+#: src/attrib.c:779 src/attrib.c:786
 #, c-format
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	""
 
-#: src/attrib.c:729 src/attrib.c:736
+#: src/attrib.c:780 src/attrib.c:787
 #, c-format
 msgid	"#    4=msgid 5=lines\n"
 msgstr	""
 
-#: src/attrib.c:730
+#: src/attrib.c:781
 #, fuzzy, c-format
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	"#  quick_select_scope=DÝZGE\n"
 
-#: src/attrib.c:731
+#: src/attrib.c:782
 #, c-format
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:732
+#: src/attrib.c:783
 #, c-format
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:733
+#: src/attrib.c:784
 #, c-format
 msgid	"#  quick_select_header=NUM\n"
 msgstr	""
 
-#: src/attrib.c:737
+#: src/attrib.c:788
 #, c-format
 msgid	"#  x_comment_to=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:738
+#: src/attrib.c:789
 #, c-format
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	""
 
-#: src/attrib.c:739
+#: src/attrib.c:790
 #, c-format
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:740
+#: src/attrib.c:791
 #, c-format
 msgid	"#  mime_forward=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:742
+#: src/attrib.c:793
 #, c-format
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	""
 
-#: src/attrib.c:749
+#: src/attrib.c:800
 #, c-format
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	""
 
-#: src/attrib.c:751
+#: src/attrib.c:802
 #, fuzzy, c-format
 msgid	"#\n"
 	"# Note that it is best to put general (global scoping)\n"
 msgstr	"#\n"
 	"# Genel(küresel) kaplamýn en iyi olduðunu not ediniz.\n"
 
-#: src/attrib.c:752
+#: src/attrib.c:803
 #, fuzzy, c-format
 msgid	"# entries first followed by group specific entries.\n"
 	"#\n"
 msgstr	"# Öncelikle özgül grup girdileri tarafýndan takip edilen girdiler\n"
 	"#\n"
 
-#: src/attrib.c:753
-#, c-format
+#: src/attrib.c:804
+#, fuzzy, c-format
 msgid	"############################################################################\n"
-	"\n"
 msgstr	"############################################################################\n"
-	"\n"
-
-#: src/attrib.c:759
-#, c-format
-msgid	"# include extra headers\n"
-msgstr	"# extra baþlýklarý içerir\n"
-
-#: src/attrib.c:767
-#, c-format
-msgid	"# in *sources* set post process type to shar only\n"
-msgstr	""
 
-#: src/attrib.c:771
-#, fuzzy, c-format
-msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
-msgstr	"# ikilik dosyalarda iþletim sonrasýný tam yapýn, tmp dosyalarýný kaldýrýn.\n"
-
-#: src/attrib.c:772
-#, c-format
-msgid	"# remove tmp files and set Followup-To: poster\n"
-msgstr	""
-
-#: src/cook.c:559
+#: src/cook.c:558
 msgid	"(unknown)"
 msgstr	"(bilinmiyor)"
 
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:597 src/filter.c:605
+#: src/filter.c:592 src/filter.c:600
 msgid	"Removed from the previous rule: "
 msgstr	"Önceki kuraldan kaldýrýldý: "
 
@@ -402,531 +375,536 @@ msgstr	"Makale kullanýlamýyor."
 msgid	"Article undeleted."
 msgstr	"Makale silinmeden geri alýndý."
 
-#: src/lang.c:66
+#: src/lang.c:65
+#, fuzzy, c-format
+msgid	"Article %4d of %4d"
+msgstr	"Makale %4d of %4d"
+
+#: src/lang.c:67
 msgid	"articles"
 msgstr	"makaleler"
 
-#: src/lang.c:67
+#: src/lang.c:68
 #, fuzzy
 msgid	"This is a repost of the following article:"
 msgstr	"Bu dosyanýn yeniden gönderimi dieðildir:"
 
-#: src/lang.c:68
+#: src/lang.c:69
 msgid	"article"
 msgstr	"makale"
 
-#: src/lang.c:69
+#: src/lang.c:70
 msgid	"Article"
 msgstr	"Makale"
 
-#: src/lang.c:70
+#: src/lang.c:71
 #, c-format
 msgid	"-- %d %s mailed --"
 msgstr	"-- %d %s postalandý --"
 
-#: src/lang.c:71
+#: src/lang.c:72
 #, c-format
 msgid	" at %s"
 msgstr	" %s de"
 
-#: src/lang.c:72
+#: src/lang.c:73
 #, fuzzy, c-format
 msgid	"%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n"
 msgstr	"%*s[-- %s/%s, kodluyor %s%s%s, %d satýr%s%s --]\n"
 
-#: src/lang.c:73
+#: src/lang.c:74
 msgid	", charset: "
 msgstr	""
 
-#: src/lang.c:74
+#: src/lang.c:75
 #, c-format
 msgid	"%*s[-- Description: %s --]\n"
 msgstr	"%*s[-- Taným: %s --]\n"
 
-#: src/lang.c:75
+#: src/lang.c:76
 #, c-format
 msgid	"%d Authentication failed"
 msgstr	"%d Kimlik denetimi baþarýsýz"
 
-#: src/lang.c:76
+#: src/lang.c:77
 #, fuzzy
 msgid	"Server expects authentication.\n"
 msgstr	"Sunucu doðrulama bekliyor.\n"
 
-#: src/lang.c:77
+#: src/lang.c:78
 msgid	"    Please enter password: "
 msgstr	"    Lütfen parola girin: "
 
-#: src/lang.c:78
+#: src/lang.c:79
 msgid	"    Please enter username: "
 msgstr	"    Lütfen kullanýcý adý girin: "
 
-#: src/lang.c:79
+#: src/lang.c:80
 #, fuzzy, c-format
 msgid	"Author search backwards [%s]> "
 msgstr	"Yazar geriye doðru arýyor[%s]> "
 
-#: src/lang.c:80
+#: src/lang.c:81
 #, fuzzy, c-format
 msgid	"Author search forwards [%s]> "
 msgstr	"Yazar ileriye doðru arýyor [%s]> "
 
-#: src/lang.c:81
+#: src/lang.c:82
 #, fuzzy, c-format
 msgid	"Authorized for user: %s\n"
 msgstr	"Kullanýcý için yetkilendirlmiþ: %s\n"
 
-#: src/lang.c:82
+#: src/lang.c:83
 #, c-format
 msgid	"Authorization failed for user: %s\n"
 msgstr	"Kullanýcý için yetkilendirme baþarýsýz: %s\n"
 
-#: src/lang.c:83
+#: src/lang.c:84
 #, fuzzy, c-format
 msgid	"\n"
 	"Autosubscribed to %s"
 msgstr	"\n"
 	"Otomatik abone %s"
 
-#: src/lang.c:84
+#: src/lang.c:85
 #, fuzzy
 msgid	"Autosubscribing groups...\n"
 msgstr	"Gruplar otomatik abone ediliyor...\n"
 
-#: src/lang.c:85
+#: src/lang.c:86
 #, 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:87
+#: src/lang.c:88
 #, c-format
 msgid	"Active file corrupt - %s"
 msgstr	"Aktif dosya bozuk - %s"
 
-#: src/lang.c:88
+#: src/lang.c:89
 #, fuzzy, c-format
 msgid	"Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: "
 msgstr	"Gönderilecek dosyada hatalar/uyarýlar çýktý. %s=çýk, %s=Menü, %s=düzelt: "
 
-#: src/lang.c:89
+#: src/lang.c:90
 #, c-format
 msgid	"Unrecognized attribute: %s"
 msgstr	"Tanýnmayan öznitelik: %s"
 
-#: src/lang.c:90
+#: src/lang.c:91
 #, c-format
 msgid	"Bad command. Type '%s' for help."
 msgstr	"Bozuk komut. Yardým için '%s' yazýn."
 
-#: src/lang.c:92
+#: src/lang.c:93
 #, fuzzy
 msgid	"Base article"
 msgstr	"Temel makale"
 
-#: src/lang.c:93
+#: src/lang.c:94
 #, fuzzy
 msgid	"Base article range"
 msgstr	"Temel makale aralýðý"
 
-#: src/lang.c:94
+#: src/lang.c:95
 #, fuzzy, c-format
 msgid	"%s: Updating of index files not supported\n"
 msgstr	"%s: Desteklenmeyen dizin dosyalarý güncelleniyor\n"
 
-#: src/lang.c:95
+#: src/lang.c:96
 msgid	"*** Beginning of article ***"
 msgstr	"*** Makalenin baþý ***"
 
-#: src/lang.c:97
+#: src/lang.c:98
 #, fuzzy, c-format
 msgid	"Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "
 msgstr	"Dosyayý Ýptal et(sil) veya dosyanýn yerini al(üstüne yaz)[%%s]? (%s/%s/%s): "
 
-#: src/lang.c:98
+#: src/lang.c:99
 msgid	"Cancelling article..."
 msgstr	"Makale iptal ediliyor..."
 
-#: src/lang.c:100
+#: src/lang.c:101
 #, fuzzy, c-format
 msgid	"Cannot create %s"
 msgstr	"Yaratýlmaýyor %s"
 
-#: src/lang.c:101
+#: src/lang.c:102
 #, fuzzy, c-format
 msgid	"Can't find base article %d"
 msgstr	"Temel makale bulunamýyor %d"
 
-#: src/lang.c:102
+#: src/lang.c:103
 #, fuzzy, c-format
 msgid	"Can't open %s"
 msgstr	"Açýlamýyor %s"
 
-#: src/lang.c:103
+#: src/lang.c:104
 #, fuzzy, c-format
 msgid	"Couldn't open %s for saving"
 msgstr	"Kaydetmek için %s açýlmadý"
 
-#: src/lang.c:104
+#: src/lang.c:105
 msgid	"*** Posting not allowed ***"
 msgstr	"*** Gönderim izni yok ***"
 
-#: src/lang.c:105
+#: src/lang.c:106
 #, c-format
 msgid	"Posting is not allowed to %s"
 msgstr	"%s için gönderim izni yok"
 
-#: src/lang.c:106
+#: src/lang.c:107
 #, fuzzy, c-format
 msgid	"Can't retrieve %s"
 msgstr	"Alýnamýyor %s"
 
-#: src/lang.c:107
+#: src/lang.c:108
 #, c-format
 msgid	"%s is a directory"
 msgstr	"%s bir dizindir"
 
-#: src/lang.c:108
+#: src/lang.c:109
 msgid	"Catchup"
 msgstr	""
 
-#: src/lang.c:109
+#: src/lang.c:110
 #, c-format
 msgid	"Catchup %s..."
 msgstr	""
 
-#: src/lang.c:110
+#: src/lang.c:111
 msgid	"Catchup all groups entered during this session?"
 msgstr	""
 
-#: src/lang.c:111
+#: src/lang.c:112
 #, fuzzy
 msgid	"You have tagged articles in this group - catchup anyway?"
 msgstr	"Bu makalede imlenmiþ makaleler var - catchup anyway?"
 
-#: src/lang.c:112
+#: src/lang.c:113
 #, c-format
 msgid	"%s %d %s in %lu seconds\n"
 msgstr	"%4$lu saniyede %1$s %2$d %3$s\n"
 
-#: src/lang.c:113
+#: src/lang.c:114
 msgid	"Caughtup"
 msgstr	""
 
-#: src/lang.c:114
+#: src/lang.c:115
 #, fuzzy
 msgid	"Check Prepared Article"
 msgstr	"Hazýr Makaleyi Denetle"
 
-#: src/lang.c:115
+#: src/lang.c:116
 #, fuzzy
 msgid	"Checking for new groups... "
 msgstr	"Yeni gruplar denetleniyor... "
 
-#: src/lang.c:116
+#: src/lang.c:117
 #, fuzzy
 msgid	"Checking for news..."
 msgstr	"Haberler denetleniyor..."
 
-#: src/lang.c:117
+#: src/lang.c:118
 #, fuzzy, c-format
 msgid	"Post-process %s=no, %s=yes, %s=shar, %s=quit: "
 msgstr	"Son-iþlem %s=hayýr, %s=evet, %s=ortak, %s=çýk: "
 
-#: src/lang.c:119
+#: src/lang.c:120
 #, fuzzy
 msgid	"ANSI color disabled"
 msgstr	"ANSI renk geçersiz"
 
-#: src/lang.c:120
+#: src/lang.c:121
 #, fuzzy
 msgid	"ANSI color enabled"
 msgstr	"ANSI renk geçerli"
 
-#: src/lang.c:122
+#: src/lang.c:123
 #, c-format
 msgid	"Command failed: %s"
 msgstr	"Komut baþarýsýz: %s"
 
-#: src/lang.c:123
+#: src/lang.c:124
 msgid	"Mark not selected articles read?"
 msgstr	""
 
-#: src/lang.c:124
+#: src/lang.c:125
 #, fuzzy, c-format
 msgid	"Connecting to %s..."
 msgstr	"Baðlanýyor %s..."
 
-#: src/lang.c:125
+#: src/lang.c:126
 msgid	"<CR>"
 msgstr	"<CR>"
 
-#: src/lang.c:126
+#: src/lang.c:127
 #, fuzzy
 msgid	"Creating active file for saved groups...\n"
 msgstr	"Kaydedilen kümeler için aktif dosya oluþturuyor...\n"
 
-#: src/lang.c:127
+#: src/lang.c:128
 #, fuzzy
 msgid	"Creating newsrc file...\n"
 msgstr	"Newsrc dosyasý oluþturuluyor...\n"
 
-#: src/lang.c:129 src/lang.c:1150
+#: src/lang.c:130 src/lang.c:1150
 msgid	"Default"
 msgstr	"Öntanýmlý"
 
-#: src/lang.c:130
+#: src/lang.c:131
 #, fuzzy
 msgid	"Delete saved files that have been post processed?"
 msgstr	"Son iþlenen kaydedilmiþ dosyalarý sil?"
 
-#: src/lang.c:131
+#: src/lang.c:132
 msgid	"Deleting temporary files..."
 msgstr	"Geçici dosyalar siliniyor..."
 
-#: src/lang.c:133
+#: src/lang.c:134
 msgid	"*** End of article ***"
 msgstr	"*** Makalenin sonu ***"
 
-#: src/lang.c:134
+#: src/lang.c:135
 msgid	"*** End of articles ***"
 msgstr	"*** Makalelerin sonu ***"
 
-#: src/lang.c:135
+#: src/lang.c:136
 #, fuzzy
 msgid	"*** End of groups ***"
 msgstr	"*** Kümelerin sonu ***"
 
-#: src/lang.c:136
+#: src/lang.c:137
 #, fuzzy
 msgid	"*** End of thread ***"
 msgstr	"*** Parçacýklarýn sonu ***"
 
-#: src/lang.c:137
+#: src/lang.c:138
 #, fuzzy
 msgid	"Enter limit of articles to get> "
 msgstr	"Alýnacak makalelerin limitini girin> "
 
-#: src/lang.c:138
+#: src/lang.c:139
 #, fuzzy
 msgid	"Enter Message-ID to go to> "
 msgstr	"Gitmek için kimlik mesajýný girin> "
 
-#: src/lang.c:139
+#: src/lang.c:140
 #, fuzzy
 msgid	" and enter next unread thread"
 msgstr	" ve sonraki okuma parçacýðýný yazýn"
 
-#: src/lang.c:140
+#: src/lang.c:141
 #, fuzzy
 msgid	" and enter next unread group"
 msgstr	" ve sonraki okuma kümesini yazýn"
 
-#: src/lang.c:141
+#: src/lang.c:142
 #, fuzzy
 msgid	"Enter option number> "
 msgstr	"Seçenek numarasýný yazýn> "
 
-#: src/lang.c:142
+#: src/lang.c:143
 #, fuzzy, c-format
 msgid	"Enter range [%s]> "
 msgstr	"Aralýðý yazýn [%s]> "
 
-#: src/lang.c:143
+#: src/lang.c:144
 #, fuzzy
 msgid	"\n"
 	"Warning: Approved: header used.\n"
 msgstr	"\n"
 	"Uyarý: Onaylandý: baþlýk kullanýldý.\n"
 
-#: src/lang.c:145
+#: src/lang.c:146
 #, fuzzy
 msgid	"\n"
 	"Error: Bad address in Approved: header.\n"
 msgstr	"\n"
 	"Hata: Onaylananda bozuk adres: baþlýk.\n"
 
-#: src/lang.c:146
+#: src/lang.c:147
 #, fuzzy
 msgid	"\n"
 	"Error: Bad address in From: header.\n"
 msgstr	"\n"
 	"Hata: Gönderende bozuk adres: baþlýk.\n"
 
-#: src/lang.c:147
+#: src/lang.c:148
 #, fuzzy
 msgid	"\n"
 	"Error: Bad address in Reply-To: header.\n"
 msgstr	"\n"
 	"Hata: Yanýtta bozuk adres: baþlýk\n"
 
-#: src/lang.c:148
+#: src/lang.c:149
 #, fuzzy
 msgid	"\n"
 	"Error: Bad FQDN in Message-ID: header.\n"
 msgstr	"\n"
 	"Hata: Kimilk mesajýnda bozuk FQDN: baþlýk.\n"
 
-#: src/lang.c:149
+#: src/lang.c:150
 #, fuzzy, c-format
 msgid	"Can't unlock %s"
 msgstr	"Açýlamýyor %s"
 
-#: src/lang.c:151
+#: src/lang.c:152
 #, fuzzy, c-format
 msgid	"Corrupted file %s"
 msgstr	"Virüslü dosya %s"
 
-#: src/lang.c:152
+#: src/lang.c:153
 #, fuzzy, c-format
 msgid	"Couldn't dotlock %s - article not appended!"
 msgstr	"Açýlamadý %s - makale eklenmedi!"
 
-#: src/lang.c:153
+#: src/lang.c:154
 #, fuzzy, c-format
 msgid	"Couldn't lock %s - article not appended!"
 msgstr	"Kapatýlamadý %s - makale eklenmedi!"
 
-#: src/lang.c:155
+#: src/lang.c:156
 msgid	"Internal error in GNKSA routine - send bug report.\n"
 msgstr	"GNKSA yordamýnda iç hata - hata raporu gönder.\n"
 
-#: src/lang.c:156
+#: src/lang.c:157
 #, fuzzy
 msgid	"Left angle bracket missing in route address.\n"
 msgstr	"Yordam adresinde sol açýlý ayraç eksik.\n"
 
-#: src/lang.c:157
+#: src/lang.c:158
 msgid	"Left parenthesis missing in old-style address.\n"
 msgstr	"Eski-biçemli adreste sol ayraç eksik.\n"
 
-#: src/lang.c:158
+#: src/lang.c:159
 msgid	"Right parenthesis missing in old-style address.\n"
 msgstr	"Eski-biçemli adreste sað ayraç eksik.\n"
 
-#: src/lang.c:159
+#: src/lang.c:160
 msgid	"At-sign missing in mail address.\n"
 msgstr	"Posta adresinde @ iþareti eksik.\n"
 
-#: src/lang.c:160
+#: src/lang.c:161
 #, fuzzy
 msgid	"Single component FQDN is not allowed. Add your domain.\n"
 msgstr	"FQDN tekli bileþenine izin verilmedi. Taným kümesi ekleyin.\n"
 
-#: src/lang.c:161
+#: src/lang.c:162
 #, fuzzy
 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	"Geçersiz etki alaný. Üst düzey etki alaný varsa hata raporu gönderin.\n"
 	"Kullan . munged adresler için geçersiz üst düzey etki alaný.\n"
 
-#: src/lang.c:162
+#: src/lang.c:163
 #, fuzzy
 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	"Kuraldýþý etki alaný. Üst düzey etki alaný varsa hata raporu gönderin.\n"
 	"Kuulan . munged adresler için geçersiz üst düzey etki alaný.\n"
 
-#: src/lang.c:163
+#: src/lang.c:164
 #, fuzzy
 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	"Bilinmeyen etki alaný. Üst düzey etki alalný varsa hata raporu gönderin.\n"
 	"Kullan. munged adresler geçersiz üst düzey etki alaný.\n"
 
-#: src/lang.c:164
+#: src/lang.c:165
 msgid	"Illegal character in FQDN.\n"
 msgstr	"FQDN'de kuraldýþý karakter.\n"
 
-#: src/lang.c:165
+#: src/lang.c:166
 #, fuzzy
 msgid	"Zero length FQDN component not allowed.\n"
 msgstr	"Sýfýr unzunluklu FQDN bileþenine izin verilmedi.\n"
 
-#: src/lang.c:166
+#: src/lang.c:167
 #, fuzzy
 msgid	"FQDN component exceeds maximum allowed length (63 chars).\n"
 msgstr	"FQDN bileþeni izin verilen maximum uzunluðu aþýyor.(63 kar.).\n"
 
-#: src/lang.c:167
+#: src/lang.c:168
 #, fuzzy
 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:168
+#: src/lang.c:169
 #, fuzzy
 msgid	"FQDN component may not start with digit.\n"
 msgstr	"FQDN bileþeni basamak ile baþlamayabilir.\n"
 
-#: src/lang.c:169
+#: src/lang.c:170
 #, fuzzy
 msgid	"Domain literal has impossible numeric value.\n"
 msgstr	"Deðiþmez etki alaný imkansýz sayýsal deðere sahip.\n"
 
-#: src/lang.c:170
+#: src/lang.c:171
 #, fuzzy
 msgid	"Domain literal is for private use only and not allowed for global use.\n"
 msgstr	"Deðiþmez etki alaný sadece özel kullaným içindir ve küresel kullanýma izin "
 	"verilmez.\n"
 
-#: src/lang.c:171
+#: src/lang.c:172
 #, fuzzy
 msgid	"Right bracket missing in domain literal.\n"
 msgstr	"Deðiþmez etki alanýnda sað köþeli ayraç eksik.\n"
 
-#: src/lang.c:172
+#: src/lang.c:173
 msgid	"Missing localpart of mail address.\n"
 msgstr	"Posta adresinin yerel kýsmý eksik.\n"
 
-#: src/lang.c:173
+#: src/lang.c:174
 msgid	"Illegal character in localpart of mail address.\n"
 msgstr	"Posta adresinin yerel kýsmýnda kuraldýþý karakter.\n"
 
-#: src/lang.c:174
+#: src/lang.c:175
 #, fuzzy
 msgid	"Zero length localpart component not allowed.\n"
 msgstr	"Sýfýr uzunluklu yerel kýsým bileþenine izin verilmedi.\n"
 
-#: src/lang.c:175
+#: src/lang.c:176
 #, fuzzy
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n"
 msgstr	"Gerçek isimde kuraldýþý karakter.\n"
 	"Ýmlenmemiþ sözcükler yordam adreslerinde '!()<>@,;:\\.[]' içermeyebilir.\n"
 
-#: src/lang.c:176
+#: src/lang.c:177
 #, fuzzy
 msgid	"Illegal character in realname.\n"
 	"Quoted words may not contain '()<>\\'.\n"
 msgstr	"Gerçek isimde kuraldýþý karakter.\n"
 	"Ýmlenmil sözcükler '()<>\\' içermeyebilir.\n"
 
-#: src/lang.c:177
+#: src/lang.c:178
 #, fuzzy
 msgid	"Illegal character in realname.\n"
 	"Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n"
 msgstr	"Gerçek isimde kuraldýþý karakter.\n"
 	"Kodlanmýþ sözcükler parametrelerde '!()<>@,;:\"\\.[]/= içermeyebilir.\n"
 
-#: src/lang.c:178
+#: src/lang.c:179
 #, fuzzy
 msgid	"Bad syntax in encoded word used in realname.\n"
 msgstr	"Gerçek isimde kullanýlan kodlanmýþ sözkükte bozuk sözdizimi.\n"
 
-#: src/lang.c:179
+#: src/lang.c:180
 #, fuzzy
 msgid	"Illegal character in realname.\n"
 	"Unquoted words may not contain '()<>\\' in old-style addresses.\n"
 msgstr	"Gerçek isimde kuraldýþý karakter.\n"
 	"Ýmlenmemiþ sözcükler eski-biçemli adreslerde '()<>\\' içermeyebilir.\n"
 
-#: src/lang.c:180
+#: src/lang.c:181
 #, fuzzy
 msgid	"Illegal character in realname.\n"
 	"Control characters and unencoded 8bit characters > 127 are not allowed.\n"
 msgstr	"Gerçek isimde kuraldýþý karakter. Denetim karakterlerine ve kodlanmamýþ 8bit "
 	"karakterlerine > 127 izin verilmedi.\n"
 
-#: src/lang.c:181
+#: src/lang.c:182
 #, fuzzy
 msgid	"\n"
 	"Error: No blank line found after header.\n"
@@ -934,7 +912,7 @@ msgstr	"\n"
 	"Hata: Baþlýktan sonra boþ satýr bulunamadý.\n"
 
 #. TODO: fixme, US-ASCII is not the only 7bit charset we know about
-#: src/lang.c:183
+#: src/lang.c:184
 #, fuzzy
 msgid	"\n"
 	"Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n"
@@ -947,7 +925,7 @@ msgstr	"\n"
 	" diliniz için yapýlandýrabilen seçenekler M)enüsünü kullanarak ya da\n"
 	" tinric düzenleyerek.\n"
 
-#: src/lang.c:188
+#: src/lang.c:189
 #, fuzzy
 msgid	"\n"
 	"Error: Posting contains  non-ASCII characters  but the  MIME encoding\n"
@@ -962,14 +940,14 @@ msgstr	"\n"
 	" yaþadýðýnýz bölgede daha yaygýn olana. Bu yapýlabilir\n"
 	" yapýlandýrabilen seçenekler  M)enüsü kullanýlarak veya tinrc düzenlenerek.\n"
 
-#: src/lang.c:194
+#: src/lang.c:195
 #, fuzzy
 msgid	"\n"
 	"Error: Article starts with blank line instead of header\n"
 msgstr	"\n"
 	"Hata: Makale baþlýk yerine boþ satýrla baþlýyor\n"
 
-#: src/lang.c:195
+#: src/lang.c:196
 #, fuzzy, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a colon after the header name:\n"
@@ -978,21 +956,21 @@ msgstr	"\n"
 	"Hata: Satýrdaki baþlýkta %d baþlýk isminden sonra iki nokta yok:\n"
 	"%s\n"
 
-#: src/lang.c:196
+#: src/lang.c:197
 #, fuzzy, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is empty.\n"
 msgstr	"\n"
 	"Hata: \"%s:\"satýrý boþ.\n"
 
-#: src/lang.c:197
+#: src/lang.c:198
 #, fuzzy, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is missing from the article header.\n"
 msgstr	"\n"
 	"Hata: Makale baþlýðýnda \"%s:\" satýrý eksik.\n"
 
-#: src/lang.c:198
+#: src/lang.c:199
 #, fuzzy, c-format
 msgid	"\n"
 	"Error: Header on line %d does not have a space after the colon:\n"
@@ -1001,76 +979,76 @@ msgstr	"\n"
 	"Hata: %d satýrýndaki baþlýkta iki noktadan sonra boþluk yok:\n"
 	"%s\n"
 
-#: src/lang.c:199
+#: src/lang.c:200
 #, fuzzy, c-format
 msgid	"\n"
 	"Error: There are multiple (%d) \"%s:\" lines in the header.\n"
 msgstr	"\n"
 	"Hata: Baþlýkta (%d) \"%s:\" çoklu satýlrarý var.\n"
 
-#: src/lang.c:200
+#: src/lang.c:201
 #, fuzzy, c-format
 msgid	"Insecure permissions of %s (%o)"
 msgstr	"Güvenli olmayan yetkiler %s (%o)"
 
-#: src/lang.c:201
+#: src/lang.c:202
 #, fuzzy, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	"KÜME komutuna geçersiz yanýt.%s"
 
-#: src/lang.c:203
+#: src/lang.c:204
 #, fuzzy, 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:204
+#: src/lang.c:205
 #, fuzzy
 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:205
+#: src/lang.c:206
 #, fuzzy
 msgid	"Can't get a (fully-qualified) domain-name!"
 msgstr	"(Tam niletelendirilmiþ) etki alaný adý alýnamadý!"
 
-#: src/lang.c:206
+#: src/lang.c:207
 #, fuzzy, c-format
 msgid	"No permissions to go into %s\n"
 msgstr	"%s için gidiþ yetkisi yok\n"
 
-#: src/lang.c:207
+#: src/lang.c:208
 #, fuzzy
 msgid	"\n"
 	"Error: From: line missing.\n"
 msgstr	"\n"
 	"Hata: Baþlangýç:satýr eksik.\n"
 
-#: src/lang.c:208
+#: src/lang.c:209
 #, fuzzy, c-format
 msgid	"No read permissions for %s\n"
 msgstr	"%s için okuma yetkisi yok\n"
 
-#: src/lang.c:209
+#: src/lang.c:210
 #, fuzzy, c-format
 msgid	"File %s does not exist\n"
 msgstr	"%s dosyasý yok\n"
 
-#: src/lang.c:210
+#: src/lang.c:211
 #, fuzzy, c-format
 msgid	"No write permissions for %s\n"
 msgstr	"%s için yazma yetkisi yok\n"
 
-#: src/lang.c:211
+#: src/lang.c:212
 #, fuzzy
 msgid	"Can't get user information (/etc/passwd missing?)"
 msgstr	"Kullanýcý bilgisi alýnamýyor(/etc/passwd kayýp?)"
 
-#: src/lang.c:212
+#: src/lang.c:213
 #, fuzzy
 msgid	"errors"
 msgstr	"hatalar"
 
-#: src/lang.c:213
+#: src/lang.c:214
 #, fuzzy, c-format
 msgid	"\n"
 	"Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n"
@@ -1078,88 +1056,88 @@ msgstr	"\n"
 	"%d satýrýnda hata \"Sender:\" baþlýk için izin verilmedi (sizin için "
 	"eklenecek)\n"
 
-#: src/lang.c:214
+#: src/lang.c:215
 #, fuzzy, 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:215
+#: src/lang.c:216
 #, fuzzy
 msgid	"error"
 msgstr	"hata"
 
-#: src/lang.c:216
+#: src/lang.c:217
 #, fuzzy
 msgid	"Unknown display level"
 msgstr	"Bilinmeyen gösterim düzeyi"
 
-#: src/lang.c:217
+#: src/lang.c:218
 #, fuzzy
 msgid	"<ESC>"
 msgstr	"<ESC>"
 
-#: src/lang.c:218
+#: src/lang.c:219
 #, fuzzy
 msgid	"Exiting..."
 msgstr	"Çýkýyor..."
 
-#: src/lang.c:219
+#: src/lang.c:220
 #, fuzzy
 msgid	"leaving external mail-reader"
 msgstr	"Dýþ posta-okuyucuyu býrakýyor"
 
-#: src/lang.c:220
+#: src/lang.c:221
 #, fuzzy, c-format
 msgid	"Extracting %s..."
 msgstr	"Ayýklýyor %s..."
 
-#: src/lang.c:222
+#: src/lang.c:223
 #, fuzzy, c-format
 msgid	"Error writing %s file. Filesystem full? File reset to previous state."
 msgstr	"%s dosyasýný yazarken hata. Dosya sistemi dolu? Dosya önceki durumuna "
 	"dönüþtürüldü."
 
-#: src/lang.c:223
+#: src/lang.c:224
 #, fuzzy, c-format
 msgid	"Error making backup of %s file. Filesystem full?"
 msgstr	"%s dosyasýný yedeklemede hata. Dosya sistemi dolu?"
 
-#: src/lang.c:224
+#: src/lang.c:225
 #, fuzzy, c-format
 msgid	"Filtering global rules (%d/%d)..."
 msgstr	"Genel kurallar süzgeçleniyor (%d/%d)..."
 
-#: src/lang.c:225
+#: src/lang.c:226
 #, fuzzy
 msgid	"Rule created by: "
 msgstr	"Kural oluþturuldu: "
 
-#: src/lang.c:226
+#: src/lang.c:227
 #, fuzzy, c-format
 msgid	"Enter pattern [%s]> "
 msgstr	"Örüntüyü girin [%s]> "
 
-#: src/lang.c:227
+#: src/lang.c:228
 #, fuzzy, c-format
 msgid	"\n"
 	"You requested followups to your article to go to the following %s:\n"
 msgstr	"\n"
 	"Gitmek için makalenize takip-et istediniz %s:\n"
 
-#: src/lang.c:228
+#: src/lang.c:229
 #, fuzzy, c-format
 msgid	"  %s\t Answers will be directed to you by mail.\n"
 msgstr	"  %s\t Cevaplarý postayla yönlendirilecek.\n"
 
-#: src/lang.c:229
+#: src/lang.c:230
 msgid	"-- forwarded message --\n"
 msgstr	""
 
-#: src/lang.c:230
+#: src/lang.c:231
 msgid	"-- end of forwarded message --\n"
 msgstr	""
 
-#: src/lang.c:231
+#: src/lang.c:232
 #, fuzzy
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1212,905 +1190,905 @@ msgstr	"# Format:\n"
 	"#   time=NUM          Seçmeli.Kural bitince time_t deðeri\n"
 	"#\n"
 
-#: src/lang.c:252
+#: src/lang.c:253
 #, fuzzy, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	"Kural için skoru yazýn (varsayýlan=%d): "
 
-#: src/lang.c:253
+#: src/lang.c:254
 #, fuzzy, c-format
 msgid	"Enter the score weight (range 0 < score <= %d)"
 msgstr	"Skor aðýrlýðýný yazýn (aralýk 0 < skor <= %d)"
 
 #. SCORE_MAX
-#: src/lang.c:254
+#: src/lang.c:255
 #, fuzzy
 msgid	"Full"
 msgstr	"Tam"
 
-#: src/lang.c:255
+#: src/lang.c:256
 #, fuzzy
 msgid	"Comment (optional)  : "
 msgstr	"Komut (seçmeli)   : "
 
-#: src/lang.c:256
+#: src/lang.c:257
 #, fuzzy
 msgid	"Apply pattern to    : "
 msgstr	"Örüntüyü uygula   : "
 
-#: src/lang.c:257
+#: src/lang.c:258
 #, fuzzy
 msgid	"From: line (ignore case)      "
 msgstr	"Gönderen: satýr (büyük/küçük harfleri yoksay) "
 
-#: src/lang.c:258
+#: src/lang.c:259
 #, fuzzy
 msgid	"From: line (case sensitive)   "
 msgstr	"Gönderen: satýr (büyük/küçük harfe duyarlý)   "
 
-#: src/lang.c:260
+#: src/lang.c:261
 #, fuzzy, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	"%s%s: Bilinmeyen ana sunucu.\n"
 
-#: src/lang.c:261
+#: src/lang.c:262
 #, fuzzy
 msgid	"global "
 msgstr	"küresel "
 
-#: src/lang.c:262
+#: src/lang.c:263
 #, fuzzy, c-format
 msgid	"Please use %.100s instead"
 msgstr	"Lütfen % kullanýn.100s yerine"
 
-#: src/lang.c:263
+#: src/lang.c:264
 #, c-format
 msgid	"%s is bogus"
 msgstr	"%s sahte"
 
-#: src/lang.c:264
+#: src/lang.c:265
 #, fuzzy, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	"Küme %s ayarlandý. Devam?"
 
-#: src/lang.c:265
+#: src/lang.c:266
 #, fuzzy
 msgid	"groups"
 msgstr	"kümeler"
 
-#: src/lang.c:266
+#: src/lang.c:267
 #, c-format
 msgid	"Rereading %s..."
 msgstr	"%s tekrar okunuyor..."
 
-#: src/lang.c:267
+#: src/lang.c:268
 #, fuzzy
 msgid	"Top Level Commands"
 msgstr	"Üst Düzey Komutlar"
 
-#: src/lang.c:268
+#: src/lang.c:269
 #, fuzzy
 msgid	"Group Selection"
 msgstr	"Küme Seçimi"
 
-#: src/lang.c:269
+#: src/lang.c:270
 #, fuzzy
 msgid	"group"
 msgstr	"küme"
 
-#: src/lang.c:271
+#: src/lang.c:272
 #, fuzzy
 msgid	"One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr	"Komutun bir veya birden çok satýrý. Satýr boþsa satýr eklemek veya devam "
 	"etmek için <CR>."
 
-#: src/lang.c:272
+#: src/lang.c:273
 #, fuzzy
 msgid	"From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	"Gönderen: Süzgeç dosyaya eklenecek satýr.<SPACE> deðiþtirir & <CR> ayarlar."
 
-#: src/lang.c:273
+#: src/lang.c:274
 #, fuzzy
 msgid	"Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr	"Süzgeçlenecek makalelerin satýr sayýsý. < az , > çok , =eþit."
 
-#: src/lang.c:274
+#: src/lang.c:275
 #, fuzzy
 msgid	"Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	"Ýleti-kimliði: Dosya süzgeçlemek için eklenecek satýr. <SPACE> deðiþtirir & "
 	"<CR> ayarlar."
 
-#: src/lang.c:275
+#: src/lang.c:276
 #, fuzzy
 msgid	"Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	"Konu: Dosya süzgeçlemek için eklenecek satýr. <SPACE> deðiþtirir & <CR> "
 	"ayarlar."
 
-#: src/lang.c:276
+#: src/lang.c:277
 #, fuzzy
 msgid	"Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr	"Süzgeçlemek için metin örüntüsünü girin eðer Konu: & Gönderen: istediðiniz "
 	"satýrlar deðilse."
 
-#: src/lang.c:277
+#: src/lang.c:278
 #, fuzzy
 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:278
+#: src/lang.c:279
 #, fuzzy
 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:279
+#: src/lang.c:280
 #, fuzzy
 msgid	"Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	"Sadece mevcut küme veya bütün kümeler için kill uygulayýn. <SPACE> deðiþtirir "
 	"& <CR>ayarlar."
 
-#: src/lang.c:280
+#: src/lang.c:281
 #, fuzzy
 msgid	"Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	"Mevcut küme veya bütün kümeler için seç uygulayýn <SPACE> deðiþtirir & "
 	"<CR>ayarlar."
 
-#: src/lang.c:281
+#: src/lang.c:282
 #, fuzzy
 msgid	"kill an article via a menu"
 msgstr	"makaleyi menü aracýlýðýyla öldür"
 
-#: src/lang.c:282
+#: src/lang.c:283
 #, fuzzy
 msgid	"auto-select (hot) an article via a menu"
 msgstr	"makaleyi menü aracýlýyla otomatik-seç (hot)"
 
-#: src/lang.c:283
+#: src/lang.c:284
 #, fuzzy
 msgid	"Browse URLs in article"
 msgstr	"Makaledeki URL'lara gözat"
 
-#: src/lang.c:284
+#: src/lang.c:285
 #, fuzzy
 msgid	"0 - 9\t  display article by number in current thread"
 msgstr	"0 - 9\t  makaleyi mevcut parçacýktaki sayýyla görüntüle"
 
-#: src/lang.c:285
+#: src/lang.c:286
 msgid	"cancel (delete) or supersede (overwrite) current article"
 msgstr	""
 
-#: src/lang.c:286
+#: src/lang.c:287
 #, fuzzy
 msgid	"edit article (mail-groups only)"
 msgstr	"makaleyi düzenle (sadece posta-gruplarý)"
 
-#: src/lang.c:287
+#: src/lang.c:288
 #, fuzzy
 msgid	"display first article in current thread"
 msgstr	"mevcut parçacýktaki makaleyi ilk görüntüle"
 
-#: src/lang.c:288
+#: src/lang.c:289
 #, fuzzy
 msgid	"display first page of article"
 msgstr	"makalenin ilk sayfasýný görüntüle"
 
-#: src/lang.c:289
+#: src/lang.c:290
 #, fuzzy
 msgid	"post followup to current article"
 msgstr	"mevcut makale için takip-et gönder"
 
-#: src/lang.c:290
+#: src/lang.c:291
 #, fuzzy
 msgid	"post followup (don't copy text) to current article"
 msgstr	"mevcut makale için takip-et gönder (metni kopyalama)"
 
-#: src/lang.c:291
+#: src/lang.c:292
 #, fuzzy
 msgid	"post followup to current article quoting complete headers"
 msgstr	"tam baþlýklarý imleyen mevcut makale için takip-et gönder"
 
-#: src/lang.c:292
+#: src/lang.c:293
 #, fuzzy
 msgid	"display last article in current thread"
 msgstr	"mevcut parçacýktaki son makaleyi görüntüle"
 
-#: src/lang.c:293
+#: src/lang.c:294
 #, fuzzy
 msgid	"display last page of article"
 msgstr	"makalenin son sayfasný görüntüle"
 
-#: src/lang.c:294
+#: src/lang.c:295
 #, fuzzy
 msgid	"mark rest of thread as read and advance to next unread"
 msgstr	"parçacýðýn kalanýný okunmuþ olarak iþaretle ve sonraki okunmamýþa geç"
 
-#: src/lang.c:295
+#: src/lang.c:296
 #, fuzzy
 msgid	"display next article"
 msgstr	"sonraki makaleyi görüntüle"
 
-#: src/lang.c:296
+#: src/lang.c:297
 #, fuzzy
 msgid	"display first article in next thread"
 msgstr	"sonraki baþlýktaki ilk makaleyi görüntüle"
 
-#: src/lang.c:297
+#: src/lang.c:298
 #, fuzzy
 msgid	"display next unread article"
 msgstr	"sonraki okunmamýþ makaleyi görüntüle"
 
-#: src/lang.c:298
+#: src/lang.c:299
 #, fuzzy
 msgid	"go to the article that this one followed up"
 msgstr	"bunu takip eden makaleye git"
 
-#: src/lang.c:299
+#: src/lang.c:300
 #, fuzzy
 msgid	"display previous article"
 msgstr	"önceki makaleyi görüntüle"
 
-#: src/lang.c:300
+#: src/lang.c:301
 #, fuzzy
 msgid	"display previous unread article"
 msgstr	"önceki okunmamýþ makaleyi görüntüle"
 
-#: src/lang.c:301
+#: src/lang.c:302
 #, fuzzy
 msgid	"quickly kill an article using defaults"
 msgstr	"varsayýlanlarý kullanarak makaleyi hemen öldür"
 
-#: src/lang.c:302
+#: src/lang.c:303
 #, fuzzy
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	"varsayýlanlarý kullanarak makaleyi hemen otomatik-seç(hot)"
 
-#: src/lang.c:303
+#: src/lang.c:304
 #, fuzzy
 msgid	"return to group selection level"
 msgstr	"küme seçme düzeyine dön"
 
-#: src/lang.c:304
+#: src/lang.c:305
 #, fuzzy
 msgid	"reply through mail to author"
 msgstr	"yazara posta aracýlýðyla yanýt ver"
 
-#: src/lang.c:305
+#: src/lang.c:306
 #, fuzzy
 msgid	"reply through mail (don't copy text) to author"
 msgstr	"yazara posta aracýlýyla yanýt ver (metni kopyalama)"
 
-#: src/lang.c:306
+#: src/lang.c:307
 #, fuzzy
 msgid	"reply through mail to author quoting complete headers"
 msgstr	"tam baþlýklarý imleyerek yazara posta aracýlýðýyla yanýt ver"
 
-#: src/lang.c:307
+#: src/lang.c:308
 #, fuzzy
 msgid	"repost chosen article to another group"
 msgstr	"seçilen makaleyi baþka bir kümeye yeniden gönder"
 
-#: src/lang.c:308
+#: src/lang.c:309
 #, fuzzy
 msgid	"search backwards within this article"
 msgstr	"bu makalede geriye doðru ara"
 
-#: src/lang.c:309
+#: src/lang.c:310
 #, fuzzy
 msgid	"search forwards within this article"
 msgstr	"bu makalede ileriye doðru ara"
 
-#: src/lang.c:310
+#: src/lang.c:311
 #, fuzzy
 msgid	"show article in raw-mode (including all headers)"
 msgstr	"makaleyi ham-kipte göster (bütün baþlýklar dahil)"
 
-#: src/lang.c:311
+#: src/lang.c:312
 #, fuzzy
 msgid	"skip next block of included text"
 msgstr	"ekli dosyanýn sonraki öbeðine atla"
 
-#: src/lang.c:312
+#: src/lang.c:313
 #, fuzzy
 msgid	"toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr	"(^L)açýk/kapalý form-besleme tarafýndan gizlenen bölümlerin gösterimini "
 	"deðiþtir"
 
-#: src/lang.c:313
+#: src/lang.c:314
 #, fuzzy
 msgid	"toggle word highlighting on/off"
 msgstr	"açýk/kapalý vurgulayan sözcüðü deðiþtir"
 
-#: src/lang.c:314
+#: src/lang.c:315
 #, fuzzy
 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:315
+#: src/lang.c:316
 #, fuzzy
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	"sekme aralýðýný deðiþtir 4 <-> 8"
 
-#: src/lang.c:316
+#: src/lang.c:317
 #, fuzzy
 msgid	"toggle german TeX style decoding for current article"
 msgstr	"german TeX kod biçemi mevcut makale için deðiþtir"
 
-#: src/lang.c:317
+#: src/lang.c:318
 #, fuzzy
 msgid	"toggle display of uuencoded sections"
 msgstr	"metinsele kodlanmýþ bölümlerin gösterimini deðiþtir"
 
-#: src/lang.c:318
+#: src/lang.c:319
 #, fuzzy
 msgid	"View/save multimedia attachments"
 msgstr	"çoklu-ortam eklerini Görüntüle/kaydet"
 
-#: src/lang.c:319
+#: src/lang.c:320
 #, fuzzy, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	"hata veya komutu posta aracýlýðýyla bildirin %s"
 
-#: src/lang.c:320
+#: src/lang.c:321
 #, fuzzy
 msgid	"choose range of articles to be affected by next command"
 msgstr	"sonraki komuttan etkilenen makalelerin aralýðýný seç"
 
-#: src/lang.c:321
+#: src/lang.c:322
 #, fuzzy
 msgid	"escape from command prompt"
 msgstr	"komut isteminden çýk"
 
-#: src/lang.c:322
+#: src/lang.c:323
 #, fuzzy
 msgid	"edit filter file"
 msgstr	"Süz dosyasý okunuyor"
 
-#: src/lang.c:323
+#: src/lang.c:324
 #, fuzzy
 msgid	"get help"
 msgstr	"yardým al"
 
-#: src/lang.c:324
+#: src/lang.c:325
 #, fuzzy
 msgid	"display last article viewed"
 msgstr	"görüntülenen son makaleyi göster"
 
-#: src/lang.c:325
+#: src/lang.c:326
 #, fuzzy
 msgid	"down one line"
 msgstr	"bir satýr aþaðý"
 
-#: src/lang.c:326
+#: src/lang.c:327
 #, fuzzy
 msgid	"up one line"
 msgstr	"bir satýr aþaðý"
 
-#: src/lang.c:327
+#: src/lang.c:328
 #, fuzzy
 msgid	"go to article chosen by Message-ID"
 msgstr	"Ýleti-kimliði tarafýndn seçilen makaleye git"
 
-#: src/lang.c:328
+#: src/lang.c:329
 #, fuzzy
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	"makale/parçacýk/hot/örüntü/etiketlenmiþ makaleleri postala"
 
-#: src/lang.c:329
+#: src/lang.c:330
 #, fuzzy
 msgid	"menu of configurable options"
 msgstr	"yapýlandýrabilir seçenekler menüsü"
 
-#: src/lang.c:330
+#: src/lang.c:331
 #, fuzzy
 msgid	"down one page"
 msgstr	"bir sayfa alta"
 
-#: src/lang.c:331
+#: src/lang.c:332
 #, fuzzy
 msgid	"up one page"
 msgstr	"bir sayfa yukarýya"
 
-#: src/lang.c:332
+#: src/lang.c:333
 #, fuzzy
 msgid	"post (write) article to current group"
 msgstr	"makaleyi mevcut kümeye gönder(yaz)"
 
-#: src/lang.c:333
+#: src/lang.c:334
 #, fuzzy
 msgid	"post postponed articles"
 msgstr	"ertelenmiþ makaleleri postala"
 
-#: src/lang.c:334
+#: src/lang.c:335
 #, fuzzy
 msgid	"list articles posted by you (from posted file)"
 msgstr	"(postalanmýþ dosyadan) tarafýnýzdan postalanan makaleleri listele"
 
-#: src/lang.c:335
+#: src/lang.c:336
 #, fuzzy
 msgid	"return to previous menu"
 msgstr	"önceki menüye dön"
 
-#: src/lang.c:336
+#: src/lang.c:337
 #, fuzzy
 msgid	"quit tin immediately"
 msgstr	"tin'den hemen çýk"
 
-#: src/lang.c:337
+#: src/lang.c:338
 #, fuzzy
 msgid	"redraw page"
 msgstr	"sayfayý yeniden çiz"
 
-#: src/lang.c:338
+#: src/lang.c:339
 #, fuzzy
 msgid	"save article/thread/hot/pattern/tagged articles to file"
 msgstr	"makale/parçacýk/hot/örüntü/etiketlenmiþ makaleleri dosyaya kaydet"
 
-#: src/lang.c:339
+#: src/lang.c:340
 #, fuzzy
 msgid	"save marked articles automatically without user prompts"
 msgstr	"iþaretlenmiþ makaleleri kullanýcý istemi olmadan otomatik kaydet"
 
-#: src/lang.c:340
+#: src/lang.c:341
 msgid	"scroll the screen one line down"
 msgstr	""
 
-#: src/lang.c:341
+#: src/lang.c:342
 msgid	"scroll the screen one line up"
 msgstr	""
 
-#: src/lang.c:342
+#: src/lang.c:343
 #, fuzzy
 msgid	"search for articles by author backwards"
 msgstr	"makaleleri yazara göre geriye doðru ara"
 
-#: src/lang.c:343
+#: src/lang.c:344
 #, fuzzy
 msgid	"search for articles by author forwards"
 msgstr	"makaleleri yazara göre ileriye doðru ara"
 
-#: src/lang.c:344
+#: src/lang.c:345
 #, fuzzy
 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:345
+#: src/lang.c:346
 #, fuzzy
 msgid	" \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr	" \t  (arayýcýlar büyük/küçük harfe duyarlýdýr ve bütün makaleleri çevreler)"
 
-#: src/lang.c:346
+#: src/lang.c:347
 #, fuzzy
 msgid	"search for articles by Subject line backwards"
 msgstr	"makaleleri Konu satýrýna göre geriye doðru ara"
 
-#: src/lang.c:347
+#: src/lang.c:348
 #, fuzzy
 msgid	"search for articles by Subject line forwards"
 msgstr	"makaleleri Konuya göre ileriye doðru ara"
 
-#: src/lang.c:348
+#: src/lang.c:349
 #, fuzzy
 msgid	"repeat last search"
 msgstr	"son aramayý tekrarla"
 
-#: src/lang.c:349
+#: src/lang.c:350
 #, fuzzy
 msgid	"tag current article for reposting/mailing/piping/printing/saving"
 msgstr	"mevcut makaleyi yeniden gönderme/postalama/kanal/yazdýrma/kaydetme için "
 	"etiketle"
 
-#: src/lang.c:350
+#: src/lang.c:351
 #, fuzzy
 msgid	"toggle info message in last line (subject/description)"
 msgstr	"son satýrdaki bilgi iletisini deðiþtir (konu/taným)"
 
-#: src/lang.c:351
+#: src/lang.c:352
 #, fuzzy
 msgid	"toggle inverse video"
 msgstr	"ters video'yu deðiþtir"
 
-#: src/lang.c:352
+#: src/lang.c:353
 #, fuzzy
 msgid	"toggle mini help menu display"
 msgstr	"mini yardým menüsü görünümünü deðiþtir"
 
-#: src/lang.c:353
+#: src/lang.c:354
 #, fuzzy
 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:354
+#: src/lang.c:355
 #, fuzzy
 msgid	"show version information"
 msgstr	"sürüm bilgisini göster"
 
-#: src/lang.c:355
+#: src/lang.c:356
 #, fuzzy
 msgid	"mark all articles as read and return to group selection menu"
 msgstr	"bürtümn makaleleri okunmuþ olarak iþaretle ve küme seçme menüsüne geri dön"
 
-#: src/lang.c:356
+#: src/lang.c:357
 #, fuzzy
 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 kümeye gir"
 
-#: src/lang.c:357
+#: src/lang.c:358
 #, fuzzy
 msgid	"choose first thread in list"
 msgstr	"listedeki ilk parçacýðý seç"
 
-#: src/lang.c:358
+#: src/lang.c:359
 #, fuzzy
 msgid	"choose last thread in list"
 msgstr	"listedeki son parçacýðý seç"
 
-#: src/lang.c:359
+#: src/lang.c:360
 #, fuzzy
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	"mevcut parçacýk kapsamýndaki makaleleri seç ( Parçacýk alt-menüsünü aç)"
 
-#: src/lang.c:360
+#: src/lang.c:361
 #, fuzzy
 msgid	"mark article as unread"
 msgstr	"makaleyi okunmamýþ olarak iþaretle"
 
-#: src/lang.c:361
+#: src/lang.c:362
 #, fuzzy
 msgid	"mark current thread or tagged threads as read"
 msgstr	"mevcut parçacýðý veya etiketlenmiþ parçacýklarý okunmuþ olarak iþaretle "
 
-#: src/lang.c:362
+#: src/lang.c:363
 #, fuzzy
 msgid	"mark thread as unread"
 msgstr	"parçacýðý okunmamýþ olarak iþaretle"
 
-#: src/lang.c:363
+#: src/lang.c:364
 #, fuzzy
 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:364
+#: src/lang.c:365
 #, fuzzy
 msgid	"display next group"
 msgstr	"sonraki kümeyi görüntüle"
 
-#: src/lang.c:365
+#: src/lang.c:366
 #, fuzzy
 msgid	"display previous group"
 msgstr	"önceki kümeyi görüntüle"
 
-#: src/lang.c:366
+#: src/lang.c:367
 #, fuzzy
 msgid	"toggle all selections (all articles)"
 msgstr	"bütün seçimleri (bütün makaleleri) deðiþtir"
 
-#: src/lang.c:367
+#: src/lang.c:368
 #, fuzzy
 msgid	"select group (make \"hot\")"
 msgstr	"küme seç (yap \"hot\")"
 
-#: src/lang.c:368
+#: src/lang.c:369
 #, fuzzy
 msgid	"select thread"
 msgstr	"parçacýk seç"
 
-#: src/lang.c:369
+#: src/lang.c:370
 #, fuzzy
 msgid	"select threads if at least one unread article is selected"
 msgstr	"en az bir okunmamýþ makale seçilmiþse parçacýk seç)"
 
-#: src/lang.c:370
+#: src/lang.c:371
 #, fuzzy
 msgid	"select threads that match user specified pattern"
 msgstr	"kullanýcý tanýmlý kalýba uyan baþlýklarý seç"
 
-#: src/lang.c:371
+#: src/lang.c:372
 #, fuzzy
 msgid	"tag 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:372
+#: src/lang.c:373
 #, fuzzy
 msgid	"0 - 9\t  choose thread by number"
 msgstr	"0 - 9\t  sayýya göre parçacýk seç"
 
-#: src/lang.c:373
+#: src/lang.c:374
 #, fuzzy
 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:374
+#: src/lang.c:375
 #, fuzzy
 msgid	"toggle display of all/unread articles"
 msgstr	"bütün/okunmamýþ makalelerin görünümünü deðiþtir"
 
-#: src/lang.c:375
+#: src/lang.c:376
 #, fuzzy
 msgid	"toggle selection of thread"
 msgstr	"parçacýk seçimini deðiþtir"
 
-#: src/lang.c:376
+#: src/lang.c:377
 #, fuzzy
 msgid	"cycle through threading options available"
 msgstr	"kullanýlabilir parçacýk seçenekleriyle çevir"
 
-#: src/lang.c:377
+#: src/lang.c:378
 #, fuzzy
 msgid	"undo all selections (all articles)"
 msgstr	"bütün seçimleri (bütün makaleleri) geri al"
 
-#: src/lang.c:378
+#: src/lang.c:379
 #, fuzzy
 msgid	"untag all tagged threads"
 msgstr	"etiketlenmiþ bütün parçacýklarýn etiketini kaldýr"
 
-#: src/lang.c:379
+#: src/lang.c:380
 #, fuzzy
 msgid	"mark all articles in group as read"
 msgstr	"kümedeki bütün makaleleri okunmuþ olarak iþaretle"
 
-#: src/lang.c:380
+#: src/lang.c:381
 #, fuzzy
 msgid	"mark all articles in group as read and move to next unread group"
 msgstr	"kümedeki bütün makaleleri okumuþ olarak iþaretle ve sonraki okunmamýþ kümeye "
 	"geç"
 
-#: src/lang.c:381
+#: src/lang.c:382
 #, fuzzy
 msgid	"choose first group in list"
 msgstr	"listedeki ilk kümeyi seç"
 
-#: src/lang.c:382
+#: src/lang.c:383
 #, fuzzy
 msgid	"choose group by name"
 msgstr	"Ýsme göre küme seç"
 
-#: src/lang.c:383
+#: src/lang.c:384
 #, fuzzy
 msgid	"0 - 9\t  choose group by number"
 msgstr	"0 - 9\t  sayýya göre küme seç"
 
-#: src/lang.c:384
+#: src/lang.c:385
 #, fuzzy
 msgid	"choose range of groups to be affected by next command"
 msgstr	"sonraki komuttan etkilenecek olan kümelerin aralýðýný seç"
 
-#: src/lang.c:385
+#: src/lang.c:386
 #, fuzzy
 msgid	"choose last group in list"
 msgstr	"listedeki son kümeyi seç"
 
-#: src/lang.c:386
+#: src/lang.c:387
 #, fuzzy
 msgid	"mark all articles in chosen group unread"
 msgstr	"seçilen kümedeki bütün makaleleri okunmamýþ olarak iþaretle"
 
-#: src/lang.c:387
+#: src/lang.c:388
 #, fuzzy
 msgid	"move chosen group within list"
 msgstr	"Listede seçilen kümeye git"
 
-#: src/lang.c:388
+#: src/lang.c:389
 #, fuzzy
 msgid	"choose next group with unread news"
 msgstr	"okunmamýþ haberlerde sonraki kümeyi seç"
 
-#: src/lang.c:389 src/lang.c:1197
+#: src/lang.c:390 src/lang.c:1197
 #, fuzzy
 msgid	"quit"
 msgstr	"çýk"
 
-#: src/lang.c:390
+#: src/lang.c:391
 #, fuzzy
 msgid	"quit without saving configuration changes"
 msgstr	"yapýlandýrabilir deðiþiklikleri kaydetmeden çýk"
 
-#: src/lang.c:391
+#: src/lang.c:392
 #, fuzzy
 msgid	"read chosen group"
 msgstr	"seçilen kümeyi oku"
 
-#: src/lang.c:392
+#: src/lang.c:393
 #, fuzzy
 msgid	"reset .newsrc (all available articles in groups marked unread)"
 msgstr	"reset .newsrc (kümelerdeki bütün kullanýlabilir makaleler okunmamýþ olarak "
 	"iþaretlendi)"
 
-#: src/lang.c:393
+#: src/lang.c:394
 #, fuzzy
 msgid	"search backwards for a group name"
 msgstr	"geriye doðru küme ismi ara"
 
-#: src/lang.c:394
+#: src/lang.c:395
 #, fuzzy
 msgid	" \t  (all searches are case-insensitive and wrap around)"
 msgstr	" \t  (bütün arayýcýlar büyük/küçük harfe duyarlýdýr ve çevreler)"
 
-#: src/lang.c:395
+#: src/lang.c:396
 #, fuzzy
 msgid	"search forwards for a group name"
 msgstr	"ileriye doðru küme ismi ara"
 
-#: src/lang.c:396
+#: src/lang.c:397
 #, fuzzy
 msgid	"subscribe to chosen group"
 msgstr	"seçilen kümeye abone ol"
 
-#: src/lang.c:397
+#: src/lang.c:398
 #, fuzzy
 msgid	"subscribe to groups that match pattern"
 msgstr	"örüntüye uyan kümelere abone ol"
 
-#: src/lang.c:398
+#: src/lang.c:399
 #, fuzzy
 msgid	"reread active file to check for any new news"
 msgstr	"aktif dosyayý yeni haberleri onaylamak için yeniden oku"
 
-#: src/lang.c:399
+#: src/lang.c:400
 #, fuzzy
 msgid	"toggle display of group name only or group name plus description"
 msgstr	"sadece küme ismini veya küme ismi ve taným görünümünü deðiþtir"
 
-#: src/lang.c:400
+#: src/lang.c:401
 #, fuzzy
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	"bütün7okunmamýþ abone olmayan kümeleri göstermek için görünümü deðiþtir"
 
-#: src/lang.c:401
+#: src/lang.c:402
 #, fuzzy
 msgid	"unsubscribe from chosen group"
 msgstr	"seçilen küme için abonelikten çýk"
 
-#: src/lang.c:402
+#: src/lang.c:403
 #, fuzzy
 msgid	"unsubscribe from groups that match pattern"
 msgstr	"örüntüye uyan bütün kümeler için abonelikten çýk"
 
-#: src/lang.c:403
+#: src/lang.c:404
 #, fuzzy
 msgid	"sort the list of groups"
 msgstr	"küme listelerini sýrala"
 
-#: src/lang.c:404
+#: src/lang.c:405
 #, fuzzy
 msgid	"toggle display to show all/subscribed groups"
 msgstr	"bütün/abone olmayan kümeleri göstermek için görünümü deðiþtir"
 
-#: src/lang.c:405
+#: src/lang.c:406
 #, fuzzy
 msgid	"0 - 9\t  choose article by number"
 msgstr	"0 - 9\t  sayýya göre makale seç"
 
-#: src/lang.c:406
+#: src/lang.c:407
 #, fuzzy
 msgid	"mark thread as read and return to group index page"
 msgstr	"parçacýðý okunmuþ olarak iþaretle ve küme dizin sayfasýna geri dön"
 
-#: src/lang.c:407
+#: src/lang.c:408
 #, fuzzy
 msgid	"mark thread as read and enter next unread thread or group"
 msgstr	"parçacýðý okunmuþ olarak iþaretle ve sonraki okunmamýþ parçacýða veya kümeye "
 	"gir"
 
-#: src/lang.c:408
+#: src/lang.c:409
 #, fuzzy
 msgid	"choose first article in list"
 msgstr	"listedeki ilk makaleyi seç"
 
-#: src/lang.c:409
+#: src/lang.c:410
 #, fuzzy
 msgid	"choose last article in list"
 msgstr	"listedeki son makaleyi seç"
 
-#: src/lang.c:410
+#: src/lang.c:411
 #, fuzzy
 msgid	"mark article or tagged articles as read and move cursor to next unread article"
 msgstr	"makaleyi veya etiketlenen makaleleri okunmuþ olarak iþaretle ve imleçi "
 	"sonraki okunmamýþ makaleye taþý"
 
-#: src/lang.c:411
+#: src/lang.c:412
 #, fuzzy
 msgid	"read chosen article"
 msgstr	"seçilen makaleyi oku"
 
-#: src/lang.c:412
+#: src/lang.c:413
 #, fuzzy
 msgid	"Display properties\n"
 	"------------------"
 msgstr	"Özellikleri görüntüle\n"
 	"---------------------"
 
-#: src/lang.c:413
+#: src/lang.c:414
 #, fuzzy
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	"Diðer\n"
 	"-----"
 
-#: src/lang.c:414
+#: src/lang.c:415
 #, fuzzy
 msgid	"Moving around\n"
 	"-------------"
 msgstr	"Etrafýna taþý\n"
 	"-------------"
 
-#: src/lang.c:415
+#: src/lang.c:416
 #, fuzzy
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	"Küme/parçacýk/makale iþlemleri\n"
 	"-------------------------------"
 
-#: src/lang.c:417
+#: src/lang.c:418
 #, fuzzy
 msgid	"Group Level Commands"
 msgstr	"Küme Düzey Komutlarý"
 
-#: src/lang.c:418
+#: src/lang.c:419
 #, fuzzy
 msgid	"Kill filter added"
 msgstr	"Eklendikten sonra öldür"
 
-#: src/lang.c:419
+#: src/lang.c:420
 #, fuzzy
 msgid	"Auto-selection filter added"
 msgstr	"Eklendikten sonra otomatik-seç"
 
-#: src/lang.c:420
+#: src/lang.c:421
 #, fuzzy
 msgid	"All parts tagged"
 msgstr	"Bütün bölümler etiketlendi"
 
-#: src/lang.c:421
+#: src/lang.c:422
 #, fuzzy
 msgid	"Storing article for later posting"
 msgstr	"Makale daha sonra postlama için yükleniyor"
 
-#: src/lang.c:422
+#: src/lang.c:423
 #, fuzzy
 msgid	"Please enter a valid character"
 msgstr	"Lütfen geçerli bir karakter yazýn"
 
-#: src/lang.c:423
+#: src/lang.c:424
 #, fuzzy, c-format
 msgid	"Missing part #%d"
 msgstr	"Eksik bölüm #%d"
 
-#: src/lang.c:424
+#: src/lang.c:425
 #, fuzzy
 msgid	"*** No postponed articles ***"
 msgstr	"*** Ertelenmiþ makale yok ***"
 
-#: src/lang.c:425
+#: src/lang.c:426
 #, fuzzy
 msgid	"Not a multi-part message"
 msgstr	"Çok-bölümlü ileti deðil"
 
-#: src/lang.c:426
+#: src/lang.c:427
 #, fuzzy
 msgid	"You are not subscribed to this group"
 msgstr	"Bu kümeye abone deðilsiniz"
 
-#: src/lang.c:427
+#: src/lang.c:428
 #, fuzzy
 msgid	"No previous expression"
 msgstr	"Önceki ifade yok"
 
-#: src/lang.c:428
+#: src/lang.c:429
 #, fuzzy
 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
-#: src/lang.c:430
+#: src/lang.c:431
 #, fuzzy, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	"%d ertelendi %s, tekrar kullan ^O...\n"
 
-#: src/lang.c:431
+#: src/lang.c:432
 #, fuzzy
 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"
@@ -2118,23 +2096,23 @@ msgstr	"X-Çevirim Notu: çok-bölümlü/alte
 	"  Bütün makaleyi almak için, Seçenekler Menüsündeki alternatif kotarmayý\n"
 	"  OFF durumuna getirin\n"
 
-#: src/lang.c:433
+#: src/lang.c:434
 #, fuzzy, c-format
 msgid	"Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr	"Dosya adýný %s/%s için kaydet bir posta kutusudur. Ek kaydedilmedi"
 
-#: src/lang.c:434
+#: src/lang.c:435
 #, fuzzy
 msgid	"TeX2Iso encoded article"
 msgstr	"TeX2Iso makaleyi kodladý"
 
-#: src/lang.c:435
+#: src/lang.c:436
 #, fuzzy
 msgid	"incomplete "
 msgstr	"tamamlanmadý "
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:437
+#: src/lang.c:438
 #, fuzzy, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -2195,146 +2173,146 @@ msgstr	"\n"
 	"dosyalarýný okuyun.\n"
 	"Hata-raporlarýný ve önerileri 'R' komutu ile %s'e gönderin.\n"
 
-#: src/lang.c:453
+#: src/lang.c:454
 #, 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."
 
-#: src/lang.c:455
+#: src/lang.c:456
 msgid	"Invalid multibyte sequence found\n"
 msgstr	""
 
-#: src/lang.c:457
+#: src/lang.c:458
 #, fuzzy, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	"Geçersiz Gönderen: -baþlýk %s"
 
-#: src/lang.c:458
+#: src/lang.c:459
 #, fuzzy
 msgid	"Inverse video disabled"
 msgstr	"Ters video geçersiz"
 
-#: src/lang.c:459
+#: src/lang.c:460
 #, fuzzy
 msgid	"Inverse video enabled"
 msgstr	"Ters video geçerli"
 
-#: src/lang.c:461
+#: src/lang.c:462
 #, fuzzy, c-format
 msgid	"Missing definition for %s\n"
 msgstr	"Taným eksik %s\n"
 
-#: src/lang.c:462
+#: src/lang.c:463
 #, fuzzy, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	"Geçersiz tuþ tanýmý '%s'\n"
 
-#: src/lang.c:463
+#: src/lang.c:464
 #, fuzzy, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	"Geçersiz anahtar sözcük '%s'\n"
 
-#: src/lang.c:464
+#: src/lang.c:465
 #, c-format
 msgid	"Keymap file was upgraded to version %s\n"
 msgstr	""
 
-#: src/lang.c:465
+#: src/lang.c:466
 #, fuzzy, c-format
 msgid	"Kill From:     [%s] (y/n): "
 msgstr	"Göndereni yok et:     [%s] (y/n): "
 
-#: src/lang.c:466
+#: src/lang.c:467
 #, fuzzy
 msgid	"Kill Lines: (</>num): "
 msgstr	"Satýrlarý yok et:(</>num): "
 
-#: src/lang.c:467
+#: src/lang.c:468
 #, fuzzy
 msgid	"Kill Article Menu"
 msgstr	"Makale menüsünü yok et"
 
-#: src/lang.c:468
+#: src/lang.c:469
 #, fuzzy, c-format
 msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr	"Ýleti-Kimliðini yko et:   [%s] (f/l/o/n): "
 
-#: src/lang.c:469
+#: src/lang.c:470
 #, fuzzy
 msgid	"Kill pattern scope  : "
 msgstr	"Örüntü kapsamýný yok et: "
 
-#: src/lang.c:470
+#: src/lang.c:471
 #, fuzzy, c-format
 msgid	"Kill Subject:  [%s] (y/n): "
 msgstr	"Konuyu yok et: [%s] (y/n): "
 
-#: src/lang.c:471
+#: src/lang.c:472
 #, fuzzy
 msgid	"Kill text pattern   : "
 msgstr	"Metin örüntüsünü yok et : "
 
-#: src/lang.c:472
+#: src/lang.c:473
 #, fuzzy
 msgid	"Kill time in days   : "
 msgstr	"Zamaný gün olarak yok et: "
 
-#: src/lang.c:474
+#: src/lang.c:475
 #, fuzzy
 msgid	"Last"
 msgstr	"Son"
 
-#: src/lang.c:475
+#: src/lang.c:476
 #, fuzzy
 msgid	"-- Last response --"
 msgstr	"-- Son yanýt --"
 
-#: src/lang.c:476
+#: src/lang.c:477
 #, fuzzy, c-format
 msgid	"Lines %s  "
 msgstr	"Satýrlar %s "
 
-#: src/lang.c:478
+#: src/lang.c:479
 #, fuzzy
 msgid	"Mail"
 msgstr	"Postalandý"
 
-#: src/lang.c:479
+#: src/lang.c:480
 #, fuzzy
 msgid	"mailbox "
 msgstr	"posta kutusu "
 
-#: src/lang.c:480
+#: src/lang.c:481
 #, fuzzy, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	"Makaleleri postala [%.*s]> "
 
-#: src/lang.c:481
+#: src/lang.c:482
 #, fuzzy, c-format
 msgid	"Mailing log to %s\n"
 msgstr	"Günlüðü postalýyor %s\n"
 
-#: src/lang.c:482
+#: src/lang.c:483
 #, fuzzy
 msgid	"Mail bug report..."
 msgstr	"Hata raporu postala..."
 
-#: src/lang.c:483
+#: src/lang.c:484
 #, fuzzy, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	"HATA RAPORUNU postala %s?"
 
-#: src/lang.c:484
+#: src/lang.c:485
 #, fuzzy
 msgid	"Mailed"
 msgstr	"Postalandý"
 
-#: src/lang.c:485
+#: src/lang.c:486
 #, fuzzy, c-format
 msgid	"Mailing to %s..."
 msgstr	"Postalanýyor %s..."
 
-#: src/lang.c:486
+#: src/lang.c:487
 #, fuzzy
 msgid	"# [Mail/Save] active file. Format is like news active file:\n"
 	"#   groupname  max.artnum  min.artnum  /dir\n"
@@ -2345,336 +2323,336 @@ msgstr	"# (Mail/Save) aktif dosya. Forma
 	"# 4. alan basedir(örn.~/Mail or ~/News)\n"
 	"#\n"
 
-#: src/lang.c:489
+#: src/lang.c:490
 #, fuzzy, c-format
 msgid	"%s marked as unread"
 msgstr	"%s okunmamýþ olarak iþaretlendi"
 
-#: src/lang.c:490
+#: src/lang.c:491
 #, fuzzy, c-format
 msgid	"Marked %d of %d tagged %s as read"
 msgstr	"%d içerisinde %d iþaretlendi %s okunmuþ olarak etiketlendi"
 
-#: src/lang.c:491
+#: src/lang.c:492
 #, fuzzy, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	"Bütün makaleleri okunmuþ olarak iþaretle%s?"
 
-#: src/lang.c:492
+#: src/lang.c:493
 #, fuzzy, c-format
 msgid	"Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr	"Ýþaretle %s=etiketlenen makaleler, %s=mevcut makale, %s=çýk: "
 
-#: src/lang.c:493
+#: src/lang.c:494
 #, fuzzy, c-format
 msgid	"Mark group %s as read?"
 msgstr	"Küme %s 'i okunmuþ olarak iþaretle?"
 
-#: src/lang.c:494
+#: src/lang.c:495
 #, fuzzy, c-format
 msgid	"Mark thread as read%s?"
 msgstr	"Parçacýk %s 'i okunmuþ olarak iþaretle?"
 
-#: src/lang.c:495
+#: src/lang.c:496
 #, fuzzy, c-format
 msgid	"Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr	"Ýþaretle %s=etiketlenen makale7parçacýklar, %s= mevcut parçacýk, %s=çýk: "
 
-#: src/lang.c:496
+#: src/lang.c:497
 #, fuzzy, c-format
 msgid	"Matching %s groups..."
 msgstr	"%s kümelerini eþleþtiriyor..."
 
-#: src/lang.c:497 src/lang.c:501
+#: src/lang.c:498 src/lang.c:502
 #, fuzzy, c-format
 msgid	"<n>=set current to n; %s=next unread; %s=search pattern; %s=kill/select"
 msgstr	"<n>=muvcut n için ayarlandý; %s=sonraki okunmayan; %s=arama örüntüsü; %s=yok "
 	"et/seç"
 
-#: src/lang.c:498
+#: src/lang.c:499
 #, fuzzy, c-format
 msgid	"%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list "
 	"thread"
 msgstr	"%s=yazar aramasý; %s=catchup; %s=alt satýr; %s=üst satýr; %s= okunmuþ "
 	"iþaretle; %s=parçacýk listele"
 
-#: src/lang.c:499
+#: src/lang.c:500
 #, fuzzy, c-format
 msgid	"%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"
 msgstr	"%s=üst satýr; %s=alt satýr; %s=üst sayfa; %s= alt sayfa; %s=üst; %s=alt"
 
-#: src/lang.c:500
+#: src/lang.c:501
 #, fuzzy, 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:502
+#: src/lang.c:503
 #, fuzzy, 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=catchup; %s=takip-et; %s=okumuþ olarak "
 	"iþaretle"
 
-#: src/lang.c:503
+#: src/lang.c:504
 #, fuzzy, c-format
 msgid	"<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr	"<n>=mevcut n için ayarlandý; %s=sonraki okunmayan; %s,%s=arama örgüsü; %"
 	"s=catchup"
 
-#: src/lang.c:504
+#: src/lang.c:505
 #, fuzzy, c-format
 msgid	"%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"
 msgstr	"%s=alt satýr; %s=üst satýr; %s=yardým; %s=taþý; %s=çýk; %s=bütün/okunmamýþ "
 	"deðiþtir"
 
-#: src/lang.c:505
+#: src/lang.c:506
 #, fuzzy, c-format
 msgid	"%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out"
 msgstr	"%s=abone ol; %s=alt örüntü; %s=abonelikten çýk; %s=alt olmayan örüntü; %"
 	"s=yank in/out"
 
-#: src/lang.c:506
+#: src/lang.c:507
 #, fuzzy, c-format
 msgid	"<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr	"<n>= muvcut n için ayarlandý; %s=sonraki okunmayan; %s=catchup; %s=deðiþimi "
 	"görüntüle"
 
-#: src/lang.c:507
+#: src/lang.c:508
 #, fuzzy, c-format
 msgid	"%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"
 msgstr	"%s=yardým; %s=alt satýr; %s=üst satýr; %s=quit; %s=etiketle; %s=okunmamýþ "
 	"olarak iþaretle"
 
-#: src/lang.c:508
+#: src/lang.c:509
 #, fuzzy
 msgid	"--More--"
 msgstr	"--Tümü--"
 
-#: src/lang.c:509
+#: src/lang.c:510
 #, fuzzy, c-format
 msgid	"Moving %s..."
 msgstr	"Taþýnan %s..."
 
-#: src/lang.c:510
+#: src/lang.c:511
 msgid	"Message-ID: & last Reference  "
 msgstr	""
 
-#: src/lang.c:511
+#: src/lang.c:512
 #, fuzzy
 msgid	"Message-ID: line              "
 msgstr	"Ýleti-Kimliði: satýr             "
 
-#: src/lang.c:512
+#: src/lang.c:513
 msgid	"Message-ID: & References: line"
 msgstr	""
 
-#: src/lang.c:514
+#: src/lang.c:515
 #, fuzzy
 msgid	", name: "
 msgstr	", isim: "
 
-#: src/lang.c:515
+#: src/lang.c:516
 #, fuzzy, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	"Haber grubuna gidin [%s]> "
 
-#: src/lang.c:516
+#: src/lang.c:517
 #, fuzzy
 msgid	"newsgroups"
 msgstr	"haber gruplarý"
 
-#: src/lang.c:517
+#: src/lang.c:518
 #, fuzzy, c-format
 msgid	"Position %s in group list (1,2,..,$) [%d]> "
 msgstr	"Grup listesinde %s konumlayýn (1,2,..,$) [%d]> "
 
-#: src/lang.c:518
+#: src/lang.c:519
 #, fuzzy
 msgid	"newsgroup"
 msgstr	"haber gruplarý"
 
-#: src/lang.c:519
+#: src/lang.c:520
 #, fuzzy
 msgid	"Try and save newsrc file again?"
 msgstr	"Newsrc dosyasýný kaydetmeyi tekrar dene?"
 
-#: src/lang.c:520
+#: src/lang.c:521
 #, fuzzy
 msgid	"Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr	"Uyarý: Newsrc dosyanýza herhangi bir haber grubu yazýlmadý. Kaydetme "
 	"durduruldu."
 
-#: src/lang.c:521
+#: src/lang.c:522
 #, fuzzy
 msgid	"newsrc file saved successfully.\n"
 msgstr	"newsrc dosyasý baþarýyla kaydedildi.\n"
 
-#: src/lang.c:522
+#: src/lang.c:523
 #, fuzzy
 msgid	"-- Next response --"
 msgstr	"-- Sonraki yanýt --"
 
-#: src/lang.c:523
+#: src/lang.c:524
 #, fuzzy, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"NNTP yetki þifresi %s için bulunamadý"
 
-#: src/lang.c:524
+#: src/lang.c:525
 #, fuzzy
 msgid	"No  "
 msgstr	"Hayýr"
 
-#: src/lang.c:525
+#: src/lang.c:526
 #, fuzzy
 msgid	"*** No articles ***"
 msgstr	"*** Makale yok ***"
 
-#: src/lang.c:526
+#: src/lang.c:527
 #, fuzzy
 msgid	"No articles have been posted"
 msgstr	"Hiçbir makale gönderilmedi"
 
-#: src/lang.c:527
+#: src/lang.c:528
 #, fuzzy
 msgid	"*** No description ***"
 msgstr	"*** Taným yok ***"
 
-#: src/lang.c:528
+#: src/lang.c:529
 #, fuzzy
 msgid	"No filename"
 msgstr	"Dosya adý yok"
 
-#: src/lang.c:529
+#: src/lang.c:530
 #, fuzzy
 msgid	"No group"
 msgstr	"Küme yok"
 
-#: src/lang.c:530
+#: src/lang.c:531
 #, fuzzy
 msgid	"*** No groups ***"
 msgstr	"*** Kümeler yok ***"
 
-#: src/lang.c:531
+#: src/lang.c:532
 #, fuzzy
 msgid	"No more groups to read"
 msgstr	"Okunacak küme kalmadý"
 
-#: src/lang.c:532
+#: src/lang.c:533
 #, fuzzy
 msgid	"No last message"
 msgstr	"Son ileti yok"
 
-#: src/lang.c:533
+#: src/lang.c:534
 #, fuzzy
 msgid	"No mail address"
 msgstr	"Posta adresi yok"
 
-#: src/lang.c:534
+#: src/lang.c:535
 #, fuzzy
 msgid	"No articles marked for saving"
 msgstr	"Kaydetmek için hiçbir makale iþaretlenmedi"
 
-#: src/lang.c:535
+#: src/lang.c:536
 #, fuzzy
 msgid	"No match"
 msgstr	"Eþ yok"
 
-#: src/lang.c:536
+#: src/lang.c:537
 #, fuzzy
 msgid	"No more groups"
 msgstr	"Baþka küme yok"
 
-#: src/lang.c:537
+#: src/lang.c:538
 #, fuzzy
 msgid	"No newsgroups"
 msgstr	"Haber gruplarý yok"
 
-#: src/lang.c:538
+#: src/lang.c:539
 #, fuzzy
 msgid	"No next unread article"
 msgstr	"Sonraki okunmamýþ makale yok"
 
-#: src/lang.c:539
+#: src/lang.c:540
 #, fuzzy
 msgid	"No previous group"
 msgstr	"Önceki küme yok"
 
-#: src/lang.c:540
+#: src/lang.c:541
 #, fuzzy
 msgid	"No previous unread article"
 msgstr	"Önceki okunmamýþ makale yok"
 
-#: src/lang.c:541
+#: src/lang.c:542
 #, fuzzy
 msgid	"No responses"
 msgstr	"Yanýt yok"
 
-#: src/lang.c:542
+#: src/lang.c:543
 #, fuzzy
 msgid	"No responses to list in current thread"
 msgstr	"Mevcut parçacýkta listelemek için hiç yanýt yok"
 
-#: src/lang.c:543
+#: src/lang.c:544
 #, fuzzy
 msgid	"No search string"
 msgstr	"Arama dizgisi yok"
 
-#: src/lang.c:544
+#: src/lang.c:545
 #, fuzzy
 msgid	"No subject"
 msgstr	"Konu yok"
 
-#: src/lang.c:546
+#: src/lang.c:547
 #, fuzzy, c-format
 msgid	"%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr	"%s: Uçbirim satýr sonuna kadar boþ olmak zorunda (ce)\n"
 
-#: src/lang.c:547
+#: src/lang.c:548
 #, fuzzy, c-format
 msgid	"%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr	"%s: Uçbirim ekran sonuna kadar boþ olmak zorunda (cd)\n"
 
-#: src/lang.c:548
+#: src/lang.c:549
 #, fuzzy, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	"%s: Uçbirimin ekran temizleme (cl) yeteneði olmalý\n"
 
-#: src/lang.c:549
+#: src/lang.c:550
 #, fuzzy, c-format
 msgid	"%s: Terminal must have cursor motion (cm)\n"
 msgstr	"%s: Uçbirimin imleç hareketi olmalý (cm)\n"
 
-#: src/lang.c:550
+#: src/lang.c:551
 #, fuzzy, c-format
 msgid	"%s: TERM variable must be set to use screen capabilities\n"
 msgstr	"%s: TERM deðiþkeni ekran yetenekleri kullanýlacak þekilde ayarlanmalý\n"
 
-#: src/lang.c:552
+#: src/lang.c:553
 #, fuzzy, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	"%s/%s için görüntüleyici yok\n"
 
-#: src/lang.c:553
+#: src/lang.c:554
 #, fuzzy
 msgid	"Newsgroup does not exist on this server"
 msgstr	"Bu sunucuda haber grubu yok"
 
-#: src/lang.c:554
+#: src/lang.c:555
 #, fuzzy, c-format
 msgid	"Group %s not found in active file"
 msgstr	"Küme %s aktif dosyada bulunamadý"
 
-#: src/lang.c:555
+#: src/lang.c:556
 #, fuzzy
 msgid	"c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	"c)yarat, a)lternatif isim kullan, d)varsayýlaný kullan, mewsrc, q)tin'den "
 	"çýk: "
 
-#: src/lang.c:556
+#: src/lang.c:557
 #, fuzzy
 msgid	"use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	"a)lternatif isim kullan, d)varsayýlaný kullan, newsrc, q)tin'den çýk: "
 
-#: src/lang.c:557
+#: src/lang.c:558
 #, fuzzy, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2702,43 +2680,43 @@ msgstr	"# NNTP-sunucu -> newsrc çeviri d
 	"#   news.ka.nu    /tmp/nrc-nu      kanu    nu\n"
 	"#\n"
 
-#: src/lang.c:564
+#: src/lang.c:565
 #, fuzzy
 msgid	"Only"
 msgstr	"Sadece"
 
-#: src/lang.c:565
+#: src/lang.c:566
 #, fuzzy, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	"Seçenek etkin kýlýnmadý. Yeniden derle %s."
 
-#: src/lang.c:566
+#: src/lang.c:567
 #, fuzzy
 msgid	"Options Menu"
 msgstr	"Seçenekler menüsü"
 
-#: src/lang.c:569
+#: src/lang.c:570
 #, fuzzy, c-format
 msgid	"Error in regex: %s at pos. %d '%s'"
 msgstr	"Regex'de hata: poda %s. %d '%s'"
 
-#: src/lang.c:570
+#: src/lang.c:571
 #, fuzzy, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	"Regex'de hata: pcre iç hata %d"
 
-#: src/lang.c:571
+#: src/lang.c:572
 #, fuzzy, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	"Regex'de hata: incele - pcre iç hata %s"
 
-#: src/lang.c:572
+#: src/lang.c:573
 #, fuzzy
 msgid	"Post a followup..."
 msgstr	"Takip edici gönder..."
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:574
+#: src/lang.c:575
 #, fuzzy
 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"
@@ -2747,151 +2725,146 @@ msgstr	"Makaleyi gönderirken hata oluþtu
 	"düþünüyorsanýz, makaleyi erteleyebilir ve tekrar ^O komutunu kulanarak "
 	"ulaþabilirsiniz.\n"
 
-#: src/lang.c:577
+#: src/lang.c:578
 #, fuzzy
 msgid	"Posted articles history"
 msgstr	"Gönderilmiþ makalelerin geçmiþi"
 
-#: src/lang.c:578
+#: src/lang.c:579
 #, fuzzy, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	"habergrup(lar)a gönder [%s]> "
 
-#: src/lang.c:579
+#: src/lang.c:580
 #, fuzzy
 msgid	"-- post processing started --"
 msgstr	"-- gönderme iþlemi baþlatýldý --"
 
-#: src/lang.c:580
+#: src/lang.c:581
 #, fuzzy
 msgid	"-- post processing completed --"
 msgstr	"-- gönderme iþlemi tamamlandý --"
 
-#: src/lang.c:581
+#: src/lang.c:582
 #, fuzzy, c-format
 msgid	"Post subject [%s]> "
 msgstr	"Konuyu gönder (%s)> "
 
-#: src/lang.c:582
+#: src/lang.c:583
 #, fuzzy
 msgid	"# Summary of mailed/posted messages viewable by 'W' command from within tin.\n"
 msgstr	"# 'W' komutundan görünebilir postalanmýþ/gönderilmiþ iletilerin özeti.\n"
 
-#: src/lang.c:583
+#: src/lang.c:584
 #, fuzzy
 msgid	"Posting article..."
 msgstr	"Makale gönderiliyor..."
 
-#: src/lang.c:584
+#: src/lang.c:585
 #, fuzzy, 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:585
+#: src/lang.c:586
 #, fuzzy, c-format
 msgid	"Hot %s"
 msgstr	"Hot %s"
 
-#: src/lang.c:586
+#: src/lang.c:587
 #, fuzzy, c-format
 msgid	"Tagged %s"
 msgstr	"%s imlenmiþ"
 
-#: src/lang.c:587
+#: src/lang.c:588
 #, fuzzy, c-format
 msgid	"Untagged %s"
 msgstr	"%s imlenmemiþ"
 
-#: src/lang.c:588
+#: src/lang.c:589
 #, fuzzy
 msgid	"Processing mail messages marked for deletion."
 msgstr	"Silinmek için iþaretlenen iletilerin iþletilmesi."
 
-#: src/lang.c:589
+#: src/lang.c:590
 #, fuzzy
 msgid	"Processing saved articles marked for deletion."
 msgstr	"Silinmek için iþaretlenen kaydedilmiþ makalelerin iþletilmesi."
 
-#: src/lang.c:590
+#: src/lang.c:591
 #, fuzzy, c-format
 msgid	"Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr	"Takip edilsin? %s=gönder, %s=yoksay, %s=terk et: "
 
-#: src/lang.c:591
+#: src/lang.c:592
 #, fuzzy
 msgid	"Article unchanged, abort mailing?"
 msgstr	"Makale deðiþtirilmesini, posta iptal edilsin mi?"
 
-#: src/lang.c:592
+#: src/lang.c:593
 #, fuzzy, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	"Ertelediðiniz makaleleri görmek ister misiniz (%d)?"
 
-#: src/lang.c:594
+#: src/lang.c:595
 #, fuzzy
 msgid	"Add quick kill filter?"
 msgstr	"Öldürücü hýzlý süzü eklensin mi?"
 
-#: src/lang.c:595
+#: src/lang.c:596
 #, fuzzy
 msgid	"Add quick selection filter?"
 msgstr	"Hýzlý seçenek süzü eklensin mi?"
 
-#: src/lang.c:596
+#: src/lang.c:597
 #, fuzzy
 msgid	"Do you really want to quit?"
 msgstr	"Terketmek istediðinizden emin misiniz?"
 
-#: src/lang.c:597
+#: src/lang.c:598
 #, fuzzy, c-format
 msgid	"%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: "
 msgstr	"%s=düzenle iletiyi iptal et, %s=terk et, %s=sil (iptal) [%%s]: "
 
-#: src/lang.c:598
+#: src/lang.c:599
 #, fuzzy
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	"Bu gruptaki makaleleri imlediniz-yine de terk edilsin mi?"
 
-#: src/lang.c:599
+#: src/lang.c:600
 #, fuzzy, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	"%s=terk et, %s=düzenle, %s=ertele: "
 
-#: src/lang.c:600
+#: src/lang.c:601
 #, fuzzy, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	"%s=terk et %s=düzenle %s=kaydet tanýmý öldür: "
 
-#: src/lang.c:601
+#: src/lang.c:602
 #, fuzzy, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	"%s=terk et %s=düzenle %s=kaydet tanýmý seç: "
 
-#: src/lang.c:602
+#: src/lang.c:603
 #, fuzzy
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	"Yapýlandýrmalarý kaydetmeden terk etmek istediðinizden emin misiniz?"
 
-#: src/lang.c:605
+#: src/lang.c:606
 #, fuzzy
 msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	"Geçersiz aralýklar- '0-9.$' eg. 1-$ geçerlidir"
 
-#: src/lang.c:606
+#: src/lang.c:607
 #, fuzzy
 msgid	"Do you want to abort this operation?"
 msgstr	"Ýþlem durdurulsun mu?"
 
-#: src/lang.c:607
+#: src/lang.c:608
 #, fuzzy
 msgid	"Do you want to exit tin immediately?"
 msgstr	"tin'den hemen çýkmak istediðinizden emin misisniz?"
 
-#: src/lang.c:608
-#, fuzzy
-msgid	"Read response> "
-msgstr	"Yanýtý oku> "
-
 #: src/lang.c:609
 #, fuzzy
 msgid	"Reading ('q' to quit)..."
@@ -3007,11 +2980,6 @@ msgstr	"Yanýtlar sonraki habergruplara y
 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:634
-#, fuzzy, c-format
-msgid	"RespNo %4d of %4d"
-msgstr	"YanýtNo %4d of %4d"
-
 #: src/lang.c:635
 #, fuzzy
 msgid	"Press <RETURN> to continue..."
@@ -3881,9 +3849,8 @@ msgstr	"\n"
 	"    deðiþtirin.\n"
 
 #: src/lang.c:843
-#, fuzzy
-msgid	"  -D       debug mode 1=NNTP 2=ALL"
-msgstr	"  -D       hata ayýklma kipi 1=NNTP 2=HEPSÝ"
+msgid	"  -D mode  debug mode"
+msgstr	""
 
 #: src/lang.c:847
 #, fuzzy
@@ -4141,8 +4108,8 @@ msgstr	"NNTP sunucu ismi bulunamadý"
 
 #: src/lang.c:944
 #, fuzzy, c-format
-msgid	"Connecting to %s:%d..."
-msgstr	"Baðlanýyor %s:%d..."
+msgid	"Connecting to %s:%u..."
+msgstr	"Baðlanýyor %s:%u..."
 
 #: src/lang.c:945
 #, fuzzy
@@ -4503,7 +4470,7 @@ msgstr	"Uçbirim renk desteklemiyor"
 msgid	"Trying %s"
 msgstr	"%s deneniyor"
 
-#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:296
+#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1328 src/refs.c:304
 #, fuzzy
 msgid	"None"
 msgstr	"Hiçbiri"
@@ -4981,9 +4948,9 @@ msgstr	"Süzgeçleme Seçenekleri"
 #: src/lang.c:2020 src/lang.c:2027 src/lang.c:2034 src/lang.c:2041 src/lang.c:2048
 #: src/lang.c:2056 src/lang.c:2072 src/lang.c:2079 src/lang.c:2086 src/lang.c:2093
 #: src/lang.c:2099 src/lang.c:2105 src/lang.c:2122 src/lang.c:2134 src/lang.c:2168
-#: src/lang.c:2221 src/lang.c:2228 src/lang.c:2234 src/lang.c:2259 src/lang.c:2276
-#: src/lang.c:2329 src/lang.c:2365 src/lang.c:2385 src/lang.c:2420 src/lang.c:2430
-#: src/lang.c:2455 src/lang.c:2471 src/lang.c:2490 src/lang.c:2503
+#: src/lang.c:2221 src/lang.c:2235 src/lang.c:2241 src/lang.c:2266 src/lang.c:2283
+#: src/lang.c:2336 src/lang.c:2372 src/lang.c:2392 src/lang.c:2427 src/lang.c:2437
+#: src/lang.c:2462 src/lang.c:2478 src/lang.c:2497 src/lang.c:2510
 #, fuzzy
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"<SPACE> deðiþtirir, <CR> ayarlar, <ESC> iptal eder."
@@ -6523,22 +6490,37 @@ msgid	"# Charset used for MIME (Content-
 msgstr	"# Çok Amaçlý Internet Posta Uzantýlarýn (içerik-tür) posta baþlýklarý için "
 	"kulanýlan karakter kümesi\n"
 
+#: src/lang.c:2227
+#, fuzzy
+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) Çok Amaçlý Internet Posta Uzantýlarý için "
+	"karakterküme ismini giriniz."
+
+#: src/lang.c:2228
+#, fuzzy
+msgid	"MM_LOCAL_CHARSET"
+msgstr	"MM_AÐ_KARAKTERKÜMESÝ"
+
 #: src/lang.c:2229
+msgid	"# Charset supported locally.\n"
+msgstr	""
+
+#: src/lang.c:2236
 #, fuzzy
 msgid	"Mailbox format"
 msgstr	"posta kutusu"
 
-#: src/lang.c:2230
+#: src/lang.c:2237
 #, fuzzy
 msgid	"# Format of the mailbox.\n"
 msgstr	"# Posta kutusunun biçimi.\n"
 
-#: src/lang.c:2235
+#: src/lang.c:2242
 #, fuzzy
 msgid	"MIME encoding in news messages"
 msgstr	"Yeni mesajlarda Çok Amaçlý Internet Posta Uzantýlarý kodla"
 
-#: src/lang.c:2236
+#: src/lang.c:2243
 #, fuzzy
 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"
@@ -6552,17 +6534,17 @@ msgstr	"# Çok Amaçlý Internet Posta Uzan
 	"# Base64 8bit Doðu Asya ve Yunancadan daha yüksek verimlidir\n"
 	"# Rusça karakter kümesinin 8bit karakterler.\n"
 
-#: src/lang.c:2244 src/lang.c:2265
+#: src/lang.c:2251 src/lang.c:2272
 #, fuzzy
 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:2245
+#: src/lang.c:2252
 #, fuzzy
 msgid	"Use 8bit characters in news headers"
 msgstr	"Yeni baþlýklarda 8bit karakter kullan."
 
-#: src/lang.c:2246
+#: src/lang.c:2253
 #, fuzzy
 msgid	"# If ON, 8bit characters in news headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -6573,33 +6555,33 @@ msgstr	"# ON durumdaysa, 8bit karakterle
 	"# karakterlerin deðeri bakýlmadan kodlanýr\n"
 	"# Çok Amaçlý Internet Posta Uzantýlarý kodlamasý 8bit ise\n"
 
-#: src/lang.c:2253
+#: src/lang.c:2260
 #, fuzzy
 msgid	"Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"Soniþemci dosyalarý otomatik olarak göster <SPACE> toggles, <CR> sets, <ESC> "
 	"cancels."
 
-#: src/lang.c:2254
+#: src/lang.c:2261
 #, fuzzy
 msgid	"View post-processed files"
 msgstr	"Soniþlemci dosyalarý göster"
 
-#: src/lang.c:2255
+#: src/lang.c:2262
 #, fuzzy
 msgid	"# If set, post processed files will be opened in a viewer\n"
 msgstr	"# Kurulmuþsa, soniþlemci dosyalar görünüleyicide açýlacak\n"
 
-#: src/lang.c:2260
+#: src/lang.c:2267
 #, fuzzy
 msgid	"MIME encoding in mail messages"
 msgstr	"Çok Amaçlý Internet Posta Uzantýlarý posta iletilerinde kodla"
 
-#: src/lang.c:2266
+#: src/lang.c:2273
 #, fuzzy
 msgid	"Use 8bit characters in mail headers"
 msgstr	"Posta baþlýklarýnda 8bit karakter kullan"
 
-#: src/lang.c:2267
+#: src/lang.c:2274
 #, fuzzy
 msgid	"# If ON, 8bit characters in mail headers are NOT encoded.\n"
 	"# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -6615,28 +6597,28 @@ msgstr	"# ON durumdaysa, 8bit karakterle
 	"# posta baþlýklarýnda 8bit karakterleri yasaksa iptal önerilir HAYIR -e\n"
 	"# Çok önemli neden yoksa ON durumuna getir\n"
 
-#: src/lang.c:2277
+#: src/lang.c:2284
 #, fuzzy
 msgid	"Strip blanks from ends of lines"
 msgstr	"Satýr sonu boþlarý yok et"
 
-#: src/lang.c:2278
+#: src/lang.c:2285
 #, fuzzy
 msgid	"# If ON strip blanks from ends of lines for faster display on slow "
 	"terminals.\n"
 msgstr	"# ON durumdaysa yavaþ uçbirimde daha hýzlý görüntü için boþlarý yok et.\n"
 
-#: src/lang.c:2283
+#: src/lang.c:2290
 #, fuzzy
 msgid	"If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr	"ON durumdaysa damga çevirisi kullan.  <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2284
+#: src/lang.c:2291
 #, fuzzy
 msgid	"Transliteration"
 msgstr	"Damga çevirisi"
 
-#: src/lang.c:2285
+#: src/lang.c:2292
 #, fuzzy
 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"
@@ -6645,50 +6627,50 @@ msgstr	"# ON durumdaysa, //DAMGAÇEVÝRÝSÝ
 	"# daha büyük damga kümesi, yaklaþýk deðer verilebilir\n"
 	"# Bir veya daha fazla ayný karakter\n"
 
-#: src/lang.c:2292
+#: src/lang.c:2299
 #, fuzzy
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"Mektup kopyasý otomatik olarak kendine gönder. <SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2293
+#: src/lang.c:2300
 #, fuzzy
 msgid	"Send you a cc automatically"
 msgstr	"Mektup kopyasý otomatik olarak kendine gönder."
 
-#: src/lang.c:2294
+#: src/lang.c:2301
 #, fuzzy
 msgid	"# If ON automatically put your name in the Cc: field when mailing an article\n"
 msgstr	"# ON durumdaysa otomatic olarak ismini mektup kopyasýna koy: Makaleyi "
 	"gönderirken alan yarat\n"
 
-#: src/lang.c:2298
+#: src/lang.c:2305
 #, fuzzy
 msgid	"Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"Gizli mektup kopyasý otomatik olarak kendine gönder."
 
-#: src/lang.c:2299
+#: src/lang.c:2306
 #, fuzzy
 msgid	"Send you a blind cc automatically"
 msgstr	"Gizli mektup kopyasý otomatik olarak kendine gönder"
 
-#: src/lang.c:2300
+#: src/lang.c:2307
 #, fuzzy
 msgid	"# If ON automatically put your name in the Bcc: field when mailing an "
 	"article\n"
 msgstr	"# ON durumdaysa otomatic olarak ismini görünmeyen mektup kopyasýna koy: "
 	"Makaleyi gönderirken alan yarat\n"
 
-#: src/lang.c:2304
+#: src/lang.c:2311
 #, fuzzy
 msgid	"Enter address elements about which you want to be warned. <CR> sets."
 msgstr	"uyarýlmak istediðin adres öðelerine gir <CR> sets."
 
-#: src/lang.c:2305
+#: src/lang.c:2312
 #, fuzzy
 msgid	"Spamtrap warning address parts"
 msgstr	"isteneyen e-mail posta uyarýsý"
 
-#: src/lang.c:2306
+#: src/lang.c:2313
 #, fuzzy
 msgid	"# A comma-delimited list of address-parts you want to be warned\n"
 	"# about when trying to reply by email.\n"
@@ -6696,125 +6678,125 @@ msgstr	"# Uyarýlmak isiyorsan virgülle-s
 	"göster\n"
 	"# e-posta ile cevap yazmak istediðin zaman\n"
 
-#: src/lang.c:2311
+#: src/lang.c:2318
 #, fuzzy
 msgid	"Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr	"Süz giriþin geçerli olacaðý varsayýlan günler sayýsýna gir <CR> sets."
 
-#: src/lang.c:2312
+#: src/lang.c:2319
 #, fuzzy
 msgid	"No. of days a filter entry is valid"
 msgstr	"Süz girdisinin geçerli günler sayýsý"
 
-#: src/lang.c:2313
+#: src/lang.c:2320
 #, fuzzy
 msgid	"# Number of days a short term filter will be active\n"
 msgstr	"# Kýsa sürecek süzün aktif olacaðý günler sayýsý\n"
 
-#: src/lang.c:2317
+#: src/lang.c:2324
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2318
+#: src/lang.c:2325
 #, fuzzy
 msgid	"Add posted articles to filter"
 msgstr	"Gönderilen makaleleri süzgece ekle"
 
-#: src/lang.c:2319
+#: src/lang.c:2326
 #, fuzzy
 msgid	"# If ON add posted articles which start a new thread to filter for\n"
 	"# highlighting follow-ups\n"
 msgstr	"# ON durumduysa gönderilmiþ makaleleri ekle# highlighting follow-ups\n"
 
-#: src/lang.c:2323
+#: src/lang.c:2330
 #, fuzzy
 msgid	"The directory where articles/threads are to be saved in mailbox format."
 msgstr	"makaleler/iç parçacýklarýn posta kutusu olarak kaydedilecek dizin."
 
-#: src/lang.c:2324
+#: src/lang.c:2331
 #, fuzzy
 msgid	"Mail directory"
 msgstr	"Posta dizini"
 
-#: src/lang.c:2325
+#: src/lang.c:2332
 #, fuzzy
 msgid	"# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr	"# makaleler/iç parçacýklarýn posta kutusu olarak kaydetmek istediðin dizin\n"
 
-#: src/lang.c:2330
+#: src/lang.c:2337
 #, fuzzy
 msgid	"Save articles in batch mode (-S)"
 msgstr	"Makaleleri toplu moda kaydet (-S)"
 
-#: src/lang.c:2331
+#: src/lang.c:2338
 #, fuzzy
 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	"# ON durumdaysa kaydeti bastýðýn zaman makaleler/iç parçacýklar\n"
 	"# toplu mode olarak kaydedilir\n"
 
-#: src/lang.c:2336
+#: src/lang.c:2343
 #, fuzzy
 msgid	"The directory where you want articles/threads saved."
 msgstr	"makeleleri7iç parçacýklarýný kaydetmek istediðin dizin."
 
-#: src/lang.c:2337
+#: src/lang.c:2344
 #, fuzzy
 msgid	"Directory to save arts/threads in"
 msgstr	"iç parçacýklarýn kaydedildiði dizin"
 
-#: src/lang.c:2338
+#: src/lang.c:2345
 #, fuzzy
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	"# Kaydedilmiþ makalelerin/iç parçacýklarýn olduðu dizin\n"
 
-#: src/lang.c:2342
+#: src/lang.c:2349
 #, fuzzy
 msgid	"Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> sets."
 msgstr	"Arçivadý olarak makaleleri/iç parçacýklarý otomatik olarak kaydet: header. "
 	"<SPACE> toggles & <CR> sets."
 
-#: src/lang.c:2343
+#: src/lang.c:2350
 #, fuzzy
 msgid	"Use Archive-name: header for save"
 msgstr	"Arþiv ismi kullan: baþlýk kaydetme"
 
-#: src/lang.c:2344
+#: src/lang.c:2351
 #, fuzzy
 msgid	"# If ON articles/threads with Archive-name: in mail header will\n"
 	"# be automatically saved with the Archive-name & part/patch no.\n"
 msgstr	"# ON durumdaysa Arþiv ismi ile makaleleri/iç parçacýklarý: posta baþlýðý\n"
 	"# will Arþiv ismi &\n"
 
-#: src/lang.c:2349
+#: src/lang.c:2356
 #, fuzzy
 msgid	"Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 	"cancels."
 msgstr	"Kaydedilmiþ makaleleri /iç parçacýklarý okunmuþ olarak iþaretle. <ARALIK> "
 	"büyük küçük harf, <CR> kümeler, <ESC> iptal et."
 
-#: src/lang.c:2350
+#: src/lang.c:2357
 #, fuzzy
 msgid	"Mark saved articles/threads as read"
 msgstr	"Kaydedilmiþ makaleleri /iç parçacýklarý okunmuþ olarak iþaretle"
 
-#: src/lang.c:2351
+#: src/lang.c:2358
 #, fuzzy
 msgid	"# If ON mark articles that are saved as read\n"
 msgstr	"# ON durumdaysa kaydedilmiþ makaleleri okunmuþ olarak iþaretle\n"
 
-#: src/lang.c:2355
+#: src/lang.c:2362
 #, fuzzy
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	"Kaydedilmiþ makaleler için iþlem gönder (örn. ekleri çýkart) for saved "
 	"articles."
 
-#: src/lang.c:2356
+#: src/lang.c:2363
 #, fuzzy
 msgid	"Post process saved articles"
 msgstr	"Kaydedilmiþ makaleleri gönder"
 
-#: src/lang.c:2357
+#: src/lang.c:2364
 #, fuzzy
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# Possible values are (the default is marked with *):\n"
@@ -6824,108 +6806,108 @@ msgid	"# Perform post processing (saving
 msgstr	"# Kaydedilmiþ makaleler gönderme iþlemini bitir.\n"
 	"# 0=(evet) 1=(hayýr) 2=(kabuk arþivleri bul (shar) only)\n"
 
-#: src/lang.c:2366
+#: src/lang.c:2373
 #, fuzzy
 msgid	"Process only unread articles"
 msgstr	"Sadece okunmayan makaleleri iþle"
 
-#: src/lang.c:2367
+#: src/lang.c:2374
 #, fuzzy
 msgid	"# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n"
 msgstr	"# ON durumundaysa okunmamýþ makaleleri sadece kaydet/yazdýr/ilet/postala "
 	"(imlenmiþ makaleler hariç tutulur)\n"
 
-#: src/lang.c:2372
+#: src/lang.c:2379
 #, fuzzy
 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:2373
+#: src/lang.c:2380
 #, fuzzy
 msgid	"Print all headers when printing"
 msgstr	"Yazdýrýrken tüm baþlýklarý yazdýr"
 
-#: src/lang.c:2374
+#: src/lang.c:2381
 #, fuzzy
 msgid	"# If ON print all of article header otherwise just the important lines\n"
 msgstr	"# On durumundaysa makale baþlýðýnýn tümünü deðilse sadece önemli olanlarý "
 	"yazdýr\n"
 
-#: src/lang.c:2378
+#: src/lang.c:2385
 #, fuzzy
 msgid	"The printer program with options that is to be used to print articles/threads."
 msgstr	"Makaleleri/parçacýklarý yazdýrmak için kullanýlacak seçenekli yazýcý programý."
 
-#: src/lang.c:2379
+#: src/lang.c:2386
 #, fuzzy
 msgid	"Printer program with options"
 msgstr	"Seçenekli yazýcý programý"
 
-#: src/lang.c:2380
+#: src/lang.c:2387
 #, fuzzy
 msgid	"# Print program with parameters used to print articles/threads\n"
 msgstr	"# Makaleleri/iþ parçacýklarý yazdýrmak için parameterli yazýcý program "
 	"kullan\n"
 
-#: src/lang.c:2386
+#: src/lang.c:2393
 #, fuzzy
 msgid	"Force redraw after certain commands"
 msgstr	"Kesin komutlardan sonra ekrandaki çizimin yenilenmesini güçlendir"
 
-#: src/lang.c:2387
+#: src/lang.c:2394
 #, fuzzy
 msgid	"# If ON a screen redraw will always be done after certain external commands\n"
 msgstr	"# ON durumdaysa ekrandaki çizimin yenilenmesi bazý dýþ komutlardan sonra "
 	"tamamlanacak\n"
 
-#: src/lang.c:2391
+#: src/lang.c:2398
 #, fuzzy
 msgid	"Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"Satýr kaydýrarak düzenleciyi baþlat. <ARALIK> büyük küçük harf, <CR> kümeler, "
 	"<ESC> iptal et."
 
-#: src/lang.c:2392
+#: src/lang.c:2399
 #, fuzzy
 msgid	"Start editor with line offset"
 msgstr	"Düzenleyiciyi satýr konumu ile baþlat"
 
-#: src/lang.c:2393
+#: src/lang.c:2400
 #, fuzzy
 msgid	"# If ON editor will be started with cursor offset into the file\n"
 	"# otherwise the cursor will be positioned at the first line\n"
 msgstr	"# ON düzenleyicir dosyadaki imleç kaydýrýcýlarda açýlacak\n"
 	"# aksi takdirde imleç ilk satýrda yer alacak\n"
 
-#: src/lang.c:2398
+#: src/lang.c:2405
 #, fuzzy
 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, kümelemek "
 	"için <CR> yazýn."
 
-#: src/lang.c:2399
+#: src/lang.c:2406
 #, fuzzy
 msgid	"Invocation of your editor"
 msgstr	"Düzenleyicinizin yürütülmesi"
 
-#: src/lang.c:2400
+#: src/lang.c:2407
 #, fuzzy, c-format
 msgid	"# Format of editor line including parameters\n"
 	"# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr	"# Parametrelerle birlikte düzenleyici satýrý biçimi\n"
 	"# %%E Düzenleyici  %%F Dosya adý  %%N Satýr numarasý\n"
 
-#: src/lang.c:2405
+#: src/lang.c:2412
 #, fuzzy
 msgid	"Enter name and options for external-inews, --internal for internal inews"
 msgstr	"Dýþ inew programlarý için isim ve seçenekleri, --iç inew programlarý için "
 	"içseli girin"
 
-#: src/lang.c:2406
+#: src/lang.c:2413
 #, fuzzy
 msgid	"External inews"
 msgstr	"Dýþ inew programlarý"
 
-#: src/lang.c:2407
+#: src/lang.c:2414
 #, fuzzy
 msgid	"# If --internal use the built in mini inews for posting via NNTP\n"
 	"# otherwise use an external inews program\n"
@@ -6933,18 +6915,18 @@ msgstr	"# Eðer --içsel ise NNTP yoluyla 
 	"programlarýný kullanýn\n"
 	"# deðilse bir dýþ inew programý kullanýn\n"
 
-#: src/lang.c:2411
+#: src/lang.c:2418
 #, fuzzy
 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, "
 	"kümelemek için <CR> yazýn."
 
-#: src/lang.c:2412
+#: src/lang.c:2419
 #, fuzzy
 msgid	"Invocation of your mail command"
 msgstr	"Posta komutunuzun yürütülmesi"
 
-#: src/lang.c:2413
+#: src/lang.c:2420
 #, fuzzy, c-format
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
@@ -6956,12 +6938,12 @@ msgstr	"# Parametrelerle birlikte gönder
 	"F\n"
 	"# ie. elm etkileþimli            :    elm -i %%F -s \"%%S\" \"%%T\"\n"
 
-#: src/lang.c:2421
+#: src/lang.c:2428
 #, fuzzy
 msgid	"Use interactive mail reader"
 msgstr	"Etkileþimli posta okuyucu kullan"
 
-#: src/lang.c:2422
+#: src/lang.c:2429
 msgid	"# Interactive mailreader\n"
 	"# Possible values are (the default is marked with *):\n"
 	"# * 0 = no interactive mailreader\n"
@@ -6969,71 +6951,71 @@ msgid	"# Interactive mailreader\n"
 	"#   2 = use interactive mailreader without headers in file\n"
 msgstr	""
 
-#: src/lang.c:2431
+#: src/lang.c:2438
 #, fuzzy
 msgid	"Remove ~/.article after posting"
 msgstr	"Kaldýr ~/.article sonra makale"
 
-#: src/lang.c:2432
+#: src/lang.c:2439
 #, fuzzy
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	"# ON durumundaysa kaldýr  ~/.gönderimden sonra makale.\n"
 
-#: src/lang.c:2436
+#: src/lang.c:2443
 #, fuzzy
 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=kaydetmeyin."
 
-#: src/lang.c:2437
+#: src/lang.c:2444
 #, fuzzy
 msgid	"Filename for posted articles"
 msgstr	"Gönderilen makaleler için dosya adý"
 
-#: src/lang.c:2438
+#: src/lang.c:2445
 #, fuzzy
 msgid	"# Filename where to keep all postings (default posted)\n"
 	"# If no filename is set then postings will not be saved\n"
 msgstr	"# Postalarýn tutunacak dosyaadý (gönderilmiþ varsayýlan)\n"
 	"# Dosyaadý yoksa hiçbir posta kaydedilmeyecek\n"
 
-#: src/lang.c:2443
+#: src/lang.c:2450
 #, fuzzy
 msgid	"Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr	"Baþarýsýz makaleleri tut ~/ölü.makale. <Aralýk> büyük küçük harf & <CR> "
 	"kümeleri."
 
-#: src/lang.c:2444
+#: src/lang.c:2451
 #, fuzzy
 msgid	"Keep failed arts in ~/dead.articles"
 msgstr	"Baþarýsýz makaleleri tut ~/ölü.makale"
 
-#: src/lang.c:2445
+#: src/lang.c:2452
 #, fuzzy
 msgid	"# If ON keep all failed postings in ~/dead.articles\n"
 msgstr	"# If ON gönderilemeyen bütün postalarý tut ~/ölü.makale\n"
 
-#: src/lang.c:2449
+#: src/lang.c:2456
 #, fuzzy
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	"Abone olmayan gruplarý çýkart .newsrc"
 
-#: src/lang.c:2450
+#: src/lang.c:2457
 #, fuzzy
 msgid	"No unsubscribed groups in newsrc"
 msgstr	"Abone olmayan grup yok newsrc"
 
-#: src/lang.c:2451
+#: src/lang.c:2458
 #, fuzzy
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	"# If ON abone olmamýþ gruplarý çýkart newsrc\n"
 
-#: src/lang.c:2456
+#: src/lang.c:2463
 #, fuzzy
 msgid	"Remove bogus groups from newsrc"
 msgstr	"Bogus gruplarý kaldýr newsrc"
 
-#: src/lang.c:2457
+#: src/lang.c:2464
 #, fuzzy
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# Possible values are (the default is marked with *):\n"
@@ -7043,66 +7025,66 @@ msgid	"# What to do with bogus groups in
 msgstr	"# newsrc dosyasýnda olan bogus gruplara ne yapýlsýn\n"
 	"# 0=(Koru) 1=(Kaldýr) 2=(Highlight with D on selection screen).\n"
 
-#: src/lang.c:2465
+#: src/lang.c:2472
 #, fuzzy
 msgid	"Enter number of seconds until active file will be reread. <CR> sets."
 msgstr	"Aktif dosya tekrar okunana kadar saniye miktarýný girin. <CR> ayarlar."
 
-#: src/lang.c:2466
+#: src/lang.c:2473
 #, fuzzy
 msgid	"Interval in secs to reread active"
 msgstr	"yeniden etkin kýlma saniye aralýðý"
 
-#: src/lang.c:2467
+#: src/lang.c:2474
 #, fuzzy
 msgid	"# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr	"# Aktif dosyalar okunurken saniyeler süren zaman aralýðý (0=asla)\n"
 
-#: src/lang.c:2472
+#: src/lang.c:2479
 #, fuzzy
 msgid	"Reconnect to server automatically"
 msgstr	"Sunucuya otomatik olarak baðlan"
 
-#: src/lang.c:2473
+#: src/lang.c:2480
 #, fuzzy
 msgid	"# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr	"# ON konumunda ise baðlantý kesilirse NNTP sunucusuna otomatik olarak tekrar "
 	"baðlan\n"
 
-#: src/lang.c:2477
+#: src/lang.c:2484
 #, fuzzy
 msgid	"Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr	"NNTP giriþ sayfalarýnýn yerel kopyalarýný yarat. <SPACE> deðiþtirir & <CR> "
 	"ayarlar."
 
-#: src/lang.c:2478
+#: src/lang.c:2485
 #, fuzzy
 msgid	"Cache NNTP overview files locally"
 msgstr	"Að Haberleri Aktarma Protokolü önbelleði yerel olarak giriþ dosyalarý"
 
-#: src/lang.c:2479
+#: src/lang.c:2486
 #, fuzzy
 msgid	"# If ON, create local copies of NNTP overview files.\n"
 msgstr	"# On durumundaysa, NNTP giriþ dosyalarýnýn yerel kopyalarýný yarat.\n"
 
-#: src/lang.c:2483
+#: src/lang.c:2490
 #, fuzzy
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	"Okunan makaleleri imlemek için karakter girin. <CR> yarlar, <ESC> iptal eder."
 
-#: src/lang.c:2484
+#: src/lang.c:2491
 msgid	"Format string for display of dates"
 msgstr	""
 
-#: src/lang.c:2485
+#: src/lang.c:2492
 msgid	"# Format string for date representation\n"
 msgstr	""
 
-#: src/lang.c:2491
+#: src/lang.c:2498
 msgid	"Unicode normalization form"
 msgstr	""
 
-#: src/lang.c:2492
+#: src/lang.c:2499
 msgid	"# Unicode normalization form\n"
 	"# Possible values are (the default is marked with *):\n"
 	"#   0 = None\n"
@@ -7112,51 +7094,56 @@ msgid	"# Unicode normalization form\n"
 	"#   4 = NFD\n"
 msgstr	""
 
-#: src/lang.c:2504
+#: src/lang.c:2511
 msgid	"Render BiDi"
 msgstr	""
 
-#: src/lang.c:2505
+#: src/lang.c:2512
 msgid	"# If ON, bi-directional text is rendered by tin\n"
 msgstr	""
 
-#: src/misc.c:3693
+#: src/misc.c:3697
 #, fuzzy, c-format
 msgid	"Version: %s %s release %s (\"%s\") %s %s\n"
 msgstr	"Sürüm: %s %s serbest býrak %s (\"%s\") %s %s\n"
 
-#: src/misc.c:3696
+#: src/misc.c:3700
 #, fuzzy, c-format
 msgid	"Version: %s %s release %s (\"%s\")\n"
 msgstr	"Sürüm: %s %s serbest býrak %s (\"%s\")\n"
 
-#: src/newsrc.c:430
+#: src/newsrc.c:436
 #, fuzzy
 msgid	"Unreachable?\n"
 msgstr	"Ulaþýlamaz?\n"
 
-#: src/nntplib.c:816
+#: src/nntplib.c:818
 #, fuzzy, c-format
 msgid	"\n"
 	"Server timed out, trying reconnect # %d\n"
 msgstr	"\n"
 	"Sunucu süresi doldu, tekrar baðlanmaya çalýþýyor # %d\n"
 
-#: src/nntplib.c:834 src/nntplib.c:1644
+#: src/nntplib.c:836 src/nntplib.c:1708
 #, fuzzy
 msgid	"Rejoin current group\n"
 msgstr	"Þu anki gruba tekrar katýl\n"
 
-#: src/nntplib.c:841 src/nntplib.c:1651
+#: src/nntplib.c:844 src/nntplib.c:1716
 #, fuzzy, c-format
 msgid	"Read (%s)\n"
 msgstr	"Oku (%s)\n"
 
-#: src/nntplib.c:843
+#: src/nntplib.c:846
 #, fuzzy, c-format
 msgid	"Resend last command (%s)\n"
 msgstr	"Son komutu tekrr yolla (%s)\n"
 
+#. as a last resort check if post was mentioned
+#: src/nntplib.c:1131
+msgid	"CAPABILITIES did not announce any of READER, MODE-READER, POST"
+msgstr	""
+
 #.
 #. * TODO: - store a hash value of the entire motd in the server-rc
 #. *         and only if it differs from the old value display the
@@ -7164,60 +7151,59 @@ msgstr	"Son komutu tekrr yolla (%s)\n"
 #. *       - use some sort of pager?
 #. *       - -> lang.c
 #.
-#: src/nntplib.c:1783
+#: src/nntplib.c:1855
 msgid	"MOTD: "
 msgstr	""
 
-#: src/nrctbl.c:170
+#: src/nrctbl.c:173
 #, c-format
 msgid	"couldn't expand %s\n"
 msgstr	"%s geniþletilemedi\n"
 
-#: src/post.c:1134
+#: src/post.c:1144
 #, c-format
 msgid	"Line %d is longer than 998 octets and should be folded, but\n"
 	"encoding is neither set to %s nor to %s\n"
 msgstr	""
 
-#: src/post.c:1139
+#: src/post.c:1149
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding 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"
 msgstr	""
 
-#: src/post.c:1141
+#: src/post.c:1151
 #, c-format
 msgid	"Line %d is longer than 998 octets, and should be folded, but\n"
 	"encoding is not set to %s\n"
 msgstr	""
 
-#: src/post.c:1960
+#: src/post.c:1970
 #, fuzzy, c-format
 msgid	"Posting: %.*s ..."
 msgstr	"Gönderiliyor: %.*s ..."
 
 #. Check if okay to read
-#: src/read.c:191
+#: src/read.c:190
 msgid	"Aborting read, please wait..."
 msgstr	"Okuma durduruluyor, lütfen bekleyin..."
 
-#: src/read.c:338
+#: src/read.c:337
 msgid	"Aborted read\n"
 msgstr	"Okuma durduruldu\n"
 
-#: src/read.c:394
+#: src/read.c:393
 #, fuzzy
 msgid	"Draining\n"
 msgstr	"Akaçlanma\n"
 
-#. Don't hash the initial '<'
-#: src/refs.c:251
+#: src/refs.c:248
 #, fuzzy
 msgid	"unchanged"
 msgstr	"deðiþtirilmedi"
 
-#: src/refs.c:609
+#: src/refs.c:549
 #, fuzzy
 msgid	"[- Unavailable -]"
 msgstr	"[- Kullanýlamýyor -]"
@@ -7226,7 +7212,7 @@ msgstr	"[- Kullanýlamýyor -]"
 #. * preamble
 #. * TODO: -> lang.c
 #.
-#: src/rfc2047.c:1201
+#: src/rfc2047.c:1270
 #, c-format
 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 modified\n"
@@ -7234,7 +7220,7 @@ msgid	"This message has been composed in
 	"\n"
 msgstr	""
 
-#: src/save.c:964
+#: src/save.c:966
 msgid	"bytes"
 msgstr	"bayt"
 
@@ -7246,23 +7232,27 @@ msgstr	"okunmamýþ"
 msgid	"all"
 msgstr	"Hepsi"
 
-#: src/select.c:549 src/select.c:551
+#: src/select.c:553 src/select.c:555
 msgid	" R"
 msgstr	" R"
 
+#: src/xface.c:70
+#, fuzzy
+msgid	"Can't run slrnface: Not running in a xterm."
+msgstr	"Slrnface çalýþtýrýlamýyor: fifo isim oluþturulamadý."
+
 #  TODO: use tin global 'homedir' instead? or even rcdir?
-#. TODO: use tin global 'homedir' instead? or even rcdir?
-#: src/xface.c:91
+#: src/xface.c:82 src/xface.c:93 src/xface.c:102
 #, 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/xface.c:99 src/xface.c:131
+#: src/xface.c:111 src/xface.c:143
 #, fuzzy, c-format
 msgid	"Can't run slrnface: failed to create %s"
 msgstr	"Slrnface çalýþtýrýlamýyor: yaratým baþarýsýz %s"
 
-#: src/xface.c:109
+#: src/xface.c:121
 #, fuzzy
 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"
@@ -7286,17 +7276,25 @@ msgstr	"Bu dizin slrnface ve ana iþlem a
 	"NFS sunucunuzun yarattýðý özel dosyalari görebilirsiniz.\n"
 	"Kaldýrmaya çalýþmayýnýz.\n"
 
-#: src/xface.c:123
+#: src/xface.c:135
 #, fuzzy
 msgid	"Can't run slrnface: couldn't construct fifo name."
 msgstr	"Slrnface çalýþtýrýlamýyor: fifo isim oluþturulamadý."
 
-#: src/xface.c:162
+#: src/xface.c:174
 #, fuzzy, c-format
 msgid	"Slrnface abnormally exited, code %d."
 msgstr	"Slrnface beklenmedik þekilde sonlandýrýldý, kod %d."
 
-#: src/xface.c:206
+#: src/xface.c:218
 #, fuzzy, c-format
 msgid	"Slrnface failed: %s."
 msgstr	"Slrnface baþarýsýz: %s."
+
+#~ msgid	"# include extra headers\n"
+#~ msgstr	"# extra baþlýklarý içerir\n"
+
+#, fuzzy
+#~ msgid	"# in *binaries* do full post processing but no TeX2ISO conversion,\n"
+#~ msgstr	"# ikilik dosyalarda iþletim sonrasýný tam yapýn, tmp dosyalarýný "
+#~ 	"kaldýrýn.\n"
diff -Nurp tin-1.9.2/src/Makefile.in tin-1.9.3/src/Makefile.in
--- tin-1.9.2/src/Makefile.in	2006-12-21 14:41:19.000000000 +0100
+++ tin-1.9.3/src/Makefile.in	2008-03-20 12:06:11.000000000 +0100
@@ -1,9 +1,9 @@
 # Source Makefile for tin
 # - for configuration options read the ../doc/INSTALL file.
 #
-# Updated: 2005-07-02
+# Updated: 2008-03-30
 #
-# Copyright (c) 1995-2005 Thomas E. Dickey <dickey@invisible-island.net>
+# Copyright (c) 1995-2008 Thomas E. Dickey <dickey@invisible-island.net>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -50,13 +50,13 @@ PRELIB		= @LIB_PREFIX@
 x		= @EXEEXT@
 o		= .@OBJEXT@
 
-DEBUG		= @ENABLE_DEBUG@ -DDEBUG #-DDEBUG_NEWSRC -DPROFILE -DDEBUG_REFS
-CANLOCK		= # -DUSE_CANLOCK # -DEVIL_INSIDE
+DEBUG		= @ENABLE_DEBUG@ -DDEBUG #-DPROFILE
+FEATURES	= # -DEVIL_INSIDE
 
 INTL_CPPFLAGS	= -DLOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\"
 PCRE_CPPFLAGS	= @PCREDIR_CPPFLAGS@ @PCREDIR_MAKE@ -I$(top_builddir)/pcre -I$(top_srcdir)/pcre
 
-CPPFLAGS	= @DEFS@ -I. -I../include $(PCRE_CPPFLAGS) $(INTL_CPPFLAGS) -I$(INCDIR) $(DEBUG) $(CANLOCK) @CPPFLAGS@
+CPPFLAGS	= @DEFS@ -I. -I../include $(PCRE_CPPFLAGS) $(INTL_CPPFLAGS) -I$(INCDIR) $(DEBUG) $(FEATURES) @CPPFLAGS@
 CFLAGS		= @CFLAGS@
 
 LDFLAGS		= @LDFLAGS@
@@ -69,11 +69,11 @@ BUILD_LDFLAGS	= @BUILD_LDFLAGS@
 BUILD_LIBS	= @BUILD_LIBS@
 X		= $(BUILD_EXEEXT)
 
-CANLIB		= # -L../libcanlock -lcanlock
+CANLIB		= @CANLIBS@
 INTL_LIBS	= @INTLLIBS@
 PCRE_LIBS	= @PCREDIR_LIBS@ @PCREDIR_MAKE@ -L../pcre -lpcre
 LIBS		= @LIBS@
-LINK_LIBS	= $(PCRE_LIBS) $(CANLIB) @LIBS@ @INN_NNTPLIB@ $(INTL_LIBS)
+LINK_LIBS	= $(PCRE_LIBS) $(CANLIB) @GSASL_LIBS@ @LIBS@ $(INTL_LIBS)
 
 # Where do you want the binary & manual page installed?
 DESTDIR	= @DESTDIR@
@@ -118,6 +118,7 @@ HFILES	= \
 	../include/autoconf.h \
 	$(INCDIR)/bool.h \
 	$(INCDIR)/bugrep.h \
+	$(INCDIR)/debug.h \
 	$(INCDIR)/extern.h \
 	$(INCDIR)/keymap.h \
 	$(INCDIR)/newsrc.h \
@@ -204,7 +205,8 @@ EXTRAOBJS = @EXTRAOBJS@
 EXTRA_INTLLIBS = @INTLDIR_MAKE@ @INTLLIBS@
 EXTRA_PCREHDRS = @PCREDIR_MAKE@ ../pcre/pcre.h
 EXTRA_PCRELIBS = @PCREDIR_MAKE@ ../pcre/$(PRELIB)pcre.a
-EXTRALIBS = $(EXTRA_INTLLIBS) $(EXTRA_PCRELIBS)
+EXTRA_CANLIBS = @CANDIR_MAKE@ ../libcanlock/$(PRELIB)canlock.a
+EXTRALIBS = $(EXTRA_INTLLIBS) $(EXTRA_PCRELIBS) $(EXTRA_CANLIBS)
 
 OFILES	= @ALLOCA@ $(EXTRAOBJS) \
 	$(OBJDIR)/active$o \
@@ -274,12 +276,9 @@ OFILES	= @ALLOCA@ $(EXTRAOBJS) \
 	$(OBJDIR)/xface$o \
 	$(OBJDIR)/xref$o
 
-ALL_FILES = $(HFILES) $(CFILES) $(NNTP)
+ALL_FILES = $(HFILES) $(CFILES)
 
-LINTFLAGS = -a -c -h -n -x $(CPPFLAGS) -I/usr/local/include/ \
-	-DUSE_ISO2ASC=\"2\" \
-	-DHAVE_ISPELL \
-	-DHAVE_COLOR
+LINTFLAGS = @LINTFLAGS@ $(CPPFLAGS)
 
 all : $(BINDIR)/$(EXE)
 
@@ -360,23 +359,26 @@ uninstall_sysdefs :
 
 install_helpers : $(DESTDIR)$(INS_BINARY_DIR) $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)
 	@$(ECHO) "Installing helper applications ..."
-	@-if test ! -f $(DESTDIR)$(INS_BINARY_DIR)/url_handler.sh ; then $(INSTALL) -m 755 $(TOLDIR)/url_handler.sh $(DESTDIR)$(INS_BINARY_DIR)/url_handler.sh ; fi
 	@-if test ! -f $(DESTDIR)$(INS_BINARY_DIR)/metamutt ; then $(INSTALL) -m 755 $(TOLDIR)/metamutt $(DESTDIR)$(INS_BINARY_DIR)/metamutt ; fi
 	@$(INSTALL) -m 755 $(TOLDIR)/w2r.pl $(DESTDIR)$(INS_BINARY_DIR)/w2r.pl
 	@$(INSTALL) -m 755 $(TOLDIR)/opt-case.pl $(DESTDIR)$(INS_BINARY_DIR)/opt-case.pl
 	@$(INSTALL) -m 755 $(TOLDIR)/tinews.pl $(DESTDIR)$(INS_BINARY_DIR)/tinews.pl
+	@$(INSTALL) -m 755 $(TOLDIR)/url_handler.pl $(DESTDIR)$(INS_BINARY_DIR)/url_handler.pl
 	@$(INSTALL) -m 444 $(DOCDIR)/w2r.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/w2r.pl.$(INS_MANUAL_EXT)
 	@$(INSTALL) -m 444 $(DOCDIR)/opt-case.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/opt-case.pl.$(INS_MANUAL_EXT)
 	@$(INSTALL) -m 444 $(DOCDIR)/tinews.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/tinews.pl.$(INS_MANUAL_EXT)
+	@$(INSTALL) -m 444 $(DOCDIR)/url_handler.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/url_handler.pl.$(INS_MANUAL_EXT)
 
 uninstall_helpers :
 	@$(ECHO) "Removing helper applications ..."
 	@-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/w2r.pl
 	@-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/opt-case.pl
 	@-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/tinews.pl
-	@-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/w2r.pl.$(INS_MANUAL_EXT)
-	@-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/opt-case.pl.$(INS_MANUAL_EXT)
-	@-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/tinews.pl.$(INS_MANUAL_EXT)
+	@-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/url_handler.pl
+	@-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/w2r.$(INS_MANUAL_EXT)
+	@-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/opt-case.$(INS_MANUAL_EXT)
+	@-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/tinews.$(INS_MANUAL_EXT)
+	@-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/url_handler.$(INS_MANUAL_EXT)
 
 install : $(DESTDIR)$(INS_BINARY_DIR)
 	@$(MAKE) all
@@ -413,13 +415,13 @@ TAGS :
 
 lint :	$(CFILES) $(OBJDIR)/parsdate.c tincfg.h options_menu.h
 	@$(ECHO) "Linting source (results in ./LINT) ..."
-	@$(LINT) $(LINTFLAGS) -DNNTP_ABLE `$(LS) $(CFILES)|$(SED) -e 's/\.y/.c/'` $(LIBS) > LINT
+	@$(LINT) $(LINTFLAGS) `$(ECHO) $(CFILES)|$(SED) -e 's/\.y/.c/'` $(LIBS) 1>LINT 2>&1
 
 clean :
 	@$(ECHO) "Cleaning ..."
 	@-$(RM) -f $(OFILES)
 	@-$(RM) -f $(OBJDIR)/parsdate.c
-	@-$(RM) -f LINT *.ln *.out
+	@-$(RM) -f LINT *.ln *.out trace
 	@-$(RM) -f makecfg$X makecfg$o tincfg.h options_menu.h
 	@-$(RM) -f core *~
 	@-$(RM) -f $(EXE)
@@ -448,10 +450,6 @@ cscope :
 	@$(ECHO) "Creating cscope database $(PROJECT) ..."
 	@$(CSCOPE) $(ALL_FILES)
 
-canlock :
-	@$(ECHO) "Building libcanlock ..."
-	@$(CD) ../libcanlock && ./Build
-
 @PCREDIR_MAKE@../pcre/pcre.h ../pcre/$(PRELIB)pcre.a :
 @PCREDIR_MAKE@	@$(ECHO) "Building Philip Hazel's Perl regular expressions library ..."
 @PCREDIR_MAKE@	@$(CD) ../pcre && $(MAKE) @cf_cv_makeflags@ $(PRELIB)pcre.a
@@ -460,6 +458,10 @@ canlock :
 @INTLDIR_MAKE@	@$(ECHO) "Building GNU gettext library ..."
 @INTLDIR_MAKE@	@$(CD) ../intl && $(MAKE) @cf_cv_makeflags@
 
+@CANDIR_MAKE@../libcanlock/$(PRELIB)canlock.a :
+@CANDIR_MAKE@	@$(ECHO) "Building Cancel-Lock library ..."
+@CANDIR_MAKE@	@$(CD) ../libcanlock && $(MAKE) @cf_cv_makeflags@ lib
+
 options_menu.h :		$(SRCDIR)/tincfg.tbl \
 				makecfg$X
 	./makecfg $(SRCDIR)/tincfg.tbl tincfg.h
@@ -482,6 +484,7 @@ TIN_DEP	= \
 	$(INCDIR)/tinrc.h \
 	../include/autoconf.h \
 	$(INCDIR)/bool.h \
+	$(INCDIR)/debug.h \
 	$(INCDIR)/extern.h \
 	$(INCDIR)/nntplib.h \
 	$(INCDIR)/tcurses.h \
@@ -609,3 +612,4 @@ $(OBJDIR)/wildmat$o :		$(SRCDIR)/wildmat
 $(OBJDIR)/xface$o :		$(SRCDIR)/xface.c $(TIN_DEP)
 $(OBJDIR)/xref$o :		$(SRCDIR)/xref.c $(TIN_DEP) \
 				$(INCDIR)/newsrc.h
+$(EXTRAOBJS) :			options_menu.h
diff -Nurp tin-1.9.2/src/active.c tin-1.9.3/src/active.c
--- tin-1.9.2/src/active.c	2006-12-22 02:41:52.000000000 +0100
+++ tin-1.9.3/src/active.c	2008-04-14 11:13:12.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : active.c
  *  Author    : I. Lea
  *  Created   : 1992-02-16
- *  Updated   : 2004-06-30
+ *  Updated   : 2008-04-14
  *  Notes     :
  *
- * Copyright (c) 1992-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1992-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,11 +48,12 @@
  */
 #define ACTIVE_SEP	" \n"
 
-/*
- * if you are using C-News nntpd set NUM_SIMULTANEOUS_GROUP_COMMAND to 1
- */
 #ifdef NNTP_ABLE
-#	define NUM_SIMULTANEOUS_GROUP_COMMAND 50
+#	ifdef DISABLE_PIPELINING
+#		define NUM_SIMULTANEOUS_GROUP_COMMAND 1
+#	else
+#		define NUM_SIMULTANEOUS_GROUP_COMMAND 50
+#	endif /* DISABLE_PIPELINING */
 #endif /* NNTP_ABLE */
 
 t_bool force_reread_active_file = FALSE;
@@ -193,7 +194,7 @@ process_bogus(
 	active_add(ptr, 0L, 1L, 0L, "n");
 	ptr->bogus = TRUE;		/* Mark it bogus */
 
-	if (my_group_add(name) < 0)
+	if (my_group_add(name, FALSE) < 0)
 		return TRUE;
 
 	return FALSE;		/* Nothing was printed yet */
@@ -210,17 +211,22 @@ parse_active_line(
 	long *min,
 	char *moderated)
 {
-	char *p, *q, *r;
+	char *p = NULL, *q = NULL, *r = NULL;
+	t_bool lineok = FALSE;
 
 	if (line[0] == '#' || line[0] == '\0')
 		return FALSE;
 
-	(void) strtok(line, ACTIVE_SEP);		/* skip group name */
-	p = strtok(NULL, ACTIVE_SEP);	/* group max count */
-	q = strtok(NULL, ACTIVE_SEP);	/* group min count */
-	r = strtok(NULL, ACTIVE_SEP);	/* mod status or path to mailgroup */
+	if (strtok(line, ACTIVE_SEP)) {		/* skip group name */
+		if ((p = strtok(NULL, ACTIVE_SEP))) {	/* group max count */
+			if ((q = strtok(NULL, ACTIVE_SEP))) {	/* group min count */
+				r = strtok(NULL, ACTIVE_SEP);	/* mod status or path to mailgroup */
+				lineok = TRUE;
+			}
+		}
+	}
 
-	if (!p || !q || !r) {
+	if (!p || !q || !r || !lineok) {
 		error_message(_(txt_bad_active_file), line);
 		return FALSE;
 	}
@@ -301,7 +307,8 @@ read_newsrc_active_file(
 				ngnames[index_i] = my_strdup(ptr);
 				snprintf(buf, sizeof(buf), "GROUP %s", ngnames[index_i]);
 #	ifdef DEBUG
-				debug_nntp("read_newsrc_active_file", buf);
+				if (debug & DEBUG_NNTP)
+					debug_print_file("NNTP", "read_newsrc_active_file() %s", buf);
 #	endif /* DEBUG */
 				put_server(buf);
 				index_i = (index_i + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND;
@@ -322,7 +329,8 @@ read_newsrc_active_file(
 					for (i = 0; i < window - 1; i++) {
 						snprintf(buf, sizeof(buf), "GROUP %s", ngnames[j]);
 #	ifdef DEBUG
-						debug_nntp("read_newsrc_active_file", buf);
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "read_newsrc_active_file() %s",  buf);
 #	endif /* DEBUG */
 						put_server(buf);
 						j = (j + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND;
@@ -367,7 +375,8 @@ read_newsrc_active_file(
 
 					default:
 #	ifdef DEBUG
-						debug_nntp("NOT_OK", line);
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "NOT_OK %s", line);
 #	endif /* DEBUG */
 						free(ngnames[index_o]);
 						index_o = (index_o + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND;
@@ -395,7 +404,7 @@ read_newsrc_active_file(
 		if ((grpptr = group_add(ptr)) == NULL) {
 			t_bool changed = FALSE;
 
-			if ((grpptr = group_find(ptr)) == NULL)
+			if ((grpptr = group_find(ptr, FALSE)) == NULL)
 				continue;
 
 			if (max > grpptr->xmax) {
@@ -501,7 +510,7 @@ read_active_file(
 		 * This call may implicitly ++num_active
 		 */
 		if ((grpptr = group_add(ptr)) == NULL) {
-			if ((grpptr = group_find(ptr)) == NULL)
+			if ((grpptr = group_find(ptr, FALSE)) == NULL)
 				continue;
 
 			if (max > grpptr->xmax) {
@@ -569,8 +578,93 @@ read_news_active_file(
 		read_active_file();
 
 	/* Read .newsrc and check each group */
-	if (newsrc_active)
+	if (newsrc_active) {
+#ifdef NNTP_ABLE
+#	ifndef DISABLE_PIPELINING
+		/*
+		 * TODO: test me. do we want this overhead? add a DISABLE_PIPELINING
+		 *       code-path? we don't have list_active set but we use some
+		 *       sort of LIST ACTIVE -> our documentation is a bit incorrect
+		 *       now.
+		 *
+		 * use "LIST ACTIVE grp" if we have less than PIPELINE_LIMIT
+		 * groups and we use -n but not -Q
+		 */
+		if (read_news_via_nntp && !list_active && ((nntp_caps.type == CAPABILITIES && nntp_caps.list_active) || nntp_caps.type != CAPABILITIES) && (show_description || check_for_new_newsgroups)) {
+			char buff[NNTP_STRLEN];
+			char *ptr, *q;
+			char moderated[PATH_LEN];
+			int i, r, j = 0;
+			long count = -1L, min = 1L, max = 0L;
+			struct t_group *grpptr;
+			t_bool need_auth = FALSE;
+
+			/* we can't use for_each_group(i) yet, so we have to prase the newsrc */
+			if ((fp = fopen(newsrc, "r")) != NULL) {
+				while ((ptr = tin_fgets(fp, FALSE)) != NULL) {
+					j++;
+				}
+				rewind(fp);
+				if (j < PIPELINE_LIMIT) {
+					while ((ptr = tin_fgets(fp, FALSE)) != NULL) {
+						if (ptr) {
+							if (!(q = strpbrk(ptr, ":!")))
+								continue;
+							*q = '\0';
+							snprintf(buff, sizeof(buff), "LIST ACTIVE %s", ptr);
+							put_server(buff);
+						}
+					}
+				}
+				fclose(fp);
+
+				if (j < PIPELINE_LIMIT) {
+					for (i = 0; i < j && !did_reconnect; i++) {
+						if ((r = get_only_respcode(buff, sizeof(buff))) != OK_GROUPS) {
+							if (r == ERR_NOAUTH || r == NEED_AUTHINFO)
+								need_auth = TRUE;
+							continue;
+						} else {
+							while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) {
+#		ifdef DEBUG
+								if (debug & DEBUG_NNTP)
+									debug_print_file("NNTP", "<<< %s", ptr);
+#		endif /* DEBUG */
+								if (!parse_active_line(ptr, &max, &min, moderated))
+									continue;
+
+								if ((grpptr = group_add(ptr)) == NULL) {
+									if ((grpptr = group_find(ptr, FALSE)) == NULL)
+										continue;
+
+									if (max > grpptr->xmax) {
+										grpptr->xmax = max;
+										grpptr->count = count;
+									}
+									if (min > grpptr->xmin) {
+										grpptr->xmin = min;
+										grpptr->count = count;
+									}
+									continue;
+								}
+								active_add(grpptr, count, max, min, moderated);
+							}
+						}
+					}
+					if (need_auth) { /* retry after auth is overkill here, so just auth */
+						if (!authenticate(nntp_server, userid, FALSE)) {
+							error_message(_(txt_auth_failed), ERR_ACCESS);
+							tin_done(EXIT_FAILURE);
+						}
+					}
+				}
+				did_reconnect = FALSE;
+			}
+		}
+#	endif /* !DISABLE_PIPELINING */
+#endif /* NNTP_ABLE */
 		read_newsrc_active_file();
+	}
 
 	(void) time(&active_timestamp);
 	force_reread_active_file = FALSE;
@@ -661,10 +755,8 @@ check_for_any_new_groups(
 	}
 
 #ifdef DEBUG
-	if (debug == 2) {
-		error_message("Newnews old=[%lu]  new=[%lu]", (unsigned long int) old_newnews_time, (unsigned long int) new_newnews_time);
-		(void) sleep(2);
-	}
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "Newnews old=[%lu]  new=[%lu]", (unsigned long int) old_newnews_time, (unsigned long int) new_newnews_time);
 #endif /* DEBUG */
 
 	if ((fp = open_newgroups_fp(newnews_index)) != NULL) {
@@ -738,7 +830,7 @@ subscribe_new_group(
 	 * be properly updated when we enter the group. Otherwise there is some
 	 * mismatch in the active.times data and we ignore the newgroup.
 	 */
-	if ((idx = my_group_add(group)) < 0) {
+	if ((idx = my_group_add(group, FALSE)) < 0) {
 		if (list_active) {
 /*			my_fprintf(stderr, "subscribe_new_group: %s not in active[] && list_active\n", group); */
 			return;
@@ -747,7 +839,7 @@ subscribe_new_group(
 		if ((ptr = group_add(group)) != NULL)
 			active_add(ptr, 0L, 1L, 0L, "y");
 
-		if ((idx = my_group_add(group)) < 0)
+		if ((idx = my_group_add(group, FALSE)) < 0)
 			return;
 	}
 
@@ -879,8 +971,8 @@ load_newnews_info(
 	newnews[i].time = new_time;
 
 #ifdef DEBUG
-	if (debug == 2)
-		error_message("ACTIVE host=[%s] time=[%lu]", newnews[i].host, (unsigned long int) newnews[i].time);
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "ACTIVE host=[%s] time=[%lu]", newnews[i].host, (unsigned long int) newnews[i].time);
 #endif /* DEBUG */
 }
 
@@ -939,9 +1031,9 @@ create_save_active_file(
 	char group_path[PATH_LEN];
 	char local_save_active_file[PATH_LEN];
 
-	joinpath(local_save_active_file, rcdir, ACTIVE_SAVE_FILE);
+	joinpath(local_save_active_file, sizeof(local_save_active_file), rcdir, ACTIVE_SAVE_FILE);
 
-	if (no_write && file_size(local_save_active_file) != -1L)
+	if (no_write && file_size(local_save_active_file) != 1L)
 		return;
 
 	my_printf(_(txt_creating_active));
@@ -972,7 +1064,7 @@ make_group_list(
 		is_dir = FALSE;
 		while ((direntry = readdir(dir)) != NULL) {
 			STRCPY(filename, direntry->d_name);
-			joinpath(path, group_path, filename);
+			joinpath(path, sizeof(path), group_path, filename);
 
 			if (!(filename[0] == '.' && filename[1] == '\0') &&
 				!(filename[0] == '.' && filename[1] == '.' && filename[2] == '\0')) {
diff -Nurp tin-1.9.2/src/art.c tin-1.9.3/src/art.c
--- tin-1.9.2/src/art.c	2006-12-22 02:41:53.000000000 +0100
+++ tin-1.9.3/src/art.c	2008-04-27 20:16:26.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : art.c
  *  Author    : I.Lea & R.Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2006-06-21
+ *  Updated   : 2008-04-27
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -198,7 +198,6 @@ static long
 setup_hard_base(
 	struct t_group *group)
 {
-	char buf[NNTP_STRLEN];
 	long art;
 	long total = 0;
 
@@ -209,6 +208,7 @@ setup_hard_base(
 	 */
 	if (read_news_via_nntp && group->type == GROUP_TYPE_NEWS) {
 #ifdef NNTP_ABLE
+		char buf[NNTP_STRLEN];
 		FILE *fp;
 
 #	ifdef BROKEN_LISTGROUP
@@ -230,7 +230,8 @@ setup_hard_base(
 			char *ptr;
 
 #	ifdef DEBUG
-			debug_nntp("setup_hard_base", buf);
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "setup_hard_base(%s)", buf);
 #	endif /* DEBUG */
 
 			while ((ptr = tin_fgets(fp, FALSE)) != NULL) {
@@ -263,6 +264,10 @@ setup_hard_base(
 			if (sscanf(line, "%ld %ld %ld", &count, &start, &last) != 3)
 				return -1;
 
+#	ifdef DEBUG
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "setup_hard_base(%s)", buf);
+#	endif /* DEBUG */
 			/*
 			 * TODO: AFAICS "total" and "count" arn't used in the code below
 			 *       anymore, why do we bother to set them?
@@ -284,15 +289,16 @@ setup_hard_base(
 	} else {
 		DIR *d;
 		DIR_BUF *e;
+		char group_path[PATH_LEN];
 
-		make_base_group_path(group->spooldir, group->name, buf);
+		make_base_group_path(group->spooldir, group->name, group_path, sizeof(group_path));
 
-		if (access(buf, R_OK) != 0) {
+		if (access(group_path, R_OK) != 0) {
 			error_message(_(txt_not_exist));
 			return -1;
 		}
 
-		if ((d = opendir(buf)) != NULL) {
+		if ((d = opendir(group_path)) != NULL) {
 			while ((e = readdir(d)) != NULL) {
 				art = atol(e->d_name);
 				if (art >= 1) {
@@ -351,7 +357,7 @@ index_group(
 	free_art_array();
 	free_msgids();
 
-	BegStopWatch("setup_hard_base");
+	BegStopWatch("setup_hard_base()");
 
 	/*
 	 * Get list of valid article numbers
@@ -362,10 +368,12 @@ index_group(
 	EndStopWatch();
 	PrintStopWatch();
 
-#ifdef DEBUG_NEWSRC
-	debug_print_comment("Before read_overview");
-	debug_print_bitmap(group, NULL);
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC) {
+		debug_print_comment("Before read_overview");
+		debug_print_bitmap(group, NULL);
+	}
+#endif /* DEBUG */
 
 	min = grpmenu.max ? base[0] : group->xmin;
 	max = grpmenu.max ? base[grpmenu.max - 1] : min - 1;
@@ -435,19 +443,23 @@ index_group(
 			return FALSE;		/* user aborted indexing */
 	}
 
-#ifdef DEBUG_NEWSRC
-	debug_print_comment("Before parse_unread_arts()");
-	debug_print_bitmap(group, NULL);
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC) {
+		debug_print_comment("Before parse_unread_arts()");
+		debug_print_bitmap(group, NULL);
+	}
+#endif /* DEBUG */
 	/*
 	 * Do this before calling art_mark(,, ART_READ) if you want
 	 * the unread count to be correct.
 	 */
 	parse_unread_arts(group);
-#ifdef DEBUG_NEWSRC
-	debug_print_comment("After parse_unread_arts()");
-	debug_print_bitmap(group, NULL);
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC) {
+		debug_print_comment("After parse_unread_arts()");
+		debug_print_bitmap(group, NULL);
+	}
+#endif /* DEBUG */
 
 	/*
 	 * Stat all articles to see if any have expired
@@ -455,9 +467,10 @@ index_group(
 	for_each_art(i) {
 		if (arts[i].thread == ART_EXPIRED) {
 			changed++;
-#ifdef DEBUG_NEWSRC
-			debug_print_comment("art.c: index_group() purging...");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+			if (debug & DEBUG_NEWSRC)
+				debug_print_comment("art.c: index_group() purging...");
+#endif /* DEBUG */
 			art_mark(group, &arts[i], ART_READ);
 		}
 	}
@@ -480,7 +493,7 @@ index_group(
 	 */
 	filtered = filter_articles(group);
 
-	BegStopWatch("make_thread");
+	BegStopWatch("make_threads()");
 
 	/*
 	 * Thread the group
@@ -596,7 +609,7 @@ read_art_headers(
 		char buf[PATH_LEN];
 
 		get_cwd(dir);
-		make_base_group_path(group->spooldir, group->name, buf);
+		make_base_group_path(group->spooldir, group->name, buf, sizeof(buf));
 		my_chdir(buf);
 	}
 
@@ -642,7 +655,8 @@ read_art_headers(
 			char buf[PATH_LEN];
 
 			snprintf(buf, sizeof(buf), "FAILED parse_headers(%ld)", art);
-			debug_nntp("read_art_headers", buf);
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "read_art_headers() %s", buf);
 #endif /* DEBUG */
 			continue;
 		}
@@ -1026,7 +1040,7 @@ make_threads(
 		info_message((group->attribute->thread_arts == THREAD_NONE ? _(txt_unthreading_arts) : _(txt_threading_arts)));
 
 #ifdef DEBUG
-	if (debug == 2)
+	if (debug & DEBUG_MISC)
 		error_message("rethread=[%d]  thread_arts=[%d]  attr_thread_arts=[%d]",
 				rethread, tinrc.thread_articles, group->attribute->thread_arts);
 #endif /* DEBUG */
@@ -1060,14 +1074,15 @@ make_threads(
 			/* Should never happen if tree is built properly */
 			if (arts[i].refptr == 0) {
 #ifdef DEBUG
-				my_fprintf(stderr, "\nError  : art->refptr is NULL\n");
-				my_fprintf(stderr, "Artnum : %ld\n", arts[i].artnum);
-				my_fprintf(stderr, "Subject: %s\n", arts[i].subject);
-				my_fprintf(stderr, "From   : %s\n", arts[i].from);
-				assert(arts[i].refptr != 0);
-#else
-				continue;
+				if (debug & DEBUG_REFS) {
+					my_fprintf(stderr, "\nError  : art->refptr is NULL\n");
+					my_fprintf(stderr, "Artnum : %ld\n", arts[i].artnum);
+					my_fprintf(stderr, "Subject: %s\n", arts[i].subject);
+					my_fprintf(stderr, "From   : %s\n", arts[i].from);
+					assert(arts[i].refptr != 0);
+				} else
 #endif /* DEBUG */
+					continue;
 			}
 			arts[i].refptr->article = i;
 		}
@@ -1207,7 +1222,6 @@ parse_headers(
 {
 	char art_from_addr[HEADER_LEN];
 	char art_full_name[HEADER_LEN];
-	char art_trunc_subj[HEADER_LEN];
 	char *hdr, *ptr;
 	unsigned int lineno = 0;
 	unsigned int max_lineno = 25;
@@ -1302,25 +1316,17 @@ parse_headers(
 
 				/* Received:  If found it's probably a mail article */
 				if (!got_received) {
-					if ((hdr = parse_header(ptr + 1, "eceived", FALSE, FALSE))) {
+					if (parse_header(ptr + 1, "eceived", FALSE, FALSE)) {
 						max_lineno <<= 1;		/* double the max number of line to read for mails */
 						got_received = TRUE;
 					}
 				}
 				break;
 
-			/*
-			 * FIXME: Subject: truncation is a HACK and it's not multibyte safe
-			 *        the core problem are probably fixed length buffers
-			 *        (i.e. in rfc1522_encode() called from write_overview()
-			 *         with the data read in here).
-			 */
 			case 'S':	/* Subject:  mandatory */
 				if (!h->subject) {
-					if ((hdr = parse_header(ptr + 1, "ubject", FALSE, FALSE))) {
-						strncpy(art_trunc_subj, eat_re(eat_tab(convert_to_printable(rfc1522_decode(hdr))), FALSE), sizeof(art_trunc_subj) - 1);
-						h->subject = hash_str(art_trunc_subj);
-					}
+					if ((hdr = parse_header(ptr + 1, "ubject", FALSE, FALSE)))
+						h->subject = hash_str(eat_re(eat_tab(convert_to_printable(rfc1522_decode(hdr))), FALSE));
 				}
 				break;
 
@@ -1363,11 +1369,6 @@ parse_headers(
 }
 
 
-#ifdef DEBUG
-#	define handle_overview_fmt_error()	else oerror += 1<<count
-#else
-#	define handle_overview_fmt_error()
-#endif /* DEBUG */
 /*
  * Read in an overview index file. Fields are separated by TAB.
  * return the number of expired articles encountered or -1 if the user aborted
@@ -1397,6 +1398,7 @@ read_overview(
 {
 	FILE *fp;
 	char *ptr;
+	char *q;
 	char *buf;
 	char *group_msg;
 	char art_full_name[HEADER_LEN];
@@ -1405,9 +1407,7 @@ read_overview(
 	int expired = 0;
 	long artnum;
 	struct t_article *art;
-#ifdef DEBUG
-	unsigned int oerror = 0;
-#endif /* DEBUG */
+	size_t over_fields;
 
 	/*
 	 * open the overview file (whether it be local or via nntp)
@@ -1419,6 +1419,31 @@ read_overview(
 		group->xmax = max;
 
 	group_msg = fmt_string(_(txt_group), cCOLS - strlen(_(txt_group)) + 2 - 3, group->name);
+
+	/* get the number of fields per over-record as announced by LIST OVERVIEW.FMT */
+	for (over_fields = 1; ofmt[over_fields].name; over_fields++)
+		;
+	if (!--over_fields) { /* e.g. nntp_caps.type == CAPABILITIES && !nntp_caps.list_overview_fmt -> assume defaults */
+		ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * (8 + 1));
+		ofmt[1].type = OVER_T_STRING;
+		ofmt[1].name = strdup("Subject:");
+		ofmt[2].type = OVER_T_STRING;
+		ofmt[2].name = strdup("From:");
+		ofmt[3].type = OVER_T_STRING;
+		ofmt[3].name = strdup("Date:");
+		ofmt[4].type = OVER_T_STRING;
+		ofmt[4].name = strdup("Message-ID:");
+		ofmt[5].type = OVER_T_STRING;
+		ofmt[5].name = strdup("References:");
+		ofmt[6].type = OVER_T_INT;
+		ofmt[6].name = strdup("Bytes:");
+		ofmt[7].type = OVER_T_INT;
+		ofmt[7].name = strdup("Lines:");
+		ofmt[8].type = OVER_T_ERROR;
+		ofmt[8].name = NULL;
+		over_fields = 7;
+	}
+
 	while ((buf = tin_fgets(fp, FALSE)) != NULL) {
 		if (need_resize) {
 			handle_resize((need_resize == cRedraw) ? TRUE : FALSE);
@@ -1473,82 +1498,221 @@ read_overview(
 		 *       to check for additions like we do with xref_supported
 		 */
 		for (count = 1; (ptr = tin_strtok(NULL, "\t")) != NULL; count++) {
-			switch (count) {
-				case 1:		/* Subject */
-					/*
-					 * TODO: As eat_re() is also called in batch_mode we need
-					 *       to init (all) regexes (but do not use the others).
-					 *       Calling eat_re() isn't very wise at all as we use
-					 *       the modified subject for -N/-M batch opperations
-					 *       so ppl. can't tell from the subject if the posting
-					 *       was a reply or not.
-					 */
-					art->subject = hash_str(eat_re(eat_tab(convert_to_printable(rfc1522_decode(ptr))), FALSE));
-					break;
-
-				case 2:		/* From */
-					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))));
-					break;
-
-				case 3:		/* Date */
-					art->date = parsedate(ptr, (TIMEINFO *) 0);
-#ifdef DEBUG
-					if (art->date == (time_t) -1)
-						oerror += 1<<count;
-#endif /* DEBUG */
-					break;
-
-				case 4:		/* Message-ID */
-					if (*ptr)
-						art->msgid = my_strdup(ptr);
-					handle_overview_fmt_error();
-					break;
-
-				case 5:		/* References */
-					if (*ptr)
-						art->refs = my_strdup(ptr);
-					break;
-
-				case 6:		/* Bytes */
-#ifdef DEBUG
-					if (!isdigit((unsigned char) *ptr))
-						oerror += 1<<count;
-#endif /* DEBUG */
-					break;
-
-				case 7:		/* Lines */
-					if (isdigit((unsigned char) *ptr))
-						art->line_count = atoi(ptr);
-					handle_overview_fmt_error();
-					break;
+			/* skip unexpected tailing fields */
+			if (count > over_fields) {
+#ifdef DEBUG
+				if (debug & DEBUG_NNTP)
+					debug_print_file("NNTP", "OVER: %d Unexpected overview-field %d of %d: %s", artnum, count, over_fields, ptr);
+#endif	/* DEBUG */
+
+				/* "common error" Xref:full in overview-data but not in OVERVIEW.FTM */
+				if (count == over_fields + 1) {
+					if (!strncasecmp(ptr, "Xref: ", 6)) {
+#ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "OVER: found unexpected Xref: on semi std. position");
+#endif  /* DEBUG */
+						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:");
+						ofmt[over_fields + 1].type = OVER_T_ERROR;
+						ofmt[over_fields + 1].name = NULL;
+						xref_supported = TRUE;
+					} else
+						continue;
+				} else
+					continue;
+			}
+
+			if (expensive_over_parse) { /* strange order */
+				/* madatory fields */
+				if (ofmt[count].type == OVER_T_STRING) {
+					if (!strcasecmp(ofmt[count].name, "Subject:")) {
+						if (*ptr)
+							art->subject = hash_str(eat_re(eat_tab(convert_to_printable(rfc1522_decode(ptr))), FALSE));
+						else {
+							art->subject = hash_str("");
+#ifdef DEBUG
+							if (debug & DEBUG_NNTP)
+								debug_print_file("NNTP", "OVER(%d) overview-field %s empty", artnum, ofmt[count].name);
+#endif /* DEBUG */
+						}
+						continue;
+					}
+
+					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))));
+						} else {
+							art->from = hash_str("");
+#ifdef DEBUG
+							if (debug & DEBUG_NNTP)
+								debug_print_file("NNTP", "OVER(%d) overview-field %s empty", artnum, ofmt[count].name);
+#endif /* DEBUG */
+						}
+						continue;
+					}
+
+					if (!strcasecmp(ofmt[count].name, "Date:")) {
+						art->date = parsedate(ptr, (TIMEINFO *) 0);
+#ifdef DEBUG
+						if ((debug & DEBUG_NNTP) && art->date == (time_t) -1)
+							debug_print_file("NNTP", "OVER(%d) overview-field %s bogus: %s", artnum, ofmt[count].name, ptr);
+#endif /* DEBUG */
+						continue;
+					}
+
+					if (!strcasecmp(ofmt[count].name, "Message-ID:")) {
+						if (*ptr)
+							art->msgid = my_strdup(ptr);
+						else {
+							art->msgid = NULL;
+#ifdef DEBUG
+							if (debug & DEBUG_NNTP)
+								debug_print_file("NNTP", "OVER(%d) overview-field %s empty", artnum, ofmt[count].name);
+#endif /* DEBUG */
+						}
+						continue;
+					}
+
+					if (!strcasecmp(ofmt[count].name, "References:")) {
+						if (*ptr)
+							art->refs = my_strdup(ptr);
+						else
+							art->refs = NULL;
+						continue;
+					}
+				}
+				/* metadata fiels */
+				if (ofmt[count].type == OVER_T_INT) {
+					if (!strcasecmp(ofmt[count].name, "Bytes:")) {
+						if (*ptr) {
+#ifdef DEBUG
+							if (!isdigit((unsigned char) *ptr))
+								debug_print_file("NNTP", "OVER(%d) overview field %d (%s) missmatch: %s", artnum, count, ofmt[count].name, ptr);
+#endif /* DEBUG */
+						}
+						continue;
+					}
 
-				case 8:		/* Xref: */
-					if (!xref_supported)
+					if (!strcasecmp(ofmt[count].name, "Lines:")) {
+						if (*ptr) {
+							if (isdigit((unsigned char) *ptr))
+								art->line_count = atoi(ptr);
+							else {
+								art->line_count = 0;
+#ifdef DEBUG
+								debug_print_file("NNTP", "OVER(%d) overview field %d (%s) missmatch: %s", artnum, count, ofmt[count].name, ptr);
+#endif /* DEBUG */
+							}
+						} else
+							art->line_count = 0;
 						continue;
-					/* TODO: crosscheck artnum against Xref:-line (if Xref:full) */
-					if ((ptr = parse_header(ptr, "Xref", FALSE, FALSE)) != NULL)
-						art->xref = my_strdup(ptr);
-					handle_overview_fmt_error();
-					break;
+					}
+				}
+			} else { /* first 7 fields are in RFC 3977 order */
+				switch(count) {
+					case 1: /* Subject: */
+						if (*ptr)
+							art->subject = hash_str(eat_re(eat_tab(convert_to_printable(rfc1522_decode(ptr))), FALSE));
+						else {
+							art->subject = hash_str("");
+#ifdef DEBUG
+							if (debug & DEBUG_NNTP)
+								debug_print_file("NNTP", "OVER(%d) overview-field %s empty", artnum, ofmt[count].name);
+#endif /* DEBUG */
+						}
+						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))));
+						} else {
+							art->from = hash_str("");
+#ifdef DEBUG
+							if (debug & DEBUG_NNTP)
+								debug_print_file("NNTP", "OVER(%d) overview-field %s empty", artnum, ofmt[count].name);
+#endif /* DEBUG */
+						}
+						break;
+
+					case 3:	/* Date: */
+						art->date = parsedate(ptr, (TIMEINFO *) 0);
+#ifdef DEBUG
+						if ((debug & DEBUG_NNTP) && art->date == (time_t) -1)
+							debug_print_file("NNTP", "OVER(%d) overview-field %s bogus: %s", artnum, ofmt[count].name, ptr);
+#endif /* DEBUG */
+						break;
+
+					case 4:	/* Message-ID: */
+						if (*ptr)
+							art->msgid = my_strdup(ptr);
+						else {
+							art->msgid = NULL;
+#ifdef DEBUG
+							if (debug & DEBUG_NNTP)
+								debug_print_file("NNTP", "OVER(%d) overview-field %s empty", artnum, ofmt[count].name);
+#endif /* DEBUG */
+						}
+						break;
+
+					case 5:	/* References: */
+						if (*ptr)
+							art->refs = my_strdup(ptr);
+						else
+							art->refs = NULL;
+						break;
+
+					case 6:	/* :bytes || Bytes: */
+						if (*ptr) {
+#ifdef DEBUG
+							if (!isdigit((unsigned char) *ptr))
+								debug_print_file("NNTP", "OVER(%d) overview field %d (%s) missmatch: %s", artnum, count, ofmt[count].name, ptr);
+#endif /* DEBUG */
+						}
+						break;
+
+					case 7:	/* :lines || Lines: */
+						if (*ptr) {
+							if (isdigit((unsigned char) *ptr))
+								art->line_count = atoi(ptr);
+							else {
+								art->line_count = 0;
+#ifdef DEBUG
+								debug_print_file("NNTP", "OVER(%d) overview field %d (%s) missmatch: %s", artnum, count, ofmt[count].name, ptr);
+#endif /* DEBUG */
+							}
+						} else
+							art->line_count = 0;
+						break;
+
+					default:
+						break;
+				}
 			}
-		}
 
+			/* optional fields */
+			if (ofmt[count].type == OVER_T_FSTRING) {
+				if (!strcasecmp(ofmt[count].name, "Xref:")) {
+					if ((q = parse_header(ptr, "Xref", FALSE, FALSE)) != NULL)
+						art->xref = my_strdup(q);
 #ifdef DEBUG
-		/* Complain if incorrect # of fields */
-		if (count < (xref_supported ? 8 : 7) || oerror) {
-			char errbuf[LEN];
-
-			error_message(_("%d Bad overview record (%d fields) '%s'"), oerror, count, BlankIfNull(ptr)); /* TODO move to lang.c */
-			snprintf(errbuf, sizeof(errbuf), "%d Bad overview record (%d fields)", oerror, count);
-			debug_nntp("read_overview", errbuf);
-		}
-		debug_print_header(art);
-		oerror = 0;
+					else {
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "OVER(%d) overview-field %s bogus: %s", artnum, ofmt[count].name, ptr);
+					}
 #endif /* DEBUG */
+				}
+				continue;
+			}
+		}
 
 		/*
 		 * RFC says Message-ID is mandatory in newsgroups (but not in
@@ -1564,13 +1728,46 @@ read_overview(
 
 		top_art++;				/* Basically this statement commits the article */
 	}
-	free(group_msg);
 
+	free(group_msg);
 	TIN_FCLOSE(fp);
 
 	if (tin_errno)
 		return -1;
 
+#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];
+
+		snprintf(cbuf, sizeof(cbuf), "%s XREF %ld-%ld", nntp_caps.hdr_cmd, min, max);
+		group_msg = fmt_string("%s XREF loop", nntp_caps.hdr_cmd); /* TODO: find a better message, move to lang.c */
+		if ((fp = nntp_command(cbuf, OK_HEAD, NULL, 0)) != NULL) {
+			while ((ptr = tin_fgets(fp, FALSE)) != NULL) {
+				artnum = atol(ptr);
+				if (artnum <= 0 || artnum < group->xmin || artnum > group->xmax)
+					continue;
+				art = &arts[top_art];
+				set_article(art);
+				if (!art->xref && !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)
+						*q = '\0';
+					art->xref = my_strdup(ptr);
+				}
+				/* we might loose accuracy here, but that shouldn't hurt */
+				if (artnum % MODULO_COUNT_NUM == 0)
+					show_progress(group_msg, artnum - min, max - min);
+			}
+		}
+		free(group_msg);
+	}
+#endif /* NNTP_ABLE && XHDR_XREF */
+
 	return expired;
 }
 
@@ -1633,12 +1830,13 @@ write_overview(
 	fprintf(fp, "%s\n", group->name);
 
 	for_each_art(i) {
+		char *p;
+		char *q, *ref;
+
 		article = &arts[i];
 
 		if (article->thread != ART_EXPIRED && article->artnum >= group->xmin) {
-			char *p;
-			char *q = NULL, *ref = NULL;
-
+			q = ref = NULL;
 			/*
 			 * TODO: instead of tinrc.mm_local_charset we'd better use UTF-8
 			 *       here and in print_from() in the CHARSET_CONVERSION case.
@@ -1687,9 +1885,9 @@ write_overview(
 
 			fprintf(fp, "\n");
 			free(p);
-			if (q != ref) {
-				free(ref);
-				ref = q = NULL;
+			if (article->refs) {
+				FreeIfNeeded(ref);
+				q = NULL;
 			}
 		}
 	}
@@ -1762,8 +1960,8 @@ find_nov_file(
 			 */
 #ifndef NNTP_ONLY
 			if (!read_news_via_nntp) {
-				make_base_group_path(novrootdir, group->name, buf);
-				joinpath(nov_file, buf, novfilename);
+				make_base_group_path(novrootdir, group->name, buf, sizeof(buf));
+				joinpath(nov_file, sizeof(nov_file), buf, novfilename);
 				if (access(nov_file, R_OK) == 0) {
 					if (mode == R_OK)
 						return nov_file;		/* Use system wide overviews */
@@ -1817,7 +2015,7 @@ find_nov_file(
 			 * now that we know it is valid
 			 */
 			if (!once_only)
-				joinpath(local_newsgroups_file, index_newsdir, NEWSGROUPS_FILE);
+				joinpath(local_newsgroups_file, sizeof(local_newsgroups_file), index_newsdir, NEWSGROUPS_FILE);
 
 			dir = index_newsdir;
 			break;
@@ -1839,7 +2037,7 @@ find_nov_file(
 		char *ptr;
 
 		snprintf(buf, sizeof(buf), "%lu.%d", hash, i);
-		joinpath(nov_file, dir, buf);
+		joinpath(nov_file, sizeof(nov_file), dir, buf);
 
 		if ((fp = fopen(nov_file, "r")) == NULL)
 			break;
diff -Nurp tin-1.9.2/src/attrib.c tin-1.9.3/src/attrib.c
--- tin-1.9.2/src/attrib.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/attrib.c	2008-04-26 20:15:50.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : attrib.c
  *  Author    : I. Lea
  *  Created   : 1993-12-01
- *  Updated   : 2006-06-21
+ *  Updated   : 2008-04-23
  *  Notes     : Group attribute routines
  *
- * Copyright (c) 1993-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1993-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -81,7 +81,6 @@ enum {
 	ATTRIB_MAILING_LIST,
 	ATTRIB_X_HEADERS,
 	ATTRIB_X_BODY,
-	ATTRIB_AUTO_SAVE_MSG, /* TODO: what is this? dublicate of ATTRIB_AUTO_SAVE? */
 	ATTRIB_X_COMMENT_TO,
 	ATTRIB_FCC,
 	ATTRIB_NEWS_QUOTE,
@@ -102,9 +101,10 @@ enum {
 /*
  * Local prototypes
  */
+static void _do_set_attrib(struct t_attribute *attributes, int type, const char *data);
 static void do_set_attrib(struct t_group *group, int type, const char *data);
 static void read_attributes_file(t_bool global_file, t_bool startup);
-static void set_attrib(int type, const char *scope, const char *data);
+static void set_attrib(int type, const char *scope, const char *data, t_bool global_file);
 static void set_default_attributes(struct t_attribute *attributes);
 #if 0 /* unused */
 #	ifdef DEBUG
@@ -126,6 +126,7 @@ static void
 set_default_attributes(
 	struct t_attribute *attributes)
 {
+	attributes->scope = NULL;
 	attributes->global = FALSE;	/* global/group specific */
 	attributes->maildir = tinrc.maildir;
 	attributes->savedir = tinrc.savedir;
@@ -177,26 +178,26 @@ set_default_attributes(
 #define MATCH_BOOLEAN(pattern, type) \
 	if (match_boolean(line, pattern, &flag)) { \
 		num = (flag != FALSE); \
-		set_attrib(type, scope, (char *) &num); \
+		set_attrib(type, scope, (char *) &num, global_file); \
 		found = TRUE; \
 		break; \
 	}
 #define MATCH_INTEGER(pattern, type, maxval) \
 	if (match_integer(line, pattern, &num, maxval)) { \
-		set_attrib(type, scope, (char *) &num); \
+		set_attrib(type, scope, (char *) &num, global_file); \
 		found = TRUE; \
 		break; \
 	}
 #define MATCH_STRING(pattern, type) \
 	if (match_string(line, pattern, buf, sizeof(buf) - strlen(pattern))) { \
-		set_attrib(type, scope, buf); \
+		set_attrib(type, scope, buf, global_file); \
 		found = TRUE; \
 		break; \
 	}
 #ifdef CHARSET_CONVERSION
 #	define MATCH_LIST(pattern, type, table, tablelen) \
 		if (match_list(line, pattern, table, tablelen, &num)) { \
-			set_attrib(type, scope, (char *) &num); \
+			set_attrib(type, scope, (char *) &num, global_file); \
 			found = TRUE; \
 			break; \
 		}
@@ -209,6 +210,12 @@ set_default_attributes(
 		}
 #endif /* !CHARSET_CONVERSION || !HAVE_ISPELL */
 
+#define ADD_SCOPE(this_scope) \
+	if ((num_local_attributes >= max_local_attributes) || (num_local_attributes < 0) || (local_attributes == NULL)) \
+		expand_local_attributes(); \
+	STRCPY(scope, this_scope); \
+	set_default_attributes(&local_attributes[num_local_attributes]); \
+	local_attributes[num_local_attributes++].scope = my_strdup(scope);
 
 /*
  * (re)read global/local attributes file
@@ -220,7 +227,7 @@ read_attributes_files(
 	static t_bool startup = TRUE;
 
 	if (!startup) { /* reinit attributes */
-		free_attributes_array();
+		free_attributes_array();	/* TODO: 'forget' list of editable entries in free_attributes_array() */
 		read_attributes_file(TRUE, startup);
 		read_attributes_file(FALSE, startup);
 	} else {
@@ -247,7 +254,7 @@ read_attributes_file(
 	char scope[LEN];
 	int num;
 	int i;
-	int upgrade = RC_CHECK;
+	enum rc_state upgrade = RC_CHECK;
 	t_bool flag, found = FALSE;
 
 	/*
@@ -333,7 +340,7 @@ read_attributes_file(
 					MATCH_STRING("quick_select_scope=", ATTRIB_QUICK_SELECT_SCOPE);
 					if (match_string(line, "quote_chars=", buf, sizeof(buf))) {
 						quote_dash_to_space(buf);
-						set_attrib(ATTRIB_QUOTE_CHARS, scope, buf);
+						set_attrib(ATTRIB_QUOTE_CHARS, scope, buf, global_file);
 						found = TRUE;
 						break;
 					}
@@ -343,6 +350,14 @@ read_attributes_file(
 					MATCH_STRING("savedir=", ATTRIB_SAVEDIR);
 					MATCH_STRING("savefile=", ATTRIB_SAVEFILE);
 					if (match_string(line, "scope=", scope, sizeof(scope))) {
+						if (!global_file) {
+							/* Add a new entry to the list of editable attributes */
+							if ((num_local_attributes >= max_local_attributes) || (num_local_attributes < 0) || (local_attributes == NULL))
+								expand_local_attributes();
+							set_default_attributes(&local_attributes[num_local_attributes]);
+							local_attributes[num_local_attributes].scope = my_strdup(scope);
+							num_local_attributes++;
+						}
 						found = TRUE;
 						break;
 					}
@@ -386,10 +401,30 @@ read_attributes_file(
 		fclose(fp);
 
 		/*
-		 * TODO: do something usfull for the other cases
+		 * TODO: do something useful for the other cases
 		 */
 		if (upgrade == RC_UPGRADE && !global_file)
 			write_attributes_file(file);
+	} else if (!global_file) {
+		/* no local attributes file, add some useful defaults and write file */
+
+		ADD_SCOPE("*");
+		set_attrib(ATTRIB_X_HEADERS, scope, "~/.tin/headers", global_file);
+
+		ADD_SCOPE("*sources*");
+		num = POST_PROC_SHAR;
+		set_attrib(ATTRIB_POST_PROC_TYPE, scope, (char *) &num, global_file);
+
+		ADD_SCOPE("*binaries*");
+		num = POST_PROC_YES;
+		set_attrib(ATTRIB_POST_PROC_TYPE, scope, (char *) &num, global_file);
+		num = FALSE;
+		set_attrib(ATTRIB_TEX2ISO_CONV, scope, (char *) &num, global_file);
+		num = TRUE;
+		set_attrib(ATTRIB_DELETE_TMP_FILES, scope, (char *) &num, global_file);
+		set_attrib(ATTRIB_FOLLOWUP_TO, scope, "poster", global_file);
+
+		write_attributes_file(file);
 	}
 
 	/*
@@ -409,7 +444,8 @@ static void
 set_attrib(
 	int type,
 	const char *scope,
-	const char *data)
+	const char *data,
+	t_bool global_file)
 {
 	struct t_group *group;
 
@@ -422,11 +458,14 @@ set_attrib(
 	fprintf(stderr, "set_attrib #%d %s %s(%d)\n", type, scope, data, (int) *data);
 #endif /* 0 */
 
+	if (!global_file && (num_local_attributes > 0))
+		_do_set_attrib(&local_attributes[num_local_attributes - 1], type, data);
+
 	/*
 	 * Does scope refer to 1 or more than 1 group
 	 */
 	if (!strpbrk(scope, "*,")) {
-		if ((group = group_find(scope)) != NULL)
+		if ((group = group_find(scope, TRUE)) != NULL)
 			do_set_attrib(group, type, data);
 	} else {
 		int i;
@@ -442,12 +481,13 @@ set_attrib(
 
 
 #define SET_STRING(string) \
-	group->attribute->string = my_strdup(data); \
+	attributes->string = my_strdup(data); \
 	break
 #define SET_INTEGER(integer) \
-	group->attribute->integer = *data; \
+	attributes->integer = *data; \
 	break
 
+
 static void
 do_set_attrib(
 	struct t_group *group,
@@ -461,37 +501,49 @@ do_set_attrib(
 		group->attribute = my_malloc(sizeof(struct t_attribute));
 		set_default_attributes(group->attribute);
 	}
+	_do_set_attrib(group->attribute, type, data);
+}
+
+
+static void
+_do_set_attrib(
+	struct t_attribute *attributes,
+	int type,
+	const char *data)
+{
+	if (!attributes)
+		return;
 
 	/*
 	 * Now set the required attribute
 	 */
 	switch (type) {
 		case ATTRIB_MAILDIR:
-			free_if_not_default(&group->attribute->maildir, tinrc.maildir);
+			free_if_not_default(&attributes->maildir, tinrc.maildir);
 			SET_STRING(maildir);
 
 		case ATTRIB_SAVEDIR:
-			free_if_not_default(&group->attribute->savedir, tinrc.savedir);
+			free_if_not_default(&attributes->savedir, tinrc.savedir);
 			SET_STRING(savedir);
 
 		case ATTRIB_SAVEFILE:
-			FreeIfNeeded(group->attribute->savefile);
+			FreeIfNeeded(attributes->savefile);
 			SET_STRING(savefile);
 
 		case ATTRIB_ORGANIZATION:
-			free_if_not_default(&group->attribute->organization, default_organization);
+			free_if_not_default(&attributes->organization, default_organization);
 			SET_STRING(organization);
 
 		case ATTRIB_FROM:
-			free_if_not_default(&group->attribute->from, tinrc.mail_address);
+			free_if_not_default(&attributes->from, tinrc.mail_address);
 			SET_STRING(from);
 
 		case ATTRIB_SIGFILE:
-			free_if_not_default(&group->attribute->sigfile, tinrc.sigfile);
+			free_if_not_default(&attributes->sigfile, tinrc.sigfile);
 			SET_STRING(sigfile);
 
 		case ATTRIB_FOLLOWUP_TO:
-			FreeIfNeeded(group->attribute->followup_to);
+			FreeIfNeeded(attributes->followup_to);
 			SET_STRING(followup_to);
 
 		case ATTRIB_AUTO_SELECT:
@@ -534,7 +586,7 @@ do_set_attrib(
 			SET_INTEGER(quick_kill_header);
 
 		case ATTRIB_QUICK_KILL_SCOPE:
-			FreeIfNeeded(group->attribute->quick_kill_scope);
+			FreeIfNeeded(attributes->quick_kill_scope);
 			SET_STRING(quick_kill_scope);
 
 		case ATTRIB_QUICK_KILL_EXPIRE:
@@ -547,7 +599,7 @@ do_set_attrib(
 			SET_INTEGER(quick_select_header);
 
 		case ATTRIB_QUICK_SELECT_SCOPE:
-			FreeIfNeeded(group->attribute->quick_select_scope);
+			FreeIfNeeded(attributes->quick_select_scope);
 			SET_STRING(quick_select_scope);
 
 		case ATTRIB_QUICK_SELECT_EXPIRE:
@@ -557,7 +609,7 @@ do_set_attrib(
 			SET_INTEGER(quick_select_case);
 
 		case ATTRIB_MAILING_LIST:
-			FreeIfNeeded(group->attribute->mailing_list);
+			FreeIfNeeded(attributes->mailing_list);
 			SET_STRING(mailing_list);
 
 #ifdef CHARSET_CONVERSION
@@ -565,35 +617,35 @@ do_set_attrib(
 			SET_INTEGER(mm_network_charset);
 
 		case ATTRIB_UNDECLARED_CHARSET:
-			FreeIfNeeded(group->attribute->undeclared_charset);
+			FreeIfNeeded(attributes->undeclared_charset);
 			SET_STRING(undeclared_charset);
 #endif /* CHARSET_CONVERSION */
 
 		case ATTRIB_X_HEADERS:
-			FreeIfNeeded(group->attribute->x_headers);
+			FreeIfNeeded(attributes->x_headers);
 			SET_STRING(x_headers);
 
 		case ATTRIB_X_BODY:
-			FreeIfNeeded(group->attribute->x_body);
+			FreeIfNeeded(attributes->x_body);
 			SET_STRING(x_body);
 
 		case ATTRIB_X_COMMENT_TO:
 			SET_INTEGER(x_comment_to);
 
 		case ATTRIB_FCC:
-			FreeIfNeeded(group->attribute->fcc);
+			FreeIfNeeded(attributes->fcc);
 			SET_STRING(fcc);
 
 		case ATTRIB_NEWS_QUOTE:
-			free_if_not_default(&group->attribute->news_quote_format, tinrc.news_quote_format);
+			free_if_not_default(&attributes->news_quote_format, tinrc.news_quote_format);
 			SET_STRING(news_quote_format);
 
 		case ATTRIB_QUOTE_CHARS:
-			free_if_not_default(&group->attribute->quote_chars, tinrc.quote_chars);
+			free_if_not_default(&attributes->quote_chars, tinrc.quote_chars);
 			SET_STRING(quote_chars);
 
 		case ATTRIB_MIME_TYPES_TO_SAVE:
-			FreeIfNeeded(group->attribute->mime_types_to_save);
+			FreeIfNeeded(attributes->mime_types_to_save);
 			SET_STRING(mime_types_to_save);
 
 		case ATTRIB_MIME_FORWARD:
@@ -601,7 +653,7 @@ do_set_attrib(
 
 #ifdef HAVE_ISPELL
 		case ATTRIB_ISPELL:
-			FreeIfNeeded(group->attribute->ispell);
+			FreeIfNeeded(attributes->ispell);
 			SET_STRING(ispell);
 #endif /* HAVE_ISPELL */
 
@@ -622,12 +674,11 @@ void
 write_attributes_file(
 	const char *file)
 {
-	FILE *fp, *infp;
+	FILE *fp;
 	char *new_file;
 	int i;
-	t_bool copy_ok = TRUE;
 
-	if (no_write && file_size(file) != -1L)
+	if (file_size(file) != -1L && (no_write || num_local_attributes <= 0))
 		return;
 
 	new_file = get_tmpfilename(file);
@@ -647,16 +698,16 @@ write_attributes_file(
 	 */
 	fprintf(fp, "# Group attributes file V%s for the TIN newsreader\n", ATTRIBUTES_VERSION);
 	fprintf(fp, _("# Do not edit this comment block\n#\n"));
-	fprintf(fp, _("#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"));
-	fprintf(fp, _("#  maildir=STRING (ie. ~/Mail)\n"));
-	fprintf(fp, _("#  savedir=STRING (ie. ~user/News)\n"));
-	fprintf(fp, _("#  savefile=STRING (ie. =linux)\n"));
-	fprintf(fp, _("#  sigfile=STRING (ie. $var/sig)\n"));
+	fprintf(fp, _("#  scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n"));
+	fprintf(fp, _("#  maildir=STRING (eg. ~/Mail)\n"));
+	fprintf(fp, _("#  savedir=STRING (eg. ~user/News)\n"));
+	fprintf(fp, _("#  savefile=STRING (eg. =linux)\n"));
+	fprintf(fp, _("#  sigfile=STRING (eg. $var/sig)\n"));
 	fprintf(fp, _("#  organization=STRING (if beginning with '/' read from file)\n"));
 	fprintf(fp, _("#  followup_to=STRING\n"));
-	fprintf(fp, _("#  mailing_list=STRING (ie. majordomo@example.org)\n"));
-	fprintf(fp, _("#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"));
-	fprintf(fp, _("#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"));
+	fprintf(fp, _("#  mailing_list=STRING (eg. majordomo@example.org)\n"));
+	fprintf(fp, _("#  x_headers=STRING (eg. ~/.tin/extra-headers)\n"));
+	fprintf(fp, _("#  x_body=STRING (eg. ~/.tin/extra-body-text)\n"));
 	fprintf(fp, _("#  from=STRING (just append wanted From:-line, don't use quotes)\n"));
 	fprintf(fp, _("#  news_quote_format=STRING\n"));
 	fprintf(fp, _("#  quote_chars=STRING (%%s, %%S for initials)\n"));
@@ -750,112 +801,119 @@ write_attributes_file(
 #endif /* CHARSET_CONVERSION */
 	fprintf(fp, _("#\n# Note that it is best to put general (global scoping)\n"));
 	fprintf(fp, _("# entries first followed by group specific entries.\n#\n"));
-	fprintf(fp, _("############################################################################\n\n"));
-
-	/*
-	 * Add some useful defaults if no attributes file currently exists
-	 */
-	if ((infp = fopen(file, "r")) == NULL) {
-		fprintf(fp, _("# include extra headers\n"));
-		fprintf(fp, "scope=*\n");
-		/*
-		 * ${TIN_HOMEDIR-HOME} would be correct, but tin doesn't expand it,
-		 * so we take ~ instead
-		 */
-		fprintf(fp, "x_headers=~/.tin/headers\n\n");
-
-		fprintf(fp, _("# in *sources* set post process type to shar only\n"));
-		fprintf(fp, "scope=*sources*\n");
-		fprintf(fp, "post_proc_type=%d\n\n", POST_PROC_SHAR);
-
-		fprintf(fp, _("# in *binaries* do full post processing but no TeX2ISO conversion,\n"));
-		fprintf(fp, _("# remove tmp files and set Followup-To: poster\n"));
-		fprintf(fp, "scope=*binaries*\n");
-		fprintf(fp, "post_proc_type=%d\n", POST_PROC_YES);
-		fprintf(fp, "tex2iso_conv=OFF\n");
-		fprintf(fp, "delete_tmp_files=ON\n");
-		fprintf(fp, "followup_to=poster\n\n");
-	} else {
-		char *ptr;
-		char buf[LEN];
+	fprintf(fp, _("############################################################################\n"));
 
-		/*
-		 * Until the write code is fixed, just copy the existing settings after
-		 * the updated header
-		 */
-		while ((ptr = fgets(buf, sizeof(buf), infp)) != NULL) {
-			if (ptr[0] != '#' )				/* End of headers */
-				break;
+	if ((num_local_attributes > 0) && (local_attributes != NULL)) {
+		struct t_attribute *attr;
+		struct t_attribute default_attr;
+
+		set_default_attributes(&default_attr);
+
+		for (i = 0; i < num_local_attributes; i++) {
+			attr = &local_attributes[i];
+
+			fprintf(fp, "\nscope=%s\n", attr->scope);
+			if (attr->maildir && (attr->maildir != default_attr.maildir))
+				fprintf(fp, "maildir=%s\n", attr->maildir);
+			if (attr->savedir && (attr->savedir != default_attr.savedir))
+				fprintf(fp, "savedir=%s\n", attr->savedir);
+			if (attr->savefile)
+				fprintf(fp, "savefile=%s\n", attr->savefile);
+			if (attr->sigfile && (attr->sigfile != default_attr.sigfile))
+				fprintf(fp, "sigfile=%s\n", attr->sigfile);
+			if (attr->organization && (attr->organization != default_attr.organization))
+				fprintf(fp, "organization=%s\n", attr->organization);
+			if (attr->followup_to)
+				fprintf(fp, "followup_to=%s\n", attr->followup_to);
+			if (attr->mailing_list)
+				fprintf(fp, "mailing_list=%s\n", attr->mailing_list);
+			if (attr->x_headers)
+				fprintf(fp, "x_headers=%s\n", attr->x_headers);
+			if (attr->x_body)
+				fprintf(fp, "x_body=%s\n", attr->x_body);
+			if (attr->from && (attr->from != default_attr.from))
+				fprintf(fp, "from=%s\n", attr->from);
+			if (attr->news_quote_format && (attr->news_quote_format != default_attr.news_quote_format))
+				fprintf(fp, "news_quote_format=%s\n", attr->news_quote_format);
+			if (attr->quote_chars && (attr->quote_chars != default_attr.quote_chars))
+				fprintf(fp, "quote_chars=%s\n", quote_space_to_dash(attr->quote_chars));
+			if (strcasecmp(attr->mime_types_to_save, default_attr.mime_types_to_save))
+				fprintf(fp, "mime_types_to_save=%s\n", attr->mime_types_to_save);
+#	ifdef HAVE_ISPELL
+			if (attr->ispell)
+				fprintf(fp, "ispell=%s\n", attr->ispell);
+#	endif /* HAVE_ISPELL */
+			if (attr->show_only_unread != default_attr.show_only_unread)
+				fprintf(fp, "show_only_unread=%s\n", print_boolean(attr->show_only_unread));
+			if (attr->thread_arts != default_attr.thread_arts)
+				fprintf(fp, "thread_arts=%d\n", attr->thread_arts);
+			if (attr->thread_perc != default_attr.thread_perc)
+				fprintf(fp, "thread_perc=%d\n", attr->thread_perc);
+			if (attr->auto_select != default_attr.auto_select)
+				fprintf(fp, "auto_select=%s\n", print_boolean(attr->auto_select));
+			if (attr->auto_save != default_attr.auto_save)
+				fprintf(fp, "auto_save=%s\n", print_boolean(attr->auto_save));
+			if (attr->batch_save != default_attr.batch_save)
+				fprintf(fp, "batch_save=%s\n", print_boolean(attr->batch_save));
+			if (attr->delete_tmp_files != default_attr.delete_tmp_files)
+				fprintf(fp, "delete_tmp_files=%s\n", print_boolean(attr->delete_tmp_files));
+			if (attr->sort_art_type != default_attr.sort_art_type)
+				fprintf(fp, "sort_art_type=%d\n", attr->sort_art_type);
+			if (attr->sort_threads_type != default_attr.sort_threads_type)
+				fprintf(fp, "sort_threads_type=%d\n", attr->sort_threads_type);
+			if (attr->show_author != default_attr.show_author)
+				fprintf(fp, "show_author=%d\n", attr->show_author);
+			if (attr->show_info != default_attr.show_info)
+				fprintf(fp, "show_info=%d\n", attr->show_info);
+			if (attr->post_proc_type != default_attr.post_proc_type)
+				fprintf(fp, "post_proc_type=%d\n", attr->post_proc_type);
+			if (strcasecmp(attr->quick_kill_scope, default_attr.quick_kill_scope))
+				fprintf(fp, "quick_kill_scope=%s\n", attr->quick_kill_scope);
+			if (attr->quick_kill_case != default_attr.quick_kill_case)
+				fprintf(fp, "quick_kill_case=%s\n", print_boolean(attr->quick_kill_case));
+			if (attr->quick_kill_expire != default_attr.quick_kill_expire)
+				fprintf(fp, "quick_kill_expire=%s\n", print_boolean(attr->quick_kill_expire));
+			if (attr->quick_kill_header != default_attr.quick_kill_header)
+				fprintf(fp, "quick_kill_header=%d\n", attr->quick_kill_header);
+			if (strcasecmp(attr->quick_select_scope, default_attr.quick_select_scope))
+				fprintf(fp, "quick_select_scope=%s\n", attr->quick_select_scope);
+			if (attr->quick_select_case != default_attr.quick_select_case)
+				fprintf(fp, "quick_select_case=%s\n", print_boolean(attr->quick_select_case));
+			if (attr->quick_select_expire != default_attr.quick_select_expire)
+				fprintf(fp, "quick_select_expire=%s\n", print_boolean(attr->quick_select_expire));
+			if (attr->quick_select_header != default_attr.quick_select_header)
+				fprintf(fp, "quick_select_header=%d\n", attr->quick_select_header);
+			if (attr->x_comment_to != default_attr.x_comment_to)
+				fprintf(fp, "x_comment_to=%s\n", print_boolean(attr->x_comment_to));
+			if (attr->fcc)
+				fprintf(fp, "fcc=%s\n", attr->fcc);
+			if (attr->tex2iso_conv != default_attr.tex2iso_conv)
+				fprintf(fp, "tex2iso_conv=%s\n", print_boolean(attr->tex2iso_conv));
+			if (attr->mime_forward != default_attr.mime_forward)
+				fprintf(fp, "mime_forward=%s\n", print_boolean(attr->mime_forward));
+#	ifdef CHARSET_CONVERSION
+			if (attr->mm_network_charset && (attr->mm_network_charset != default_attr.mm_network_charset))
+				fprintf(fp, "mm_network_charset=%s\n", txt_mime_charsets[attr->mm_network_charset]);
+			if (attr->undeclared_charset)
+				fprintf(fp, "undeclared_charset=%s\n", attr->undeclared_charset);
+#	endif /* CHARSET_CONVERSION */
 		}
-		copy_ok = copy_fp(infp, fp);
-		fclose(infp);
+		free(default_attr.mime_types_to_save);
+		FreeIfNeeded(default_attr.quick_kill_scope);
+		FreeIfNeeded(default_attr.quick_select_scope);
 	}
 
 	/* rename_file() preserves mode, so this is safe */
 	fchmod(fileno(fp), (mode_t) (S_IRUSR|S_IWUSR));
 
-	if (ferror(fp) || fclose(fp))
+	if (ferror(fp) || fclose(fp)) {
 		error_message(_(txt_filesystem_full), ATTRIBUTES_FILE);
-	else if (copy_ok)
+		unlink(new_file);
+	} else
 		rename_file(new_file, file);
-	else
-		unlink (new_file);
 
 	free(new_file);
 	return;
-
-#if 0 /* FIXME */
-	for_each_group(i) {
-		struct t_attribute *attr = active[i].attribute;
-
-		/* TODO: only write out none empty && no defaut entrys */
-		fprintf(fp, "scope=%s\n", active[i].name);
-		fprintf(fp, "maildir=%s\n", attr->maildir);
-		fprintf(fp, "savedir=%s\n", attr->savedir);
-		fprintf(fp, "savefile=%s\n", attr->savefile);
-		fprintf(fp, "sigfile=%s\n", attr->sigfile);
-		fprintf(fp, "organization=%s\n", attr->organization);
-		fprintf(fp, "followup_to=%s\n", attr->followup_to);
-		fprintf(fp, "mailing_list=%s\n", attr->mailing_list);
-		fprintf(fp, "x_headers=%s\n", attr->x_headers);
-		fprintf(fp, "x_body=%s\n", attr->x_body);
-		fprintf(fp, "from=%s\n", attr->from);
-		fprintf(fp, "news_quote_format=%s\n", attr->news_quote_format);
-		fprintf(fp, "quote_chars=%s\n", quote_space_to_dash(attr->quote_chars));
-		fprintf(fp, "mime_types_to_save=%s\n", attr->mime_types_to_save);
-#	ifdef HAVE_ISPELL
-		fprintf(fp, "ispell=%s\n", attr->ispell);
-#	endif /* HAVE_ISPELL */
-		fprintf(fp, "show_only_unread=%s\n", print_boolean(attr->show_only_unread));
-		fprintf(fp, "thread_arts=%d\n", attr->thread_arts);
-		fprintf(fp, "thread_perc=%d\n", attr->thread_perc);
-		fprintf(fp, "auto_select=%s\n", print_boolean(attr->auto_select));
-		fprintf(fp, "auto_save=%s\n", print_boolean(attr->auto_save));
-		fprintf(fp, "batch_save=%s\n", print_boolean(attr->batch_save));
-		fprintf(fp, "delete_tmp_files=%s\n", print_boolean(attr->delete_tmp_files));
-		fprintf(fp, "sort_art_type=%d\n", attr->sort_art_type);
-		fprintf(fp, "sort_threads_type=%d\n", attr->sort_threads_type);
-		fprintf(fp, "show_author=%d\n", attr->show_author);
-		fprintf(fp, "show_info=%d\n", attr->show_info);
-		fprintf(fp, "post_proc_type=%d\n", attr->post_proc_type);
-		fprintf(fp, "quick_kill_scope=%s\n", attr->quick_kill_scope);
-		fprintf(fp, "quick_kill_case=%s\n", print_boolean(attr->quick_kill_case));
-		fprintf(fp, "quick_kill_expire=%s\n", print_boolean(attr->quick_kill_expire));
-		fprintf(fp, "quick_kill_header=%d\n", attr->quick_kill_header);
-		fprintf(fp, "quick_select_scope=%s\n", attr->quick_select_scope);
-		fprintf(fp, "quick_select_case=%s\n", print_boolean(attr->quick_select_case));
-		fprintf(fp, "quick_select_expire=%s\n", print_boolean(attr->quick_select_expire));
-		fprintf(fp, "quick_select_header=%d\n", attr->quick_select_header);
-		fprintf(fp, "x_comment_to=%s\n", print_boolean(attr->x_comment_to));
-		fprintf(fp, "fcc=%s\n", attr->fcc);
-		fprintf(fp, "tex2iso_conv=%s\n", print_boolean(attr->tex2iso_conv));
-		fprintf(fp, "mime_forward=%s\n", print_boolean(attr->mime_forward));
-#	ifdef CHARSET_CONVERSION
-		fprintf(fp, "mm_network_charset=%s\n", txt_mime_charsets[attr->mm_network_charset]);
-		fprintf(fp, "undeclared_charset=%s\n", attr->undeclared_charset);
-#	endif /* CHARSET_CONVERSION */
-	}
-#endif /* 0 */
 }
 
 
diff -Nurp tin-1.9.2/src/auth.c tin-1.9.3/src/auth.c
--- tin-1.9.2/src/auth.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/auth.c	2008-04-25 14:32:26.000000000 +0200
@@ -3,11 +3,11 @@
  *  Module    : auth.c
  *  Author    : Dirk Nimmich <nimmich@muenster.de>
  *  Created   : 1997-04-05
- *  Updated   : 2005-08-16
+ *  Updated   : 2008-04-25
  *  Notes     : Routines to authenticate to a news server via NNTP.
  *              DON'T USE get_respcode() THROUGHOUT THIS CODE.
  *
- * Copyright (c) 1997-2007 Dirk Nimmich <nimmich@muenster.de>
+ * Copyright (c) 1997-2008 Dirk Nimmich <nimmich@muenster.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,14 +48,17 @@
  * we don't need authentication stuff at all if we don't have NNTP support
  */
 #ifdef NNTP_ABLE
-
 /*
  * local prototypes
  */
-static int do_authinfo_original(char *server, char *authuser, char *authpass);
+static int do_authinfo_user(char *server, char *authuser, char *authpass);
 static t_bool authinfo_generic(void);
 static t_bool read_newsauth_file(char *server, char *authuser, char *authpass);
-static t_bool authinfo_original(char *server, char *authuser, t_bool startup);
+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 */
 
 
 /*
@@ -72,14 +75,15 @@ authinfo_generic(
 	char tmpbuf[NNTP_STRLEN];
 	static int cookiefd = -1;
 	t_bool builtinauth = FALSE;
-#if !defined(HAVE_SETENV) && defined(HAVE_PUTENV)
+#	if !defined(HAVE_SETENV) && defined(HAVE_PUTENV)
 	char *new_env;
 	static char *old_env = NULL;
-#endif /* !HAVE_SETENV && HAVE_PUTENV */
+#	endif /* !HAVE_SETENV && HAVE_PUTENV */
 
-#ifdef DEBUG
-	debug_nntp("authorization", "authinfo generic");
-#endif /* DEBUG */
+#	ifdef DEBUG
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "authorization authinfo generic");
+#	endif /* DEBUG */
 
 	/*
 	 * If we have authenticated before, NNTP_AUTH_FDS already
@@ -92,7 +96,8 @@ authinfo_generic(
 		char tempfile[PATH_LEN];
 		if ((cookiefd = my_tmpfile_only(tempfile)) == -1) {
 #	ifdef DEBUG
-			debug_nntp("authorization", txt_cannot_create_uniq_name);
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "authorization %s", txt_cannot_create_uniq_name);
 #	endif /* DEBUG */
 			return FALSE;
 		} else {
@@ -113,13 +118,13 @@ authinfo_generic(
 	}
 	put_server(tmpbuf);
 
-#ifdef HAVE_SETENV
+#	ifdef HAVE_SETENV
 	snprintf(tmpbuf, sizeof(tmpbuf), "%d.%d.%d",
 			fileno(get_nntp_fp(FAKE_NNTP_FP)),
 			fileno(get_nntp_wr_fp(FAKE_NNTP_FP)), cookiefd);
 	setenv("NNTP_AUTH_FDS", tmpbuf, 1);
-#else
-#	ifdef HAVE_PUTENV
+#	else
+#		ifdef HAVE_PUTENV
 	snprintf(tmpbuf, sizeof(tmpbuf), "NNTP_AUTH_FDS=%d.%d.%d",
 			fileno(get_nntp_fp(FAKE_NNTP_FP)),
 			fileno(get_nntp_wr_fp(FAKE_NNTP_FP)), cookiefd);
@@ -127,8 +132,8 @@ authinfo_generic(
 	(void) putenv(new_env);
 	FreeIfNeeded(old_env);
 	old_env = new_env;	/* we are 'leaking' the last malloced mem at exit here */
-#	endif /* HAVE_PUTENV */
-#endif /* HAVE_SETENV */
+#		endif /* HAVE_PUTENV */
+#	endif /* HAVE_SETENV */
 
 	/* TODO: is it possible that we should have drained server here? */
 	return (builtinauth ? (get_only_respcode(NULL, 0) == OK_AUTH) : (invoke_cmd(authval) ? TRUE : FALSE));
@@ -150,14 +155,15 @@ read_newsauth_file(
 	FILE *fp;
 	char *_authpass;
 	char *ptr;
+	char filename[PATH_LEN];
 	char line[PATH_LEN];
 	int found = 0;
 	int fd;
 	struct stat statbuf;
 
-	joinpath(line, homedir, ".newsauth");
+	joinpath(filename, sizeof(filename), homedir, ".newsauth");
 
-	if ((fp = fopen(line, "r"))) {
+	if ((fp = fopen(filename, "r"))) {
 		if ((fd = fileno(fp)) == -1) {
 			fclose(fp);
 			return FALSE;
@@ -167,20 +173,22 @@ read_newsauth_file(
 			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(_(txt_error_insecure_permissions), line, statbuf.st_mode);
+			error_message(_(txt_error_insecure_permissions), filename, statbuf.st_mode);
 			sleep(2);
 			/*
 			 * TODO: fix permssions?
 			 * fchmod(fd, S_IRUSR|S_IWUSR);
 			 */
 		}
+#	endif /* !FILE_MODE_BROKEN */
 
 		/*
 		 * Search through authorization file for correct NNTP server
 		 * File has format:  'nntp-server' 'password' ['username']
 		 */
-		while (fgets(line, PATH_LEN, fp) != NULL) {
+		while (fgets(line, sizeof(line), fp) != NULL) {
 
 			/*
 			 * strip trailing newline character
@@ -246,11 +254,11 @@ read_newsauth_file(
 
 
 /*
- * Perform authentication with ORIGINAL AUTHINFO method. Return response
+ * Perform authentication with AUTHINFO USER method. Return response
  * code from server.
  */
 static int
-do_authinfo_original(
+do_authinfo_user(
 	char *server,
 	char *authuser,
 	char *authpass)
@@ -259,25 +267,28 @@ do_authinfo_original(
 	int ret;
 
 	snprintf(line, sizeof(line), "AUTHINFO USER %s", authuser);
-#ifdef DEBUG
-	debug_nntp("authorization", line);
-#endif /* DEBUG */
+#	ifdef DEBUG
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "authorization %s", line);
+#	endif /* DEBUG */
 	put_server(line);
 	if ((ret = get_only_respcode(NULL, 0)) != NEED_AUTHDATA)
 		return ret;
 
 	if ((authpass == NULL) || (*authpass == '\0')) {
-#ifdef DEBUG
-		debug_nntp("authorization", "failed: no password");
-#endif /* DEBUG */
+#	ifdef DEBUG
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", "authorization failed: no password");
+#	endif /* DEBUG */
 		error_message(_(txt_nntp_authorization_failed), server);
 		return ERR_AUTHBAD;
 	}
 
 	snprintf(line, sizeof(line), "AUTHINFO PASS %s", authpass);
-#ifdef DEBUG
-	debug_nntp("authorization", line);
-#endif /* DEBUG */
+#	ifdef DEBUG
+	if (debug & DEBUG_NNTP)
+		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)
@@ -286,9 +297,15 @@ do_authinfo_original(
 }
 
 
+
+
 /*
  * NNTP user authorization. Returns TRUE if authorization succeeded,
  * FALSE if not.
+ *
+ * tries AUTHINFO SASL PLAIN (if available) fist and if not succcessfull
+ * AUTHINFO USER/PASS
+ *
  * If username/passwd already given, and server wasn't changed, retry those.
  * Otherwise, read password from ~/.newsauth or, if not present or no matching
  * server found, from console.
@@ -299,7 +316,7 @@ do_authinfo_original(
  *   etc.
  */
 static t_bool
-authinfo_original(
+authinfo_plain(
 	char *server,
 	char *authuser,
 	t_bool startup)
@@ -312,11 +329,6 @@ authinfo_original(
 	static t_bool already_failed = FALSE;
 	static t_bool initialized = FALSE;
 
-#ifdef DEBUG
-	debug_nntp("authorization", "original authinfo");
-#endif /* DEBUG */
-
-
 	changed = strcmp(server, last_server);	/* do we need new auth values? */
 	strncpy(last_server, server, PATH_LEN - 1);
 	last_server[PATH_LEN - 1] = '\0';
@@ -325,8 +337,15 @@ authinfo_original(
 	 * Let's try the previous auth pair first, if applicable.
 	 * Else, proceed to the other mechanisms.
 	 */
-	if (initialized && !changed && !already_failed && do_authinfo_original(server, authusername, authpassword))
-		return TRUE;
+	if (initialized && !changed && !already_failed) {
+#	ifdef USE_SASL
+		if (nntp_caps.sasl_plain)
+			ret = do_authinfo_sasl_plain(authusername, authpassword);
+		if (ret != OK_AUTH)
+#	endif /* USE_SASL */
+			ret = do_authinfo_user(server, authusername, authpassword);
+		return (ret == OK_AUTH);
+	}
 
 	authpassword[0] = '\0';
 	authuser = strncpy(authusername, authuser, sizeof(authusername) - 1);
@@ -349,11 +368,19 @@ authinfo_original(
 	if (changed || (!changed && !already_failed)) {
 		already_failed = FALSE;
 		if (read_newsauth_file(server, authuser, authpass)) {
-			ret = do_authinfo_original(server, authuser, authpass);
+#	ifdef USE_SASL
+			if (nntp_caps.sasl_plain)
+				ret = do_authinfo_sasl_plain(authuser, authpass);
+
+			if (ret != OK_AUTH)
+#	endif /* USE_SASL */
+				ret = do_authinfo_user(server, authuser, authpass);
+
 			if (!(already_failed = (ret != OK_AUTH))) {
-#ifdef DEBUG
-				debug_nntp("authorization", "succeeded");
-#endif /* DEBUG */
+#	ifdef DEBUG
+				if (debug & DEBUG_NNTP)
+					debug_print_file("NNTP", "authorization succeeded");
+#	endif /* DEBUG */
 				initialized = TRUE;
 				return TRUE;
 			}
@@ -370,52 +397,59 @@ authinfo_original(
 	 * messages are annoying (and even wrong).
 	 * UNSURE: Maybe we want to make this decision configurable in the
 	 * options menu, too, so that the user doesn't need -A.
-	 * TODO: Put questions into do_authinfo_original because it is possible
+	 * TODO: Put questions into do_authinfo_user() because it is possible
 	 * that the server doesn't want a password; so only ask for it if needed.
 	 */
 	if (force_auth_on_conn_open || !startup) {
-#ifdef USE_CURSES
+#	ifdef USE_CURSES
 		int state = RawState();
-#endif /* USE_CURSES */
+#	endif /* USE_CURSES */
 
 		wait_message(0, _(txt_auth_needed));
-#ifdef USE_CURSES
+#	ifdef USE_CURSES
 		Raw(TRUE);
-#endif /* USE_CURSES */
+#	endif /* USE_CURSES */
 
 		if (!prompt_default_string(_(txt_auth_user), authuser, PATH_LEN, authusername, HIST_NONE)) {
-#ifdef DEBUG
-			debug_nntp("authorization", "failed: no username");
-#endif /* DEBUG */
+#	ifdef DEBUG
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "authorization failed: no username");
+#	endif /* DEBUG */
 			return FALSE;
 		}
 
-#ifdef USE_CURSES
+#	ifdef USE_CURSES
 		Raw(state);
 		my_printf("%s", _(txt_auth_pass));
 		wgetnstr(stdscr, authpassword, sizeof(authpassword));
 		Raw(TRUE);
-#else
-#	if 0
+#	else
+#		if 0
 		/*
 		 * on some systems (i.e. Solaris) getpass(3) is limited to 8 chars ->
 		 * we use tin_getline() till we have a config check
 		 * for getpass() or our own getpass()
 		 */
 		authpass = strncpy(authpassword, getpass(_(txt_auth_pass)), sizeof(authpassword) - 1);
-#	else
+#		else
 		authpass = strncpy(authpassword, tin_getline(_(txt_auth_pass), FALSE, NULL, PATH_LEN, TRUE, HIST_NONE), sizeof(authpassword) - 1);
-#	endif /* 0 */
-#endif /* USE_CURSES */
+#		endif /* 0 */
+#	endif /* USE_CURSES */
 
-		ret = do_authinfo_original(server, authuser, authpass);
+#	ifdef USE_SASL
+		if (nntp_caps.sasl_plain)
+			ret = do_authinfo_sasl_plain(authuser, authpass);
+		if (ret != OK_AUTH)
+#	endif /* USE_SASL */
+			ret = do_authinfo_user(server, authuser, authpass);
 		initialized = TRUE;
 		my_retouch();			/* Get rid of the chaff */
 	}
 
-#ifdef DEBUG
-	debug_nntp("authorization", (ret == OK_AUTH ? "succeeded" : "failed"));
-#endif /* DEBUG */
+#	ifdef DEBUG
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "authorization %s", (ret == OK_AUTH ? "succeeded" : "failed"));
+#	endif /* DEBUG */
 
 	return (ret == OK_AUTH);
 }
@@ -434,8 +468,72 @@ authenticate(
 	char *user,
 	t_bool startup)
 {
-	return (authinfo_generic() || authinfo_original(server, user, startup));
+	switch (nntp_caps.type) {
+		case CAPABILITIES:	/* don't try authinfo_generic() */
+			return authinfo_plain(server, user, startup);
+
+		default:
+			return (authinfo_generic() || authinfo_plain(server, user, startup));
+	}
+}
+
+
+#	ifdef USE_SASL
+static int
+do_authinfo_sasl_plain(
+	char *authuser,
+	char *authpass)
+{
+	char line[PATH_LEN];
+	char *foo;
+	int ret;
+
+#		ifdef DEBUG
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "do_authinfo_sasl_plain(%s, %s)", BlankIfNull(authuser), BlankIfNull(authpass));
+#		endif /* DEBUG */
+
+	if ((foo = sasl_auth_plain(authuser, authpass)) == NULL)
+		return ERR_AUTHBAD;
+
+	snprintf(line, sizeof(line), "AUTHINFO SASL PLAIN %s", foo);
+	free(foo);
+#		ifdef DEBUG
+	if (debug & DEBUG_NNTP)
+		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);
+	return ret;
+}
+
+
+static char *sasl_auth_plain(
+	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_done(ctx);
+		return p;
+	}
+	gsasl_property_set(session, GSASL_AUTHID, user);
+	gsasl_property_set(session, GSASL_PASSWORD, pass);
+	if (gsasl_step64(session, NULL, &p) != GSASL_OK)
+		FreeAndNull(p);
+	gsasl_finish(session);
+	gsasl_done(ctx);
+	return p;
 }
+#	endif /* USE_SASL */
 
 #else
 static void no_authenticate(void);			/* proto-type */
diff -Nurp tin-1.9.2/src/charset.c tin-1.9.3/src/charset.c
--- tin-1.9.2/src/charset.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/charset.c	2008-03-14 10:21:31.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : charset.c
  *  Author    : M. Kuhn, T. Burmester
  *  Created   : 1993-12-10
- *  Updated   : 2006-05-30
+ *  Updated   : 2007-11-27
  *  Notes     : ISO to ascii charset conversion routines
  *
- * Copyright (c) 1993-2007 Markus Kuhn <mgk25@cl.cam.ac.uk>
+ * Copyright (c) 1993-2008 Markus Kuhn <mgk25@cl.cam.ac.uk>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -153,7 +153,7 @@ void
 convert_iso2asc(
 	char *iso,
 	char **asc_buffer,
-	int *max_line_len,
+	size_t *max_line_len,
 	int t)
 {
 	constext *p;
@@ -177,7 +177,7 @@ convert_iso2asc(
 			first = TRUE;
 			while (*p) {
 				*(asc++) = *(p++);
-				if ((asc - *asc_buffer) >= *max_line_len) {
+				if ((asc - *asc_buffer) >= (int) *max_line_len) {
 					int offset = asc - *asc_buffer;
 					*max_line_len += 64;
 					*asc_buffer = my_realloc(*asc_buffer, *max_line_len);
@@ -237,7 +237,7 @@ convert_iso2asc(
 				first = TRUE;
 			}
 		}
-		if ((asc - *asc_buffer) >= *max_line_len) {
+		if ((asc - *asc_buffer) >= (int) *max_line_len) {
 			int offset = asc - *asc_buffer;
 			*max_line_len += 64;
 			*asc_buffer = my_realloc(*asc_buffer, *max_line_len);
diff -Nurp tin-1.9.2/src/color.c tin-1.9.3/src/color.c
--- tin-1.9.2/src/color.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/color.c	2008-04-22 16:43:26.000000000 +0200
@@ -7,11 +7,11 @@
  *              Julien Oster <fuzzy@cu8.cum.de> (word highlighting)
  *              T.Dickey <dickey@invisible-island.net> (curses support)
  *  Created   : 1995-06-02
- *  Updated   : 2004-06-07
+ *  Updated   : 2008-01-11
  *  Notes     : This are the basic function for ansi-color
  *              and word highlighting
  *
- * Copyright (c) 1995-2007 Roland Rosenfeld <roland@spinnaker.rhein.de>
+ * Copyright (c) 1995-2008 Roland Rosenfeld <roland@spinnaker.rhein.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -292,7 +292,7 @@ draw_pager_line(
 				c += num_bytes;
 			}
 #else
-			if (my_isprint((int) *c)) {
+			if (my_isprint((unsigned char) *c)) {
 				my_fputc((int) *c, stdout);
 				c++;
 			}
@@ -312,7 +312,7 @@ draw_pager_line(
 				 * non-printable char
 				 * print as an octal value
 				 */
-				snprintf(octal, sizeof(octal), "\\%03o", (int) *c & 0xff);
+				snprintf(octal, sizeof(octal), "\\%03o", (int) (*c & 0xff));
 				my_fputs(octal, stdout);
 				c++;
 			}
diff -Nurp tin-1.9.2/src/config.c tin-1.9.3/src/config.c
--- tin-1.9.2/src/config.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/config.c	2008-04-23 16:57:16.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : config.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2006-06-28
+ *  Updated   : 2008-04-23
  *  Notes     : Configuration file routines
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,7 +73,7 @@ read_config_file(
 {
 	FILE *fp;
 	char buf[LEN], tmp[LEN];
-	int upgrade = RC_CHECK;
+	enum rc_state upgrade = RC_CHECK;
 
 	if ((fp = fopen(file, "r")) == NULL)
 		return FALSE;
@@ -465,6 +465,10 @@ read_config_file(
 				break;
 			if (match_list(buf, "mm_network_charset=", txt_mime_charsets, NUM_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)))
+				break;
+#	endif /* NO_LOCALE */
 #endif /* !CHARSET_CONVERSION */
 
 			if (match_boolean(buf, "mark_ignore_tags=", &tinrc.mark_ignore_tags))
@@ -804,28 +808,10 @@ read_config_file(
 	if (!(tinrc.draw_arrow || tinrc.inverse_okay))
 		tinrc.draw_arrow = TRUE;
 
-	/*
-	 * determine local charset, or in case of NO_LOCALE use
-	 * mm{_network}_charset
-	 */
-	{
-#ifndef NO_LOCALE
-		const char *p;
-
-		if ((p = tin_nl_langinfo(CODESET)) != NULL) {
-			if (!strcmp(p, "ANSI_X3.4-1968"))
-				strcpy(tinrc.mm_local_charset, "US-ASCII");
-			else
-				strcpy(tinrc.mm_local_charset, p);
-		} else
-#endif /* !NO_LOCALE */
-			if (!*tinrc.mm_local_charset)
-#ifndef CHARSET_CONVERSION
-				strcpy(tinrc.mm_local_charset, tinrc.mm_charset);
-#else
-				strcpy(tinrc.mm_local_charset, txt_mime_charsets[tinrc.mm_network_charset]);
-#endif /* !CHARSET_CONVERSION */
-	}
+	/* determine local charset */
+#if defined(NO_LOCALE) && !defined(CHARSET_CONVERSION)
+	strcpy(tinrc.mm_local_charset, tinrc.mm_charset);
+#endif /* NO_LOCALE && !CHARSET_CONVERSION */
 	return TRUE;
 }
 
@@ -1263,6 +1249,10 @@ write_config_file(
 	fprintf(fp, _(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, _(txt_mm_local_charset.tinrc));
+	fprintf(fp, "mm_local_charset=%s\n\n", tinrc.mm_local_charset);
+#	endif /* NO_LOCALE */
 #	ifdef HAVE_ICONV_OPEN_TRANSLIT
 	fprintf(fp, _(txt_translit.tinrc));
 	fprintf(fp, "translit=%s\n\n", print_boolean(tinrc.translit));
@@ -1694,8 +1684,6 @@ rc_update(
 	t_bool show_score = FALSE;
 	t_bool space_goto_next_unread = FALSE;
 	t_bool tab_goto_next_unread = FALSE;
-	t_bool thread_articles = FALSE;
-	t_bool thread_perc = FALSE;
 	t_bool use_builtin_inews = FALSE;
 	t_bool use_getart_limit = FALSE;
 	t_bool use_mailreader_i = FALSE;
@@ -1769,8 +1757,6 @@ rc_update(
 					set_goto_next_unread = TRUE;
 					break;
 				}
-				if (match_boolean(buf, "thread_articles=", &thread_articles))
-					break;
 				break;
 
 			case 'u':
@@ -1818,12 +1804,6 @@ rc_update(
 	if (show_last_line_prev_page)
 		tinrc.scroll_lines = -1;
 
-	if (thread_articles)
-		tinrc.thread_articles = THREAD_BOTH;
-
-	if (thread_perc)
-		tinrc.thread_perc = THREAD_PERC_DEFAULT;
-
 	if (use_builtin_inews)
 		strncpy(tinrc.inews_prog, INTERNAL_CMD, sizeof(tinrc.inews_prog) - 1);
 
@@ -1850,7 +1830,7 @@ read_server_config(
 	char file[PATH_LEN];
 	char newnews_info[LEN];
 	char serverdir[PATH_LEN];
-	int upgrade = RC_CHECK;
+	enum rc_state upgrade = RC_CHECK;
 
 #ifdef NNTP_ABLE
 	if (read_news_via_nntp && !read_saved_news && nntp_tcp_port != IPPORT_NNTP)
@@ -1860,9 +1840,9 @@ read_server_config(
 	{
 		STRCPY(file, quote_space_to_dash(nntp_server));
 	}
-	joinpath(serverdir, rcdir, file);
-	joinpath(file, serverdir, SERVERCONFIG_FILE);
-	joinpath(local_newsgroups_file, serverdir, NEWSGROUPS_FILE);
+	joinpath(serverdir, sizeof(serverdir), rcdir, file);
+	joinpath(file, sizeof(file), serverdir, SERVERCONFIG_FILE);
+	joinpath(local_newsgroups_file, sizeof(local_newsgroups_file), serverdir, NEWSGROUPS_FILE);
 	if ((fp = fopen(file, "r")) == NULL)
 		return;
 	while (NULL != (line = tin_fgets(fp, FALSE))) {
@@ -1918,8 +1898,8 @@ write_server_config(
 	{
 		STRCPY(file, nntp_server);
 	}
-	joinpath(serverdir, rcdir, file);
-	joinpath(file, serverdir, SERVERCONFIG_FILE);
+	joinpath(serverdir, sizeof(serverdir), rcdir, file);
+	joinpath(file, sizeof(file), serverdir, SERVERCONFIG_FILE);
 
 	if ((no_write || post_article_and_exit || post_postponed_and_exit) && file_size(file) != -1L)
 		return;
diff -Nurp tin-1.9.2/src/cook.c tin-1.9.3/src/cook.c
--- tin-1.9.2/src/cook.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/cook.c	2008-04-24 21:24:40.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : cook.c
  *  Author    : J. Faultless
  *  Created   : 2000-03-08
- *  Updated   : 2006-05-30
+ *  Updated   : 2008-04-24
  *  Notes     : Split from page.c
  *
- * Copyright (c) 2000-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 2000-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -82,7 +82,7 @@ static t_openartinfo *art;
 t_bool
 expand_ctrl_chars(
 	char **line,
-	int *length,
+	size_t *length,
 	size_t lcook_width)
 {
 	t_bool ctrl_L = FALSE;
@@ -107,16 +107,15 @@ expand_ctrl_chars(
 	int curr_len = LEN;
 	int i = 0, j;
 	char *buf = my_malloc(curr_len);
-	char *c;
+	unsigned char *c;
 
-	c = *line;
+	c = (unsigned char *) *line;
 	while (*c) {
 		if (i > curr_len - 3) {
 			curr_len <<= 1;
 			buf = my_realloc(buf, curr_len);
 		}
-		if (*c == '\t') { 		/* expand tabs */
-/*			j = ((i + lcook_width) / lcook_width) * lcook_width; */
+		if (*c == '\t') { /* expand tabs */
 			j = i + lcook_width - (i % lcook_width);
 			for (; i < j; i++)
 				buf[i] = ' ';
@@ -401,7 +400,7 @@ process_text_body_part(
 {
 	char *rest = NULL;
 	char *line = NULL, *buf;
-	int max_line_len = 0;
+	size_t max_line_len = 0;
 	int flags, len, lines_left;
 	int offsets[6];
 	int size_offsets = ARRAY_SIZE(offsets);
@@ -444,7 +443,7 @@ process_text_body_part(
 				 * especially if we must resize it.
 				 * So copy buf to line (and resize line if necessary).
 				 */
-				if (max_line_len < (int) strlen(buf) + 2) {
+				if (max_line_len < strlen(buf) + 2) {
 					max_line_len = strlen(buf) + 2;
 					line = my_realloc(line, max_line_len);
 				};
@@ -533,7 +532,7 @@ process_text_body_part(
 				else if (len == sum + 1 + 1)
 					is_uubody = TRUE;
 #ifdef DEBUG_ART
-				if (debug == 2)
+				if (debug & DEBUG_MISC)
 					fprintf(stderr, "%s sum=%d len=%d (%s)\n", bool_unparse(is_uubody), sum, len, line);
 #endif /* DEBUG_ART */
 			}
@@ -736,9 +735,13 @@ cook_article(
 		}
 
 		if (header_wanted(line)) {	/* Put cooked data */
-			int i = LEN;
+			size_t i = LEN;
 			char *l = my_strdup(rfc1522_decode(line));	/* FIXME: don't decode addr-part of From:/Cc:/ etc.pp. */
 
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+			if (IS_LOCAL_CHARSET("UTF-8"))
+				utf8_valid(l);
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 			header_put = TRUE;
 			expand_ctrl_chars(&l, &i, tabs);
 			put_cooked(LEN, wrap_lines, C_HEADER, "%s", l);
diff -Nurp tin-1.9.2/src/curses.c tin-1.9.3/src/curses.c
--- tin-1.9.2/src/curses.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/curses.c	2008-04-22 16:44:56.000000000 +0200
@@ -3,7 +3,7 @@
  *  Module    : curses.c
  *  Author    : D. Taylor & I. Lea
  *  Created   : 1986-01-01
- *  Updated   : 2006-02-15
+ *  Updated   : 2007-12-30
  *  Notes     : This is a screen management library borrowed with permission
  *              from the Elm mail system. This library was hacked to provide
  *              what tin needs.
@@ -933,6 +933,7 @@ input_pending(
 {
 #if 0
 	int ch;
+
 	nodelay(stdscr, TRUE);
 	if ((ch = getch()) != ERR)
 		ungetch(ch);
@@ -1327,6 +1328,7 @@ ReadWch(
 
 	/* FIXME: add support for other multi-byte charsets */
 
+	free(mbs);
 	return WEOF;
 }
 #	endif /* MULTIBYTE_ABLE && !NO_LOCALE */
diff -Nurp tin-1.9.2/src/debug.c tin-1.9.3/src/debug.c
--- tin-1.9.2/src/debug.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/debug.c	2008-04-23 18:47:37.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : debug.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2005-05-04
+ *  Updated   : 2008-04-23
  *  Notes     : debug routines
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -39,14 +39,11 @@
 #	include "tin.h"
 #endif /* !TIN_H */
 
-#if defined(DEBUG) || defined(DEBUG_NEWSRC)
+#ifdef DEBUG
 #	ifndef NEWSRC_H
 #		include "newsrc.h"
 #	endif /* !NEWSRC_H */
-#	ifndef TCURSES_H
-#		include "tcurses.h"
-#	endif /* !TCURSES_H */
-#endif /* DEBUG || DEBUG_NEWSRC */
+#endif /* DEBUG */
 
 int debug;
 
@@ -56,6 +53,7 @@ int debug;
  */
 static void debug_print_attributes(struct t_attribute *attr, FILE *fp);
 static void debug_print_filter(FILE *fp, int num, struct t_filter *the_filter);
+static void debug_print_newsrc(struct t_newsrc *NewSrc, FILE *fp);
 
 
 /*
@@ -68,59 +66,27 @@ debug_delete_files(
 	char file[PATH_LEN];
 
 	if (debug) {
-		joinpath(file, TMPDIR, "NNTP");
+		joinpath(file, sizeof(file), TMPDIR, "NNTP");
 		unlink(file);
-		joinpath(file, TMPDIR, "ARTS");
+		joinpath(file, sizeof(file), TMPDIR, "ARTS");
 		unlink(file);
-		joinpath(file, TMPDIR, "SAVE_COMP");
+		joinpath(file, sizeof(file), TMPDIR, "SAVE_COMP");
 		unlink(file);
-		joinpath(file, TMPDIR, "BASE");
+		joinpath(file, sizeof(file), TMPDIR, "BASE");
 		unlink(file);
-		joinpath(file, TMPDIR, "ACTIVE");
+		joinpath(file, sizeof(file), TMPDIR, "ACTIVE");
 		unlink(file);
-		joinpath(file, TMPDIR, "BITMAP");
+		joinpath(file, sizeof(file), TMPDIR, "BITMAP");
 		unlink(file);
-		joinpath(file, TMPDIR, "MALLOC");
+		joinpath(file, sizeof(file), TMPDIR, "MALLOC");
 		unlink(file);
-		joinpath(file, TMPDIR, "FILTER");
+		joinpath(file, sizeof(file), TMPDIR, "FILTER");
 		unlink(file);
 	}
 }
 
 
 /*
- * nntp specific debug routines
- */
-void
-debug_nntp(
-	const char *func,
-	const char *fmt,
-	...)
-{
-	FILE *fp;
-	char *buf;
-	char file[PATH_LEN];
-	va_list ap;
-
-	if (!debug)
-		return;
-
-	va_start(ap, fmt);
-	buf = fmt_message(fmt, ap);
-
-	joinpath(file, TMPDIR, "NNTP");
-
-	if ((fp = fopen(file, "a+")) != NULL) {
-		fprintf(fp,"%s: %s\n", func, buf);
-		fchmod(fileno(fp), (S_IRUGO|S_IWUGO));
-		fclose(fp);
-	}
-	free(buf);
-	va_end(ap);
-}
-
-
-/*
  * tin specific debug routines
  */
 void
@@ -129,7 +95,7 @@ debug_print_arts(
 {
 	int i;
 
-	if (debug != 2)
+	if (!(debug & DEBUG_FILTER))
 		return;
 
 	for_each_art(i)
@@ -144,10 +110,10 @@ debug_print_header(
 	FILE *fp;
 	char file[PATH_LEN];
 
-	if (debug != 2)
+	if (!(debug & DEBUG_FILTER))
 		return;
 
-	joinpath(file, TMPDIR, "ARTS");
+	joinpath(file, sizeof(file), TMPDIR, "ARTS");
 
 	if ((fp = fopen(file, "a+")) != NULL) {
 		fprintf(fp,"art=[%5ld] tag=[%s] kill=[%s] selected=[%s]\n", s->artnum,
@@ -185,10 +151,10 @@ debug_print_active(
 	int i;
 	struct t_group *group;
 
-	if (debug != 2)
+	if (!(debug & DEBUG_MISC))
 		return;
 
-	joinpath(file, TMPDIR, "ACTIVE");
+	joinpath(file, sizeof(file), TMPDIR, "ACTIVE");
 
 	if ((fp = fopen(file, "w")) != NULL) {
 		for_each_group(i) {
@@ -199,11 +165,12 @@ debug_print_active(
 				group->spooldir);
 			fprintf(fp, "count=[%4ld] max=[%4ld] min=[%4ld] mod=[%c]\n",
 				group->count, group->xmax, group->xmin, group->moderated);
-			fprintf(fp, " nxt=[%4d] hash=[%ld]  description=[%s]\n", group->next,
+			fprintf(fp, " nxt=[%4d] hash=[%lu]  description=[%s]\n", group->next,
 				hash_groupname(group->name), BlankIfNull(group->description));
-#	ifdef DEBUG_NEWSRC
-			debug_print_newsrc(&group->newsrc, fp);
-#	endif /* DEBUG_NEWSRC */
+#	ifdef DEBUG
+			if (debug & DEBUG_NEWSRC)
+				debug_print_newsrc(&group->newsrc, fp);
+#	endif /* DEBUG */
 			debug_print_attributes(group->attribute, fp);
 		}
 		fchmod(fileno(fp), (S_IRUGO|S_IWUGO));
@@ -258,17 +225,17 @@ debug_print_malloc(
 {
 	FILE *fp;
 	char file[PATH_LEN];
-	static int total = 0;
+	static size_t total = 0;
 
-	if (debug == 4) {
-		joinpath(file, TMPDIR, "MALLOC");
+	if (debug & DEBUG_MEM) {
+		joinpath(file, sizeof(file), TMPDIR, "MALLOC");
 		if ((fp = fopen(file, "a+")) != NULL) {
 			total += size;
 			/* sometimes size_t is long */
 			if (is_malloc)
-				fprintf(fp, "%10s:%-4d Malloc  %6ld. Total %d\n", xfile, line, (long) size, total);
+				fprintf(fp, "%10s:%-4d Malloc  %6lu. Total %lu\n", xfile, line, (unsigned long) size, (unsigned long) total);
 			else
-				fprintf(fp, "%10s:%-4d Realloc %6ld. Total %d\n", xfile, line, (long) size, total);
+				fprintf(fp, "%10s:%-4d Realloc %6lu. Total %lu\n", xfile, line, (unsigned long) size, (unsigned long) total);
 			fchmod(fileno(fp), (S_IRUGO|S_IWUGO));
 			fclose(fp);
 		}
@@ -282,11 +249,11 @@ debug_print_filter(
 	int num,
 	struct t_filter *the_filter)
 {
-	fprintf(fp, "[%3d]  group=[%s] inscope=[%s] score=[%d] case=[%d] lines=[%d %d]\n",
+	fprintf(fp, "[%3d]  group=[%s] inscope=[%s] score=[%d] case=[%s] lines=[%d %d]\n",
 		num, BlankIfNull(the_filter->scope),
 		(the_filter->inscope ? "TRUE" : "FILTER"),
 		the_filter->score,
-		the_filter->icase,
+		the_filter->icase ? "C" : "I",
 		the_filter->lines_cmp, the_filter->lines_num);
 
 	fprintf(fp, "       subj=[%s] from=[%s] msgid=[%s]\n",
@@ -295,7 +262,7 @@ debug_print_filter(
 		BlankIfNull(the_filter->msgid));
 
 	if (the_filter->time)
-		fprintf(fp, "       time=[%ld][%s", the_filter->time, (the_filter->time ? ctime(&the_filter->time) : "]\n"));
+		fprintf(fp, "       time=[%ld][%s]\n", the_filter->time, BlankIfNull(str_trim(ctime(&the_filter->time))));
 }
 
 
@@ -308,10 +275,10 @@ debug_print_filters(
 	int i, num;
 	struct t_filter *the_filter;
 
-	if (debug < 2)
+	if (!(debug & DEBUG_FILTER))
 		return;
 
-	joinpath(file, TMPDIR, "FILTER");
+	joinpath(file, sizeof(file), TMPDIR, "FILTER");
 
 	if ((fp = fopen(file, "w")) != NULL) {
 		/*
@@ -332,24 +299,53 @@ debug_print_filters(
 }
 
 
+void
+debug_print_file(
+	const char *fname,
+	const char *fmt,
+	...)
+{
+	FILE *fp;
+	char *buf;
+	char file[PATH_LEN];
+	va_list ap;
+
+	if (!debug)
+		return;
+
+	va_start(ap, fmt);
+	buf = fmt_message(fmt, ap);
+
+	joinpath(file, sizeof(file), TMPDIR, fname);
+
+	if ((fp = fopen(file, "a+")) != NULL) {
+		fprintf(fp,"%s\n", buf);
+		fchmod(fileno(fp), (S_IRUGO|S_IWUGO));
+		fclose(fp);
+	}
+	free(buf);
+	va_end(ap);
+}
+
+
 /* TODO: print out all fields of t_capabilities */
 #	ifdef NNTP_ABLE
 void
 debug_print_nntp_extensions(
 	void)
 {
-	if (debug < 2)
+	if (!(debug & DEBUG_NNTP))
 		return;
-	debug_nntp("###", "NNTP EXTENSIONS/CAPABILITIES");
-	debug_nntp("###", "Type/Version : %d/%d", nntp_caps.type, nntp_caps.version);
-	debug_nntp("###", "Command-names: %s %s", BlankIfNull(nntp_caps.over_cmd), BlankIfNull(nntp_caps.hdr_cmd));
-	debug_nntp("###", "List         : %s", nntp_caps.list_motd ? "MOTD" : "");
+
+	debug_print_file("NNTP", "### NNTP EXTENSIONS/CAPABILITIES");
+	debug_print_file("NNTP", "### Implementation: %s", BlankIfNull(nntp_caps.implementation));
+	debug_print_file("NNTP", "### Type/Version  : %d/%d", nntp_caps.type, nntp_caps.version);
+	debug_print_file("NNTP", "### Command-names : %s %s", BlankIfNull(nntp_caps.over_cmd), BlankIfNull(nntp_caps.hdr_cmd));
+	debug_print_file("NNTP", "### List          : %s", nntp_caps.list_motd ? "MOTD" : "");
 }
 #	endif /* NNTP_ABLE */
-#endif /* DEBUG */
 
 
-#ifdef DEBUG_NEWSRC
 void
 debug_print_comment(
 	const char *comment)
@@ -357,10 +353,10 @@ debug_print_comment(
 	FILE *fp;
 	char file[PATH_LEN];
 
-	if (debug < 2)
+	if (!(debug & DEBUG_NEWSRC))
 		return;
 
-	joinpath(file, TMPDIR, "BITMAP");
+	joinpath(file, sizeof(file), TMPDIR, "BITMAP");
 
 	if ((fp = fopen(file, "a+")) != NULL) {
 		fprintf(fp,"\n%s\n", comment);
@@ -378,34 +374,36 @@ debug_print_bitmap(
 	FILE *fp;
 	char file[PATH_LEN];
 
-	if (debug != 3)
+	if (!(debug & DEBUG_NEWSRC))
 		return;
 
-	joinpath(file, TMPDIR, "BITMAP");
-	if ((fp = fopen(file, "a+")) != NULL) {
-		fprintf(fp, "\nActive: Group=[%s] sub=[%c] min=[%ld] max=[%ld] count=[%ld] num_unread=[%ld]\n",
-			group->name, SUB_CHAR(group->subscribed),
-			group->xmin, group->xmax, group->count,
-			group->newsrc.num_unread);
-		if (art != NULL) {
-			fprintf(fp, "art=[%5ld] tag=[%s] kill=[%s] selected=[%s] subj=[%s]\n",
-				art->artnum,
-				bool_unparse(art->tagged),
-				bool_unparse(art->killed),
-				bool_unparse(art->selected),
-				art->subject);
-			fprintf(fp, "thread=[%d]  prev=[%d]  status=[%s]\n",
-				art->thread, art->prev,
-				(art->status == ART_READ ? "READ" : "UNREAD"));
+	joinpath(file, sizeof(file), TMPDIR, "BITMAP");
+	if (group != NULL) {
+		if ((fp = fopen(file, "a+")) != NULL) {
+			fprintf(fp, "\nActive: Group=[%s] sub=[%c] min=[%ld] max=[%ld] count=[%ld] num_unread=[%ld]\n",
+				group->name, SUB_CHAR(group->subscribed),
+				group->xmin, group->xmax, group->count,
+				group->newsrc.num_unread);
+			if (art != NULL) {
+				fprintf(fp, "art=[%5ld] tag=[%s] kill=[%s] selected=[%s] subj=[%s]\n",
+					art->artnum,
+					bool_unparse(art->tagged),
+					bool_unparse(art->killed),
+					bool_unparse(art->selected),
+					art->subject);
+				fprintf(fp, "thread=[%d]  prev=[%d]  status=[%s]\n",
+					art->thread, art->prev,
+					(art->status == ART_READ ? "READ" : "UNREAD"));
+			}
+			debug_print_newsrc(&group->newsrc, fp);
 		}
-		debug_print_newsrc(&group->newsrc, fp);
 		fchmod(fileno(fp), (S_IRUGO|S_IWUGO));
 		fclose(fp);
 	}
 }
 
 
-void
+static void
 debug_print_newsrc(
 	struct t_newsrc *lnewsrc,
 	FILE *fp)
@@ -429,4 +427,4 @@ debug_print_newsrc(
 	fprintf(fp, "]\n");
 	fflush(fp);
 }
-#endif /* DEBUG_NEWSRC */
+#endif /* DEBUG */
diff -Nurp tin-1.9.2/src/envarg.c tin-1.9.3/src/envarg.c
--- tin-1.9.2/src/envarg.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/envarg.c	2008-03-14 10:21:31.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 1993-03-10
  *  Notes     : Adds default options from environment to command line
  *
- * Copyright (c) 1991-2007 Bill Davidson
+ * Copyright (c) 1991-2008 Bill Davidson
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/src/feed.c tin-1.9.3/src/feed.c
--- tin-1.9.2/src/feed.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/feed.c	2008-04-29 16:31:12.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : feed.c
  *  Author    : I. Lea
  *  Created   : 1991-08-31
- *  Updated   : 2006-09-02
+ *  Updated   : 2008-04-29
  *  Notes     : provides same interface to mail,pipe,print,save & repost commands
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -66,7 +66,7 @@ struct t_counters {
  * Local prototypes
  */
 static char *get_save_filename(struct t_group *group, int function, char *filename, int filelen, int respnum);
-static t_bool expand_feed_filename(char *outpath, const char *path);
+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_function get_feed_key(int function, int level, struct t_group *group, struct t_art_stat *thread, int respnum);
 static t_function get_post_proc_type(void);
@@ -102,7 +102,7 @@ get_save_filename(
 	/*
 	 * Group attribute savefile overrides tinrc default savefile
 	 */
-	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 : tinrc.default_save_file), sizeof(default_savefile) - 1);
 
 	/*
 	 * We don't ask when auto'S'aving or Archive-Name saving with auto_save
@@ -156,6 +156,7 @@ get_save_filename(
 static t_bool
 expand_feed_filename(
 	char *outpath,
+	size_t outpath_len,
 	const char *path)
 {
 	int ret = strfpath(path, outpath, PATH_LEN, curr_group);
@@ -168,8 +169,8 @@ expand_feed_filename(
 		char buf[PATH_LEN];
 
 		if (!strfpath(curr_group->attribute->savedir, buf, sizeof(buf), curr_group))
-			joinpath(buf, homedir, DEFAULT_SAVEDIR);
-		joinpath(outpath, buf, path);
+			joinpath(buf, sizeof(buf), homedir, DEFAULT_SAVEDIR);
+		joinpath(outpath, outpath_len, buf, path);
 		return FALSE;
 	} else
 		return (ret == 1);
@@ -655,7 +656,7 @@ feed_articles(
 				}
 
 				/* We don't postprocess mailboxen */
-				if ((is_mailbox = expand_feed_filename(outpath, savefile)) == TRUE)
+				if ((is_mailbox = expand_feed_filename(outpath, sizeof(outpath), savefile)) == TRUE)
 					pproc_func = POSTPROCESS_NO;
 				else {
 					if (function != FEED_AUTOSAVE && (pproc_func = get_post_proc_type()) == GLOBAL_ABORT)
diff -Nurp tin-1.9.2/src/filter.c tin-1.9.3/src/filter.c
--- tin-1.9.2/src/filter.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/filter.c	2008-04-27 21:25:01.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : filter.c
  *  Author    : I. Lea
  *  Created   : 1992-12-28
- *  Updated   : 2006-06-20
+ *  Updated   : 2008-04-23
  *  Notes     : Filter articles. Kill & auto selection are supported.
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -310,7 +310,7 @@ read_filter_file(
 	t_bool expired_time = FALSE;
 	time_t current_secs = (time_t) 0;
 	static t_bool first_read = TRUE;
-	int upgrade = RC_CHECK;
+	enum rc_state upgrade = RC_CHECK;
 
 	if ((fp = fopen(file, "r")) == NULL)
 		return FALSE;
@@ -346,8 +346,10 @@ read_filter_file(
 
 					break;
 				}
-				if (match_string(buf + 1, "omment=", comment_line, sizeof(comment_line)))
+				if (match_string(buf + 1, "omment=", comment_line, sizeof(comment_line))) {
+					str_trim(comment_line);
 					comment = add_filter_comment(comment, comment_line);
+				}
 				break;
 
 			case 'f':
@@ -368,11 +370,10 @@ read_filter_file(
 
 			case 'g':
 				if (match_string(buf + 1, "roup=", scope, sizeof(scope))) {
+					str_trim(scope);
 #ifdef DEBUG
-					if (debug) {
-						my_printf("group=[%s] num=[%d]\n", scope, glob_filter.num);
-						my_flush();
-					}
+					if (debug & DEBUG_FILTER)
+						debug_print_file("FILTER", "\nnum=[%d] group=[%s]", glob_filter.num, scope);
 #endif /* DEBUG */
 					if (glob_filter.num >= glob_filter.max)
 						expand_filter_array(&glob_filter);
@@ -505,12 +506,9 @@ read_filter_file(
 							ptr[i].subj = my_strdup(subj);
 						}
 					}
-
 #ifdef DEBUG
-					if (debug) {
-						my_printf("6. buf=[%s]  Gsubj=[%s]\n", ptr[i].subj, glob_filter.filter[i].subj);
-						my_flush();
-					}
+					if (debug & DEBUG_FILTER)
+						debug_print_file("FILTER","buf=[%s]  Gsubj=[%s]", ptr[i].subj, glob_filter.filter[i].subj);
 #endif /* DEBUG */
 					break;
 				}
@@ -521,10 +519,8 @@ read_filter_file(
 				if (match_string(buf + 1, "core=", scbuf, PATH_LEN)) {
 					score = atoi(scbuf);
 #ifdef DEBUG
-					if (debug) {
-						my_printf("score=[%d]\n", score);
-						my_flush();
-					}
+					if (debug & DEBUG_FILTER)
+						debug_print_file("FILTER","score=[%d]", score);
 #endif /* DEBUG */
 					if (ptr && !expired_time) {
 						if (score > SCORE_MAX)
@@ -555,10 +551,8 @@ read_filter_file(
 						/* rule expired? */
 						if (secs && current_secs > (time_t) secs) {
 #ifdef DEBUG
-							if (debug) {
-								my_printf("EXPIRED  secs=[%lu]  current_secs=[%lu]\n", (unsigned long int) secs, (unsigned long int) current_secs);
-								my_flush();
-							}
+							if (debug & DEBUG_FILTER)
+								debug_print_file("FILTER", "EXPIRED  secs=[%lu]  current_secs=[%lu]", (unsigned long int) secs, (unsigned long int) current_secs);
 #endif /* DEBUG */
 							glob_filter.num--;
 							expired_time = TRUE;
@@ -574,6 +568,7 @@ read_filter_file(
 				 *       should we comment out older xref rules like below?
 				 */
 				if (match_string(buf + 1, "ref=", xref, sizeof(xref))) {
+					str_trim(xref);
 					if (ptr && !expired_time) {
 						if (tinrc.wildcard && ptr[i].xref != NULL) {
 							/* merge with already read value */
@@ -685,14 +680,16 @@ write_filter_array(
 		return;
 
 	for (i = 0; i < ptr->num; i++) {
-/* my_printf("WRITE i=[%d] subj=[%s] from=[%s]\n", i, BlankIfNull(ptr->filter[i].subj), BlankIfNull(ptr->filter[i].from)); */
+#ifdef DEBUG
+		debug_print_file("FILTER", "WRITE i=[%d] subj=[%s] from=[%s]\n", i, BlankIfNull(ptr->filter[i].subj), BlankIfNull(ptr->filter[i].from));
+#endif /* DEBUG */
 
 		if (ptr->filter[i].time && theTime > ptr->filter[i].time)
 				continue;
-/*
-my_printf("Scope=[%s]" cCRLF, (ptr->filter[i].scope != NULL ? ptr->filter[i].scope : "*"));
-my_flush();
-*/
+#ifdef DEBUG
+		debug_print_file("FILTER", "Scope=[%s]" cCRLF, (ptr->filter[i].scope != NULL ? ptr->filter[i].scope : "*"));
+#endif /* DEBUG */
+
 		fprintf(fp, "\n");		/* makes filter file more readable */
 
 		/* comments appear always first, if there are any... */
@@ -1471,10 +1468,8 @@ quick_filter(
 	}
 
 #ifdef DEBUG
-	if (debug)
-		error_message("%s header=[%d] scope=[%s] expire=[%s] case=[%d]",
-			(type == GLOBAL_QUICK_FILTER_KILL) ? "KILL" : "SELECT", header,
-			BlankIfNull(scope), txt_onoff[expire != FALSE ? 1 : 0], icase);
+	if (debug & DEBUG_FILTER)
+		error_message("%s header=[%d] scope=[%s] expire=[%s] case=[%d]", (type == GLOBAL_QUICK_FILTER_KILL) ? "KILL" : "SELECT", header, BlankIfNull(scope), txt_onoff[expire != FALSE ? 1 : 0], icase);
 #endif /* DEBUG */
 
 	/*
@@ -1750,18 +1745,9 @@ add_filter_rule(
 
 	if (filtered) {
 #ifdef DEBUG
-		if (debug)
-			wait_message(2, "inscope=[%s] scope=[%s]  case=[%d] subj=[%s] from=[%s] msgid=[%s] fullref=[%d] line=[%d %d] time=[%lu]",
-				bool_unparse(ptr[i].inscope),
-				BlankIfNull(rule->scope),
-				ptr[i].icase,
-				BlankIfNull(ptr[i].subj),
-				BlankIfNull(ptr[i].from),
-				BlankIfNull(ptr[i].msgid),
-				ptr[i].fullref, ptr[i].lines_cmp,
-				ptr[i].lines_num, (unsigned long int) ptr[i].time);
+		if (debug & DEBUG_FILTER)
+			wait_message(2, "inscope=[%s] scope=[%s]  case=[%d] subj=[%s] from=[%s] msgid=[%s] fullref=[%d] line=[%d %d] time=[%lu]", bool_unparse(ptr[i].inscope), BlankIfNull(rule->scope), ptr[i].icase, BlankIfNull(ptr[i].subj), BlankIfNull(ptr[i].from), BlankIfNull(ptr[i].msgid), ptr[i].fullref, ptr[i].lines_cmp, ptr[i].lines_num, (unsigned long int) ptr[i].time);
 #endif /* DEBUG */
-
 		write_filter_file(filter_file);
 	}
 	return filtered;
@@ -1962,6 +1948,10 @@ filter_articles(
 					switch (x) {
 						case 1:
 							SET_FILTER(group, i, j);
+#ifdef DEBUG
+							if (debug & DEBUG_FILTER)
+								debug_print_file("FILTER", "Group[%s] Rule[%d][%s] ArtMSGID[%s] Artnum[%d]", group->name, j, ptr[j].msgid, mymsgid, i);
+#endif /* DEBUG */
 							break;
 
 						case -1:
@@ -2051,7 +2041,7 @@ wait_message(1, "FILTERED Lines arts[%d]
 						t_bool skip = FALSE;
 
 						s = arts[i].xref;
-						while (*s && !isspace((int) *s))
+						while (*s && !isspace((int) *s))	/* skip server name */
 							s++;
 						while (*s && isspace((int) *s))
 							s++;
diff -Nurp tin-1.9.2/src/global.c tin-1.9.3/src/global.c
--- tin-1.9.2/src/global.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/global.c	2008-03-14 10:21:31.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2005-10-19
  *  Notes     : Generic nagivation and key handling routines
  *
- * Copyright (c) 1999-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1999-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/src/group.c tin-1.9.3/src/group.c
--- tin-1.9.2/src/group.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/group.c	2008-04-29 16:34:05.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : group.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2006-10-06
+ *  Updated   : 2008-04-29
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -186,9 +186,10 @@ group_page(
 
 	show_group_page();
 
-#	ifdef DEBUG_NEWSRC
-	debug_print_bitmap(group, NULL);
-#	endif /* DEBUG_NEWSRC */
+#	ifdef DEBUG
+	if (debug & DEBUG_NEWSRC)
+		debug_print_bitmap(group, NULL);
+#	endif /* DEBUG */
 
 	/* reset ret_code */
 	ret_code = 0;
@@ -810,7 +811,7 @@ group_page(
 						if (tinrc.wildcard)
 							STRCPY(pat, ".*");
 						else
-							strncpy(pat, tinrc.default_select_pattern, sizeof(pat));
+							STRCPY(pat, tinrc.default_select_pattern);
 					} else
 						snprintf(pat, sizeof(pat), REGEX_FMT, tinrc.default_select_pattern);
 
@@ -984,6 +985,7 @@ toggle_read_unread(
 {
 	int n, i = -1;
 
+	/* force is always false */
 	if (force)
 		curr_group->attribute->show_only_unread = TRUE;	/* Yes - really, we change it in a bit */
 
@@ -1256,7 +1258,7 @@ build_sline(
 	if (sbuf.multipart_have > 1) /* We have a multipart msg so lets built our new header info. */
 		build_multipart_header(arts_sub, len_subj, arts[j].subject, sbuf.multipart_compare_len, sbuf.multipart_have, sbuf.multipart_total);
 	else
-		strncpy(arts_sub, arts[j].subject, sizeof(arts_sub) - 1);
+		STRCPY(arts_sub, arts[j].subject);
 
 #ifndef USE_CURSES
 	buffer = screen[INDEX2SNUM(i)].col;
@@ -1397,14 +1399,14 @@ show_group_title(
 		if (curr_group->attribute->show_only_unread) {
 			if (arts[i].status != ART_READ) {
 				art_cnt++;
-				if (tinrc.recent_time && ((time((time_t) 0) - arts[i].date) < (tinrc.recent_time * DAY)))
+				if (tinrc.recent_time && ((time((time_t *) 0) - arts[i].date) < (tinrc.recent_time * DAY)))
 					recent_art_cnt++;
 			}
 			if (arts[i].killed == ART_KILLED_UNREAD)
 				killed_art_cnt++;
 		} else {
 			art_cnt++;
-			if (tinrc.recent_time && ((time((time_t) 0) - arts[i].date) < (tinrc.recent_time * DAY)))
+			if (tinrc.recent_time && ((time((time_t *) 0) - arts[i].date) < (tinrc.recent_time * DAY)))
 				recent_art_cnt++;
 
 			if (arts[i].killed)
diff -Nurp tin-1.9.2/src/hashstr.c tin-1.9.3/src/hashstr.c
--- tin-1.9.2/src/hashstr.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/hashstr.c	2008-03-14 10:21:32.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2003-09-19
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
 
  * All rights reserved.
  *
diff -Nurp tin-1.9.2/src/header.c tin-1.9.3/src/header.c
--- tin-1.9.2/src/header.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/header.c	2008-04-29 16:37:00.000000000 +0200
@@ -3,9 +3,9 @@
  *  Module    : header.c
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   : 1997-03-10
- *  Updated   : 2006-02-15
+ *  Updated   : 2008-04-29
  *
- * Copyright (c) 1997-2007 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1997-2008 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -59,7 +59,7 @@ get_host_name(
 #endif /* HAVE_GETHOSTNAME */
 #ifdef HAVE_SYS_UTSNAME_H
 	if (!*hostname)
-		strncpy(hostname, system_info.nodename, sizeof(hostname) - 1);
+		my_strncpy(hostname, system_info.nodename, sizeof(hostname) - 1);
 #endif /* HAVE_SYS_UTSNAME_H */
 	if (!*hostname) {
 		if ((ptr = getenv("HOST")) != NULL)
@@ -133,7 +133,7 @@ get_fqdn(
 	char name[MAXHOSTNAMELEN + 1];
 	static char fqdn[1024];
 	struct hostent *hp;
-	struct in_addr in;
+	struct in_addr in = {0};
 
 	*fqdn = '\0';
 	domain = NULL;
@@ -142,7 +142,7 @@ get_fqdn(
 	if (host) {
 		if (strchr(host, '.'))
 			return host;
-		strncpy(name, host, sizeof(name) - 1);
+		my_strncpy(name, host, sizeof(name) - 1);
 	} else {
 #	ifdef HAVE_GETHOSTNAME
 		if (gethostname(name, sizeof(name) - 1))
@@ -299,14 +299,7 @@ get_from_name(
 	char *from_name,
 	struct t_group *thisgrp)
 {
-#	ifdef USE_INN_NNTPLIB
-	char *fromhost = GetConfigValue(_CONF_FROMHOST);
-#	else
-	char *fromhost = NULL;
-#	endif /* USE_INN_NNTPLIB */
-
-	if (!(fromhost && *fromhost))
-		fromhost = domain_name;
+	char *fromhost = domain_name;
 
 	if (thisgrp && *thisgrp->attribute->from != '\0') {
 		strcpy(from_name, thisgrp->attribute->from);
@@ -316,7 +309,7 @@ get_from_name(
 	sprintf(from_name, ((strpbrk(get_full_name(), "!()<>@,;:\\\".[]")) ? "\"%s\" <%s@%s>" : "%s <%s@%s>"), get_full_name(), get_user_name(), fromhost);
 
 #	ifdef DEBUG
-	if (debug == 2)
+	if (debug & DEBUG_MISC)
 		error_message("FROM=[%s] USER=[%s] HOST=[%s] NAME=[%s]", from_name, get_user_name(), domain_name, get_full_name());
 #	endif /* DEBUG */
 
diff -Nurp tin-1.9.2/src/help.c tin-1.9.3/src/help.c
--- tin-1.9.2/src/help.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/help.c	2008-03-26 19:11:20.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : help.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2006-06-28
+ *  Updated   : 2008-03-26
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -446,7 +446,7 @@ make_help_page(
 	 * length is only needed to pass it to expand_ctrl_chars()
 	 * we have no need for the value
 	 */
-	int length;
+	size_t length;
 	size_t i;
 
 	if (!helppage)
@@ -463,9 +463,9 @@ make_help_page(
 			buf = my_realloc(buf, LEN);
 
 			if (!strlen(helppage->helptext))	/* avoid translation of empty strings */
-				snprintf(buf, LEN, "\n");
+				strcpy(buf, "\n");
 			else
-				snprintf(buf, LEN, "%s", _(helppage->helptext));
+				strncpy(buf, _(helppage->helptext), LEN);
 			buf[LEN - 1] = '\0';
 			expand_ctrl_chars(&buf, &length, 8);
 			fprintf(fp, "%s\n", buf);
@@ -527,6 +527,7 @@ show_help_page(
 
 	info_pager(fp, title, TRUE);
 	fclose(fp);
+	info_pager(NULL, NULL, TRUE); /* free mem */
 	return;
 }
 
diff -Nurp tin-1.9.2/src/inews.c tin-1.9.3/src/inews.c
--- tin-1.9.2/src/inews.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/inews.c	2008-04-29 16:39:36.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : inews.c
  *  Author    : I. Lea
  *  Created   : 1992-03-17
- *  Updated   : 2006-02-15
+ *  Updated   : 2008-04-23
  *  Notes     : NNTP built in version of inews
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -116,20 +116,20 @@ submit_inews(
 		if (line[0] == '\0') /* end of headers */
 			break;
 
-		ptr = strchr(line, ':');
-		if (ptr - line == 4 && !strncasecmp(line, "From", 4)) {
-			STRCPY(from_name, line);
-		}
-
-		if (ptr - line == 10 && !strncasecmp(line, "Message-ID", 10)) {
-			STRCPY(message_id, ptr + 2);
-			id_in_article = TRUE;
-		}
+		if ((ptr = strchr(line, ':'))) {
+			if (ptr - line == 4 && !strncasecmp(line, "From", 4)) {
+				STRCPY(from_name, line);
+			}
 
+			if (ptr - line == 10 && !strncasecmp(line, "Message-ID", 10)) {
+				STRCPY(message_id, ptr + 2);
+				id_in_article = TRUE;
+			}
 #	ifdef USE_CANLOCK
-		if (ptr - line == 11 && !strncasecmp(line, "Cancel-Lock", 11))
-			can_lock_in_article = TRUE;
+			if (ptr - line == 11 && !strncasecmp(line, "Cancel-Lock", 11))
+				can_lock_in_article = TRUE;
 #	endif /* USE_CANLOCK */
+		}
 	}
 
 	if ((from_name[0] == '\0') || (from_name[6] == '\0')) {
@@ -161,7 +161,7 @@ submit_inews(
 		rewind(fp);
 
 #	ifndef FORGERY
-		if ((ptr = build_sender()) && (!disable_sender)) {
+		if (!disable_sender && (ptr = build_sender())) {
 			sender = sender_needed(from_name + 6, group, ptr);
 			switch (sender) {
 				case -2: /* can't build Sender: */
@@ -257,7 +257,7 @@ submit_inews(
 #	ifdef USE_CANLOCK
 			if (!can_lock_in_article) {
 					char lock[1024];
-					const char *lptr = (const char *) 0;
+					const char *lptr;
 
 					lock[0] = '\0';
 					if ((lptr = build_canlock(message_id, get_secret())) != NULL) {
@@ -287,9 +287,7 @@ submit_inews(
 
 			if (can_lock_in_article && !id_in_article) {
 				ptr = strchr(line, ':');
-				if (ptr - line == 11 && !strncasecmp(line, "Cancel-Lock", 11)) {
-					; /* skip line */
-				} else {
+				if (ptr - line != 11 || strncasecmp(line, "Cancel-Lock", 11)) {
 					u_put_server(line);
 					u_put_server("\r\n");
 				}
@@ -403,10 +401,10 @@ submit_news_file(
 #ifdef M_UNIX
 			/* use tinrc.inews_prog or 'inewsdir/inews -h' 'inews -h' */
 			if (0 != strcasecmp(tinrc.inews_prog, INTERNAL_CMD))
-				strncpy(buf, tinrc.inews_prog, sizeof(buf) - 1);
+				STRCPY(buf, tinrc.inews_prog);
 			else {
 				if (*inewsdir)
-					joinpath(buf, inewsdir, "inews -h");
+					joinpath(buf, sizeof(buf), inewsdir, "inews -h");
 				else
 					strcpy(buf, "inews -h");
 			}
@@ -457,7 +455,7 @@ sender_needed(
 	char sender_name[HEADER_LEN];
 
 #	ifdef DEBUG
-	if (debug == 2) {
+	if (debug & DEBUG_MISC) {
 		wait_message(3, "sender_needed From:=[%s]", from);
 		wait_message(3, "sender_needed Sender:=[%s]", sender);
 	}
@@ -480,8 +478,10 @@ sender_needed(
 	free(p);
 
 	from_at_pos = strchr(from_addr, '@');
-	sender_at_pos = strchr(sender_addr, '@');
-	sender_dot_pos = strchr(sender_at_pos, '.');
+	if ((sender_at_pos = strchr(sender_addr, '@')))
+		sender_dot_pos = strchr(sender_at_pos, '.');
+	else /* this case is catched by the gnksa_do_check_from() code above; anyway ... */
+		return -2;
 
 	if (strncasecmp(from_addr, sender_addr, (from_at_pos - from_addr)))
 		return 1; /* login differs */
diff -Nurp tin-1.9.2/src/init.c tin-1.9.3/src/init.c
--- tin-1.9.2/src/init.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/init.c	2008-04-25 16:15:43.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : init.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2006-06-28
+ *  Updated   : 2008-04-25
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -241,7 +241,7 @@ struct t_config tinrc = {
 #else
 	-1,		/* mm_network_charset, defaults to $MM_CHARSET */
 #endif /* !CHARSET_CONVERSION */
-	"",		/* mm_local_charset, display charset */
+	"US-ASCII",		/* mm_local_charset, display charset */
 #ifdef HAVE_ICONV_OPEN_TRANSLIT
 	FALSE,	/* translit */
 #endif /* HAVE_ICONV_OPEN_TRANSLIT */
@@ -415,7 +415,7 @@ struct t_config tinrc = {
 };
 
 struct t_capabilities nntp_caps = {
-	0, /* type (none, LIST EXTENSIONS, CAPABILITIES) */
+	NONE, /* type (none, LIST EXTENSIONS, CAPABILITIES, BROKEN) */
 	0, /* CAPABILITIES version */
 	FALSE, /* MODE-READER: "MODE READER" */
 	FALSE, /* READER: "ARTICLE", "BODY" */
@@ -441,12 +441,12 @@ struct t_capabilities nntp_caps = {
 	FALSE, /* STARTTLS */
 	FALSE, /* AUTHINFO USER/PASS */
 	FALSE, /* AUTHINFO SASL */
-#if 0
 	FALSE, /* SASL CRAM-MD5 */
 	FALSE, /* SASL DIGEST-MD5 */
 	FALSE, /* SASL PLAIN */
 	FALSE, /* SASL GSSAPI */
 	FALSE, /* SASL EXTERNAL */
+#if 0
 	FALSE, /* STREAMING: "MODE STREAM", "CHECK", "TAKETHIS" */
 	FALSE /* IHAVE */
 #endif /* 0 */
@@ -545,9 +545,7 @@ init_selfinfo(
 
 #ifdef HAVE_SYS_UTSNAME_H
 #	ifdef HAVE_UNAME
-	if (uname(&system_info) != -1)
-		;
-	else
+	if (uname(&system_info) == -1)
 #	endif /* HAVE_UNAME */
 	{
 		strcpy(system_info.sysname, "unknown");
@@ -650,11 +648,6 @@ init_selfinfo(
 	my_strncpy(default_organization, get_val("ORGANIZATION", ""), sizeof(default_organization) - 1);
 #endif /* apollo */
 
-#ifdef USE_INN_NNTPLIB
-	if ((ptr = GetConfigValue(_CONF_ORGANIZATION)) != NULL)
-		my_strncpy(default_organization, ptr, sizeof(default_organization) - 1);
-#endif /* USE_INN_NNTPLIB */
-
 #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);
@@ -691,18 +684,18 @@ init_selfinfo(
 	 * values given in env-vars? ($MM_CHARSET, $TIN_ACTIVEFILE)
 	 */
 	if (!*news_active_file) /* TODO: really prepend libdir here in case of $TIN_ACTIVEFILE is set? */
-		joinpath(news_active_file, libdir, get_val("TIN_ACTIVEFILE", ACTIVE_FILE));
+		joinpath(news_active_file, sizeof(news_active_file), libdir, get_val("TIN_ACTIVEFILE", ACTIVE_FILE));
 	if (!*active_times_file)
-		joinpath(active_times_file, libdir, ACTIVE_TIMES_FILE);
+		joinpath(active_times_file, sizeof(active_times_file), libdir, ACTIVE_TIMES_FILE);
 	if (!*newsgroups_file)
-		joinpath(newsgroups_file, libdir, NEWSGROUPS_FILE);
+		joinpath(newsgroups_file, sizeof(newsgroups_file), libdir, NEWSGROUPS_FILE);
 	if (!*subscriptions_file)
-		joinpath(subscriptions_file, libdir, SUBSCRIPTIONS_FILE);
+		joinpath(subscriptions_file, sizeof(subscriptions_file), libdir, SUBSCRIPTIONS_FILE);
 	if (!*default_organization) {
-		char buf[LEN];
+		char buf[LEN], filename[PATH_LEN];
 
-		joinpath(buf, libdir, "organization");
-		if ((fp = fopen(buf, "r")) != NULL) {
+		joinpath(filename, sizeof(filename), libdir, "organization");
+		if ((fp = fopen(filename, "r")) != NULL) {
 			if (fgets(buf, (int) sizeof(buf), fp) != NULL) {
 				ptr = strrchr(buf, '\n');
 				if (ptr != NULL)
@@ -736,15 +729,15 @@ init_selfinfo(
 #endif /* !CHARSET_CONVERSION */
 
 #ifdef TIN_DEFAULTS_DIR
-	joinpath(global_attributes_file, TIN_DEFAULTS_DIR, ATTRIBUTES_FILE);
-	joinpath(global_config_file, TIN_DEFAULTS_DIR, CONFIG_FILE);
+	joinpath(global_attributes_file, sizeof(global_attributes_file), TIN_DEFAULTS_DIR, ATTRIBUTES_FILE);
+	joinpath(global_config_file, sizeof(global_config_file), TIN_DEFAULTS_DIR, CONFIG_FILE);
 #else
 	/* read_site_config() might have changed the value of libdir */
-	joinpath(global_attributes_file, libdir, ATTRIBUTES_FILE);
-	joinpath(global_config_file, libdir, CONFIG_FILE);
+	joinpath(global_attributes_file, sizeof(global_attributes_file), libdir, ATTRIBUTES_FILE);
+	joinpath(global_config_file, sizeof(global_config_file), libdir, CONFIG_FILE);
 #endif /* TIN_DEFAULTS_DIR */
 
-	joinpath(rcdir, homedir, RCDIR);
+	joinpath(rcdir, sizeof(rcdir), homedir, RCDIR);
 	if (stat(rcdir, &sb) == -1) {
 		created_rcdir = TRUE;
 		my_mkdir(rcdir, (mode_t) (S_IRWXU));
@@ -755,45 +748,45 @@ init_selfinfo(
 	strcpy(tinrc.printer, DEFAULT_PRINTER);
 #endif /* !DISABLE_PRINTING */
 	strcpy(tinrc.inews_prog, PATH_INEWS);
-	joinpath(article_name, homedir, TIN_ARTICLE_NAME);
+	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), ".%d", (int) process_id);
 #endif /* APPEND_PID */
-	joinpath(dead_article, homedir, "dead.article");
-	joinpath(dead_articles, homedir, "dead.articles");
-	joinpath(tinrc.maildir, homedir, DEFAULT_MAILDIR);
-	joinpath(tinrc.savedir, homedir, DEFAULT_SAVEDIR);
-	joinpath(tinrc.sigfile, homedir, ".Sig");
-	joinpath(default_signature, homedir, ".signature");
+	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(default_signature, sizeof(default_signature), homedir, ".signature");
 
 	if (!index_newsdir[0])
-		joinpath(index_newsdir, get_val("TIN_INDEX_NEWSDIR", rcdir), INDEX_NEWSDIR);
-	joinpath(index_maildir, get_val("TIN_INDEX_MAILDIR", rcdir), INDEX_MAILDIR);
+		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)
 		my_mkdir(index_maildir, (mode_t) S_IRWXU);
-	joinpath(index_savedir, get_val("TIN_INDEX_SAVEDIR", rcdir), INDEX_SAVEDIR);
+	joinpath(index_savedir, sizeof(index_savedir), get_val("TIN_INDEX_SAVEDIR", rcdir), INDEX_SAVEDIR);
 	if (stat(index_savedir, &sb) == -1)
 		my_mkdir(index_savedir, (mode_t) S_IRWXU);
-	joinpath(local_attributes_file, rcdir, ATTRIBUTES_FILE);
-	joinpath(local_config_file, rcdir, CONFIG_FILE);
-	joinpath(filter_file, rcdir, FILTER_FILE);
-	joinpath(local_input_history_file, rcdir, INPUT_HISTORY_FILE);
-	joinpath(local_newsrctable_file, rcdir, NEWSRCTABLE_FILE);
+	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);
 #ifdef HAVE_MH_MAIL_HANDLING
-	joinpath(mail_active_file, rcdir, ACTIVE_MAIL_FILE);
+	joinpath(mail_active_file, sizeof(mail_active_file), rcdir, ACTIVE_MAIL_FILE);
 #endif /* HAVE_MH_MAIL_HANDLING */
-	joinpath(mailbox, DEFAULT_MAILBOX, userid);
+	joinpath(mailbox, sizeof(mailbox), DEFAULT_MAILBOX, userid);
 #ifdef HAVE_MH_MAIL_HANDLING
-	joinpath(mailgroups_file, rcdir, MAILGROUPS_FILE);
+	joinpath(mailgroups_file, sizeof(mailgroups_file), rcdir, MAILGROUPS_FILE);
 #endif /* HAVE_MH_MAIL_HANDLING */
-	joinpath(newsrc, homedir, NEWSRC_FILE);
-	joinpath(newnewsrc, homedir, NEWNEWSRC_FILE);
+	joinpath(newsrc, sizeof(newsrc), homedir, NEWSRC_FILE);
+	joinpath(newnewsrc, sizeof(newnewsrc), homedir, NEWNEWSRC_FILE);
 #ifdef APPEND_PID
 	snprintf(newnewsrc + strlen(newnewsrc), sizeof(newnewsrc) - strlen(newnewsrc), ".%d", (int) process_id);
 #endif /* APPEND_PID */
-	joinpath(posted_info_file, rcdir, POSTED_FILE);
-	joinpath(postponed_articles_file, rcdir, POSTPONED_FILE);
-	joinpath(save_active_file, rcdir, ACTIVE_SAVE_FILE);
+	joinpath(posted_info_file, sizeof(posted_info_file), rcdir, POSTED_FILE);
+	joinpath(postponed_articles_file, sizeof(postponed_articles_file), rcdir, POSTPONED_FILE);
+	joinpath(save_active_file, sizeof(save_active_file), rcdir, ACTIVE_SAVE_FILE);
 
 	snprintf(lock_file, sizeof(lock_file), INDEX_LOCK, TMPDIR, userid);
 
@@ -809,9 +802,6 @@ init_selfinfo(
 		}
 	}
 
-	if (stat(local_attributes_file, &sb) == -1)
-		write_attributes_file(local_attributes_file);
-
 	init_postinfo();
 	snprintf(txt_help_bug_report, sizeof(txt_help_bug_report), _(txt_help_bug), bug_addr);
 
@@ -835,7 +825,7 @@ read_site_config(
 	void)
 {
 	FILE *fp = (FILE *) 0;
-	char buf[LEN];
+	char buf[LEN], filename[PATH_LEN];
 	static const char *tin_defaults[] = { TIN_DEFAULTS };
 	int i = 0;
 
@@ -843,8 +833,8 @@ read_site_config(
 	 * try to find tin.defaults in some different locations
 	 */
 	while (tin_defaults[i] != NULL) {
-		joinpath(buf, tin_defaults[i++], "tin.defaults");
-		if ((fp = fopen(buf, "r")) != NULL)
+		joinpath(filename, sizeof(filename), tin_defaults[i++], "tin.defaults");
+		if ((fp = fopen(filename, "r")) != NULL)
 			break;
 	}
 
diff -Nurp tin-1.9.2/src/joinpath.c tin-1.9.3/src/joinpath.c
--- tin-1.9.2/src/joinpath.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/joinpath.c	2008-03-14 10:21:32.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : joinpath.c
  *  Author    : Thomas Dickey <dickey@invisible-island.net>
  *  Created   : 1997-01-10
- *  Updated   : 2003-09-19
+ *  Updated   : 2007-12-30
  *  Notes     :
  *
- * Copyright (c) 1997-2007 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2008 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,11 +46,21 @@
 void
 joinpath(
 	char *result,
+	size_t result_size,
 	const char *dir,
 	const char *file)
 {
-	(void) strcpy(result, dir);
-	if (result[0] == '\0' || result[strlen(result) - 1] != '/')
+	size_t result_len = 0;
+
+	(void) strncpy(result, dir, result_size - 1);
+	result[result_size - 1] = '\0';
+	result_len = strlen(result);
+	if ((result_len < (result_size - 1)) && (result[0] == '\0' || result[strlen(result) - 1] != '/')) {
 		(void) strcat(result, "/");
-	(void) strcat(result, BlankIfNull(file));
+		result_len++;
+	}
+	if (result_len < (result_size - 1)) {
+		(void) strncat(result, BlankIfNull(file), result_size - result_len - 1);
+		result[result_size - 1] = '\0';
+	}
 }
diff -Nurp tin-1.9.2/src/keymap.c tin-1.9.3/src/keymap.c
--- tin-1.9.2/src/keymap.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/keymap.c	2008-04-23 16:57:24.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : keymap.c
  *  Author    : D. Nimmich, J. Faultless
  *  Created   : 2000-05-25
- *  Updated   : 2006-06-28
+ *  Updated   : 2008-04-23
  *  Notes     : This file contains key mapping routines and variables.
  *
- * Copyright (c) 2000-2007 Dirk Nimmich <nimmich@muenster.de>
+ * Copyright (c) 2000-2008 Dirk Nimmich <nimmich@muenster.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -169,7 +169,7 @@ add_key(
 		/* add a new entry */
 		if (keys->used >= keys->max) {
 			if (keys->list == NULL) {
-				keys->max = 1;
+				keys->max = DEFAULT_MAPKEYS_NUM;
 				keys->list = my_malloc(keys->max * sizeof(struct keynode));
 			} else {
 				keys->max++;
@@ -319,8 +319,8 @@ read_keymap_file(
 	FILE *fp = (FILE *) 0;
 	char *line, *keydef, *kname;
 	char *map, *ptr;
-	char buf[LEN], buff[NAME_LEN + 1];
-	int upgrade = RC_CHECK;
+	char buf[LEN], buff[NAME_LEN + 1], filename[PATH_LEN];
+	enum rc_state upgrade = RC_CHECK;
 	t_bool ret = TRUE;
 
 	/*
@@ -329,7 +329,7 @@ read_keymap_file(
 	 *
 	 * locale is first match from LC_ALL, LC_CTYPE, LC_MESSAGES, LANG
 	 *
-	 * TODO: fix possible buf-overflows
+	 * TODO: LC_CTYPE has higgher priority than LC_MESSAGES, does this make sense?
 	 */
 	/* get locale suffix */
 	map = my_strdup(get_val("LC_ALL", get_val("LC_CTYPE", get_val("LC_MESSAGES", get_val("LANG", "")))));
@@ -337,21 +337,21 @@ read_keymap_file(
 		if ((ptr = strchr(map, '.')))
 			*ptr = '\0';
 		snprintf(buff, sizeof(buff), "%s.%s", KEYMAP_FILE, map);
-		joinpath(buf, rcdir, buff);
-		fp = fopen(buf, "r");
+		joinpath(filename, sizeof(filename), rcdir, buff);
+		fp = fopen(filename, "r");
 	}
 	if (!fp) {
-		joinpath(buf, rcdir, KEYMAP_FILE);
-		fp = fopen(buf, "r");
+		joinpath(filename, sizeof(filename), rcdir, KEYMAP_FILE);
+		fp = fopen(filename, "r");
 	}
 #ifdef TIN_DEFAULTS_DIR
 	if (strlen(map) && !fp) {
-		joinpath(buf, TIN_DEFAULTS_DIR, buff);
-		fp = fopen(buf, "r");
+		joinpath(filename, sizeof(filename), TIN_DEFAULTS_DIR, buff);
+		fp = fopen(filename, "r");
 	}
 	if (!fp) {
-		joinpath(buf, TIN_DEFAULTS_DIR, KEYMAP_FILE);
-		fp = fopen(buf, "r");
+		joinpath(filename, sizeof(filename), TIN_DEFAULTS_DIR, KEYMAP_FILE);
+		fp = fopen(filename, "r");
 	}
 #endif /* TIN_DEFAULTS_DIR */
 
@@ -360,7 +360,7 @@ read_keymap_file(
 	if (!fp)
 		return TRUE; /* no keymap file is not an error */
 
-	map = my_strdup(buf); /* remember keymap-name */
+	map = my_strdup(filename); /* remember keymap-name */
 
 	/* check if keymap file is uptodate */
 	while ((line = fgets(buf, sizeof(buf), fp)) != NULL) {
@@ -398,7 +398,7 @@ read_keymap_file(
 
 		/*
 		 * TODO: useful? shared keymaps (NFS-Home) may differ
-		 * depending on the OS (i.e. on tin has color the other has not)
+		 * depending on the OS (i.e. one tin has color the other has not)
 		 */
 		if (!process_mapping(kname, keydef)) {
 			wait_message(0, _(txt_keymap_invalid_name), kname);
diff -Nurp tin-1.9.2/src/lang.c tin-1.9.3/src/lang.c
--- tin-1.9.2/src/lang.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/lang.c	2008-04-23 11:56:23.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : lang.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2006-10-16
+ *  Updated   : 2008-04-23
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,6 +62,7 @@ constext txt_art_rejected[] = N_("Articl
 constext txt_art_thread_regex_tag[] = N_("%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: ");
 constext txt_art_unavailable[] = N_("Article unavailable");
 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_plural[] = N_("articles");
 constext txt_article_reposted[] = N_("This is a repost of the following article:");
@@ -605,7 +606,6 @@ constext txt_quoted_printable[] = "quote
 constext txt_range_invalid[] = N_("Invalid range - valid are '0-9.$' eg. 1-$");
 constext txt_read_abort[] = N_("Do you want to abort this operation?");
 constext txt_read_exit[] = N_("Do you want to exit tin immediately?");
-constext txt_read_resp[] = N_("Read response> ");
 constext txt_reading_article[] = N_("Reading ('q' to quit)...");
 constext txt_reading_arts[] = N_("Reading %sarticles...");
 constext txt_reading_attributes_file[] = N_("Reading %sattributes file...\n");
@@ -631,7 +631,7 @@ constext txt_repost_group[] = N_("Repost
 constext txt_reset_newsrc[] = N_("Reset newsrc?");
 constext txt_resp_redirect[] = N_("Responses have been directed to the following newsgroups");
 constext txt_resp_to_poster[] = N_("Responses have been directed to poster. %s=mail, %s=post, %s=quit: ");
-constext txt_resp_x_of_n[] = N_("RespNo %4d of %4d");
+
 constext txt_return_key[] = N_("Press <RETURN> to continue...");
 
 constext txt_select_from[] = N_("Select From    [%s] (y/n): ");
@@ -840,7 +840,7 @@ Warning: Posting is in %s and contains c
 #endif /* CHARSET_CONVERSION */
 
 #ifdef DEBUG
-	constext txt_usage_debug[] = N_("  -D       debug mode 1=NNTP 2=ALL");
+	constext txt_usage_debug[] = N_("  -D mode  debug mode");
 #endif /* DEBUG */
 
 #ifdef FORGERY
@@ -934,14 +934,14 @@ Warning: Posting is in %s and contains c
 #endif /* HAVE_PGP_GPG */
 
 #ifdef M_UNIX
-	constext txt_copyright_notice[] = "%s (c) Copyright 1991-2007 Iain Lea.";
+	constext txt_copyright_notice[] = "%s (c) Copyright 1991-2008 Iain Lea.";
 #endif /* M_UNIX */
 
 #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");
 	constext txt_cannot_get_nntp_server_name[] = N_("Cannot find NNTP server name");
-	constext txt_connecting_port[] = N_("Connecting to %s:%d...");
+	constext txt_connecting_port[] = N_("Connecting to %s:%u...");
 	constext txt_disconnecting[] = N_("Disconnecting from server...\n");
 	constext txt_error_wrong_newsgroupname_in_group_response[] = N_("Wrong newsgroup name in response of GROUP command, %s for %s");
 	constext txt_failed_to_connect_to_server[] = N_("Failed to connect to NNTP server %s. Exiting...");
@@ -2222,6 +2222,13 @@ struct opttxt txt_mm_network_charset = {
 	N_("MM_NETWORK_CHARSET"),
 	N_("# Charset used for MIME (Content-Type) header in postings.\n")
 };
+#	ifdef NO_LOCALE
+struct opttxt txt_mm_local_charset = {
+	N_("Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."),
+	N_("MM_LOCAL_CHARSET"),
+	N_("# Charset supported locally.\n")
+};
+#	endif /* NO_LOCALE */
 #endif /* !CHARSET_CONVERSION */
 
 struct opttxt txt_mailbox_format = {
diff -Nurp tin-1.9.2/src/list.c tin-1.9.3/src/list.c
--- tin-1.9.2/src/list.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/list.c	2008-04-15 22:41:37.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : list.c
  *  Author    : I. Lea
  *  Created   : 1993-12-18
- *  Updated   : 2005-07-20
+ *  Updated   : 2008-04-15
  *  Notes     : Low level functions handling the active[] list and its group_hash index
  *
- * Copyright (c) 1993-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1993-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -121,16 +121,24 @@ hash_groupname(
  */
 int
 find_group_index(
-	const char *group)
+	const char *group,
+	t_bool ignore_case)
 {
+	char *group_lcase;
 	int i;
 	unsigned long h;
 
-	h = hash_groupname(group);
+	group_lcase = my_strdup(group);
+	str_lwr(group_lcase);
+
+	h = hash_groupname(group_lcase);
 	i = group_hash[h];
 
+	free(group_lcase);
+
 	/*
 	 * hash linked list chaining
+	 * first try to find group in original spelling only
 	 */
 	while (i >= 0) {
 		if (STRCMPEQ(group, active[i].name))
@@ -139,6 +147,19 @@ find_group_index(
 		i = active[i].next;
 	}
 
+	/*
+	 * group not found in original spelling, try to find not case sensitive
+	 * if desired
+	 */
+	if (ignore_case) {
+		i = group_hash[h];
+		while (i >= 0) {
+			if (0 == strcasecmp(group, active[i].name))
+				return i;
+			i = active[i].next;
+		}
+	}
+
 	return -1;
 }
 
@@ -148,11 +169,12 @@ find_group_index(
  */
 struct t_group *
 group_find(
-	const char *group_name)
+	const char *group_name,
+	t_bool ignore_case)
 {
 	int i;
 
-	if ((i = find_group_index(group_name)) != -1)
+	if ((i = find_group_index(group_name, ignore_case)) != -1)
 		return &active[i];
 
 	return (struct t_group *) 0;
@@ -168,7 +190,13 @@ group_add_to_hash(
 	const char *groupname,
 	int idx)
 {
-	unsigned long h = hash_groupname(groupname);
+	char *groupname_lcase;
+	unsigned long h;
+
+	groupname_lcase = my_strdup(groupname);
+	str_lwr(groupname_lcase);
+	h = hash_groupname(groupname_lcase);
+	free(groupname_lcase);
 
 	if (group_hash[h] == -1)
 		group_hash[h] = idx;
diff -Nurp tin-1.9.2/src/lock.c tin-1.9.3/src/lock.c
--- tin-1.9.2/src/lock.c	2006-12-22 02:41:54.000000000 +0100
+++ tin-1.9.3/src/lock.c	2008-03-14 10:21:32.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2006-05-11
  *  Notes     :
  *
- * Copyright (c) 1998-2007 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1998-2008 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -234,9 +234,7 @@ t_bool dot_lock(
 	if (stat(lockfile, &statbuf)) {				/* lockfile doesn't exist */
 		if (!link(tempfile, lockfile)) {			/* link succsessfull */
 			if (!stat(tempfile, &statbuf)) {	/* tempfile exist */
-/* #	ifndef __CYGWIN__ */ /* TODO: test if needed/usefull */
 				if (statbuf.st_nlink == 2)			/* link count ok */
-/* #	endif *//* !__CYGWIN__ */
 					rval = TRUE;
 			}
 		}
diff -Nurp tin-1.9.2/src/mail.c tin-1.9.3/src/mail.c
--- tin-1.9.2/src/mail.c	2006-12-26 19:53:50.000000000 +0100
+++ tin-1.9.3/src/mail.c	2008-03-19 19:37:03.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : mail.c
  *  Author    : I. Lea
  *  Created   : 1992-10-02
- *  Updated   : 2006-02-15
+ *  Updated   : 2008-03-18
  *  Notes     : Mail handling routines for creating pseudo newsgroups
  *
- * Copyright (c) 1992-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1992-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,11 @@
 #ifndef TCURSES_H
 #	include "tcurses.h"
 #endif /* !TCURSES_H */
-
+#ifdef NNTP_ABLE
+#	ifndef TNNTP_H
+#		include "tnntp.h"
+#	endif /* !TNNTP_H */
+#endif  /* NNTP_ABLE */
 /*
  * local prototypes
  */
@@ -118,7 +122,7 @@ read_mail_active_file(
 		/*
 		 * Update mailgroup info
 		 */
-		if ((ptr = group_find(buf)) != NULL) {
+		if ((ptr = group_find(buf, FALSE)) != NULL) {
 			if (strcmp(ptr->spooldir, my_spooldir) != 0) {
 				free(ptr->spooldir);
 				strfpath(my_spooldir, buf2, sizeof(buf2) - 1, ptr);
@@ -196,7 +200,7 @@ write_mail_active_file(
 		for_each_group(i) {
 			group = &active[i];
 			if (group->type == GROUP_TYPE_MAIL) {
-				make_base_group_path(group->spooldir, group->name, group_path);
+				make_base_group_path(group->spooldir, group->name, group_path, sizeof(group_path));
 				find_art_max_min(group_path, &group->xmax, &group->xmin);
 				print_group_line(fp, group->name, group->xmax, group->xmin, group->spooldir);
 			}
@@ -239,9 +243,14 @@ read_mailgroups_file(
 
 
 /*
- * If reading via NNTP the newsgroups file will be saved to ~/.tin/newsgroups
- * so that any subsequent rereads on the active file will not have to waste
- * net bandwidth and the local copy of the newsgroups file can be accessed.
+ * If reading via NNTP the newsgroups file will be saved to
+ * ~/.tin/$NNTPSERVER/newsgroups so that any subsequent rereads on the
+ * active file will not have to waste net bandwidth and the local copy
+ * of the newsgroups file can be accessed.
+ *
+ * in the newsrc_active case (-n cmd-line switch) we use "LIST NEWSGROUPS grp"
+ * instead of "LIST NEWSGROUPS" if we have just a few groups in the newsrc,
+ * due to pipelining the code is a bit complex.
  */
 static FILE *
 open_newsgroups_fp(
@@ -249,6 +258,7 @@ open_newsgroups_fp(
 {
 #ifdef NNTP_ABLE
 	FILE *result;
+	static int no_more_wildmat = 0;
 
 	if (read_news_via_nntp && !read_saved_news) {
 		if (read_local_newsgroups_file) {
@@ -258,7 +268,8 @@ open_newsgroups_fp(
 				if (buf.st_size > 0) {
 					if ((result = fopen(local_newsgroups_file, "r")) != NULL) {
 #	ifdef DEBUG
-						debug_nntp("open_newsgroups_fp", "Using local copy of newsgroups file");
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "open_newsgroups_fp Using local copy of newsgroups file");
 #	endif /* DEBUG */
 						return result;
 					}
@@ -266,15 +277,85 @@ open_newsgroups_fp(
 					unlink(local_newsgroups_file);
 			}
 		}
-#	if 0 /* TODO: */
-		if (list_newsgroups_wildmat_supported && newsrc_active
-		    && !list_active && num_active < some_useful_limit) {
-			for_each_group(i) {
-				snprintf(buff, sizeof(buff), "LIST NEWSGROUPS %s", active[i].name);
-				nntp_command(buff, OK_LIST, NULL, 0);
+		/*
+		 * TODO: test me, find a usefull limit,
+		 *       optimize more than n groups (e.g. 5) of the same
+		 *       subhierarchie to a wildmat?
+		 */
+		if (((nntp_caps.type == CAPABILITIES && nntp_caps.list_newsgroups) || nntp_caps.type != CAPABILITIES) && newsrc_active && !list_active && !no_more_wildmat && num_active < PIPELINE_LIMIT) {
+			char *ptr;
+			char buff[NNTP_STRLEN];
+			char line[NNTP_STRLEN];
+			char file[PATH_LEN];
+			char serverdir[PATH_LEN];
+			int resp, i;
+
+			if (nntp_tcp_port != IPPORT_NNTP)
+				snprintf(file, sizeof(file), "%s:%d", nntp_server, nntp_tcp_port);
+			else
+				STRCPY(file, quote_space_to_dash(nntp_server));
+
+			joinpath(serverdir, sizeof(serverdir), rcdir, file);
+			joinpath(file, sizeof(file), serverdir, NEWSGROUPS_FILE".tmp");
+
+			if ((result = fopen(file, "w")) != NULL) {
+				for_each_group(i) {
+					snprintf(buff, sizeof(buff), "LIST NEWSGROUPS %s", active[i].name);
+#		ifdef DISABLE_PIPELINING
+					if ((resp = new_nntp_command(buff, OK_GROUPS, line, sizeof(line))) != OK_GROUPS) {
+						no_more_wildmat = resp;
+						break;
+					}
+					while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) {
+#			ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "<<< %s", ptr);
+#			endif /* DEBUG */
+						fprintf(result, "%s\n", str_trim(ptr));
+					}
+#		else
+					put_server(buff);
+#		endif /* DISABLE_PIPELINING */
+				}
+#		ifndef DISABLE_PIPELINING
+				for_each_group(i) {
+					/*
+					 * don't use get_respcode() as it will try to auth if we
+					 * see a 480 but that could fail as there might be
+					 * pending data
+					 */
+					if ((resp = get_only_respcode(line, sizeof(line))) != OK_GROUPS) {
+						if (!no_more_wildmat)
+							no_more_wildmat = resp;
+						continue;
+					}
+					while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) {
+#			ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "<<< %s", ptr);
+#			endif /* DEBUG */
+						fprintf(result, "%s\n", str_trim(ptr));
+					}
+				}
+				if (no_more_wildmat == ERR_NOAUTH || no_more_wildmat == NEED_AUTHINFO) {
+					if (!authenticate(nntp_server, userid, FALSE)) {
+						error_message(_(txt_auth_failed), ERR_ACCESS);
+						tin_done(EXIT_FAILURE);
+					}
+				}
+#		endif /* !DISABLE_PIPELINING */
+				fclose(result);
+				result = fopen(file, "r");
+				unlink(file); /* unlink on close */
 			}
-		} else
-#	endif /* 0 */
+
+			if (result != NULL) {
+				if (!no_more_wildmat)
+					 return result;
+				else /* AUTH request while pipeling or some error */
+					fclose(result);
+			}
+		}
 		return (nntp_command("LIST NEWSGROUPS", OK_GROUPS, NULL, 0));
 	} else
 #endif /* NNTP_ABLE */
@@ -363,7 +444,7 @@ read_groups_descriptions(
 		 * with the "-q" option.
 		 */
 		if ((fp_save != NULL) && read_news_via_nntp)
-			fprintf(fp_save, "%s\n", ptr);
+			fprintf(fp_save, "%s\n", str_trim(ptr));
 
 		if (!space) { /* initial malloc */
 			space = strlen(ptr) + 1;
@@ -383,11 +464,11 @@ read_groups_descriptions(
 		while (*p == '\t' || *p == ' ')
 			p++;
 
-		group = group_find(groupname);
+		group = group_find(groupname, FALSE);
 
 		if (group != NULL && group->description == NULL) {
 			char *r;
-			int r_len;
+			size_t r_len;
 
 			q = p;
 			while ((q = strchr(q, '\t')) != NULL)
@@ -501,12 +582,12 @@ grp_del_mail_arts(
 		 * at least for GROUP_TYPE_SAVE a wait is annoying - nuke the message?
 		 */
 		wait_message(0, (group->type == GROUP_TYPE_MAIL) ? _(txt_processing_mail_arts) : _(txt_processing_saved_arts));
-		make_base_group_path(group->spooldir, group->name, group_path);
+		make_base_group_path(group->spooldir, group->name, group_path, sizeof(group_path));
 		for_each_art(i) {
 			article = &arts[i];
 			if (article->delete_it) {
 				snprintf(artnum, sizeof(artnum), "%ld", article->artnum);
-				joinpath(article_filename, group_path, artnum);
+				joinpath(article_filename, sizeof(article_filename), group_path, artnum);
 				unlink(article_filename);
 				article->thread = ART_EXPIRED;
 #if 0 /* see comment below */
@@ -547,9 +628,9 @@ art_edit(
 	if (group->type == GROUP_TYPE_NEWS)
 		return FALSE;
 
-	make_base_group_path(group->spooldir, group->name, temp_filename);
+	make_base_group_path(group->spooldir, group->name, temp_filename, sizeof(temp_filename));
 	snprintf(buf, sizeof(buf), "%ld", article->artnum);
-	joinpath(article_filename, temp_filename, buf);
+	joinpath(article_filename, sizeof(article_filename), temp_filename, buf);
 	snprintf(temp_filename, sizeof(temp_filename), "%s%d.art", TMPDIR, (int) process_id);
 
 	if (!backup_file(article_filename, temp_filename))
diff -Nurp tin-1.9.2/src/main.c tin-1.9.3/src/main.c
--- tin-1.9.2/src/main.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/main.c	2008-04-21 12:25:17.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : main.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2006-10-16
+ *  Updated   : 2008-03-14
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -97,6 +97,25 @@ main(
 	}
 #endif /* HAVE_SETLOCALE && !NO_LOCALE */
 
+	/*
+	 * determine local charset
+	 */
+#ifndef NO_LOCALE
+	{
+		const char *p;
+
+		if ((p = tin_nl_langinfo(CODESET)) != NULL) {
+			if (!strcasecmp(p, "ANSI_X3.4-1968"))
+				STRCPY(tinrc.mm_local_charset, "US-ASCII");
+			else
+				STRCPY(tinrc.mm_local_charset, p);
+		}
+	}
+#endif /* !NO_LOCALE */
+	/* always set a default value */
+	if (!*tinrc.mm_local_charset)
+		STRCPY(tinrc.mm_local_charset, "US-ASCII");
+
 	set_signal_handlers();
 
 	debug = 0;	/* debug OFF */
@@ -185,6 +204,10 @@ main(
 	/*
 	 * 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?
 	 */
 	if (update_index && nntp_caps.over_cmd && !tinrc.cache_overview_files) {
 		error_message(_(txt_batch_update_unavail), tin_progname);
@@ -194,20 +217,19 @@ main(
 	/*
 	 * Check if overview indexes contain Xref: lines
 	 */
-	if (nntp_caps.over_cmd)
+#ifdef NNTP_ABLE
+	if ((read_news_via_nntp && nntp_caps.over_cmd) || !read_news_via_nntp)
+#endif /* NNTP_ABLE */
 		xref_supported = overview_xref_support();
 
-#ifdef DEBUG_NEWSRC
-	{
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC) {
 		char file[PATH_LEN];
 
-		joinpath(file, TMPDIR, "BITMAP");
+		joinpath(file, sizeof(file), TMPDIR, "BITMAP");
 		unlink(file);
-#	if 0
-		newsrc_test_harness();
-#	endif /* 0 */
 	}
-#endif /* DEBUG_NEWSRC */
+#endif /* DEBUG */
 
 	/*
 	 * avoid empty regexp, we also need to do this in batch_mode
@@ -446,7 +468,7 @@ read_cmd_line_options(
 				show_description = FALSE;
 				break;
 
-			case 'D':		/* debug mode 1=NNTP, 2=ALL, 3=newsrc, 4=malloc */
+			case 'D':		/* debug mode */
 #ifdef DEBUG
 				debug = atoi(optarg);
 				debug_delete_files();
@@ -641,18 +663,18 @@ read_cmd_line_options(
 	max_cmdargs = argc;
 	if (!newsrc_set) {
 		if (read_news_via_nntp)
-			get_newsrcname(newsrc, getserverbyfile(NNTP_SERVER_FILE));
+			get_newsrcname(newsrc, sizeof(newsrc), getserverbyfile(NNTP_SERVER_FILE));
 		else {
 #if defined(HAVE_SYS_UTSNAME_H) && defined(HAVE_UNAME)
 			struct utsname uts;
 			(void) uname(&uts);
-			get_newsrcname(newsrc, uts.nodename);
+			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 */
-			get_newsrcname(newsrc, nodenamebuf);
+			get_newsrcname(newsrc, sizeof(newsrc), nodenamebuf);
 #endif /* HAVE_SYS_UTSNAME_H && HAVE_UNAME */
 		}
 	}
@@ -700,7 +722,7 @@ read_cmd_line_options(
 	else
 		batch_mode = FALSE;
 	if (batch_mode && (post_article_and_exit || post_postponed_and_exit))
-		 batch_mode = FALSE;
+		batch_mode = FALSE;
 
 #ifdef NNTP_ABLE
 	/*
@@ -851,7 +873,7 @@ read_cmd_line_groups(
 
 			for_each_group(i) {
 				if (match_group_list(active[i].name, cmdargs[num])) {
-					if (my_group_add(active[i].name) != -1)
+					if (my_group_add(active[i].name, TRUE) != -1)
 						matched++;
 				}
 			}
@@ -874,7 +896,7 @@ create_mail_save_dirs(
 	struct stat sb;
 
 	if (!strfpath(tinrc.maildir, path, sizeof(path), NULL))
-		joinpath(path, homedir, DEFAULT_MAILDIR);
+		joinpath(path, sizeof(path), homedir, DEFAULT_MAILDIR);
 
 	if (stat(path, &sb) == -1) {
 		my_mkdir(path, (mode_t) (S_IRWXU));
@@ -882,7 +904,7 @@ create_mail_save_dirs(
 	}
 
 	if (!strfpath(tinrc.savedir, path, sizeof(path), NULL))
-		joinpath(path, homedir, DEFAULT_SAVEDIR);
+		joinpath(path, sizeof(path), homedir, DEFAULT_SAVEDIR);
 
 	if (stat(path, &sb) == -1) {
 		my_mkdir(path, (mode_t) (S_IRWXU));
diff -Nurp tin-1.9.2/src/makecfg.c tin-1.9.3/src/makecfg.c
--- tin-1.9.2/src/makecfg.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/makecfg.c	2008-03-14 10:21:32.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2005-06-21
  *  Notes     : #defines and structs for options_menu.c
  *
- * Copyright (c) 1997-2007 Thomas E. Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2008 Thomas E. Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/src/memory.c tin-1.9.3/src/memory.c
--- tin-1.9.2/src/memory.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/memory.c	2008-04-23 00:06:00.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : memory.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2006-03-11
+ *  Updated   : 2008-04-19
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 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,6 +46,8 @@
  */
 int max_active;
 int num_active = -1;
+int max_local_attributes;
+int num_local_attributes = -1;
 int max_newnews;
 int num_newnews = 0;
 int max_art;
@@ -58,6 +60,7 @@ int num_save = 0;
 int *my_group;				/* .newsrc --> active[] */
 long *base;				/* base articles for each thread */
 struct t_group *active;			/* active newsgroups */
+struct t_attribute *local_attributes = NULL;	/* attributes stores in .tin/attributes */
 struct t_newnews *newnews;		/* active file sizes on differnet servers */
 struct t_article *arts;			/* articles headers in current group */
 struct t_save *save;			/* sorts articles before saving them */
@@ -66,6 +69,7 @@ struct t_save *save;			/* sorts articles
  * Local prototypes
  */
 static void free_active_arrays(void);
+static void free_attributes(struct t_attribute *attributes);
 static void free_newnews_array(void);
 static void free_input_history(void);
 static void free_global_arrays(void);
@@ -101,6 +105,12 @@ init_alloc(
 	base = my_malloc(sizeof(long) * max_art);
 
 	/*
+	 * attributes array
+	 */
+	max_local_attributes = DEFAULT_LOCAL_ATTRIBUTES_NUM;
+	expand_local_attributes();
+
+	/*
 	 * save file array
 	 */
 	max_save = DEFAULT_SAVE_NUM;
@@ -139,6 +149,21 @@ expand_active(
 
 
 void
+expand_local_attributes(
+	void)
+{
+	if ((local_attributes == NULL) || (num_local_attributes < 0)) {
+		if (local_attributes == NULL)
+			local_attributes = my_malloc(sizeof(*local_attributes) * max_local_attributes);
+		num_local_attributes = 0;
+	} else {
+		max_local_attributes += max_local_attributes >> 1;	/* increase by 50 % */
+		local_attributes = my_realloc(local_attributes, sizeof(*local_attributes) * max_local_attributes);
+	}
+}
+
+
+void
 expand_save(
 	void)
 {
@@ -188,6 +213,8 @@ void
 free_all_arrays(
 	void)
 {
+	int i;
+
 	hash_reclaim();
 
 #ifndef USE_CURSES
@@ -258,6 +285,12 @@ free_all_arrays(
 
 	FreeAndNull(nntp_caps.implementation);
 
+	if (ofmt) { /* ofmt might not be allocated yet on early abort */
+		for (i = 0; ofmt[i].name; i++)
+			free(ofmt[i].name);
+		free(ofmt);
+	}
+
 	tin_fgets(NULL, FALSE);
 }
 
@@ -307,89 +340,82 @@ free_if_not_default(
 
 
 /*
- * TODO: fix the leaks in the global case
+ * Free memory of one attributes struct only
  */
-void
-free_attributes_array(
-	void)
+static void
+free_attributes(
+	struct t_attribute *attributes)
 {
-	int i;
-	struct t_group *group;
+	FreeAndNull(attributes->scope);
 
-	for_each_group(i) {
-		group = &active[i];
-		if (!group->bogus && group->attribute && !group->attribute->global) {
-			free_if_not_default(&group->attribute->maildir, tinrc.maildir);
-			free_if_not_default(&group->attribute->savedir, tinrc.savedir);
+	free_if_not_default(&attributes->maildir, tinrc.maildir);
+	free_if_not_default(&attributes->savedir, tinrc.savedir);
 
-			FreeAndNull(group->attribute->savefile);
+	FreeAndNull(attributes->savefile);
 
-			free_if_not_default(&group->attribute->sigfile, tinrc.sigfile);
-			free_if_not_default(&group->attribute->organization, default_organization);
+	free_if_not_default(&attributes->sigfile, tinrc.sigfile);
+	free_if_not_default(&attributes->organization, default_organization);
 
-			FreeAndNull(group->attribute->followup_to);
+	FreeAndNull(attributes->followup_to);
 
-			FreeAndNull(group->attribute->fcc);
+	FreeAndNull(attributes->fcc);
 
-			FreeAndNull(group->attribute->mailing_list);
-			FreeAndNull(group->attribute->x_headers);
-			FreeAndNull(group->attribute->x_body);
+	FreeAndNull(attributes->mailing_list);
+	FreeAndNull(attributes->x_headers);
+	FreeAndNull(attributes->x_body);
 
-			free_if_not_default(&group->attribute->from, tinrc.mail_address);
-			free_if_not_default(&group->attribute->news_quote_format, tinrc.news_quote_format);
-			free_if_not_default(&group->attribute->quote_chars, tinrc.quote_chars);
+	free_if_not_default(&attributes->from, tinrc.mail_address);
+	free_if_not_default(&attributes->news_quote_format, tinrc.news_quote_format);
+	free_if_not_default(&attributes->quote_chars, tinrc.quote_chars);
 
-			FreeAndNull(group->attribute->mime_types_to_save);
+	FreeAndNull(attributes->mime_types_to_save);
 
 #ifdef HAVE_ISPELL
-			FreeAndNull(group->attribute->ispell);
+	FreeAndNull(attributes->ispell);
 #endif /* HAVE_ISPELL */
 
-			FreeAndNull(group->attribute->quick_kill_scope);
-			FreeAndNull(group->attribute->quick_select_scope);
+	FreeAndNull(attributes->quick_kill_scope);
+	FreeAndNull(attributes->quick_select_scope);
+
+#ifdef CHARSET_CONVERSATION
+	FreeAndNull(attributes->undeclared_charset);
+#endif /* CHARSET_CONVERSATION */
+}
+
 
-#ifdef CHARSET_CONVERSION
-			FreeAndNull(group->attribute->undeclared_charset);
-#endif /* CHARSET_CONVERSION */
+/*
+ * TODO: fix the leaks in the global case
+ *       Are there any leaks left? If there are, they would also be there for
+ *       every group, wouldn't they? 2006-11-12, -dn
+ */
+void
+free_attributes_array(
+	void)
+{
+	int i;
+	struct t_group *group;
 
+	for_each_group(i) {
+		group = &active[i];
+		/*
+		 * Check for bogus group removed to prevent memory leaks because
+		 * attrib.c:do_set_attrib() also doesn't check but allocates memory
+		 * unconditionally. Groups may become bogus on a resync of the active
+		 * file (after attributes are "applied"), too. 2006-11-12, -dn
+		 */
+		if (/* !group->bogus && */ group->attribute && !group->attribute->global) {
+			free_attributes(group->attribute);
 			free(group->attribute);
 		}
 		group->attribute = (struct t_attribute *) 0;
 	}
 
-	/* free the global attributes array */
-	free_if_not_default(&glob_attributes.maildir, tinrc.maildir);
-	free_if_not_default(&glob_attributes.savedir, tinrc.savedir);
-
-	FreeAndNull(glob_attributes.savefile);
-
-	free_if_not_default(&glob_attributes.sigfile, tinrc.sigfile);
-	free_if_not_default(&glob_attributes.organization, default_organization);
-
-	FreeAndNull(glob_attributes.followup_to);
+	/* free the local attributes array */
+	while (num_local_attributes > 0)
+		free_attributes(&local_attributes[--num_local_attributes]);
 
-	FreeAndNull(glob_attributes.fcc);
-
-	FreeAndNull(glob_attributes.mailing_list);
-	FreeAndNull(glob_attributes.x_headers);
-	FreeAndNull(glob_attributes.x_body);
-
-	free_if_not_default(&glob_attributes.from, tinrc.mail_address);
-	free_if_not_default(&glob_attributes.news_quote_format, tinrc.news_quote_format);
-	free_if_not_default(&glob_attributes.quote_chars, tinrc.quote_chars);
-
-	FreeAndNull(glob_attributes.mime_types_to_save);
-
-#ifdef HAVE_ISPELL
-	FreeAndNull(glob_attributes.ispell);
-#endif /* HAVE_ISPELL */
-
-	FreeAndNull(glob_attributes.quick_kill_scope);
-	FreeAndNull(glob_attributes.quick_select_scope);
-
-#ifdef CHARSET_CONVERSATION
-	FreeAndNull(glob_attributes.undeclared_charset);
-#endif /* CHARSET_CONVERSATION */
+	/* free the global attributes array */
+	free_attributes(&glob_attributes);
 }
 
 
@@ -428,6 +454,8 @@ free_active_arrays(
 		free_attributes_array();
 		FreeAndNull(active);
 	}
+	FreeAndNull(local_attributes);
+	num_local_attributes = -1;
 	num_active = -1;
 }
 
@@ -530,7 +558,14 @@ my_realloc1(
 	debug_print_malloc(FALSE, file, line, size);
 #endif /* DEBUG */
 
-	p = ((!p) ? (calloc(1, size)) : realloc(p, size));
+	if (!size) {
+		if (p)
+			free(p);
+
+		return NULL;
+	}
+
+	p = ((!p) ? (malloc(size)) : realloc(p, size));
 
 	if (p == NULL) {
 		error_message(txt_out_of_memory, tin_progname, size, file, line);
diff -Nurp tin-1.9.2/src/mimetypes.c tin-1.9.3/src/mimetypes.c
--- tin-1.9.2/src/mimetypes.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/mimetypes.c	2008-03-14 10:21:32.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : mimetypes.c
  *  Author    : J. Faultless
  *  Created   : 2000-03-31
- *  Updated   : 2006-02-15
+ *  Updated   : 2007-12-30
  *  Notes     : mime.types handling
  *
- * Copyright (c) 2000-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 2000-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,17 +70,17 @@ _lookup_mimetype(
 		if (buf[0] == '#' || buf[0] == '\n')		/* Skip comments & blank lines */
 			continue;
 
-		strtok(buf, " \t\n");
-
-		while ((exts = strtok(NULL, " \t\n")) != NULL) {	/* Work through list of extensions */
-			if (strcasecmp(ext, exts) == 0) {
-				if ((i = content_type(strtok(buf, "/"))) != -1) {
-					if ((ptr = strtok(NULL, "\n")) != NULL) {
-						part->type = i;
-						FreeIfNeeded(part->subtype);
-						part->subtype = my_strdup(ptr);
-						fclose(fp);
-						return TRUE;
+		if (strtok(buf, " \t\n")) {
+			while ((exts = strtok(NULL, " \t\n")) != NULL) {	/* Work through list of extensions */
+				if (strcasecmp(ext, exts) == 0) {
+					if ((i = content_type(strtok(buf, "/"))) != -1) {
+						if ((ptr = strtok(NULL, "\n")) != NULL) {
+							part->type = i;
+							FreeIfNeeded(part->subtype);
+							part->subtype = my_strdup(ptr);
+							fclose(fp);
+							return TRUE;
+						}
 					}
 				}
 			}
@@ -105,7 +105,7 @@ lookup_mimetype(
 {
 	char buf[PATH_LEN];
 
-	joinpath(buf, homedir, ".mime.types");
+	joinpath(buf, sizeof(buf), homedir, ".mime.types");
 	if (_lookup_mimetype(buf, ext, part))
 		return;
 
@@ -115,7 +115,7 @@ lookup_mimetype(
 #endif /* M_UNIX */
 
 #ifdef TIN_DEFAULTS_DIR
-	joinpath(buf, TIN_DEFAULTS_DIR, "mime.types");
+	joinpath(buf, sizeof(buf), TIN_DEFAULTS_DIR, "mime.types");
 	_lookup_mimetype(buf, ext, part);
 #endif /* TIN_DEFAULTS_DIR */
 
@@ -143,12 +143,14 @@ _lookup_extension(
 	while ((fgets(buf, sizeof(buf), fp)) != NULL) {
 		if (buf[0] == '#' || buf[0] == '\n' || strncmp(buf, type, strlen(type)))
 			continue;
-		if (strlen((p = strtok(buf, " \t\n"))) != strlen(type))
-			continue;
-		if ((p = strtok(NULL, " \t\n")) != NULL) {
-			my_strncpy(extension, p, ext_len - 1);
-			fclose(fp);
-			return TRUE;
+		if ((p = strtok(buf, " \t\n"))) {
+			if (strlen(p) != strlen(type))
+				continue;
+			if ((p = strtok(NULL, " \t\n")) != NULL) {
+				my_strncpy(extension, p, ext_len - 1);
+				fclose(fp);
+				return TRUE;
+			}
 		}
 	}
 	fclose(fp);
@@ -184,7 +186,7 @@ lookup_extension(
 	strcat(type, "/");
 	strcat(type, minor);
 
-	joinpath(buf, homedir, ".mime.types");
+	joinpath(buf, sizeof(buf), homedir, ".mime.types");
 	if (_lookup_extension(extension, ext_len, buf, type)) {
 		free(type);
 		return TRUE;
@@ -198,7 +200,7 @@ lookup_extension(
 #endif /* M_UNIX */
 
 #ifdef TIN_DEFAULTS_DIR
-	joinpath(buf, TIN_DEFAULTS_DIR, "mime.types");
+	joinpath(buf, sizeof(buf), TIN_DEFAULTS_DIR, "mime.types");
 	if (_lookup_extension(extension, ext_len, buf, type)) {
 		free(type);
 		return TRUE;
diff -Nurp tin-1.9.2/src/misc.c tin-1.9.3/src/misc.c
--- tin-1.9.2/src/misc.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/misc.c	2008-04-24 10:43:46.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : misc.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2006-04-06
+ *  Updated   : 2008-02-25
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -80,7 +80,7 @@ static int gnksa_dequote_plainphrase(cha
 static int strfeditor(char *editor, int linenum, const char *filename, char *s, size_t maxsize, char *format);
 static void write_input_history_file(void);
 #ifdef CHARSET_CONVERSION
-	static t_bool buffer_to_local(char **line, int *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 *network_charset, const char *local_charset);
 #endif /* CHARSET_CONVERSION */
 #if 0 /* currently unused */
 	static t_bool stat_article(long art, const char *group_path);
@@ -318,7 +318,7 @@ copy_body(
 					}
 					buf2[i] = '\0';
 					if (status_char)	/* already quoted */
-						retcode = fprintf(fp_op, "%s>%s", buf2, strchr(buf, '>'));
+						retcode = fprintf(fp_op, "%s>%s", buf2, BlankIfNull(strchr(buf, '>')));
 					else	/* ... to be quoted ... */
 						retcode = fprintf(fp_op, "%s%s", prefixbuf, buf);
 				} else	/* line was not already quoted (no >) */
@@ -570,7 +570,8 @@ tin_done(
 	if (!no_write) {
 		i = 3; /* max retries */
 		while (i--) {
-			if (((wrote_newsrc_lines = write_newsrc()) >= 0L) && (wrote_newsrc_lines >= read_newsrc_lines)) {
+			wrote_newsrc_lines = write_newsrc();
+			if ((wrote_newsrc_lines >= 0L) && (wrote_newsrc_lines >= read_newsrc_lines)) {
 				if (!batch_mode || verbose)
 					my_fputs(_(txt_newsrc_saved), stdout);
 				break;
@@ -594,9 +595,7 @@ tin_done(
 		}
 
 		write_input_history_file();
-#if 0
 		write_attributes_file(local_attributes_file);
-#endif /* 0 */
 
 #ifdef HAVE_MH_MAIL_HANDLING
 		write_mail_active_file();
@@ -613,6 +612,7 @@ tin_done(
 
 	free_all_arrays();
 
+	/* TODO: why do we make this exception here? */
 #ifdef SIGUSR1
 	if (ret != -SIGUSR1) {
 #endif /* SIGUSR1 */
@@ -750,7 +750,9 @@ invoke_cmd(
 {
 	int ret;
 	t_bool save_cmd_line = cmd_line;
+#ifndef IGNORE_SYSTEM_STATUS
 	t_bool success;
+#endif /* IGNORE_SYSTEM_STATUS */
 
 	if (!save_cmd_line) {
 		EndWin();
@@ -881,10 +883,11 @@ mail_check(
 		if ((int) (buf.st_mode & S_IFMT) == (int) S_IFDIR) { /* maildir setup */
 			DIR *dirp;
 			char *maildir_box;
+			size_t maildir_box_len = strlen(mailbox_name) + strlen(MAILDIR_NEW) + 2;
 			struct dirent *dp;
 
-			maildir_box = my_malloc(strlen(mailbox_name) + strlen(MAILDIR_NEW) + 2);
-			joinpath(maildir_box, mailbox_name, MAILDIR_NEW);
+			maildir_box = my_malloc(maildir_box_len);
+			joinpath(maildir_box, maildir_box_len, mailbox_name, MAILDIR_NEW);
 
 			if (!(dirp = opendir(maildir_box))) {
 				free(maildir_box);
@@ -932,13 +935,13 @@ eat_re(
 		data = pcre_exec(strip_re_regex.re, strip_re_regex.extra, s, strlen(s), 0, 0, offsets, size_offsets);
 		if (offsets[0] == 0)
 			s += offsets[1];
-	} while (data > 0);
+	} while (data >= 0);
 
 	if (eat_was) do {
 		data = pcre_exec(strip_was_regex.re, strip_was_regex.extra, s, strlen(s), 0, 0, offsets, size_offsets);
 		if (offsets[0] > 0)
 			s[offsets[0]] = '\0';
-	} while (data > 0);
+	} while (data >= 0);
 
 	return s;
 }
@@ -1456,7 +1459,7 @@ _strfpath(
 			case '~':			/* Users or another users homedir */
 				switch (*++format) {
 					case '/':	/* users homedir */
-						joinpath(tbuf, homedir, "");
+						joinpath(tbuf, sizeof(tbuf), homedir, "");
 						break;
 
 					default:	/* some other users homedir */
@@ -1530,9 +1533,9 @@ _strfpath(
 
 					if (strfpath(group->attribute->maildir, buf, sizeof(buf), group)) {
 						if (*(format + 1) == '\0')				/* Just an = */
-							joinpath(tbuf, buf, group->name);
+							joinpath(tbuf, sizeof(tbuf), buf, group->name);
 						else
-							joinpath(tbuf, buf, "");
+							joinpath(tbuf, sizeof(tbuf), buf, "");
 						if ((str = strfpath_cp(str, tbuf, endp)) == NULL)
 							return 0;
 					} else {
@@ -1561,8 +1564,8 @@ _strfpath(
 #else
 						my_strncpy(tmp, group->name, 14);
 #endif /* HAVE_LONG_FILE_NAMES */
-						joinpath(tbuf, buf, tmp);	/* Add the group name */
-						joinpath(tmp, tbuf, "");
+						joinpath(tbuf, sizeof(tbuf), buf, tmp);	/* Add the group name */
+						joinpath(tmp, sizeof(tmp), tbuf, "");
 						if ((str = strfpath_cp(str, tmp, endp)) == NULL)
 							return 0;
 					} else {
@@ -1977,12 +1980,13 @@ void
 make_base_group_path(
 	const char *base_dir,
 	const char *group_name,
-	char *group_path)
+	char *group_path,
+	size_t group_path_len)
 {
 	char buf[LEN];
 
 	make_group_path(group_name, buf);
-	joinpath(group_path, base_dir, buf);
+	joinpath(group_path, group_path_len, base_dir, buf);
 }
 
 
@@ -2287,7 +2291,7 @@ strip_name(
 static t_bool
 buffer_to_local(
 	char **line,
-	int *max_line_len,
+	size_t *max_line_len,
 	const char *network_charset,
 	const char *local_charset)
 {
@@ -2426,7 +2430,7 @@ buffer_to_local(
 				} while (inbytesleft > 0);
 
 				**&outbuf = '\0';
-				if (*max_line_len < (int) strlen(obuf) + 1) {
+				if (*max_line_len < strlen(obuf) + 1) {
 					*max_line_len = strlen(obuf) + 1;
 					*line = my_realloc(*line, *max_line_len);
 				}
@@ -2536,7 +2540,7 @@ buffer_to_ascii(
 void
 process_charsets(
 	char **line,
-	int *max_line_len,
+	size_t *max_line_len,
 	const char *network_charset,
 	const char *local_charset,
 	t_bool conv_tex2iso)
@@ -3396,7 +3400,7 @@ gnksa_do_check_from(
 	decoded[0] = '\0';
 
 #ifdef DEBUG
-	if (debug == 2)
+	if (debug & DEBUG_MISC)
 		wait_message(0, "From:=[%s]", from);
 #endif /* DEBUG */
 
@@ -3406,7 +3410,7 @@ gnksa_do_check_from(
 		return code;
 
 #ifdef DEBUG
-	if (debug == 2)
+	if (debug & DEBUG_MISC)
 		wait_message(0, "address=[%s]", address);
 #endif /* DEBUG */
 
@@ -3420,7 +3424,7 @@ gnksa_do_check_from(
 		*addr_begin++ = '\0';
 
 #ifdef DEBUG
-		if (debug == 2)
+		if (debug & DEBUG_MISC)
 			wait_message(0, "FQDN=[%s]", addr_begin);
 #endif /* DEBUG */
 
@@ -3440,7 +3444,7 @@ gnksa_do_check_from(
 	}
 
 #ifdef DEBUG
-	if (debug == 2)
+	if (debug & DEBUG_MISC)
 		wait_message(0, "realname=[%s]", realname);
 #endif /* DEBUG */
 
@@ -3452,9 +3456,9 @@ gnksa_do_check_from(
 		strcpy(realname, decoded);
 
 #ifdef DEBUG
-	if (debug == 2) {
+	if (debug & DEBUG_MISC) { /* TODO: dump to a file instead of wait_message() */
 		if (GNKSA_OK != code)
-			wait_message(3, "From:=[%s], GNKSA=[%d]", from, code);
+			wait_message(2, "From:=[%s], GNKSA=[%d]", from, code);
 		else
 			wait_message(0, "GNKSA=[%d]", code);
 	}
@@ -3947,24 +3951,26 @@ stat_article(
 	long art,
 	const char *group_path)
 {
-	char buf[NNTP_STRLEN];
 	struct t_group currgrp;
 
 	currgrp = CURR_GROUP;
 
 #	ifdef NNTP_ABLE
 	if (read_news_via_nntp && currgrp.type == GROUP_TYPE_NEWS) {
+		char buf[NNTP_STRLEN];
+
 		snprintf(buf, sizeof(buf), "STAT %ld", art);
 		return (nntp_command(buf, OK_NOTEXT, NULL, 0) != NULL);
 	} else
 #	endif /* NNTP_ABLE */
 	{
+		char filename[PATH_LEN];
 		struct stat sb;
 
-		joinpath(buf, currgrp.spooldir, group_path);
-		snprintf(&buf[strlen(buf)], sizeof(buf), "/%ld", art);
+		joinpath(filename, sizeof(filename), currgrp.spooldir, group_path);
+		snprintf(&filename[strlen(filename)], sizeof(filename), "/%ld", art);
 
-		return (stat(buf, &sb) != -1);
+		return (stat(filename, &sb) != -1);
 	}
 }
 #endif /* 0 */
diff -Nurp tin-1.9.2/src/my_tmpfile.c tin-1.9.3/src/my_tmpfile.c
--- tin-1.9.2/src/my_tmpfile.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/my_tmpfile.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : my_tmpfile.c
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   : 2001-03-11
- *  Updated   : 2004-06-30
+ *  Updated   : 2007-12-30
  *  Notes     :
  *
- * Copyright (c) 2001-2007 Urs Janssen <urs@tin.org>
+ * Copyright (c) 2001-2008 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -60,7 +60,12 @@ my_tmpfile(
 {
 	int fd = -1;
 	char buf[PATH_LEN];
-
+#if defined(HAVE_MKTEMP) && !defined(HAVE_MKSTEMP)
+	char *t;
+#endif /* HAVE_MKTEMP && !HAVE_MKSTEMP */
+#ifdef DEBUG
+	int sverrno;
+#endif /* DEBUG */
 	errno = 0;
 
 	if (filename != NULL && name_size > 0) {
@@ -70,8 +75,10 @@ my_tmpfile(
 			if ((fp = tmpfile()) != NULL)
 				fd = fileno(fp);
 #ifdef DEBUG
-			else
-				wait_message(5, "HAVE_TMPFILE %s", strerror(errno));
+			else {
+				sverrno = errno;
+				wait_message(5, "HAVE_TMPFILE %s", strerror(sverrno));
+			}
 #endif /* DEBUG */
 			*filename = '\0';
 			if (fd == -1)
@@ -81,23 +88,29 @@ my_tmpfile(
 
 		if (base_dir) {
 			snprintf(buf, MIN(name_size, (sizeof(buf) - 1)), "tin-%s-%d-XXXXXX", get_host_name(), process_id);
-			joinpath(filename, base_dir, buf);
+			joinpath(filename, name_size, base_dir, buf);
 		} else {
 			snprintf(buf, MIN(name_size, (sizeof(buf) - 1)), "tin_XXXXXX");
-			joinpath(filename, TMPDIR, buf);
+			joinpath(filename, name_size, TMPDIR, buf);
 		}
+#ifdef DEBUG
+		errno = 0;
+#endif /* DEBUG */
 #ifdef HAVE_MKSTEMP
 		fd = mkstemp(filename);
 #	ifdef DEBUG
-		if (errno)
-			wait_message(5, "HAVE_MKSTEMP %s: %s", filename, strerror(errno));
+		sverrno = errno;
+		if (fd == -1 && sverrno)
+			wait_message(5, "HAVE_MKSTEMP %s: %s", filename, strerror(sverrno));
 #	endif /* DEBUG */
 #else
 #	ifdef HAVE_MKTEMP
-		fd = open(mktemp(filename), (O_WRONLY|O_CREAT|O_EXCL), (mode_t) (S_IRUSR|S_IWUSR));
+		if ((t = mktemp(filename)) != NULL)
+			fd = open(t, (O_WRONLY|O_CREAT|O_EXCL), (mode_t) (S_IRUSR|S_IWUSR));
 #		ifdef DEBUG
-		if (errno)
-			wait_message(5, "HAVE_MKTEMP %s: %s", filename, strerror(errno));
+		sverrno = errno;
+		if (sverrno)
+			wait_message(5, "HAVE_MKTEMP %s: %s", filename, strerror(sverrno));
 #		endif /* DEBUG */
 #	endif /* HAVE_MKTEMP */
 #endif /* HAVE_MKSTEMP */
diff -Nurp tin-1.9.2/src/newsrc.c tin-1.9.3/src/newsrc.c
--- tin-1.9.2/src/newsrc.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/newsrc.c	2008-03-16 14:58:16.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : newsrc.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2006-02-15
+ *  Updated   : 2008-03-14
  *  Notes     : ArtCount = (ArtMax - ArtMin) + 1  [could have holes]
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -109,7 +109,7 @@ read_newsrc(
 			line_count++;
 
 			if (sub == SUBSCRIBED) {
-				if ((i = my_group_add(grp)) >= 0) {
+				if ((i = my_group_add(grp, FALSE)) >= 0) {
 					if (!active[my_group[i]].bogus) {
 						active[my_group[i]].subscribed = SUB_BOOL(sub);
 						parse_bitmap_seq(&active[my_group[i]], seq);
@@ -159,7 +159,7 @@ write_newsrc_line(
 	 * are set to auto removal. Also check for bogus flag just in case
 	 * strip_bogus was changed since tin started
 	 */
-	group = group_find(line);
+	group = group_find(line, FALSE);
 
 	if (tinrc.strip_bogus == BOGUS_REMOVE) {
 		if (group == NULL || group->bogus) { /* group dosen't exist */
@@ -235,6 +235,7 @@ write_newsrc(
 
 	if (tot < 1) {
 		error_message(_(txt_newsrc_nogroups));
+		unlink(newnewsrc);
 		return 0L;		/* So we don't get prompted to try again */
 	}
 
@@ -281,7 +282,11 @@ open_subscription_fp(
 	if (!read_saved_news) {
 #ifdef NNTP_ABLE
 		if (read_news_via_nntp) {
-			/* if (nntp_caps.type = 2 && !nntp_caps.list_subscriptions)
+			/*
+			 * RFC 3977 doesn't list SUBSCRIPTIONS, so we keep this check
+			 * disabled till this is fixed in the next RFC
+			 */
+			/* if (nntp_caps.type == CAPABILITIES && !nntp_caps.list_subscriptions)
 				return NULL;
 			else */
 				return (nntp_command("LIST SUBSCRIPTIONS", OK_GROUPS, NULL, 0));
@@ -325,7 +330,7 @@ auto_subscribe_groups(
 	/* TODO: test me! */
 	while ((ptr = tin_fgets(fp_subs, FALSE)) != NULL) {
 		if (ptr[0] != '#') {
-			if (group_find(ptr) != 0)
+			if (group_find(ptr, FALSE) != 0)
 				fprintf(fp_newsrc, "%s:\n", ptr);
 		}
 	}
@@ -358,13 +363,13 @@ backup_newsrc(
 	{
 		STRCPY(filebuf, quote_space_to_dash(nntp_server));
 	}
-	joinpath(dirbuf, rcdir, filebuf);
-	joinpath(filebuf, dirbuf, OLDNEWSRC_FILE);
+	joinpath(dirbuf, sizeof(dirbuf), rcdir, filebuf);
+	joinpath(filebuf, sizeof(filebuf), dirbuf, OLDNEWSRC_FILE);
 
 	if (-1 == stat(dirbuf, &statbuf)) {
 		if (-1 == my_mkdir(dirbuf, (mode_t) (S_IRWXU)))
 			/* Can't create directory: Fall back on Homedir */
-			joinpath(filebuf, homedir, OLDNEWSRC_FILE);
+			joinpath(filebuf, sizeof(filebuf), homedir, OLDNEWSRC_FILE);
 	}
 
 	if (!backup_file(newsrc, filebuf))
@@ -388,18 +393,18 @@ group_get_art_info(
 {
 	DIR *dir;
 	DIR_BUF *direntry;
-	char buf[NNTP_STRLEN];
 	long artnum;
 
 	if (read_news_via_nntp && grouptype == GROUP_TYPE_NEWS) {
 #ifdef NNTP_ABLE
 		char line[NNTP_STRLEN];
 
-		snprintf(buf, sizeof(buf), "GROUP %s", groupname);
+		snprintf(line, sizeof(line), "GROUP %s", groupname);
 #	ifdef DEBUG
-		debug_nntp("group_get_art_info", buf);
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", "group_get_art_info %s", line);
 #	endif /* DEBUG */
-		put_server(buf);
+		put_server(line);
 
 		switch (get_respcode(line, sizeof(line))) {
 			case OK_GROUP:
@@ -422,7 +427,8 @@ group_get_art_info(
 
 			default:
 #	ifdef DEBUG
-				debug_nntp("NOT_OK", line);
+				if (debug & DEBUG_NNTP)
+					debug_print_file("NNTP", "NOT_OK %s", line);
 #	endif /* DEBUG */
 				return -1;
 		}
@@ -431,13 +437,14 @@ group_get_art_info(
 		return 0;
 #endif /* NNTP_ABLE */
 	} else {
+		char group_path[PATH_LEN];
 		*art_count = 0;
 		*art_min = 1;
 		*art_max = 0;
 
-		make_base_group_path(tin_spooldir, groupname, buf);
+		make_base_group_path(tin_spooldir, groupname, group_path, sizeof(group_path));
 
-		if ((dir = opendir(buf)) != NULL) {
+		if ((dir = opendir(group_path)) != NULL) {
 			while ((direntry = readdir(dir)) != NULL) {
 				artnum = atol(direntry->d_name); /* should be '\0' terminated... */
 				if (artnum >= 1) {
@@ -518,18 +525,19 @@ subscribe(
 
 	if ((fp = fopen(newsrc, "r")) != NULL) {
 		while ((line = tin_fgets(fp, FALSE)) != NULL) {
-			seq = parse_newsrc_line(line, &sub);
-			if (STRCMPEQ(line, group->name)) {
-				fprintf(newfp, "%s%c %s\n", line, sub_state, seq);
-				group->subscribed = SUB_BOOL(sub_state);
-
-				/* If previously subscribed to in .newsrc, load up any existing information */
-				if (sub_state == SUBSCRIBED)
-					parse_bitmap_seq(group, seq);
+			if ((seq = parse_newsrc_line(line, &sub))) {
+				if (STRCMPEQ(line, group->name)) {
+					fprintf(newfp, "%s%c %s\n", line, sub_state, seq);
+					group->subscribed = SUB_BOOL(sub_state);
+
+					/* If previously subscribed to in .newsrc, load up any existing information */
+					if (sub_state == SUBSCRIBED)
+						parse_bitmap_seq(group, seq);
 
-				found = TRUE;
-			} else
-				fprintf(newfp, "%s%c %s\n", line, sub, seq);
+					found = TRUE;
+				} else
+					fprintf(newfp, "%s%c %s\n", line, sub, seq);
+			}
 		}
 
 		fclose(fp);
@@ -612,11 +620,10 @@ delete_group(
 
 		if ((fp = fopen(newsrc, "r")) != NULL) {
 			while ((line = tin_fgets(fp, FALSE)) != NULL) {
-				seq = parse_newsrc_line(line, &sub);
-
-				if (!STRCMPEQ(line, group))
-					fprintf(newfp, "%s%c %s\n", line, sub, seq);
-
+				if ((seq = parse_newsrc_line(line, &sub))) {
+					if (!STRCMPEQ(line, group))
+						fprintf(newfp, "%s%c %s\n", line, sub, seq);
+				}
 			}
 			fclose(fp);
 		}
@@ -643,9 +650,10 @@ grp_mark_read(
 {
 	int i;
 
-#ifdef DEBUG_NEWSRC
-	debug_print_comment("c/C command");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC)
+		debug_print_comment("c/C command");
+#endif /* DEBUG */
 
 	if (art != NULL) {
 		for_each_art(i)
@@ -668,9 +676,10 @@ grp_mark_unread(
 	int bitlength;
 	t_bitmap *newbitmap = (t_bitmap *)0;
 
-#ifdef DEBUG_NEWSRC
-	debug_print_comment("Z command");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC)
+		debug_print_comment("Z command");
+#endif /* DEBUG */
 
 	group_get_art_info(group->spooldir, group->name, group->type, &group->count, &group->xmax, &group->xmin);
 
@@ -692,9 +701,10 @@ grp_mark_unread(
 	if (bitlength)
 		NSETRNG1(group->newsrc.xbitmap, 0L, bitlength - 1L);
 
-#ifdef DEBUG_NEWSRC
-	debug_print_bitmap(group, NULL);
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC)
+		debug_print_bitmap(group, NULL);
+#endif /* DEBUG */
 }
 
 
@@ -705,9 +715,10 @@ thd_mark_read(
 {
 	int i;
 
-#ifdef DEBUG_NEWSRC
-	debug_print_comment("Mark thread read K command");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC)
+		debug_print_comment("Mark thread read K command");
+#endif /* DEBUG */
 
 	for (i = (int) thread; i >= 0; i = arts[i].thread)
 		art_mark(group, &arts[i], ART_READ);
@@ -721,9 +732,10 @@ thd_mark_unread(
 {
 	int i;
 
-#ifdef DEBUG_NEWSRC
-	debug_print_comment("Mark thread unread Z command");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC)
+		debug_print_comment("Mark thread unread Z command");
+#endif /* DEBUG */
 
 	for (i = (int) thread; i >= 0; i = arts[i].thread)
 		art_mark(group, &arts[i], ART_WILL_RETURN);
@@ -752,15 +764,15 @@ parse_bitmap_seq(
 	while (ptr && *ptr && (*ptr < '0' || *ptr > '9'))
 		ptr++;
 
-#ifdef DEBUG_NEWSRC
-	{
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC) {
 		char buf[NEWSRC_LINE];
 
 		snprintf(buf, sizeof(buf), "Parsing [%s%c %.*s]", group->name, SUB_CHAR(group->subscribed), (int) (NEWSRC_LINE - strlen(group->name) - 20), ptr);
 		debug_print_comment(buf);
 		debug_print_bitmap(group, NULL);
 	}
-#endif /* DEBUG_NEWSRC */
+#endif /* DEBUG */
 
 	if (ptr) {
 		gotseq = TRUE;
@@ -828,9 +840,10 @@ wait_message(2, "BITMAP Grp=[%s] MinMax=
 		sum = (int) ((group->count >= 0) ? group->count : ((group->newsrc.xmax - group->newsrc.xmin) + 1));
 
 	group->newsrc.num_unread = sum;
-#ifdef DEBUG_NEWSRC
-	debug_print_bitmap(group, NULL);
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC)
+		debug_print_bitmap(group, NULL);
+#endif /* DEBUG */
 }
 
 
@@ -1027,10 +1040,12 @@ print_bitmap_seq(
 	long i, last;
 	t_bool flag = FALSE;
 
-#ifdef DEBUG_NEWSRC
-	debug_print_comment("print_bitmap_seq()");
-	debug_print_bitmap(group, NULL);
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+	if (debug & DEBUG_NEWSRC) {
+		debug_print_comment("print_bitmap_seq()");
+		debug_print_bitmap(group, NULL);
+	}
+#endif /* DEBUG */
 
 	if (group->count == 0 || group->xmin > group->xmax) {
 		if (group->newsrc.xmax > 1)
@@ -1038,9 +1053,10 @@ print_bitmap_seq(
 
 		fprintf(fp, "\n");
 		fflush(fp);
-#ifdef DEBUG_NEWSRC
-		debug_print_comment("print_bitmap_seq(): group->count == 0");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+		if (debug & DEBUG_NEWSRC)
+			debug_print_comment("print_bitmap_seq(): group->count == 0");
+#endif /* DEBUG */
 		return;
 	}
 
@@ -1082,9 +1098,10 @@ print_bitmap_seq(
 		if (group->newsrc.xmin > 2)
 			fprintf(fp, "-%ld", group->newsrc.xmin - 1);
 
-#ifdef DEBUG_NEWSRC
-		debug_print_comment("print_bitmap_seq(): !flag && group->newsrc.xmin > 1");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+		if (debug & DEBUG_NEWSRC)
+			debug_print_comment("print_bitmap_seq(): !flag && group->newsrc.xmin > 1");
+#endif /* DEBUG */
 	}
 
 	fprintf(fp, "\n");
@@ -1104,9 +1121,9 @@ pos_group_in_newsrc(
 	FILE *fp_sub = NULL, *fp_unsub = NULL;
 	char *newsgroup = NULL;
 	char *line;
-	char buf[HEADER_LEN];
-	char sub[HEADER_LEN];
-	char unsub[HEADER_LEN];
+	char filename[PATH_LEN];
+	char sub[PATH_LEN];
+	char unsub[PATH_LEN];
 	int subscribed_pos = 1;
 	size_t group_len;
 	t_bool found = FALSE;
@@ -1131,11 +1148,11 @@ pos_group_in_newsrc(
 	if (newsrc_mode)
 		fchmod(fileno(fp_out), newsrc_mode);
 
-	joinpath(buf, TMPDIR, ".subrc");
-	snprintf(sub, sizeof(sub), "%s.%d", buf, (int) process_id);
+	joinpath(filename, sizeof(filename), TMPDIR, ".subrc");
+	snprintf(sub, sizeof(sub), "%s.%d", filename, (int) process_id);
 
-	joinpath(buf, TMPDIR, ".unsubrc");
-	snprintf(unsub, sizeof(unsub), "%s.%d", buf, (int) process_id);
+	joinpath(filename, sizeof(filename), TMPDIR, ".unsubrc");
+	snprintf(unsub, sizeof(unsub), "%s.%d", filename, (int) process_id);
 
 	if ((fp_sub = fopen(sub, "w")) == NULL)
 		goto rewrite_group_done;
@@ -1367,18 +1384,20 @@ expand_bitmap(
 		bitlen = 0;
 		FreeIfNeeded(group->newsrc.xbitmap);
 		group->newsrc.xbitmap = (t_bitmap *) 0;
-#ifdef DEBUG_NEWSRC
-		debug_print_comment("expand_bitmap: group->newsrc.bitlen == 0");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+		if (debug & DEBUG_NEWSRC)
+			debug_print_comment("expand_bitmap: group->newsrc.bitlen == 0");
+#endif /* DEBUG */
 	} else if (group->newsrc.xbitmap == NULL) {
 		group->newsrc.xbitmap = my_malloc(BITS_TO_BYTES(bitlen));
 		if (group->newsrc.xmin > first)
 			NSETRNG0(group->newsrc.xbitmap, 0L, group->newsrc.xmin - first - 1L);
 		if (bitlen > group->newsrc.xmin - first)
 			NSETRNG1(group->newsrc.xbitmap, group->newsrc.xmin - first, bitlen - 1);
-#ifdef DEBUG_NEWSRC
-		debug_print_comment("expand_bitmap: group->newsrc.xbitmap == NULL");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+		if (debug & DEBUG_NEWSRC)
+			debug_print_comment("expand_bitmap: group->newsrc.xbitmap == NULL");
+#endif /* DEBUG */
 	} else if (need_full_copy) {
 		t_bitmap *newbitmap = my_malloc(BITS_TO_BYTES(bitlen));
 
@@ -1417,9 +1436,10 @@ expand_bitmap(
 
 		free(group->newsrc.xbitmap);
 		group->newsrc.xbitmap = newbitmap;
-#ifdef DEBUG_NEWSRC
-		debug_print_comment("expand_bitmap: group->newsrc.bitlen != (group->max-group->min)+1 and need full copy");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+		if (debug & DEBUG_NEWSRC)
+			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));
@@ -1456,9 +1476,10 @@ expand_bitmap(
 
 		free(group->newsrc.xbitmap);
 		group->newsrc.xbitmap = newbitmap;
-#ifdef DEBUG_NEWSRC
-		debug_print_comment("expand_bitmap: group->newsrc.bitlen != (group->max-group->min)+1");
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+		if (debug & DEBUG_NEWSRC)
+			debug_print_comment("expand_bitmap: group->newsrc.bitlen != (group->max-group->min)+1");
+#endif /* DEBUG */
 	}
 	group->newsrc.xmin = first;
 	if (group->newsrc.xmax < max)
@@ -1483,9 +1504,10 @@ art_mark(
 			if (group != NULL) {
 				if (art->artnum >= group->newsrc.xmin && art->artnum <= group->newsrc.xmax)
 					NSET0(group->newsrc.xbitmap, art->artnum - group->newsrc.xmin);
-#ifdef DEBUG_NEWSRC
-				debug_print_bitmap(group, art);
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+				if (debug & DEBUG_NEWSRC)
+					debug_print_bitmap(group, art);
+#endif /* DEBUG */
 			}
 			if ((art->status == ART_UNREAD) || (art->status == ART_WILL_RETURN)) {
 				art_mark_xref_read(art);
@@ -1510,9 +1532,10 @@ art_mark(
 					expand_bitmap(group, art->artnum);
 				else {
 					NSET1(group->newsrc.xbitmap, art->artnum - group->newsrc.xmin);
-#ifdef DEBUG_NEWSRC
-					debug_print_bitmap(group, art);
-#endif /* DEBUG_NEWSRC */
+#ifdef DEBUG
+					if (debug & DEBUG_NEWSRC)
+						debug_print_bitmap(group, art);
+#endif /* DEBUG */
 				}
 			}
 			break;
@@ -1542,144 +1565,3 @@ set_default_bitmap(
 		group->newsrc.xmax = group->newsrc.xmin - 1;
 	}
 }
-
-
-/* TEST harness */
-#ifdef DEBUG_NEWSRC
-#	if 0
-static void set_bitmap_range_read(struct t_newsrc *my_newsrc, long beg, long end);
-static void set_bitmap_range_unread(struct t_newsrc *my_newsrc, long beg, long end);
-
-void
-newsrc_test_harness(
-	void)
-{
-	FILE *fp = NULL;
-	char seq[20000];
-	int i;
-	int retry = 10; /* max. retrys */
-	long rng_min, rng_max;
-	struct t_group group;
-
-	/*
-	 * those env.-vars are not documented:
-	 * $TIN_RNG_MIN, $TIN_RNG_MAX, $TIN_MIN, $TIN_MAX, $TIN_COUNT
-	 * $TIN_SEQ
-	 */
-	rng_min = atoi(get_val("TIN_RNG_MIN", "1"));
-	rng_max = atoi(get_val("TIN_RNG_MAX", "1"));
-
-	group.name = my_strdup("test.newsrc");
-	group.xmin = atoi(get_val("TIN_MIN", "1"));
-	group.xmax = atoi(get_val("TIN_MAX", "0"));
-	group.count = atoi(get_val("TIN_COUNT", "-1"));
-	group.type = GROUP_TYPE_NEWS;
-	group.subscribed = TRUE;
-	group.newsrc.xbitmap = (t_bitmap *) 0;
-	set_default_bitmap(&group);
-
-	strcpy(seq, get_val("TIN_SEQ", ""));
-
-	fprintf(stderr, "\nENV Min=[%ld] Max=[%ld] Rng=[%ld-%ld] Count=[%ld] Seq=[%s]\n",
-		group.xmin, group.xmax, rng_min, rng_max, group.count, seq);
-
-	for (i = 0; i < 3; i++) {
-		if (group.newsrc.xbitmap != NULL) {
-			free(group.newsrc.xbitmap);
-			group.newsrc.xbitmap = (t_bitmap *) 0;
-			group.newsrc.xbitlen = 0;
-			group.newsrc.num_unread = 0;
-			group.newsrc.xmin = 1;
-			group.newsrc.xmax = 0;
-		}
-		while (retry) {
-		/* FIXME - this is secure now, but doesn't write any debug output */
-		/* (it didn't before too) */
-			if ((fp = tmpfile()) != NULL) {
-				fprintf(stderr, "\n%d. PARSE Seq=[%s]\n", i + 1, seq);
-				parse_bitmap_seq(&group, seq);
-				debug_print_newsrc(&group.newsrc, stderr);
-				print_bitmap_seq(fp, &group);
-				fprintf(stderr, "   PRINT Seq=");
-				print_bitmap_seq(stderr, &group);
-				rewind(fp);
-				break;
-			} else
-				retry--;
-		}
-
-		debug_print_newsrc(&group.newsrc, stderr);
-
-		if (!retry || !fp)
-			error_message(_(txt_cannot_create_uniq_name));
-		else {
-			fgets(seq, (int) sizeof(seq), fp);
-			seq[strlen(seq) - 1] = '\0';
-			fclose(fp);
-		}
-	}
-	set_bitmap_range_read(&group.newsrc, rng_min, rng_max);
-	debug_print_newsrc(&group.newsrc, stderr);
-
-	set_bitmap_range_unread(&group.newsrc, rng_min, rng_max);
-	debug_print_newsrc(&group.newsrc, stderr);
-
-	if (group.newsrc.xbitmap != NULL)
-		NSETBLK0(group.newsrc.xbitmap, group.newsrc.xbitlen);
-	debug_print_newsrc(&group.newsrc, stderr);
-
-	if (group.newsrc.xbitmap != NULL)
-		NSETBLK1(group.newsrc.xbitmap, group.newsrc.xbitlen);
-	debug_print_newsrc(&group.newsrc, stderr);
-	my_printf("\n");
-}
-
-
-static void
-set_bitmap_range_read(
-	struct t_newsrc *my_newsrc,
-	long beg,
-	long end)
-{
-	long length, offset;
-
-	if (beg >= my_newsrc->xmin && end <= my_newsrc->xmax) {
-		offset = beg - my_newsrc->xmin;
-		length = end - my_newsrc->xmin;
-
-fprintf(stderr, "\nRNG Min-Max=[%ld-%ld] Beg-End=[%ld-%ld] OFF=[%ld] LEN=[%ld]\n",
-my_newsrc->xmin, my_newsrc->xmax, beg, end, offset, length);
-
-		if (beg == end) {
-			NSET0(my_newsrc->xbitmap, offset);
-		} else {
-			NSETRNG0(my_newsrc->xbitmap, offset, length);
-		}
-	}
-}
-
-
-static void
-set_bitmap_range_unread(
-	struct t_newsrc *my_newsrc,
-	long beg,
-	long end)
-{
-	long length, offset;
-
-	if (beg >= my_newsrc->xmin && end <= my_newsrc->xmax) {
-		offset = beg - my_newsrc->xmin;
-		length = end - my_newsrc->xmin;
-
-fprintf(stderr, "\nRNG Min-Max=[%ld-%ld] Beg-End=[%ld-%ld] OFF=[%ld] LEN=[%ld]\n",
-my_newsrc->xmin, my_newsrc->xmax, beg, end, offset, length);
-
-		if (beg == end) {
-			NSET1(my_newsrc->xbitmap, offset);
-		} else {
-			NSETRNG1(my_newsrc->xbitmap, offset, length);
-		}
-	}
-}
-#	endif /* 0 */
-#endif /* DEBUG_NEWSRC */
diff -Nurp tin-1.9.2/src/nntplib.c tin-1.9.3/src/nntplib.c
--- tin-1.9.2/src/nntplib.c	2007-01-09 13:48:46.000000000 +0100
+++ tin-1.9.3/src/nntplib.c	2008-04-26 22:18:23.000000000 +0200
@@ -3,7 +3,7 @@
  *  Module    : nntplib.c
  *  Author    : S. Barber & I. Lea
  *  Created   : 1991-01-12
- *  Updated   : 2007-01-09
+ *  Updated   : 2008-04-24
  *  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
@@ -34,6 +34,8 @@ char *nntp_server = NULL;
 
 /* Flag to show whether tin did reconnect in last get_server() */
 t_bool reconnected_in_last_get_server = FALSE;
+/* Flag used in LIST ACVTIVE loop */
+t_bool did_reconnect = FALSE;
 
 static TCP *nntp_rd_fp = NULL;
 static TCP *nntp_wr_fp = NULL;
@@ -42,10 +44,7 @@ static TCP *nntp_wr_fp = NULL;
 	/* Copy of last NNTP command sent, so we can retry it if needed */
 	static char last_put[NNTP_STRLEN];
 	static constext *xover_cmds = "XOVER";
-#	if 0 /* currently not used */
 	static constext *xhdr_cmds = "XHDR";
-#	endif /* 0 */
-	enum extension_type { NO, LIST_EXTENSIONS, CAPABILITIES };
 	/* Set so we don't reconnect just to QUIT */
 	static t_bool quitting = FALSE;
 #endif /* NNTP_ABLE */
@@ -55,9 +54,8 @@ static TCP *nntp_wr_fp = NULL;
  */
 #ifdef NNTP_ABLE
 	static int mode_reader(t_bool *sec);
-	static int new_nntp_command(const char *command, int success, char *message, size_t mlen);
 	static int reconnect(int retry);
-	static int server_init(char *machine, const char *cservice, int port, char *text, size_t mlen);
+	static int server_init(char *machine, const char *cservice, unsigned short port, char *text, size_t mlen);
 	static int check_extensions(t_bool *sec);
 	static void close_server(void);
 	static void list_motd(void);
@@ -134,7 +132,7 @@ getserverbyfile(
 
 #ifdef NNTP_ABLE
 	if (cmdline_nntpserver[0] != '\0') {
-		get_nntpserver(buf, cmdline_nntpserver);
+		get_nntpserver(buf, sizeof(buf), cmdline_nntpserver);
 #	ifdef HAVE_SETENV
 		setenv("NNTPSERVER", buf, 1);
 #	else
@@ -150,7 +148,7 @@ getserverbyfile(
 	}
 
 	if ((cp = getenv("NNTPSERVER")) != NULL) {
-		get_nntpserver(buf, cp);
+		get_nntpserver(buf, sizeof(buf), cp);
 		return buf;
 	}
 
@@ -173,18 +171,11 @@ getserverbyfile(
 		(void) fclose(fp);
 
 		if (cp != NULL) {
-			get_nntpserver(buf, cp);
+			get_nntpserver(buf, sizeof(buf), cp);
 			return buf;
 		}
 	}
 
-#	ifdef USE_INN_NNTPLIB
-	if ((cp = GetConfigValue(_CONF_SERVER)) != NULL) {
-		(void) STRCPY(buf, cp);
-		return buf;
-	}
-#	endif /* USE_INN_NNTPLIB */
-
 #	ifdef NNTP_DEFAULT_SERVER
 	if (*(NNTP_DEFAULT_SERVER))
 		return strcpy(buf, NNTP_DEFAULT_SERVER);
@@ -215,7 +206,7 @@ static int
 server_init(
 	char *machine,
 	const char *cservice,	/* usually a literal */
-	int port,
+	unsigned short port,
 	char *text,
 	size_t mlen)
 {
@@ -237,9 +228,9 @@ server_init(
 		sockt_rd = get_tcp_socket(machine, service, port);
 #	else
 #		ifdef INET6
-	sockt_rd = get_tcp6_socket(machine, (unsigned short) port);
+	sockt_rd = get_tcp6_socket(machine, port);
 #		else
-	sockt_rd = get_tcp_socket(machine, service, (unsigned short) port);
+	sockt_rd = get_tcp_socket(machine, service, port);
 #		endif /* INET6 */
 #	endif /* DECNET */
 
@@ -749,7 +740,10 @@ u_put_server(
 {
 	s_puts(string, nntp_wr_fp);
 #	ifdef DEBUG
-	debug_nntp(">>>", string);
+	if (debug & DEBUG_NNTP) {
+		if (strcmp(string, "\r\n"))
+			debug_print_file("NNTP", ">>> %s", string);
+	}
 #	endif /* DEBUG */
 }
 
@@ -777,13 +771,21 @@ put_server(
 		s_puts(string, nntp_wr_fp);
 		s_puts("\r\n", nntp_wr_fp);
 #	ifdef DEBUG
-		debug_nntp(">>>", string);
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", ">>> %s", string);
 #	endif /* DEBUG */
 		/*
 		 * remember the last command we wrote to be able to resend it after a
 		 * reconnect. reconnection is handled by get_server()
+		 *
+		 * don't cache "LIST ACTIVE something" as we would need to
+		 * resend all of them but we remeber just the last one. we cache
+		 * "LIST" instead, this will slow down things, but that's ok on
+		 * reconnect.
 		 */
-		if (last_put != string)
+		if (!strncmp(string, "LIST ACTIVE ", 12))
+			STRCPY(last_put, "LIST");
+		else
 			STRCPY(last_put, string);
 	}
 	(void) s_flush(nntp_wr_fp);
@@ -836,12 +838,14 @@ reconnect(
 			put_server(last_put);
 			s_gets(last_put, NNTP_STRLEN, nntp_rd_fp);
 #	ifdef DEBUG
-			debug_nntp("<<<", last_put);
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "<<< %s", last_put);
 #	endif /* DEBUG */
 			DEBUG_IO((stderr, _("Read (%s)\n"), last_put));
 		}
 		DEBUG_IO((stderr, _("Resend last command (%s)\n"), buf));
 		put_server(buf);
+		did_reconnect = TRUE;
 		return 0;
 	}
 
@@ -877,9 +881,12 @@ get_server(
 
 	/*
 	 * NULL socket reads indicates socket has closed. Try a few times more
+	 *
+	 * TODO: add a timeout (some servers do not close the connection but
+	 *       simply do not send any response data -> we need a timeout to
+	 *       leave the s_gets() in that case)
 	 */
 	while (nntp_rd_fp == NULL || s_gets(string, size, nntp_rd_fp) == NULL) {
-
 		if (quitting)						/* Don't bother to reconnect */
 			tin_done(NNTP_ERROR_EXIT);		/* And don't try to disconnect again! */
 
@@ -895,6 +902,15 @@ get_server(
 		 * when user is quitting tin if tinrc.auto_reconnect is false.
 		 */
 		if (strncmp(last_put, "QUIT", 4)) {
+			/*
+			 * Typhoon v2.1.1.363 colses the connection right after an unknown
+			 * command, (i.e. CAPABILITIES) so we avoid the reissue it on a
+			 * reconnect if it was the last command.
+			 */
+			if (!strncmp(last_put, "CAPABILITIES", 12)) {
+				strcpy(last_put, "MODE READER");
+				nntp_caps.type = BROKEN;
+			}
 			retry = reconnect(retry);		/* Will abort when out of tries */
 			reconnected_in_last_get_server = TRUE;
 		} else {
@@ -968,11 +984,12 @@ check_extensions(
 			nntp_caps.type = CAPABILITIES;
 			while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) {
 #		ifdef DEBUG
-				debug_nntp("<<<", ptr);
+				if (debug & DEBUG_NNTP)
+					debug_print_file("NNTP", "<<< %s", ptr);
 #		endif /* DEBUG */
 				/* look for version number(s) */
 				if (!nntp_caps.version && nntp_caps.type == CAPABILITIES) {
-					if (!strcasecmp(ptr, "VERSION")) {
+					if (!strncasecmp(ptr, "VERSION", 7)) {
 						d = ptr + 7;
 						d = strpbrk(d, " \t");
 						while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) {
@@ -985,44 +1002,45 @@ check_extensions(
 				/* we currently only support CAPABILITIES VERSION 2 */
 				if (nntp_caps.version == 2) {
 					/*
-					 * check for LIST variants - this code is untested
+					 * check for LIST variants
 					 */
-					if (!strcasecmp(ptr, "LIST")) {
+					if (!strncasecmp(ptr, "LIST", 4)) {
 						d = ptr + 4;
 						d = strpbrk(d, " \t");
 						while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) {
 							d++;
-							if (!strcasecmp(d, "ACTIVE.TIMES"))
+							if (!strncasecmp(d, "ACTIVE.TIMES", 12))
 								nntp_caps.list_active_times = TRUE;
-							else if (!strcasecmp(d, "ACTIVE"))
-								nntp_caps.list_active_times = TRUE;
-							else if (!strcasecmp(d, "DISTRIB.PATS"))
+							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 (!strcasecmp(d, "DISTRIBUTIONS")) /* LIST DISTRIBUTIONS, "private" extension, RFC 2980 */
+							else if (!strncasecmp(d, "DISTRIBUTIONS", 13)) /* "private" extension, RFC 2980 */
 								nntp_caps.list_distributions = TRUE;
-							else if (!strcasecmp(d, "HEADERS"))
+							else if (!strncasecmp(d, "HEADERS", 7))
 								nntp_caps.list_headers = TRUE; /* HDR requires LIST HEADERS, but not vice versa */
-							else if (!strcasecmp(d, "NEWSGROUPS"))
+							else if (!strncasecmp(d, "NEWSGROUPS", 10))
 								nntp_caps.list_newsgroups = TRUE;
-							else if (!strcasecmp(d, "OVERVIEW.FMT")) /* OVER requires OVERVIEW.FMT, but not vice versa */
+							else if (!strncasecmp(d, "OVERVIEW.FMT", 12)) /* OVER requires OVERVIEW.FMT, but not vice versa */
 								nntp_caps.list_overview_fmt = TRUE;
-							else if (!strcasecmp(d, "MOTD")) /* "private" extension */
+							else if (!strncasecmp(d, "MOTD", 4)) /* "private" extension */
 								nntp_caps.list_motd = TRUE;
-							else if (!strcasecmp(d, "SUBSCRIPTIONS")) /* "private" extension, RFC 2980 */
+							else if (!strncasecmp(d, "SUBSCRIPTIONS", 13)) /* "private" extension, RFC 2980 */
 								nntp_caps.list_subscriptions = TRUE;
-							else if (!strcasecmp(d, "MODERATORS")) /* "private" extension */
+							else if (!strncasecmp(d, "MODERATORS", 10)) /* "private" extension */
 								nntp_caps.list_moderators = TRUE;
 							d = strpbrk(d, " \t");
 						}
-					} else if (!strcasecmp(ptr, "IMPLEMENTATION"))
+					} else if (!strncasecmp(ptr, "IMPLEMENTATION", 14)) {
 						nntp_caps.implementation = my_strdup(ptr + 14);
-					else if (!strcasecmp(ptr, "MODE-READER")) {
+						str_trim(nntp_caps.implementation);
+					} else if (!strcasecmp(ptr, "MODE-READER")) {
 						if (!nntp_caps.reader)
 							nntp_caps.mode_reader = TRUE;
 					} else if (!strcasecmp(ptr, "READER")) {
 						nntp_caps.reader = TRUE;
 						nntp_caps.mode_reader = FALSE;
-					} else if (!strcasecmp(d, "POST"))
+					} else if (!strcasecmp(ptr, "POST"))
 						nntp_caps.post = TRUE;
 					else if (!strcasecmp(ptr, "NEWNEWS"))
 						nntp_caps.newnews = TRUE;
@@ -1033,9 +1051,8 @@ check_extensions(
 					/*
 					 * NOTE: if we saw OVER, LIST OVERVIEW.FMT _must_ be implemented
 					 */
-					else if (!strcasecmp(ptr, &xover_cmds[1])) {
-						nntp_caps.over = TRUE;
-						nntp_caps.list_overview_fmt = TRUE;
+					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");
@@ -1045,38 +1062,58 @@ check_extensions(
 								nntp_caps.over_msgid = TRUE;
 							d = strpbrk(d, " \t");
 						}
-					} else if (!strcasecmp(ptr, "AUTHINFO")) {
+					}
+					/*
+					 * NOTE: if we saw HDR, LIST HEADERS _must_ be implemented
+					 */
+					else if (!strncasecmp(ptr, &xhdr_cmds[1], strlen(&xhdr_cmds[1]))) {
+						nntp_caps.hdr_cmd = &xhdr_cmds[1];
+						nntp_caps.list_headers = nntp_caps.hdr = TRUE;
+					} else if (!strncasecmp(ptr, "AUTHINFO", 8)) {
 						d = ptr + 8;
 						d = strpbrk(d, " \t");
 						while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) {
 							d++;
-							if (!strcasecmp(d, "USER"))
+							if (!strncasecmp(d, "USER", 4))
 								nntp_caps.authinfo_user = TRUE;
-							if (!strcasecmp(d, "SASL"))
+							if (!strncasecmp(d, "SASL", 4))
 								nntp_caps.authinfo_sasl = TRUE;
 							d = strpbrk(d, " \t");
 						}
+					} 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))
+								nntp_caps.authinfo_sasl = nntp_caps.sasl_cram_md5 = TRUE;
+							if (!strncasecmp(d, "DIGEST-MD5", 10))
+								nntp_caps.authinfo_sasl = nntp_caps.sasl_digest_md5 = TRUE;
+							if (!strncasecmp(d, "PLAIN", 5))
+								nntp_caps.authinfo_sasl = nntp_caps.sasl_plain = TRUE;
+							if (!strncasecmp(d, "GSSAPI", 6))
+								nntp_caps.authinfo_sasl = nntp_caps.sasl_gssapi = TRUE;
+							if (!strncasecmp(d, "EXTERNAL", 8))
+								nntp_caps.authinfo_sasl = nntp_caps.sasl_external = TRUE;
+						}
 					}
-#		if 0
-					/*
-					 * NOTE: if we saw HDR, LIST HEADERS _must_ be implemented
-					 */
-					else if (!strcasecmp(ptr, &xhdr_cmds[1])) {
-						nntp_caps.hdr_cmd = &xhdr_cmds[1];
-						nntp_caps.hdr = TRUE;
-						nntp_caps.list_headers = TRUE;
-					}
+#		if 0 /* we don't need these */
 					else if (!strcasecmp(ptr, "IHAVE"))
 						nntp_caps.ihave = TRUE;
+					else if (!strcasecmp(ptr, "STREAMING"))
+						nntp_caps.streaming = TRUE;
 #		endif /* 0 */
-					/*
-					 * TODO: SASL, STREAMING
-					 */
 				} else
-					nntp_caps.type = NO;
+					nntp_caps.type = NONE;
 			}
 			break;
 
+		/*
+		 * XanaNewz 2 Server Version 2.0.0.3 doesn't know CAPABILITIES
+		 * but respondes with 400 _without_ closing the connection. If
+		 * you use tin on a XanaNewz 2 Server comment out the following
+		 * case.
+		 */
 		case ERR_GOODBYE:
 			ret = i;
 			error_message(buf);
@@ -1089,8 +1126,12 @@ check_extensions(
 	debug_print_nntp_extensions();
 #		endif /* DEBUG */
 	if ((ret != ERR_GOODBYE) && !*sec && !nntp_caps.reader) {
-		if (nntp_caps.type == CAPABILITIES && !nntp_caps.mode_reader)
-			return -1; /* no mode-switching and no reader mode, give up */
+		if (nntp_caps.type == CAPABILITIES && !nntp_caps.mode_reader) {
+			if (!nntp_caps.post) { /* as a last resort check if post was mentioned */
+				error_message(_("CAPABILITIES did not announce any of READER, MODE-READER, POST")); /* TODO: -> lang.c */
+				return -1; /* give up */
+			}
+		}
 		if ((ret = mode_reader(&*sec)) != 0)
 			return ret;
 		else if (nntp_caps.type == CAPABILITIES) /* 2nd pass */
@@ -1105,7 +1146,7 @@ check_extensions(
 	 * "LIST EXTENSIONS" is somewhat troublesome as there are a lot
 	 * of broken implementations out there and it is a multiline response
 	 */
-	if (nntp_caps.type == NO) {
+	if (nntp_caps.type == NONE) {
 		char buf[NNTP_STRLEN];
 		int i;
 
@@ -1114,7 +1155,8 @@ check_extensions(
 		switch (i) {
 			case 215:	/* Netscape-Collabra/3.52 (badly broken); NetWare-News-Server/5.1 */
 #		ifdef DEBUG
-				debug_nntp("LIST EXTENSIONS", "skipping data");
+				if (debug & DEBUG_NNTP)
+					debug_print_file("NNTP", "LIST EXTENSIONS skipping data");
 #		endif /* DEBUG */
 				while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL)
 					;
@@ -1126,7 +1168,8 @@ check_extensions(
 				while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) {
 					if (nntp_caps.type == LIST_EXTENSIONS) {
 #		ifdef DEBUG
-						debug_nntp("<<<", ptr);
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "<<< %s", ptr);
 #		endif /* DEBUG */
 						/*
 						 * some servers (e.g. Hamster 1.3) have leading spaces in
@@ -1189,7 +1232,8 @@ mode_reader(
 	if (!nntp_caps.reader) {
 		char line[NNTP_STRLEN];
 #ifdef DEBUG
-		debug_nntp("mode_reader", "mode reader");
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", "mode_reader() MODE READER");
 #endif /* DEBUG */
 		DEBUG_IO((stderr, "nntp_command(MODE READER)\n"));
 		put_server("MODE READER");
@@ -1200,8 +1244,6 @@ mode_reader(
 		 *
 		 *   200 (OK_CANPOST)     Hello, you can post
 		 *   201 (OK_NOPOST)      Hello, you can't post
-		 *  (202 (OK_NOIHAVE)     discussed on the itef mailinglist; withdrawn)
-		 *  (203 (OK_NOPOSTIHAVE) discussed on the itef mailinglist; withdrawn)
 		 *   502 (ERR_ACCESS)     Service unavailable
 		 *
 		 * However, there may be old servers out there that do not implement this
@@ -1212,14 +1254,12 @@ mode_reader(
 
 		switch ((ret = get_respcode(line, sizeof(line)))) {
 			case OK_CANPOST:
-	/*		case OK_NOIHAVE: */
 				can_post = TRUE && !force_no_post;
 				*sec = TRUE;
 				ret = 0;
 				break;
 
 			case OK_NOPOST:
-	/*		case OK_NOPOSTIHAVE: */
 				can_post = FALSE;
 				*sec = TRUE;
 				ret = 0;
@@ -1263,7 +1303,8 @@ nntp_open(
 		return 0;
 
 #	ifdef DEBUG
-	debug_nntp("nntp_open", "BEGIN");
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "nntp_open() BEGIN");
 #	endif /* DEBUG */
 
 	if (nntp_server == NULL) {
@@ -1280,7 +1321,8 @@ nntp_open(
 	}
 
 #	ifdef DEBUG
-	debug_nntp("nntp_open", nntp_server);
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "nntp_open() %s", nntp_server);
 #	endif /* DEBUG */
 
 	ret = server_init(nntp_server, NNTP_TCP_NAME, nntp_tcp_port, line, sizeof(line));
@@ -1290,7 +1332,8 @@ nntp_open(
 		my_fputc('\n', stdout);
 
 #	ifdef DEBUG
-	debug_nntp("nntp_open", line);
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "nntp_open() %s", line);
 #	endif /* DEBUG */
 
 	switch (ret) {
@@ -1301,8 +1344,6 @@ nntp_open(
 		 * According to the ietf-nntp mailinglist:
 		 *   200 you may (try to) do anything
 		 *   201 you may not POST
-		 *  (202 you may not IHAVE)
-		 *  (203 you may not do EITHER)
 		 *   All unrecognised 200 series codes should be assumed as success.
 		 *   All unrecognised 300 series codes should be assumed as notice to continue.
 		 *   All unrecognised 400 series codes should be assumed as temporary error.
@@ -1310,12 +1351,10 @@ nntp_open(
 		 */
 
 		case OK_CANPOST:
-/*		case OK_NOIHAVE: */
 			can_post = TRUE && !force_no_post;
 			break;
 
 		case OK_NOPOST:
-/*		case OK_NOPOSTIHAVE: */
 			can_post = FALSE;
 			break;
 
@@ -1342,12 +1381,21 @@ nntp_open(
 
 	/*
 	 * Find out which NNTP extensions are available
-	 * TODO: The authentication method required may be mentioned in the list of
-	 *       extensions. (For details about authentication methods, see
-	 *       draft-ietf-nntpext-authinfo-07.txt).
+	 * - Typhoon v2.1.1.363 closes the connection after an unknown command
+	 *   (i.e. CAPABILITIES) but as we are not allowed to cache CAPABILITIES
+	 *   we reissue the command on reconnect. To prevent a loop we catch this
+	 *   case.
+     *
+	 * TODO: The authentication method required may be mentioned in the list
+	 *       of extensions. (For details about authentication methods, see
+	 *       RFC 4643).
 	 */
-	if ((ret = check_extensions(&sec)))
-		return ret; /* required "MODE READER" failed, exit */
+	if (nntp_caps.type != BROKEN) {
+		if ((ret = check_extensions(&sec)))
+			return ret; /* required "MODE READER/READER" failed, exit */
+		if (nntp_caps.type == CAPABILITIES && !nntp_caps.post)
+			can_post = FALSE;
+	}
 
 	/*
 	 * If the user wants us to authenticate on connection startup, do it now.
@@ -1358,7 +1406,8 @@ nntp_open(
 	 */
 	if (force_auth_on_conn_open) {
 #	ifdef DEBUG
-		debug_nntp("nntp_open", "authenticate");
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", "nntp_open() authenticate()");
 #	endif /* DEBUG */
 		authenticate(nntp_server, userid, TRUE);
 		if ((ret = mode_reader(&sec)))
@@ -1411,7 +1460,7 @@ nntp_open(
 	 * (successor of XOVER as of latest NNTP Draft (Jan 2002)
 	 * We have to check that we _don't_ get an ERR_COMMAND
 	 */
-	if (nntp_caps.type == NO) {
+	if (nntp_caps.type == NONE) {
 		int j = 0;
 
 		for (i = 0; i < 2 && j >= 0; i++) {
@@ -1423,9 +1472,10 @@ nntp_open(
 				case 224:	/* unexpected multiline ok, e.g.: Synchronet 3.13 NNTP Service 1.92 */
 					nntp_caps.over_cmd = &xover_cmds[i];
 #	ifdef DEBUG
-					debug_nntp(&xover_cmds[i], "skipping data");
+					if (debug & DEBUG_NNTP)
+						debug_print_file("NNTP" "nntp_open() %s skipping data", &xover_cmds[i]);
 #	endif /* DEBUG */
-					while ((linep = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL)
+					while (tin_fgets(FAKE_NNTP_FP, FALSE))
 						;
 					j = -1;
 					break;
@@ -1436,24 +1486,37 @@ nntp_open(
 					break;
 			}
 		}
+#	ifdef XHDR_XREF
+		for (i = 0, j = 0; i < 2 && j >= 0; i++) {
+			j = new_nntp_command(&xhdr_cmds[i], ERR_CMDSYN, line, sizeof(line));
+			switch (j) {
+				case ERR_COMMAND:
+					break;
+
+				default:	/* usualy ERR_CMDSYN (args missing), Typhoon/Twister sends ERR_NCING */
+					nntp_caps.hdr_cmd = &xhdr_cmds[i];
+					j = -1;
+					break;
+			}
+		}
+#	endif /* XHDR_XREF */
 	} else {
 		if (!nntp_caps.over_cmd) {
 			/*
 			 * CAPABILITIES/LIST EXTENSIONS didn't mention OVER or XOVER, try
 			 * XOVER
 			 */
-			i = new_nntp_command(xover_cmds, ERR_NCING, line, sizeof(line));
-
-			switch (i) {
+			switch (new_nntp_command(xover_cmds, ERR_NCING, line, sizeof(line))) {
 				case ERR_COMMAND:
 					break;
 
 				case 224:	/* unexpected multiline ok, e.g.: Synchronet 3.13 NNTP Service 1.92 */
 					nntp_caps.over_cmd = xover_cmds;
 #	ifdef DEBUG
-					debug_nntp(xover_cmds, "skipping data");
+					if (debug & DEBUG_NNTP)
+						debug_print_file("NNTP", "nntp_open() %s skipping data", xover_cmds);
 #	endif /* DEBUG */
-					while ((linep = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL)
+					while (tin_fgets(FAKE_NNTP_FP, FALSE))
 						;
 					break;
 
@@ -1462,16 +1525,22 @@ nntp_open(
 					break;
 			}
 		}
-#	if 0 /* unused */
+#	ifdef XHDR_XREF
 		if (!nntp_caps.hdr_cmd) {
 			/*
-			 * LIST EXTENSIONS didn't mention HDR or XHDR, try
+			 * CAPABILITIES/LIST EXTENSIONS didn't mention HDR or XHDR, try
 			 * XHDR
 			 */
-			if (!nntp_command(xhdr_cmds, ERR_COMMAND, NULL, 0))
-				nntp_caps.hdr_cmd = xhdr_cmds;
+			switch (new_nntp_command(xhdr_cmds, ERR_CMDSYN, line, sizeof(line))) {
+				case ERR_COMMAND:
+					break;
+
+				default:	/* usualy ERR_CMDSYN (args missing), Typhoon/Twister sends ERR_NCING */
+					nntp_caps.hdr_cmd = xhdr_cmds;
+					break;
+			}
 		}
-#	endif /* 0 */
+#	endif /* XHDR_XREF */
 	}
 
 	if (!nntp_caps.over_cmd) {
@@ -1483,22 +1552,13 @@ nntp_open(
 			else
 				wait_message(2, _(txt_caching_off));
 		}
+	}
 #	if 0
-	} else {
+	else {
 		/*
 		 * TODO: issue warning if old index files found?
 		 *	      in index_newsdir?
 		 */
-#	endif /* 0 */
-	}
-
-#	if 0
-	/*
-	 * TODO: if we're using -n, check for LIST NEWSGROUPS <wildmat>
-	 * see also comments in open_newsgroups_fp()
-	 */
-	if (newsrc_active && !list_active) { /* -n */
-		/* code goes here */
 	}
 #	endif /* 0 */
 
@@ -1531,14 +1591,15 @@ nntp_close(
 #ifdef NNTP_ABLE
 	if (read_news_via_nntp) {
 #	ifdef DEBUG
-		debug_nntp("nntp_close", "END");
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", "nntp_close() END");
 #	endif /* DEBUG */
 		close_server();
 	}
 #endif /* NNTP_ABLE */
 }
 
-
+#ifdef NNTP_ABLE
 /*
  * Get a response code from the server.
  * Returns:
@@ -1554,21 +1615,22 @@ get_only_respcode(
 	char *message,
 	size_t mlen)
 {
-	int respcode = 0;
-#ifdef NNTP_ABLE
-	char *ptr, *end;
+	int respcode;
+	char *end, *ptr;
 
 	ptr = tin_fgets(FAKE_NNTP_FP, FALSE);
 
 	if (tin_errno || ptr == NULL) {
 #	ifdef DEBUG
-		debug_nntp("<<<", "Error: tin_error<>0 or ptr==NULL in get_only_respcode()");
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", "<<< Error: tin_error<>0 or ptr==NULL in get_only_respcode()");
 #	endif /* DEBUG */
 		return -1;
 	}
 
 #	ifdef DEBUG
-	debug_nntp("<<<", ptr);
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "<<< %s",  ptr);
 #	endif /* DEBUG */
 	respcode = (int) strtol(ptr, &end, 10);
 	DEBUG_IO((stderr, "get_only_respcode(%d)\n", respcode));
@@ -1577,26 +1639,29 @@ get_only_respcode(
 	 * we also reconnect on ERR_FAULT if last_put was ARTICLE or LIST or POST
 	 * as inn (2.2.3) sends ERR_FAULT on timeout
 	 */
-	if (((respcode == ERR_FAULT && !strncmp(last_put, "ARTICLE", 7)) || (respcode == ERR_FAULT && !strncmp(last_put, "POST", 4)) || (respcode == ERR_FAULT && !strcmp(last_put, "LIST")) ||  respcode == ERR_GOODBYE || respcode == OK_GOODBYE) && last_put[0] != '\0' && strcmp(last_put, "QUIT")) {
+	if (last_put[0] != '\0' && ((respcode == ERR_FAULT && !strncmp(last_put, "ARTICLE", 7)) || (respcode == ERR_FAULT && !strncmp(last_put, "POST", 4)) || (respcode == ERR_FAULT && !strcmp(last_put, "LIST")) || respcode == ERR_GOODBYE || respcode == OK_GOODBYE) && strcmp(last_put, "QUIT")) {
 		/*
 		 * Maybe server timed out.
 		 * If so, retrying will force a reconnect.
 		 */
 #	ifdef DEBUG
-		debug_nntp("get_only_respcode", "timeout");
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", "get_only_respcode() timeout");
 #	endif /* DEBUG */
 		put_server(last_put);
 		ptr = tin_fgets(FAKE_NNTP_FP, FALSE);
 
 		if (tin_errno) {
 #	ifdef DEBUG
-			debug_nntp("<<<", "Error: tin_errno <> 0");
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "<<< Error: tin_errno <> 0");
 #	endif /* DEBUG */
 			return -1;
 		}
 
 #	ifdef DEBUG
-		debug_nntp("<<<", ptr);
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", "<<< %s", ptr);
 #	endif /* DEBUG */
 		respcode = (int) strtol(ptr, &end, 10);
 		DEBUG_IO((stderr, "get_only_respcode(%d)\n", respcode));
@@ -1604,7 +1669,6 @@ get_only_respcode(
 	if (message != NULL && mlen > 1)		/* Pass out the rest of the text */
 		my_strncpy(message, end, mlen - 1);
 
-#endif /* NNTP_ABLE */
 	return respcode;
 }
 
@@ -1624,8 +1688,7 @@ get_respcode(
 	char *message,
 	size_t mlen)
 {
-	int respcode = 0;
-#ifdef NNTP_ABLE
+	int respcode;
 	char savebuf[NNTP_STRLEN];
 	char *ptr, *end;
 
@@ -1635,7 +1698,8 @@ get_respcode(
 		 * Server requires authentication.
 		 */
 #	ifdef DEBUG
-		debug_nntp("get_respcode", "authentication");
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", "get_respcode() authentication");
 #	endif /* DEBUG */
 		strncpy(savebuf, last_put, sizeof(savebuf) - 1);		/* Take copy, as authenticate() will clobber this */
 
@@ -1646,7 +1710,8 @@ get_respcode(
 				put_server(last_put);
 				s_gets(last_put, NNTP_STRLEN, nntp_rd_fp);
 #	ifdef DEBUG
-				debug_nntp("<<<", last_put);
+				if (debug & DEBUG_NNTP)
+					debug_print_file("NNTP", "<<< %s", last_put);
 #	endif /* DEBUG */
 				DEBUG_IO((stderr, _("Read (%s)\n"), last_put));
 			}
@@ -1657,13 +1722,15 @@ get_respcode(
 
 			if (tin_errno) {
 #	ifdef DEBUG
-				debug_nntp("<<<", "Error: tin_errno <> 0");
+				if (debug & DEBUG_NNTP)
+					debug_print_file("NNTP", "<<< Error: tin_errno <> 0");
 #	endif /* DEBUG */
 				return -1;
 			}
 
 #	ifdef DEBUG
-			debug_nntp("<<<", ptr);
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "<<< %s", ptr);
 #	endif /* DEBUG */
 			respcode = (int) strtol(ptr, &end, 10);
 			if (message != NULL && mlen > 1)				/* Pass out the rest of the text */
@@ -1675,12 +1742,10 @@ get_respcode(
 			tin_done(EXIT_FAILURE);
 		}
 	}
-#endif /* NNTP_ABLE */
 	return respcode;
 }
 
 
-#ifdef NNTP_ABLE
 /*
  * Do an NNTP command. Send command to server, and read the reply.
  * If the reply code matches success, then return an open file stream
@@ -1697,21 +1762,24 @@ nntp_command(
 {
 DEBUG_IO((stderr, "nntp_command(%s)\n", command));
 #	ifdef DEBUG
-	debug_nntp("nntp command", command);
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "nntp_command(%s)", command);
 #	endif /* DEBUG */
 	put_server(command);
 
 	if (!bool_equal(dangerous_signal_exit, TRUE)) {
 		if (get_respcode(message, mlen) != success) {
 #	ifdef DEBUG
-			debug_nntp(command, "NOT_OK");
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "nntp_command(%s) NOT_OK", command);
 #	endif /* DEBUG */
 			/* error_message("%s", message); */
 			return (FILE *) 0;
 		}
 	}
 #	ifdef DEBUG
-	debug_nntp(command, "OK");
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "nntp_command(%s) OK", command);
 #	endif /* DEBUG */
 	return FAKE_NNTP_FP;
 }
@@ -1722,7 +1790,7 @@ DEBUG_IO((stderr, "nntp_command(%s)\n", 
  * TODO: use it instead of nntp_command in the rest of the code
  *       (wherever it is more usefull).
  */
-static int
+int
 new_nntp_command(
 	const char *command,
 	int success,
@@ -1731,22 +1799,25 @@ new_nntp_command(
 {
 	int respcode = 0;
 
-DEBUG_IO((stderr, "nntp_command(%s)\n", command));
+DEBUG_IO((stderr, "new_nntp_command(%s)\n", command));
 #	ifdef DEBUG
-	debug_nntp("nntp command", command);
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "new_nntp_command(%s)", command);
 #	endif /* DEBUG */
 	put_server(command);
 
 	if (!bool_equal(dangerous_signal_exit, TRUE)) {
 		if ((respcode = get_respcode(message, mlen)) != success) {
 #	ifdef DEBUG
-			debug_nntp(command, "NOT_OK - Expected: %d, got: %d", success, respcode);
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "new_nntp_command(%s) NOT_OK - Expected: %d, got: %d", command, success, respcode);
 #	endif /* DEBUG */
 			return respcode;
 		}
 	}
 #	ifdef DEBUG
-	debug_nntp(command, "OK");
+	if (debug & DEBUG_NNTP)
+		debug_print_file("NNTP", "new_nntp_command(%s) OK", command);
 #	endif /* DEBUG */
 	return respcode;
 }
@@ -1771,7 +1842,8 @@ list_motd(
 #	endif /* HAVE_COLOR */
 			while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) {
 #	ifdef DEBUG
-				debug_nntp("<<<", ptr);
+				if (debug & DEBUG_NNTP)
+					debug_print_file("NNTP", "<<< %s", ptr);
 #	endif /* DEBUG */
 				/*
 				 * TODO: - store a hash value of the entire motd in the server-rc
diff -Nurp tin-1.9.2/src/nrctbl.c tin-1.9.3/src/nrctbl.c
--- tin-1.9.2/src/nrctbl.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/nrctbl.c	2008-03-14 10:21:32.000000000 +0100
@@ -3,13 +3,13 @@
  *  Module    : nrctbl.c
  *  Author    : Sven Paulus <sven@tin.org>
  *  Created   : 1996-10-06
- *  Updated   : 2005-07-02
+ *  Updated   : 2007-12-30
  *  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-2007 Sven Paulus <sven@tin.org>
+ * Copyright (c) 1996-2008 Sven Paulus <sven@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -84,6 +84,7 @@ write_newsrctable_file(
 void
 get_nntpserver(
 	char *nntpserver_name,
+	size_t nntpserver_name_len,
 	char *nick_name)
 {
 	FILE *fp;
@@ -102,7 +103,7 @@ get_nntpserver(
 					line_entry_counter++;
 
 					if (line_entry_counter == 1)
-						strcpy(name_found, line_entry);
+						STRCPY(name_found, line_entry);
 
 					if ((line_entry_counter > 2) && (!strcasecmp(line_entry, nick_name)))
 						found = TRUE;
@@ -110,11 +111,12 @@ get_nntpserver(
 			}
 		}
 		fclose(fp);
-		strcpy(nntpserver_name, (found ? name_found : nick_name));
+		strncpy(nntpserver_name, (found ? name_found : nick_name), nntpserver_name_len);
 	} else {
 		write_newsrctable_file();
-		strcpy(nntpserver_name, nick_name);
+		strncpy(nntpserver_name, nick_name, nntpserver_name_len);
 	}
+	nntpserver_name[nntpserver_name_len - 1] = '\0';
 }
 
 
@@ -126,6 +128,7 @@ get_nntpserver(
 int
 get_newsrcname(
 	char *newsrc_name,
+	size_t newsrc_name_len,
 	const char *nntpserver_name) /* return value is always ignored */
 {
 	FILE *fp;
@@ -154,7 +157,7 @@ get_newsrcname(
 						do_cpy = TRUE;
 					}
 					if (do_cpy && (line_entry_counter == 2)) {
-						strcpy(name_found, line_entry);
+						STRCPY(name_found, line_entry);
 						do_cpy = FALSE;
 					}
 				}
@@ -170,12 +173,13 @@ get_newsrcname(
 					my_fprintf(stderr, _("couldn't expand %s\n"), name_found); /* TODO: -> lang.c */
 					error = 1;
 			} else {
-				if (tmp_newsrc[0] == '/')
-					(void) strcpy(newsrc_name, tmp_newsrc);
-				else
-					joinpath(newsrc_name, homedir, tmp_newsrc);
+				if (tmp_newsrc[0] == '/') {
+					(void) strncpy(newsrc_name, tmp_newsrc, newsrc_name_len);
+					newsrc_name[newsrc_name_len - 1] = '\0';
+				} else
+					joinpath(newsrc_name, newsrc_name_len, homedir, tmp_newsrc);
 			}
-			(void) strcpy(dir, newsrc_name);
+			STRCPY(dir, newsrc_name);
 			if (strchr(dir, '/'))
 				*strrchr(dir, '/') = (char) 0;
 
@@ -224,7 +228,7 @@ get_newsrcname(
 						return TRUE;
 
 					case 'd':
-						joinpath(newsrc_name, homedir, ".newsrc");
+						joinpath(newsrc_name, newsrc_name_len, homedir, ".newsrc");
 						return TRUE;
 
 					case 'a':
@@ -233,7 +237,7 @@ get_newsrcname(
 						 * is not documented in the man page
 						 */
 						snprintf(name_found, sizeof(name_found), ".newsrc-%s", nntpserver_name);
-						joinpath(newsrc_name, homedir, name_found);
+						joinpath(newsrc_name, newsrc_name_len, homedir, name_found);
 						return TRUE;
 
 					case 'q':
diff -Nurp tin-1.9.2/src/options_menu.c tin-1.9.3/src/options_menu.c
--- tin-1.9.2/src/options_menu.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/options_menu.c	2008-03-14 10:21:32.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : options_menu.c
  *  Author    : Michael Bienia <michael@vorlon.ping.de>
  *  Created   : 2004-09-05
- *  Updated   : 2006-10-01
+ *  Updated   : 2008-02-25
  *  Notes     : Split from config.c
  *
- * Copyright (c) 2004-2007 Michael Bienia <michael@vorlon.ping.de>
+ * Copyright (c) 2004-2008 Michael Bienia <michael@vorlon.ping.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -294,12 +294,12 @@ print_any_option(
 		case OPT_LIST:
 			list = option_table[option].opt_list;
 			ptr2 = my_strdup(list[*(option_table[option].variable) + ((strcasecmp(_(list[0]), _(txt_default)) == 0) ? 1 : 0)]);
-			snprintf(ptr, len, "%s", _(ptr2));
+			strncpy(ptr, _(ptr2), len);
 			free(ptr2);
 			break;
 
 		case OPT_STRING:
-			snprintf(ptr, len, "%s", OPT_STRING_list[option_table[option].var_index]);
+			strncpy(ptr, OPT_STRING_list[option_table[option].var_index], len);
 			break;
 
 		case OPT_NUM:
@@ -704,7 +704,7 @@ change_config_file(
 	struct t_group *group)
 {
 	enum option_enum option, old_option;
-	int mime_encoding = MIME_ENCODING_7BIT;
+	int mime_encoding;
 	t_bool change_option = FALSE;
 	t_function func;
 
@@ -1166,9 +1166,6 @@ change_config_file(
 								glob_attributes.mm_network_charset = tinrc.mm_network_charset;
 								if (group)
 									group->attribute->mm_network_charset = tinrc.mm_network_charset;
-#	ifdef NO_LOCALE
-								strcpy(tinrc.mm_local_charset, txt_mime_charsets[tinrc.mm_network_charset]);
-#	endif /* NO_LOCALE */
 							}
 							/*
 							 * check if we have selected a 7bit charset, otherwise
@@ -1194,7 +1191,7 @@ change_config_file(
 										tinrc.post_mime_encoding = MIME_ENCODING_8BIT;
 										repaint_option(OPT_POST_MIME_ENCODING);
 									}
-								} else { /* and vice versa, if we have a 7bit chaset but a !7bit encoding, fix that */
+								} else { /* and vice versa, if we have a 7bit charset but a !7bit encoding, fix that */
 									for (i = 0; *txt_mime_7bit_charsets[i]; i++) {
 										if (!strcasecmp(txt_mime_charsets[tinrc.mm_network_charset], txt_mime_7bit_charsets[i])) {
 											tinrc.mail_mime_encoding = tinrc.post_mime_encoding = MIME_ENCODING_7BIT;
@@ -1248,9 +1245,6 @@ change_config_file(
 						case OPT_MAIL_ADDRESS:
 						case OPT_MAIL_QUOTE_FORMAT:
 						case OPT_METAMAIL_PROG:
-#ifndef CHARSET_CONVERSION
-						case OPT_MM_CHARSET:
-#endif /* !CHARSET_CONVERSION */
 						case OPT_NEWS_QUOTE_FORMAT:
 						case OPT_QUOTE_CHARS:
 						case OPT_SPAMTRAP_WARNING_ADDRESSES:
@@ -1259,6 +1253,25 @@ change_config_file(
 							prompt_option_string(option);
 							break;
 
+#ifndef CHARSET_CONVERSION
+						case OPT_MM_CHARSET:
+							prompt_option_string(option);
+							/*
+							 * No charset conversion available, assume local charset
+							 * to be network charset.
+							 */
+							STRCPY(tinrc.mm_local_charset, tinrc.mm_charset);
+							break;
+#else
+#	ifdef NO_LOCALE
+						case OPT_MM_LOCAL_CHARSET:
+							prompt_option_string(option);
+							/* no locales -> can't guess local charset */
+							break;
+
+#	endif /* NO_LOCALE */
+#endif /* !CHARSET_CONVERSION */
+
 						case OPT_NEWS_HEADERS_TO_DISPLAY:
 							prompt_option_string(option);
 							if (news_headers_to_display_array)
diff -Nurp tin-1.9.2/src/page.c tin-1.9.3/src/page.c
--- tin-1.9.2/src/page.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/page.c	2008-04-29 10:58:25.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : page.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2006-10-01
+ *  Updated   : 2008-03-26
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,13 +42,14 @@
 #	include "tcurses.h"
 #endif /* !TCURSES_H */
 
-
+#if 0
 #if defined(HAVE_IDNA_H) && !defined(_IDNA_H)
 #	include <idna.h>
 #endif /* HAVE_IDNA_H && !_IDNA_H */
 #if defined(HAVE_STRINGPREP_H) && !defined(_STRINGPREP_H)
 #	include <stringprep.h>
 #endif /* HAVE_STRINGPREP_H & !_STRINGPREP_H */
+#endif /* 0 */
 
 /*
  * PAGE_HEADER is the size in lines of the article page header
@@ -113,7 +114,7 @@ static void invoke_metamail(FILE *fp);
 #	define XFACE_CLEAR()	if (tinrc.use_slrnface) \
 								slrnface_clear_xface()
 #	define XFACE_SUPPRESS()	if (tinrc.use_slrnface) \
-										slrnface_suppress_xface()
+								slrnface_suppress_xface()
 #else
 #	define XFACE_SHOW()	/*nothing*/
 #	define XFACE_CLEAR()	/*nothing*/
@@ -337,7 +338,6 @@ show_page(
 			case GLOBAL_ABORT:       /* Abort */
 				break;
 
-			case DIGIT_0:
 			case DIGIT_1:
 			case DIGIT_2:
 			case DIGIT_3:
@@ -563,7 +563,7 @@ page_goto_next_unread:
 
 			case GLOBAL_SEARCH_SUBJECT_FORWARD:	/* search in article */
 			case GLOBAL_SEARCH_SUBJECT_BACKWARD:
-				if ((i = search_article((func == GLOBAL_SEARCH_SUBJECT_FORWARD), repeat_search, search_line, artlines, artline, reveal_ctrl_l_lines, note_fp)) == -1)
+				if (search_article((func == GLOBAL_SEARCH_SUBJECT_FORWARD), repeat_search, search_line, artlines, artline, reveal_ctrl_l_lines, note_fp) == -1)
 					break;
 
 				if (func == GLOBAL_SEARCH_SUBJECT_BACKWARD && !reveal_ctrl_l) {
@@ -1273,7 +1273,7 @@ draw_page_header(
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
 	/* convert to wide-char format strings */
 	fmt_thread = char2wchar_t(_(txt_thread_x_of_n));
-	fmt_resp = char2wchar_t(_(txt_resp_x_of_n));
+	fmt_resp = char2wchar_t(_(txt_art_x_of_n));
 
 	/*
 	 * determine the needed space for the text at the right hand margin
@@ -1422,7 +1422,7 @@ draw_page_header(
 		my_fputc(' ', stdout);
 
 	if (whichresp)
-		my_printf(_(txt_resp_x_of_n), whichresp, x_resp);
+		my_printf(_(txt_art_x_of_n), whichresp + 1, x_resp + 1);
 	else {
 		if (!x_resp)
 			my_printf(_(txt_no_responses));
@@ -1500,7 +1500,7 @@ draw_page_header(
 	 * the formating info (%4s) needs 3 positions but we need 4 positions
 	 * on the screen for each counter
 	 */
-	right_len = MAX((strlen(_(txt_thread_x_of_n)) - 6 + 8), (strlen(_(txt_resp_x_of_n)) - 6 + 8));
+	right_len = MAX((strlen(_(txt_thread_x_of_n)) - 6 + 8), (strlen(_(txt_art_x_of_n)) - 6 + 8));
 
 	/*
 	 * first line
@@ -1616,7 +1616,7 @@ draw_page_header(
 		my_fputc(' ', stdout);
 
 	if (whichresp)
-		my_printf(_(txt_resp_x_of_n), whichresp, x_resp);
+		my_printf(_(txt_art_x_of_n), whichresp + 1, x_resp + 1);
 	else {
 		if (!x_resp)
 			my_printf(_(txt_no_responses));
@@ -1688,7 +1688,7 @@ load_article(
 	struct t_group *group)
 {
 #ifdef DEBUG
-	if (debug == 2)
+	if (debug & DEBUG_MISC)
 		fprintf(stderr, "load_art %s(new=%d, curr=%d)\n", (new_respnum == this_resp) ? "ALREADY OPEN!" : "", new_respnum, this_resp);
 #endif /* DEBUG */
 
@@ -1785,7 +1785,7 @@ prompt_response(
 
 	clear_message();
 
-	if ((num = prompt_num(ch, _(txt_read_resp))) == -1) {
+	if ((num = (prompt_num(ch, _(txt_select_art)) - 1)) == -1) {
 		clear_message();
 		return -1;
 	}
@@ -1901,7 +1901,7 @@ toggle_raw(
 							offset += num_bytes;
 						}
 #else
-						if (my_isprint((int) *p)) {
+						if (my_isprint((unsigned char) *p)) {
 							space--;
 							p++;
 							offset++;
@@ -2055,6 +2055,8 @@ info_pager(
 	info_title = title;
 	curr_info_line = 0;
 	preprocess_info_message(info_fh);
+	if (!info_fh)
+		return;
 	set_xclick_off();
 	display_info_page(0);
 
@@ -2227,17 +2229,17 @@ display_info_page(
 }
 
 
-/*
- * TODO: plug mem leak: malloced mem is not freed on exit
- */
 static void
 preprocess_info_message(
 	FILE *info_fh)
 {
 	int chunk = 50;
 
+	FreeAndNull(infoline);
+	if (!info_fh)
+		return;
+
 	rewind(info_fh);
-	FreeIfNeeded(infoline);
 	infoline = my_malloc(sizeof(t_lineinfo) * chunk);
 	num_info_lines = 0;
 
diff -Nurp tin-1.9.2/src/pgp.c tin-1.9.3/src/pgp.c
--- tin-1.9.2/src/pgp.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/pgp.c	2008-03-14 10:21:32.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : pgp.c
  *  Author    : Steven J. Madsen
  *  Created   : 1995-05-12
- *  Updated   : 2005-07-02
+ *  Updated   : 2007-12-30
  *  Notes     : PGP support
  *
- * Copyright (c) 1995-2007 Steven J. Madsen <steve@erinet.com>
+ * Copyright (c) 1995-2008 Steven J. Madsen <steve@erinet.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -149,7 +149,7 @@ init_pgp(
 		if ((ptr = getenv("PGPPATH")) != NULL)
 			my_strncpy(pgp_data, ptr, sizeof(pgp_data) - 1);
 		else
-			joinpath(pgp_data, homedir, PGPDIR);
+			joinpath(pgp_data, sizeof(pgp_data), homedir, PGPDIR);
 	}
 }
 
@@ -320,7 +320,7 @@ pgp_available(
 	FILE *fp;
 	char keyring[PATH_LEN];
 
-	joinpath(keyring, pgp_data, PGP_PUBRING);
+	joinpath(keyring, sizeof(keyring), pgp_data, PGP_PUBRING);
 	if ((fp = fopen(keyring, "r")) == NULL) {
 		wait_message(2, _(txt_pgp_not_avail), keyring);
 		return FALSE;
@@ -433,7 +433,7 @@ pgp_check_article(
 	if (!pgp_available())
 		return FALSE;
 
-	joinpath(artfile, homedir, TIN_ARTICLE_NAME);
+	joinpath(artfile, sizeof(artfile), homedir, TIN_ARTICLE_NAME);
 #	ifdef APPEND_PID
 	snprintf(artfile + strlen(artfile), sizeof(artfile) - strlen(artfile), ".%d", (int) process_id);
 #	endif /* APPEND_PID */
diff -Nurp tin-1.9.2/src/post.c tin-1.9.3/src/post.c
--- tin-1.9.2/src/post.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/post.c	2008-04-29 16:44:06.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : post.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2006-10-12
+ *  Updated   : 2008-04-29
  *  Notes     : mail/post/replyto/followup/repost & cancel articles
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -49,7 +49,7 @@
 #ifdef USE_CANLOCK
 #	define ADD_CAN_KEY(id) { \
 		char key[1024]; \
-		const char *kptr = (const char *) 0; \
+		const char *kptr; \
 		key[0] = '\0'; \
 		if ((kptr = build_cankey(id, get_secret())) != NULL) { \
 			STRCPY(key, kptr); \
@@ -124,7 +124,7 @@ static struct msg_header {
 /*
  * Local prototypes
  */
-static FILE *create_mail_headers(char *filename, const char *suffix, const char *to, const char *subject, struct t_header *extra_hdrs);
+static FILE *create_mail_headers(char *filename, size_t filename_len, const char *suffix, const char *to, const char *subject, struct t_header *extra_hdrs);
 static char **build_nglist(char *ngs_list, int *ngcnt);
 static char **split_address_list(const char *addresses, unsigned int *cnt);
 static char *backup_article_name(const char *the_article);
@@ -415,7 +415,8 @@ msg_write_headers(
 			p = msg_headers[i].text;
 			do {
 				wrote++;
-				p = strchr(++p, '\n');
+				++p;
+				p = strchr(p, '\n');
 			} while (p);
 		}
 	}
@@ -518,6 +519,7 @@ user_posted_messages(
 	FreeAndNull(posted);
 	info_pager(fp, _(txt_post_history_menu), TRUE);
 	fclose(fp);
+	info_pager(NULL, NULL, TRUE); /* free mem */
 
 	return TRUE;
 }
@@ -578,10 +580,12 @@ append_mail(
 	char *bufp;
 	char buf[LEN];
 	int fd;
-	int retrys = 10;	/* maximum lock retrys */
 	time_t epoch;
 	t_bool mmdf = FALSE;
 	t_bool rval = FALSE;
+#ifndef NO_LOCKING
+	unsigned int retrys = 11;	/* maximum lock retrys + 1 */
+#endif /* NO_LOCKING */
 
 	if (!strcasecmp(txt_mailbox_formats[tinrc.mailbox_format], "MMDF") && the_mailbox != postponed_articles_file)
 		mmdf = TRUE;
@@ -591,24 +595,28 @@ append_mail(
 
 	if ((fp_out = fopen(the_mailbox, "a+")) != NULL) {
 		fd = fileno(fp_out);
+
+#ifndef NO_LOCKING
 		/* TODO: move the retry/error stuff into a function? */
-		while (retrys-- && fd_lock(fd, FALSE))
+		while (--retrys && fd_lock(fd, FALSE))
 			wait_message(1, _(txt_trying_lock), retrys, the_mailbox);
-		if (retrys < 0) {
+		if (!retrys) {
 			wait_message(5, _(txt_error_couldnt_lock), the_mailbox);
 			fclose(fp_out);
 			fclose(fp_in);
 			return rval;
 		}
-		while (retrys-- && !dot_lock(the_mailbox))
+		retrys++;
+		while (--retrys && !dot_lock(the_mailbox))
 			wait_message(1, _(txt_trying_dotlock), retrys, the_mailbox);
-		if (retrys < 0) {
+		if (!retrys) {
 			wait_message(5, _(txt_error_couldnt_dotlock), the_mailbox);
 			fd_unlock(fd);
 			fclose(fp_out);
 			fclose(fp_in);
 			return rval;
 		}
+#endif /* !NO_LOCKING */
 
 		if (mmdf)
 			fprintf(fp_out, "%s", MMDFHDRTXT);
@@ -639,8 +647,10 @@ append_mail(
 		print_art_seperator_line(fp_out, mmdf);
 
 		fflush(fp_out);
+#ifndef NO_LOCKING
 		if (fd_unlock(fd) || !dot_unlock(the_mailbox))
 			wait_message(4, _(txt_error_cant_unlock), the_mailbox);
+#endif /* !NO_LOCKING */
 
 		fclose(fp_out);
 		rval = TRUE;
@@ -1178,7 +1188,7 @@ check_article_to_be_posted(
 	 * Is this correct for crosspostings?
 	 */
 	if (ngcnt)
-		*group = group_find(newsgroups[0]);
+		*group = group_find(newsgroups[0], FALSE);
 
 	/*
 	 * check for known 7bit charsets
@@ -1323,7 +1333,7 @@ check_article_to_be_posted(
 			my_fprintf(stderr, _(txt_warn_article_unchanged));
 		my_fprintf(stderr, _(txt_art_newsgroups), subject, PLURAL(ngcnt, txt_newsgroup));
 		for (i = 0; i < ngcnt; i++) {
-			if ((psGrp = group_find(newsgroups[i])))
+			if ((psGrp = group_find(newsgroups[i], FALSE)))
 				my_fprintf(stderr, "  %s\t %s\n", newsgroups[i], BlankIfNull(psGrp->description));
 			else {
 #ifdef HAVE_FASCIST_NEWSADMIN
@@ -1369,7 +1379,7 @@ check_article_to_be_posted(
 #endif /* HAVE_FASCIST_NEWSADMIN */
 				my_fprintf(stderr, _(txt_followup_newsgroups), PLURAL(ftngcnt, txt_newsgroup));
 				for (i = 0; i < ftngcnt; i++) {
-					if ((psGrp = group_find(followupto[i])))
+					if ((psGrp = group_find(followupto[i], FALSE)))
 						my_fprintf(stderr, "  %s\t %s\n", followupto[i], BlankIfNull(psGrp->description));
 					else {
 						if (STRCMPEQ("poster", followupto[i]))
@@ -1650,7 +1660,7 @@ post_article_done:
 			 * FIXME: This logic is faithful to the original, but awful
 			 */
 			if (art_type == GROUP_TYPE_NEWS && tinrc.add_posted_to_filter && (type == POST_QUICK || type == POST_POSTPONED || type == POST_NORMAL)) {
-				if ((group = group_find(header.newsgroups)) && (type != POST_POSTPONED || (type == POST_POSTPONED && !strchr(header.newsgroups, ',')))) {
+				if ((group = group_find(header.newsgroups, FALSE)) && (type != POST_POSTPONED || (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);
@@ -1697,7 +1707,7 @@ post_article_done:
 			char a_mailbox[LEN];
 			char posted_msgs_file[PATH_LEN];
 
-			joinpath(posted_msgs_file, tinrc.maildir, tinrc.posted_articles_file);
+			joinpath(posted_msgs_file, sizeof(posted_msgs_file), tinrc.maildir, tinrc.posted_articles_file);
 			/*
 			 * log Message-ID if given in a_message_id,
 			 * add Date:, remove empty headers
@@ -1747,7 +1757,7 @@ check_moderated(
 	do {
 		vnum++; /* number of newsgroups */
 
-		if (!(group = group_find(groupname))) {
+		if (!(group = group_find(groupname, FALSE))) {
 			bnum++;	/* number of bogus groups */
 			continue;
 		}
@@ -1958,7 +1968,7 @@ post_postponed_article(
 		*p = '\0';
 
 	snprintf(buf, sizeof(buf), _("Posting: %.*s ..."), cCOLS - 14, subject); /* TODO: -> lang.c, use strunc() */
-	post_loop(POST_POSTPONED, group_find(ng), (ask ? POST_EDIT : GLOBAL_POST), buf, GROUP_TYPE_NEWS, 0);
+	post_loop(POST_POSTPONED, group_find(ng, FALSE), (ask ? POST_EDIT : GLOBAL_POST), buf, GROUP_TYPE_NEWS, 0);
 	free(ng);
 	return;
 }
@@ -2282,12 +2292,16 @@ damaged_id(
 {
 	while (*id && isspace((unsigned char) *id))
 		id++;
+
 	if (*id != '<')
-		return 1;
+		return TRUE;
+
 	while (isascii((unsigned char) *id) && isgraph((unsigned char) *id) && !iscntrl((unsigned char) *id) && *id != '>')
 		id++;
+
 	if (*id != '>')
 		return TRUE;
+
 	return FALSE;
 }
 
@@ -2316,7 +2330,11 @@ is_crosspost(
  * several newsservers out there which do have some length limit, so
  * shortening to 998 is a good idea.
  */
-#define MAXREFSIZE 998
+#ifdef NNTP_ONLY
+#	define MAXREFSIZE 998
+#else /* some extern inews (required for posting right into the spool) can't handle 1k-lines */
+#	define MAXREFSIZE 512
+#endif /* NNTP_ONLY */
 
 
 /*
@@ -2545,7 +2563,7 @@ post_response(
 
 	fchmod(fileno(fp), (mode_t) (S_IRUSR|S_IWUSR));
 
-	group = group_find(groupname);
+	group = group_find(groupname, FALSE);
 	get_from_name(from_name, group);
 #ifdef FORGERY
 	make_path_header(line);
@@ -2575,7 +2593,7 @@ post_response(
 			if (group && group->attribute->followup_to != NULL)
 				msg_add_header("Followup-To", group->attribute->followup_to);
 			else {
-				if ((ptr = strchr(note_h.newsgroups, ',')))
+				if (strchr(note_h.newsgroups, ','))
 					msg_add_header("Followup-To", note_h.newsgroups);
 			}
 		}
@@ -2693,6 +2711,7 @@ post_response(
 static FILE *
 create_mail_headers(
 	char *filename,
+	size_t filename_len,
 	const char *suffix,
 	const char *to,
 	const char *subject,
@@ -2701,10 +2720,10 @@ create_mail_headers(
 	FILE *fp;
 
 	msg_init_headers();
-	joinpath(filename, homedir, suffix);
+	joinpath(filename, filename_len, homedir, suffix);
 
 #ifdef APPEND_PID
-	snprintf(filename + strlen(filename), PATH_LEN - strlen(filename), ".%d", (int) process_id);
+	snprintf(filename + strlen(filename), filename_len - strlen(filename), ".%d", (int) process_id);
 #endif /* APPEND_PID */
 
 	if ((fp = fopen(filename, "w")) == NULL) {
@@ -2806,7 +2825,7 @@ mail_loop(
 #endif /* HAVE_PGP_GPG */
 
 	if (groupname)
-		group = group_find(groupname);
+		group = group_find(groupname, FALSE);
 
 	forever {
 		switch (func) {
@@ -2934,7 +2953,7 @@ mail_to_someone(
 	const struct t_group *group)
 {
 	FILE *fp;
-	char nam[HEADER_LEN];
+	char nam[PATH_LEN];
 	char subject[HEADER_LEN];
 	int ret_code = POSTED_NONE;
 	struct t_header note_h = artinfo->hdr;
@@ -2949,13 +2968,50 @@ mail_to_someone(
 	 * the full original headers in either the body of the mail or a separate
 	 * message/rfc822 MIME part.
 	 */
-	if ((fp = create_mail_headers(nam, TIN_LETTER_NAME, address, subject, NULL)) == NULL)
+	if ((fp = create_mail_headers(nam, sizeof(nam), TIN_LETTER_NAME, address, subject, NULL)) == NULL)
 		return ret_code;
 
+	/*
+	 * TODO: This is a undocumented hack!
+	 * in the !mime_forward case we should get the charset of each part
+	 * and convert it to the local one (as this is also needed for the
+	 * interactive_mailer case).
+	 */
+	if (note_h.ext->type == TYPE_MULTIPART)
+		mime_forward = TRUE; /* force mime_forward for multipart articles */
+
 	if (!mime_forward || INTERACTIVE_NONE != tinrc.interactive_mailer) {
 		rewind(artinfo->raw);
 		fprintf(fp, _(txt_forwarded));
-		copy_fp(artinfo->raw, fp);
+
+		if (!note_h.mime)
+			copy_fp(artinfo->raw, fp);
+		else {
+			const char *charset;
+			char *line, *buff = my_malloc(LEN);
+			size_t l, last = LEN;
+			t_bool in_head = TRUE;
+
+			/* intentionally no undeclared_charset support here! */
+			if (!(charset = get_param(note_h.ext->params, "charset")))
+				charset = "US-ASCII";
+
+			while ((line = tin_fgets(artinfo->raw, FALSE)) != NULL) {
+				if (*line == '\0')
+					in_head = FALSE;
+				l = strlen(line) * 4 + 4 ;  /* should suffice for -> UTF-8 */
+				if (l > last) { /* realloc if needed */
+					buff = my_realloc(buff, l);
+					last = l;
+				}
+				strcpy(buff, line);
+				if (!in_head) /* just convert body */
+					process_charsets(&buff, &l, charset, tinrc.mm_local_charset, FALSE);
+				strcat(buff, "\n");
+				fwrite(buff, 1, strlen(buff), fp);
+			}
+			free(buff);
+		}
 		fprintf(fp, _(txt_forwarded_end));
 	}
 
@@ -3002,7 +3058,7 @@ mail_bug_report(
 	wait_message(0, _(txt_mail_bug_report));
 	snprintf(subject, sizeof(subject), "BUG REPORT %s\n", page_header);
 
-	if ((fp = create_mail_headers(nam, ".bugreport", bug_addr, subject, NULL)) == NULL)
+	if ((fp = create_mail_headers(nam, sizeof(nam), ".bugreport", bug_addr, subject, NULL)) == NULL)
 		return FALSE;
 
 	start_line_offset += tin_version_info(fp);
@@ -3088,7 +3144,7 @@ mail_to_author(
 	FILE *fp;
 	char *p, *q;
 	char from_addr[HEADER_LEN];
-	char nam[100];
+	char nam[PATH_LEN];
 	char subject[HEADER_LEN];
 	char initials[64];
 	int ret_code = POSTED_NONE;
@@ -3132,7 +3188,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, TIN_LETTER_NAME, from_addr, subject, &note_h)) == NULL)
+	if ((fp = create_mail_headers(nam, sizeof(nam), TIN_LETTER_NAME, from_addr, subject, &note_h)) == NULL)
 		return ret_code;
 
 	if (copy_text) {
@@ -3220,7 +3276,7 @@ mail_to_author(
 	resize_article(TRUE, &pgart);	/* rebreak long lines */
 
 	if (raw_data)	/* we've been in raw mode */
-		toggle_raw(group_find(group));
+		toggle_raw(group_find(group, FALSE));
 
 	return ret_code;
 }
@@ -3268,7 +3324,7 @@ cancel_article(
 {
 	FILE *fp;
 	char buf[HEADER_LEN];
-	char cancel[HEADER_LEN];
+	char cancel[PATH_LEN];
 	char from_name[HEADER_LEN];
 	char a_message_id[HEADER_LEN];
 #ifdef FORGERY
@@ -3302,7 +3358,7 @@ cancel_article(
 #endif /* FORGERY */
 
 #ifdef DEBUG
-	if (debug == 2)
+	if (debug & DEBUG_MISC)
 		error_message("From=[%s]  Cancel=[%s]", art->from, from_name);
 #endif /* DEBUG */
 
@@ -3342,7 +3398,7 @@ cancel_article(
 
 	clear_message();
 
-	joinpath(cancel, homedir, TIN_CANCEL_NAME);
+	joinpath(cancel, sizeof(cancel), homedir, TIN_CANCEL_NAME);
 #ifdef APPEND_PID
 	snprintf(cancel + strlen(cancel), sizeof(cancel) - strlen(cancel), ".%d", (int) process_id);
 #endif /* APPEND_PID */
@@ -3411,13 +3467,14 @@ cancel_article(
 	/* some ppl. like X-Headers: in cancels */
 	msg_add_x_headers(group->attribute->x_headers);
 
-	start_line_offset = msg_write_headers(fp);
+	start_line_offset = msg_write_headers(fp) + 1;
 	msg_free_headers();
 
 #ifdef FORGERY
-	if (author)
+	if (author) {
 		fprintf(fp, txt_article_cancelled);
-	else {
+		start_line_offset++;
+	} else {
 		rewind(pgart.raw);
 		copy_fp(pgart.raw, fp);
 	}
@@ -3426,6 +3483,7 @@ cancel_article(
 	redraw_screen = TRUE;
 #else
 	fprintf(fp, txt_article_cancelled);
+	start_line_offset++;
 	fclose(fp);
 #endif /* FORGERY */
 
@@ -3836,7 +3894,7 @@ msg_add_x_body(
 		return 0;
 
 	if (body[0] != '/' && body[0] != '~') { /* FIXME: Unix'ism */
-		strncpy(line, body, sizeof(line) - 1);
+		STRCPY(line, body);
 		if ((ptr = strrchr(line, '\n')) != NULL)
 			*ptr = '\0';
 
@@ -3940,10 +3998,8 @@ checknadd_headers(
 		}
 #endif /* HAVE_SYS_UTSNAME_H && HAVE_UNAME */
 #ifdef SYSTEM_NAME
-		if (!*suffix) {
-			if (strlen(SYSTEM_NAME))
+		if (!*suffix && strlen(SYSTEM_NAME))
 				snprintf(suffix, sizeof(suffix), " (%s)", SYSTEM_NAME);
-		}
 #endif /* SYSTEM_NAME */
 
 		fprintf(fp_out, "User-Agent: %s/%s-%s (\"%s\") (%s)%s\n",
@@ -3983,7 +4039,7 @@ insert_from_header(
 				get_from_name(from_name + 6, (struct t_group *) 0);
 
 #	ifdef DEBUG
-			if (debug == 2)
+			if (debug & DEBUG_MISC)
 				wait_message(2, "insert_from_header [%s]", from_name + 6);
 #	endif /* DEBUG */
 
@@ -4170,7 +4226,7 @@ update_active_after_posting(
 		src++;
 		if (*dst == ',' || *dst == '\0') {
 			*dst = '\0';
-			group = group_find(groupname);
+			group = group_find(groupname, FALSE);
 			if (group != NULL && group->subscribed) {
 				reread_active_for_posted_arts = TRUE;
 				group->art_was_posted = TRUE;
@@ -4268,7 +4324,7 @@ split_address_list(
 	char **argv = NULL;
 	char *addr;
 	const char *start, *end, *curr;
-	size_t len = 0, addr_len = 0;
+	size_t len, addr_len;
 	unsigned int argc = 0, dquotes = 0, parens = 0;
 
 	if (!addresses) {
@@ -4534,6 +4590,7 @@ build_messageid(
 	void)
 {
 	int i;
+	size_t j;
 	static char buf[1024]; /* Message-IDs are limited to 998-12+CRLF octets */
 	static unsigned long int seqnum = 0; /* we'd use a counter in tinrc */
 	time_t t = time(NULL);
@@ -4541,7 +4598,7 @@ build_messageid(
 	if (t >= 1041379200) /* 2003-01-01 00:00:00 GMT */
 		t -= 1041379200;
 	else
-		return '\0';
+		return NULL;
 
 	snprintf(buf, sizeof(buf), "<%sT", radix32(seqnum++));
 	strcat(buf, radix32(t));
@@ -4569,9 +4626,27 @@ build_messageid(
 	snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "N%s@%s>", radix32(getuid()), get_fqdn(get_host_name()));
 #	endif /* !FORGERY */
 
+	/*
+	 * disallow .invalid TLD (gnksa_check_from() allows it)
+	 * and Message-IDs > 250 octects (RFC 3977, 3.6)
+	 */
+	if ((j = strlen(buf) - 9) > 0) { /* strlen(".invalid>") */
+		if (!strcasecmp(".invalid>", buf + j) || j > 241) /* 250 - 9 */
+			return NULL;
+	}
+
 	i = gnksa_check_from(buf);
 	if ((GNKSA_OK != i) && (GNKSA_LOCALPART_MISSING > i))
-		buf[0] = '\0';
+		return NULL;
+
+	/*
+	 * I've seen passwd->pw_name with spaces in it (cygwin) and we use
+	 * that in the !FROGERY case -> disallow 'common' junk which is not
+	 * catched by the gnksa_check_from()
+	 */
+	if (damaged_id(buf))
+		return NULL;
+
 	return buf;
 }
 #endif /* EVIL_INSIDE */
@@ -4595,10 +4670,10 @@ build_canlock(
 		 * sha_lock should be
 		 * const char *sha_lock(const char *, size_t, const char *, size_t)
 		 * but unfortunately is
-		 * unsigned char *sha_lock(char *, size_t, char *, size_t)
+		 * char *sha_lock(const unsigned char *, size_t, const unsigned char *, size_t)
 		 * -> cast as cast can
 		 */
-		return (const char *) (sha_lock((char *) secret, strlen(secret), (char *) messageid, strlen(messageid)));
+		return (const char *) (sha_lock((const unsigned char *) secret, strlen(secret), (const unsigned char *) messageid, strlen(messageid)));
 }
 
 
@@ -4618,10 +4693,10 @@ build_cankey(
 		 * sha_key should be
 		 * const char *sha_key(const char *, size_t, const char *, size_t)
 		 * but unfortunately is
-		 * unsigned char *sha_key(char *, size_t, char *, size_t)
+		 * char *sha_key(const unsigned char *, size_t, const unsigned char *, size_t)
 		 * -> cast as cast can
 		 */
-		return (const char *) (sha_key((char *) secret, strlen(secret), (char *) messageid, strlen(messageid)));
+		return (const char *) (sha_key((const unsigned char *) secret, strlen(secret), (const unsigned char *) messageid, strlen(messageid)));
 }
 
 
@@ -4638,9 +4713,11 @@ get_secret(
 	char *ptr;
 	char path_secret[PATH_LEN];
 	static char cancel_secret[HEADER_LEN];
+	int fd;
+	struct stat statbuf;
 
 	cancel_secret[0] = '\0';
-	joinpath(path_secret, homedir, SECRET_FILE);
+	joinpath(path_secret, sizeof(path_secret), homedir, SECRET_FILE);
 	if ((fp_secret = fopen(path_secret, "r")) == NULL) {
 #	ifdef DEBUG
 		/* TODO: prompt for secret manually here? */
@@ -4650,6 +4727,24 @@ get_secret(
 #	endif /* DEBUG */
 		return NULL;
 	} else {
+		if ((fd = fileno(fp_secret)) == -1) {
+			fclose(fp_secret);
+			return NULL;
+		}
+		if (fstat(fd, &statbuf) == -1) {
+			fclose(fp_secret);
+			return NULL;
+		}
+#	ifndef FILE_MODE_BROKEN
+		if (S_ISREG(statbuf.st_mode) && (statbuf.st_mode|S_IRUSR|S_IWUSR) != (S_IRUSR|S_IWUSR|S_IFREG)) {
+#		ifdef DEBUG
+			error_message(_(txt_error_insecure_permissions), path_secret, statbuf.st_mode);
+			sleep(2);
+#		else
+			fchmod(fd, S_IRUSR|S_IWUSR);
+#		endif /* DEBUG */
+		}
+#	endif /* !FILE_MODE_BROKEN */
 		(void) fread(cancel_secret, HEADER_LEN - 1, 1, fp_secret);
 		fclose(fp_secret);
 	}
diff -Nurp tin-1.9.2/src/prompt.c tin-1.9.3/src/prompt.c
--- tin-1.9.2/src/prompt.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/prompt.c	2008-03-14 10:21:32.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2005-10-19
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/src/read.c tin-1.9.3/src/read.c
--- tin-1.9.2/src/read.c	2006-12-22 02:41:55.000000000 +0100
+++ tin-1.9.3/src/read.c	2008-03-14 10:21:33.000000000 +0100
@@ -5,7 +5,7 @@
  *  Created   : 1997-04-10
  *  Updated   : 2006-02-15
  *
- * Copyright (c) 1997-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1997-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -108,7 +108,6 @@ wait_for_input(
 		 * Something is waiting. See what's cooking...
 		 */
 		if (nfds > 0) {
-
 			/*
 			 * User pressed something. If 'q'uit, then handle this. Process
 			 * user input 1st so they get chance to quit on busy (or stalled)
diff -Nurp tin-1.9.2/src/refs.c tin-1.9.3/src/refs.c
--- tin-1.9.2/src/refs.c	2006-12-22 02:41:56.000000000 +0100
+++ tin-1.9.3/src/refs.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,12 +3,12 @@
  *  Module    : refs.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1996-05-09
- *  Updated   : 2005-07-20
+ *  Updated   : 2007-10-04
  *  Notes     : Cacheing of message ids / References based threading
  *  Credits   : Richard Hodson <richard@macgyver.tele2.co.uk>
  *              hash_msgid, free_msgid
  *
- * Copyright (c) 1996-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1996-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,15 +44,10 @@
 #define MAX_REFS	100			/* Limit recursion depth */
 #define REF_SEP	" \t"			/* Separator chars in ref headers */
 
-/* Produce disgusting amounts of output to help me tame this thing */
-#undef DEBUG_REFS
-
-#ifdef DEBUG_REFS
+#ifdef DEBUG
 #	define DEBUG_PRINT(x)	fprintf x
-FILE *dbgfd;
-#else
-#	define DEBUG_PRINT(x)
-#endif /* DEBUG_REFS */
+static FILE *dbgfd;
+#endif /* DEBUG */
 
 /*
  * local prototypes
@@ -65,13 +60,13 @@ static t_bool valid_msgid(const char *ms
 static unsigned int hash_msgid(const char *key);
 static void add_to_parent(struct t_msgid *ptr);
 static void build_thread(struct t_msgid *ptr);
-#ifdef DEBUG_REFS
-	static void dump_thread(FILE *fp, struct t_msgid *msgid, int level);
+#ifdef DEBUG
 	static void dump_msgid_thread(struct t_msgid *ptr, int level);
 	static void dump_msgid_threads(void);
-#endif /* DEBUG_REFS */
+#endif /* DEBUG */
 #if 0
 	static void dump_msgids(void);
+	static void dump_thread(FILE *fp, struct t_msgid *msgid, int level);
 #endif /* 0 */
 
 /*
@@ -248,7 +243,10 @@ add_msgid(
 
 	h = hash_msgid(msgid + 1);				/* Don't hash the initial '<' */
 
-	DEBUG_PRINT((dbgfd, "---------------- Add %s %s with parent %s\n", (key == MSGID_REF) ? "MSG" : "REF", msgid, (newparent == NULL) ? _("unchanged") : newparent->txt));
+#ifdef DEBUG
+	if (debug & DEBUG_REFS)
+		DEBUG_PRINT((dbgfd, "---------------- Add %s %s with parent %s\n", (key == MSGID_REF) ? "MSG" : "REF", msgid, (newparent == NULL) ? _("unchanged") : newparent->txt));
+#endif /* DEBUG */
 
 	/*
 	 * Look for this message id in the cache.
@@ -262,7 +260,10 @@ add_msgid(
 		 * CASE 1a - No parent specified, do nothing
 		 */
 		if (newparent == NULL) {
-			DEBUG_PRINT((dbgfd, "nop: %s No parent specified\n", i->txt));
+#ifdef DEBUG
+			if (debug & DEBUG_REFS)
+				DEBUG_PRINT((dbgfd, "nop: %s No parent specified\n", i->txt));
+#endif /* DEBUG */
 			return i;
 		}
 
@@ -270,7 +271,10 @@ add_msgid(
 		 * CASE 1b - Parent not changed, do nothing
 		 */
 		if (newparent == i->parent) {
-			DEBUG_PRINT((dbgfd, "dup: %s -> %s (no change)\n", i->txt, i->parent ? i->parent->txt : "NULL"));
+#ifdef DEBUG
+			if (debug & DEBUG_REFS)
+				DEBUG_PRINT((dbgfd, "dup: %s -> %s (no change)\n", i->txt, i->parent ? i->parent->txt : "NULL"));
+#endif /* DEBUG */
 			return i;
 		}
 
@@ -285,15 +289,20 @@ add_msgid(
 			 */
 			for (ptr = newparent; ptr != NULL; ptr = ptr->parent) {
 				if (ptr == i) {
-					DEBUG_PRINT((dbgfd, "Avoiding circular reference! (%s)\n", (key == MSGID_REF) ? "MSG" : "REF"));
+#ifdef DEBUG
+					if (debug & DEBUG_REFS)
+						DEBUG_PRINT((dbgfd, "Avoiding circular reference! (%s)\n", (key == MSGID_REF) ? "MSG" : "REF"));
+#endif /* DEBUG */
 					return i;
 				}
 			}
 
 			i->parent = newparent;
 			add_to_parent(i);
-
-			DEBUG_PRINT((dbgfd, "set: %s -> %s\n", i->txt, newparent ? newparent->txt : _("None")));
+#ifdef DEBUG
+			if (debug & DEBUG_REFS)
+				DEBUG_PRINT((dbgfd, "set: %s -> %s\n", i->txt, newparent ? newparent->txt : _("None")));
+#endif /* DEBUG */
 			return i;
 		}
 
@@ -305,9 +314,12 @@ add_msgid(
 		 * All we can do is ignore the error
 		 */
 		if (i->parent != newparent) {
-			DEBUG_PRINT((dbgfd, "Warning: (%s) Ignoring %s -> %s (already %s)\n",
-				(key == MSGID_REF) ? "MSG" : "REF", i->txt,
-				newparent ? newparent->txt : "None", i->parent->txt));
+#ifdef DEBUG
+			if (debug & DEBUG_REFS)
+				DEBUG_PRINT((dbgfd, "Warning: (%s) Ignoring %s -> %s (already %s)\n",
+					(key == MSGID_REF) ? "MSG" : "REF", i->txt,
+					newparent ? newparent->txt : "None", i->parent->txt));
+#endif /* DEBUG */
 
 			return i;
 		}
@@ -316,7 +328,10 @@ add_msgid(
 		return i;
 	}
 
-	DEBUG_PRINT((dbgfd, "new: %s -> %s\n", msgid, (newparent)?newparent->txt:"None"));
+#ifdef DEBUG
+	if (debug & DEBUG_REFS)
+		DEBUG_PRINT((dbgfd, "new: %s -> %s\n", msgid, (newparent)?newparent->txt:"None"));
+#endif /* DEBUG */
 
 	/*
 	 * This is a new node, so build a structure for it
@@ -385,7 +400,10 @@ parse_references(
 	if (!r)
 		return NULL;
 
-	DEBUG_PRINT((dbgfd, "parse_references: %s\n", r));
+#ifdef DEBUG
+	if (debug & DEBUG_REFS)
+		DEBUG_PRINT((dbgfd, "parse_references: %s\n", r));
+#endif /* DEBUG */
 
 	/*
 	 * Break the refs down, using REF_SEP as delimiters
@@ -435,10 +453,12 @@ _get_references(
 	len += strlen(refptr->txt) + 1;	/* msgid + space */
 	if (refptr->parent == NULL || depth > MAX_REFS) {
 
-#ifdef DEBUG_REFS
-		if (depth > MAX_REFS)
-			error_message("Warning: Too many refs near to %s. Truncated\n", refptr->txt);
-#endif /* DEBUG_REFS */
+#ifdef DEBUG
+		if (debug & DEBUG_REFS) {
+			if (depth > MAX_REFS)
+				error_message("Warning: Too many refs near to %s. Truncated\n", refptr->txt);
+		}
+#endif /* DEBUG */
 		refs = my_malloc(len + 1);	/* total length + nullbyte */
 		pos = 0;
 	} else
@@ -501,6 +521,45 @@ free_msgids(
 
 
 #if 0	/* But please don't remove it */
+/*
+ * Function to dump an ASCII tree map of a thread rooted at msgid.
+ * Output goes to fp, level is the current depth of the tree.
+ */
+static void
+dump_thread(
+	FILE *fp,
+	struct t_msgid *msgid,
+	int level)
+{
+	char buff[120];		/* This is _probably_ enough */
+	char *ptr = buff;
+	int i, len;
+
+	/*
+	 * Dump the current article
+	 */
+	sprintf(ptr, "%3d %*s", msgid->article, 2*level, "  ");
+
+	len = strlen(ptr);
+	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);
+	else
+		sprintf(ptr + len, "%-*.*s", i, i, _("[- Unavailable -]"));
+
+	fprintf(fp, "%s\n", ptr);
+
+	if (msgid->child != NULL)
+		dump_thread(fp, msgid->child, level + 1);
+
+	if (msgid->sibling != NULL)
+		dump_thread(fp, msgid->sibling, level);
+
+	return;
+}
+
+
 static void
 dump_msgids(
 	void)
@@ -580,46 +639,8 @@ clear_art_ptrs(
 }
 
 
-/*
- * Function to dump an ASCII tree map of a thread rooted at msgid.
- * Output goes to fp, level is the current depth of the tree.
- */
-#ifdef DEBUG_REFS
-static void
-dump_thread(
-	FILE *fp,
-	struct t_msgid *msgid,
-	int level)
-{
-	char buff[120];		/* This is _probably_ enough */
-	char *ptr = buff;
-	int i, len;
-
-	/*
-	 * Dump the current article
-	 */
-	sprintf(ptr, "%3d %*s", msgid->article, 2*level, "  ");
-
-	len = strlen(ptr);
-	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);
-	else
-		sprintf(ptr + len, "%-*.*s", i, i, _("[- Unavailable -]"));
-
-	fprintf(fp, "%s\n", ptr);
-
-	if (msgid->child != NULL)
-		dump_thread(fp, msgid->child, level + 1);
-
-	if (msgid->sibling != NULL)
-		dump_thread(fp, msgid->sibling, level);
-
-	return;
-}
-
 
+#ifdef DEBUG
 /*
  * Dump out all the threads from the msgid point of view, show the
  * related article index in arts[] where possible
@@ -666,7 +687,7 @@ dump_msgid_threads(
 
 	fprintf(dbgfd, "Dump complete.\n\n");
 }
-#endif /* DEBUG_REFS */
+#endif /* DEBUG */
 
 
 /*
@@ -787,10 +808,12 @@ thread_by_reference(
 	int i;
 	struct t_msgid *ptr;
 
-#ifdef DEBUG_REFS
-	dbgfd = fopen("Refs.info", "w");
-	dump_msgid_threads();
-#endif /* DEBUG_REFS */
+#ifdef DEBUG
+	if (debug & DEBUG_REFS) {
+		dbgfd = fopen("Refs.info", "w");
+		dump_msgid_threads();
+	}
+#endif /* DEBUG */
 
 	/*
 	 * Build threads starting from root msgids (ie without parent)
@@ -804,20 +827,22 @@ thread_by_reference(
 		}
 	}
 
-#ifdef DEBUG_REFS
-	fprintf(dbgfd, "Full dump of threading info...\n");
-	fprintf(dbgfd, "%3s %3s %3s %3s : %3s %3s\n", "#", "Par", "Sib", "Chd", "In", "Thd");
+#ifdef DEBUG
+	if (debug & DEBUG_REFS) {
+		fprintf(dbgfd, "Full dump of threading info...\n");
+		fprintf(dbgfd, "%3s %3s %3s %3s : %3s %3s\n", "#", "Par", "Sib", "Chd", "In", "Thd");
+
+		for_each_art(i) {
+			fprintf(dbgfd, "%3d %3d %3d %3d : %3d %3d : %.50s %s\n", i,
+				(arts[i].refptr->parent) ? arts[i].refptr->parent->article : -2,
+				(arts[i].refptr->sibling) ? arts[i].refptr->sibling->article : -2,
+				(arts[i].refptr->child) ? arts[i].refptr->child->article : -2,
+				arts[i].prev, arts[i].thread, arts[i].refptr->txt, arts[i].subject);
+		}
 
-	for_each_art(i) {
-		fprintf(dbgfd, "%3d %3d %3d %3d : %3d %3d : %.50s %s\n", i,
-			(arts[i].refptr->parent) ? arts[i].refptr->parent->article : -2,
-			(arts[i].refptr->sibling) ? arts[i].refptr->sibling->article : -2,
-			(arts[i].refptr->child) ? arts[i].refptr->child->article : -2,
-			arts[i].prev, arts[i].thread, arts[i].refptr->txt, arts[i].subject);
+		fclose(dbgfd);
 	}
-
-	fclose(dbgfd);
-#endif /* DEBUG_REFS */
+#endif /* DEBUG */
 
 	return;
 }
@@ -923,11 +948,13 @@ build_references(
 	               group->attribute->sort_art_type == SORT_ARTICLES_BY_SCORE_ASCEND ||
 	               group->attribute->sort_art_type == SORT_ARTICLES_BY_LINES_ASCEND);
 
-#ifdef DEBUG_REFS
-	dbgfd = fopen("Refs.dump", "w");
-	SETVBUF(dbgfd, NULL, _IONBF, 0);
-	fprintf(dbgfd, "MSGID phase\n");
-#endif /* DEBUG_REFS */
+#ifdef DEBUG
+	if (debug & DEBUG_REFS) {
+		dbgfd = fopen("Refs.dump", "w");
+		SETVBUF(dbgfd, NULL, _IONBF, 0);
+		fprintf(dbgfd, "MSGID phase\n");
+	}
+#endif /* DEBUG */
 
 	/*
 	 * Add the Message-ID headers to the cache, using the last Reference
@@ -951,7 +978,10 @@ build_references(
 					/*
 					 * Remove circular reference to current article
 					 */
-					DEBUG_PRINT((dbgfd, "removing circular reference to: %s\n", s));
+#ifdef DEBUG
+					if (debug & DEBUG_REFS)
+						DEBUG_PRINT((dbgfd, "removing circular reference to: %s\n", s));
+#endif /* DEBUG */
 					*s = '\0';
 				}
 			}
@@ -970,7 +1000,10 @@ build_references(
 		FreeAndNull(art->msgid);	/* Now cached - discard this */
 	}
 
-	DEBUG_PRINT((dbgfd, "REFS phase\n"));
+#ifdef DEBUG
+	if (debug & DEBUG_REFS)
+		DEBUG_PRINT((dbgfd, "REFS phase\n"));
+#endif /* DEBUG */
 	/*
 	 * Add the References data to the cache
 	 */
@@ -993,7 +1026,8 @@ build_references(
 		FreeAndNull(art->refs);
 	}
 
-#ifdef DEBUG_REFS
-	fclose(dbgfd);
-#endif /* DEBUG_REFS */
+#ifdef DEBUG
+	if (debug & DEBUG_REFS)
+		fclose(dbgfd);
+#endif /* DEBUG */
 }
diff -Nurp tin-1.9.2/src/regex.c tin-1.9.3/src/regex.c
--- tin-1.9.2/src/regex.c	2006-12-22 02:41:56.000000000 +0100
+++ tin-1.9.3/src/regex.c	2008-04-25 14:12:00.000000000 +0200
@@ -3,11 +3,11 @@
  *  Module    : regex.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1997-02-21
- *  Updated   : 2003-12-17
+ *  Updated   : 2008-04-25
  *  Notes     : Regular expression subroutines
  *  Credits   :
  *
- * Copyright (c) 1997-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1997-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -77,8 +77,10 @@ match_regex(
 	}
 
 	if ((error = pcre_exec(ptr_cache->re, ptr_cache->extra, string, strlen(string), 0, 0, NULL, 0)) >= 0) {
-		FreeIfNeeded(tmp_cache.re);
-		FreeIfNeeded(tmp_cache.extra);
+		if (ptr_cache == &tmp_cache) {
+			FreeIfNeeded(tmp_cache.re);
+			FreeIfNeeded(tmp_cache.extra);
+		}
 
 		return TRUE;
 	}
@@ -146,7 +148,7 @@ highlight_regexes(
 	int color)
 {
 	char *ptr;
-	int offsets[6];
+	int offsets[6]; /* we are not interrested in any supatterns, so 6 is sufficient */
 	int offsets_size = ARRAY_SIZE(offsets);
 #ifdef USE_CURSES
 	char buf[LEN];
@@ -162,7 +164,8 @@ highlight_regexes(
 #endif /* USE_CURSES */
 	ptr = buf;
 
-	while (pcre_exec(regex->re, regex->extra, ptr, strlen(ptr), 0, 0, offsets, offsets_size) > 0) {
+	/* also check for 0 as offsets[] might be too small to hold all captured subpatterns */
+	while (pcre_exec(regex->re, regex->extra, ptr, strlen(ptr), 0, 0, offsets, offsets_size) >= 0) {
 		/* we have a match */
 		if (color >= 0) /* color the matching text */
 			word_highlight_string(row, (ptr - buf) + offsets[0], offsets[1] - offsets[0], color);
diff -Nurp tin-1.9.2/src/rfc1524.c tin-1.9.3/src/rfc1524.c
--- tin-1.9.2/src/rfc1524.c	2006-12-22 02:41:56.000000000 +0100
+++ tin-1.9.3/src/rfc1524.c	2008-03-14 10:21:33.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2005-07-02
  *  Notes     : mailcap parsing as defined in RFC 1524
  *
- * Copyright (c) 2000-2007 Urs Janssen <urs@tin.org>, Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 2000-2008 Urs Janssen <urs@tin.org>, Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/src/rfc2045.c tin-1.9.3/src/rfc2045.c
--- tin-1.9.2/src/rfc2045.c	2006-12-22 02:41:56.000000000 +0100
+++ tin-1.9.3/src/rfc2045.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : rfc2045.c
  *  Author    : Chris Blum <chris@resolution.de>
  *  Created   : 1995-09-01
- *  Updated   : 2005-05-10
+ *  Updated   : 2007-11-27
  *  Notes     : RFC 2045/2047 encoding
  *
- * Copyright (c) 1995-2007 Chris Blum <chris@resolution.de>
+ * Copyright (c) 1995-2008 Chris Blum <chris@resolution.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,7 +42,7 @@
 /*
  * local prototypes
  */
-static int put_rest(char **rest, char **line, int *max_line_len, const int offset);
+static int put_rest(char **rest, char **line, size_t *max_line_len, const int offset);
 static unsigned char bin2hex(unsigned int x);
 static void set_rest(char **rest, const char *ptr);
 
@@ -251,7 +251,7 @@ static int
 put_rest(
 	char **rest,
 	char **line,
-	int *max_line_len,
+	size_t *max_line_len,
 	const int offset)
 {
 	char *my_rest = *rest;
@@ -272,7 +272,7 @@ put_rest(
 		/*
 		 * Resize line if necessary. Keep in mind that we add LF and \0 later.
 		 */
-		if (put_chars >= *max_line_len - 2) {
+		if (put_chars >= (int) *max_line_len - 2) {
 			if (*max_line_len == 0)
 				*max_line_len = LEN;
 			else
@@ -317,7 +317,7 @@ int
 read_decoded_base64_line(
 	FILE *file,
 	char **line,
-	int *max_line_len,
+	size_t *max_line_len,
 	const int max_lines_to_read,
 	char **rest)
 {
@@ -379,7 +379,7 @@ read_decoded_base64_line(
 			 * newline is expected at the end of a line by some other code in
 			 * cook.c.
 			 */
-			if (put_chars > *max_line_len - 2) {
+			if (put_chars > (int) *max_line_len - 2) {
 				*max_line_len <<= 1;
 				*line = my_realloc(*line, *max_line_len);
 			}
@@ -403,7 +403,7 @@ read_decoded_base64_line(
 	 * newline is expected at the end of a line by some other code in
 	 * cook.c.
 	 */
-	if (put_chars > *max_line_len - 2) {
+	if (put_chars > (int) *max_line_len - 2) {
 		*max_line_len <<= 1;
 		*line = my_realloc(*line, *max_line_len);
 	}
@@ -430,7 +430,7 @@ int
 read_decoded_qp_line(
 	FILE *file,
 	char **line,					/* where to copy the decoded line */
-	int *max_line_len,				/* (maximum) line length */
+	size_t *max_line_len,				/* (maximum) line length */
 	const int max_lines_to_read)	/* don't read more physical lines than told here */
 {
 	char *buf, *buf2;
@@ -512,7 +512,7 @@ read_decoded_qp_line(
 	} else	/* error in encoding: copy raw line */
 		ptr = buf;
 
-	if (*max_line_len < (int) strlen(ptr) + 1) {
+	if (*max_line_len < strlen(ptr) + 1) {
 		*max_line_len = strlen(ptr) + 1;
 		*line = my_realloc(*line, *max_line_len);
 	}
diff -Nurp tin-1.9.2/src/rfc2046.c tin-1.9.3/src/rfc2046.c
--- tin-1.9.2/src/rfc2046.c	2006-12-22 02:41:56.000000000 +0100
+++ tin-1.9.3/src/rfc2046.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : rfc2046.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 2000-02-18
- *  Updated   : 2005-07-02
+ *  Updated   : 2007-12-30
  *  Notes     : RFC 2046 MIME article parsing
  *
- * Copyright (c) 2000-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 2000-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -80,7 +80,7 @@ static void
 progress(
 	int line_count)
 {
-	if (progress_mesg != NULL && line_count && line_count % MODULO_COUNT_NUM == 0)
+	if (progress_mesg != NULL && art_lines > 0 && line_count && line_count % MODULO_COUNT_NUM == 0)
 		show_progress(progress_mesg, line_count, art_lines);
 }
 
@@ -623,7 +623,7 @@ parse_header(
 					else
 						sprintf(ptr, "%s <%s>", convert_to_printable(rfc1522_decode(name)), addr);
 				} else
-					sprintf(ptr, "%s", addr);
+					strcpy(ptr, addr);
 			} else
 				return convert_to_printable(ptr);
 		} else
@@ -817,8 +817,10 @@ unfold_header(
 	char *src = line, *dst = line;
 	char c;
 
-	while ((c = *src++))
-		if (c != '\n') *dst++ = c;
+	while ((c = *src++)) {
+		if (c != '\n')
+			*dst++ = c;
+	}
 	*dst = c;
 }
 
@@ -1112,22 +1114,23 @@ open_art_fp(
 	long art)
 {
 	FILE *art_fp;
-	char buf[NNTP_STRLEN];
 
 #ifdef NNTP_ABLE
 	if (read_news_via_nntp && group->type == GROUP_TYPE_NEWS) {
+		char buf[NNTP_STRLEN];
 		snprintf(buf, sizeof(buf), "ARTICLE %ld", art);
 		art_fp = nntp_command(buf, OK_ARTICLE, NULL, 0);
 	} else {
 #endif /* NNTP_ABLE */
+		char buf[PATH_LEN];
 		char pbuf[PATH_LEN];
 		char fbuf[NAME_LEN + 1];
 		char group_path[PATH_LEN];
 
 		make_group_path(group->name, group_path);
-		joinpath(buf, group->spooldir, group_path);
+		joinpath(buf, sizeof(buf), group->spooldir, group_path);
 		snprintf(fbuf, sizeof(fbuf), "%ld", art);
-		joinpath(pbuf, buf, fbuf);
+		joinpath(pbuf, sizeof(pbuf), buf, fbuf);
 
 		art_fp = fopen(pbuf, "r");
 #ifdef NNTP_ABLE
diff -Nurp tin-1.9.2/src/rfc2047.c tin-1.9.3/src/rfc2047.c
--- tin-1.9.2/src/rfc2047.c	2006-12-22 02:41:56.000000000 +0100
+++ tin-1.9.3/src/rfc2047.c	2008-04-05 11:45:11.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : rfc2047.c
  *  Author    : Chris Blum <chris@resolution.de>
  *  Created   : 1995-09-01
- *  Updated   : 2005-07-02
+ *  Updated   : 2008-02-25
  *  Notes     : MIME header encoding/decoding stuff
  *
- * Copyright (c) 1995-2007 Chris Blum <chris@resolution.de>
+ * Copyright (c) 1995-2008 Chris Blum <chris@resolution.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -82,7 +82,7 @@ enum {
  */
 static FILE *compose_message_rfc822(FILE *articlefp, t_bool *is_8bit);
 static FILE *compose_multipart_mixed(FILE *textfp, FILE *articlefp);
-static int do_b_encode(char *w, char *b, int max_ewsize, t_bool isstruct_head);
+static int do_b_encode(char *w, char *b, size_t max_ewsize, t_bool isstruct_head);
 static int sizeofnextword(char *w);
 static int which_encoding(char *w);
 static t_bool contains_8bit_characters(FILE *fp);
@@ -224,7 +224,7 @@ rfc1522_decode(
 	char *t;
 #define BUFFER_LEN 2048
 	static char buffer[BUFFER_LEN];
-	int max_len;
+	size_t max_len;
 	char charset[1024];
 	char encoding;
 	t_bool adjacentflag = FALSE;
@@ -355,7 +355,7 @@ static int
 do_b_encode(
 	char *w,
 	char *b,
-	int max_ewsize,
+	size_t max_ewsize,
 	t_bool isstruct_head)
 {
 	char tmp[60];				/* strings to be B encoded */
@@ -509,18 +509,16 @@ rfc1522_do_encode(
 	 * (just checking that they don get longer than 76 characters),
 	 * then, in a second pass, we replace all SPACEs inside encoded
 	 * words by '_', break long lines, etc.
-	 *
-	 * *group is passed for evaluation of group-attributes,
-	 * set to NULL for e-mails
 	 */
+	char *buffer;				/* buffer for encoded stuff */
 	char *c;
 	char *t;
-	char buf[2048];				/* buffer for encoded stuff */
-	char buf2[80];					/* buffer for this and that */
-	int encoding;					/* which encoding to use ('B' or 'Q') */
-	int ew_taken_len;
-	int column = 0;				/* current column */
+	char buf2[80];				/* buffer for this and that */
+	int encoding;				/* which encoding to use ('B' or 'Q') */
+	size_t ew_taken_len;
 	int word_cnt = 0;
+	int offset;
+	size_t bufferlen = 2048;		/* size of buffer */
 	size_t ewsize = 0;			/* size of current encoded-word */
 	t_bool quoting = FALSE;		/* currently inside quote block? */
 	t_bool any_quoting_done = FALSE;
@@ -544,21 +542,28 @@ rfc1522_do_encode(
 		}
 	} while (*(++strptr) != 0);
 
-	t = buf;
+	t = buffer = my_malloc(bufferlen);
 	encoding = which_encoding(what);
 	ew_taken_len = strlen(charset) + 7 /* =?c?E?d?= */;
 	while (*what) {
 		if (break_long_line)
 			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. even if
- * they are made of only 7bit chars)
- */
+		/*
+		 * 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.
+		 * even if they are made of only 7bit chars)
+		 */
 		if (contains_nonprintables(what, isstruct_head) || isbroken_within) {
 			if (encoding == 'Q') {
 				if (!quoting) {
 					snprintf(buf2, sizeof(buf2), "=?%s?%c?", charset, encoding);
+					while (t - buffer + strlen(buf2) >= bufferlen) {
+						/* buffer too small, double its size */
+						offset = t - buffer;
+						bufferlen <<= 1;
+						buffer = my_realloc(buffer, bufferlen * sizeof(*buffer));
+						t = buffer + offset;
+					}
 					ewsize = mystrcat(&t, buf2);
 					if (break_long_line) {
 						if (word_cnt == 2) {
@@ -568,7 +573,7 @@ rfc1522_do_encode(
 							 * since we cannot break the line
 							 * directly after the keyword.
 							 */
-							ewsize = t - buf;
+							ewsize = t - buffer;
 						}
 					}
 					quoting = TRUE;
@@ -583,11 +588,25 @@ rfc1522_do_encode(
 #endif /* 0 */
 					{
 						snprintf(buf2, sizeof(buf2), "=%2.2X", *EIGHT_BIT(what));
+						if ((size_t)( t - buffer + 3) >= bufferlen) {
+							/* buffer too small, double its size */
+							offset = t - buffer;
+							bufferlen <<= 1;
+							buffer = my_realloc(buffer, bufferlen * sizeof(*buffer));
+							t = buffer + offset;
+						}
 						*t++ = buf2[0];
 						*t++ = buf2[1];
 						*t++ = buf2[2];
 						ewsize += 3;
 					} else {
+						if ((size_t) (t - buffer + 1) >= bufferlen) {
+							/* buffer too small, double its size */
+							offset = t - buffer;
+							bufferlen <<= 1;
+							buffer = my_realloc(buffer, bufferlen * sizeof(*buffer));
+							t = buffer + offset;
+						}
 						*t++ = *what;
 						ewsize++;
 					}
@@ -607,15 +626,26 @@ rfc1522_do_encode(
 				}
 				if (!contains_nonprintables(what, isstruct_head) || ewsize >= 70 - strlen(charset)) {
 					/* next word is 'clean', close encoding */
+					if ((size_t) (t - buffer + 2) >= bufferlen) {
+						/* buffer too small, double its size */
+						offset = t - buffer;
+						bufferlen <<= 1;
+						buffer = my_realloc(buffer, bufferlen * sizeof(*buffer));
+						t = buffer + offset;
+					}
 					*t++ = '?';
 					*t++ = '=';
 					ewsize += 2;
-/*
- * 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. even if
- * they are made of only 7bit chars)
- */
+					/*
+					 */
 					if (ewsize >= 70 - strlen(charset) && (contains_nonprintables(what, isstruct_head) || isbroken_within)) {
+						if ((size_t) (t - buffer + 1) >= bufferlen) {
+							/* buffer too small, double its size */
+							offset = t - buffer;
+							bufferlen <<= 1;
+							buffer = my_realloc(buffer, bufferlen * sizeof(*buffer));
+							t = buffer + offset;
+						}
 						*t++ = ' ';
 						ewsize++;
 					}
@@ -623,6 +653,13 @@ rfc1522_do_encode(
 				} else {
 					/* process whitespace in-between by quoting it properly */
 					while (*what && isspace((unsigned char) *what)) {
+						if ((size_t) (t - buffer + 3) >= bufferlen) {
+							/* buffer probably too small, double its size */
+							offset = t - buffer;
+							bufferlen <<= 1;
+							buffer = my_realloc(buffer, bufferlen * sizeof(*buffer));
+							t = buffer + offset;
+						}
 						if (*what == 32 /* not ' ', compare chapter 4! */ ) {
 							*t++ = '_';
 							ewsize++;
@@ -646,11 +683,25 @@ rfc1522_do_encode(
 				 */
 				while (*what && (!isbetween(*what, isstruct_head) || rightafter_ew)) {
 					snprintf(buf2, sizeof(buf2), "=?%s?%c?", charset, encoding);
+					while (t - buffer + strlen(buf2) >= bufferlen) {
+						/* buffer too small, double its size */
+						offset = t - buffer;
+						bufferlen <<= 1;
+						buffer = my_realloc(buffer, bufferlen * sizeof(*buffer));
+						t = buffer + offset;
+					}
 					ewsize = mystrcat(&t, buf2);
 
 					if (word_cnt == 2)
-						ewsize = t - buf;
+						ewsize = t - buffer;
 					what += do_b_encode(what, buf2, 75 - ew_taken_len, isstruct_head);
+					while (t - buffer + strlen(buf2) + 3 >= bufferlen) {
+						/* buffer too small, double its size */
+						offset = t - buffer;
+						bufferlen <<= 1;
+						buffer = my_realloc(buffer, bufferlen * sizeof(*buffer));
+						t = buffer + offset;
+					}
 					ewsize += mystrcat(&t, buf2);
 					*t++ = '?';
 					*t++ = '=';
@@ -673,60 +724,77 @@ rfc1522_do_encode(
 				}
 			}		/* end of B encoding */
 		} else {
-			while (*what && !isbetween(*what, isstruct_head))
+			while (*what && !isbetween(*what, isstruct_head)) {
+				if ((size_t) (t - buffer + 1) >= bufferlen) {
+					/* buffer too small, double its size */
+					offset = t - buffer;
+					bufferlen <<= 1;
+					buffer = my_realloc(buffer, bufferlen * sizeof(*buffer));
+					t = buffer + offset;
+				}
 				*t++ = *what++;		/* output word unencoded */
-			while (*what && isbetween(*what, isstruct_head))
+			}
+			while (*what && isbetween(*what, isstruct_head)) {
+				if ((size_t) (t - buffer + 1) >= bufferlen) {
+					/* buffer too small, double its size */
+					offset = t - buffer;
+					bufferlen <<= 1;
+					buffer = my_realloc(buffer, bufferlen * sizeof(*buffer));
+					t = buffer + offset;
+				}
 				*t++ = *what++;		/* output trailing whitespace unencoded */
+			}
 			rightafter_ew = FALSE;
 		}
 	}		/* end of pass 1 while loop */
 	*t = 0;
+
 	/* Pass 2: break long lines if there are MIME-sequences in the result */
-	c = buf;
-	if (break_long_line) {
-		column = 0;
-		if (any_quoting_done) {
-			word_cnt = 1;			/*
-									 * note, if the user has typed a continuation
-									 * line, we will consider the initial
-									 * whitespace to be delimiting word one (well,
-									 * just assume an empty word).
-									 */
-			while (*c) {
-				if (isspace((unsigned char) *c)) {
-					/*
-					 * According to rfc1522, header lines containing encoded
-					 * words are limited to 76 chars, but if the first line is
-					 * too long (due to a long header keyword), we cannot stick
-					 * to that, since we would break the line directly after the
-					 * keyword's colon, which is not allowed. The same is
-					 * necessary for a continuation line with an unencoded word
-					 * that is too long.
-					 */
-					if (sizeofnextword(c) + column > 76 && word_cnt != 1) {
-						*((*where)++) = '\n';
-						column = 0;
-					}
-					if (c > buf && !isspace((unsigned char) *(c - 1)))
-						word_cnt++;
-					*((*where)++) = *c++;
+	c = buffer;
+	if (break_long_line && any_quoting_done) {
+		char *new_buffer;
+		size_t new_bufferlen = strlen(buffer) * 2 + 1; /* maximum length if
+every "word" were a space ... */
+		int column = 0;				/* current column */
+
+		new_buffer = my_malloc(new_bufferlen);
+		t = new_buffer;
+		word_cnt = 1;			/*
+						 * note, if the user has typed a continuation
+						 * line, we will consider the initial
+						 * whitespace to be delimiting word one (well,
+						 * just assume an empty word).
+						 */
+		while (*c) {
+			if (isspace((unsigned char) *c)) {
+				/*
+				 * According to rfc1522, header lines containing encoded
+				 * words are limited to 76 chars, but if the first line is
+				 * too long (due to a long header keyword), we cannot stick
+				 * to that, since we would break the line directly after the
+				 * keyword's colon, which is not allowed. The same is
+				 * necessary for a continuation line with an unencoded word
+				 * that is too long.
+				 */
+				if (sizeofnextword(c) + column > 76 && word_cnt != 1) {
+					*t++ = '\n';
+					column = 0;
+				}
+				if (c > buffer && !isspace((unsigned char) *(c - 1)))
+					word_cnt++;
+				*t++ = *c++;
+				column++;
+			} else
+				while (*c && !isspace((unsigned char) *c)) {
+					*t++ = *c++;
 					column++;
-				} else
-					while (*c && !isspace((unsigned char) *c)) {
-						*((*where)++) = *c++;
-						column++;
-					}
-			}
-		} else {
-			while (*c)
-				*((*where)++) = *c++;
+				}
 		}
-	} else {		/* !break_long_line */
-		while (*c)
-			*((*where)++) = *c++;
+		FreeAndNull(buffer);
+		buffer = new_buffer;
 	}
-
-	**where = 0;
+	*t = 0;
+	*where = buffer;
 	return any_quoting_done;
 }
 
@@ -740,26 +808,27 @@ rfc1522_encode(
 	const char *charset,
 	t_bool ismail)
 {
-	char *b, *buf;
+	char *buf;
 	t_bool x;
-/*
- * break_long_line is FALSE for news posting unless MIME_BREAK_LONG_LINES is
- * defined, but it's TRUE for mail messages regardless of whether or not
- * MIME_BREAK_LONG_LINES is defined
- */
+
+	/*
+	 * break_long_line is FALSE for news posting unless
+	 * MIME_BREAK_LONG_LINES is defined, but it's TRUE for mail messages
+	 * regardless of whether or not MIME_BREAK_LONG_LINES is defined
+	 */
 #ifdef MIME_BREAK_LONG_LINES
 	t_bool break_long_line = TRUE;
 #else
-/*
- * Even if MIME_BREAK_LONG_LINES is NOT defined, long headers in mail
- * messages should be broken up in accordance with RFC 2047(1522)
- */
+	/*
+	 * Even if MIME_BREAK_LONG_LINES is NOT defined, long headers in mail
+	 * messages should be broken up in accordance with RFC 2047(1522)
+	 */
 	t_bool break_long_line = ismail;
 #endif /* MIME_BREAK_LONG_LINES */
 
-	b = buf = my_malloc(2048);
-	x = rfc1522_do_encode(s, &b, charset, break_long_line);
+	x = rfc1522_do_encode(s, &buf, charset, break_long_line);
 	quoteflag = quoteflag || x;
+
 	return buf;
 }
 
diff -Nurp tin-1.9.2/src/save.c tin-1.9.3/src/save.c
--- tin-1.9.2/src/save.c	2006-12-22 02:41:56.000000000 +0100
+++ tin-1.9.3/src/save.c	2008-04-25 13:51:09.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : save.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2006-09-02
+ *  Updated   : 2008-04-25
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,9 +48,10 @@
 #	endif /* !__UUDEVIEW_H__ */
 #endif /* HAVE_UUDEVIEW_H */
 
+#ifndef HAVE_LIBUU
 #undef OFF
-
 enum state { INITIAL, MIDDLE, OFF, END };
+#endif /* !HAVE_LIBUU */
 
 /*
  * Local prototypes
@@ -59,7 +60,7 @@ static FILE *open_save_filename(const ch
 static int match_content_type(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, const char *path);
+static t_bool expand_save_filename(char *outpath, size_t outpath_len, const char *path);
 static void generate_filename(char *buf, int buflen, const char *suffix);
 static void post_process_uud(void);
 static void post_process_sh(void);
@@ -118,14 +119,14 @@ check_start_save_any_news(
 			break;
 
 		case MAIL_ANY_NEWS:
-			joinpath(savefile, TMPDIR, "tin");
+			joinpath(savefile, sizeof(savefile), TMPDIR, "tin");
 #ifdef APPEND_PID
 			snprintf(savefile + strlen(savefile), sizeof(savefile) - strlen(savefile), ".%d", (int) process_id);
 #endif /* APPEND_PID */
 			/* FALLTHROUGH */
 
 		case SAVE_ANY_NEWS:
-			joinpath(logfile, rcdir, "log");
+			joinpath(logfile, sizeof(logfile), rcdir, "log");
 
 			if (no_write || (fp_log = fopen(logfile, "w")) == NULL) {
 				perror_message(_(txt_cannot_open), logfile);
@@ -177,10 +178,10 @@ check_start_save_any_news(
 				char tmp[PATH_LEN];
 
 				if (!strfpath(group->attribute->savedir, tmp, sizeof(tmp), group))
-					joinpath(tmp, homedir, DEFAULT_SAVEDIR);
+					joinpath(tmp, sizeof(tmp), homedir, DEFAULT_SAVEDIR);
 
 				make_group_path(group->name, group_path);
-				joinpath(path, tmp, group_path);
+				joinpath(path, sizeof(path), tmp, group_path);
 				create_path(path);	/* TODO error handling */
 			}
 		}
@@ -199,7 +200,7 @@ check_start_save_any_news(
 						print_first = FALSE;
 					}
 					if (!verbose && !catchup) /* we don't need details */
-						return 2;
+						return NEWS_AVAIL_EXIT;
 					art_count++;
 					if (arts[j].score >= tinrc.score_select)
 						hot_count++;
@@ -218,7 +219,7 @@ check_start_save_any_news(
 
 					if (function == SAVE_ANY_NEWS) {
 						snprintf(buf, sizeof(buf), "%ld", arts[j].artnum);
-						joinpath(savefile, path, buf);
+						joinpath(savefile, sizeof(savefile), path, buf);
 					}
 
 					if ((savefp = fopen(savefile, "w")) == NULL) {
@@ -290,11 +291,11 @@ check_start_save_any_news(
 			 * TODO: shall we return 2 or 0 in the -cZ case?
 			 */
 			if (unread_news && !catchup)
-				return 2;
+				return NEWS_AVAIL_EXIT;
 			else {
 				if (verbose)
 					wait_message(1, _(txt_there_is_no_news));
-				return 0;
+				return EXIT_SUCCESS;
 			}
 			/* NOTREACHED */
 
@@ -465,11 +466,11 @@ save_and_process_art(
 
 		/* Add on the archive name as a directory */
 		/* TODO: maybe a s!/!.! on archive-name would be better */
-		joinpath(archpath, path, artptr->archive->name);
+		joinpath(archpath, sizeof(archpath), path, artptr->archive->name);
 
 		/* Generate the filename part and append it */
 		snprintf(filename, sizeof(filename), "%s%s", partprefix, artptr->archive->partnum);
-		joinpath(path, archpath, filename);
+		joinpath(path, sizeof(path), archpath, filename);
 /*fprintf(stderr, "save_and_process_art archive-name mangled path=(%s)\n", path);*/
 		if (!create_path(path))
 			return FALSE;
@@ -604,6 +605,7 @@ generate_filename(
 static t_bool
 expand_save_filename(
 	char *outpath,
+	size_t outpath_len,
 	const char *path)
 {
 	char base_filename[PATH_LEN];
@@ -615,15 +617,15 @@ expand_save_filename(
 	 * Make sure that externally supplied filename is a filename only and fits
 	 * into buffer
 	 */
-	STRCPY(buf_path, path); base_name(buf_path, base_filename);
+	STRCPY(buf_path, path);
+	base_name(buf_path, base_filename);
 
 	/* Build default path to save to */
 	if (!(ret = strfpath(curr_group->attribute->savedir, buf, sizeof(buf), curr_group)))
-		joinpath(buf, homedir, DEFAULT_SAVEDIR);
+		joinpath(buf, sizeof(buf), homedir, DEFAULT_SAVEDIR);
 
 	/* Join path and filename */
-	/* TODO: make sure full path fits into outpath! */
-	joinpath(outpath, buf, base_filename);
+	joinpath(outpath, outpath_len, buf, base_filename);
 
 	return (ret == 1);	/* should now always evaluate to FALSE */
 }
@@ -753,7 +755,7 @@ post_process_uud(
 
 			/* item->mimetype seems not to be available for uudecoded files etc */
 			if (tinrc.post_process_view) {
-				joinpath(path, file_out_dir, item->filename);
+				joinpath(path, sizeof(path), file_out_dir, item->filename);
 				view_file(path, strrchr(path, DIRSEP) + 1);
 			}
 		} else {
@@ -844,7 +846,7 @@ post_process_uud(
 							generate_filename(name, sizeof(name), "uue");
 
 						filename = name;
-						expand_save_filename(path, filename);
+						expand_save_filename(path, sizeof(path), filename);
 						filename = strrchr(path, DIRSEP) + 1;	/* ptr to filename portion */
 						if ((fp_out = fopen(path, "w")) == NULL) {
 							perror_message(_(txt_cannot_open), path);
@@ -1112,7 +1114,7 @@ print_art_seperator_line(
 	t_bool is_mailbox)
 {
 #ifdef DEBUG
-	if (debug == 2)
+	if (debug & DEBUG_MISC)
 		error_message("Mailbox=[%d], mailbox_format=[%s]", is_mailbox, txt_mailbox_formats[tinrc.mailbox_format]);
 #endif /* DEBUG */
 
@@ -1132,15 +1134,10 @@ start_viewer(
 	t_mailcap *foo;
 
 	if ((foo = get_mailcap_entry(part, path)) != NULL) {
-		char buff[LEN];
-
 		if (foo->nametemplate)	/* honor nametemplate */
 			rename_file(path, foo->nametemplate);
 
 		wait_message(0, _(txt_starting_command), foo->command);
-
-		/* are the () needed if foo->command holds more than one cmd? */
-		snprintf(buff, sizeof(buff), "(%s)", foo->command);
 		if (foo->needsterminal) {
 			set_xclick_off();
 			EndWin();
@@ -1200,9 +1197,9 @@ decode_save_one(
 
 		lookup_extension(extension, sizeof(extension), content_types[part->type], part->subtype);
 		generate_filename(buf, sizeof(buf), extension);
-		mbox = expand_save_filename(savepath, buf);
+		mbox = expand_save_filename(savepath, sizeof(savepath), buf);
 	} else
-		mbox = expand_save_filename(savepath, name);
+		mbox = expand_save_filename(savepath, sizeof(savepath), name);
 
 	/*
 	 * Not a good idea to dump attachments over a mailbox
diff -Nurp tin-1.9.2/src/screen.c tin-1.9.3/src/screen.c
--- tin-1.9.2/src/screen.c	2006-12-22 02:41:56.000000000 +0100
+++ tin-1.9.3/src/screen.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : screen.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2005-02-11
+ *  Updated   : 2007-10-29
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -444,7 +444,7 @@ show_progress(
 	long count_diff;
 #endif /* HAVE_GETTIMEOFDAY */
 
-	if (batch_mode || count <= 0 || total == 0)
+	if (batch_mode || count <= 0 || total <= 0)
 		return;
 
 	/* If this is a new progress meter, start recalculating */
diff -Nurp tin-1.9.2/src/search.c tin-1.9.3/src/search.c
--- tin-1.9.2/src/search.c	2006-12-22 02:41:56.000000000 +0100
+++ tin-1.9.3/src/search.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : search.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2005-07-02
+ *  Updated   : 2007-10-04
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -303,7 +303,7 @@ body_search(
 				art_close(&pgart);		/* Switch the pager over to matched art */
 				pgart = artinfo;
 #ifdef DEBUG
-				if (debug == 2)
+				if (debug & DEBUG_MISC)
 					fprintf(stderr, "art_switch(%p = %p)\n", (void *) &pgart, (void *) &artinfo);
 #endif /* DEBUG */
 				free(line);
@@ -519,7 +519,7 @@ search_article(
 {
 	char *pattern, *ptr, *tmp;
 	int i = start_line;
-	int tmp_srch_offsets[2];
+	int tmp_srch_offsets[2] = {0, 0};
 	t_bool wrap = FALSE;
 	t_bool match = FALSE;
 
diff -Nurp tin-1.9.2/src/select.c tin-1.9.3/src/select.c
--- tin-1.9.2/src/select.c	2006-12-22 02:41:56.000000000 +0100
+++ tin-1.9.3/src/select.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : select.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2006-10-01
+ *  Updated   : 2008-03-11
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -455,10 +455,14 @@ selection_page(
 
 			case GLOBAL_POST:			/* post a basenote */
 				if (!selmenu.max) {
+					if (!can_post) {
+						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))
 						break;
-					if (group_find(tinrc.default_post_newsgroups) == NULL) {
+					if (group_find(tinrc.default_post_newsgroups, FALSE) == NULL) {
 						error_message(_(txt_not_in_active_file), tinrc.default_post_newsgroups);
 						break;
 					} else {
@@ -469,7 +473,7 @@ selection_page(
 						 * CHARSET_CONVERSION conversion case in new_part()
 						 * which relies currently relies on CURR_GROUP
 						 */
-						selmenu.curr = my_group_add(buf);
+						selmenu.curr = my_group_add(buf, FALSE);
 						/*
 						 * and the next hack to avoid a grabbled selection
 						 * screen after the posting
@@ -830,7 +834,7 @@ choose_new_group(
 
 	clear_message();
 
-	if ((idx = my_group_add(tinrc.default_goto_group)) == -1)
+	if ((idx = my_group_add(tinrc.default_goto_group, TRUE)) == -1)
 		info_message(_(txt_not_in_active_file), tinrc.default_goto_group);
 
 	return idx;
@@ -867,11 +871,12 @@ skip_newgroups(
 int
 add_my_group(
 	const char *group,
-	t_bool add)
+	t_bool add,
+	t_bool ignore_case)
 {
 	int i, j;
 
-	if ((i = find_group_index(group)) < 0)
+	if ((i = find_group_index(group, ignore_case)) < 0)
 		return -1;
 
 	for (j = 0; j < selmenu.max; j++) {
@@ -1129,14 +1134,14 @@ toggle_my_groups(
 		if ((ptr = strchr(buf, SUBSCRIBED)) != NULL) {
 			*ptr = '\0';
 
-			if ((i = find_group_index(buf)) < 0)
+			if ((i = find_group_index(buf, FALSE)) < 0)
 				continue;
 
 			if (tinrc.show_only_unread_groups) {
 				if (active[i].newsrc.num_unread || (active[i].bogus && tinrc.strip_bogus == BOGUS_SHOW))
-					my_group_add(buf);
+					my_group_add(buf, FALSE);
 			} else
-				my_group_add(buf);
+				my_group_add(buf, FALSE);
 		}
 	}
 	fclose(fp);
@@ -1146,8 +1151,8 @@ toggle_my_groups(
 
 
 /*
- * Subscribe or unsubscribe from a list of groups. List can be full list as supported
- * by match_group_list()
+ * Subscribe or unsubscribe from a list of groups. List can be full list as
+ * supported by match_group_list()
  */
 static void
 subscribe_pattern(
@@ -1169,37 +1174,21 @@ subscribe_pattern(
 
 	wait_message(0, message);
 
-	/*
-	 * TODO: why do we do a pass over my_group[] before another one
-	 *       over active[]? AFAICS the first loop can go away.
-	 */
-	for (i = 0; i < selmenu.max; i++) {
-		if (match_group_list(active[my_group[i]].name, buf)) {
-			if (active[my_group[i]].subscribed != (state != FALSE)) {
+	for_each_group(i) {
+		if (match_group_list(active[i].name, buf)) {
+			if (active[i].subscribed != (state != FALSE)) {
 				spin_cursor();
-				subscribe(&active[my_group[i]], SUB_CHAR(state), TRUE);
-				subscribe_num++;
-			}
-		}
-	}
-
-	if (num_active > selmenu.max) {			/* ie, there are groups yanked out */
-		for_each_group(i) {
-			if (match_group_list(active[i].name, buf)) {
-				if (active[i].subscribed != (state != FALSE)) {
-					spin_cursor();
-					/* If found and group is not subscribed add it to end of my_group[]. */
-					subscribe(&active[i], SUB_CHAR(state), TRUE);
-					if (state) {
-						my_group_add(active[i].name);
-						/*
-						 * TODO: grp_mark_unread() or something needs to do a
-						 *       group_get_art_info() to get initial count right
-						 */
-						grp_mark_unread(&active[i]);
-					}
-					subscribe_num++;
+				/* If found and group is not subscribed add it to end of my_group[]. */
+				subscribe(&active[i], SUB_CHAR(state), TRUE);
+				if (state) {
+					my_group_add(active[i].name, FALSE);
+					/*
+					 * TODO: grp_mark_unread() or something needs to do a
+					 *       group_get_art_info() to get initial count right
+					 */
+					grp_mark_unread(&active[i]);
 				}
+				subscribe_num++;
 			}
 		}
 	}
diff -Nurp tin-1.9.2/src/sigfile.c tin-1.9.3/src/sigfile.c
--- tin-1.9.2/src/sigfile.c	2006-12-22 02:41:57.000000000 +0100
+++ tin-1.9.3/src/sigfile.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : sigfile.c
  *  Author    : M. Gleason & I. Lea
  *  Created   : 1992-10-17
- *  Updated   : 2003-09-19
+ *  Updated   : 2007-12-30
  *  Notes     : Generate random signature for posting/mailing etc.
  *
- * Copyright (c) 1992-2007 Mike Gleason
+ * Copyright (c) 1992-2008 Mike Gleason
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -95,7 +95,7 @@ msg_write_signature(
 
 		if (!strfpath(thisgroup->attribute->sigfile, path, sizeof(path), thisgroup)) {
 			if (!strfpath(tinrc.sigfile, path, sizeof(path), thisgroup))
-				joinpath(path, homedir, ".Sig");
+				joinpath(path, sizeof(path), homedir, ".Sig");
 		}
 
 		/*
@@ -107,22 +107,22 @@ msg_write_signature(
 		 */
 		if ((sigfp = open_random_sig(path)) != NULL) {
 #ifdef DEBUG
-			if (debug == 2)
+			if (debug & DEBUG_MISC)
 				error_message("USING random sig=[%s]", sigfile);
 #endif /* DEBUG */
 			fprintf(fp, "\n%s", tinrc.sigdashes ? SIGDASHES : "\n");
-			joinpath(pathfixed, path, ".sigfixed");
+			joinpath(pathfixed, sizeof(pathfixed), path, ".sigfixed");
 #ifdef DEBUG
-			if (debug == 2)
+			if (debug & DEBUG_MISC)
 				error_message("TRYING fixed sig=[%s]", pathfixed);
 #endif /* DEBUG */
 			if ((fixfp = fopen(pathfixed, "r")) != NULL) {
 				copy_fp(fixfp, fp);
 				fclose(fixfp);
 			} else {
-				joinpath(pathfixed, homedir, ".sigfixed");
+				joinpath(pathfixed, sizeof(pathfixed), homedir, ".sigfixed");
 #ifdef DEBUG
-				if (debug == 2)
+				if (debug & DEBUG_MISC)
 					error_message("TRYING fixed sig=[%s]", pathfixed);
 #endif /* DEBUG */
 				if ((fixfp = fopen(pathfixed, "r")) != NULL) {
@@ -171,13 +171,13 @@ open_random_sig(
 
 			if (thrashdir(sigdir) || !*sigfile) {
 #ifdef DEBUG
-				if (debug == 2)
+				if (debug & DEBUG_MISC)
 					error_message("NO sigfile=[%s]", sigfile);
 #endif /* DEBUG */
 				return (FILE *) 0;
 			} else {
 #ifdef DEBUG
-				if (debug == 2)
+				if (debug & DEBUG_MISC)
 					error_message("sigfile=[%s]", sigfile);
 #endif /* DEBUG */
 				return fopen(sigfile, "r");
@@ -229,7 +229,7 @@ thrashdir(
 	 */
 	for (safeguard = 0, dp = NULL; safeguard < MAXLOOPS && dp == NULL; safeguard++) {
 #ifdef DEBUG
-		if (debug == 2)
+		if (debug & DEBUG_MISC)
 			error_message("sig loop=[%d] recurse=[%d]", safeguard, recurse);
 #endif /* DEBUG */
 #ifdef HAVE_REWINDDIR
@@ -276,7 +276,7 @@ thrashdir(
 					strcat(sigfile, "/");
 					strcat(sigfile, dp->d_name);
 #ifdef DEBUG
-					if (debug == 2)
+					if (debug & DEBUG_MISC)
 						error_message("Found a file=[%s]", sigfile);
 #endif /* DEBUG */
 				}
@@ -285,7 +285,7 @@ thrashdir(
 	}
 	free(cwd);
 #ifdef DEBUG
-	if (debug == 2)
+	if (debug & DEBUG_MISC)
 		error_message("return 0: sigfile=[%s]", sigfile);
 #endif /* DEBUG */
 	CLOSEDIR(dirp);
diff -Nurp tin-1.9.2/src/signal.c tin-1.9.3/src/signal.c
--- tin-1.9.2/src/signal.c	2006-12-22 02:41:57.000000000 +0100
+++ tin-1.9.3/src/signal.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : signal.c
  *  Author    : I.Lea
  *  Created   : 1991-04-01
- *  Updated   : 2006-02-15
+ *  Updated   : 2008-02-09
  *  Notes     : signal handlers for different modes and window resizing
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -146,6 +146,9 @@ static const struct {
 #	ifdef SIGUSR1
 	{ SIGUSR1,	"SIGUSR1" },	/* User-defined signal 1 */
 #	endif /* SIGUSR1 */
+#	ifdef SIGUSR2
+	{ SIGUSR2,	"SIGUSR2" },	/* User-defined signal 2 */
+#	endif /* SIGUSR2 */
 #	ifdef SIGTERM
 	{ SIGTERM,	"SIGTERM" },	/* termination */
 #	endif /* SIGTERM */
@@ -357,11 +360,8 @@ signal_handler(
 	switch (sig) {
 #ifdef SIGINT
 		case SIGINT:
-			if (!batch_mode) {
-				RESTORE_HANDLER(sig, signal_handler);
-				return;
-			}
-			break;
+			RESTORE_HANDLER(sig, signal_handler);
+			return;
 #endif /* SIGINT */
 
 #ifdef SIGCHLD
@@ -388,10 +388,18 @@ signal_handler(
 #ifdef SIGWINCH
 		case SIGWINCH:
 			need_resize = cYes;
-			RESTORE_HANDLER(SIGWINCH, signal_handler);
+			RESTORE_HANDLER(sig, signal_handler);
 			return;
 #endif /* SIGWINCH */
 
+#ifdef SIGUSR2
+		case SIGUSR2:
+			if (!no_write) /* TODO: add more config-files to be saved */
+				write_newsrc();
+			RESTORE_HANDLER(sig, signal_handler);
+			return;
+#endif /* SIGUSR2 */
+
 		default:
 			break;
 	}
diff -Nurp tin-1.9.2/src/strftime.c tin-1.9.3/src/strftime.c
--- tin-1.9.2/src/strftime.c	2006-12-22 02:41:57.000000000 +0100
+++ tin-1.9.3/src/strftime.c	2008-03-14 10:21:33.000000000 +0100
@@ -12,7 +12,7 @@
  *              tm = localtime(&secs);
  *              num = strftime(buf, sizeof(buf), "%a %d-%m-%y %H:%M:%S", tm);
  *
- * Copyright (c) 1991-2007 Arnold Robbins <arnold@skeeve.com>
+ * Copyright (c) 1991-2008 Arnold Robbins <arnold@skeeve.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/src/string.c tin-1.9.3/src/string.c
--- tin-1.9.2/src/string.c	2006-12-22 02:41:57.000000000 +0100
+++ tin-1.9.3/src/string.c	2008-04-29 11:43:44.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : string.c
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   : 1997-01-20
- *  Updated   : 2005-11-04
+ *  Updated   : 2008-03-26
  *  Notes     :
  *
- * Copyright (c) 1997-2007 Urs Janssen <urs@tin.org>
+ * Copyright (c) 1997-2008 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -65,10 +65,13 @@
 /*
  * local prototypes
  */
-#if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	static UChar *char2UChar(const char *str);
-	static char *UChar2char(const UChar *ustr);
-#endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && !NO_LOCALE */
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+	static wchar_t *my_wcsdup(const wchar_t *wstr);
+#	if defined(HAVE_LIBICUUC)
+		static UChar *char2UChar(const char *str);
+		static char *UChar2char(const UChar *ustr);
+#	endif /* HAVE_LIBICUUC */
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 
 /*
@@ -125,6 +128,7 @@ tin_ltoa(
 }
 
 
+#if !defined(USE_DMALLOC) || (defined(USE_DMALLOC) && !defined(HAVE_STRDUP))
 /*
  * Handrolled version of strdup(), presumably to take advantage of
  * the enhanced error detection in my_malloc
@@ -138,15 +142,15 @@ my_strdup(
 	size_t len = strlen(str) + 1;
 	void *ptr = my_malloc(len);
 
-#if 0 /* as my_malloc exits on error, ptr can't be NULL */
+#	if 0 /* as my_malloc exits on error, ptr can't be NULL */
 	if (ptr == NULL)
 		return NULL;
-#endif /* 0 */
+#	endif /* 0 */
 
 	memcpy(ptr, str, len);
 	return (char *) ptr;
 }
-
+#endif /* !USE_DMALLOC || (USE_DMALLOC && !HAVE_STRDUP) */
 
 /*
  * strtok that understands empty tokens
@@ -422,7 +426,7 @@ OUT:
 
 	return (sign * (-val));
 }
-#	undef DIGIT(x)
+#	undef DIGIT
 #	undef MBASE
 #endif /* !HAVE_STRTOL */
 
@@ -890,7 +894,7 @@ wstrunc(
 /*
  * duplicates a wide-char string
  */
-wchar_t *
+static wchar_t *
 my_wcsdup(
 	const wchar_t *wstr)
 {
diff -Nurp tin-1.9.2/src/tags.c tin-1.9.3/src/tags.c
--- tin-1.9.2/src/tags.c	2006-12-22 02:41:57.000000000 +0100
+++ tin-1.9.3/src/tags.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : tags.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1999-12-06
- *  Updated   : 2005-05-10
+ *  Updated   : 2007-10-04
  *  Notes     : Split out from other modules
  *
- * Copyright (c) 1999-2007 Jason Faultless <jason@altarstone.com>
+ * Copyright (c) 1999-2008 Jason Faultless <jason@altarstone.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -374,7 +374,7 @@ set_range(
 			range = tinrc.default_range_thread;
 			break;
 
-		default:
+		default:	/* should no happen */
 			return FALSE;
 	}
 
@@ -523,9 +523,10 @@ do_auto_select_arts(
 
 	for_each_art(i) {
 		if (arts[i].status == ART_UNREAD && !arts[i].selected) {
-#	ifdef DEBUG_NEWSRC
-			debug_print_comment("group.c: X command");
-#	endif /* DEBUG_NEWSRC */
+#	ifdef DEBUG
+			if (debug & DEBUG_NEWSRC)
+				debug_print_comment("group.c: X command");
+#	endif /* DEBUG */
 			art_mark(curr_group, &arts[i], ART_READ);
 			arts[i].zombie = TRUE;
 		}
@@ -547,9 +548,10 @@ undo_auto_select_arts(
 
 	for_each_art(i) {
 		if (arts[i].status == ART_READ && arts[i].zombie) {
-#	ifdef DEBUG_NEWSRC
-			debug_print_comment("group.c: + command");
-#	endif /* DEBUG_NEWSRC */
+#	ifdef DEBUG
+			if (debug & DEBUG_NEWSRC)
+				debug_print_comment("group.c: + command");
+#	endif /* DEBUG */
 			art_mark(curr_group, &arts[i], ART_UNREAD);
 			arts[i].zombie = FALSE;
 		}
diff -Nurp tin-1.9.2/src/tcurses.c tin-1.9.3/src/tcurses.c
--- tin-1.9.2/src/tcurses.c	2007-01-25 20:32:32.000000000 +0100
+++ tin-1.9.3/src/tcurses.c	2008-03-14 10:21:33.000000000 +0100
@@ -7,7 +7,7 @@
  *  Notes     : This is a set of wrapper functions adapting the termcap
  *	             interface of tin to use SVr4 curses (e.g., ncurses).
  *
- * Copyright (c) 1997-2007 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2008 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -512,7 +512,9 @@ ReadCh(
 	if (cmd_line)
 		ch = cmdReadCh();
 	else {
+#	if defined(KEY_RESIZE) && defined(USE_CURSES)
 again:
+#	endif /* KEY_RESIZE && USE_CURSES */
 		allow_resize(TRUE);
 #	if defined(KEY_RESIZE) && defined(USE_CURSES)
 		if ((ch = getch()) == KEY_RESIZE)
diff -Nurp tin-1.9.2/src/thread.c tin-1.9.3/src/thread.c
--- tin-1.9.2/src/thread.c	2006-12-22 02:41:57.000000000 +0100
+++ tin-1.9.3/src/thread.c	2008-03-14 10:21:33.000000000 +0100
@@ -3,10 +3,10 @@
  *  Module    : thread.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2006-09-16
+ *  Updated   : 2008-02-25
  *  Notes     :
  *
- * Copyright (c) 1991-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1991-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -89,7 +89,7 @@ get_art_mark(
 	if (art->inrange) {
 		return tinrc.art_marked_inrange;
 	} else if (art->status == ART_UNREAD) {
-		return (art->selected ? tinrc.art_marked_selected : (tinrc.recent_time && ((time((time_t) 0) - art->date) < (tinrc.recent_time * DAY))) ? tinrc.art_marked_recent : tinrc.art_marked_unread);
+		return (art->selected ? tinrc.art_marked_selected : (tinrc.recent_time && ((time((time_t *) 0) - art->date) < (tinrc.recent_time * DAY))) ? tinrc.art_marked_recent : tinrc.art_marked_unread);
 	} else if (art->status == ART_WILL_RETURN) {
 		return tinrc.art_marked_return;
 	} else if (art->killed && tinrc.kill_level != KILL_NOTHREAD) {
@@ -427,7 +427,7 @@ thread_page(
 		thdmenu.curr = thread_depth;
 	else {
 		if (tinrc.pos_first_unread) {
-			if ((i = new_responses(thread_basenote))) {
+			if (new_responses(thread_basenote)) {
 				for (n = 0, 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)
@@ -1119,7 +1119,7 @@ stat_thread(
 	else if (sbuf->selected_unread)
 		sbuf->art_mark = tinrc.art_marked_selected;
 	else if (sbuf->unread) {
-		if (tinrc.recent_time && (time((time_t) 0) - sbuf->time) < (tinrc.recent_time * DAY))
+		if (tinrc.recent_time && (time((time_t *) 0) - sbuf->time) < (tinrc.recent_time * DAY))
 			sbuf->art_mark = tinrc.art_marked_recent;
 		else
 			sbuf->art_mark = tinrc.art_marked_unread;
diff -Nurp tin-1.9.2/src/tincfg.tbl tin-1.9.3/src/tincfg.tbl
--- tin-1.9.2/src/tincfg.tbl	2006-12-21 14:41:19.000000000 +0100
+++ tin-1.9.3/src/tincfg.tbl	2008-03-14 10:21:33.000000000 +0100
@@ -2,7 +2,7 @@
 ;   Module    : tincfg.tbl
 ;   Author    : Thomas E. Dickey
 ;   Created   : 1996-11-01
-;   Updated   : 2006-06-28
+;   Updated   : 2008-01-10
 ;   Notes     : #defines and structs for config.c
 ;
 ; Copyright (c) 1996-2005 Thomas E. Dickey <dickey@invisible-island.net>
@@ -156,10 +156,12 @@
 #endif
 #ifndef CHARSET_CONVERSION
 	mm_charset			OPT_STRING
-#endif
-#ifdef CHARSET_CONVERSION
+#else
 	mm_network_charset		txt_mime_charsets	NUM_MIME_CHARSETS
 #endif
+#if defined(NO_LOCALE) && defined(CHARSET_CONVERSION)
+	mm_local_charset		OPT_STRING
+#endif
 	post_mime_encoding		txt_mime_encodings	NUM_MIME_ENCODINGS
 	post_8bit_header		OPT_ON_OFF
 	mail_mime_encoding		txt_mime_encodings	NUM_MIME_ENCODINGS
diff -Nurp tin-1.9.2/src/trace.c tin-1.9.3/src/trace.c
--- tin-1.9.2/src/trace.c	2006-12-22 02:41:57.000000000 +0100
+++ tin-1.9.3/src/trace.c	2008-03-14 10:21:33.000000000 +0100
@@ -6,7 +6,7 @@
  *  Updated   : 2001-07-22
  *  Notes     : debugging support via TRACE macro.
  *
- * Copyright (c) 1997-2007 Thomas Dickey <dickey@invisible-island.net>
+ * Copyright (c) 1997-2008 Thomas Dickey <dickey@invisible-island.net>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff -Nurp tin-1.9.2/src/version.c tin-1.9.3/src/version.c
--- tin-1.9.2/src/version.c	2006-12-22 02:41:57.000000000 +0100
+++ tin-1.9.3/src/version.c	2008-04-25 13:23:56.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : version.c
  *  Author    : U. Janssen
  *  Created   : 2003-05-11
- *  Updated   : 2005-07-02
+ *  Updated   : 2008-04-25
  *  Notes     :
  *
- * Copyright (c) 2003-2007 Urs Janssen <urs@tin.org>
+ * Copyright (c) 2003-2008 Urs Janssen <urs@tin.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,9 +38,6 @@
 #ifndef TIN_H
 #	include "tin.h"
 #endif /* !TIN_H */
-#ifndef VERSION_H
-#	include "version.h"
-#endif /* !VERSION_H */
 
 
 /*
@@ -57,7 +54,7 @@
  * Don't make the arguments to sscanf() consts, as some old systems require
  * them to writable (but do not change them)
  */
-int
+enum rc_state
 check_upgrade(
 	char *line,
 	const char *skip,
@@ -101,7 +98,7 @@ check_upgrade(
 
 void
 upgrade_prompt_quit(
-	int reason,
+	enum rc_state reason,
 	const char *file)
 {
 	switch (reason) {
diff -Nurp tin-1.9.2/src/xface.c tin-1.9.3/src/xface.c
--- tin-1.9.2/src/xface.c	2006-12-22 02:41:57.000000000 +0100
+++ tin-1.9.3/src/xface.c	2008-04-22 16:39:48.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : xface.c
  *  Author    : Joshua Crawford & Drazen Kacar
  *  Created   : 2003-04-27
- *  Updated   : 2004-07-27
+ *  Updated   : 2008-04-22
  *  Notes     :
  *
- * Copyright (c) 2003-2007 Joshua Crawford <mortarn@softhome.net> & Drazen Kacar <dave@willfork.com>
+ * Copyright (c) 2003-2008 Joshua Crawford <mortarn@softhome.net> & Drazen Kacar <dave@willfork.com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,9 +36,7 @@
 
 
 /*
- * TODO: - add configure check option for use_slrnface
- *         (see comments include/autoconf.hin)
- *       - document the used vars/files/dir in the mapage
+ * TODO: - document the used vars/files/dir in the mapage
  *       - move strings to lang.c
  */
 
@@ -57,24 +55,32 @@ slrnface_start(
 {
 	char *fifo;
 	char *ptr;
-	int pathlen, status;
+	int status;
 	pid_t pid, pidst;
+	size_t pathlen;
 	struct utsname u;
 
 	if (!tinrc.use_slrnface)
 		return;
 
 #ifdef HAVE_IS_XTERM
-	if (!is_xterm())
-		/* error_message(_("Can't run slrnface: Not running in a xterm.")); */
+	if (!is_xterm()) {
+#	ifdef DEBUG
+		if (debug & DEBUG_MISC)
+			error_message(_("Can't run slrnface: Not running in a xterm."));
+#	endif /* DEBUG */
 		return;
+	}
 #endif /* HAVE_IS_XTERM */
 
 	/*
 	 * $DISPLAY holds the (default) display name
 	 */
 	if (!getenv("DISPLAY")) {
-		/* error_message(_("Can't run slrnface: Environment variable %s not found."), "DISPLAY"); */
+#	ifdef DEBUG
+		if (debug & DEBUG_MISC)
+			error_message(_("Can't run slrnface: Environment variable %s not found."), "DISPLAY");
+#	endif /* DEBUG */
 		return;
 	}
 
@@ -82,19 +88,25 @@ slrnface_start(
 	 * $WINDOWID holds the X window id number of the xterm window
 	 */
 	if (!getenv("WINDOWID")) {
-		/* error_message(_("Can't run slrnface: Environment variable %s not found."), "WINDOWID"); */
+#	ifdef DEBUG
+		if (debug & DEBUG_MISC)
+			error_message(_("Can't run slrnface: Environment variable %s not found."), "WINDOWID");
+#	endif /* DEBUG */
 		return;
 	}
 
 	uname(&u);
 	if (!(ptr = getenv("HOME"))) { /* TODO: use tin global 'homedir' instead? or even rcdir? */
-		error_message(_("Can't run slrnface: Environment variable %s not found."), "HOME");
+#	ifdef DEBUG
+		if (debug & DEBUG_MISC)
+			error_message(_("Can't run slrnface: Environment variable %s not found."), "HOME");
+#	endif /* DEBUG */
 		return;
 	}
 	pathlen = strlen(ptr) + strlen("/.slrnfaces/") + strlen(u.nodename) + 30;
 	fifo = my_malloc(pathlen);
-	sprintf(fifo, "%s/.slrnfaces", ptr);
-	if (mkdir(fifo, 0700)) {	/* TODO: use my_mkdir() */
+	snprintf(fifo, pathlen, "%s/.slrnfaces", ptr);
+	if (my_mkdir(fifo, (mode_t) S_IRWXU)) {
 		if (errno != EEXIST) {
 			perror_message(_("Can't run slrnface: failed to create %s"), fifo);
 			free(fifo);
@@ -103,8 +115,8 @@ slrnface_start(
 	} else {
 		FILE *fp;
 
-		/* We'll abuse fifo filename memory here. It's long enough. */
-		sprintf(fifo, "%s/.slrnfaces/README", ptr);
+		/* We abuse fifo filename memory here. It is long enough. */
+		snprintf(fifo, pathlen, "%s/.slrnfaces/README", ptr);
 		if ((fp = fopen(fifo, "w")) != NULL) {
 			fputs(_("This directory is used to create named pipes for communication between\n"
 "slrnface and its parent process. It should normally be empty because\n"
diff -Nurp tin-1.9.2/src/xref.c tin-1.9.3/src/xref.c
--- tin-1.9.2/src/xref.c	2006-12-22 02:41:57.000000000 +0100
+++ tin-1.9.3/src/xref.c	2008-04-28 10:37:23.000000000 +0200
@@ -3,10 +3,10 @@
  *  Module    : xref.c
  *  Author    : I. Lea & H. Brugge
  *  Created   : 1993-07-01
- *  Updated   : 2005-05-04
+ *  Updated   : 2008-04-23
  *  Notes     :
  *
- * Copyright (c) 1993-2007 Iain Lea <iain@bricbrac.de>
+ * Copyright (c) 1993-2008 Iain Lea <iain@bricbrac.de>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -45,11 +45,10 @@
 /*
  * local prototypes
  */
-#if defined(NNTP_ABLE) && defined(XHDR_XREF)
-	static void read_xref_header(struct t_article *art);
-#endif /* NNTP_ABLE && XHDR_XREF */
 static FILE *open_overview_fmt_fp(void);
 
+struct t_overview_fmt *ofmt;
+t_bool expensive_over_parse = FALSE;
 
 /*
  * Open the NEWSLIBDIR/overview.fmt file locally or send LIST OVERVIEW.FMT
@@ -58,19 +57,26 @@ static FILE *
 open_overview_fmt_fp(
 	void)
 {
-	char line[NNTP_STRLEN];
-
 #ifdef NNTP_ABLE
 	if (read_news_via_nntp && !read_saved_news) {
+		char line[NNTP_STRLEN];
+
 		if (!nntp_caps.over_cmd)
 			return (FILE *) 0;
 
-		snprintf(line, sizeof(line), "LIST %s", OVERVIEW_FMT);
-		return (nntp_command(line, OK_GROUPS, NULL, 0));
+		if ((nntp_caps.type == CAPABILITIES && nntp_caps.list_overview_fmt) || nntp_caps.type != CAPABILITIES) {
+			snprintf(line, sizeof(line), "LIST %s", OVERVIEW_FMT);
+			return (nntp_command(line, OK_GROUPS, NULL, 0));
+		} else {
+			return (FILE *) 0;
+		}
 	} else {
 #endif /* NNTP_ABLE */
-		joinpath(line, libdir, OVERVIEW_FMT);
-		return (fopen(line, "r"));
+		char filename[PATH_LEN];
+
+		/* TODO make configurable via tin.defaults */
+		joinpath(filename, sizeof(filename), libdir, OVERVIEW_FMT);
+		return (fopen(filename, "r"));
 #ifdef NNTP_ABLE
 	}
 #endif /* NNTP_ABLE */
@@ -86,73 +92,230 @@ overview_xref_support(
 {
 	FILE *fp;
 	char *ptr;
+	char *p, *q;
 	t_bool supported = FALSE;
+	size_t res_fields = 9; /* inital number of overview fields */
+	size_t fields = 0;
+	size_t i;
+
+	ofmt = (struct t_overview_fmt *) my_malloc(sizeof(*ofmt) * res_fields);
+	ofmt[0].type = OVER_T_INT;
+	ofmt[0].name = strdup("Artnum:");
 
 	if ((fp = open_overview_fmt_fp()) != NULL) {
 		while ((ptr = tin_fgets(fp, FALSE)) != NULL) {
+			if (*ptr == '#' || *ptr == '\n')	/* skip comments and empty lines */
+				continue;
+
 #if defined(DEBUG) && defined(NNTP_ABLE)
-			debug_nntp("<<<", ptr);
+			if (debug & DEBUG_NNTP)
+				debug_print_file("NNTP", "<<< %s", ptr);
 #endif /* DEBUG && NNTP_ABLE */
-			if (!supported && STRNCASECMPEQ(ptr, "Xref:full", 9))
-				supported = TRUE;
-		}
-		TIN_FCLOSE(fp);
-		/*
-		 * If user aborted with 'q', then we continue regardless. If Xref was
-		 * found, then fair enough. If not, tough. No real harm done
-		 */
-	}
 
-	if (!supported)
-		wait_message(2, _(txt_warn_xref_not_supported));
+			fields++;
 
-	return supported;
-}
+			/* expand overview fmt array */
+			if (fields >= res_fields) {
+				res_fields <<= 1;
+				ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * res_fields);
+			}
 
+			if ((p = strchr(ptr, ':'))) {
+				if (p == ptr) { /* metadata items start with : */
+					/* currently there is only :lines ands :bytes reserved */
+					if (!strcasecmp(ptr, ":lines")) {
+						ofmt[fields].type = OVER_T_INT;
+						ofmt[fields].name = strdup("Lines:");
+						if (fields != 7) {
+							expensive_over_parse = TRUE;
+#ifdef DEBUG
+							if (debug & DEBUG_NNTP)
+								debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 7);
+#endif /* DEBUG */
+						}
+						continue;
+					}
 
-/*
- * read xref reference for current article
- * This enables crosspost marking even if the xref records are not
- * part of the xover record.
- */
-#if defined(NNTP_ABLE) && defined(XHDR_XREF)
-static void
-read_xref_header(
-	struct t_article *art)
-{
-	FILE *fp;
-	char *ptr, *q;
-	char buf[HEADER_LEN];
-	long artnum;
+					if (!strcasecmp(ptr, ":bytes")) {
+						ofmt[fields].type = OVER_T_INT;
+						ofmt[fields].name = strdup("Bytes:");
+						if (fields != 6) {
+							expensive_over_parse = TRUE;
+#ifdef DEBUG
+							if (debug & DEBUG_NNTP)
+								debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 6);
+#endif /* DEBUG */
+						}
+						continue;
+					}
+					/* unknown metadata item */
+				}
 
-	snprintf(buf, sizeof(buf), "XHDR XREF %ld", art->artnum);
-	if ((fp = nntp_command(buf, OK_HEAD, NULL, 0)) == NULL)
-		return;
+				/* non metadata items end with : or :full */
+				/* optional items require :full */
+				if (!strcasecmp(p, ":full")) {
+					ofmt[fields].type = OVER_T_FSTRING;
+					q = strchr(p, ':');
+					*(++q) = '\0';
+					ofmt[fields].name = strdup(ptr);
+					if (fields < 7) {
+						expensive_over_parse = TRUE;
+#ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected > %d", ptr, fields, 7);
+#endif /* DEBUG */
+					}
+					continue;
+				}
 
-	while ((ptr = tin_fgets(fp, FALSE)) != NULL) {
-		while (*ptr && isspace((int) *ptr))
-			ptr++;
-		if (*ptr == '.')
-			break;
-		/*
-		 * read the article number
-		 */
-		artnum = atol(ptr);
-		if ((artnum == art->artnum) && !art->xref && !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)
-				*q = '\0';
-			art->xref = my_strdup(ptr);
+				/* madatory items */
+				if (!strcasecmp(ptr, "Subject:")) {
+					ofmt[fields].type = OVER_T_STRING;
+					ofmt[fields].name = strdup(ptr);
+					if (fields != 1) {
+						expensive_over_parse = TRUE;
+#ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 1);
+#endif /* DEBUG */
+					}
+					continue;
+				}
+
+				if (!strcasecmp(ptr, "From:")) {
+					ofmt[fields].type = OVER_T_STRING;
+					ofmt[fields].name = strdup(ptr);
+					if (fields != 2) {
+						expensive_over_parse = TRUE;
+#ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 2);
+#endif /* DEBUG */
+					}
+					continue;
+				}
+
+				if (!strcasecmp(ptr, "Date:")) {
+					ofmt[fields].type = OVER_T_STRING;
+					ofmt[fields].name = strdup(ptr);
+					if (fields != 3) {
+						expensive_over_parse = TRUE;
+#ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 3);
+#endif /* DEBUG */
+					}
+					continue;
+				}
+
+				if (!strcasecmp(ptr, "Message-ID:")) {
+					ofmt[fields].type = OVER_T_STRING;
+					ofmt[fields].name = strdup(ptr);
+					if (fields != 4) {
+						expensive_over_parse = TRUE;
+#ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 4);
+#endif /* DEBUG */
+					}
+					continue;
+				}
+
+				if (!strcasecmp(ptr, "References:")) {
+					ofmt[fields].type = OVER_T_STRING;
+					ofmt[fields].name = strdup(ptr);
+					if (fields != 5) {
+						expensive_over_parse = TRUE;
+#ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 5);
+#endif /* DEBUG */
+					}
+					continue;
+				}
+
+				if (!strcasecmp(ptr, "Bytes:")) {
+					ofmt[fields].type = OVER_T_INT;
+					ofmt[fields].name = strdup(ptr);
+					if (fields != 6) {
+						expensive_over_parse = TRUE;
+#ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 6);
+#endif /* DEBUG */
+					}
+					continue;
+				}
+
+				if (!strcasecmp(ptr, "Lines:")) {
+					ofmt[fields].type = OVER_T_INT;
+					ofmt[fields].name = strdup(ptr);
+					if (fields != 7) {
+						expensive_over_parse = TRUE;
+#ifdef DEBUG
+						if (debug & DEBUG_NNTP)
+							debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 7);
+#endif /* DEBUG */
+					}
+					continue;
+				}
+			}
+			/* bogus entry */
+			ofmt[fields].type = OVER_T_ERROR;
+			ofmt[fields].name = strdup(ptr);
+		}
+		TIN_FCLOSE(fp);
+	}
+
+	fields++;
+	/* resize */
+	ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * (fields + 1));
+
+	/* end marker */
+	ofmt[fields].type = OVER_T_ERROR;
+	ofmt[fields].name = NULL;
+
+	if (fields < 2) {
+#ifdef DEBUG
+		if (debug & DEBUG_NNTP)
+			debug_print_file("NNTP", "OVERVIEW.FTM: Empty response - using safe defaults");
+#endif /* DEBUG */
+		ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * (8 + 1));
+		ofmt[1].type = OVER_T_STRING;
+		ofmt[1].name = strdup("Subject:");
+		ofmt[2].type = OVER_T_STRING;
+		ofmt[2].name = strdup("From:");
+		ofmt[3].type = OVER_T_STRING;
+		ofmt[3].name = strdup("Date:");
+		ofmt[4].type = OVER_T_STRING;
+		ofmt[4].name = strdup("Message-ID:");
+		ofmt[5].type = OVER_T_STRING;
+		ofmt[5].name = strdup("References:");
+		ofmt[6].type = OVER_T_INT;
+		ofmt[6].name = strdup("Bytes:");
+		ofmt[7].type = OVER_T_INT;
+		ofmt[7].name = strdup("Lines:");
+		ofmt[8].type = OVER_T_ERROR;
+		ofmt[8].name = NULL;
+		fields = 8;
+	}
+
+	for (i = 0; i <= fields; i++) {
+		if (ofmt[i].type == OVER_T_FSTRING) {
+			if (!strcasecmp(ofmt[i].name, "Xref:"))
+				supported = TRUE;
 		}
 	}
-	return;
+
+	/*
+	 * If user aborted with 'q', then we continue regardless. If Xref was
+	 * found, then fair enough. If not, tough. No real harm done
+	 */
+	if (!supported)
+		wait_message(2, _(txt_warn_xref_not_supported));
+
+	return supported;
 }
-#endif /* NNTP_ABLE && XHDR_XREF */
 
 
 /*
@@ -172,12 +335,6 @@ art_mark_xref_read(
 	char *debug_mesg;
 #endif /* DEBUG */
 
-#if defined(NNTP_ABLE) && defined(XHDR_XREF)
-	/* xref_supported => xref info was already read in xover record */
-	if (!xref_supported && read_news_via_nntp && art && !art->xref)
-		read_xref_header(art);
-#endif /* NNTP_ABLE && XHDR_XREF */
-
 	if (art->xref == NULL)
 		return;
 
@@ -213,19 +370,16 @@ art_mark_xref_read(
 
 		c = *ptr;
 		*ptr = '\0';
-		group = group_find(groupname);
+		group = group_find(groupname, FALSE);
 
 #ifdef DEBUG
-		if (debug == 3) {
+		if (debug & DEBUG_NEWSRC) {
 			debug_mesg = fmt_string("LOOKUP Xref: [%s:%ld] active=[%s] num_unread=[%ld]",
 				groupname, artnum,
 				(group ? group->name : ""),
 				(group ? group->newsrc.num_unread : 0));
-#	ifdef DEBUG_NEWSRC
 			debug_print_comment(debug_mesg);
 			debug_print_bitmap(group, NULL);
-#	endif /* DEBUG_NEWSRC */
-			error_message(debug_mesg);
 			free(debug_mesg);
 		}
 #endif /* DEBUG */
@@ -237,14 +391,11 @@ art_mark_xref_read(
 					if (group->newsrc.num_unread > 0)
 						group->newsrc.num_unread--;
 #ifdef DEBUG
-					if (debug == 3) {
+					if (debug & DEBUG_NEWSRC) {
 						debug_mesg = fmt_string("FOUND!Xref: [%s:%ld] marked READ num_unread=[%ld]",
 							groupname, artnum, group->newsrc.num_unread);
-#	ifdef DEBUG_NEWSRC
 						debug_print_comment(debug_mesg);
 						debug_print_bitmap(group, NULL);
-#	endif /* DEBUG_NEWSRC */
-						wait_message(2, debug_mesg);
 						free(debug_mesg);
 					}
 #endif /* DEBUG */
diff -Nurp tin-1.9.2/tin.spec tin-1.9.3/tin.spec
--- tin-1.9.2/tin.spec	2006-12-21 14:41:15.000000000 +0100
+++ tin-1.9.3/tin.spec	2008-03-14 10:21:29.000000000 +0100
@@ -1,6 +1,6 @@
 Name: tin
 Summary: tin - an easy-to-use USENET news reader
-Version: 1.9.2
+Version: 1.9.3
 Release: 1
 Copyright: BSD
 Group: Applications/News
diff -Nurp tin-1.9.2/tools/tinews.pl tin-1.9.3/tools/tinews.pl
--- tin-1.9.2/tools/tinews.pl	2006-12-22 02:44:28.000000000 +0100
+++ tin-1.9.3/tools/tinews.pl	2008-03-26 19:31:50.000000000 +0100
@@ -4,7 +4,7 @@
 # signs the article and posts it.
 #
 #
-# Copyright (c) 2002-2007 Urs Janssen <urs@tin.org>,
+# Copyright (c) 2002-2008 Urs Janssen <urs@tin.org>,
 #                         Marc Brockschmidt <marc@marcbrockschmidt.de>
 #
 # Redistribution and use in source and binary forms, with or without
@@ -33,39 +33,46 @@
 #
 #
 # TODO: - FIXME add debug mode which doesn't delete tmp-files and is verbose
-#         (e.g. warns about missing mime-headers if body contains 8bit
-#          chars)
 #       - add pgp6 support
-#       - check for ~/.newsauth (and ~/.nntpauth?) and use username/password
-#         if found
 #       - check for /etc/nntpserver (and /etc/news/server)
-#       - allow config in ~/.tinewsrc
+#       - also check for ~/.nntpauth?
 #       - add $PGPOPTS, $PGPPATH, $GNUPGHOME support
 #       - cleanup, remove duplicated code
 #
 # version Number
-my $version = "1.1.10";
+my $version = "1.1.20";
 
 my %config;
 
-$config{'NNTPServer'}	= 'news';	# your NNTP servers name
-$config{'NNTPPort'}	= 119;		# NNTP-port
-$config{'NNTPUser'}	= '';
-$config{'NNTPPass'}	= '';
+# configuration, may be overwritten via ~/.tinewsrc
+$config{'NNTPServer'}	= 'news';	# your NNTP servers name, may be set via $NNTPSERVER
+$config{'NNTPPort'}		= 119;	# NNTP-port, may be set via $NNTPPORT
+$config{'NNTPUser'}		= '';	# username for nntp-auth, may be set via ~/.newsauth
+$config{'NNTPPass'}		= '';	# password for nntp-auth, may be set via ~/.newsauth
 
-$config{'PGPSigner'}	= '';		# sign as who?
-$config{'PGPPass'}	= '';		# pgp2 only
-$config{'PathtoPGPPass'}= '';		# pgp2, pgp5 and gpg
+$config{'PGPSigner'}	= '';	# sign as who?
+$config{'PGPPass'}		= '';	# pgp2 only
+$config{'PathtoPGPPass'}= '';	# pgp2, pgp5 and gpg
 
-$config{'pgp'}		= '/usr/bin/pgp';# path to pgp
-$config{'PGPVersion'}	= '2';		# Use 2 for 2.X, 5 for PGP > 2.X and GPG for GPG
-$config{'digest-algo'}	= 'MD5';	# Digest Algorithm for GPG -- Must be supported by your installation
+$config{'pgp'}			= '/usr/bin/pgp';	# path to pgp
+$config{'PGPVersion'}	= '2';	# Use 2 for 2.X, 5 for PGP > 2.X and GPG for GPG
+$config{'digest-algo'}	= 'MD5';# Digest Algorithm for GPG. Must be supported by your installation
 
-$config{'Interactive'}	= "yes";	# allow interactive usage
+$config{'Interactive'}	= 'yes';# allow interactive usage
 
-$config{'add_signature'}= "yes";	# Add ~/.signature to posting if there is no sig
+$config{'sig_path'}		= glob('~/.signature');	# path to signature
+$config{'add_signature'}= 'yes';# Add $config{'sig_path'} to posting if there is no sig
+$config{'sig_max_lines'}= 4;	# max number of signatures lines
 
-$config{'sendmail'}	= '| /usr/sbin/sendmail -i -t'; # set to '' to disable mail-actions
+$config{'sendmail'}		= '| /usr/sbin/sendmail -i -t'; # set to '' to disable mail-actions
+
+$config{'pgptmpf'}		= 'pgptmp';	# temporary file for PGP.
+
+$config{'pgpheader'}	= 'X-PGP-Sig';
+$config{'pgpbegin'}		= '-----BEGIN PGP SIGNATURE-----';	# Begin of PGP-Signature
+$config{'pgpend'}		= '-----END PGP SIGNATURE-----';	# End of PGP-Signature
+
+# $config{'canlock_secret'}	= '~/.cancelsecret';		# Path to canlock secret file
 
 $config{'PGPSignHeaders'} = ['From', 'Newsgroups', 'Subject', 'Control',
 	'Supersedes', 'Followup-To', 'Date', 'Sender', 'Approved',
@@ -78,12 +85,6 @@ $config{'PGPorderheaders'} = ['from', 'n
 	'content-transfer-encoding', 'summary', 'keywords', 'cancel-lock',
 	'cancel-key', 'also-control', 'x-pgp', 'user-agent'];
 
-$config{'pgptmpf'}	= 'pgptmp';	# temporary file for PGP.
-
-$config{'pgpheader'}	= 'X-PGP-Sig';
-$config{'pgpbegin'}	= '-----BEGIN PGP SIGNATURE-----';	# Begin of PGP-Signature
-$config{'pgpend'}	= '-----END PGP SIGNATURE-----';	# End of PGP-Signature
-
 ################################################################################
 
 use strict;
@@ -92,22 +93,35 @@ use Net::NNTP;
 use Time::Local;
 use Term::ReadLine;
 
-my $pname = $0;
-$pname =~ s#^.*/##;
+(my $pname = $0) =~ s#^.*/##;
 
 my %cli_headers;
 
+# read config file ~/.tinewsrc if present
+if (-r glob('~/.tinewsrc')) {
+	open (TINEWSRC, glob('~/.tinewsrc'));
+	while (defined($_ = <TINEWSRC>)) {
+		if (m/^([^#\s]+)\s*=\s*(\S+)/io) {
+			$config{$1} = $2;
+		}
+	}
+	close (TINEWSRC);
+}
+
+# these env-vars have higher priority
 $config{'NNTPServer'} = $ENV{'NNTPSERVER'} if ($ENV{'NNTPSERVER'});
 $config{'NNTPPort'} = $ENV{'NNTPPORT'} if ($ENV{'NNTPPORT'});
 
 # Get options:
 $Getopt::Long::ignorecase=0;
-GetOptions('A|V|W|O|no-organization|h|headers' => [], #do nothing
-	'debug|D|N'	=> \$config{'debug'}, #XXX
+GetOptions('A|V|W|O|no-organization|h|headers' => [], # do nothing
+	'debug|D|N'	=> \$config{'debug'},
 	'port|p=i'	=> \$config{'NNTPPort'},
 	'no-sign|X'	=> \$config{'no_sign'},
 	'no-control|R'	=> \$config{'no_control'},
 	'no-signature|S'	=> \$config{'no_signature'},
+	'no-canlock|L'	=> \$config{'no_canlock'},
+	'force-auth|Y'	=> \$config{'force_auth'},
 	'approved|a=s'	=> \$config{'approved'},
 	'control|c=s'	=> \$config{'control'},
 	'distribution|d=s'	=> \$config{'distribution'},
@@ -116,6 +130,7 @@ GetOptions('A|V|W|O|no-organization|h|he
 	'followupto|w=s'	=> \$config{'followup-to'},
 	'newsgroups|n=s'	=> \$config{'newsgroups'},
 	'replyto|r=s'	=> \$config{'reply-to'},
+	'savedir|s=s'	=> \$config{'savedir'},
 	'subject|t=s'	=> \$config{'subject'},
 	'references|F=s'	=> \$config{'references'},
 	'organization|o=s'	=> \$config{'organization'},
@@ -128,7 +143,14 @@ foreach (@ARGV) {
 	usage();
 }
 
-usage() if($config{'help'});
+usage() if ($config{'help'});
+
+# Cancel-Locks require some more modules
+if ($config{'canlock_secret'} && !$config{'no_canlock'}) {
+	use MIME::Base64();
+	use Digest::SHA1();
+	use Digest::HMAC_SHA1();
+}
 
 my $term = new Term::ReadLine 'tinews';
 my $attribs = $term->Attribs;
@@ -137,16 +159,15 @@ my (@Header, %Header, @Body, $PGPCommand
 
 if (! $config{'no_sign'}) {
 	$config{'PGPSigner'} = $ENV{'SIGNER'} if ($ENV{'SIGNER'});
-
 	$config{'PathtoPGPPass'} = $ENV{'PGPPASSFILE'} if ($ENV{'PGPPASSFILE'});
 	if ($config{'PathtoPGPPass'}) {
-		open (PGPPass, $config{'PathtoPGPPass'}) or
+		open (PGPPass, glob($config{'PathtoPGPPass'})) or
 			$config{'Interactive'} && die ("$0: Can't open ".$config{'PathtoPGPPass'}.": $!");
 		chomp ($config{'PGPPass'} = <PGPPass>);
 		close(PGPPass);
 	}
-	if ($config{'PGPVersion'} eq '2') {
-		$config{'PGPPass'} = $ENV{'PGPPASS'} if ($ENV{'PGPPASS'});
+	if ($config{'PGPVersion'} eq '2' && $ENV{'PGPPASS'}) {
+		$config{'PGPPass'} = $ENV{'PGPPASS'};
 	}
 }
 
@@ -157,17 +178,19 @@ readarticle(\%Header, \@Body);
 # Add signature if there is none
 if (!$config{'no_signature'}) {
 	if ($config{'add_signature'} && !grep /^-- /, @Body) {
-		if (-r (glob("~/.signature"))[0]) {
+		if (-r $config{'sig_path'}) {
 			my $l = 0;
 			push @Body, "-- \n";
-			open SIGNATURE, (glob("~/.signature"))[0] or die "Can't open ~/.signature: $!";
+			open SIGNATURE, ($config{'sig_path'}) or die "Can't open " . $config{'sig_path'} . ": $!";
 			while (<SIGNATURE>){
-				die "~/.signature longer than 4 lines!" if (++$l > 4);
+				die $config{'sig_path'} . " longer than " . $config{'sig_max_lines'}. " lines!" if (++$l > $config{'sig_max_lines'});
 				push @Body, $_;
 			}
 			close SIGNATURE;
 		} else {
-			warn "Tried to add ~/.signature, but ~/.signature is not readable";
+			if ($config{'debug'}) {
+				warn "Tried to add " . $config{'sig_path'} . ", but it is unreadable";
+			}
 		}
 	}
 }
@@ -216,7 +239,36 @@ if ($config{'no_control'} and $Header{co
 	exit 1;
 }
 
-if (defined($Header{'newsgroups'}) && !defined($Header{'message-id'})) {
+# various checks
+if ($config{'debug'}) {
+	foreach (keys %Header) {
+		warn "Raw 8-bit data in the following header:\n$Header{$_}" if ($Header{$_} =~ m/[\x80-\xff]/o);
+	}
+	if (!defined($Header{'mime-version'}) || !defined($Header{'content-type'}) || !defined($Header{'content-transfer-encoding'})) {
+		warn "8bit body without MIME-headers\n" if (grep /[\x80-\xff]/, @Body);
+	}
+}
+
+# try ~/.newsauth if no $config{'NNTPPass'} was set
+if (!$config{'NNTPPass'}) {
+	if (-r (glob("~/.newsauth"))[0]) {
+		my ($l, $server, $pass, $user);
+		open NEWSAUTH, (glob("~/.newsauth"))[0] or die "Can't open ~/.newsauth: $!";
+		while ($l = <NEWSAUTH>) {
+			chomp $l;
+			next if ($l =~ m/^[#\s]/);
+			($server, $pass, $user) = split(/\s+\b/, $l);
+			last if ($server =~ m/\Q$config{'NNTPServer'}\E/);
+		}
+		close (NEWSAUTH);
+		if ($pass) {
+			$config{'NNTPPass'} = $pass;
+			$config{'NNTPUser'} = $user || getlogin || getpwuid($<) || $ENV{USER};
+		}
+	}
+}
+
+if (! $config{'savedir'} && defined($Header{'newsgroups'}) && !defined($Header{'message-id'})) {
 	my $Server = AuthonNNTP();
 	my $ServerMsg = $Server->message();
 	$Server->datasend('.');
@@ -231,6 +283,50 @@ if (!defined($Header{'message-id'})) {
 	$Header{'message-id'} = "Message-ID: " . sprintf ("<N%xI%xT%x@%s>\n", $>, timelocal(localtime), $$, $hostname);
 }
 
+# add Cancel-Lock (and Cancel-Key) header(s) if requested
+if ($config{'canlock_secret'} && !$config{'no_canlock'}) {
+	open (CANLock, glob($config{'canlock_secret'})) or die ("$0: Can't open " . $config{'canlock_secret'} . ": $!");
+	chomp (my $key = <CANLock>);
+	close (CANLock);
+	(my $data = $Header{'message-id'}) =~ s#^Message-ID: ##i;
+	chomp $data;
+	my $digest = Digest::HMAC_SHA1::hmac_sha1($data, $key);
+	my $cancel_key = MIME::Base64::encode($digest, '');
+	my $cancel_lock = MIME::Base64::encode(Digest::SHA1::sha1($cancel_key, ''));
+	if (defined($Header{'cancel-lock'})) {
+		chomp $Header{'cancel-lock'};
+		$Header{'cancel-lock'} .= " sha1:" . $cancel_lock;
+	} else {
+		$Header{'cancel-lock'} = "Cancel-Lock: sha1:" . $cancel_lock;
+	}
+
+	if ((defined($Header{'supersedes'}) && $Header{'supersedes'} =~ m/^Supersedes:\s+<\S+>\s*$/i) || (defined($Header{'control'}) && $Header{'control'} =~ m/^Control:\s+cancel\s+<\S+>\s*$/i) ||(defined($Header{'also-control'}) && $Header{'also-control'} =~ m/^Also-Control:\s+cancel\s+<\S+>\s*$/i)) {
+		if (defined($Header{'also-control'}) && $Header{'also-control'} =~ m/^Also-Control:\s+cancel\s+/i) {
+			($data = $Header{'also-control'}) =~ s#^Also-Control:\s+cancel\s+##i;
+			chomp $data;
+			$cancel_key = MIME::Base64::encode(Digest::HMAC_SHA1::hmac_sha1($data, $key),'');
+		} else {
+			if (defined($Header{'control'}) && $Header{'control'} =~ m/^Control: cancel /i) {
+				($data = $Header{'control'})=~ s#^Control:\s+cancel\s+##i;
+				chomp $data;
+				$cancel_key = MIME::Base64::encode(Digest::HMAC_SHA1::hmac_sha1($data, $key),'');
+			} else {
+				if (defined($Header{'supersedes'})) {
+					($data = $Header{'supersedes'}) =~ s#^Supersedes: ##i;
+					chomp $data;
+					$cancel_key = MIME::Base64::encode(Digest::HMAC_SHA1::hmac_sha1($data, $key),'');
+				}
+			}
+		}
+		if (defined($Header{'cancel-key'})) {
+			chomp $Header{'cancel-key'};
+			$Header{'cancel-key'} .= " sha1:" . $cancel_key . "\n";
+		} else {
+			$Header{'cancel-key'} = "Cancel-Key: sha1:" . $cancel_key . "\n";
+		}
+	}
+}
+
 # set Posted-And-Mailed if we send a mailcopy to someone else
 if ($config{'sendmail'} && defined($Header{'newsgroups'}) && (defined($Header{'to'}) || defined($Header{'cc'}) || defined($Header{'bcc'}))) {
 	foreach ('to', 'bcc', 'cc') {
@@ -268,8 +364,12 @@ if ($config{'no_sign'}) {
 	$MessageR = signarticle(\%Header, \@Body);
 }
 
-# post article
-postarticle($MessageR) if ($Newsgroups);
+# post or save article
+if (! $config{'savedir'}) {
+	postarticle($MessageR) if ($Newsgroups);
+} else {
+	savearticle($MessageR) if ($Newsgroups);
+}
 
 # mail article
 if (($To || $Cc || $Bcc) && $config{'sendmail'}) {
@@ -356,7 +456,7 @@ sub AuthonNNTP {
 	}
 
 	# read access - try auth
-	if ($ServerCod == 201) {
+	if ($ServerCod == 201 || $config{'force_auth'}) {
 		if ($config{'NNTPPass'} eq "") {
 			if ($config{'Interactive'}) {
 				$config{'NNTPUser'} = $term->readline("Your Username at ".$config{'NNTPServer'}.": ");
@@ -463,6 +563,23 @@ sub postarticle {
 }
 
 
+#-------- sub savearticle
+# savearticle saves your article to the directory $config{'savedir'}
+#
+# Receives:
+#      - $ArticleR: A reference to an array containing the article
+sub savearticle {
+	my ($ArticleR) = @_;
+	my $timestamp = timelocal(localtime);
+	(my $ng = $Newsgroups) =~ s#^Newsgroups:\s*([^,\s]+).*#$1#i;
+	my $gn = join "", map { substr($_,0,1) } (split (/\./, $ng));
+	my $filename = $config{'savedir'}."/".$timestamp."-".$gn."-".$$;
+	open (SH, '>', $filename) or die("$0: can't open $filename: $!\n");
+	print SH @$ArticleR;
+	close(SH) or warn "$0: Couldn't close: $!\n";
+}
+
+
 #-------- sub signarticle
 # signarticle signs an articel and returns a reference to an array
 # 	containing the whole signed Message.
@@ -564,7 +681,7 @@ sub signarticle {
 		}
 	}
 
-	push @pgphead, ("X-PGP-Hash: " . $config{'digest-algo'} . "\n");
+	push @pgphead, ("X-PGP-Hash: " . $config{'digest-algo'} . "\n") if (defined($config{'digest-algo'}));
 	push @pgphead, ("X-PGP-Key: " . $config{'PGPSigner'} . "\n"), $tmppgpheader;
 	undef $tmppgpheader;
 
@@ -586,13 +703,16 @@ sub usage {
 	print "  -o string  set Organization:-header to string\n";
 	print "  -p port    use port as NNTP port [default=".$config{'NNTPPort'}."]\n";
 	print "  -r string  set Reply-To:-header to string\n";
+	print "  -s string  save signed article to directory string instead of posting\n";
 	print "  -t string  set Subject:-header to string\n";
 	print "  -w string  set Followup-To:-header to string\n";
 	print "  -x string  set Path:-header to string\n";
 	print "  -H         show help\n";
+	print "  -L         do not add Cacenl-Lock: / Cancel-Key: headers\n";
 	print "  -R         disallow control messages\n";
-	print "  -S         do not append \$HOME/.signature\n";
+	print "  -S         do not append " . $config{'sig_path'} . "\n";
 	print "  -X         do not sign article\n";
+	print "  -Y         force authentication on connect\n";
 	exit 0;
 }
 
@@ -615,6 +735,9 @@ If the article contains To:, Cc: or Bcc:
 configured it will automatically add a "Posted-And-Mailed: yes" header
 to the article and send out the mail-copies.
 
+If a Cancel-Lock secret file is defined it will automatically add a
+Cancel-Lock: (and Cancel-Key: if required) header.
+
 =head1 OPTIONS
 
 =over 4
@@ -655,6 +778,10 @@ use C<port> as NNTP-port
 
 Set the article header field Reply-To: to the given value.
 
+=item -B<s> F<directory> | --B<savedir> F<directory>
+
+Save signed article to directory F<directory> instead of posting.
+
 =item -B<t> C<Subject> | --B<subject> C<Subject>
 
 Set the article header field Subject: to the given value.
@@ -671,18 +798,26 @@ Set the article header field Path: to th
 
 Show help-page.
 
+=item -B<L> | --B<no-canlock>
+
+Do not add Cancel-Lock: / Cancel-Key: headers.
+
 =item -B<R> | --B<no-control>
 
 Restricted mode, disallow control-messages.
 
 =item -B<S> | --B<no-signature>
 
-Do not append F<$HOME/.signature>
+Do not append F<$HOME/.signature>.
 
 =item -B<X> | --B<no-sign>
 
 Do not sign the article.
 
+=item -B<Y> | --B<force-auth>
+
+Force authentication on connect even if not required by the server.
+
 =item -B<A> -B<V> -B<W>
 
 These options are accepted for compatibility reasons but ignored.
@@ -772,11 +907,11 @@ command-line option overrides B<$DISTRIB
 
 =item F<pgptmp.txt>
 
-Temporary file used to store the reformatted article
+Temporary file used to store the reformatted article.
 
 =item F<pgptmp.txt.asc>
 
-Temporary file used to store the reformatted and signed article
+Temporary file used to store the reformatted and signed article.
 
 =item F<$PGPPASSFILE>
 
@@ -784,7 +919,25 @@ The passphrase file to be used for B<pgp
 
 =item F<$HOME/.signature>
 
-Signature-file which will be automatically included.
+Signature file which will be automatically included.
+
+=item F<$HOME/.cancelsecret>
+
+The passphrase file to be used for Cancel-Locks. This feature is turned
+off by default.
+
+=item F<$HOME/.newsauth>
+
+"nntpserver password [user]" pairs for NNTP servers that require
+authorization. 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
+users uncrypted password for reading news.
+
+=item F<$HOME/.tinewsrc>
+
+"option=value" configuration pairs. Lines that start with "#" are ignored.
+If the file contains uncrypted passwords (e.g. NNTPPass or PGPPass), it
+should be only readable for the user.
 
 =back
 
@@ -804,6 +957,10 @@ B<tinews.pl> requires the following stan
 B<Getopt::Long>(3pm), B<Net::NNTP>(3pm), B<Time::Local>(3pm) and
 B<Term::Readline>(3pm).
 
+If the Cacenl-Lock feature is enabled the following additional modules
+must be installed: B<MIME::Base64>(3pm), B<Digest::SHA1>(3pm) and
+B<Digest::HMAC_SHA1>(3pm)
+
 =head1 AUTHOR
 
 Urs Janssen E<lt>urs@tin.orgE<gt>,
@@ -811,7 +968,8 @@ Marc Brockschmidt E<lt>marc@marcbrocksch
 
 =head1 SEE ALSO
 
-B<pgp>(1), B<gpg>(1), B<pgps>(1), B<Getopt::Long>(3pm), B<Net::NNTP>(3pm),
-B<Time::Local>(3pm), B<Term::Readline>(3pm)
+B<pgp>(1), B<gpg>(1), B<pgps>(1), B<Digest::HMAC_SHA1>(3pm),
+B<Digest::SHA1>(3pm), B<Getopt::Long>(3pm), B<MIME::Base64>(3pm),
+B<Net::NNTP>(3pm), B<Time::Local>(3pm), B<Term::Readline>(3pm)
 
 =cut
diff -Nurp tin-1.9.2/tools/url_handler.pl tin-1.9.3/tools/url_handler.pl
--- tin-1.9.2/tools/url_handler.pl	1970-01-01 01:00:00.000000000 +0100
+++ tin-1.9.3/tools/url_handler.pl	2008-03-14 10:21:30.000000000 +0100
@@ -0,0 +1,139 @@
+#! /usr/bin/perl -w
+# example of how to call the appropriate viewer
+#
+# URLs must start with a scheme and shell metas must be allready quoted
+# (tin doesn't recognize URLs without a scheme and it quotes the metas)
+
+use strict;
+
+(my $pname = $0) =~ s#^.*/##;
+die "Usage: $pname URL" if $#ARGV != 0;
+
+# version Number
+my $version = "0.0.8";
+
+my ($method, $url, $browser, $match, @try);
+$method = $url = $ARGV[0];
+$method =~ s#^([^:]+):.*#$1#io;
+
+if ($ENV{BROWSER}) {
+	push(@try, split(/:/, $ENV{BROWSER}));
+} else { # set some defaults
+	push(@try, 'firefox -a firefox -remote openURL\(%s\)');
+	push(@try, 'mozilla -remote openURL\(%s\)');
+	push(@try, 'opera -remote openURL\(%s\)');
+	push(@try, 'galeon -n');
+	push(@try, 'kfmclient newTab');
+	push(@try, 'links2 -g');
+	push(@try, qw(links lynx w3m));
+}
+
+if ($ENV{DISPLAY}) { # X running
+	# try $BROWSER for http, https, gopher, ftp, news, snews
+	if ($method =~ m/^(?:https?|gopher|ftp|s?news)$/io) {
+		for $browser (@try) {
+			# ignore empty parts
+			next if ($browser =~ m/^$/o);
+			# expand %s if not preceded by odd number of %
+			$match = $browser =~ s/(?<!%)((?:%%)*)%s/$1$url/og;
+			# expand %c if not preceded by odd number of %
+			$browser =~ s/(?<!%)((?:%%)*)%c/$1:/og;
+			# reduce dubble %
+			$browser =~ s/%%/%/og;
+			# append URL if no %s expansion took place
+			$browser .= " ".$url if (!$match);
+			# leave loop if $browser was started successfull
+			last if (system("$browser 2>/dev/null") == 0);
+		}
+		exit 0;
+    }
+} else { # no X running
+	# try $BROWSER for http, https, gopher, news, snews
+	if ($method =~ m/^(?:https?|gopher|s?news)$/io) {
+		for $browser (@try) {
+			next if ($browser =~ m/^$/o);
+			$match = $browser =~ s/(?<!%)((?:%%)*)%s/$1$url/og;
+			$browser =~ s/(?<!%)((?:%%)*)%c/$1:/og;
+			$browser =~ s/%%/%/og;
+			$browser .= " ".$url if (!$match);
+			last if (system("$browser 2>/dev/null") == 0);
+		}
+		exit 0;
+	}
+	# use ncftp for ftp
+	if ($method =~ m/^ftp$/io) {
+		system ("ncftp $url") || exit 1;
+		exit 0;
+	}
+}
+
+# no matter if we're using X or not
+
+# use lynx for nntp (as e.g. Netscape can't handle it)
+if ($method =~ m/^nntp$/io) {
+	system ("lynx $url") || exit 1;
+	exit 0;
+}
+
+# use mutt for mailto
+if ($method =~ m/^mailto$/io) {
+	system ("mutt $url") || exit 1;
+	# for pine users:
+	# system ("pine -url $url") || exit 1;
+	exit 0;
+}
+
+die "unsupported URL-scheme";
+
+__END__
+
+=head1 NAME
+
+url_handler.pl - Spawn appropriate viewer for a given URL
+
+=head1 SYNOPSIS
+
+B<url_handler.pl> I<URL>
+
+=head1 DESCRIPTION
+
+B<url_handler.pl> takes a URL as argument and spawns the appropriate
+viewer with the URL. When running under X11 it follows B<$BROWSER> for
+the following schemes: HTTP, HTTPS, GOPHER, FTP, NEWS and SNEWS; when
+not running under X11 B<$BROWSER> is considered for HTTP, HTTPS, GOPHER,
+NEWS and SNEWS. The schemes NNTP and MAILTO (and FTP when not running
+under X11) are handled separately.
+
+=head1 ENVIRONMENT
+
+=over 4
+
+=item B<$BROWSER>
+
+The user's preferred utility to browse URLs. May actually consist of a
+sequence of colon-separated browser commands to be tried in order until one
+succeeds. If a command part contains %s, the URL is substituted there,
+otherwise the browser command is simply called with the URL as its last
+argument. %% is replaced by a single percent sign (%), and %c is replaced
+by a colon (:).
+
+=back
+
+=head1 SECURITY
+
+B<url_handler.pl> was designed to work together with B<tin>(1) which
+only issues shell escaped absolute URLs thus B<url_handler.pl> does not
+shell escape it's input nor does it convert relative URLs into absolute
+ones! If you use B<url_handler.pl> from other applications be sure to at
+least shell escaped it's input!
+
+=head1 AUTHOR
+
+Urs Janssen E<lt>urs@tin.orgE<gt>
+
+=head1 SEE ALSO
+
+http://www.catb.org/~esr/BROWSER/
+http://www.dwheeler.com/browse/secure_browser.html
+
+=cut
