-----------------------------------------------------------------------------
 MANIFEST                  |  177 +--
 Makefile                  |    7 
 config.guess              |   19 
 config.sub                |   17 
 configure                 | 1038 +++++++++++++------
 configure.in              |   63 +
 doc/CHANGES               |   59 +
 doc/INSTALL               |   18 
 doc/TODO                  |   35 
 doc/WHATSNEW              |    5 
 doc/tin.1                 |  113 +-
 doc/tin.5                 |   50 
 include/autoconf.hin      |   21 
 include/extern.h          |   13 
 include/newsrc.h          |  140 ++
 include/proto.h           |   20 
 include/tin.h             |  158 +-
 include/tinrc.h           |    6 
 include/version.h         |    8 
 install.sh                |  139 +-
 pcre/AUTHORS              |    2 
 pcre/COPYING              |    2 
 pcre/ChangeLog            |   99 +
 pcre/Makefile.in          |    2 
 pcre/Makefile.in-old      |   14 
 pcre/NEWS                 |   16 
 pcre/NON-UNIX-USE         |   33 
 pcre/README               |   55 -
 pcre/RunTest.in           |   12 
 pcre/config.h             |    3 
 pcre/configure.in         |   23 
 pcre/dftables.c           |   93 +
 pcre/doc/pcrepattern.3    |    4 
 pcre/internal.h           |   96 +
 pcre/maketables.c         |   10 
 pcre/pcre.c               | 1390 +++++++++++++++++++-------
 pcre/pcre.in              |   35 
 pcre/pcreposix.c          |   17 
 pcre/pcretest.c           |   72 +
 pcre/printint.c           |    4 
 pcre/study.c              |    5 
 pcre/testdata/testinput2  |   27 
 pcre/testdata/testinput3  |   18 
 pcre/testdata/testinput4  |    4 
 pcre/testdata/testinput5  |   41 
 pcre/testdata/testoutput1 |    3 
 pcre/testdata/testoutput2 |  174 +++
 pcre/testdata/testoutput3 |   25 
 pcre/testdata/testoutput4 |   35 
 pcre/testdata/testoutput5 |  199 +++
 pcre/version.sh           |    4 
 po/de.gmo                 |binary
 po/de.po                  | 2262 +++++++++++++++++++++---------------------
 po/en_GB.gmo              |binary
 po/en_GB.po               | 2245 +++++++++++++++++++++---------------------
 po/et.gmo                 |binary
 po/et.po                  | 2318 ++++++++++++++++++++++----------------------
 po/fr.gmo                 |binary
 po/fr.po                  | 2258 +++++++++++++++++++++---------------------
 po/messages               |binary
 po/tin.pot                | 2252 +++++++++++++++++++++---------------------
 src/Makefile.in           |   10 
 src/active.c              |    3 
 src/art.c                 |  148 +-
 src/attrib.c              |   15 
 src/config.c              |  125 ++
 src/debug.c               |   19 
 src/feed.c                |   32 
 src/filter.c              |   82 +
 src/group.c               |   33 
 src/init.c                |   60 +
 src/lang.c                |   49 
 src/langinfo.c            |   19 
 src/mail.c                |   11 
 src/main.c                |    6 
 src/misc.c                |   56 -
 src/newsrc.c              |  127 +-
 src/nntplib.c             |    5 
 src/page.c                |   39 
 src/pgp.c                 |    4 
 src/post.c                |   87 +
 src/prompt.c              |   26 
 src/regex.c               |   87 -
 src/rfc2046.c             |   19 
 src/screen.c              |    2 
 src/search.c              |  194 ++-
 src/string.c              |  121 ++
 src/thread.c              |   10 
 src/tincfg.tbl            |   13 
 src/xref.c                |   14 
 tin.spec                  |    2 
 91 files changed, 10156 insertions, 7220 deletions
-----------------------------------------------------------------------------
diff -Nurp tin-1.7.2/MANIFEST tin-1.7.3/MANIFEST
--- tin-1.7.2/MANIFEST	Tue Nov  4 18:01:28 2003
+++ tin-1.7.3/MANIFEST	Sat Dec 20 18:49:55 2003
@@ -1,27 +1,27 @@
-MANIFEST for tin-1.7.2 (Tue Nov  4 18:01:28 CET 2003)
+MANIFEST for tin-1.7.3 (Sat Dec 20 18:49:55 CET 2003)
 ----------------------------------------------------
-  12865 ./Makefile
-   7331 ./MANIFEST
+  12887 ./Makefile
+   7358 ./MANIFEST
    1440 ./README
     313 ./README.MAC
    2209 ./README.VMS
    1006 ./README.WIN
  133038 ./aclocal.m4
     882 ./conf-tin
-  42653 ./config.guess
-  30651 ./config.sub
- 449401 ./configure
-  28552 ./configure.in
-   5555 ./install.sh
+  42865 ./config.guess
+  30800 ./config.sub
+ 458258 ./configure
+  30070 ./configure.in
+   7123 ./install.sh
     777 ./mkdirs.sh
    1505 ./tin.spec
   18847 ./doc/ABOUT-NLS
-   7719 ./doc/CHANGES
+  10052 ./doc/CHANGES
  226345 ./doc/CHANGES.old
    1469 ./doc/DEBUG_REFS
-  29331 ./doc/INSTALL
-  29820 ./doc/TODO
-    572 ./doc/WHATSNEW
+  29301 ./doc/INSTALL
+  30210 ./doc/TODO
+    698 ./doc/WHATSNEW
    2617 ./doc/art_handling.txt
    1700 ./doc/article.txt
    3862 ./doc/auth.txt
@@ -47,8 +47,8 @@ MANIFEST for tin-1.7.2 (Tue Nov  4 18:01
    4168 ./doc/mmdf.5
    2128 ./doc/newsoverview.5
    6963 ./doc/plp_snprintf.3
- 120624 ./doc/tin.1
-  70381 ./doc/tin.5
+ 121321 ./doc/tin.1
+  71189 ./doc/tin.5
    4733 ./doc/w2r.1
    2196 ./doc/wildmat.3
     344 ./tools/expiretover
@@ -62,88 +62,89 @@ MANIFEST for tin-1.7.2 (Tue Nov  4 18:01
    2702 ./include/bool.h
    2039 ./include/bugrep.h
    9502 ./include/oldconfig.h
-  57513 ./include/extern.h
+  57932 ./include/extern.h
   11429 ./include/keymap.h
   15886 ./include/menukeys.h
+   6340 ./include/newsrc.h
    6507 ./include/nntplib.h
     665 ./include/plp_snprintf.h
   12078 ./include/policy.h
-  29462 ./include/proto.h
+  29639 ./include/proto.h
    5047 ./include/rfc2046.h
    3373 ./include/stpwatch.h
    5609 ./include/tcurses.h
-  64150 ./include/tin.h
-  12907 ./include/tinrc.h
+  61820 ./include/tin.h
+  13059 ./include/tinrc.h
    5662 ./include/tnntp.h
    2256 ./include/trace.h
-   2529 ./include/version.h
-  25944 ./src/active.c
-  53318 ./src/art.c
-  30438 ./src/attrib.c
+   2530 ./include/version.h
+  25935 ./src/active.c
+  53602 ./src/art.c
+  31065 ./src/attrib.c
   12365 ./src/auth.c
   13846 ./src/charset.c
    5981 ./src/color.c
-  86063 ./src/config.c
+  89271 ./src/config.c
   29572 ./src/cook.c
   30644 ./src/curses.c
-   9714 ./src/debug.c
+   9791 ./src/debug.c
    3414 ./src/envarg.c
-  25367 ./src/feed.c
-  52399 ./src/filter.c
+  25671 ./src/feed.c
+  54385 ./src/filter.c
   17968 ./src/getline.c
    7254 ./src/global.c
-  44743 ./src/group.c
+  45273 ./src/group.c
    3906 ./src/hashstr.c
    8775 ./src/header.c
   27952 ./src/help.c
   13862 ./src/inews.c
-  31250 ./src/init.c
+  32656 ./src/init.c
    2208 ./src/joinpath.c
   38018 ./src/keymap.c
- 113975 ./src/lang.c
-   4310 ./src/langinfo.c
+ 114956 ./src/lang.c
+   4474 ./src/langinfo.c
    7033 ./src/list.c
    6672 ./src/lock.c
-  13378 ./src/mail.c
-  25799 ./src/main.c
+  13362 ./src/mail.c
+  25758 ./src/main.c
   10227 ./src/makecfg.c
   12294 ./src/memory.c
    5257 ./src/mimetypes.c
-  83279 ./src/misc.c
-  40463 ./src/newsrc.c
-  37019 ./src/nntplib.c
+  84110 ./src/misc.c
+  40354 ./src/newsrc.c
+  37040 ./src/nntplib.c
    7291 ./src/nrctbl.c
-  61278 ./src/page.c
+  61961 ./src/page.c
   24132 ./src/parsdate.y
   16966 ./src/plp_snprintf.c
-  12670 ./src/pgp.c
- 131433 ./src/post.c
-  13908 ./src/prompt.c
+  12676 ./src/pgp.c
+ 132314 ./src/post.c
+  14432 ./src/prompt.c
   10680 ./src/read.c
   24980 ./src/refs.c
-   4651 ./src/regex.c
+   5276 ./src/regex.c
   14488 ./src/rfc1524.c
    5553 ./src/rfc2045.c
-  29426 ./src/rfc2046.c
+  29413 ./src/rfc2046.c
   23826 ./src/rfc2047.c
   37008 ./src/save.c
-  10835 ./src/screen.c
-  12791 ./src/search.c
+  10836 ./src/screen.c
+  15429 ./src/search.c
   30631 ./src/select.c
    7590 ./src/sigfile.c
   12332 ./src/signal.c
    7215 ./src/strftime.c
-  15574 ./src/string.c
+  18744 ./src/string.c
   13831 ./src/tags.c
   16381 ./src/tcurses.c
    3058 ./src/tmpfile.c
    3376 ./src/my_tmpfile.c
-  40120 ./src/thread.c
+  40222 ./src/thread.c
    2464 ./src/trace.c
    4109 ./src/version.c
    5489 ./src/wildmat.c
    7129 ./src/xface.c
-   7971 ./src/xref.c
+   7637 ./src/xref.c
    3013 ./vms/dir.h
     424 ./vms/filetypes.h
   21451 ./vms/getopt.c
@@ -168,50 +169,50 @@ MANIFEST for tin-1.7.2 (Tue Nov  4 18:01
     389 ./vms/vmstimval.h
     179 ./pcre/AUTHORS
    2218 ./pcre/COPYING
-  59675 ./pcre/ChangeLog
+  64875 ./pcre/ChangeLog
    8049 ./pcre/INSTALL
    2218 ./pcre/LICENCE
-   2405 ./pcre/Makefile.in
-  12476 ./pcre/Makefile.in-old
-   5514 ./pcre/NEWS
-   4790 ./pcre/NON-UNIX-USE
-  16335 ./pcre/README
-   3077 ./pcre/RunTest.in
-     72 ./pcre/config.h
-   4720 ./pcre/configure.in
-   4766 ./pcre/dftables.c
+   2404 ./pcre/Makefile.in
+  12558 ./pcre/Makefile.in-old
+   6142 ./pcre/NEWS
+   5381 ./pcre/NON-UNIX-USE
+  16781 ./pcre/README
+   3133 ./pcre/RunTest.in
+    138 ./pcre/config.h
+   5153 ./pcre/configure.in
+   5182 ./pcre/dftables.c
   11406 ./pcre/get.c
-  28334 ./pcre/internal.h
-   4289 ./pcre/maketables.c
+  29055 ./pcre/internal.h
+   4547 ./pcre/maketables.c
    1093 ./pcre/pcre-config.in
- 233449 ./pcre/pcre.c
+ 255554 ./pcre/pcre.c
     271 ./pcre/pcre.def
-   6717 ./pcre/pcre.in
+   7055 ./pcre/pcre.in
   11338 ./pcre/pcredemo.c
   15371 ./pcre/pcregrep.c
-  10193 ./pcre/pcreposix.c
+  10393 ./pcre/pcreposix.c
    2347 ./pcre/pcreposix.h
-  39984 ./pcre/pcretest.c
+  41274 ./pcre/pcretest.c
    5232 ./pcre/perltest
-   9610 ./pcre/printint.c
-  13539 ./pcre/study.c
-    398 ./pcre/version.sh
+   9622 ./pcre/printint.c
+  13590 ./pcre/study.c
+    400 ./pcre/version.sh
    6924 ./pcre/doc/pcre.3
-  55267 ./pcre/doc/pcrepattern.3
+  55268 ./pcre/doc/pcrepattern.3
   73940 ./pcre/testdata/testinput1
-  20201 ./pcre/testdata/testinput2
-    569 ./pcre/testdata/testinput3
-   8396 ./pcre/testdata/testinput4
-   2889 ./pcre/testdata/testinput5
-  98303 ./pcre/testdata/testoutput1
-  82522 ./pcre/testdata/testoutput2
-   1498 ./pcre/testdata/testoutput3
-  14602 ./pcre/testdata/testoutput4
-  19217 ./pcre/testdata/testoutput5
-  19049 ./include/autoconf.hin
+  20702 ./pcre/testdata/testinput2
+    596 ./pcre/testdata/testinput3
+   8431 ./pcre/testdata/testinput4
+   3479 ./pcre/testdata/testinput5
+  98304 ./pcre/testdata/testoutput1
+  86022 ./pcre/testdata/testoutput2
+   1528 ./pcre/testdata/testoutput3
+  14786 ./pcre/testdata/testoutput4
+  22706 ./pcre/testdata/testoutput5
+  19483 ./include/autoconf.hin
    5800 ./pcre/pcre.mms
-  20030 ./src/Makefile.in
-   7237 ./src/tincfg.tbl
+  20127 ./src/Makefile.in
+   7493 ./src/tincfg.tbl
    8747 ./src/descrip.mms
     954 ./libcanlock/Build
     882 ./libcanlock/CHANGES
@@ -273,13 +274,13 @@ MANIFEST for tin-1.7.2 (Tue Nov  4 18:01
      41 ./intl/VERSION
    4962 ./po/Makefile.inn
     828 ./po/POTFILES.in
- 117289 ./po/tin.pot
- 160499 ./po/de.gmo
- 190047 ./po/de.po
-   6558 ./po/en_GB.gmo
- 119492 ./po/en_GB.po
- 152157 ./po/et.gmo
- 182017 ./po/et.po
-  99590 ./po/fr.gmo
- 160294 ./po/fr.po
-5828461 total
+ 118016 ./po/tin.pot
+ 160942 ./po/de.gmo
+ 191042 ./po/de.po
+   7027 ./po/en_GB.gmo
+ 120400 ./po/en_GB.po
+ 153415 ./po/et.gmo
+ 183024 ./po/et.po
+  99634 ./po/fr.gmo
+ 160809 ./po/fr.po
+5916829 total
diff -Nurp tin-1.7.2/Makefile tin-1.7.3/Makefile
--- tin-1.7.2/Makefile	Tue Nov  4 18:01:26 2003
+++ tin-1.7.3/Makefile	Sat Dec 20 18:49:53 2003
@@ -1,15 +1,15 @@
 # Top level Makefile for tin
 # - for configuration options read the doc/INSTALL file.
 #
-# Updated: 2003-10-01
+# Updated: 2003-11-18
 #
 
 PROJECT	= tin
 LVER	= 1
 PVER	= 7
-SVER	= 2
+SVER	= 3
 VER	= $(LVER).$(PVER).$(SVER)
-DVER	= 20031104
+DVER	= 20031220
 EXE	= tin
 
 # directory structure
@@ -32,6 +32,7 @@ HFILES	= \
 	$(INCDIR)/extern.h \
 	$(INCDIR)/keymap.h \
 	$(INCDIR)/menukeys.h \
+	$(INCDIR)/newsrc.h \
 	$(INCDIR)/nntplib.h \
 	$(INCDIR)/plp_snprintf.h \
 	$(INCDIR)/policy.h \
diff -Nurp tin-1.7.2/config.guess tin-1.7.3/config.guess
--- tin-1.7.2/config.guess	Sat Oct 18 04:46:26 2003
+++ tin-1.7.3/config.guess	Sat Nov 29 22:30:21 2003
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-timestamp='2003-10-16'
+timestamp='2003-10-20'
 
 # 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
@@ -221,6 +221,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
     mvmeppc:OpenBSD:*:*)
 	echo powerpc-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
+    pegasos:OpenBSD:*:*)
+	echo powerpc-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
     pmax:OpenBSD:*:*)
 	echo mipsel-unknown-openbsd${UNAME_RELEASE}
 	exit 0 ;;
@@ -741,10 +744,10 @@ EOF
 	exit 0 ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        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 0 ;;
+	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 0 ;;
     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/ /_/'`
@@ -994,6 +997,9 @@ EOF
     i*86:atheos:*:*)
 	echo ${UNAME_MACHINE}-unknown-atheos
 	exit 0 ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit 0 ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
 	echo i386-unknown-lynxos${UNAME_RELEASE}
 	exit 0 ;;
@@ -1223,6 +1229,9 @@ EOF
 	exit 0 ;;
     SEI:*:*:SEIUX)
 	echo mips-sei-seiux${UNAME_RELEASE}
+	exit 0 ;;
+    *:DRAGONFLY:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly${UNAME_RELEASE}
 	exit 0 ;;
 esac
 
diff -Nurp tin-1.7.2/config.sub tin-1.7.3/config.sub
--- tin-1.7.2/config.sub	Sat Oct 18 04:48:52 2003
+++ tin-1.7.3/config.sub	Sat Nov 29 22:30:21 2003
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-timestamp='2003-10-16'
+timestamp='2003-11-20'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -968,6 +968,10 @@ case $basic_machine in
 	tower | tower-32)
 		basic_machine=m68k-ncr
 		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
 	udi29k)
 		basic_machine=a29k-amd
 		os=-udi
@@ -1148,7 +1152,7 @@ case $os in
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1211,6 +1215,9 @@ case $os in
 	-atheos*)
 		os=-atheos
 		;;
+	-syllable*)
+		os=-syllable
+		;;
 	-386bsd)
 		os=-bsd
 		;;
@@ -1233,6 +1240,9 @@ case $os in
 	-sinix*)
 		os=-sysv4
 		;;
+	-tpf*)
+		os=-tpf
+		;;
 	-triton*)
 		os=-sysv3
 		;;
@@ -1486,6 +1496,9 @@ case $basic_machine in
 				;;
 			-ptx*)
 				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
 				;;
 			-vxsim* | -vxworks* | -windiss*)
 				vendor=wrs
diff -Nurp tin-1.7.2/configure tin-1.7.3/configure
--- tin-1.7.2/configure	Tue Nov  4 18:01:28 2003
+++ tin-1.7.3/configure	Sat Dec 20 18:49:55 2003
@@ -617,7 +617,7 @@ fi
 
 
 PACKAGE=tin
-VERSION=1.7.2
+VERSION=1.7.3
 cat >> confdefs.h <<EOF
 #define PACKAGE "$PACKAGE"
 EOF
@@ -10070,11 +10070,47 @@ EOF
 
 fi
 
+echo $ac_n "checking for nl_item""... $ac_c" 1>&6
+echo "configure:10075: checking for nl_item" >&5
+cat > conftest.$ac_ext <<EOF
+#line 10077 "configure"
+#include "confdefs.h"
+
+#ifdef HAVE_LANGINFO_H
+#include <langinfo.h>
+#else
+#ifdef HAVE_NL_TYPES_H
+#include <nl_types.h>
+#endif
+#endif
+
+int main() {
+nl_item x; x = 0
+; return 0; }
+EOF
+if { (eval echo configure:10092: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_nl_item=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_nl_item=no
+fi
+rm -f conftest*
+echo "$ac_t""$ac_cv_nl_item" 1>&6
+if test $ac_cv_nl_item = yes; then
+        cat >> confdefs.h <<\EOF
+#define HAVE_NL_ITEM 1
+EOF
+
+fi
+
 ###	Checks for libraries.
 # 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:10078: checking for UUInitialize in -luu" >&5
+echo "configure:10114: 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
@@ -10082,7 +10118,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-luu  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10086 "configure"
+#line 10122 "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
@@ -10093,7 +10129,7 @@ int main() {
 UUInitialize()
 ; return 0; }
 EOF
-if { (eval echo configure:10097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10133: \"$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
@@ -10110,17 +10146,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:10114: checking for uudeview.h" >&5
+echo "configure:10150: 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 10119 "configure"
+#line 10155 "configure"
 #include "confdefs.h"
 #include <uudeview.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10124: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10160: \"$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*
@@ -10156,6 +10192,308 @@ else
 fi
 
 
+# libidn - Internationalized Domain Names
+echo $ac_n "checking for stringprep_check_version in -lidn""... $ac_c" 1>&6
+echo "configure:10198: 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
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lidn  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 10206 "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 stringprep_check_version();
+
+int main() {
+stringprep_check_version()
+; return 0; }
+EOF
+if { (eval echo configure:10217: \"$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
+  ac_safe=`echo "stringprep.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for stringprep.h""... $ac_c" 1>&6
+echo "configure:10234: 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 10239 "configure"
+#include "confdefs.h"
+#include <stringprep.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:10244: \"$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
+  
+		cat >> confdefs.h <<\EOF
+#define HAVE_STRINGPREP_H 1
+EOF
+
+		ac_safe=`echo "idna.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for idna.h""... $ac_c" 1>&6
+echo "configure:10267: 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 10272 "configure"
+#include "confdefs.h"
+#include <idna.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:10277: \"$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
+  
+			cat >> confdefs.h <<\EOF
+#define HAVE_IDNA_H 1
+EOF
+
+			echo $ac_n "checking for idna_to_unicode_lzlz in -lidn""... $ac_c" 1>&6
+echo "configure:10299: 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
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lidn  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 10307 "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 idna_to_unicode_lzlz();
+
+int main() {
+idna_to_unicode_lzlz()
+; return 0; }
+EOF
+if { (eval echo configure:10318: \"$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
+  
+				cat >> confdefs.h <<\EOF
+#define HAVE_IDNA_TO_UNICODE_LZLZ 1
+EOF
+
+				echo $ac_n "checking for IDNA_USE_STD3_ASCII_RULES""... $ac_c" 1>&6
+echo "configure:10339: checking for IDNA_USE_STD3_ASCII_RULES" >&5
+				cat > conftest.$ac_ext <<EOF
+#line 10341 "configure"
+#include "confdefs.h"
+#include <idna.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  egrep "IDNA_USE_STD3_ASCII_RULES" >/dev/null 2>&1; then
+  rm -rf conftest*
+  
+					cat >> confdefs.h <<\EOF
+#define HAVE_IDNA_USE_STD3_ASCII_RULES 1
+EOF
+
+					echo "$ac_t""yes" 1>&6
+else
+  rm -rf conftest*
+  echo "$ac_t""no" 1>&6
+				
+fi
+rm -f conftest*
+
+			
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+		
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+		cat >> confdefs.h <<\EOF
+#define HAVE_LIBIDN 1
+EOF
+
+		LIBS="$LIBS -lidn"
+	
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+else
+  echo "$ac_t""no" 1>&6
+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:10390: 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 10395 "configure"
+#include "confdefs.h"
+#include <unicode/unorm.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:10400: \"$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_safe=`echo "unicode/ustring.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for unicode/ustring.h""... $ac_c" 1>&6
+echo "configure:10419: 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 10424 "configure"
+#include "confdefs.h"
+#include <unicode/ustring.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:10429: \"$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
+  
+		cat >> confdefs.h <<\EOF
+#define HAVE_UNICODE_UNORM_H 1
+EOF
+
+		cat >> confdefs.h <<\EOF
+#define HAVE_UNICODE_USTRING_H 1
+EOF
+
+		echo $ac_n "checking for unorm_normalize in libicuuc""... $ac_c" 1>&6
+echo "configure:10455: checking for unorm_normalize in libicuuc" >&5
+		cf_save_LIBS="$LIBS"
+		cf_try_icuuc="no"
+		LIBS="$LIBS -licuuc"
+		cat > conftest.$ac_ext <<EOF
+#line 10460 "configure"
+#include "confdefs.h"
+#include <unicode/unorm.h>
+int main() {
+
+			int32_t needed, ustr = NULL;
+ 			UErrorCode status;
+			needed = unorm_normalize(ustr, -1, UNORM_DEFAULT, 0, NULL, 0, &status);
+; return 0; }
+EOF
+if { (eval echo configure:10470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  
+			cat >> confdefs.h <<\EOF
+#define HAVE_LIBICUUC 1
+EOF
+
+			cf_try_icuuc="yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  LIBS=$cf_save_LIBS
+		
+fi
+rm -f conftest*
+		echo "$ac_t""$cf_try_icuuc" 1>&6
+	
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
 if test $use_curses != no ; then
 	cf_cv_termlib=$cf_with_screen
 else
@@ -10166,24 +10504,24 @@ else
   
 cf_cv_termlib=none
 cat > conftest.$ac_ext <<EOF
-#line 10170 "configure"
+#line 10508 "configure"
 #include "confdefs.h"
 
 int main() {
 char *x=(char*)tgoto("",0,0)
 ; return 0; }
 EOF
-if { (eval echo configure:10177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 10180 "configure"
+#line 10518 "configure"
 #include "confdefs.h"
 
 int main() {
 int x=tigetstr("")
 ; return 0; }
 EOF
-if { (eval echo configure:10187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_termlib=terminfo
 else
@@ -10212,16 +10550,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:10216: checking for $cf_func in -l$cf_lib" >&5
+echo "configure:10554: checking for $cf_func in -l$cf_lib" >&5
 		cat > conftest.$ac_ext <<EOF
-#line 10218 "configure"
+#line 10556 "configure"
 #include "confdefs.h"
 
 int main() {
 int x=$cf_func("")
 ; return 0; }
 EOF
-if { (eval echo configure:10225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -10248,7 +10586,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:10252: checking for initscr in -lcurses" >&5
+echo "configure:10590: 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
@@ -10256,7 +10594,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10260 "configure"
+#line 10598 "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
@@ -10267,7 +10605,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:10271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10609: \"$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
@@ -10288,7 +10626,7 @@ else
 fi
 
 	echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:10292: checking for tgoto in -ltermcap" >&5
+echo "configure:10630: 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
@@ -10296,7 +10634,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 10300 "configure"
+#line 10638 "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
@@ -10307,7 +10645,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:10311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10649: \"$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
@@ -10340,11 +10678,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:10344: checking if we should include termcap.h" >&5
+echo "configure:10682: checking if we should include termcap.h" >&5
 	cf_save_CFLAGS="$CFLAGS"
 	CFLAGS="$CFLAGS -I$srcdir/include"
 	cat > conftest.$ac_ext <<EOF
-#line 10348 "configure"
+#line 10686 "configure"
 #include "confdefs.h"
 
 #define HAVE_TERMCAP_H 1
@@ -10357,7 +10695,7 @@ make an error
 
 ; return 0; }
 EOF
-if { (eval echo configure:10361: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10699: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -10375,7 +10713,7 @@ EOF
 
 	
 echo $ac_n "checking for term.h""... $ac_c" 1>&6
-echo "configure:10379: checking for term.h" >&5
+echo "configure:10717: 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
@@ -10385,7 +10723,7 @@ for cf_header in \
 	term.h
 do
 	cat > conftest.$ac_ext <<EOF
-#line 10389 "configure"
+#line 10727 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10394,7 +10732,7 @@ int main() {
 WINDOW *x
 ; return 0; }
 EOF
-if { (eval echo configure:10398: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10736: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_term_header=$cf_header
 else
@@ -10428,7 +10766,7 @@ esac
 
 
 echo $ac_n "checking if we should include curses.h or termcap.h""... $ac_c" 1>&6
-echo "configure:10432: checking if we should include curses.h or termcap.h" >&5
+echo "configure:10770: 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
@@ -10446,7 +10784,7 @@ do
     test -n "$cf_t_opts" && CPPFLAGS="$CPPFLAGS -D$cf_t_opts"
 
     cat > conftest.$ac_ext <<EOF
-#line 10450 "configure"
+#line 10788 "configure"
 #include "confdefs.h"
 /* $cf_c_opts $cf_t_opts */
 $CHECK_DECL_HDRS
@@ -10454,7 +10792,7 @@ int main() {
 char *x = (char *)tgoto("")
 ; return 0; }
 EOF
-if { (eval echo configure:10458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10796: \"$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
@@ -10467,7 +10805,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 10471 "configure"
+#line 10809 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -10475,7 +10813,7 @@ int main() {
 char *x = (char *)tgoto("",0,0)
 ; return 0; }
 EOF
-if { (eval echo configure:10479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10817: \"$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
@@ -10551,7 +10889,7 @@ esac
 
 
 echo $ac_n "checking declaration of tputs 3rd param""... $ac_c" 1>&6
-echo "configure:10555: checking declaration of tputs 3rd param" >&5
+echo "configure:10893: 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
@@ -10567,10 +10905,10 @@ for Q in int void; do
 for R in int char; do
 for S in "" const; do
 	
-echo "(line 10571) testing loop variables P:$P, Q:$Q, R:$R, S:$S ..." 1>&5
+echo "(line 10909) testing loop variables P:$P, Q:$Q, R:$R, S:$S ..." 1>&5
 
 	cat > conftest.$ac_ext <<EOF
-#line 10574 "configure"
+#line 10912 "configure"
 #include "confdefs.h"
 $CHECK_DECL_HDRS
 int main() {
@@ -10579,7 +10917,7 @@ extern $Q OutChar($R);
 	tputs("", 1, OutChar)
 ; return 0; }
 EOF
-if { (eval echo configure:10583: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10921: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_type_outchar="$Q OutChar($R)"
 	 cf_cv_found=yes
@@ -10634,14 +10972,14 @@ EOF
 elif test ".$cf_cv_termlib" = .termcap ; then
 	# BSD 'tputs()' may need 'PC' to be set.
 	cat > conftest.$ac_ext <<EOF
-#line 10638 "configure"
+#line 10976 "configure"
 #include "confdefs.h"
 
 int main() {
 extern char PC; PC = 0
 ; return 0; }
 EOF
-if { (eval echo configure:10645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10983: \"$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
@@ -10660,13 +10998,13 @@ fi
 
 
 echo $ac_n "checking if external errno is declared""... $ac_c" 1>&6
-echo "configure:10664: checking if external errno is declared" >&5
+echo "configure:11002: 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 10670 "configure"
+#line 11008 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
@@ -10679,7 +11017,7 @@ int main() {
 long x = (long) errno
 ; return 0; }
 EOF
-if { (eval echo configure:10683: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_dcl_errno=yes
 else
@@ -10707,13 +11045,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:10711: checking if external errno exists" >&5
+echo "configure:11049: 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 10717 "configure"
+#line 11055 "configure"
 #include "confdefs.h"
 
 #undef errno
@@ -10723,7 +11061,7 @@ int main() {
 errno = 2
 ; return 0; }
 EOF
-if { (eval echo configure:10727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_have_errno=yes
 else
@@ -10755,12 +11093,12 @@ fi
 for ac_func in strerror
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10759: checking for $ac_func" >&5
+echo "configure:11097: 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 10764 "configure"
+#line 11102 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10783,7 +11121,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11125: \"$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
@@ -10810,13 +11148,13 @@ else
 
     
 echo $ac_n "checking if external sys_nerr is declared""... $ac_c" 1>&6
-echo "configure:10814: checking if external sys_nerr is declared" >&5
+echo "configure:11152: 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 10820 "configure"
+#line 11158 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
@@ -10829,7 +11167,7 @@ int main() {
 long x = (long) sys_nerr
 ; return 0; }
 EOF
-if { (eval echo configure:10833: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11171: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_dcl_sys_nerr=yes
 else
@@ -10857,13 +11195,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:10861: checking if external sys_nerr exists" >&5
+echo "configure:11199: 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 10867 "configure"
+#line 11205 "configure"
 #include "confdefs.h"
 
 #undef sys_nerr
@@ -10873,7 +11211,7 @@ int main() {
 sys_nerr = 2
 ; return 0; }
 EOF
-if { (eval echo configure:10877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11215: \"$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
@@ -10902,13 +11240,13 @@ fi
 
     
 echo $ac_n "checking if external sys_errlist is declared""... $ac_c" 1>&6
-echo "configure:10906: checking if external sys_errlist is declared" >&5
+echo "configure:11244: 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 10912 "configure"
+#line 11250 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
@@ -10921,7 +11259,7 @@ int main() {
 long x = (long) sys_errlist
 ; return 0; }
 EOF
-if { (eval echo configure:10925: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11263: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_dcl_sys_errlist=yes
 else
@@ -10949,13 +11287,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:10953: checking if external sys_errlist exists" >&5
+echo "configure:11291: 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 10959 "configure"
+#line 11297 "configure"
 #include "confdefs.h"
 
 #undef sys_errlist
@@ -10965,7 +11303,7 @@ int main() {
 sys_errlist = 2
 ; return 0; }
 EOF
-if { (eval echo configure:10969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11307: \"$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
@@ -11058,12 +11396,12 @@ for ac_func in \
 $cf_tc_funcs 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11062: checking for $ac_func" >&5
+echo "configure:11400: 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 11067 "configure"
+#line 11405 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11086,7 +11424,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11428: \"$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
@@ -11112,12 +11450,12 @@ done
 
 
 echo $ac_n "checking for flock""... $ac_c" 1>&6
-echo "configure:11116: checking for flock" >&5
+echo "configure:11454: 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 11121 "configure"
+#line 11459 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char flock(); below.  */
@@ -11140,7 +11478,7 @@ flock();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11482: \"$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
@@ -11162,7 +11500,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for flock in -lbsd""... $ac_c" 1>&6
-echo "configure:11166: checking for flock in -lbsd" >&5
+echo "configure:11504: 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
@@ -11170,7 +11508,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11174 "configure"
+#line 11512 "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
@@ -11181,7 +11519,7 @@ int main() {
 flock()
 ; return 0; }
 EOF
-if { (eval echo configure:11185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11523: \"$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
@@ -11210,12 +11548,12 @@ fi
 
 
   echo $ac_n "checking for wide char and multibyte support""... $ac_c" 1>&6
-echo "configure:11214: checking for wide char and multibyte support" >&5
+echo "configure:11552: 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 11219 "configure"
+#line 11557 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #ifdef HAVE_STDLIB_H
@@ -11251,7 +11589,7 @@ char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0
       wcsncat(wcb2, wcb, 5);
 ; return 0; }
 EOF
-if { (eval echo configure:11255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_multibyte_able=yes
 else
@@ -11261,7 +11599,7 @@ else
   cf_save_LIBS="$LIBS"
       LIBS="-lutf8 $LIBS"
       cat > conftest.$ac_ext <<EOF
-#line 11265 "configure"
+#line 11603 "configure"
 #include "confdefs.h"
 #include <libutf8.h>
 int main() {
@@ -11287,7 +11625,7 @@ char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0
         wcsncat(wcb2, wcb, 5);
 ; return 0; }
 EOF
-if { (eval echo configure:11291: \"$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*
   am_cv_multibyte_able=yes
          cat >> confdefs.h <<\EOF
@@ -11319,12 +11657,12 @@ echo "$ac_t""$am_cv_multibyte_able" 1>&6
 
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:11323: checking return type of signal handlers" >&5
+echo "configure:11661: 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 11328 "configure"
+#line 11666 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -11341,7 +11679,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:11345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11683: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -11361,7 +11699,7 @@ EOF
 
 
 echo $ac_n "checking declaration of signal arguments""... $ac_c" 1>&6
-echo "configure:11365: checking declaration of signal arguments" >&5
+echo "configure:11703: 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
@@ -11370,7 +11708,7 @@ cf_cv_sig_args=
 for cf_test in "int sig" "int sig, ..."
 do
 	cat > conftest.$ac_ext <<EOF
-#line 11374 "configure"
+#line 11712 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
@@ -11378,7 +11716,7 @@ int main() {
 extern RETSIGTYPE catch($cf_test); signal(SIGINT, catch)
 ; return 0; }
 EOF
-if { (eval echo configure:11382: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11720: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sig_args="$cf_test";break
 else
@@ -11404,13 +11742,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:11408: checking whether sigaction needs _POSIX_SOURCE" >&5
+echo "configure:11746: 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 11414 "configure"
+#line 11752 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -11419,7 +11757,7 @@ int main() {
 struct sigaction act
 ; return 0; }
 EOF
-if { (eval echo configure:11423: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sigact_bad=no
 else
@@ -11440,13 +11778,13 @@ EOF
 
 
 echo $ac_n "checking if we have sigaction/related functions""... $ac_c" 1>&6
-echo "configure:11444: checking if we have sigaction/related functions" >&5
+echo "configure:11782: 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 11450 "configure"
+#line 11788 "configure"
 #include "confdefs.h"
 
 #ifdef SVR4_ACTION
@@ -11464,7 +11802,7 @@ int main() {
     sigaction (SIGBUS,&sa,&osa);
 ; return 0; }
 EOF
-if { (eval echo configure:11468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_sigaction_funcs=yes
 else
@@ -11486,7 +11824,7 @@ EOF
 fi
 
 echo $ac_n "checking for fork""... $ac_c" 1>&6
-echo "configure:11490: checking for fork" >&5
+echo "configure:11828: checking for fork" >&5
 if eval "test \"`echo '$''{'cf_cv_func_fork'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -11495,7 +11833,7 @@ if test "$cross_compiling" = yes; then
   cf_cv_func_fork=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 11499 "configure"
+#line 11837 "configure"
 #include "confdefs.h"
 
 int main()
@@ -11505,7 +11843,7 @@ int main()
 	exit(0);
 }
 EOF
-if { (eval echo configure:11509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:11847: \"$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
@@ -11527,12 +11865,12 @@ EOF
 
 
 echo $ac_n "checking for memmove""... $ac_c" 1>&6
-echo "configure:11531: checking for memmove" >&5
+echo "configure:11869: 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 11536 "configure"
+#line 11874 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char memmove(); below.  */
@@ -11555,7 +11893,7 @@ memmove();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11897: \"$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
@@ -11574,12 +11912,12 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for bcopy""... $ac_c" 1>&6
-echo "configure:11578: checking for bcopy" >&5
+echo "configure:11916: 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 11583 "configure"
+#line 11921 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char bcopy(); below.  */
@@ -11602,7 +11940,7 @@ bcopy();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11944: \"$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
@@ -11618,7 +11956,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:11622: checking if bcopy does overlapping moves" >&5
+echo "configure:11960: 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
@@ -11627,7 +11965,7 @@ else
   cf_cv_good_bcopy=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 11631 "configure"
+#line 11969 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -11640,7 +11978,7 @@ int main() {
 }
 		
 EOF
-if { (eval echo configure:11644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:11982: \"$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
@@ -11678,9 +12016,9 @@ fi
 
 
 echo $ac_n "checking if select expects int * arguments""... $ac_c" 1>&6
-echo "configure:11682: checking if select expects int * arguments" >&5
+echo "configure:12020: checking if select expects int * arguments" >&5
 cat > conftest.$ac_ext <<EOF
-#line 11684 "configure"
+#line 12022 "configure"
 #include "confdefs.h"
 #include <time.h>
 EOF
@@ -11700,7 +12038,7 @@ rm -f conftest*
 
 
 echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6
-echo "configure:11704: checking whether closedir returns void" >&5
+echo "configure:12042: 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
@@ -11708,13 +12046,13 @@ else
   ac_cv_func_closedir_void=yes
 else
   cat > conftest.$ac_ext <<EOF
-#line 11712 "configure"
+#line 12050 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_header_dirent>
 int closedir(); main() { exit(closedir(opendir(".")) != 0); }
 EOF
-if { (eval echo configure:11718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12056: \"$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
@@ -11738,7 +12076,7 @@ fi
 
 ## AC_FUNC_SETPGRP
 echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6
-echo "configure:11742: checking whether setvbuf arguments are reversed" >&5
+echo "configure:12080: 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
@@ -11746,7 +12084,7 @@ else
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 11750 "configure"
+#line 12088 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 /* If setvbuf has the reversed format, exit 0. */
@@ -11760,7 +12098,7 @@ main () {
   exit(0);			/* Non-reversed systems segv here.  */
 }
 EOF
-if { (eval echo configure:11764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12102: \"$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
@@ -11797,12 +12135,12 @@ for ac_func in \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11801: checking for $ac_func" >&5
+echo "configure:12139: 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 11806 "configure"
+#line 12144 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11825,7 +12163,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11829: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12167: \"$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
@@ -11852,13 +12190,13 @@ done
 
 
 echo $ac_n "checking for type sigaction_t""... $ac_c" 1>&6
-echo "configure:11856: checking for type sigaction_t" >&5
+echo "configure:12194: 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 11862 "configure"
+#line 12200 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
@@ -11866,7 +12204,7 @@ int main() {
 sigaction_t x
 ; return 0; }
 EOF
-if { (eval echo configure:11870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12208: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_type_sigaction=yes
 else
@@ -11886,13 +12224,13 @@ EOF
 
 
 echo $ac_n "checking for nonconflicting termios.h""... $ac_c" 1>&6
-echo "configure:11890: checking for nonconflicting termios.h" >&5
+echo "configure:12228: 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 11896 "configure"
+#line 12234 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_IOCTL_H
@@ -11914,7 +12252,7 @@ int main() {
 	(void) tcgetattr (0, &save_tty)
 ; return 0; }
 EOF
-if { (eval echo configure:11918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12256: \"$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
@@ -11945,13 +12283,13 @@ fi
 
 
 echo $ac_n "checking for passwd.pw_gecos""... $ac_c" 1>&6
-echo "configure:11949: checking for passwd.pw_gecos" >&5
+echo "configure:12287: 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 11955 "configure"
+#line 12293 "configure"
 #include "confdefs.h"
 
 #include <pwd.h>
@@ -11962,7 +12300,7 @@ int main() {
 	char bar = foo.pw_gecos
 ; return 0; }
 EOF
-if { (eval echo configure:11966: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12304: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_pw_gecos=yes
 else
@@ -11982,13 +12320,13 @@ EOF
 
 
 echo $ac_n "checking for tm.tm_gmtoff""... $ac_c" 1>&6
-echo "configure:11986: checking for tm.tm_gmtoff" >&5
+echo "configure:12324: 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 11992 "configure"
+#line 12330 "configure"
 #include "confdefs.h"
 
 #ifdef TIME_WITH_SYS_TIME
@@ -12008,7 +12346,7 @@ int main() {
 	long bar = foo.tm_gmtoff
 ; return 0; }
 EOF
-if { (eval echo configure:12012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12350: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_tm_gmtoff=yes
 else
@@ -12028,7 +12366,7 @@ EOF
 
 
 echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:12032: checking for long file names" >&5
+echo "configure:12370: 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
@@ -12076,17 +12414,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:12080: checking for $ac_hdr" >&5
+echo "configure:12418: 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 12085 "configure"
+#line 12423 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12428: \"$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*
@@ -12123,17 +12461,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:12127: checking for $ac_hdr" >&5
+echo "configure:12465: 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 12132 "configure"
+#line 12470 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12137: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12475: \"$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*
@@ -12163,17 +12501,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:12167: checking for $ac_hdr" >&5
+echo "configure:12505: 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 12172 "configure"
+#line 12510 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12177: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12515: \"$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*
@@ -12214,13 +12552,13 @@ fi
 
 
 echo $ac_n "checking for union wait""... $ac_c" 1>&6
-echo "configure:12218: checking for union wait" >&5
+echo "configure:12556: 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 12224 "configure"
+#line 12562 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
@@ -12231,7 +12569,7 @@ int x;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:12235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12573: \"$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
@@ -12242,7 +12580,7 @@ else
   rm -rf conftest*
   
 	cat > conftest.$ac_ext <<EOF
-#line 12246 "configure"
+#line 12584 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
@@ -12257,7 +12595,7 @@ union wait x;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:12261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12599: \"$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
@@ -12282,7 +12620,7 @@ EOF
 
 
 echo $ac_n "checking if the system function returns usable child-status""... $ac_c" 1>&6
-echo "configure:12286: checking if the system function returns usable child-status" >&5
+echo "configure:12624: 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
@@ -12291,7 +12629,7 @@ else
   cf_cv_system_status=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 12295 "configure"
+#line 12633 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -12324,7 +12662,7 @@ int main()
 }
 
 EOF
-if { (eval echo configure:12328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12666: \"$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
@@ -12335,11 +12673,11 @@ else
   cf_cv_system_status=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 12339 "configure"
+#line 12677 "configure"
 #include "confdefs.h"
 int main() { exit(system("exit 23") != (23 << 8)); }
 EOF
-if { (eval echo configure:12343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12681: \"$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
@@ -12382,13 +12720,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:12386: checking for obsolete/broken version of ncurses" >&5
+echo "configure:12724: 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 12392 "configure"
+#line 12730 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -12402,7 +12740,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:12406: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12744: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_broken=no
 else
@@ -12427,13 +12765,13 @@ fi
 
 		
 echo $ac_n "checking if curses supports color attributes""... $ac_c" 1>&6
-echo "configure:12431: checking if curses supports color attributes" >&5
+echo "configure:12769: 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 12437 "configure"
+#line 12775 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -12448,7 +12786,7 @@ chtype x = COLOR_BLUE;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:12452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_color_curses=yes
 else
@@ -12499,7 +12837,7 @@ if test $check_sig_const = yes ; then
 	
 
 echo $ac_n "checking for redefinable signal constants""... $ac_c" 1>&6
-echo "configure:12503: checking for redefinable signal constants" >&5
+echo "configure:12841: 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
@@ -12511,7 +12849,7 @@ if test -n "$cf_cv_sig_args"; then
   cf_cv_sig_const=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 12515 "configure"
+#line 12853 "configure"
 #include "confdefs.h"
 
 #define NEW_DFL	((RETSIGTYPE (*)($cf_test))0)
@@ -12538,7 +12876,7 @@ int main()
 	exit(0);
 }
 EOF
-if { (eval echo configure:12542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12880: \"$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
@@ -12564,13 +12902,13 @@ fi
 
 
 echo $ac_n "checking for ANSI qsort""... $ac_c" 1>&6
-echo "configure:12568: checking for ANSI qsort" >&5
+echo "configure:12906: 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 12574 "configure"
+#line 12912 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
@@ -12582,7 +12920,7 @@ extern int compare(const void *, const v
 	 qsort(foo, sizeof(foo)/sizeof(*foo), sizeof(*foo), compare)
 ; return 0; }
 EOF
-if { (eval echo configure:12586: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12924: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_comptype=yes
 else
@@ -12610,7 +12948,7 @@ fi
 
 
 echo $ac_n "checking if application can dump core""... $ac_c" 1>&6
-echo "configure:12614: checking if application can dump core" >&5
+echo "configure:12952: 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
@@ -12619,7 +12957,7 @@ else
   cf_cv_corefile=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 12623 "configure"
+#line 12961 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
@@ -12660,7 +12998,7 @@ int main()
 #endif
 }
 EOF
-if { (eval echo configure:12664: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:13002: \"$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
@@ -12706,18 +13044,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:12710: checking for missing "${ac_func}" extern" >&5
+echo "configure:13048: 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 12716) testing for missing "${ac_func}" external ..." 1>&5
+echo "(line 13054) testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 12721 "configure"
+#line 13059 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -12731,7 +13069,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:12735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13073: \"$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
@@ -12739,7 +13077,7 @@ if { (eval echo configure:12735: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 12743 "configure"
+#line 13081 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -12749,7 +13087,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:12753: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13091: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -12798,18 +13136,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:12802: checking for missing "${ac_func}" extern" >&5
+echo "configure:13140: 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 12808) testing for missing "${ac_func}" external ..." 1>&5
+echo "(line 13146) testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 12813 "configure"
+#line 13151 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -12823,7 +13161,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:12827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13165: \"$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
@@ -12831,7 +13169,7 @@ if { (eval echo configure:12827: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 12835 "configure"
+#line 13173 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -12841,7 +13179,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:12845: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13183: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -12888,18 +13226,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:12892: checking for missing "${ac_func}" extern" >&5
+echo "configure:13230: 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 12898) testing for missing "${ac_func}" external ..." 1>&5
+echo "(line 13236) testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 12903 "configure"
+#line 13241 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -12913,7 +13251,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:12917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13255: \"$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
@@ -12921,7 +13259,7 @@ if { (eval echo configure:12917: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 12925 "configure"
+#line 13263 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -12931,7 +13269,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:12935: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13273: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -13029,18 +13367,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:13033: checking for missing "${ac_func}" extern" >&5
+echo "configure:13371: 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 13039) testing for missing "${ac_func}" external ..." 1>&5
+echo "(line 13377) testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 13044 "configure"
+#line 13382 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -13054,7 +13392,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:13058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13396: \"$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
@@ -13062,7 +13400,7 @@ if { (eval echo configure:13058: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 13066 "configure"
+#line 13404 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -13072,7 +13410,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:13076: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13414: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -13116,18 +13454,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:13120: checking for missing "${ac_func}" extern" >&5
+echo "configure:13458: 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 13126) testing for missing "${ac_func}" external ..." 1>&5
+echo "(line 13464) testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 13131 "configure"
+#line 13469 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -13141,7 +13479,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:13145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13483: \"$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
@@ -13149,7 +13487,7 @@ if { (eval echo configure:13145: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 13153 "configure"
+#line 13491 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -13159,7 +13497,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:13163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13501: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -13206,18 +13544,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:13210: checking for missing "${ac_func}" extern" >&5
+echo "configure:13548: 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 13216) testing for missing "${ac_func}" external ..." 1>&5
+echo "(line 13554) testing for missing "${ac_func}" external ..." 1>&5
 
 cf_save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS $CHECK_DECL_FLAG"
 cat > conftest.$ac_ext <<EOF
-#line 13221 "configure"
+#line 13559 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -13231,7 +13569,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:13235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13573: \"$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
@@ -13239,7 +13577,7 @@ if { (eval echo configure:13235: \"$ac_l
 cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 
 cat > conftest.$ac_ext <<EOF
-#line 13243 "configure"
+#line 13581 "configure"
 #include "confdefs.h"
 
 #define DECL_${cf_1_up}
@@ -13249,7 +13587,7 @@ int main() {
 long x = 0
 ; return 0; }
 EOF
-if { (eval echo configure:13253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:13591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_func_'${ac_func}'=yes'
 else
@@ -13287,7 +13625,7 @@ fi
 
 
 echo $ac_n "checking for working TIOCGWINSZ""... $ac_c" 1>&6
-echo "configure:13291: checking for working TIOCGWINSZ" >&5
+echo "configure:13629: 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
@@ -13298,7 +13636,7 @@ else
   cf_cv_use_tiocgwinsz=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 13302 "configure"
+#line 13640 "configure"
 #include "confdefs.h"
 
 $CHECK_DECL_HDRS
@@ -13323,7 +13661,7 @@ int main()
 	exit(0);	/* we cannot guarantee this is run interactively */
 }
 EOF
-if { (eval echo configure:13327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:13665: \"$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
@@ -13371,17 +13709,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:13375: checking for $ac_hdr" >&5
+echo "configure:13713: 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 13380 "configure"
+#line 13718 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13385: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13723: \"$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*
@@ -13410,12 +13748,12 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13414: checking for $ac_func" >&5
+echo "configure:13752: 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 13419 "configure"
+#line 13757 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13438,7 +13776,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13780: \"$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
@@ -13463,7 +13801,7 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:13467: checking for working mmap" >&5
+echo "configure:13805: 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
@@ -13471,7 +13809,7 @@ else
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 13475 "configure"
+#line 13813 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -13611,7 +13949,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:13615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:13953: \"$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
@@ -13635,12 +13973,12 @@ fi
 
 
     echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6
-echo "configure:13639: checking whether we are using the GNU C Library 2.1 or newer" >&5
+echo "configure:13977: 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 13644 "configure"
+#line 13982 "configure"
 #include "confdefs.h"
 
 #include <features.h>
@@ -13689,17 +14027,17 @@ 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:13693: checking for $ac_hdr" >&5
+echo "configure:14031: 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 13698 "configure"
+#line 14036 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13703: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14041: \"$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*
@@ -13730,12 +14068,12 @@ getgid getuid mempcpy munmap putenv sete
 strdup strtoul tsearch __argz_count __argz_stringify __argz_next
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13734: checking for $ac_func" >&5
+echo "configure:14072: 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 13739 "configure"
+#line 14077 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13758,7 +14096,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14100: \"$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
@@ -13799,7 +14137,7 @@ fi
 
 
   echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:13803: checking for iconv" >&5
+echo "configure:14141: checking for iconv" >&5
 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13807,7 +14145,7 @@ else
     am_cv_func_iconv="no, consider installing GNU libiconv"
     am_cv_lib_iconv=no
     cat > conftest.$ac_ext <<EOF
-#line 13811 "configure"
+#line 14149 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <iconv.h>
@@ -13817,7 +14155,7 @@ iconv_t cd = iconv_open("","");
        iconv_close(cd);
 ; return 0; }
 EOF
-if { (eval echo configure:13821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_func_iconv=yes
 else
@@ -13829,7 +14167,7 @@ rm -f conftest*
       am_save_LIBS="$LIBS"
       LIBS="$LIBS -liconv"
       cat > conftest.$ac_ext <<EOF
-#line 13833 "configure"
+#line 14171 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <iconv.h>
@@ -13839,7 +14177,7 @@ iconv_t cd = iconv_open("","");
          iconv_close(cd);
 ; return 0; }
 EOF
-if { (eval echo configure:13843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14181: \"$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
@@ -13860,13 +14198,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6
 EOF
 
     echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6
-echo "configure:13864: checking for iconv declaration" >&5
+echo "configure:14202: checking for iconv declaration" >&5
     if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
       cat > conftest.$ac_ext <<EOF
-#line 13870 "configure"
+#line 14208 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -13885,7 +14223,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:13889: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14227: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   am_cv_proto_iconv_arg1=""
 else
@@ -13914,19 +14252,19 @@ EOF
 
    
   echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6
-echo "configure:13918: checking for nl_langinfo and CODESET" >&5
+echo "configure:14256: 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 13923 "configure"
+#line 14261 "configure"
 #include "confdefs.h"
 #include <langinfo.h>
 int main() {
 char* cs = nl_langinfo(CODESET);
 ; return 0; }
 EOF
-if { (eval echo configure:13930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14268: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_langinfo_codeset=yes
 else
@@ -13949,19 +14287,19 @@ EOF
 
    if test $ac_cv_header_locale_h = yes; then
     echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:13953: checking for LC_MESSAGES" >&5
+echo "configure:14291: 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 13958 "configure"
+#line 14296 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 return LC_MESSAGES
 ; return 0; }
 EOF
-if { (eval echo configure:13965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14303: \"$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
@@ -13982,7 +14320,7 @@ EOF
     fi
   fi
    echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:13986: checking whether NLS is requested" >&5
+echo "configure:14324: checking whether NLS is requested" >&5
         
     
 # Check whether --enable-nls or --disable-nls was given.
@@ -14006,7 +14344,7 @@ fi
 EOF
 
       echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:14010: checking whether included gettext is requested" >&5
+echo "configure:14348: 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
@@ -14027,17 +14365,17 @@ fi
 
 	ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:14031: checking for libintl.h" >&5
+echo "configure:14369: checking for libintl.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 14036 "configure"
+#line 14374 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14041: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14379: \"$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*
@@ -14054,12 +14392,12 @@ fi
 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6
-echo "configure:14058: checking for GNU gettext in libc" >&5
+echo "configure:14396: 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 14063 "configure"
+#line 14401 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 extern int _nl_msg_cat_cntr;
@@ -14068,7 +14406,7 @@ bindtextdomain ("", "");
 return (int) gettext ("") + _nl_msg_cat_cntr
 ; return 0; }
 EOF
-if { (eval echo configure:14072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_func_gnugettext1_libc=yes
 else
@@ -14084,14 +14422,14 @@ echo "$ac_t""$gt_cv_func_gnugettext1_lib
 
 	   if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
 	     echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6
-echo "configure:14088: checking for GNU gettext in libintl" >&5
+echo "configure:14426: checking for GNU gettext in libintl" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   gt_save_LIBS="$LIBS"
 		LIBS="$LIBS -lintl $LIBICONV"
 		cat > conftest.$ac_ext <<EOF
-#line 14095 "configure"
+#line 14433 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 extern int _nl_msg_cat_cntr;
@@ -14100,7 +14438,7 @@ bindtextdomain ("", "");
 return (int) gettext ("") + _nl_msg_cat_cntr
 ; return 0; }
 EOF
-if { (eval echo configure:14104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_func_gnugettext1_libintl=yes
 else
@@ -14133,12 +14471,12 @@ EOF
 	     for ac_func in dcgettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14137: checking for $ac_func" >&5
+echo "configure:14475: 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 14142 "configure"
+#line 14480 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -14161,7 +14499,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:14165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14503: \"$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
@@ -14191,7 +14529,7 @@ done
 
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14195: checking for $ac_word" >&5
+echo "configure:14533: 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
@@ -14225,7 +14563,7 @@ fi
 	     # 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:14229: checking for $ac_word" >&5
+echo "configure:14567: 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
@@ -14263,7 +14601,7 @@ fi
 
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14267: checking for $ac_word" >&5
+echo "configure:14605: 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
@@ -14314,7 +14652,7 @@ fi
 
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14318: checking for $ac_word" >&5
+echo "configure:14656: 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
@@ -14348,7 +14686,7 @@ fi
         # 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:14352: checking for $ac_word" >&5
+echo "configure:14690: 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
@@ -14385,7 +14723,7 @@ fi
 
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14389: checking for $ac_word" >&5
+echo "configure:14727: 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
@@ -14457,7 +14795,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:14461: checking for $ac_word" >&5
+echo "configure:14799: 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
@@ -14490,7 +14828,7 @@ done
       ac_verc_fail=yes
     else
             echo $ac_n "checking version of bison""... $ac_c" 1>&6
-echo "configure:14494: checking version of bison" >&5
+echo "configure:14832: 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;;
@@ -14537,7 +14875,7 @@ echo "configure:14494: checking version 
        LINGUAS=
      else
        echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:14541: checking for catalogs to be installed" >&5
+echo "configure:14879: checking for catalogs to be installed" >&5
        NEW_LINGUAS=
        for presentlang in $ALL_LINGUAS; do
          useit=no
@@ -14588,7 +14926,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:14592: checking if we should use included message-library" >&5
+echo "configure:14930: 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
@@ -14634,17 +14972,17 @@ else
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:14638: checking for $ac_hdr" >&5
+echo "configure:14976: 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 14643 "configure"
+#line 14981 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14648: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14986: \"$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*
@@ -14717,9 +15055,9 @@ LIBS="$LIBS $LIBICONV"
 for cf_hdr in iconv.h
 do
 	echo $ac_n "checking for $cf_hdr""... $ac_c" 1>&6
-echo "configure:14721: checking for $cf_hdr" >&5
+echo "configure:15059: checking for $cf_hdr" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 14723 "configure"
+#line 15061 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -14727,7 +15065,7 @@ echo "configure:14721: checking for $cf_
 
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14731: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:15069: \"$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*
@@ -14753,13 +15091,13 @@ fi
 done
 
 echo $ac_n "checking for iconv_open() //TRANSLIT extension""... $ac_c" 1>&6
-echo "configure:14757: checking for iconv_open() //TRANSLIT extension" >&5
+echo "configure:15095: 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 14763 "configure"
+#line 15101 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_ICONV_H
@@ -14776,7 +15114,7 @@ int main() {
 	exit(0);
 }
 EOF
-if { (eval echo configure:14780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:15118: \"$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
@@ -14804,7 +15142,7 @@ if test "$cf_cv_termlib" = pdcurses ; th
 # 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:14808: checking for X" >&5
+echo "configure:15146: checking for X" >&5
 
 
 # Check whether --with-x or --without-x was given.
@@ -14867,12 +15205,12 @@ if test "$ac_x_includes" = NO; then
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 14871 "configure"
+#line 15209 "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:14876: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:15214: \"$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*
@@ -14941,14 +15279,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 14945 "configure"
+#line 15283 "configure"
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if { (eval echo configure:14952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15290: \"$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.
@@ -15048,7 +15386,7 @@ clix*)
 	# FIXME: modify the library lookup in autoconf to
 	# allow _s.a suffix ahead of .a
 	echo $ac_n "checking for open in -lc_s""... $ac_c" 1>&6
-echo "configure:15052: checking for open in -lc_s" >&5
+echo "configure:15390: checking for open in -lc_s" >&5
 ac_lib_var=`echo c_s'_'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
@@ -15056,7 +15394,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lc_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15060 "configure"
+#line 15398 "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
@@ -15067,7 +15405,7 @@ int main() {
 open()
 ; return 0; }
 EOF
-if { (eval echo configure:15071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15409: \"$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
@@ -15084,7 +15422,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l
   echo "$ac_t""yes" 1>&6
   LIBS="-lc_s $LIBS"
 	echo $ac_n "checking for gethostname in -lbsd""... $ac_c" 1>&6
-echo "configure:15088: checking for gethostname in -lbsd" >&5
+echo "configure:15426: checking for gethostname in -lbsd" >&5
 ac_lib_var=`echo bsd'_'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
@@ -15092,7 +15430,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15096 "configure"
+#line 15434 "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
@@ -15103,7 +15441,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:15107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15445: \"$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
@@ -15120,7 +15458,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l
   echo "$ac_t""yes" 1>&6
   LIBS="-lbsd $LIBS"
 	echo $ac_n "checking for gethostname in -lnsl_s""... $ac_c" 1>&6
-echo "configure:15124: checking for gethostname in -lnsl_s" >&5
+echo "configure:15462: checking for gethostname in -lnsl_s" >&5
 ac_lib_var=`echo nsl_s'_'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
@@ -15128,7 +15466,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15132 "configure"
+#line 15470 "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
@@ -15139,7 +15477,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:15143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15481: \"$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
@@ -15156,7 +15494,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l
   echo "$ac_t""yes" 1>&6
   LIBS="-lnsl_s $LIBS"
 	echo $ac_n "checking for XOpenDisplay in -lX11_s""... $ac_c" 1>&6
-echo "configure:15160: checking for XOpenDisplay in -lX11_s" >&5
+echo "configure:15498: checking for XOpenDisplay in -lX11_s" >&5
 ac_lib_var=`echo X11_s'_'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
@@ -15164,7 +15502,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lX11_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15168 "configure"
+#line 15506 "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
@@ -15175,7 +15513,7 @@ int main() {
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:15179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15517: \"$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
@@ -15192,7 +15530,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l
   echo "$ac_t""yes" 1>&6
   LIBS="-lX11_s $LIBS"
 	echo $ac_n "checking for XtAppInitialize in -lXt_s""... $ac_c" 1>&6
-echo "configure:15196: checking for XtAppInitialize in -lXt_s" >&5
+echo "configure:15534: checking for XtAppInitialize in -lXt_s" >&5
 ac_lib_var=`echo Xt_s'_'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
@@ -15200,7 +15538,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXt_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15204 "configure"
+#line 15542 "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
@@ -15211,7 +15549,7 @@ int main() {
 XtAppInitialize()
 ; return 0; }
 EOF
-if { (eval echo configure:15215: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15553: \"$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
@@ -15252,7 +15590,7 @@ fi
 	;;
 *)
 	echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:15256: checking for socket in -lsocket" >&5
+echo "configure:15594: 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
@@ -15260,7 +15598,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15264 "configure"
+#line 15602 "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
@@ -15271,7 +15609,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:15275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15613: \"$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
@@ -15299,7 +15637,7 @@ else
 fi
 
 	echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
-echo "configure:15303: checking for gethostname in -lnsl" >&5
+echo "configure:15641: 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
@@ -15307,7 +15645,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15311 "configure"
+#line 15649 "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
@@ -15318,7 +15656,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:15322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15660: \"$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
@@ -15369,17 +15707,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:15373: checking whether -R must be followed by a space" >&5
+echo "configure:15711: 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 15376 "configure"
+#line 15714 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:15383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_nospace=yes
 else
@@ -15395,14 +15733,14 @@ rm -f conftest*
       else
 	LIBS="$ac_xsave_LIBS -R $x_libraries"
 	cat > conftest.$ac_ext <<EOF
-#line 15399 "configure"
+#line 15737 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:15406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_space=yes
 else
@@ -15434,7 +15772,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:15438: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:15776: 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
@@ -15442,7 +15780,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15446 "configure"
+#line 15784 "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
@@ -15453,7 +15791,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:15457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15795: \"$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
@@ -15475,7 +15813,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:15479: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:15817: 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
@@ -15483,7 +15821,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet_stub  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15487 "configure"
+#line 15825 "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
@@ -15494,7 +15832,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:15498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15836: \"$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
@@ -15523,12 +15861,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:15527: checking for gethostbyname" >&5
+echo "configure:15865: 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 15532 "configure"
+#line 15870 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -15551,7 +15889,7 @@ gethostbyname();
 
 ; return 0; }
 EOF
-if { (eval echo configure:15555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15893: \"$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
@@ -15572,7 +15910,7 @@ fi
 
     if test $ac_cv_func_gethostbyname = no; then
       echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:15576: checking for gethostbyname in -lnsl" >&5
+echo "configure:15914: 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
@@ -15580,7 +15918,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15584 "configure"
+#line 15922 "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
@@ -15591,7 +15929,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:15595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15933: \"$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
@@ -15621,12 +15959,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:15625: checking for connect" >&5
+echo "configure:15963: 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 15630 "configure"
+#line 15968 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -15649,7 +15987,7 @@ connect();
 
 ; return 0; }
 EOF
-if { (eval echo configure:15653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15991: \"$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
@@ -15670,7 +16008,7 @@ fi
 
     if test $ac_cv_func_connect = no; then
       echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:15674: checking for connect in -lsocket" >&5
+echo "configure:16012: 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
@@ -15678,7 +16016,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15682 "configure"
+#line 16020 "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
@@ -15689,7 +16027,7 @@ int main() {
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:15693: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16031: \"$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
@@ -15713,12 +16051,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:15717: checking for remove" >&5
+echo "configure:16055: 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 15722 "configure"
+#line 16060 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
@@ -15741,7 +16079,7 @@ remove();
 
 ; return 0; }
 EOF
-if { (eval echo configure:15745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16083: \"$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
@@ -15762,7 +16100,7 @@ fi
 
     if test $ac_cv_func_remove = no; then
       echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:15766: checking for remove in -lposix" >&5
+echo "configure:16104: 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
@@ -15770,7 +16108,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15774 "configure"
+#line 16112 "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
@@ -15781,7 +16119,7 @@ int main() {
 remove()
 ; return 0; }
 EOF
-if { (eval echo configure:15785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16123: \"$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
@@ -15805,12 +16143,12 @@ fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:15809: checking for shmat" >&5
+echo "configure:16147: 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 15814 "configure"
+#line 16152 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
@@ -15833,7 +16171,7 @@ shmat();
 
 ; return 0; }
 EOF
-if { (eval echo configure:15837: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16175: \"$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
@@ -15854,7 +16192,7 @@ fi
 
     if test $ac_cv_func_shmat = no; then
       echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:15858: checking for shmat in -lipc" >&5
+echo "configure:16196: 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
@@ -15862,7 +16200,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lipc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15866 "configure"
+#line 16204 "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
@@ -15873,7 +16211,7 @@ int main() {
 shmat()
 ; return 0; }
 EOF
-if { (eval echo configure:15877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16215: \"$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
@@ -15906,7 +16244,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:15910: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:16248: 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
@@ -15914,7 +16252,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 15918 "configure"
+#line 16256 "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
@@ -15925,7 +16263,7 @@ int main() {
 IceConnectionNumber()
 ; return 0; }
 EOF
-if { (eval echo configure:15929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16267: \"$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
@@ -15991,14 +16329,14 @@ fi
 
 if test "$cf_check_cflags" != "$CFLAGS" ; then
 cat > conftest.$ac_ext <<EOF
-#line 15995 "configure"
+#line 16333 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("Hello world");
 ; return 0; }
 EOF
-if { (eval echo configure:16002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -16016,7 +16354,7 @@ rm -f conftest*
 fi
 
 	echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:16020: checking for XOpenDisplay in -lX11" >&5
+echo "configure:16358: 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
@@ -16024,7 +16362,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 16028 "configure"
+#line 16366 "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
@@ -16035,7 +16373,7 @@ int main() {
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:16039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16377: \"$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
@@ -16056,7 +16394,7 @@ else
 fi
 
 	echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6
-echo "configure:16060: checking for XtAppInitialize in -lXt" >&5
+echo "configure:16398: 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
@@ -16064,7 +16402,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 16068 "configure"
+#line 16406 "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
@@ -16075,7 +16413,7 @@ int main() {
 XtAppInitialize()
 ; return 0; }
 EOF
-if { (eval echo configure:16079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16417: \"$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
@@ -16143,14 +16481,14 @@ fi
 
 if test "$cf_check_cflags" != "$CFLAGS" ; then
 cat > conftest.$ac_ext <<EOF
-#line 16147 "configure"
+#line 16485 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("Hello world");
 ; return 0; }
 EOF
-if { (eval echo configure:16154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -16203,7 +16541,7 @@ fi
 
 
 echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6
-echo "configure:16207: checking for XextCreateExtension in -lXext" >&5
+echo "configure:16545: 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
@@ -16211,7 +16549,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lXext  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 16215 "configure"
+#line 16553 "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
@@ -16222,7 +16560,7 @@ int main() {
 XextCreateExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:16226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16564: \"$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
@@ -16261,13 +16599,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:16265: checking for $cf_test in $cf_path" >&5
+echo "configure:16603: checking for $cf_test in $cf_path" >&5
 		else
 			echo $ac_n "checking for $cf_test""... $ac_c" 1>&6
-echo "configure:16268: checking for $cf_test" >&5
+echo "configure:16606: checking for $cf_test" >&5
 		fi
 		cat > conftest.$ac_ext <<EOF
-#line 16271 "configure"
+#line 16609 "configure"
 #include "confdefs.h"
 
 #include <X11/Intrinsic.h>
@@ -16276,7 +16614,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:16280: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:16618: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -16323,23 +16661,23 @@ 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:16327: checking for $cf_lib in $cf_path" >&5
+echo "configure:16665: 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:16331: checking for $cf_test in $cf_lib" >&5
+echo "configure:16669: 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 16336 "configure"
+#line 16674 "configure"
 #include "confdefs.h"
 
 int main() {
 $cf_test()
 ; return 0; }
 EOF
-if { (eval echo configure:16343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -16418,14 +16756,14 @@ fi
 
 if test "$cf_check_cflags" != "$CFLAGS" ; then
 cat > conftest.$ac_ext <<EOF
-#line 16422 "configure"
+#line 16760 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("Hello world");
 ; return 0; }
 EOF
-if { (eval echo configure:16429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -16443,7 +16781,7 @@ rm -f conftest*
 fi
 
 echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:16447: checking for XOpenDisplay in -lX11" >&5
+echo "configure:16785: 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
@@ -16451,7 +16789,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 16455 "configure"
+#line 16793 "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
@@ -16462,7 +16800,7 @@ int main() {
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:16466: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16804: \"$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
@@ -16483,14 +16821,14 @@ else
 fi
 
 echo $ac_n "checking for XCurses library""... $ac_c" 1>&6
-echo "configure:16487: checking for XCurses library" >&5
+echo "configure:16825: 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 16494 "configure"
+#line 16832 "configure"
 #include "confdefs.h"
 
 #include <xcurses.h>
@@ -16500,7 +16838,7 @@ int main() {
 XCursesExit();
 ; return 0; }
 EOF
-if { (eval echo configure:16504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:16842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_lib_XCurses=yes
 else
diff -Nurp tin-1.7.2/configure.in tin-1.7.3/configure.in
--- tin-1.7.2/configure.in	Tue Nov  4 18:01:26 2003
+++ tin-1.7.3/configure.in	Sat Dec 20 18:49:53 2003
@@ -2,7 +2,7 @@ dnl Project   : tin - a Usenet reader
 dnl Module    : configure.in
 dnl Author    : Thomas E. Dickey <dickey@herndon4.his.com>
 dnl Created   : 1995-08-24
-dnl Updated   : 2003-09-13
+dnl Updated   : 2003-12-08
 dnl Notes     :
 dnl
 dnl Copyright (c) 1995-2003 Thomas E. Dickey <dickey@herndon4.his.com>
@@ -41,7 +41,7 @@ AC_PREFIX_DEFAULT(/usr/local)
 
 dnl PACKAGE is required for GNU gettext
 PACKAGE=tin
-VERSION=1.7.2
+VERSION=1.7.3
 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
 AC_SUBST(PACKAGE)
@@ -787,6 +787,23 @@ if test $ac_cv_long_long = yes; then
 	AC_DEFINE(HAVE_LONG_LONG)
 fi
 
+dnl test to see if nl_item is defined
+AC_MSG_CHECKING(for nl_item)
+AC_TRY_COMPILE([
+#ifdef HAVE_LANGINFO_H
+#include <langinfo.h>
+#else
+#ifdef HAVE_NL_TYPES_H
+#include <nl_types.h>
+#endif
+#endif
+],[nl_item x; x = 0],
+ac_cv_nl_item=yes, ac_cv_nl_item=no)
+AC_MSG_RESULT($ac_cv_nl_item)
+if test $ac_cv_nl_item = yes; then
+        AC_DEFINE(HAVE_NL_ITEM)
+fi
+
 ###	Checks for libraries.
 # libuu/uudeview
 # only define HAVE_LIBUU and HAVE_UUDEVIEW_H if both are found
@@ -797,6 +814,48 @@ AC_CHECK_LIB(uu, UUInitialize,
 		LIBS="$LIBS -luu"]
 	)]
 )
+
+# libidn - Internationalized Domain Names
+AC_CHECK_LIB(idn, stringprep_check_version,
+	[AC_CHECK_HEADER(stringprep.h,[
+		AC_DEFINE(HAVE_STRINGPREP_H)
+		AC_CHECK_HEADER(idna.h, [
+			AC_DEFINE(HAVE_IDNA_H)
+			AC_CHECK_LIB(idn, idna_to_unicode_lzlz,[
+				AC_DEFINE(HAVE_IDNA_TO_UNICODE_LZLZ)
+				AC_MSG_CHECKING(for IDNA_USE_STD3_ASCII_RULES)
+				AC_EGREP_HEADER(IDNA_USE_STD3_ASCII_RULES, idna.h,[
+					AC_DEFINE(HAVE_IDNA_USE_STD3_ASCII_RULES)
+					AC_MSG_RESULT(yes)],
+					AC_MSG_RESULT(no)
+				)
+			])
+		])
+		AC_DEFINE(HAVE_LIBIDN)
+		LIBS="$LIBS -lidn"]
+	)]
+)
+
+# ICU - International Components for Unicode
+AC_CHECK_HEADER(unicode/unorm.h,[
+	AC_CHECK_HEADER(unicode/ustring.h, [
+		AC_DEFINE(HAVE_UNICODE_UNORM_H)
+		AC_DEFINE(HAVE_UNICODE_USTRING_H)
+		AC_MSG_CHECKING(for unorm_normalize in libicuuc)
+		cf_save_LIBS="$LIBS"
+		cf_try_icuuc="no"
+		LIBS="$LIBS -licuuc"
+		AC_TRY_LINK([#include <unicode/unorm.h>], [
+			int32_t needed, ustr = NULL;
+ 			UErrorCode status;
+			needed = unorm_normalize(ustr, -1, UNORM_DEFAULT, 0, NULL, 0, &status);], [
+			AC_DEFINE(HAVE_LIBICUUC)
+			cf_try_icuuc="yes"],
+			LIBS=$cf_save_LIBS
+		)
+		AC_MSG_RESULT($cf_try_icuuc)
+	])
+])
 
 if test $use_curses != no ; then
 	cf_cv_termlib=$cf_with_screen
diff -Nurp tin-1.7.2/doc/CHANGES tin-1.7.3/doc/CHANGES
--- tin-1.7.2/doc/CHANGES	Tue Nov  4 18:00:07 2003
+++ tin-1.7.3/doc/CHANGES	Sat Dec 20 17:50:24 2003
@@ -1,3 +1,62 @@
+-- 1.7.3 release 20031220 "Taransay" --
+
+U017) Martin Treusch von Buttlar <martin+tin@t17r.de>
+      ADD. show_info attribute
+      FIX. tin.h, attrib.c, group.c, thread.c, tin.5
+
+U016) Piotr Kucharski
+      ADD. tinrc.col_urls
+      FIX. tin.1, tin.5, extern.h, tinrc.h, config.c, init.c, lang.c, page.c
+           tincfg.tbl
+
+U015) Michael Bienia <michael@vorlon.ping.de>
+      BUG. didn't search first article line and rest of the line after a
+           match
+      BUG. option and filter menus werent multibyte safe
+      BUG. in REGEX-mode a iKeyGroupSelPattern of "*" wasn't transformed
+           into a valid regex
+      ADD. search again wraps around if no more matches are found
+      ADD. turn pcre into UTF-8 mode if usefull
+      ADD. unicode normalization for search items
+      FIX. extern.h, proto.h, tin.h, tinrc.h, config.c, feed.c, filter.c
+           group.c, init.c, lang.c, misc.c, page.c, prompt.c, regex.c
+           search.c, string.c, tincfg.tbl, *.po
+
+ 020) Jason Faultless <jason@altarstone.com>
+      BUG. Content-* headers might be ignored in multipart article headers
+      FIX. rfc2046.c
+
+U014) Jason Faultless <jason@altarstone.com>
+      ADD. newsrc.h, misc cleanups
+      ADD. cleanup of group indexing code
+      REM. more hungarian notation
+      FIX. Makefile[.in], extern.h, newsrc.h, proto.h, tin.h, art.c, debug.c
+           lang.c, mail.c, main.c, newsrc.c, post.c, xref.c
+
+U013) Joshua Crawford <mortarn@softhome.net>
+      ADD. x_headers now can be generated by a script or be a multiline
+           header if read from a file
+      FIX. post.c, tin.5
+
+U012) Toomas Soome <Toomas.Soome@microlink.ee>
+      ADD. updated estonian translation
+      FIX. et.po
+
+ 019) Urs Janssen <urs@tin.org>
+      BUG. in the -R case the server-config dir had spaces in its name
+      FIX. config.c, newsrc.c
+
+U011) Urs Janssen <urs@tin.org>
+      ADD. config.guess, config.sub update
+      ADD. install.sh update
+      ADD. configure check for libidn, idna.h, stringprep.h
+      ADD. configure check for nl_item
+      ADD. configure check for libicuuc, unicode/unorm.h, unicode/ustring.h
+      ADD. minimalistic IDNA decoding support
+      FIX. config.guess, config.sub, install.sh, configure[.in]
+           autoconf.h[in], proto.h, tin.h, debug.c, init.c, misc.c
+           nntplib.c, page.c, search.c
+
 -- 1.7.2 release 20031104 "Eriskay" --
 
 U010) Dirk Nimmich <nimmich@muenster.de>
diff -Nurp tin-1.7.2/doc/INSTALL tin-1.7.3/doc/INSTALL
--- tin-1.7.2/doc/INSTALL	Tue Oct 28 14:53:33 2003
+++ tin-1.7.3/doc/INSTALL	Tue Dec  9 15:29:48 2003
@@ -49,13 +49,13 @@ The following configure options and defi
   --prefix                                --with-trace
   --program-prefix
 
-  ENFORCE_RFC1034                         NNTP_INEWS
-  EVIL_INSIDE                             NNTP_SERVER_FILE
-  FOLLOW_USEFOR_DRAFT                     PROFILE
-  FORGERY                                 REQUIRE_BRACKETS_IN_DOMAIN_LITERAL
-  HAVE_LIBUU                              SMALL_MEMORY_MACHINE
-  HAVE_UUDEVIEW_H                         USE_CANLOCK
-  XFACE_ABLE
+  ENFORCE_RFC1034                         HAVE_UUDEVIEW_H
+  EVIL_INSIDE                             NNTP_INEWS
+  FOLLOW_USEFOR_DRAFT                     NNTP_SERVER_FILE
+  FORGERY                                 PROFILE
+  REQUIRE_BRACKETS_IN_DOMAIN_LITERAL      SMALL_MEMORY_MACHINE
+  HAVE_LIBUU                              XFACE_ABLE
+  USE_CANLOCK
 
 
 Not yet documented configure options and defines:
@@ -193,7 +193,7 @@ Enable if you want to see full display c
 Enable if you want configure to check for various fallback prototype
 declarations.
 
-SMALL_MEMORY_MACHINE (default: not set, except on Amiga)
+SMALL_MEMORY_MACHINE (default: not set)
 Define if you are running a machine with little memory (<4MB). Tin will
 run slightly slower but be more efficient in how memory is allocated and
 reclaimed.
@@ -633,6 +633,6 @@ Define if you have slrnface installed an
 Compiled & installed
 --------------------
 Tin was successfully built and installed on a variety of platforms including
-Linux, FreeBSD, OpenBSD, NetBSD, Darwin, Solaris, IRIX, HP-UX, Ultrix,
+Linux, FreeBSD, OpenBSD, NetBSD, BSDi, Darwin, Solaris, IRIX, HP-UX, Ultrix,
 Tru64, AIX, SINIX, UXP/V, QNX, GNU Hurd, DG/UX, SEIUX and Cygwin.
 For a detailed list see <http://www.tin.org/builds.html>
diff -Nurp tin-1.7.2/doc/TODO tin-1.7.3/doc/TODO
--- tin-1.7.2/doc/TODO	Tue Oct 21 19:13:48 2003
+++ tin-1.7.3/doc/TODO	Wed Dec 10 15:37:37 2003
@@ -35,12 +35,6 @@ o  better integrate saving of MIME/non-M
    [mostly done]
    [Jason Faultless <jason@altarstone.com>]
 
-o  reusing p'o'stponed articles in mailing_list groups doesn't work
-   (possible fix: store Newsgroups (and other infos) via msg_add_header()
-    (to overwrite any old values) in X-Tin-Postponed:-header and remove it
-    before posting.)
-   [20010623 Urs Janssen <urs@tin.org>]
-
 o  batch mode has several bugs
    - -Z and giving a cmd-line group ends up in a loop
      (filters each group several times, ~25 times slower as without a
@@ -116,6 +110,11 @@ o  mailers other than sendmail (f.e. elm
 
 New features
 ------------
+o  add TLS support
+   (see draft-ietf-nntpext-tls-nntp-01.txt;
+   <http://www.gnu.org/software/gnutls/> might be useful)
+   [20031210 Urs Janssen <urs@tin.org>]
+
 o  make 'GNKSA'-parser RFC2822/USEFOR compliant
 
 o  add In-Reply-To threading for mailgroups
@@ -149,12 +148,16 @@ o  hierarchical 'M'enu, e.g. hide all co
    (currently the menu is statically build on compile time)
    [20020322 Urs Janssen <urs@tin.org>]
 
-o  add a postponed 'browser' (store postponed arts in
-   MH or maildir format to make things easier?)
+o  add a postponed 'browser' (store postponed arts in MH or maildir
+   format to make things easier?)
    [20020305 Dirk Nimmich <nimmich@muenster.de>]
 
-o  add postpone option for mail-actions
-   [20020404 Urs Janssen <urs@tin.org>]
+o  add postpone option for mail-actions;
+   reusing p'o'stponed articles in mailing_list groups doesn't work
+   (possible fix: store Newsgroups (and other infos) via msg_add_header()
+    (to overwrite any old values) in X-Tin-Postponed:-header and remove it
+    before posting.)
+   [20010623 Urs Janssen <urs@tin.org>]
 
 o  should the postponed 'file' (and posted messages 'file') be in
    mailbox_format (even if that's a one file/message format, thus
@@ -213,7 +216,7 @@ o  rewrite keymap stuff:
    key in the keymap file that is bound to this function.
    [20020305 Dirk Nimmich <nimmich@muenster.de>]
 
-o  check if servers high mark is lower as the one in users newsrc, if so
+o  check if servers high mark is lower than the one in users newsrc, if so
    issue a warning and allow the luser to reset the highmark in the newsrc
    to the servers 'l'ow or the servers 'h'igh mark or 'i'gnore it.
 
@@ -265,7 +268,7 @@ o  add cmd-line/tinrc-switch to fetch on
 o  check if server supports 'LIST MOTD' (e.g. INN >= 2.0) and display
    it on startup. check if server supports 'LIST MODERATORS' and/or
    'LIST DISTRIB.PATS' and if it does parse the output so it can be shown
-   to the user. (i.e. when he is posting to a moderated group, show the
+   to the user. (e.g. when posting to a moderated group, show the
    moderators mail-address, but still leave the mailing to the server; if
    the group has limitied distribution inform the user, ...)
 
@@ -619,7 +622,15 @@ o  make mm_network_charset an "option_li
 
 o  add IDNA support (RFC 3490ff.)
    (<http://www.gnu.org/software/libidn/> might be usefull)
+   (added minmalistic IDNA decoding support if a recent libidn is found, urs)
    [20030917 Urs Janssen <urs@tin.org>]
+
+o  add normalization
+   (via <http://oss.software.ibm.com/icu/> or
+   <http://www.gnu.org/software/libidn/>)
+   (done for search strings)
+   [20031209 Michael Bienia <michael@vorlon.ping.de>]
+
 
 Docs/online help
 ----------------
diff -Nurp tin-1.7.2/doc/WHATSNEW tin-1.7.3/doc/WHATSNEW
--- tin-1.7.2/doc/WHATSNEW	Sun Oct 12 17:33:55 2003
+++ tin-1.7.3/doc/WHATSNEW	Sat Nov 29 22:30:22 2003
@@ -14,3 +14,8 @@ New features
 . You can now specify a mailbox folder to save your sent mails so you
   possibly don't need auto_cc or auto_bcc anymore. See tin(5).
 
+. x_headers can take a commad which generates the header(s). See tin(5).
+
+Retired Features
+----------------
+. AmigaOS support
diff -Nurp tin-1.7.2/doc/tin.1 tin-1.7.3/doc/tin.1
--- tin-1.7.2/doc/tin.1	Tue Oct  7 08:10:26 2003
+++ tin-1.7.3/doc/tin.1	Fri Dec 19 15:33:54 2003
@@ -3,13 +3,13 @@
 .\" Module    : tin.1
 .\" Author    : I. Lea, U. Janssen
 .\" Created   : 1991-08-23
-.\" Updated   : 2003-10-02
-.\" Notes     : use american english; still needs some work, i.e.:
+.\" Updated   : 2003-12-19
+.\" Notes     : use american english; still needs some work, e.g.:
 .\"             - document authorization (.newsauth)
 .\"             - document random organization feature
 .\"
 .\"
-.TH tin 1 "October 2nd, 2003" "1.7.2" "A Usenet newsreader"
+.TH tin 1 "December 19th, 2003" "1.7.3" "A Usenet newsreader"
 .\"
 .\"
 .SH NAME
@@ -48,7 +48,7 @@ tin, rtin \- A Usenet newsreader
 .SH DESCRIPTION
 .B tin
 is a full-screen easy to use Usenet newsreader. It can read news locally
-(i.e., \fI/var/spool/news\fR) or remotely (\fBrtin\fP or \fBtin -r\fP
+(e.g., \fI/var/spool/news\fR) or remotely (\fBrtin\fP or \fBtin -r\fP
 option) via a NNTP (Network News Transport Protocol) server. It will
 automatically utilize NOV
 .BR newsoverview (5)
@@ -1426,6 +1426,9 @@ in the article viewer.
 .B Color of signatures (col_signature)
 Color of signatures
 .TP
+.B Color of urls highlight (col_urls)
+Color of urls highlight
+.TP
 .B Color of article subject lines (col_subject)
 Color of article subject
 .TP
@@ -1557,11 +1560,11 @@ Default is \fI${TIN_HOMEDIR-"$HOME"}/Mai
 .TP
 .B Invocation of your mail command (default_mailer_format)
 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' (i.e.,
+used for mailing articles to other people. Default is '%M "%T" < %F' (e.g.,
 /bin/mail "iain" < .article). The flexible format allows other mailers with
 different command-line parameters to be used such as 'elm -s "%S" "%T" <
-"%F"' (i.e., elm -s "subject" "iain" < .article) or 'sendmail -oi -oem -t <
-%F' (i.e. sendmail -oi -oem -t < .article).
+"%F"' (e.g., elm -s "subject" "iain" < .article) or 'sendmail -oi -oem -t <
+%F' (e.g. sendmail -oi -oem -t < .article).
 .TP
 .B (default_move_group)
 .TP
@@ -1833,6 +1836,24 @@ Format of quote line when posting/follow
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname,
 %C=Firstname, %I=Initials). Default is "%F wrote:".
 .TP
+.B Unicode normalization form (normalization_form)
+The normalization form \fBtin\fP should use to normalize unicode input.
+The possible values are:
+.RS +.5i
+.IP 0 3
+\fBNone\fP: no normalization
+.IP 1
+\fBNFKC\fP: Compatibility Decomposition, followed by Canonical Composition
+.IP 2
+\fBNFKD\fP: Compatibility Decomposition
+.IP 3
+\fBNFC\fP: Canonical Decomposition, followed by Canonical Composition
+.IP 4
+\fBNFD\fP: Canonical Decomposition
+.RE
+Some normalization modes are only available if they are supported by the
+library \fBtin\fP uses to do the normalization. Default is NFKC.
+.TP
 .B PgDn goes to next unread article (pgdn_goto_next)
 If ON the Page Down keys will go to the next unread article when pressed
 at the end of a message. Default is ON.
@@ -2359,7 +2380,7 @@ again via \fBPostEdit\fP ('\fBe\fP') or 
 .SS "CUSTOMIZING THE ARTICLE QUOTE STRING"
 When posting a followup to an article or replying direct to the author of an
 article via email the text of the article can be quoted. The beginning of
-the quoted text can contain information about the quoted article (i.e., Name
+the quoted text can contain information about the quoted article (e.g., Name
 and the Message-ID of the article). To allow for different situations
 certain information from the article can be used in the quoted string. The
 following variables are expanded if found in the tinrc variables
@@ -2377,7 +2398,7 @@ following variables are expanded if foun
 \fB%I\fP	Initials of author
 .fi
 .RE
-i.e.,
+e.g.,
 .RS
 .nf
 .ft CW
@@ -2440,7 +2461,7 @@ mailbox with the name of the current new
 See \fBdefault_maildir\fP.
 .PP
 To save in savedir/<news.group.name>/<filename> format enter '+<filename>'.
-Environment variables are allowed within a filename (i.e.,
+Environment variables are allowed within a filename (e.g.,
 \fI$SOURCES/dir/filename\fR). See \fBdefault_savedir\fP.
 .PP
 When saving articles you can specify whether the saved files should be
@@ -3232,44 +3253,44 @@ Johnson, Jarkko Jormanainen, Yury July, 
 Keating, Karsten Keil, Charles S. Kerr, Fritz Kleeman, Andreas Kies,
 Janne Kiviluoto, Tomasz Kloczko, Dwarven Knight, Thomas Koenig,
 Karl-Koenig Koenigsson, Martin Kraemer, Gerald Krause, Thomas
-Kroener, 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,
-John R. Myers, Daniel Naber, Torsten Neumann, Dirk Nimmich, James
-Nugen, 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, 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, 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, Doug Sewell, Philip Shearer, Jungshik Shin,
-Sergey Shkonda, Andreas Siegert, 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
+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, John R. Myers, Daniel Naber, Torsten Neumann, Dirk
+Nimmich, James Nugen, 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, 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, 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, Doug Sewell, Philip Shearer,
+Jungshik Shin, Sergey Shkonda, Andreas Siegert, 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, Mark Tomlin, Mark Tomlinson,
-Michael Traub, Mark Trumbull, Alex Vasylenko, Michael Velten, Adri
-Verhoef, Paul Vickers, Corinna Vinschen, Oliver B. Warzecha, Jason
-Wessel, Cary Whitney, Henrik Wist, Greg Woods, Andreas Wrede, Lloyd
-Wright, Jens Wuepper, Billy Y., Hideaki Yoshfuji, Nickolai Zeldovich,
-Zbigniew Zych
+Michael Traub, Martin Treusch von Buttlar, Mark Trumbull, Alex
+Vasylenko, Michael Velten, Adri Verhoef, Paul Vickers, Corinna
+Vinschen, Oliver B. Warzecha, Jason Wessel, Cary Whitney, Henrik
+Wist, Greg Woods, Andreas Wrede, Lloyd Wright, Jens Wuepper, Billy
+Y., Hideaki Yoshfuji, Nickolai Zeldovich, Zbigniew Zych
 .\"
 .\"
 .SH AUTHOR
diff -Nurp tin-1.7.2/doc/tin.5 tin-1.7.3/doc/tin.5
--- tin-1.7.2/doc/tin.5	Sun Oct 12 17:44:05 2003
+++ tin-1.7.3/doc/tin.5	Fri Dec 19 15:34:04 2003
@@ -2,10 +2,10 @@
 .\" Module    : tin.5
 .\" Author    : U. Janssen
 .\" Created   : 2000-07-10
-.\" Updated   : 2003-10-12
+.\" Updated   : 2003-12-19
 .\" Notes     : needs a some work
 .\"
-.TH tin 5 "October 12th, 2003" "1.7.2" "A Usenet newsreader"
+.TH tin 5 "December 19th, 2003" "1.7.3" "A Usenet newsreader"
 
 .SH NAME
 tin, rtin \- related files
@@ -478,6 +478,9 @@ Identical to the tinrc variable \fBdefau
 .B show_author
 Identical to the tinrc variable of the same name
 .TP
+.B show_info
+Identical to the tinrc variable of the same name
+.TP
 .B show_only_unread
 Identical to the tinrc variable of the same name
 .TP
@@ -507,8 +510,10 @@ Insert ''X-Comment-To:''-header, this is
 .B x_headers
 A string including header-name and the contents of the header that will
 be automatically added when posting. If the string starts with a / or ~
-then it is assumed to be the name of a file containing the header and it's
-content to be inserted.
+then it is assumed to be the name of a file containing the header and its
+content to be inserted. If the string starts with a ! then what follows
+is assumed to be the path to a program to be executed to generate the
+header and its content.
 .TP
 .B quick_kill_scope
 A comma-separated list of newsgroup patterns (wildmat-style) to which
@@ -632,7 +637,7 @@ Match against ''Subject:''
 Match against ''From:''.
 .BR tin (1)
 converts the contents of the ''From:''-header to an old style e-mail address,
-i.e. ''some@body.example (John Doe)'' instead
+e.g. ''some@body.example (John Doe)'' instead
 of ''John Doe <some@body.example>'', before trying to match the patterns in
 the filter rule.
 .TP
@@ -658,7 +663,7 @@ Match against ''From:''-address parser r
 .B xref
 Match against ''Xref:''-line. Before any matching is done the line is
 turned into the same format ''Newsgroups:'' has that is it is turned
-into a comma separated newsgoup list with all other informations (i.e
+into a comma separated newsgoup list with all other informations (i.e.
 the article counter) removed.
 .TP
 .B time
@@ -1183,6 +1188,9 @@ the article viewer.
 .B col_signature
 Color of signatures
 .TP
+.B col_urls
+Color of urls highlight
+.TP
 .B col_subject
 Color of article subject
 .TP
@@ -1314,11 +1322,11 @@ by giving '=' as the filename to save to
 .TP
 .B default_mailer_format
 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' (i.e.,
+used for mailing articles to other people. Default is '%M "%T" < %F' (e.g.,
 /bin/mail "iain" < .article). The flexible format allows other mailers with
 different command line parameters to be used such as 'elm -s "%S" "%T" <
-"%F"' (i.e., elm -s "subject" "iain" < .article) or 'sendmail -oem -t < %F'
-(i.e. sendmail -oem -t < .article).
+"%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...
 .TP
 .B default_move_group
@@ -1589,6 +1597,26 @@ Format of quote line when posting/follow
 %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname,
 %C=Firstname, %I=Initials). Default is "%F wrote:".
 .TP
+.B normalization_form
+The normalization form which should be used to normalize unicode input.
+The possible values are:
+.RS +.5i
+.IP 0 3
+\fBNone\fP: no normalization
+.IP 1
+\fBNFKC\fP: Compatibility Decomposition, followed by Canonical Composition
+.IP 2
+\fBNFKD\fP: Compatibility Decomposition
+.IP 3
+\fBNFC\fP: Canonical Decomposition, followed by Canonical Composition
+.IP 4
+\fBNFD\fP: Canonical Decomposition
+.RE
+Some normalization modes are only available if they are supported by the
+library
+.BR tin (1)
+uses to do the normalization. Default is NFKC.
+.TP
 .B pgdn_goto_next
 If ON the Page Down keys will go to the next unread article when pressed at
 the end of a message. Default is ON.
@@ -2197,7 +2225,7 @@ uses the LIST (\fBRFC977\fP) command ins
 .sp
 .RS
 This file provides a chronological record of when newsgroups are created. It
-is normally updated by the local newsserver (i.e
+is normally updated by the local newsserver (e.g.
 .BR innd (8))
 whenever a new group is created. Each line consist of three space-separated
 fields "\fIname\fR \fItime\fR \fIcreator\fR".
@@ -2224,7 +2252,7 @@ uses the NEWGROUPS (\fBRFC977\fP) comman
 .sp
 .RS
 This file provides short descriptions of each newsgroup. It is normally
-updated by the local newsserver (i.e
+updated by the local newsserver (e.g.
 .BR innd (8))
 whenever a new group is created. Each line consist of two tab-separated
 fields "\fIgroup.name\fR	\fIone-line description\fR".
diff -Nurp tin-1.7.2/include/autoconf.hin tin-1.7.3/include/autoconf.hin
--- tin-1.7.2/include/autoconf.hin	Sat Sep  6 17:37:27 2003
+++ tin-1.7.3/include/autoconf.hin	Tue Dec  9 09:20:19 2003
@@ -3,7 +3,7 @@
  *  Module    : autoconf.hin
  *  Author    : Thomas Dickey
  *  Created   : 1995-08-24
- *  Updated   : 2003-06-18
+ *  Updated   : 2003-12-09
  *  Notes     : #include files, #defines & struct's
  *
  * Copyright (c) 1995-2003 Thomas Dickey <dickey@invisible-island.net>
@@ -148,6 +148,7 @@
 #	undef uid_t
 #	undef RETSIGTYPE
 #	undef HAVE_LONG_LONG
+#	undef HAVE_NL_ITEM
 
 /*
  * The following xxx_H definitions are set by the 'configure' script to
@@ -595,6 +596,24 @@
  */
 #	undef HAVE_UUDEVIEW_H
 #	undef HAVE_LIBUU
+
+/*
+ * libidn - used for unicode normalization and
+ *          Internationalized Domain Names
+ */
+#	undef HAVE_IDNA_H
+#	undef HAVE_STRINGPREP_H
+#	undef HAVE_IDNA_TO_UNICODE_LZLZ
+#	undef HAVE_IDNA_USE_STD3_ASCII_RULES
+#	undef HAVE_LIBIDN
+
+/*
+ * ICU - International Components for Unicode
+ *       used for unicode normalization
+ */
+#	undef HAVE_UNICODE_UNORM_H
+#	undef HAVE_UNICODE_USTRING_H
+#	undef HAVE_LIBICUUC
 
 /*
  * Define as const if the declaration of iconv() needs const.
diff -Nurp tin-1.7.2/include/extern.h tin-1.7.3/include/extern.h
--- tin-1.7.2/include/extern.h	Mon Sep 29 03:54:22 2003
+++ tin-1.7.3/include/extern.h	Tue Dec  9 09:44:26 2003
@@ -3,7 +3,7 @@
  *  Module    : extern.h
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2003-09-29
+ *  Updated   : 2003-12-09
  *  Notes     :
  *
  * Copyright (c) 1997-2003 Iain Lea <iain@bricbrac.de>
@@ -399,6 +399,9 @@ extern constext *txt_mime_7bit_charsets[
 extern constext *txt_mailbox_formats[];
 extern constext *txt_marks[];
 extern constext *txt_mime_encodings[];
+#ifdef HAVE_UNICODE_NORMALIZATION
+	extern constext *txt_normalization_forms[];
+#endif /* HAVE_UNICODE_NORMALIZATION */
 extern constext *txt_onoff[];
 extern constext *txt_post_process_type[];
 extern constext *txt_quote_style_type[];
@@ -621,6 +624,8 @@ extern constext txt_filter_score_help[];
 extern constext txt_filter_text_type[];
 extern constext txt_followup_newsgroups[];
 extern constext txt_followup_poster[];
+extern constext txt_forwarded[];
+extern constext txt_forwarded_end[];
 extern constext txt_from_line_only[];
 extern constext txt_from_line_only_case[];
 extern constext txt_full[];
@@ -631,8 +636,10 @@ extern constext txt_gethostbyname[];
 extern constext txt_global[];
 extern constext txt_group[];
 extern constext txt_group_aliased[];
+extern constext txt_group_bogus[];
 extern constext txt_group_is_moderated[];
 extern constext txt_group_plural[];
+extern constext txt_group_rereading[];
 extern constext txt_group_select_com[];
 extern constext txt_group_selection[];
 extern constext txt_group_singular[];
@@ -1587,6 +1594,7 @@ extern struct opttxt txt_xpost_quote_for
 	extern struct opttxt txt_col_from;
 	extern struct opttxt txt_col_title;
 	extern struct opttxt txt_col_signature;
+	extern struct opttxt txt_col_urls;
 	extern struct opttxt txt_col_markstar;
 	extern struct opttxt txt_col_markdash;
 	extern struct opttxt txt_col_markslash;
@@ -1601,4 +1609,7 @@ extern struct opttxt txt_xpost_quote_for
 #ifdef XFACE_ABLE
 	extern struct opttxt txt_use_slrnface;
 #endif /* XFACE_ABLE */
+#ifdef HAVE_UNICODE_NORMALIZATION
+	extern struct opttxt txt_normalization_form;
+#endif /* HAVE_UNICODE_NORMALIZATION */
 #endif /* !EXTERN_H */
diff -Nurp tin-1.7.2/include/newsrc.h tin-1.7.3/include/newsrc.h
--- tin-1.7.2/include/newsrc.h	Thu Jan  1 01:00:00 1970
+++ tin-1.7.3/include/newsrc.h	Sat Nov 29 22:30:22 2003
@@ -0,0 +1,140 @@
+/*
+ *  Project   : tin - a Usenet reader
+ *  Module    : newsrc.h
+ *  Author    : I. Lea & R. Skrenta
+ *  Created   : 1991-04-01
+ *  Updated   : 2003-11-18
+ *  Notes     : newsrc bit handling
+ *
+ * Copyright (c) 1997-2003 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
+ * 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 NEWSRC_H
+#define NEWSRC_H 1
+
+/*
+ * The following macros are used to simplify and speed up the
+ * manipulation of the bitmaps in memory which record which articles
+ * are read or unread in each news group.
+ *
+ * Data representation:
+ *
+ * Each bitmap is handled as an array of bytes; the least-significant
+ * bit of the 0th byte is the 0th bit; the most significant bit of
+ * the 0th byte is the 7th bit. Thus, the most-significant bit of the
+ * 128th byte is the 1023rd bit, and in general the mth bit of the nth
+ * byte is considered to be bit (n*8)+m of the map as a whole.	Conversely,
+ * the position of bit q in the map is the bit (q & 7) of byte (q >> 3).
+ * A bitmap of b bits will be allocated as ((b+7) >> 3) bytes.
+ *
+ * The routines could be changed to operate on a word-oriented bitmap by
+ * changing the constants used from 8 to 16, 3 to 4, 7 to 15, etc. and
+ * changing the allocate/deallocate routines.
+ *
+ * In the newsrc context, a 0 bit represents an article which is read
+ * or expired; a 1 represents an unread article. The 0th bit corresponds
+ * to the minimum article number for this group, and (max-min+7)/8 bytes
+ * are allocated to the bitmap.
+ *
+ * Constants:
+ *
+ * NBITS   = total number of bits per byte;
+ * NMAXBIT = number of bits per byte or word;
+ * NBITPOS = number of bit in NMAXBIT;
+ * NBITSON = byte/word used to set all bits in byte/word to 1;
+ * NBITNEG1 = binary negation of 1, used in constructing masks.
+ *
+ * Macro naming and use:
+ *
+ * The NOFFSET and NBITIDX macro construct the byte and bit indexes in
+ * the map, given a bit number.
+ *
+ * The NSET0 macro sets a bit to binary 0
+ * The NSET1 macro sets a bit to binary 1
+ * The NSETBLK0 macro sets the same bit or bits to binary 0
+ * The NSETBLK1 macro sets the same bit or bits to binary 1
+ * The NTEST macro tests a single bit.
+ * These are used frequently to access the group bitmap.
+ *
+ * NSETBLK0 and NSETBLK1 operate on whole numbers of bytes, and are
+ * mainly useful for initializing complete bitmaps to one state or
+ * another. Both use the memset function, which is assumed to be
+ * optimized for the target architecture. NSETBLK is currently used to
+ * initialize the group bitmap to 1s (unread).
+ *
+ * NSETRNG0 and NSETRNG1 operate on ranges of bits, from a low bit number
+ * to a high bit number (inclusive), and are especially useful for
+ * efficiently setting a contiguous range of bits to one state or another.
+ * NSETRNG0 is currently used on the group bitmap to mark the ranges the
+ * newsrc file says are read or expired.
+ *
+ * The algorithm is this. If the high number is less than the low, then
+ * do nothing (error); if both fall within the same byte, construct a
+ * single mask expressing the range and AND or OR it into the byte; else:
+ * construct a mask for the byte containing the low bit, AND or OR it in;
+ * use memset to fill in the intervening bytes efficiently; then construct
+ * a mask for the byte containing the high bit, and AND or OR this mask
+ * in. Masks are constructed by left-shift of 0xff (to set high-order bits
+ * to 1), negating a left-shift of 0xfe (to set low-order bits to 1), and
+ * the various negations and combinations of the same. This procedure is
+ * complex, but 1 to 2 orders of magnitude faster than a shift inside a
+ * loop for each bit inside a loop for each individual byte.
+ *
+ */
+#define NBITS		8
+#define NMAXBIT		7
+#define NBITPOS		3
+#define NBITSON		0xff
+#define NBITNEG1	0xfe
+#define NOFFSET(b)	((b) >> NBITPOS)
+#define NBITIDX(b)	((b) & NMAXBIT)
+
+#define NBITMASK(beg,end)	(unsigned char) ~(((1 << (((NMAXBIT - beg) - (NMAXBIT - end)) + 1)) - 1) << (NMAXBIT - end))
+
+#define NTEST(n,b)	(n[NOFFSET(b)] &   (1 << NBITIDX(b)))
+
+#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)
+#	include <dbmalloc.h> /* dbmalloc 1.4 */
+#else
+#	define NSET1(n,b)	(n[NOFFSET(b)] |=  (1 << NBITIDX(b)))
+#	define NSET0(n,b)	(n[NOFFSET(b)] &= ~(1 << NBITIDX(b)))
+#	define BIT_OR(n, b, mask)   n[NOFFSET(b)] |= mask
+#	define BIT_AND(n, b, mask)  n[NOFFSET(b)] &= mask
+#endif /* USE_DBMALLOC */
+
+#define BITS_TO_BYTES(n)	((size_t) ((n + NBITS - 1) / NBITS))
+
+#endif /* !NEWSRC_H */
diff -Nurp tin-1.7.2/include/proto.h tin-1.7.3/include/proto.h
--- tin-1.7.2/include/proto.h	Thu Oct 16 23:24:44 2003
+++ tin-1.7.3/include/proto.h	Wed Dec 17 19:11:19 2003
@@ -3,7 +3,7 @@
  *  Module    : proto.h
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   :
- *  Updated   : 2003-10-12
+ *  Updated   : 2003-12-17
  *  Notes     :
  *
  * Copyright (c) 1997-2003 Urs Janssen <urs@tin.org>
@@ -237,7 +237,6 @@ extern void get_from_name(char *from_nam
 extern void get_user_info(char *user_name, char *full_name);
 
 /* init.c */
-extern t_bool(*wildcard_func)(const char *str, char *patt, t_bool icase);		/* Wildcard matching function */
 extern void init_selfinfo(void);
 extern void postinit_regexp(void);
 #ifdef HAVE_COLOR
@@ -254,7 +253,9 @@ extern void build_keymaps(void);
 extern void free_keymaps(void);
 
 /* langinfo.c */
-extern char *tin_nl_langinfo(nl_item item);
+#ifndef NO_LOCALE
+	extern char *tin_nl_langinfo(nl_item item);
+#endif /* !NO_LOCALE */
 
 /* list.c */
 extern char *random_organization(char *in_org);
@@ -315,12 +316,16 @@ extern void *my_realloc1(const char *fil
 #endif /* !USE_CURSES */
 
 /* misc.c */
-extern const char *eat_re(char *s, t_bool eat_was);
 extern char *escape_shell_meta(const char *source, int quote_area);
 extern char *get_tmpfilename(const char *filename);
+extern char *idna_decode(char *in);
 extern char *quote_wild(char *str);
 extern char *quote_wild_whitespace(char *str);
 extern char *strip_line(char *line);
+#if defined(CHARSET_CONVERSION) || defined(HAVE_UNICODE_NORMALIZATION)
+	extern char *utf8_valid(char *line);
+#endif /* CHARSET_CONVERSION || HAVE_UNICODE_NORMALIZATION */
+extern const char *eat_re(char *s, t_bool eat_was);
 extern const char *get_val(const char *env, const char *def);
 extern const char *gnksa_strerror(int errcode);
 extern int gnksa_check_from(char *from);
@@ -396,8 +401,6 @@ 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);
-extern void art_mark_deleted(struct t_article *art);
-extern void art_mark_undeleted(struct t_article *art);
 #ifdef DEBUG_NEWSRC
 	extern void newsrc_test_harness(void);
 #endif /* DEBUG_NEWSRC */
@@ -502,7 +505,7 @@ extern void thread_by_reference(void);
 
 /* regex.c */
 extern t_bool compile_regex(const char *regex, struct regex_cache *cache, int options);
-extern t_bool match_regex(const char *string, char *pattern, t_bool icase);
+extern t_bool match_regex(const char *string, char *pattern, struct regex_cache *cache, t_bool icase);
 extern void highlight_regexes(int row, struct regex_cache *regex, int color);
 
 /* rfc1524.c */
@@ -637,6 +640,9 @@ extern void str_lwr(char *str);
 	extern wchar_t *my_wcsdup(const wchar_t *wstr);
 #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 extern char *strunc(const char *message, char *buf, size_t buf_len, int len);
+#ifdef HAVE_UNICODE_NORMALIZATION
+	extern char *normalize(const char *str);
+#endif /* HAVE_UNICODE_NORMALIZATION */
 
 /* tags.c */
 extern int line_is_tagged(int n);
diff -Nurp tin-1.7.2/include/tin.h tin-1.7.3/include/tin.h
--- tin-1.7.2/include/tin.h	Mon Oct 27 12:46:12 2003
+++ tin-1.7.3/include/tin.h	Fri Dec 19 15:35:43 2003
@@ -3,7 +3,7 @@
  *  Module    : tin.h
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2003-10-12
+ *  Updated   : 2003-12-19
  *  Notes     : #include files, #defines & struct's
  *
  * Copyright (c) 1997-2003 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
@@ -701,6 +701,7 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_
 #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_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*$"
@@ -723,14 +724,21 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_
  */
 /*
  * case insensitive
- * split out ftp (only ftp allows username:passwd@, RFC 1738)?
- *
- * NOTE: the "-(?!-)" assertion must be removed when IDN is introduced
+ * TODO: - split out ftp (only ftp allows username:passwd@, RFC 1738)?
+ *       - test IDNA (RFC 3490) case
  */
-#if 0 /* this one is ok for IPv4 */
-#	define URL_REGEX	"\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:[^\\W_](?:(?:-(?!-)|[^\\W_]){0,61}[^\\W_])?\\.)+[a-z]{2,6}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))(?::\\d+)?(?:/[^)\\>\"\\s]*|$|(?=[)\\>\"\\s]))"
-#else	/* this one should be IPv6 safe - test me! */
-#	define URL_REGEX	"\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:[^\\W_](?:(?:-(?!-)|[^\\W_]){0,61}[^\\W_])?\\.)+[a-z]{2,6}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)|\\[(?:(?:[0-9A-F]{0,4}:){1,7}[0-9A-F]{1,4}|(?:[0-9A-F]{0,4}:){1,3}(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))\\])(?::\\d+)?(?:/[^)\\>\"\\s]*|$|(?=[)\\>\"\\s]))"
+#if 0
+#	if 0 /* this one is ok for IPv4 */
+#		define URL_REGEX	"\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:[^\\W_](?:(?:-(?!-)|[^\\W_]){0,61}[^\\W_])?\\.)+[a-z]{2,6}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))(?::\\d+)?(?:/[^)\\>\"\\s]*|$|(?=[)\\>\"\\s]))"
+#	else	/* this one should be IPv6 safe - test me! */
+#		define URL_REGEX	"\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:[^\\W_](?:(?:-(?!-)|[^\\W_]){0,61}[^\\W_])?\\.)+[a-z]{2,6}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)|\\[(?:(?:[0-9A-F]{0,4}:){1,7}[0-9A-F]{1,4}|(?:[0-9A-F]{0,4}:){1,3}(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))\\])(?::\\d+)?(?:/[^)\\>\"\\s]*|$|(?=[)\\>\"\\s]))"
+#	endif /* 0 */
+#else /* the following should be IDN safe */
+#	if 0 /* this one is ok for IPv4 */
+#		define URL_REGEX	"\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:(?:[^\\W_](?:(?:-(?!-)|[^\\W_]){0,61}[^\\W_])?|xn--[^\\W_](?:-(?!-)|[^\\W_]){1,57}[^\\W_])\\.)+[a-z]{2,6}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))(?::\\d+)?(?:/[^)\\>\"\\s]*|$|(?=[)\\>\"\\s]))"
+#	else	/* this one should be IPv6 safe - test me! */
+#		define URL_REGEX	"\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:(?:[^\\W_](?:(?:-(?!-)|[^\\W_]){0,61}[^\\W_])?|xn--[^\\W_](?:-(?!-)|[^\\W_]){1,57}[^\\W_])\\.)+[a-z]{2,6}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)|\\[(?:(?:[0-9A-F]{0,4}:){1,7}[0-9A-F]{1,4}|(?:[0-9A-F]{0,4}:){1,3}(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))\\])(?::\\d+)?(?:/[^)\\>\"\\s]*|$|(?=[)\\>\"\\s]))"
+#	endif /* 0 */
 #endif /* 0 */
 /*
  * case insensitive
@@ -800,10 +808,11 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_
 #else
 #	ifdef HAVE_NL_TYPES_H
 #		include <nl_types.h>
-#	else
-		typedef int nl_item;
 #	endif /* HAVE_NL_TYPES_H */
 #endif /* HAVE_LANGINFO_H */
+#ifndef HAVE_NL_ITEM
+	typedef int nl_item;
+#endif /* HAVE_NL_ITEM */
 #ifndef CODESET
 #	define CODESET ((nl_item) 1)
 #endif /* CODESET */
@@ -1008,7 +1017,6 @@ enum {
 
 #define GROUP_MATCH(s1, pat, case)		(wildmat(s1, pat, case))
 
-#define REGEX_MATCH(s1, pat, case)	(wildcard_func(s1, pat, case))
 #define REGEX_FMT (tinrc.wildcard ? "%s" : "*%s*")
 
 #define IGNORE_ART(i)	((tinrc.kill_level != KILL_THREAD && arts[i].killed) || (arts[i].thread == ART_EXPIRED))
@@ -1361,101 +1369,48 @@ enum {
 #define FILTER_LINES_GT		3
 
 /*
- * default date format for display in the page header */
+ * default date format for display in the page header
+ */
 #define DEFAULT_DATE_FORMAT	"%a, %d %b %Y %H:%M:%S"
 
 /*
- * used in checking article header before posting
+ * unicode normalization
  */
-#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 */
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+#	if defined(HAVE_LIBICUUC)
+#		define HAVE_UNICODE_NORMALIZATION 1
+#	else
+#		ifdef HAVE_LIBIDN
+#			define HAVE_UNICODE_NORMALIZATION 2
+#		endif /* HAVE_LIBIDN */
+#	endif /* HAVE_LIBICUUC */
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 /*
- * The following macros are used to simplify and speed up the
- * manipulation of the bitmaps in memory which record which articles
- * are read or unread in each news group.
- *
- * Data representation:
- *
- * Each bitmap is handled as an array of bytes; the least-significant
- * bit of the 0th byte is the 0th bit; the most significant bit of
- * the 0th byte is the 7th bit. Thus, the most-significant bit of the
- * 128th byte is the 1023rd bit, and in general the mth bit of the nth
- * byte is considered to be bit (n*8)+m of the map as a whole.	Conversely,
- * the position of bit q in the map is the bit (q & 7) of byte (q >> 3).
- * A bitmap of b bits will be allocated as ((b+7) >> 3) bytes.
- *
- * The routines could be changed to operate on a word-oriented bitmap by
- * changing the constants used from 8 to 16, 3 to 4, 7 to 15, etc. and
- * changing the allocate/deallocate routines.
- *
- * In the newsrc context, a 0 bit represents an article which is read
- * or expired; a 1 represents an unread article. The 0th bit corresponds
- * to the minimum article number for this group, and (max-min+7)/8 bytes
- * are allocated to the bitmap.
- *
- * Constants:
- *
- * NBITS   = total number of bits per byte;
- * NMAXBIT = number of bits per byte or word;
- * NBITPOS = number of bit in NMAXBIT;
- * NBITSON = byte/word used to set all bits in byte/word to 1;
- * NBITNEG1 = binary negation of 1, used in constructing masks.
- *
- * Macro naming and use:
- *
- * The NOFFSET and NBITIDX macro construct the byte and bit indexes in
- * the map, given a bit number.
- *
- * The NSET0 macro sets a bit to binary 0
- * The NSET1 macro sets a bit to binary 1
- * The NSETBLK0 macro sets the same bit or bits to binary 0
- * The NSETBLK1 macro sets the same bit or bits to binary 1
- * The NTEST macro tests a single bit.
- * These are used frequently to access the group bitmap.
- *
- * NSETBLK0 and NSETBLK1 operate on whole numbers of bytes, and are
- * mainly useful for initializing complete bitmaps to one state or
- * another. Both use the memset function, which is assumed to be
- * optimized for the target architecture. NSETBLK is currently used to
- * initialize the group bitmap to 1s (unread).
- *
- * NSETRNG0 and NSETRNG1 operate on ranges of bits, from a low bit number
- * to a high bit number (inclusive), and are especially useful for
- * efficiently setting a contiguous range of bits to one state or another.
- * NSETRNG0 is currently used on the group bitmap to mark the ranges the
- * newsrc file says are read or expired.
- *
- * The algorithm is this. If the high number is less than the low, then
- * do nothing (error); if both fall within the same byte, construct a
- * single mask expressing the range and AND or OR it into the byte; else:
- * construct a mask for the byte containing the low bit, AND or OR it in;
- * use memset to fill in the intervening bytes efficiently; then construct
- * a mask for the byte containing the high bit, and AND or OR this mask
- * in. Masks are constructed by left-shift of 0xff (to set high-order bits
- * to 1), negating a left-shift of 0xfe (to set low-order bits to 1), and
- * the various negations and combinations of the same. This procedure is
- * complex, but 1 to 2 orders of magnitude faster than a shift inside a
- * loop for each bit inside a loop for each individual byte.
- *
+ * normalization forms
  */
-#define NBITS		8
-#define NMAXBIT	7
-#define NBITPOS	3
-#define NBITSON	0xff
-#define NBITNEG1	0xfe
-#define NOFFSET(b)	((b) >> NBITPOS)
-#define NBITIDX(b)	((b) & NMAXBIT)
-
-#define NBITMASK(beg,end)	(unsigned char) ~(((1 << (((NMAXBIT - beg) - (NMAXBIT - end)) + 1)) - 1) << (NMAXBIT - end))
-
-#define NSET1(n,b)	(n[NOFFSET(b)] |=  (1 << NBITIDX(b)))
-#define NSET0(n,b)	(n[NOFFSET(b)] &= ~(1 << NBITIDX(b)))
-#define NTEST(n,b)	(n[NOFFSET(b)] &   (1 << NBITIDX(b)))
+#ifdef HAVE_UNICODE_NORMALIZATION
+enum {
+	NORMALIZE_NONE = 0,
+#	ifdef HAVE_LIBICUUC
+	NORMALIZE_NFKC = 1,
+	NORMALIZE_NFKD = 2,
+	NORMALIZE_NFC = 3,
+	NORMALIZE_NFD = 4
+#	else
+#		ifdef HAVE_LIBIDN
+	NORMALIZE_NFKC = 1
+#		endif /* HAVE_LIBIDN */
+#	endif /* HAVE_LIBICUUC */
+};
+#endif /* HAVE_UNICODE_NORMALIZATION */
 
-#define NSETBLK1(n,i)	(memset (n, NBITSON, (size_t) NOFFSET(i)+1))
-#define NSETBLK0(n,i)	(memset (n, 0, (size_t) NOFFSET(i)+1))
+/*
+ * 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 */
 
 typedef unsigned char	t_bitmap;
 
@@ -1568,7 +1523,8 @@ struct t_attribute {
 	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*/
-	unsigned show_author:4;			/* 0=none, 1=name, 2=addr, 3=both */
+	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,
@@ -2114,10 +2070,6 @@ typedef void (*BodyPtr) (char *, FILE *,
 #ifdef USE_DBMALLOC
 #	undef strchr
 #	undef strrchr
-#	undef NSET1
-#	undef NSET0
-#	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)
 #	include <dbmalloc.h> /* dbmalloc 1.4 */
 #endif /* USE_DBMALLOC */
 
diff -Nurp tin-1.7.2/include/tinrc.h tin-1.7.3/include/tinrc.h
--- tin-1.7.2/include/tinrc.h	Mon Sep 29 03:53:56 2003
+++ tin-1.7.3/include/tinrc.h	Tue Dec  9 09:44:46 2003
@@ -3,7 +3,7 @@
  *  Module    : tinrc.h
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1999-04-13
- *  Updated   : 2003-09-29
+ *  Updated   : 2003-12-09
  *  Notes     :
  *
  * Copyright (c) 1999-2003 Jason Faultless <jason@altarstone.com>
@@ -167,6 +167,7 @@ struct t_config {
 		int col_quote3;						/* color of >=3 times quoted lines */
 		int col_response;					/* color of respone counter */
 		int col_signature;					/* color of signature */
+		int col_urls;						/* color of urls highlight */
 		int col_subject;					/* color of article subject */
 		int col_text;						/* color of textlines*/
 		int col_title;						/* color of Help/Mail-Sign */
@@ -248,6 +249,9 @@ struct t_config {
 #	endif /* XFACE_ABLE */
 	t_bool default_filter_select_global;
 	char date_format[LEN];			/* format string for the date display in the page header */
+#	ifdef HAVE_UNICODE_NORMALIZATION
+	int normalization_form;
+#	endif /* HAVE_UNICODE_NORMALIZATION */
 };
 
 #endif /* !TINRC_H */
diff -Nurp tin-1.7.2/include/version.h tin-1.7.3/include/version.h
--- tin-1.7.2/include/version.h	Tue Nov  4 18:01:26 2003
+++ tin-1.7.3/include/version.h	Sat Dec 20 18:49:53 2003
@@ -40,13 +40,13 @@
 
 #	define PRODUCT		"tin"
 #	ifndef TIN_AUTOCONF_H
-#		define VERSION		"1.7.2"
+#		define VERSION		"1.7.3"
 #	endif /* !TIN_AUTOCONF_H */
-#	define RELEASEDATE	"20031104"
-#	define RELEASENAME	"Eriskay"
+#	define RELEASEDATE	"20031220"
+#	define RELEASENAME	"Taransay"
 /* config-file versions - must by dotted triples */
 #	define TINRC_VERSION	"1.3.7"
-#	define ATTRIBUTES_VERSION	"1.0.1"
+#	define ATTRIBUTES_VERSION	"1.0.2"
 #	define FILTER_VERSION	"1.0.0"
 #	define SERVERCONFIG_VERSION	"1.0.0"
 
diff -Nurp tin-1.7.2/install.sh tin-1.7.3/install.sh
--- tin-1.7.2/install.sh	Sat Aug 23 01:58:39 2003
+++ tin-1.7.3/install.sh	Sat Nov 29 22:30:21 2003
@@ -1,19 +1,37 @@
 #! /bin/sh
 #
 # install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
 #
-# Copyright 1991 by the Massachusetts Institute of Technology
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
 #
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
+# Copyright (C) 1994 X Consortium
+#
+# 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, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# 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.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
 # `make' implicit rules from creating a file called install from it
@@ -56,7 +74,7 @@ dir_arg=""
 
 while [ x"$1" != x ]; do
     case $1 in
-	-c) instcmd="$cpprog"
+	-c) instcmd=$cpprog
 	    shift
 	    continue;;
 
@@ -79,7 +97,7 @@ while [ x"$1" != x ]; do
 	    shift
 	    continue;;
 
-	-s) stripcmd="$stripprog"
+	-s) stripcmd=$stripprog
 	    shift
 	    continue;;
 
@@ -106,7 +124,7 @@ done
 
 if [ x"$src" = x ]
 then
-	echo "install:	no input file specified"
+	echo "$0: no input file specified" >&2
 	exit 1
 else
 	:
@@ -116,7 +134,7 @@ if [ x"$dir_arg" != x ]; then
 	dst=$src
 	src=""
 
-	if [ -d $dst ]; then
+	if [ -d "$dst" ]; then
 		instcmd=:
 		chmodcmd=""
 	else
@@ -128,17 +146,17 @@ else
 # might cause directories to be created, which would be especially bad
 # if $src (and thus $dsttmp) contains '*'.
 
-	if [ -f $src -o -d $src ]
+	if [ -f "$src" ] || [ -d "$src" ]
 	then
 		:
 	else
-		echo "install:  $src does not exist"
+		echo "$0: $src does not exist" >&2
 		exit 1
 	fi
 
 	if [ x"$dst" = x ]
 	then
-		echo "install:	no destination specified"
+		echo "$0: no destination specified" >&2
 		exit 1
 	else
 		:
@@ -147,16 +165,16 @@ else
 # If destination is a directory, append the input filename; if your system
 # does not like double slashes in filenames, you may need to add some logic
 
-	if [ -d $dst ]
+	if [ -d "$dst" ]
 	then
-		dst="$dst"/`basename $src`
+		dst=$dst/`basename "$src"`
 	else
 		:
 	fi
 fi
 
 ## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
 
 # Make sure that the destination directory exists.
 #  this part is taken from Noah Friedman's mkinstalldirs script
@@ -165,48 +183,48 @@ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s
 if [ ! -d "$dstdir" ]; then
 defaultIFS='
 	'
-IFS="${IFS-${defaultIFS}}"
+IFS="${IFS-$defaultIFS}"
 
-oIFS="${IFS}"
+oIFS=$IFS
 # Some sh's can't handle IFS=/ for some reason.
 IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
+set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS=$oIFS
 
 pathcomp=''
 
 while [ $# -ne 0 ] ; do
-	pathcomp="${pathcomp}${1}"
+	pathcomp=$pathcomp$1
 	shift
 
-	if [ ! -d "${pathcomp}" ] ;
+	if [ ! -d "$pathcomp" ] ;
         then
-		$mkdirprog "${pathcomp}"
+		$mkdirprog "$pathcomp"
 	else
 		:
 	fi
 
-	pathcomp="${pathcomp}/"
+	pathcomp=$pathcomp/
 done
 fi
 
 if [ x"$dir_arg" != x ]
 then
-	$doit $instcmd $dst &&
+	$doit $instcmd "$dst" &&
 
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi
+	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
+	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
+	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
+	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
 else
 
 # If we're going to rename the final executable, determine the name now.
 
 	if [ x"$transformarg" = x ]
 	then
-		dstfile=`basename $dst`
+		dstfile=`basename "$dst"`
 	else
-		dstfile=`basename $dst $transformbasename |
+		dstfile=`basename "$dst" $transformbasename |
 			sed $transformarg`$transformbasename
 	fi
 
@@ -214,20 +232,24 @@ else
 
 	if [ x"$dstfile" = x ]
 	then
-		dstfile=`basename $dst`
+		dstfile=`basename "$dst"`
 	else
 		:
 	fi
 
-# Make a temp file name in the proper directory.
+# Make a couple of temp file names in the proper directory.
 
 	dsttmp=$dstdir/#inst.$$#
+	rmtmp=$dstdir/#rm.$$#
 
-# Move or copy the file name to the temp name
+# Trap to clean up temp files at exit.
 
-	$doit $instcmd $src $dsttmp &&
+	trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
+	trap '(exit $?); exit' 1 2 13 15
 
-	trap "rm -f ${dsttmp}" 0 &&
+# Move or copy the file name to the temp name
+
+	$doit $instcmd "$src" "$dsttmp" &&
 
 # and set any options; do chmod last to preserve setuid bits
 
@@ -235,17 +257,38 @@ else
 # ignore errors from any of these, just make sure not to ignore
 # errors from the above "$doit $instcmd $src $dsttmp" command.
 
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi &&
+	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
+	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
+	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
+	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
+
+# Now remove or move aside any old file at destination location.  We try this
+# two ways since rm can't unlink itself on some systems and the destination
+# file might be busy for other reasons.  In this case, the final cleanup
+# might fail but the new file should still install successfully.
+
+{
+	if [ -f "$dstdir/$dstfile" ]
+	then
+		$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
+		$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
+		{
+		  echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+		  (exit 1); exit
+		}
+	else
+		:
+	fi
+} &&
 
 # Now rename the file to the real destination.
 
-	$doit $rmcmd -f $dstdir/$dstfile &&
-	$doit $mvcmd $dsttmp $dstdir/$dstfile
+	$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
 
 fi &&
 
+# The final little trick to "correctly" pass the exit status to the exit trap.
 
-exit 0
+{
+	(exit 0); exit
+}
diff -Nurp tin-1.7.2/pcre/AUTHORS tin-1.7.3/pcre/AUTHORS
--- tin-1.7.2/pcre/AUTHORS	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/AUTHORS	Sat Dec 13 13:29:52 2003
@@ -3,4 +3,4 @@ Written by: Philip Hazel <ph10@cam.ac.uk
 University of Cambridge Computing Service,
 Cambridge, England. Phone: +44 1223 334714.
 
-Copyright (c) 1997-2001 University of Cambridge
+Copyright (c) 1997-2003 University of Cambridge
diff -Nurp tin-1.7.2/pcre/COPYING tin-1.7.3/pcre/COPYING
--- tin-1.7.2/pcre/COPYING	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/COPYING	Sat Dec 13 13:29:52 2003
@@ -9,7 +9,7 @@ Written by: Philip Hazel <ph10@cam.ac.uk
 University of Cambridge Computing Service,
 Cambridge, England. Phone: +44 1223 334714.
 
-Copyright (c) 1997-2001 University of Cambridge
+Copyright (c) 1997-2003 University of Cambridge
 
 Permission is granted to anyone to use this software for any purpose on any
 computer system, and to redistribute it freely, subject to the following
diff -Nurp tin-1.7.2/pcre/ChangeLog tin-1.7.3/pcre/ChangeLog
--- tin-1.7.2/pcre/ChangeLog	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/ChangeLog	Sat Dec 13 13:29:52 2003
@@ -1,6 +1,105 @@
 ChangeLog for PCRE
 ------------------
 
+Version 4.5 01-Dec-03
+---------------------
+
+ 1. There has been some re-arrangement of the code for the match() function so
+    that it can be compiled in a version that does not call itself recursively.
+    Instead, it keeps those local variables that need separate instances for
+    each "recursion" in a frame on the heap, and gets/frees frames whenever it
+    needs to "recurse". Keeping track of where control must go is done by means
+    of setjmp/longjmp. The whole thing is implemented by a set of macros that
+    hide most of the details from the main code, and operates only if
+    NO_RECURSE is defined while compiling pcre.c. If PCRE is built using the
+    "configure" mechanism, "--disable-stack-for-recursion" turns on this way of
+    operating.
+
+    To make it easier for callers to provide specially tailored get/free
+    functions for this usage, two new functions, pcre_stack_malloc, and
+    pcre_stack_free, are used. They are always called in strict stacking order,
+    and the size of block requested is always the same.
+
+    The PCRE_CONFIG_STACKRECURSE info parameter can be used to find out whether
+    PCRE has been compiled to use the stack or the heap for recursion. The
+    -C option of pcretest uses this to show which version is compiled.
+
+    A new data escape \S, is added to pcretest; it causes the amounts of store
+    obtained and freed by both kinds of malloc/free at match time to be added
+    to the output.
+
+ 2. Changed the locale test to use "fr_FR" instead of "fr" because that's
+    what's available on my current Linux desktop machine.
+
+ 3. When matching a UTF-8 string, the test for a valid string at the start has
+    been extended. If start_offset is not zero, PCRE now checks that it points
+    to a byte that is the start of a UTF-8 character. If not, it returns
+    PCRE_ERROR_BADUTF8_OFFSET (-11). Note: the whole string is still checked;
+    this is necessary because there may be backward assertions in the pattern.
+    When matching the same subject several times, it may save resources to use
+    PCRE_NO_UTF8_CHECK on all but the first call if the string is long.
+
+ 4. The code for checking the validity of UTF-8 strings has been tightened so
+    that it rejects (a) strings containing 0xfe or 0xff bytes and (b) strings
+    containing "overlong sequences".
+
+ 5. Fixed a bug (appearing twice) that I could not find any way of exploiting!
+    I had written "if ((digitab[*p++] && chtab_digit) == 0)" where the "&&"
+    should have been "&", but it just so happened that all the cases this let
+    through by mistake were picked up later in the function.
+
+ 6. I had used a variable called "isblank" - this is a C99 function, causing
+    some compilers to warn. To avoid this, I renamed it (as "blankclass").
+
+ 7. Cosmetic: (a) only output another newline at the end of pcretest if it is
+    prompting; (b) run "./pcretest /dev/null" at the start of the test script
+    so the version is shown; (c) stop "make test" echoing "./RunTest".
+
+ 8. Added patches from David Burgess to enable PCRE to run on EBCDIC systems.
+
+ 9. The prototype for memmove() for systems that don't have it was using
+    size_t, but the inclusion of the header that defines size_t was later. I've
+    moved the #includes for the C headers earlier to avoid this.
+
+10. Added some adjustments to the code to make it easier to compiler on certain
+    special systems:
+
+      (a) Some "const" qualifiers were missing.
+      (b) Added the macro EXPORT before all exported functions; by default this
+          is defined to be empty.
+      (c) Changed the dftables auxiliary program (that builds chartables.c) so
+          that it reads its output file name as an argument instead of writing
+          to the standard output and assuming this can be redirected.
+
+11. In UTF-8 mode, if a recursive reference (e.g. (?1)) followed a character
+    class containing characters with values greater than 255, PCRE compilation
+    went into a loop.
+
+12. A recursive reference to a subpattern that was within another subpattern
+    that had a minimum quantifier of zero caused PCRE to crash. For example,
+    (x(y(?2))z)? provoked this bug with a subject that got as far as the
+    recursion. If the recursively-called subpattern itself had a zero repeat,
+    that was OK.
+
+13. In pcretest, the buffer for reading a data line was set at 30K, but the
+    buffer into which it was copied (for escape processing) was still set at
+    1024, so long lines caused crashes.
+
+14. A pattern such as /[ab]{1,3}+/ failed to compile, giving the error
+    "internal error: code overflow...". This applied to any character class
+    that was followed by a possessive quantifier.
+
+15. Modified the Makefile to add libpcre.la as a prerequisite for
+    libpcreposix.la because I was told this is needed for a parallel build to
+    work.
+
+16. If a pattern that contained .* following optional items at the start was
+    studied, the wrong optimizing data was generated, leading to matching
+    errors. For example, studying /[ab]*.*c/ concluded, erroneously, that any
+    matching string must start with a or b or c. The correct conclusion for
+    this pattern is that a match can start with any character.
+
+
 Version 4.4 13-Aug-03
 ---------------------
 
diff -Nurp tin-1.7.2/pcre/Makefile.in tin-1.7.3/pcre/Makefile.in
--- tin-1.7.2/pcre/Makefile.in	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/Makefile.in	Sat Dec 13 13:11:27 2003
@@ -87,7 +87,7 @@ pcregrep.o:	pcregrep.c pcre.h
 # An auxiliary program makes the default character table source
 
 chartables.c:	dftables$x
-		./dftables$x >$@
+		./dftables$x $@
 
 dftables$x:	dftables.c maketables.c $(PCR_DEP)
 @SHOW_CC@
diff -Nurp tin-1.7.2/pcre/Makefile.in-old tin-1.7.3/pcre/Makefile.in-old
--- tin-1.7.2/pcre/Makefile.in-old	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/Makefile.in-old	Sat Dec 13 13:04:39 2003
@@ -63,14 +63,18 @@ BUILD_OBJEXT = @BUILD_OBJEXT@
 CC = @CC@
 CFLAGS = @CFLAGS@
 CPPFLAGS = @CPPFLAGS@
+
 CC_FOR_BUILD = @CC_FOR_BUILD@
 CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
+
 UTF8 = @UTF8@
 NEWLINE = @NEWLINE@
 POSIX_MALLOC_THRESHOLD = @POSIX_MALLOC_THRESHOLD@
 LINK_SIZE = @LINK_SIZE@
-MATCH_LIMIT= @MATCH_LIMIT@
+MATCH_LIMIT = @MATCH_LIMIT@
+NO_RECURSE = @NO_RECURSE@
+EBCDIC = @EBCDIC@
 
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -79,7 +83,7 @@ INSTALL_DATA = @INSTALL_DATA@
 # to do one or the other or both by ./configure.
 
 LIBTOOL = @LIBTOOL@
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) -I. -I$(top_srcdir) $(NEWLINE) $(LINK_SIZE) $(MATCH_LIMIT)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) -I. -I$(top_srcdir) $(NEWLINE) $(LINK_SIZE) $(MATCH_LIMIT) $(NO_RECURSE) $(EBCDIC)
 @ON_WINDOWS@LINK = $(CC) $(CFLAGS) -I. -I$(top_srcdir) -L.libs
 @NOT_ON_WINDOWS@LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -I. -I$(top_srcdir)
 LINKLIB = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -I. -I$(top_srcdir)
@@ -110,7 +114,7 @@ libpcre.la:     $(OBJ)
 		$(LINKLIB) -rpath $(LIBDIR) -version-info \
 		'$(PCRELIBVERSION)' -o libpcre.la $(LOBJ)
 
-libpcreposix.la: pcreposix.@OBJEXT@
+libpcreposix.la: libpcre.la pcreposix.@OBJEXT@
 		-rm -f libpcreposix.la
 		$(LINKLIB) -rpath $(LIBDIR) libpcre.la -version-info \
 		'$(PCREPOSIXLIBVERSION)' -o libpcreposix.la pcreposix.lo
@@ -197,7 +201,7 @@ wininstall : winshared
 # An auxiliary program makes the default character table source
 
 $(top_srcdir)/chartables.c:   dftables
-		./dftables >$(top_srcdir)/chartables.c
+		./dftables $(top_srcdir)/chartables.c
 
 dftables.@BUILD_OBJEXT@:     $(top_srcdir)/dftables.c $(top_srcdir)/maketables.c \
 		$(top_srcdir)/internal.h pcre.h config.h Makefile
@@ -270,6 +274,6 @@ check:          runtest
 test:           runtest
 
 runtest:        all @ON_WINDOWS@ @WIN_PREFIX@pcre.dll
-		./RunTest
+		@./RunTest
 
 # End
diff -Nurp tin-1.7.2/pcre/NEWS tin-1.7.3/pcre/NEWS
--- tin-1.7.2/pcre/NEWS	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/NEWS	Sat Dec 13 13:29:52 2003
@@ -1,6 +1,22 @@
 News about PCRE releases
 ------------------------
 
+Release 4.5 01-Dec-03
+---------------------
+
+Again mainly a bug-fix and tidying release, with only a couple of new features:
+
+1. It's possible now to compile PCRE so that it does not use recursive
+function calls when matching. Instead it gets memory from the heap. This slows
+things down, but may be necessary on systems with limited stacks.
+
+2. UTF-8 string checking has been tightened to reject overlong sequences and to
+check that a starting offset points to the start of a character. Failure of the
+latter returns a new error code: PCRE_ERROR_BADUTF8_OFFSET.
+
+3. PCRE can now be compiled for systems that use EBCDIC code.
+
+
 Release 4.4 21-Aug-03
 ---------------------
 
diff -Nurp tin-1.7.2/pcre/NON-UNIX-USE tin-1.7.3/pcre/NON-UNIX-USE
--- tin-1.7.2/pcre/NON-UNIX-USE	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/NON-UNIX-USE	Sat Dec 13 13:29:52 2003
@@ -1,12 +1,19 @@
 Compiling PCRE on non-Unix systems
 ----------------------------------
 
-See below for comments on Cygwin or MinGW usage.
-
-If you want to compile PCRE for a non-Unix system, note that it consists
-entirely of code written in Standard C, and so should compile successfully
-on any machine with a Standard C compiler and library, using normal compiling
-commands to do the following:
+See below for comments on Cygwin or MinGW usage. I (Philip Hazel) have no
+knowledge of Windows sytems and how their libraries work. The items in the
+PCRE Makefile that relate to anything other than Unix-like systems have been
+contributed by PCRE users. There are some other comments and files in the
+Contrib directory on the ftp site that you may find useful.
+
+The following are generic comments about building PCRE:
+
+If you want to compile PCRE for a non-Unix system (or perhaps, more strictly,
+for a system that does not support "configure" and make files), note that PCRE
+consists entirely of code written in Standard C, and so should compile
+successfully on any machine with a Standard C compiler and library, using
+normal compiling commands to do the following:
 
 (1) Copy or rename the file config.in as config.h, and change the macros that
 define HAVE_STRERROR and HAVE_MEMMOVE to define them as 1 rather than 0.
@@ -21,15 +28,17 @@ for PCRE_MAJOR, PCRE_MINOR, and PCRE_DAT
 configure.in.
 
 (3) Compile dftables.c as a stand-alone program, and then run it with
-the standard output sent to chartables.c. This generates a set of standard
-character tables.
+the single argument "chartables.c". This generates a set of standard
+character tables and writes them to that file.
 
 (4) Compile maketables.c, get.c, study.c and pcre.c and link them all
 together into an object library in whichever form your system keeps such
 libraries. This is the pcre library (chartables.c is included by means of an
-#include directive).
+#include directive). If your system has static and shared libraries, you may
+have to do this once for each type.
 
-(5) Similarly, compile pcreposix.c and link it as the pcreposix library.
+(5) Similarly, compile pcreposix.c and link it (on its own) as the pcreposix
+library.
 
 (6) Compile the test program pcretest.c. This needs the functions in the
 pcre and pcreposix libraries when linking.
@@ -79,7 +88,7 @@ These are some further comments about Wi
 were contributed before Fred Cox's changes were made, so it is possible that
 they may no longer be relevant.
 
-The documentation for Win32 builds is a bit shy.  Under MSVC6 I
+"The documentation for Win32 builds is a bit shy.  Under MSVC6 I
 followed their instructions to the letter, but there were still
 some things missing.
 
@@ -89,7 +98,7 @@ some things missing.
 
 (2) Missing some #ifdefs relating to the function pointers
     pcre_malloc and pcre_free.  See my solution below.  (The stubs
-    may not be mandatory but they made me feel better.)
+    may not be mandatory but they made me feel better.)"
 
 =========================
 #ifdef _WIN32
diff -Nurp tin-1.7.2/pcre/README tin-1.7.3/pcre/README
--- tin-1.7.2/pcre/README	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/README	Sat Dec 13 13:29:52 2003
@@ -16,6 +16,11 @@ regex.h, but I didn't want to risk possi
 that name by distributing it that way. To use it with an existing program that
 uses the POSIX API, it will have to be renamed or pointed at by a link.
 
+If you are using the POSIX interface to PCRE and there is already a POSIX regex
+library installed on your system, you must take care when linking programs to
+ensure that they link with PCRE's libpcreposix library. Otherwise they may pick
+up the "real" POSIX functions of the same name.
+
 
 Contributions by users of PCRE
 ------------------------------
@@ -96,6 +101,16 @@ library. You can read more about them in
   is a representation of the compiled pattern, and this changes with the link
   size.
 
+. You can build PCRE so that its match() function does not call itself
+  recursively. Instead, it uses blocks of data from the heap via special
+  functions pcre_stack_malloc() and pcre_stack_free() to save data that would
+  otherwise be saved on the stack. To build PCRE like this, use
+
+  --disable-stack-for-recursion
+
+  on the "configure" command. PCRE runs more slowly in this mode, but it may be
+  necessary in environments with limited stack sizes.
+
 The "configure" script builds five files:
 
 . libtool is a script that builds shared and/or static libraries
@@ -125,16 +140,6 @@ included in makefiles for programs that 
 having to remember too many details.
 
 
-Cross-compiling PCRE on a Unix-like system
-------------------------------------------
-
-PCRE needs to compile and run an auxiliary program as part of the building
-process. Obviously, if the real compilation is for some other system, it can't
-use the same CC and CFLAGS values when it is doing this. For cross compilation,
-therefore, you must set CC_FOR_BUILD to the local host's compiler, and you can
-set flags in CFLAGS_FOR_BUILD if you need to.
-
-
 Shared libraries on Unix-like systems
 -------------------------------------
 
@@ -169,17 +174,20 @@ order to cross-compile PCRE for some oth
 process, the dftables.c source file is compiled *and run* on the local host, in
 order to generate the default character tables (the chartables.c file). It
 therefore needs to be compiled with the local compiler, not the cross compiler.
-You can do this by specifying HOST_CC (and if necessary HOST_CFLAGS) when
-calling the "configure" command. If they are not specified, they default to the
-values of CC and CFLAGS.
+You can do this by specifying CC_FOR_BUILD (and if necessary CFLAGS_FOR_BUILD)
+when calling the "configure" command. If they are not specified, they default
+to the values of CC and CFLAGS.
 
 
 Building on non-Unix systems
 ----------------------------
 
-For a non-Unix system, read the comments in the file NON-UNIX-USE. PCRE has
-been compiled on Windows systems and on Macintoshes, but I don't know the
-details because I don't use those systems. It should be straightforward to
+For a non-Unix system, read the comments in the file NON-UNIX-USE, though if
+the system supports the use of "configure" and "make" you may be able to build
+PCRE in the same way as for Unix systems.
+
+PCRE has been compiled on Windows systems and on Macintoshes, but I don't know
+the details because I don't use those systems. It should be straightforward to
 build PCRE on any system that has a Standard C compiler, because it uses only
 Standard C functions.
 
@@ -189,7 +197,7 @@ Testing PCRE
 
 To test PCRE on a Unix system, run the RunTest script that is created by the
 configuring process. (This can also be run by "make runtest", "make check", or
-"make test".) For other systems, see the instruction in NON-UNIX-USE.
+"make test".) For other systems, see the instructions in NON-UNIX-USE.
 
 The script runs the pcretest test program (which is documented in its own man
 page) on each of the testinput files (in the testdata directory) in turn,
@@ -222,13 +230,13 @@ bug in PCRE.
 
 The third set of tests checks pcre_maketables(), the facility for building a
 set of character tables for a specific locale and using them instead of the
-default tables. The tests make use of the "fr" (French) locale. Before running
-the test, the script checks for the presence of this locale by running the
-"locale" command. If that command fails, or if it doesn't include "fr" in the
-list of available locales, the third test cannot be run, and a comment is
-output to say why. If running this test produces instances of the error
+default tables. The tests make use of the "fr_FR" (French) locale. Before
+running the test, the script checks for the presence of this locale by running
+the "locale" command. If that command fails, or if it doesn't include "fr_FR"
+in the list of available locales, the third test cannot be run, and a comment
+is output to say why. If running this test produces instances of the error
 
-  ** Failed to set locale "fr"
+  ** Failed to set locale "fr_FR"
 
 in the comparison output, it means that locale is not available on your system,
 despite being listed by "locale". This does not mean that PCRE is broken.
@@ -354,4 +362,4 @@ The distribution should contain the foll
   makevp.bat
 
 Philip Hazel <ph10@cam.ac.uk>
-February 2003
+December 2003
diff -Nurp tin-1.7.2/pcre/RunTest.in tin-1.7.3/pcre/RunTest.in
--- tin-1.7.2/pcre/RunTest.in	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/RunTest.in	Sat Dec 13 13:29:52 2003
@@ -48,6 +48,10 @@ if [ $do1 = no -a $do2 = no -a $do3 = no
   if [ "@UTF8@" != "" ] ; then do5=yes; fi
 fi
 
+# Show which release
+
+./pcretest /dev/null
+
 # Primary test, Perl-compatible
 
 if [ $do1 = yes ] ; then
@@ -79,12 +83,12 @@ if [ $do1 = yes -a $do2 = yes ] ; then
   echo " " 
 fi
 
-# Locale-specific tests, provided the "fr" locale is available
+# Locale-specific tests, provided the "fr_FR" locale is available
 
 if [ $do3 = yes ] ; then
-  locale -a | grep '^fr$' >/dev/null
+  locale -a | grep '^fr_FR$' >/dev/null
   if [ $? -eq 0 ] ; then
-    echo "Testing locale-specific features (using 'fr' locale)"
+    echo "Testing locale-specific features (using 'fr_FR' locale)"
     ./pcretest $testdata/testinput3 testtry
     if [ $? = 0 ] ; then
       $cf testtry $testdata/testoutput3
@@ -100,7 +104,7 @@ if [ $do3 = yes ] ; then
     else exit 1
     fi
   else
-    echo "Cannot test locale-specific features - 'fr' locale not found,"
+    echo "Cannot test locale-specific features - 'fr_FR' locale not found,"
     echo "or the \"locale\" command is not available to check for it."
     echo " " 
   fi
diff -Nurp tin-1.7.2/pcre/config.h tin-1.7.3/pcre/config.h
--- tin-1.7.2/pcre/config.h	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/config.h	Sat Dec 13 13:35:26 2003
@@ -1,2 +1,5 @@
 /* simply include tin's autoconf'd header file */
 #include "autoconf.h"
+#define EXPORT
+#define EBCDIC 0
+#define POSIX_MALLOC_THRESHOLD 10
diff -Nurp tin-1.7.2/pcre/configure.in tin-1.7.3/pcre/configure.in
--- tin-1.7.2/pcre/configure.in	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/configure.in	Sat Dec 13 13:29:52 2003
@@ -21,8 +21,8 @@ dnl digits for minor numbers less than 1
 dnl that many releases anyway.
 
 PCRE_MAJOR=4
-PCRE_MINOR=4
-PCRE_DATE=21-August-2003
+PCRE_MINOR=5
+PCRE_DATE=01-December-2003
 PCRE_VERSION=${PCRE_MAJOR}.${PCRE_MINOR}
 
 dnl Default values for miscellaneous macros
@@ -97,6 +97,23 @@ if test "$enableval" = "yes"; then
 fi
 )
 
+dnl Handle --enable-ebcdic
+
+AC_ARG_ENABLE(ebcdic,
+[  --enable-ebcdic         assume EBCDIC coding rather than ASCII],
+if test "$enableval" == "yes"; then
+  EBCDIC=-DEBCDIC=1
+fi
+)
+
+dnl Handle --disable-stack-for-recursion
+AC_ARG_ENABLE(recursion,
+[  --disable-stack-for-recursion  disable use of stack recursion when matching],
+if test "$enableval" = "no"; then
+  NO_RECURSE=-DNO_RECURSE
+fi
+)
+
 dnl There doesn't seem to be a straightforward way of having parameters
 dnl that set values, other than fudging the --with thing. So that's what
 dnl I've done.
@@ -132,11 +149,13 @@ AC_SUBST(BUILD_EXEEXT)
 AC_SUBST(BUILD_OBJEXT)
 AC_SUBST(CC_FOR_BUILD)
 AC_SUBST(CFLAGS_FOR_BUILD)
+AC_SUBST(EBCDIC)
 AC_SUBST(HAVE_MEMMOVE)
 AC_SUBST(HAVE_STRERROR)
 AC_SUBST(LINK_SIZE)
 AC_SUBST(MATCH_LIMIT)
 AC_SUBST(NEWLINE)
+AC_SUBST(NO_RECURSE)
 AC_SUBST(PCRE_MAJOR)
 AC_SUBST(PCRE_MINOR)
 AC_SUBST(PCRE_DATE)
diff -Nurp tin-1.7.2/pcre/dftables.c tin-1.7.3/pcre/dftables.c
--- tin-1.7.2/pcre/dftables.c	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/dftables.c	Sat Dec 13 13:29:52 2003
@@ -8,7 +8,7 @@ and semantics are as close as possible t
 
 Written by: Philip Hazel <ph10@cam.ac.uk>
 
-           Copyright (c) 1997-2001 University of Cambridge
+           Copyright (c) 1997-2003 University of Cambridge
 
 -----------------------------------------------------------------------------
 Permission is granted to anyone to use this software for any purpose on any
@@ -50,69 +50,83 @@ order to be consistent. */
 #include "maketables.c"
 
 
-int main(void)
+int main(int argc, char **argv)
 {
 int i;
+FILE *f;
 const unsigned char *tables = pcre_maketables();
 
-/* There are two printf() calls here, because gcc in pedantic mode complains
+if (argc != 2)
+  {
+  fprintf(stderr, "dftables: one filename argument is required\n");
+  return 1;
+  }
+
+f = fopen(argv[1], "w");
+if (f == NULL)
+  {
+  fprintf(stderr, "dftables: failed to open %s for writing\n", argv[1]);
+  return 1;
+  }
+
+/* There are two fprintf() calls here, because gcc in pedantic mode complains
 about the very long string otherwise. */
 
-printf(
+fprintf(f,
   "/*************************************************\n"
   "*      Perl-Compatible Regular Expressions       *\n"
   "*************************************************/\n\n"
   "/* This file is automatically written by the dftables auxiliary \n"
   "program. If you edit it by hand, you might like to edit the Makefile to \n"
   "prevent its ever being regenerated.\n\n");
-printf(
+fprintf(f,
   "This file is #included in the compilation of pcre.c to build the default\n"
   "character tables which are used when no tables are passed to the compile\n"
   "function. */\n\n"
   "static unsigned char pcre_default_tables[] = {\n\n"
   "/* This table is a lower casing table. */\n\n");
 
-printf("  ");
+fprintf(f, "  ");
 for (i = 0; i < 256; i++)
   {
-  if ((i & 7) == 0 && i != 0) printf("\n  ");
-  printf("%3d", *tables++);
-  if (i != 255) printf(",");
+  if ((i & 7) == 0 && i != 0) fprintf(f, "\n  ");
+  fprintf(f, "%3d", *tables++);
+  if (i != 255) fprintf(f, ",");
   }
-printf(",\n\n");
+fprintf(f, ",\n\n");
 
-printf("/* This table is a case flipping table. */\n\n");
+fprintf(f, "/* This table is a case flipping table. */\n\n");
 
-printf("  ");
+fprintf(f, "  ");
 for (i = 0; i < 256; i++)
   {
-  if ((i & 7) == 0 && i != 0) printf("\n  ");
-  printf("%3d", *tables++);
-  if (i != 255) printf(",");
+  if ((i & 7) == 0 && i != 0) fprintf(f, "\n  ");
+  fprintf(f, "%3d", *tables++);
+  if (i != 255) fprintf(f, ",");
   }
-printf(",\n\n");
+fprintf(f, ",\n\n");
 
-printf(
+fprintf(f,
   "/* This table contains bit maps for various character classes.\n"
   "Each map is 32 bytes long and the bits run from the least\n"
   "significant end of each byte. The classes that have their own\n"
   "maps are: space, xdigit, digit, upper, lower, word, graph\n"
   "print, punct, and cntrl. Other classes are built from combinations. */\n\n");
 
-printf("  ");
+fprintf(f, "  ");
 for (i = 0; i < cbit_length; i++)
   {
   if ((i & 7) == 0 && i != 0)
     {
-    if ((i & 31) == 0) printf("\n");
-    printf("\n  ");
+    if ((i & 31) == 0) fprintf(f, "\n");
+    fprintf(f, "\n  ");
     }
-  printf("0x%02x", *tables++);
-  if (i != cbit_length - 1) printf(",");
+  fprintf(f, "0x%02x", *tables++);
+  if (i != cbit_length - 1) fprintf(f, ",");
   }
-printf(",\n\n");
+fprintf(f, ",\n\n");
 
-printf(
+fprintf(f,
   "/* This table identifies various classes of character by individual bits:\n"
   "  0x%02x   white space character\n"
   "  0x%02x   letter\n"
@@ -123,29 +137,30 @@ printf(
   ctype_space, ctype_letter, ctype_digit, ctype_xdigit, ctype_word,
   ctype_meta);
 
-printf("  ");
+fprintf(f, "  ");
 for (i = 0; i < 256; i++)
   {
   if ((i & 7) == 0 && i != 0)
     {
-    printf(" /* ");
-    if (isprint(i-8)) printf(" %c -", i-8);
-      else printf("%3d-", i-8);
-    if (isprint(i-1)) printf(" %c ", i-1);
-      else printf("%3d", i-1);
-    printf(" */\n  ");
+    fprintf(f, " /* ");
+    if (isprint(i-8)) fprintf(f, " %c -", i-8);
+      else fprintf(f, "%3d-", i-8);
+    if (isprint(i-1)) fprintf(f, " %c ", i-1);
+      else fprintf(f, "%3d", i-1);
+    fprintf(f, " */\n  ");
     }
-  printf("0x%02x", *tables++);
-  if (i != 255) printf(",");
+  fprintf(f, "0x%02x", *tables++);
+  if (i != 255) fprintf(f, ",");
   }
 
-printf("};/* ");
-if (isprint(i-8)) printf(" %c -", i-8);
-  else printf("%3d-", i-8);
-if (isprint(i-1)) printf(" %c ", i-1);
-  else printf("%3d", i-1);
-printf(" */\n\n/* End of chartables.c */\n");
+fprintf(f, "};/* ");
+if (isprint(i-8)) fprintf(f, " %c -", i-8);
+  else fprintf(f, "%3d-", i-8);
+if (isprint(i-1)) fprintf(f, " %c ", i-1);
+  else fprintf(f, "%3d", i-1);
+fprintf(f, " */\n\n/* End of chartables.c */\n");
 
+fclose(f);
 return 0;
 }
 
diff -Nurp tin-1.7.2/pcre/doc/pcrepattern.3 tin-1.7.3/pcre/doc/pcrepattern.3
--- tin-1.7.2/pcre/doc/pcrepattern.3	Sat Aug 23 01:58:59 2003
+++ tin-1.7.3/pcre/doc/pcrepattern.3	Sat Dec 13 13:29:52 2003
@@ -750,7 +750,7 @@ If we use atomic grouping for the previo
 immediately on failing to match "foo" the first time. The notation is a kind of
 special parenthesis, starting with (?> as in this example:
 
-  (?>\\d+)bar
+  (?>\\d+)foo
 
 This kind of parenthesis "locks up" the  part of the pattern it contains once
 it has matched, and a failure further into the pattern is prevented from
@@ -1125,7 +1125,7 @@ parentheses instead. For this, PCRE uses
 the Python syntax that PCRE uses for named parentheses (Perl does not provide
 named parentheses). We could rewrite the above example as follows:
 
-  (?<pn> \\( ( (?>[^()]+) | (?P>pn) )* \\) )
+  (?P<pn> \\( ( (?>[^()]+) | (?P>pn) )* \\) )
 
 This particular example pattern contains nested unlimited repeats, and so the
 use of atomic grouping for matching strings of non-parentheses is important
diff -Nurp tin-1.7.2/pcre/internal.h tin-1.7.3/pcre/internal.h
--- tin-1.7.2/pcre/internal.h	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/internal.h	Sat Dec 13 13:29:52 2003
@@ -39,6 +39,24 @@ modules, but which are not relevant to t
 
 #include "config.h"
 
+/* Standard C headers plus the external interface definition. The only time
+setjmp and stdarg are used is when NO_RECURSE is set. */
+
+#include <ctype.h>
+#include <limits.h>
+#include <setjmp.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifndef PCRE_SPY
+#define PCRE_DEFINITION       /* Win32 __declspec(export) trigger for .dll */
+#endif
+
+#include "pcre.h"
+
 /* When compiling for use with the Virtual Pascal compiler, these functions
 need to have their names changed. PCRE must be compiled with the -DVPCOMPAT
 option on the command line. */
@@ -151,21 +169,6 @@ capturing parenthesis numbers in back re
 #define PUT2INC(a,n,d)  PUT2(a,n,d), a += 2
 
 
-/* Standard C headers plus the external interface definition */
-
-#include <ctype.h>
-#include <limits.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifndef PCRE_SPY
-#define PCRE_DEFINITION       /* Win32 __declspec(export) trigger for .dll */
-#endif
-
-#include "pcre.h"
-
 /* In case there is no definition of offsetof() provided - though any proper
 Standard C system should have one. */
 
@@ -355,40 +358,40 @@ enum {
                            class - the difference is relevant only when a UTF-8
                            character > 255 is encountered. */
 
-  OP_XCLASS,         /* 56 Extended class for handling UTF-8 chars within the
+  OP_XCLASS,         /* 57 Extended class for handling UTF-8 chars within the
                            class. This does both positive and negative. */
 
-  OP_REF,            /* 57 Match a back reference */
-  OP_RECURSE,        /* 58 Match a numbered subpattern (possibly recursive) */
-  OP_CALLOUT,        /* 59 Call out to external function if provided */
-
-  OP_ALT,            /* 60 Start of alternation */
-  OP_KET,            /* 61 End of group that doesn't have an unbounded repeat */
-  OP_KETRMAX,        /* 62 These two must remain together and in this */
-  OP_KETRMIN,        /* 63 order. They are for groups the repeat for ever. */
+  OP_REF,            /* 58 Match a back reference */
+  OP_RECURSE,        /* 59 Match a numbered subpattern (possibly recursive) */
+  OP_CALLOUT,        /* 60 Call out to external function if provided */
+
+  OP_ALT,            /* 61 Start of alternation */
+  OP_KET,            /* 62 End of group that doesn't have an unbounded repeat */
+  OP_KETRMAX,        /* 63 These two must remain together and in this */
+  OP_KETRMIN,        /* 64 order. They are for groups the repeat for ever. */
 
   /* The assertions must come before ONCE and COND */
 
-  OP_ASSERT,         /* 64 Positive lookahead */
-  OP_ASSERT_NOT,     /* 65 Negative lookahead */
-  OP_ASSERTBACK,     /* 66 Positive lookbehind */
-  OP_ASSERTBACK_NOT, /* 67 Negative lookbehind */
-  OP_REVERSE,        /* 68 Move pointer back - used in lookbehind assertions */
+  OP_ASSERT,         /* 65 Positive lookahead */
+  OP_ASSERT_NOT,     /* 66 Negative lookahead */
+  OP_ASSERTBACK,     /* 67 Positive lookbehind */
+  OP_ASSERTBACK_NOT, /* 68 Negative lookbehind */
+  OP_REVERSE,        /* 69 Move pointer back - used in lookbehind assertions */
 
   /* ONCE and COND must come after the assertions, with ONCE first, as there's
   a test for >= ONCE for a subpattern that isn't an assertion. */
 
-  OP_ONCE,           /* 69 Once matched, don't back up into the subpattern */
-  OP_COND,           /* 70 Conditional group */
-  OP_CREF,           /* 71 Used to hold an extraction string number (cond ref) */
+  OP_ONCE,           /* 70 Once matched, don't back up into the subpattern */
+  OP_COND,           /* 71 Conditional group */
+  OP_CREF,           /* 72 Used to hold an extraction string number (cond ref) */
 
-  OP_BRAZERO,        /* 72 These two must remain together and in this */
-  OP_BRAMINZERO,     /* 73 order. */
+  OP_BRAZERO,        /* 73 These two must remain together and in this */
+  OP_BRAMINZERO,     /* 74 order. */
 
-  OP_BRANUMBER,      /* 74 Used for extracting brackets whose number is greater
+  OP_BRANUMBER,      /* 75 Used for extracting brackets whose number is greater
                            than can fit into an opcode. */
 
-  OP_BRA             /* 75 This and greater values are used for brackets that
+  OP_BRA             /* 76 This and greater values are used for brackets that
                            extract substrings up to a basic limit. After that,
                            use is made of OP_BRANUMBER. */
 };
@@ -431,10 +434,10 @@ in UTF-8 mode. The code that uses this t
   1, 1, 1, 1, 2, 1, 1,           /* Any, Anybyte, \Z, \z, Opt, ^, $        */ \
   2,                             /* Chars - the minimum length             */ \
   2,                             /* not                                    */ \
-  /* Positive single-char repeats                                          */ \
-  2, 2, 2, 2, 2, 2,              /* *, *?, +, +?, ?, ??      ** These are  */ \
-  4, 4, 4,                       /* upto, minupto, exact     ** minima     */ \
-  /* Negative single-char repeats                                          */ \
+  /* Positive single-char repeats                            ** These are  */ \
+  2, 2, 2, 2, 2, 2,              /* *, *?, +, +?, ?, ??      ** minima in  */ \
+  4, 4, 4,                       /* upto, minupto, exact     ** UTF-8 mode */ \
+  /* Negative single-char repeats - only for chars < 256                   */ \
   2, 2, 2, 2, 2, 2,              /* NOT *, *?, +, +?, ?, ??                */ \
   4, 4, 4,                       /* NOT upto, minupto, exact               */ \
   /* Positive type repeats                                                 */ \
@@ -590,7 +593,7 @@ typedef struct branch_chain {
 call within the pattern. */
 
 typedef struct recursion_info {
-  struct recursion_info *prev;  /* Previous recursion record (or NULL) */
+  struct recursion_info *prevrec; /* Previous recursion record (or NULL) */
   int group_num;                /* Number of group that was called */
   const uschar *after_call;     /* "Return value": points after the call in the expr */
   const uschar *save_start;     /* Old value of md->start_match */
@@ -598,6 +601,16 @@ typedef struct recursion_info {
   int saved_max;                /* Number of saved offsets */
 } recursion_info;
 
+/* When compiling in a mode that doesn't use recursive calls to match(),
+a structure is used to remember local variables on the heap. It is defined in
+pcre.c, close to the match() function, so that it is easy to keep it in step
+with any changes of local variable. However, the pointer to the current frame
+must be saved in some "static" place over a longjmp(). We declare the
+structure here so that we can put a pointer in the match_data structure.
+NOTE: This isn't used for a "normal" compilation of pcre. */
+
+struct heapframe;
+
 /* Structure for passing "static" information around between the functions
 doing the matching, so that they are thread-safe. */
 
@@ -625,6 +638,7 @@ typedef struct match_data {
   int    start_offset;          /* The start offset value */
   recursion_info *recursive;    /* Linked list of recursion data */
   void  *callout_data;          /* To pass back to callouts */
+  struct heapframe *thisframe;  /* Used only when compiling for no recursion */
 } match_data;
 
 /* Bit definitions for entries in the pcre_ctypes table. */
diff -Nurp tin-1.7.2/pcre/maketables.c tin-1.7.3/pcre/maketables.c
--- tin-1.7.2/pcre/maketables.c	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/maketables.c	Sat Dec 13 13:29:52 2003
@@ -126,9 +126,13 @@ for (i = 0; i < 256; i++)
   if (isdigit(i)) x += ctype_digit;
   if (isxdigit(i)) x += ctype_xdigit;
   if (isalnum(i) || i == '_') x += ctype_word;
-  if (strchr("*+?{^.$|()[", i) != 0) x += ctype_meta;
-  *p++ = x;
-  }
+
+  /* Note: strchr includes the terminating zero in the characters it considers.
+  In this instance, that is ok because we want binary zero to be flagged as a
+  meta-character, which in this sense is any character that terminates a run
+  of data characters. */
+
+  if (strchr("*+?{^.$|()[", i) != 0) x += ctype_meta; *p++ = x; }
 
 return yield;
 }
diff -Nurp tin-1.7.2/pcre/pcre.c tin-1.7.3/pcre/pcre.c
--- tin-1.7.2/pcre/pcre.c	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/pcre.c	Sat Dec 13 13:29:52 2003
@@ -32,8 +32,8 @@ restrictions:
 -----------------------------------------------------------------------------
 */
 
-/* Define DEBUG to get debugging output on stdout. */
 
+/* Define DEBUG to get debugging output on stdout. */
 /* #define DEBUG */
 
 /* Use a macro for debugging printing, 'cause that eliminates the use of #ifdef
@@ -46,8 +46,8 @@ pre-processor statements. I suppose it's
 #define DPRINTF(p) /*nothing*/
 #endif
 
-/* Include the internals header, which itself includes Standard C headers plus
-the external pcre header. */
+/* Include the internals header, which itself includes "config.h", the Standard
+C headers, and the external pcre header. */
 
 #include "internal.h"
 
@@ -92,7 +92,7 @@ req_byte match. */
 /* Table of sizes for the fixed-length opcodes. It's defined in a macro so that
 the definition is next to the definition of the opcodes in internal.h. */
 
-static uschar OP_lengths[] = { OP_LENGTHS };
+static const uschar OP_lengths[] = { OP_LENGTHS };
 
 /* Min and max values for the common repeats; for the maxima, 0 => infinity */
 
@@ -104,6 +104,7 @@ are simple data values; negative values 
 on. Zero means further processing is needed (for things like \x), or the escape
 is invalid. */
 
+#if !EBCDIC   /* This is the "normal" table for ASCII systems */
 static const short int escapes[] = {
     0,      0,      0,      0,      0,      0,      0,      0,   /* 0 - 7 */
     0,      0,    ':',    ';',    '<',    '=',    '>',    '?',   /* 8 - ? */
@@ -117,11 +118,40 @@ static const short int escapes[] = {
     0,      0, -ESC_z                                            /* x - z */
 };
 
+#else         /* This is the "abnormal" table for EBCDIC systems */
+static const short int escapes[] = {
+/*  48 */     0,     0,      0,     '.',    '<',   '(',    '+',    '|',
+/*  50 */   '&',     0,      0,       0,      0,     0,      0,      0,
+/*  58 */     0,     0,    '!',     '$',    '*',   ')',    ';',    '~',
+/*  60 */   '-',   '/',      0,       0,      0,     0,      0,      0,
+/*  68 */     0,     0,    '|',     ',',    '%',   '_',    '>',    '?',
+/*  70 */     0,     0,      0,       0,      0,     0,      0,      0,
+/*  78 */     0,   '`',    ':',     '#',    '@',  '\'',    '=',    '"',
+/*  80 */     0,     7, -ESC_b,       0, -ESC_d, ESC_e,  ESC_f,      0,
+/*  88 */     0,     0,      0,     '{',      0,     0,      0,      0,
+/*  90 */     0,     0,      0,     'l',      0, ESC_n,      0,      0,
+/*  98 */     0, ESC_r,      0,     '}',      0,     0,      0,      0,
+/*  A0 */     0,   '~', -ESC_s, ESC_tee,      0,     0, -ESC_w,      0,
+/*  A8 */     0,-ESC_z,      0,       0,      0,   '[',      0,      0,
+/*  B0 */     0,     0,      0,       0,      0,     0,      0,      0,
+/*  B8 */     0,     0,      0,       0,      0,   ']',    '=',    '-',
+/*  C0 */   '{',-ESC_A, -ESC_B,  -ESC_C, -ESC_D,-ESC_E,      0, -ESC_G,
+/*  C8 */     0,     0,      0,       0,      0,     0,      0,      0,
+/*  D0 */   '}',     0,      0,       0,      0,     0,      0,      0,
+/*  D8 */-ESC_Q,     0,      0,       0,      0,     0,      0,      0,
+/*  E0 */  '\\',     0, -ESC_S,       0,      0,     0, -ESC_W,      0,
+/*  E8 */     0,-ESC_Z,      0,       0,      0,     0,      0,      0,
+/*  F0 */     0,     0,      0,       0,      0,     0,      0,      0,
+/*  F8 */     0,     0,      0,       0,      0,     0,      0,      0
+};
+#endif
+
+
 /* Tables of names of POSIX character classes and their lengths. The list is
 terminated by a zero length entry. The first three must be alpha, upper, lower,
 as this is assumed for handling case independence. */
 
-static const char *posix_names[] = {
+static const char *const posix_names[] = {
   "alpha", "lower", "upper",
   "alnum", "ascii", "blank", "cntrl", "digit", "graph",
   "print", "punct", "space", "word",  "xdigit" };
@@ -150,7 +180,7 @@ static const int posix_class_maps[] = {
   cbit_xdigit,-1,         -1              /* xdigit */
 };
 
-/* Table to identify ASCII digits and hex digits. This is used when compiling
+/* Table to identify digits and hex digits. This is used when compiling
 patterns. Note that the tables in chartables are dependent on the locale, and
 may mark arbitrary characters as digits - but the PCRE compiling code expects
 to handle only 0-9, a-z, and A-Z as digits when compiling. That is why we have
@@ -166,6 +196,7 @@ For convenience, we use the same bit def
 
 Then we can use ctype_digit and ctype_xdigit in the code. */
 
+#if !EBCDIC    /* This is the "normal" case, for ASCII systems */
 static const unsigned char digitab[] =
   {
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*   0-  7 */
@@ -201,6 +232,78 @@ static const unsigned char digitab[] =
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 240-247 */
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */
 
+#else          /* This is the "abnormal" case, for EBCDIC systems */
+static const unsigned char digitab[] =
+  {
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*   0-  7  0 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*   8- 15    */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  16- 23 10 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  24- 31    */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  32- 39 20 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  40- 47    */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  48- 55 30 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  56- 63    */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*    - 71 40 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  72- |     */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  & - 87 50 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  88- ¬     */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  - -103 60 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 104- ?     */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 112-119 70 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 120- "     */
+  0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, /* 128- g  80 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  h -143    */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144- p  90 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  q -159    */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160- x  A0 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  y -175    */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  ^ -183 B0 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191    */
+  0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, /*  { - G  C0 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  H -207    */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  } - P  D0 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  Q -223    */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  \ - X  E0 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  Y -239    */
+  0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, /*  0 - 7  F0 */
+  0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,0x00};/*  8 -255    */
+
+static const unsigned char ebcdic_chartab[] = { /* chartable partial dup */
+  0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /*   0-  7 */
+  0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00, /*   8- 15 */
+  0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /*  16- 23 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  24- 31 */
+  0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /*  32- 39 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  40- 47 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  48- 55 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  56- 63 */
+  0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*    - 71 */
+  0x00,0x00,0x00,0x80,0x00,0x80,0x80,0x80, /*  72- |  */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  & - 87 */
+  0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00, /*  88- ¬  */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  - -103 */
+  0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x80, /* 104- ?  */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 112-119 */
+  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 120- "  */
+  0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /* 128- g  */
+  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  h -143 */
+  0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* 144- p  */
+  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  q -159 */
+  0x00,0x00,0x12,0x12,0x12,0x12,0x12,0x12, /* 160- x  */
+  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  y -175 */
+  0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  ^ -183 */
+  0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00, /* 184-191 */
+  0x80,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /*  { - G  */
+  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  H -207 */
+  0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /*  } - P  */
+  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  Q -223 */
+  0x00,0x00,0x12,0x12,0x12,0x12,0x12,0x12, /*  \ - X  */
+  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  Y -239 */
+  0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, /*  0 - 7  */
+  0x1c,0x1c,0x00,0x00,0x00,0x00,0x00,0x00};/*  8 -255 */
+#endif
+
+
 /* Definition to allow mutual recursion */
 
 static BOOL
@@ -210,11 +313,12 @@ static BOOL
 /* Structure for building a chain of data that actually lives on the
 stack, for holding the values of the subject pointer at the start of each
 subpattern, so as to detect when an empty string has been matched by a
-subpattern - to break infinite loops. */
+subpattern - to break infinite loops. When NO_RECURSE is set, these blocks
+are on the heap, not on the stack. */
 
 typedef struct eptrblock {
-  struct eptrblock *prev;
-  const uschar *saved_eptr;
+  struct eptrblock *epb_prev;
+  const uschar *epb_saved_eptr;
 } eptrblock;
 
 /* Flag bits for the match() function */
@@ -235,7 +339,7 @@ defined PCRE_ERROR_xxx codes, which are 
 *************************************************/
 
 /* PCRE is thread-clean and doesn't use any global variables in the normal
-sense. However, it calls memory allocation and free functions via the two
+sense. However, it calls memory allocation and free functions via the four
 indirections below, and it can optionally do callouts. These values can be
 changed by the caller, but are shared between all threads. However, when
 compiling for Virtual Pascal, things are done differently (see pcre.in). */
@@ -244,10 +348,14 @@ compiling for Virtual Pascal, things are
 #ifdef __cplusplus
 extern "C" void *(*pcre_malloc)(size_t) = malloc;
 extern "C" void  (*pcre_free)(void *) = free;
+extern "C" void *(*pcre_stack_malloc)(size_t) = malloc;
+extern "C" void  (*pcre_stack_free)(void *) = free;
 extern "C" int   (*pcre_callout)(pcre_callout_block *) = NULL;
 #else
 void *(*pcre_malloc)(size_t) = malloc;
 void  (*pcre_free)(void *) = free;
+void *(*pcre_stack_malloc)(size_t) = malloc;
+void  (*pcre_stack_free)(void *) = free;
 int   (*pcre_callout)(pcre_callout_block *) = NULL;
 #endif
 #endif
@@ -444,7 +552,7 @@ pcretest.c. It defines a function called
 #define STRING(a)  # a
 #define XSTRING(s) STRING(s)
 
-const char *
+EXPORT const char *
 pcre_version(void)
 {
 return XSTRING(PCRE_MAJOR) "." XSTRING(PCRE_MINOR) " " XSTRING(PCRE_DATE);
@@ -475,7 +583,7 @@ Returns:        number of capturing subp
                 or negative values on error
 */
 
-int
+EXPORT int
 pcre_info(const pcre *external_re, int *optptr, int *first_byte)
 {
 const real_pcre *re = (const real_pcre *)external_re;
@@ -506,7 +614,7 @@ Arguments:
 Returns:           0 if data returned, negative on error
 */
 
-int
+EXPORT int
 pcre_fullinfo(const pcre *external_re, const pcre_extra *extra_data, int what,
   void *where)
 {
@@ -592,7 +700,7 @@ Arguments:
 Returns:           0 if data returned, negative on error
 */
 
-int
+EXPORT int
 pcre_config(int what, void *where)
 {
 switch (what)
@@ -621,6 +729,14 @@ switch (what)
   *((unsigned int *)where) = MATCH_LIMIT;
   break;
 
+  case PCRE_CONFIG_STACKRECURSE:
+#ifdef NO_RECURSE
+  *((int *)where) = 0;
+#else
+  *((int *)where) = 1;
+#endif
+  break;
+
   default: return PCRE_ERROR_BADOPTION;
   }
 
@@ -693,15 +809,19 @@ int c, i;
 c = *(++ptr);
 if (c == 0) *errorptr = ERR1;
 
-/* Digits or letters may have special meaning; all others are literals. */
-
-else if (c < '0' || c > 'z') {}
-
-/* Do an initial lookup in a table. A non-zero result is something that can be
-returned immediately. Otherwise further processing may be required. */
+/* Non-alphamerics are literals. For digits or letters, do an initial lookup in
+a table. A non-zero result is something that can be returned immediately.
+Otherwise further processing may be required. */
 
+#if !EBCDIC    /* ASCII coding */
+else if (c < '0' || c > 'z') {}                           /* Not alphameric */
 else if ((i = escapes[c - '0']) != 0) c = i;
 
+#else          /* EBCDIC coding */
+else if (c < 'a' || (ebcdic_chartab[c] & 0x0E) == 0) {}   /* Not alphameric */
+else if ((i = escapes[c - 0x48]) != 0)  c = i;
+#endif
+
 /* Escapes that need further processing, or are illegal. */
 
 else
@@ -786,9 +906,14 @@ else
       while ((digitab[*pt] & ctype_xdigit) != 0)
         {
         int cc = *pt++;
-        if (cc >= 'a') cc -= 32;            /* Convert to upper case */
         count++;
+#if !EBCDIC    /* ASCII coding */
+        if (cc >= 'a') cc -= 32;               /* Convert to upper case */
         c = c * 16 + cc - ((cc < 'A')? '0' : ('A' - 10));
+#else          /* EBCDIC coding */
+        if (cc >= 'a' && cc <= 'z') cc += 64;  /* Convert to upper case */
+        c = c * 16 + cc - ((cc >= '0')? '0' : ('A' - 10));
+#endif
         }
       if (*pt == '}')
         {
@@ -808,8 +933,13 @@ else
       {
       int cc;                               /* Some compilers don't like ++ */
       cc = *(++ptr);                        /* in initializers */
+#if !EBCDIC    /* ASCII coding */
       if (cc >= 'a') cc -= 32;              /* Convert to upper case */
       c = c * 16 + cc - ((cc < 'A')? '0' : ('A' - 10));
+#else          /* EBCDIC coding */
+      if (cc <= 'z') cc += 64;              /* Convert to upper case */
+      c = c * 16 + cc - ((cc >= '0')? '0' : ('A' - 10));
+#endif
       }
     break;
 
@@ -824,10 +954,16 @@ else
       }
 
     /* A letter is upper-cased; then the 0x40 bit is flipped. This coding
-    is ASCII-specific, but then the whole concept of \cx is ASCII-specific. */
+    is ASCII-specific, but then the whole concept of \cx is ASCII-specific.
+    (However, an EBCDIC equivalent has now been added.) */
 
+#if !EBCDIC    /* ASCII coding */
     if (c >= 'a' && c <= 'z') c -= 32;
     c ^= 0x40;
+#else          /* EBCDIC coding */
+    if (c >= 'a' && c <= 'z') c += 64;
+    c ^= 0xC0;
+#endif
     break;
 
     /* PCRE_EXTRA enables extensions to Perl in the matter of escapes. Any
@@ -871,14 +1007,14 @@ Returns:    TRUE or FALSE
 static BOOL
 is_counted_repeat(const uschar *p)
 {
-if ((digitab[*p++] && ctype_digit) == 0) return FALSE;
+if ((digitab[*p++] & ctype_digit) == 0) return FALSE;
 while ((digitab[*p] & ctype_digit) != 0) p++;
 if (*p == '}') return TRUE;
 
 if (*p++ != ',') return FALSE;
 if (*p == '}') return TRUE;
 
-if ((digitab[*p++] && ctype_digit) == 0) return FALSE;
+if ((digitab[*p++] & ctype_digit) == 0) return FALSE;
 while ((digitab[*p] & ctype_digit) != 0) p++;
 
 return (*p == '}');
@@ -1218,12 +1354,84 @@ for (;;)
     {
     code += OP_lengths[c];
 
+#ifdef SUPPORT_UTF8
+
     /* In UTF-8 mode, opcodes that are followed by a character may be followed
     by a multi-byte character. The length in the table is a minimum, so we have
     to scan along to skip the extra characters. All opcodes are less than 128,
     so we can use relatively efficient code. */
 
+    if (utf8) switch(c)
+      {
+      case OP_EXACT:
+      case OP_UPTO:
+      case OP_MINUPTO:
+      case OP_STAR:
+      case OP_MINSTAR:
+      case OP_PLUS:
+      case OP_MINPLUS:
+      case OP_QUERY:
+      case OP_MINQUERY:
+      while ((*code & 0xc0) == 0x80) code++;
+      break;
+
+      /* XCLASS is used for classes that cannot be represented just by a bit
+      map. This includes negated single high-valued characters. The length in
+      the table is zero; the actual length is stored in the compled code. */
+
+      case OP_XCLASS:
+      code += GET(code, 1) + 1;
+      break;
+      }
+#endif
+    }
+  }
+}
+
+
+
+/*************************************************
+*   Scan compiled regex for recursion reference  *
+*************************************************/
+
+/* This little function scans through a compiled pattern until it finds an
+instance of OP_RECURSE.
+
+Arguments:
+  code        points to start of expression
+  utf8        TRUE in UTF-8 mode
+
+Returns:      pointer to the opcode for OP_RECURSE, or NULL if not found
+*/
+
+static const uschar *
+find_recurse(const uschar *code, BOOL utf8)
+{
+#ifndef SUPPORT_UTF8
+utf8 = utf8;               /* Stop pedantic compilers complaining */
+#endif
+
+for (;;)
+  {
+  register int c = *code;
+  if (c == OP_END) return NULL;
+  else if (c == OP_RECURSE) return code;
+  else if (c == OP_CHARS) code += code[1] + OP_lengths[c];
+  else if (c > OP_BRA)
+    {
+    code += OP_lengths[OP_BRA];
+    }
+  else
+    {
+    code += OP_lengths[c];
+
 #ifdef SUPPORT_UTF8
+
+    /* In UTF-8 mode, opcodes that are followed by a character may be followed
+    by a multi-byte character. The length in the table is a minimum, so we have
+    to scan along to skip the extra characters. All opcodes are less than 128,
+    so we can use relatively efficient code. */
+
     if (utf8) switch(c)
       {
       case OP_EXACT:
@@ -1237,6 +1445,14 @@ for (;;)
       case OP_MINQUERY:
       while ((*code & 0xc0) == 0x80) code++;
       break;
+
+      /* XCLASS is used for classes that cannot be represented just by a bit
+      map. This includes negated single high-valued characters. The length in
+      the table is zero; the actual length is stored in the compled code. */
+
+      case OP_XCLASS:
+      code += GET(code, 1) + 1;
+      break;
       }
 #endif
     }
@@ -1480,6 +1696,41 @@ return -1;
 }
 
 
+/*************************************************
+*    Adjust OP_RECURSE items in repeated group   *
+*************************************************/
+
+/* OP_RECURSE items contain an offset from the start of the regex to the group
+that is referenced. This means that groups can be replicated for fixed
+repetition simply by copying (because the recursion is allowed to refer to
+earlier groups that are outside the current group). However, when a group is
+optional (i.e. the minimum quantifier is zero), OP_BRAZERO is inserted before
+it, after it has been compiled. This means that any OP_RECURSE items within it
+that refer to the group itself or any contained groups have to have their
+offsets adjusted. That is the job of this function. Before it is called, the
+partially compiled regex must be temporarily terminated with OP_END.
+
+Arguments:
+  group      points to the start of the group
+  adjust     the amount by which the group is to be moved
+  utf8       TRUE in UTF-8 mode
+  cd         contains pointers to tables etc.
+
+Returns:     nothing
+*/
+
+static void
+adjust_recurse(uschar *group, int adjust, BOOL utf8, compile_data *cd)
+{
+uschar *ptr = group;
+while ((ptr = (uschar *)find_recurse(ptr, utf8)) != NULL)
+  {
+  int offset = GET(ptr, 1);
+  if (cd->start_code + offset >= group) PUT(ptr, 1, offset + adjust);
+  ptr += 1 + LINK_SIZE;
+  }
+}
+
 
 
 /*************************************************
@@ -1766,18 +2017,18 @@ for (;; ptr++)
         posix_class *= 3;
         for (i = 0; i < 3; i++)
           {
-          BOOL isblank = strncmp((char *)ptr, "blank", 5) == 0;
+          BOOL blankclass = strncmp((char *)ptr, "blank", 5) == 0;
           int taboffset = posix_class_maps[posix_class + i];
           if (taboffset < 0) break;
           if (local_negate)
             {
             for (c = 0; c < 32; c++) class[c] |= ~cbits[c+taboffset];
-            if (isblank) class[1] |= 0x3c;
+            if (blankclass) class[1] |= 0x3c;
             }
           else
             {
             for (c = 0; c < 32; c++) class[c] |= cbits[c+taboffset];
-            if (isblank) class[1] &= ~0x3c;
+            if (blankclass) class[1] &= ~0x3c;
             }
           }
 
@@ -2442,10 +2693,15 @@ for (;; ptr++)
           }
 
         /* If the maximum is 1 or unlimited, we just have to stick in the
-        BRAZERO and do no more at this point. */
+        BRAZERO and do no more at this point. However, we do need to adjust
+        any OP_RECURSE calls inside the group that refer to the group itself or
+        any internal group, because the offset is from the start of the whole
+        regex. Temporarily terminate the pattern while doing this. */
 
         if (repeat_max <= 1)
           {
+          *code = OP_END;
+          adjust_recurse(previous, 1, utf8, cd);
           memmove(previous+1, previous, len);
           code++;
           *previous++ = OP_BRAZERO + repeat_type;
@@ -2455,12 +2711,15 @@ for (;; ptr++)
         in a nested fashion, sticking OP_BRAZERO before each set of brackets.
         The first one has to be handled carefully because it's the original
         copy, which has to be moved up. The remainder can be handled by code
-        that is common with the non-zero minimum case below. We just have to
-        adjust the value or repeat_max, since one less copy is required. */
+        that is common with the non-zero minimum case below. We have to
+        adjust the value or repeat_max, since one less copy is required. Once
+        again, we may have to adjust any OP_RECURSE calls inside the group. */
 
         else
           {
           int offset;
+          *code = OP_END;
+          adjust_recurse(previous, 2 + LINK_SIZE, utf8, cd);
           memmove(previous + 2 + LINK_SIZE, previous, len);
           code += 2 + LINK_SIZE;
           *previous++ = OP_BRAZERO + repeat_type;
@@ -3149,7 +3408,7 @@ for (;; ptr++)
         if (c < 0) { ptr = tempptr; break; }
 
         /* If a character is > 127 in UTF-8 mode, we have to turn it into
-        two or more characters in the UTF-8 encoding. */
+        two or more bytes in the UTF-8 encoding. */
 
 #ifdef SUPPORT_UTF8
         if (utf8 && c > 127)
@@ -3762,15 +4021,51 @@ if (length < 0)
 
 for (p = string; length-- > 0; p++)
   {
-  int ab;
-  if (*p < 128) continue;
-  if ((*p & 0xc0) != 0xc0) return p - string;
-  ab = utf8_table4[*p & 0x3f];  /* Number of additional bytes */
+  register int ab;
+  register int c = *p;
+  if (c < 128) continue;
+  if ((c & 0xc0) != 0xc0) return p - string;
+  ab = utf8_table4[c & 0x3f];  /* Number of additional bytes */
   if (length < ab) return p - string;
-  while (ab-- > 0)
+  length -= ab;
+
+  /* Check top bits in the second byte */
+  if ((*(++p) & 0xc0) != 0x80) return p - string;
+
+  /* Check for overlong sequences for each different length */
+  switch (ab)
+    {
+    /* Check for xx00 000x */
+    case 1:
+    if ((c & 0x3e) == 0) return p - string;
+    continue;   /* We know there aren't any more bytes to check */
+
+    /* Check for 1110 0000, xx0x xxxx */
+    case 2:
+    if (c == 0xe0 && (*p & 0x20) == 0) return p - string;
+    break;
+
+    /* Check for 1111 0000, xx00 xxxx */
+    case 3:
+    if (c == 0xf0 && (*p & 0x30) == 0) return p - string;
+    break;
+
+    /* Check for 1111 1000, xx00 0xxx */
+    case 4:
+    if (c == 0xf8 && (*p & 0x38) == 0) return p - string;
+    break;
+
+    /* Check for leading 0xfe or 0xff, and then for 1111 1100, xx00 00xx */
+    case 5:
+    if (c == 0xfe || c == 0xff ||
+       (c == 0xfc && (*p & 0x3c) == 0)) return p - string;
+    break;
+    }
+
+  /* Check for valid bytes after the 2nd, if any; all must start 10 */
+  while (--ab > 0)
     {
     if ((*(++p) & 0xc0) != 0x80) return p - string;
-    length--;
     }
   }
 
@@ -3798,7 +4093,7 @@ Returns:       pointer to compiled data 
                with errorptr and erroroffset set
 */
 
-pcre *
+EXPORT pcre *
 pcre_compile(const char *pattern, int options, const char **errorptr,
   int *erroroffset, const unsigned char *tables)
 {
@@ -4207,7 +4502,8 @@ while ((c = *(++ptr)) != 0)
       {
       length += 33;
 
-      /* A repeat needs either 1 or 5 bytes. */
+      /* A repeat needs either 1 or 5 bytes. If it is a possessive quantifier,
+      we also need extra for wrapping the whole thing in a sub-pattern. */
 
       if (*ptr != 0 && ptr[1] == '{' && is_counted_repeat(ptr+2))
         {
@@ -4217,7 +4513,12 @@ while ((c = *(++ptr)) != 0)
           (min == 1 && max == -1))
             length++;
         else length += 5;
-        if (ptr[1] == '?') ptr++;
+        if (ptr[1] == '+')
+          {
+          ptr++;
+          length += 2 + 2*LINK_SIZE;
+          }
+        else if (ptr[1] == '?') ptr++;
         }
       }
     continue;
@@ -4858,7 +5159,7 @@ if (re->options != 0)
 if ((re->options & PCRE_FIRSTSET) != 0)
   {
   int ch = re->first_byte & 255;
-  char *caseless = ((re->first_byte & REQ_CASELESS) == 0)? "" : " (caseless)";
+  const char *caseless = ((re->first_byte & REQ_CASELESS) == 0)? "" : " (caseless)";
   if (isprint(ch)) printf("First char = %c%s\n", ch, caseless);
     else printf("First char = \\x%02x%s\n", ch, caseless);
   }
@@ -4866,7 +5167,7 @@ if ((re->options & PCRE_FIRSTSET) != 0)
 if ((re->options & PCRE_REQCHSET) != 0)
   {
   int ch = re->req_byte & 255;
-  char *caseless = ((re->req_byte & REQ_CASELESS) == 0)? "" : " (caseless)";
+  const char *caseless = ((re->req_byte & REQ_CASELESS) == 0)? "" : " (caseless)";
   if (isprint(ch)) printf("Req char = %c%s\n", ch, caseless);
     else printf("Req char = \\x%02x%s\n", ch, caseless);
   }
@@ -5000,6 +5301,146 @@ return negated;   /* char was not found 
 #endif
 
 
+/***************************************************************************
+****************************************************************************
+                   RECURSION IN THE match() FUNCTION
+
+The match() function is highly recursive. Some regular expressions can cause
+it to recurse thousands of times. I was writing for Unix, so I just let it
+call itself recursively. This uses the stack for saving everything that has
+to be saved for a recursive call. On Unix, the stack can be large, and this
+works fine.
+
+It turns out that on non-Unix systems there are problems with programs that
+use a lot of stack. (This despite the fact that every last chip has oodles
+of memory these days, and techniques for extending the stack have been known
+for decades.) So....
+
+There is a fudge, triggered by defining NO_RECURSE, which avoids recursive
+calls by keeping local variables that need to be preserved in blocks of memory
+obtained from malloc instead instead of on the stack. Macros are used to
+achieve this so that the actual code doesn't look very different to what it
+always used to.
+****************************************************************************
+***************************************************************************/
+
+
+/* These versions of the macros use the stack, as normal */
+
+#ifndef NO_RECURSE
+#define REGISTER register
+#define RMATCH(rx,ra,rb,rc,rd,re,rf,rg) rx = match(ra,rb,rc,rd,re,rf,rg)
+#define RRETURN(ra) return ra
+#else
+
+
+/* These versions of the macros manage a private stack on the heap. Note
+that the rd argument of RMATCH isn't actually used. It's the md argument of
+match(), which never actually changes. */
+
+#define REGISTER
+
+#define RMATCH(rx,ra,rb,rc,rd,re,rf,rg)\
+  {\
+  heapframe *newframe = (pcre_stack_malloc)(sizeof(heapframe));\
+  if (setjmp(frame->Xwhere) == 0)\
+    {\
+    newframe->Xeptr = ra;\
+    newframe->Xecode = rb;\
+    newframe->Xoffset_top = rc;\
+    newframe->Xims = re;\
+    newframe->Xeptrb = rf;\
+    newframe->Xflags = rg;\
+    newframe->Xprevframe = frame;\
+    frame = newframe;\
+    DPRINTF(("restarting from line %d\n", __LINE__));\
+    goto HEAP_RECURSE;\
+    }\
+  else\
+    {\
+    DPRINTF(("longjumped back to line %d\n", __LINE__));\
+    frame = md->thisframe;\
+    rx = frame->Xresult;\
+    }\
+  }
+
+#define RRETURN(ra)\
+  {\
+  heapframe *newframe = frame;\
+  frame = newframe->Xprevframe;\
+  (pcre_stack_free)(newframe);\
+  if (frame != NULL)\
+    {\
+    frame->Xresult = ra;\
+    md->thisframe = frame;\
+    longjmp(frame->Xwhere, 1);\
+    }\
+  return ra;\
+  }
+
+
+/* Structure for remembering the local variables in a private frame */
+
+typedef struct heapframe {
+  struct heapframe *Xprevframe;
+
+  /* Function arguments that may change */
+
+  const uschar *Xeptr;
+  const uschar *Xecode;
+  int Xoffset_top;
+  long int Xims;
+  eptrblock *Xeptrb;
+  int Xflags;
+
+  /* Function local variables */
+
+  const uschar *Xcallpat;
+  const uschar *Xcharptr;
+  const uschar *Xdata;
+  const uschar *Xlastptr;
+  const uschar *Xnext;
+  const uschar *Xpp;
+  const uschar *Xprev;
+  const uschar *Xsaved_eptr;
+
+  recursion_info Xnew_recursive;
+
+  BOOL Xcur_is_word;
+  BOOL Xcondition;
+  BOOL Xminimize;
+  BOOL Xprev_is_word;
+
+  unsigned long int Xoriginal_ims;
+
+  int Xctype;
+  int Xfc;
+  int Xfi;
+  int Xlength;
+  int Xmax;
+  int Xmin;
+  int Xnumber;
+  int Xoffset;
+  int Xop;
+  int Xsave_capture_last;
+  int Xsave_offset1, Xsave_offset2, Xsave_offset3;
+  int Xstacksave[REC_STACK_SAVE_MAX];
+
+  eptrblock Xnewptrb;
+
+  /* Place to pass back result, and where to jump back to */
+
+  int  Xresult;
+  jmp_buf Xwhere;
+
+} heapframe;
+
+#endif
+
+
+/***************************************************************************
+***************************************************************************/
+
 
 
 /*************************************************
@@ -5037,25 +5478,147 @@ Returns:       MATCH_MATCH if matched   
 */
 
 static int
-match(register const uschar *eptr, register const uschar *ecode,
+match(REGISTER const uschar *eptr, REGISTER const uschar *ecode,
   int offset_top, match_data *md, unsigned long int ims, eptrblock *eptrb,
   int flags)
 {
-unsigned long int original_ims = ims;   /* Save for resetting on ')' */
-register int rrc;
+/* These variables do not need to be preserved over recursion in this function,
+so they can be ordinary variables in all cases. Mark them with "register"
+because they are used a lot in loops. */
+
+register int rrc;    /* Returns from recursive calls */
+register int i;      /* Used for loops not involving calls to RMATCH() */
+register int c;      /* Character values not kept over RMATCH() calls */
+
+/* When recursion is not being used, all "local" variables that have to be
+preserved over calls to RMATCH() are part of a "frame" which is obtained from
+heap storage. Set up the top-level frame here; others are obtained from the
+heap whenever RMATCH() does a "recursion". See the macro definitions above. */
+
+#ifdef NO_RECURSE
+heapframe *frame = (pcre_stack_malloc)(sizeof(heapframe));
+frame->Xprevframe = NULL;            /* Marks the top level */
+
+/* Copy in the original argument variables */
+
+frame->Xeptr = eptr;
+frame->Xecode = ecode;
+frame->Xoffset_top = offset_top;
+frame->Xims = ims;
+frame->Xeptrb = eptrb;
+frame->Xflags = flags;
+
+/* This is where control jumps back to to effect "recursion" */
+
+HEAP_RECURSE:
+
+/* Macros make the argument variables come from the current frame */
+
+#define eptr               frame->Xeptr
+#define ecode              frame->Xecode
+#define offset_top         frame->Xoffset_top
+#define ims                frame->Xims
+#define eptrb              frame->Xeptrb
+#define flags              frame->Xflags
+
+/* Ditto for the local variables */
+
+#define callpat            frame->Xcallpat
+#define charptr            frame->Xcharptr
+#define data               frame->Xdata
+#define lastptr            frame->Xlastptr
+#define next               frame->Xnext
+#define pp                 frame->Xpp
+#define prev               frame->Xprev
+#define saved_eptr         frame->Xsaved_eptr
+
+#define new_recursive      frame->Xnew_recursive
+
+#define cur_is_word        frame->Xcur_is_word
+#define condition          frame->Xcondition
+#define minimize           frame->Xminimize
+#define prev_is_word       frame->Xprev_is_word
+
+#define original_ims       frame->Xoriginal_ims
+
+#define ctype              frame->Xctype
+#define fc                 frame->Xfc
+#define fi                 frame->Xfi
+#define length             frame->Xlength
+#define max                frame->Xmax
+#define min                frame->Xmin
+#define number             frame->Xnumber
+#define offset             frame->Xoffset
+#define op                 frame->Xop
+#define save_capture_last  frame->Xsave_capture_last
+#define save_offset1       frame->Xsave_offset1
+#define save_offset2       frame->Xsave_offset2
+#define save_offset3       frame->Xsave_offset3
+#define stacksave          frame->Xstacksave
+
+#define newptrb            frame->Xnewptrb
+
+/* When recursion is being used, local variables are allocated on the stack and
+get preserved during recursion in the normal way. In this environment, fi and
+i, and fc and c, can be the same variables. */
+
+#else
+#define fi i
+#define fc c
+
+const uschar *callpat;             /* Many of these variables are used ony */
+const uschar *charptr;             /* small blocks of the code. My normal  */
+const uschar *data;                /* style of coding would have declared  */
+const uschar *lastptr;             /* them within each of those blocks.    */
+const uschar *next;                /* However, in order to accommodate the */
+const uschar *pp;                  /* version of this code that uses an    */
+const uschar *prev;                /* external "stack" implemented on the  */
+const uschar *saved_eptr;          /* heap, it is easier to declare them   */
+                                   /* all here, so the declarations can    */
+recursion_info new_recursive;      /* be cut out in a block. The only      */
+                                   /* declarations within blocks below are */
+BOOL cur_is_word;                  /* for variables that do not have to    */
+BOOL condition;                    /* be preserved over a recursive call   */
+BOOL minimize;                     /* to RMATCH().                         */
+BOOL prev_is_word;
+
+unsigned long int original_ims;
+
+int ctype;
+int length;
+int max;
+int min;
+int number;
+int offset;
+int op;
+int save_capture_last;
+int save_offset1, save_offset2, save_offset3;
+int stacksave[REC_STACK_SAVE_MAX];
+
 eptrblock newptrb;
+#endif
 
-if (md->match_call_count++ >= md->match_limit) return PCRE_ERROR_MATCHLIMIT;
+
+/* OK, now we can get on with the real code of the function. Recursion is
+specified by the macros RMATCH and RRETURN. When NO_RECURSE is *not* defined,
+these just turn into a recursive call to match() and a "return", respectively.
+However, RMATCH isn't like a function call because it's quite a complicated
+macro. It has to be used in one particular way. This shouldn't, however, impact
+performance when true recursion is being used. */
+
+if (md->match_call_count++ >= md->match_limit) RRETURN(PCRE_ERROR_MATCHLIMIT);
+
+original_ims = ims;    /* Save for resetting on ')' */
 
 /* At the start of a bracketed group, add the current subject pointer to the
 stack of such pointers, to be re-instated at the end of the group when we hit
 the closing ket. When match() is called in other circumstances, we don't add to
-the stack. */
+this stack. */
 
 if ((flags & match_isgroup) != 0)
   {
-  newptrb.prev = eptrb;
-  newptrb.saved_eptr = eptr;
+  newptrb.epb_prev = eptrb;
+  newptrb.epb_saved_eptr = eptr;
   eptrb = &newptrb;
   }
 
@@ -5063,11 +5626,8 @@ if ((flags & match_isgroup) != 0)
 
 for (;;)
   {
-  int op = (int)*ecode;
-  int min, max, ctype;
-  register int i;
-  register int c;
-  BOOL minimize = FALSE;
+  op = *ecode;
+  minimize = FALSE;
 
   /* Opening capturing bracket. If there is space in the offset vector, save
   the current subject position in the working slot at the top of the vector. We
@@ -5085,8 +5645,7 @@ for (;;)
 
   if (op > OP_BRA)
     {
-    int offset;
-    int number = op - OP_BRA;
+    number = op - OP_BRA;
 
     /* For extended extraction brackets (large number), we have to fish out the
     number from a dummy opcode at the start. */
@@ -5103,18 +5662,19 @@ for (;;)
 
     if (offset < md->offset_max)
       {
-      int save_offset1 = md->offset_vector[offset];
-      int save_offset2 = md->offset_vector[offset+1];
-      int save_offset3 = md->offset_vector[md->offset_end - number];
-      int save_capture_last = md->capture_last;
+      save_offset1 = md->offset_vector[offset];
+      save_offset2 = md->offset_vector[offset+1];
+      save_offset3 = md->offset_vector[md->offset_end - number];
+      save_capture_last = md->capture_last;
 
       DPRINTF(("saving %d %d %d\n", save_offset1, save_offset2, save_offset3));
       md->offset_vector[md->offset_end - number] = eptr - md->start_subject;
 
       do
         {
-        if ((rrc = match(eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims,
-              eptrb, match_isgroup)) != MATCH_NOMATCH) return rrc;
+        RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb,
+          match_isgroup);
+        if (rrc != MATCH_NOMATCH) RRETURN(rrc);
         md->capture_last = save_capture_last;
         ecode += GET(ecode, 1);
         }
@@ -5126,7 +5686,7 @@ for (;;)
       md->offset_vector[offset+1] = save_offset2;
       md->offset_vector[md->offset_end - number] = save_offset3;
 
-      return MATCH_NOMATCH;
+      RRETURN(MATCH_NOMATCH);
       }
 
     /* Insufficient room for saving captured contents */
@@ -5142,13 +5702,14 @@ for (;;)
     DPRINTF(("start bracket 0\n"));
     do
       {
-      if ((rrc = match(eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb,
-        match_isgroup)) != MATCH_NOMATCH) return rrc;
+      RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb,
+        match_isgroup);
+      if (rrc != MATCH_NOMATCH) RRETURN(rrc);
       ecode += GET(ecode, 1);
       }
     while (*ecode == OP_ALT);
     DPRINTF(("bracket 0 failed\n"));
-    return MATCH_NOMATCH;
+    RRETURN(MATCH_NOMATCH);
 
     /* Conditional group: compilation checked that there are no more than
     two branches. If the condition is false, skipping the first branch takes us
@@ -5158,13 +5719,14 @@ for (;;)
     case OP_COND:
     if (ecode[LINK_SIZE+1] == OP_CREF) /* Condition extract or recurse test */
       {
-      int offset = GET2(ecode, LINK_SIZE+2) << 1;  /* Doubled ref number */
-      BOOL condition = (offset == CREF_RECURSE * 2)?
+      offset = GET2(ecode, LINK_SIZE+2) << 1;  /* Doubled ref number */
+      condition = (offset == CREF_RECURSE * 2)?
         (md->recursive != NULL) :
         (offset < offset_top && md->offset_vector[offset] >= 0);
-      return match(eptr, ecode + (condition?
+      RMATCH(rrc, eptr, ecode + (condition?
         (LINK_SIZE + 4) : (LINK_SIZE + 1 + GET(ecode, 1))),
         offset_top, md, ims, eptrb, match_isgroup);
+      RRETURN(rrc);
       }
 
     /* The condition is an assertion. Call match() to evaluate it - setting
@@ -5172,16 +5734,21 @@ for (;;)
 
     else
       {
-      if ((rrc = match(eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL,
-          match_condassert | match_isgroup)) == MATCH_MATCH)
+      RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL,
+          match_condassert | match_isgroup);
+      if (rrc == MATCH_MATCH)
         {
         ecode += 1 + LINK_SIZE + GET(ecode, LINK_SIZE+2);
         while (*ecode == OP_ALT) ecode += GET(ecode, 1);
         }
-      else if (rrc != MATCH_NOMATCH) return rrc;
+      else if (rrc != MATCH_NOMATCH)
+        {
+        RRETURN(rrc);         /* Need braces because of following else */
+        }
       else ecode += GET(ecode, 1);
-      return match(eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb,
+      RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb,
         match_isgroup);
+      RRETURN(rrc);
       }
     /* Control never reaches here */
 
@@ -5201,7 +5768,7 @@ for (;;)
       {
       recursion_info *rec = md->recursive;
       DPRINTF(("Hit the end in a (?0) recursion\n"));
-      md->recursive = rec->prev;
+      md->recursive = rec->prevrec;
       memmove(md->offset_vector, rec->offset_save,
         rec->saved_max * sizeof(int));
       md->start_match = rec->save_start;
@@ -5213,10 +5780,10 @@ for (;;)
     /* Otherwise, if PCRE_NOTEMPTY is set, fail if we have matched an empty
     string - backtracking will then try other alternatives, if any. */
 
-    if (md->notempty && eptr == md->start_match) return MATCH_NOMATCH;
+    if (md->notempty && eptr == md->start_match) RRETURN(MATCH_NOMATCH);
     md->end_match_ptr = eptr;          /* Record where we ended */
     md->end_offset_top = offset_top;   /* and how many extracts were taken */
-    return MATCH_MATCH;
+    RRETURN(MATCH_MATCH);
 
     /* Change option settings */
 
@@ -5236,17 +5803,18 @@ for (;;)
     case OP_ASSERTBACK:
     do
       {
-      if ((rrc = match(eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL,
-        match_isgroup)) == MATCH_MATCH) break;
-      if (rrc != MATCH_NOMATCH) return rrc;
+      RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL,
+        match_isgroup);
+      if (rrc == MATCH_MATCH) break;
+      if (rrc != MATCH_NOMATCH) RRETURN(rrc);
       ecode += GET(ecode, 1);
       }
     while (*ecode == OP_ALT);
-    if (*ecode == OP_KET) return MATCH_NOMATCH;
+    if (*ecode == OP_KET) RRETURN(MATCH_NOMATCH);
 
     /* If checking an assertion for a condition, return MATCH_MATCH. */
 
-    if ((flags & match_condassert) != 0) return MATCH_MATCH;
+    if ((flags & match_condassert) != 0) RRETURN(MATCH_MATCH);
 
     /* Continue from after the assertion, updating the offsets high water
     mark, since extracts may have been taken during the assertion. */
@@ -5262,14 +5830,15 @@ for (;;)
     case OP_ASSERTBACK_NOT:
     do
       {
-      if ((rrc = match(eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL,
-        match_isgroup)) == MATCH_MATCH) return MATCH_NOMATCH;
-      if (rrc != MATCH_NOMATCH) return rrc;
+      RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL,
+        match_isgroup);
+      if (rrc == MATCH_MATCH) RRETURN(MATCH_NOMATCH);
+      if (rrc != MATCH_NOMATCH) RRETURN(rrc);
       ecode += GET(ecode,1);
       }
     while (*ecode == OP_ALT);
 
-    if ((flags & match_condassert) != 0) return MATCH_MATCH;
+    if ((flags & match_condassert) != 0) RRETURN(MATCH_MATCH);
 
     ecode += 1 + LINK_SIZE;
     continue;
@@ -5287,7 +5856,7 @@ for (;;)
       for (i = 0; i < c; i++)
         {
         eptr--;
-        if (eptr < md->start_subject) return MATCH_NOMATCH;
+        if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH);
         BACKCHAR(eptr)
         }
       }
@@ -5298,7 +5867,7 @@ for (;;)
 
       {
       eptr -= GET(ecode,1);
-      if (eptr < md->start_subject) return MATCH_NOMATCH;
+      if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH);
       }
 
     /* Skip to next op code */
@@ -5324,16 +5893,15 @@ for (;;)
       cb.capture_top      = offset_top/2;
       cb.capture_last     = md->capture_last;
       cb.callout_data     = md->callout_data;
-      if ((rrc = (*pcre_callout)(&cb)) > 0) return MATCH_NOMATCH;
-      if (rrc < 0) return rrc;
+      if ((rrc = (*pcre_callout)(&cb)) > 0) RRETURN(MATCH_NOMATCH);
+      if (rrc < 0) RRETURN(rrc);
       }
     ecode += 2;
     break;
 
     /* Recursion either matches the current regex, or some subexpression. The
     offset data is the offset to the starting bracket from the start of the
-    whole pattern. However, it is possible that a BRAZERO was inserted before
-    this bracket after we took the offset - we just skip it if encountered.
+    whole pattern. (This is so that it works from duplicated subpatterns.)
 
     If there are any capturing brackets started but not finished, we have to
     save their starting points and reinstate them after the recursion. However,
@@ -5352,12 +5920,7 @@ for (;;)
 
     case OP_RECURSE:
       {
-      int stacksave[REC_STACK_SAVE_MAX];
-      recursion_info new_recursive;
-      const uschar *callpat = md->start_code + GET(ecode, 1);
-
-      if (*callpat == OP_BRAZERO) callpat++;
-
+      callpat = md->start_code + GET(ecode, 1);
       new_recursive.group_num = *callpat - OP_BRA;
 
       /* For extended extraction brackets (large number), we have to fish out
@@ -5368,7 +5931,7 @@ for (;;)
 
       /* Add to "recursing stack" */
 
-      new_recursive.prev = md->recursive;
+      new_recursive.prevrec = md->recursive;
       md->recursive = &new_recursive;
 
       /* Find where to continue from afterwards */
@@ -5385,7 +5948,7 @@ for (;;)
         {
         new_recursive.offset_save =
           (int *)(pcre_malloc)(new_recursive.saved_max * sizeof(int));
-        if (new_recursive.offset_save == NULL) return PCRE_ERROR_NOMEMORY;
+        if (new_recursive.offset_save == NULL) RRETURN(PCRE_ERROR_NOMEMORY);
         }
 
       memcpy(new_recursive.offset_save, md->offset_vector,
@@ -5399,15 +5962,16 @@ for (;;)
       DPRINTF(("Recursing into group %d\n", new_recursive.group_num));
       do
         {
-        if ((rrc = match(eptr, callpat + 1 + LINK_SIZE, offset_top, md, ims,
-            eptrb, match_isgroup)) == MATCH_MATCH)
+        RMATCH(rrc, eptr, callpat + 1 + LINK_SIZE, offset_top, md, ims,
+            eptrb, match_isgroup);
+        if (rrc == MATCH_MATCH)
           {
-          md->recursive = new_recursive.prev;
+          md->recursive = new_recursive.prevrec;
           if (new_recursive.offset_save != stacksave)
             (pcre_free)(new_recursive.offset_save);
-          return MATCH_MATCH;
+          RRETURN(MATCH_MATCH);
           }
-        else if (rrc != MATCH_NOMATCH) return rrc;
+        else if (rrc != MATCH_NOMATCH) RRETURN(rrc);
 
         md->recursive = &new_recursive;
         memcpy(md->offset_vector, new_recursive.offset_save,
@@ -5417,10 +5981,10 @@ for (;;)
       while (*callpat == OP_ALT);
 
       DPRINTF(("Recursion didn't match\n"));
-      md->recursive = new_recursive.prev;
+      md->recursive = new_recursive.prevrec;
       if (new_recursive.offset_save != stacksave)
         (pcre_free)(new_recursive.offset_save);
-      return MATCH_NOMATCH;
+      RRETURN(MATCH_NOMATCH);
       }
     /* Control never reaches here */
 
@@ -5433,21 +5997,22 @@ for (;;)
 
     case OP_ONCE:
       {
-      const uschar *prev = ecode;
-      const uschar *saved_eptr = eptr;
+      prev = ecode;
+      saved_eptr = eptr;
 
       do
         {
-        if ((rrc = match(eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims,
-          eptrb, match_isgroup)) == MATCH_MATCH) break;
-        if (rrc != MATCH_NOMATCH) return rrc;
+        RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims,
+          eptrb, match_isgroup);
+        if (rrc == MATCH_MATCH) break;
+        if (rrc != MATCH_NOMATCH) RRETURN(rrc);
         ecode += GET(ecode,1);
         }
       while (*ecode == OP_ALT);
 
       /* If hit the end of the group (which could be repeated), fail */
 
-      if (*ecode != OP_ONCE && *ecode != OP_ALT) return MATCH_NOMATCH;
+      if (*ecode != OP_ONCE && *ecode != OP_ALT) RRETURN(MATCH_NOMATCH);
 
       /* Continue as from after the assertion, updating the offsets high water
       mark, since extracts may have been taken. */
@@ -5482,20 +6047,20 @@ for (;;)
 
       if (*ecode == OP_KETRMIN)
         {
-        if ((rrc = match(eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims,
-             eptrb, 0)) != MATCH_NOMATCH) return rrc;
-        if ((rrc = match(eptr, prev, offset_top, md, ims, eptrb,
-             match_isgroup)) != MATCH_NOMATCH) return rrc;
+        RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb, 0);
+        if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+        RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup);
+        if (rrc != MATCH_NOMATCH) RRETURN(rrc);
         }
       else  /* OP_KETRMAX */
         {
-        if ((rrc = match(eptr, prev, offset_top, md, ims, eptrb,
-             match_isgroup)) != MATCH_NOMATCH) return rrc;
-        if ((rrc = match(eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb,
-             0)) != MATCH_NOMATCH) return rrc;
+        RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup);
+        if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+        RMATCH(rrc, eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb, 0);
+        if (rrc != MATCH_NOMATCH) RRETURN(rrc);
         }
       }
-    return MATCH_NOMATCH;
+    RRETURN(MATCH_NOMATCH);
 
     /* An alternation is the end of a branch; scan along to find the end of the
     bracketed group and go to there. */
@@ -5512,9 +6077,9 @@ for (;;)
 
     case OP_BRAZERO:
       {
-      const uschar *next = ecode+1;
-      if ((rrc = match(eptr, next, offset_top, md, ims, eptrb, match_isgroup))
-           != MATCH_NOMATCH) return rrc;
+      next = ecode+1;
+      RMATCH(rrc, eptr, next, offset_top, md, ims, eptrb, match_isgroup);
+      if (rrc != MATCH_NOMATCH) RRETURN(rrc);
       do next += GET(next,1); while (*next == OP_ALT);
       ecode = next + 1+LINK_SIZE;
       }
@@ -5522,10 +6087,11 @@ for (;;)
 
     case OP_BRAMINZERO:
       {
-      const uschar *next = ecode+1;
+      next = ecode+1;
       do next += GET(next,1); while (*next == OP_ALT);
-      if ((rrc = match(eptr, next + 1+LINK_SIZE, offset_top, md, ims, eptrb,
-        match_isgroup)) != MATCH_NOMATCH) return rrc;
+      RMATCH(rrc, eptr, next + 1+LINK_SIZE, offset_top, md, ims, eptrb,
+        match_isgroup);
+      if (rrc != MATCH_NOMATCH) RRETURN(rrc);
       ecode++;
       }
     break;
@@ -5539,10 +6105,12 @@ for (;;)
     case OP_KETRMIN:
     case OP_KETRMAX:
       {
-      const uschar *prev = ecode - GET(ecode, 1);
-      const uschar *saved_eptr = eptrb->saved_eptr;
+      prev = ecode - GET(ecode, 1);
+      saved_eptr = eptrb->epb_saved_eptr;
+
+      /* Back up the stack of bracket start pointers. */
 
-      eptrb = eptrb->prev;    /* Back up the stack of bracket start pointers */
+      eptrb = eptrb->epb_prev;
 
       if (*prev == OP_ASSERT || *prev == OP_ASSERT_NOT ||
           *prev == OP_ASSERTBACK || *prev == OP_ASSERTBACK_NOT ||
@@ -5550,7 +6118,7 @@ for (;;)
         {
         md->end_match_ptr = eptr;      /* For ONCE */
         md->end_offset_top = offset_top;
-        return MATCH_MATCH;
+        RRETURN(MATCH_MATCH);
         }
 
       /* In all other cases except a conditional group we have to check the
@@ -5559,8 +6127,7 @@ for (;;)
 
       if (*prev != OP_COND)
         {
-        int offset;
-        int number = *prev - OP_BRA;
+        number = *prev - OP_BRA;
 
         /* For extended extraction brackets (large number), we have to fish out
         the number from a dummy opcode at the start. */
@@ -5596,7 +6163,7 @@ for (;;)
             {
             recursion_info *rec = md->recursive;
             DPRINTF(("Recursion (%d) succeeded - continuing\n", number));
-            md->recursive = rec->prev;
+            md->recursive = rec->prevrec;
             md->start_match = rec->save_start;
             memcpy(md->offset_vector, rec->offset_save,
               rec->saved_max * sizeof(int));
@@ -5630,29 +6197,30 @@ for (;;)
 
       if (*ecode == OP_KETRMIN)
         {
-        if ((rrc = match(eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb,
-             0)) != MATCH_NOMATCH) return rrc;
-        if ((rrc = match(eptr, prev, offset_top, md, ims, eptrb,
-             match_isgroup)) != MATCH_NOMATCH) return rrc;
+        RMATCH(rrc, eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb, 0);
+        if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+        RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup);
+        if (rrc != MATCH_NOMATCH) RRETURN(rrc);
         }
       else  /* OP_KETRMAX */
         {
-        if ((rrc = match(eptr, prev, offset_top, md, ims, eptrb,
-             match_isgroup)) != MATCH_NOMATCH) return rrc;
-        if ((rrc = match(eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb,
-             0)) != MATCH_NOMATCH) return rrc;
+        RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup);
+        if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+        RMATCH(rrc, eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb, 0);
+        if (rrc != MATCH_NOMATCH) RRETURN(rrc);
         }
       }
-    return MATCH_NOMATCH;
+
+    RRETURN(MATCH_NOMATCH);
 
     /* Start of subject unless notbol, or after internal newline if multiline */
 
     case OP_CIRC:
-    if (md->notbol && eptr == md->start_subject) return MATCH_NOMATCH;
+    if (md->notbol && eptr == md->start_subject) RRETURN(MATCH_NOMATCH);
     if ((ims & PCRE_MULTILINE) != 0)
       {
       if (eptr != md->start_subject && eptr[-1] != NEWLINE)
-        return MATCH_NOMATCH;
+        RRETURN(MATCH_NOMATCH);
       ecode++;
       break;
       }
@@ -5661,14 +6229,14 @@ for (;;)
     /* Start of subject assertion */
 
     case OP_SOD:
-    if (eptr != md->start_subject) return MATCH_NOMATCH;
+    if (eptr != md->start_subject) RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
     /* Start of match assertion */
 
     case OP_SOM:
-    if (eptr != md->start_subject + md->start_offset) return MATCH_NOMATCH;
+    if (eptr != md->start_subject + md->start_offset) RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
@@ -5679,20 +6247,20 @@ for (;;)
     if ((ims & PCRE_MULTILINE) != 0)
       {
       if (eptr < md->end_subject)
-        { if (*eptr != NEWLINE) return MATCH_NOMATCH; }
+        { if (*eptr != NEWLINE) RRETURN(MATCH_NOMATCH); }
       else
-        { if (md->noteol) return MATCH_NOMATCH; }
+        { if (md->noteol) RRETURN(MATCH_NOMATCH); }
       ecode++;
       break;
       }
     else
       {
-      if (md->noteol) return MATCH_NOMATCH;
+      if (md->noteol) RRETURN(MATCH_NOMATCH);
       if (!md->endonly)
         {
         if (eptr < md->end_subject - 1 ||
            (eptr == md->end_subject - 1 && *eptr != NEWLINE))
-          return MATCH_NOMATCH;
+          RRETURN(MATCH_NOMATCH);
         ecode++;
         break;
         }
@@ -5702,7 +6270,7 @@ for (;;)
     /* End of subject assertion (\z) */
 
     case OP_EOD:
-    if (eptr < md->end_subject) return MATCH_NOMATCH;
+    if (eptr < md->end_subject) RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
@@ -5710,7 +6278,7 @@ for (;;)
 
     case OP_EODN:
     if (eptr < md->end_subject - 1 ||
-       (eptr == md->end_subject - 1 && *eptr != NEWLINE)) return MATCH_NOMATCH;
+       (eptr == md->end_subject - 1 && *eptr != NEWLINE)) RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
@@ -5719,7 +6287,6 @@ for (;;)
     case OP_NOT_WORD_BOUNDARY:
     case OP_WORD_BOUNDARY:
       {
-      BOOL prev_is_word, cur_is_word;
 
       /* Find out if the previous and current characters are "word" characters.
       It takes a bit more work in UTF-8 mode. Characters > 255 are assumed to
@@ -5730,7 +6297,7 @@ for (;;)
         {
         if (eptr == md->start_subject) prev_is_word = FALSE; else
           {
-          const uschar *lastptr = eptr - 1;
+          lastptr = eptr - 1;
           while((*lastptr & 0xc0) == 0x80) lastptr--;
           GETCHAR(c, lastptr);
           prev_is_word = c < 256 && (md->ctypes[c] & ctype_word) != 0;
@@ -5757,7 +6324,7 @@ for (;;)
 
       if ((*ecode++ == OP_WORD_BOUNDARY)?
            cur_is_word == prev_is_word : cur_is_word != prev_is_word)
-        return MATCH_NOMATCH;
+        RRETURN(MATCH_NOMATCH);
       }
     break;
 
@@ -5765,8 +6332,8 @@ for (;;)
 
     case OP_ANY:
     if ((ims & PCRE_DOTALL) == 0 && eptr < md->end_subject && *eptr == NEWLINE)
-      return MATCH_NOMATCH;
-    if (eptr++ >= md->end_subject) return MATCH_NOMATCH;
+      RRETURN(MATCH_NOMATCH);
+    if (eptr++ >= md->end_subject) RRETURN(MATCH_NOMATCH);
 #ifdef SUPPORT_UTF8
     if (md->utf8)
       while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++;
@@ -5778,12 +6345,12 @@ for (;;)
     any byte, even newline, independent of the setting of PCRE_DOTALL. */
 
     case OP_ANYBYTE:
-    if (eptr++ >= md->end_subject) return MATCH_NOMATCH;
+    if (eptr++ >= md->end_subject) RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
     case OP_NOT_DIGIT:
-    if (eptr >= md->end_subject) return MATCH_NOMATCH;
+    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
     GETCHARINCTEST(c, eptr);
     if (
 #ifdef SUPPORT_UTF8
@@ -5791,12 +6358,12 @@ for (;;)
 #endif
        (md->ctypes[c] & ctype_digit) != 0
        )
-      return MATCH_NOMATCH;
+      RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
     case OP_DIGIT:
-    if (eptr >= md->end_subject) return MATCH_NOMATCH;
+    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
     GETCHARINCTEST(c, eptr);
     if (
 #ifdef SUPPORT_UTF8
@@ -5804,12 +6371,12 @@ for (;;)
 #endif
        (md->ctypes[c] & ctype_digit) == 0
        )
-      return MATCH_NOMATCH;
+      RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
     case OP_NOT_WHITESPACE:
-    if (eptr >= md->end_subject) return MATCH_NOMATCH;
+    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
     GETCHARINCTEST(c, eptr);
     if (
 #ifdef SUPPORT_UTF8
@@ -5817,12 +6384,12 @@ for (;;)
 #endif
        (md->ctypes[c] & ctype_space) != 0
        )
-      return MATCH_NOMATCH;
+      RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
     case OP_WHITESPACE:
-    if (eptr >= md->end_subject) return MATCH_NOMATCH;
+    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
     GETCHARINCTEST(c, eptr);
     if (
 #ifdef SUPPORT_UTF8
@@ -5830,12 +6397,12 @@ for (;;)
 #endif
        (md->ctypes[c] & ctype_space) == 0
        )
-      return MATCH_NOMATCH;
+      RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
     case OP_NOT_WORDCHAR:
-    if (eptr >= md->end_subject) return MATCH_NOMATCH;
+    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
     GETCHARINCTEST(c, eptr);
     if (
 #ifdef SUPPORT_UTF8
@@ -5843,12 +6410,12 @@ for (;;)
 #endif
        (md->ctypes[c] & ctype_word) != 0
        )
-      return MATCH_NOMATCH;
+      RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
     case OP_WORDCHAR:
-    if (eptr >= md->end_subject) return MATCH_NOMATCH;
+    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
     GETCHARINCTEST(c, eptr);
     if (
 #ifdef SUPPORT_UTF8
@@ -5856,7 +6423,7 @@ for (;;)
 #endif
        (md->ctypes[c] & ctype_word) == 0
        )
-      return MATCH_NOMATCH;
+      RRETURN(MATCH_NOMATCH);
     ecode++;
     break;
 
@@ -5870,8 +6437,7 @@ for (;;)
 
     case OP_REF:
       {
-      int length;
-      int offset = GET2(ecode, 1) << 1;               /* Doubled ref number */
+      offset = GET2(ecode, 1) << 1;               /* Doubled ref number */
       ecode += 3;                                     /* Advance past item */
 
       /* If the reference is unset, set the length to be longer than the amount
@@ -5910,7 +6476,7 @@ for (;;)
         break;
 
         default:               /* No repeat follows */
-        if (!match_ref(offset, eptr, length, md, ims)) return MATCH_NOMATCH;
+        if (!match_ref(offset, eptr, length, md, ims)) RRETURN(MATCH_NOMATCH);
         eptr += length;
         continue;              /* With the main loop */
         }
@@ -5926,7 +6492,7 @@ for (;;)
 
       for (i = 1; i <= min; i++)
         {
-        if (!match_ref(offset, eptr, length, md, ims)) return MATCH_NOMATCH;
+        if (!match_ref(offset, eptr, length, md, ims)) RRETURN(MATCH_NOMATCH);
         eptr += length;
         }
 
@@ -5939,12 +6505,12 @@ for (;;)
 
       if (minimize)
         {
-        for (i = min;; i++)
+        for (fi = min;; fi++)
           {
-          if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
-          if (i >= max || !match_ref(offset, eptr, length, md, ims))
-            return MATCH_NOMATCH;
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+          if (fi >= max || !match_ref(offset, eptr, length, md, ims))
+            RRETURN(MATCH_NOMATCH);
           eptr += length;
           }
         /* Control never gets here */
@@ -5954,7 +6520,7 @@ for (;;)
 
       else
         {
-        const uschar *pp = eptr;
+        pp = eptr;
         for (i = min; i < max; i++)
           {
           if (!match_ref(offset, eptr, length, md, ims)) break;
@@ -5962,11 +6528,11 @@ for (;;)
           }
         while (eptr >= pp)
           {
-          if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
           eptr -= length;
           }
-        return MATCH_NOMATCH;
+        RRETURN(MATCH_NOMATCH);
         }
       }
     /* Control never gets here */
@@ -5985,7 +6551,7 @@ for (;;)
     case OP_NCLASS:
     case OP_CLASS:
       {
-      const uschar *data = ecode + 1;  /* Save for matching */
+      data = ecode + 1;                /* Save for matching */
       ecode += 33;                     /* Advance past the item */
 
       switch (*ecode)
@@ -6025,15 +6591,15 @@ for (;;)
         {
         for (i = 1; i <= min; i++)
           {
-          if (eptr >= md->end_subject) return MATCH_NOMATCH;
+          if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
           GETCHARINC(c, eptr);
           if (c > 255)
             {
-            if (op == OP_CLASS) return MATCH_NOMATCH;
+            if (op == OP_CLASS) RRETURN(MATCH_NOMATCH);
             }
           else
             {
-            if ((data[c/8] & (1 << (c&7))) == 0) return MATCH_NOMATCH;
+            if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH);
             }
           }
         }
@@ -6043,9 +6609,9 @@ for (;;)
         {
         for (i = 1; i <= min; i++)
           {
-          if (eptr >= md->end_subject) return MATCH_NOMATCH;
+          if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
           c = *eptr++;
-          if ((data[c/8] & (1 << (c&7))) == 0) return MATCH_NOMATCH;
+          if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH);
           }
         }
 
@@ -6063,19 +6629,19 @@ for (;;)
         /* UTF-8 mode */
         if (md->utf8)
           {
-          for (i = min;; i++)
+          for (fi = min;; fi++)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
-            if (i >= max || eptr >= md->end_subject) return MATCH_NOMATCH;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+            if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
             GETCHARINC(c, eptr);
             if (c > 255)
               {
-              if (op == OP_CLASS) return MATCH_NOMATCH;
+              if (op == OP_CLASS) RRETURN(MATCH_NOMATCH);
               }
             else
               {
-              if ((data[c/8] & (1 << (c&7))) == 0) return MATCH_NOMATCH;
+              if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH);
               }
             }
           }
@@ -6083,13 +6649,13 @@ for (;;)
 #endif
         /* Not UTF-8 mode */
           {
-          for (i = min;; i++)
+          for (fi = min;; fi++)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
-            if (i >= max || eptr >= md->end_subject) return MATCH_NOMATCH;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+            if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
             c = *eptr++;
-            if ((data[c/8] & (1 << (c&7))) == 0) return MATCH_NOMATCH;
+            if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH);
             }
           }
         /* Control never gets here */
@@ -6099,7 +6665,7 @@ for (;;)
 
       else
         {
-        const uschar *pp = eptr;
+        pp = eptr;
 
 #ifdef SUPPORT_UTF8
         /* UTF-8 mode */
@@ -6122,8 +6688,8 @@ for (;;)
             }
           for (;;)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
             if (eptr-- == pp) break;        /* Stop if tried at original pos */
             BACKCHAR(eptr);
             }
@@ -6141,12 +6707,13 @@ for (;;)
             }
           while (eptr >= pp)
             {
-            if ((rrc = match(eptr--, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            eptr--;
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
             }
           }
 
-        return MATCH_NOMATCH;
+        RRETURN(MATCH_NOMATCH);
         }
       }
     /* Control never gets here */
@@ -6158,7 +6725,7 @@ for (;;)
 #ifdef SUPPORT_UTF8
     case OP_XCLASS:
       {
-      const uschar *data = ecode + 1 + LINK_SIZE;  /* Save for matching */
+      data = ecode + 1 + LINK_SIZE;                /* Save for matching */
       ecode += GET(ecode, 1);                      /* Advance past the item */
 
       switch (*ecode)
@@ -6194,9 +6761,9 @@ for (;;)
 
       for (i = 1; i <= min; i++)
         {
-        if (eptr >= md->end_subject) return MATCH_NOMATCH;
+        if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
         GETCHARINC(c, eptr);
-        if (!match_xclass(c, data)) return MATCH_NOMATCH;
+        if (!match_xclass(c, data)) RRETURN(MATCH_NOMATCH);
         }
 
       /* If max == min we can continue with the main loop without the
@@ -6209,13 +6776,13 @@ for (;;)
 
       if (minimize)
         {
-        for (i = min;; i++)
+        for (fi = min;; fi++)
           {
-          if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
-          if (i >= max || eptr >= md->end_subject) return MATCH_NOMATCH;
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+          if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
           GETCHARINC(c, eptr);
-          if (!match_xclass(c, data)) return MATCH_NOMATCH;
+          if (!match_xclass(c, data)) RRETURN(MATCH_NOMATCH);
           }
         /* Control never gets here */
         }
@@ -6224,7 +6791,7 @@ for (;;)
 
       else
         {
-        const uschar *pp = eptr;
+        pp = eptr;
         for (i = min; i < max; i++)
           {
           int len = 1;
@@ -6235,12 +6802,12 @@ for (;;)
           }
         for(;;)
           {
-          if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
           if (eptr-- == pp) break;        /* Stop if tried at original pos */
           BACKCHAR(eptr)
           }
-        return MATCH_NOMATCH;
+        RRETURN(MATCH_NOMATCH);
         }
 
       /* Control never gets here */
@@ -6251,7 +6818,7 @@ for (;;)
 
     case OP_CHARS:
       {
-      register int length = ecode[1];
+      register int slen = ecode[1];
       ecode += 2;
 
 #ifdef DEBUG    /* Sigh. Some compilers never learn. */
@@ -6260,23 +6827,23 @@ for (;;)
       else
         {
         printf("matching subject ");
-        pchars(eptr, length, TRUE, md);
+        pchars(eptr, slen, TRUE, md);
         printf(" against pattern ");
         }
-      pchars(ecode, length, FALSE, md);
+      pchars(ecode, slen, FALSE, md);
       printf("\n");
 #endif
 
-      if (length > md->end_subject - eptr) return MATCH_NOMATCH;
+      if (slen > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);
       if ((ims & PCRE_CASELESS) != 0)
         {
-        while (length-- > 0)
+        while (slen-- > 0)
           if (md->lcc[*ecode++] != md->lcc[*eptr++])
-            return MATCH_NOMATCH;
+            RRETURN(MATCH_NOMATCH);
         }
       else
         {
-        while (length-- > 0) if (*ecode++ != *eptr++) return MATCH_NOMATCH;
+        while (slen-- > 0) if (*ecode++ != *eptr++) RRETURN(MATCH_NOMATCH);
         }
       }
     break;
@@ -6316,74 +6883,74 @@ for (;;)
 #ifdef SUPPORT_UTF8
     if (md->utf8)
       {
-      int len = 1;
-      const uschar *charptr = ecode;
-      GETCHARLEN(c, ecode, len);
-      if (min * len > md->end_subject - eptr) return MATCH_NOMATCH;
-      ecode += len;
+      length = 1;
+      charptr = ecode;
+      GETCHARLEN(fc, ecode, length);
+      if (min * length > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);
+      ecode += length;
 
       /* Handle multibyte character matching specially here. There is no
       support for any kind of casing for multibyte characters. */
 
-      if (len > 1)
+      if (length > 1)
         {
         for (i = 1; i <= min; i++)
           {
-          if (memcmp(eptr, charptr, len) != 0) return MATCH_NOMATCH;
-          eptr += len;
+          if (memcmp(eptr, charptr, length) != 0) RRETURN(MATCH_NOMATCH);
+          eptr += length;
           }
 
         if (min == max) continue;
 
         if (minimize)
           {
-          for (i = min;; i++)
+          for (fi = min;; fi++)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
-            if (i >= max ||
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+            if (fi >= max ||
                 eptr >= md->end_subject ||
-                memcmp(eptr, charptr, len) != 0)
-              return MATCH_NOMATCH;
-            eptr += len;
+                memcmp(eptr, charptr, length) != 0)
+              RRETURN(MATCH_NOMATCH);
+            eptr += length;
             }
           /* Control never gets here */
           }
         else
           {
-          const uschar *pp = eptr;
+          pp = eptr;
           for (i = min; i < max; i++)
             {
-            if (eptr > md->end_subject - len ||
-                memcmp(eptr, charptr, len) != 0)
+            if (eptr > md->end_subject - length ||
+                memcmp(eptr, charptr, length) != 0)
               break;
-            eptr += len;
+            eptr += length;
             }
           while (eptr >= pp)
            {
-           if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                MATCH_NOMATCH) return rrc;
-           eptr -= len;
+           RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+           if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+           eptr -= length;
            }
-          return MATCH_NOMATCH;
+          RRETURN(MATCH_NOMATCH);
           }
         /* Control never gets here */
         }
 
       /* If the length of a UTF-8 character is 1, we fall through here, and
       obey the code as for non-UTF-8 characters below, though in this case the
-      value of c will always be < 128. */
+      value of fc will always be < 128. */
       }
     else
 #endif
 
     /* When not in UTF-8 mode, load a single-byte character. */
       {
-      if (min > md->end_subject - eptr) return MATCH_NOMATCH;
-      c = *ecode++;
+      if (min > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);
+      fc = *ecode++;
       }
 
-    /* The value of c at this point is always less than 256, though we may or
+    /* The value of fc at this point is always less than 256, though we may or
     may not be in UTF-8 mode. The code is duplicated for the caseless and
     caseful cases, for speed, since matching characters is likely to be quite
     common. First, ensure the minimum number of matches are present. If min =
@@ -6392,39 +6959,42 @@ for (;;)
     matching character if failing, up to the maximum. Alternatively, if
     maximizing, find the maximum number of characters and work backwards. */
 
-    DPRINTF(("matching %c{%d,%d} against subject %.*s\n", c, min, max,
+    DPRINTF(("matching %c{%d,%d} against subject %.*s\n", fc, min, max,
       max, eptr));
 
     if ((ims & PCRE_CASELESS) != 0)
       {
-      c = md->lcc[c];
+      fc = md->lcc[fc];
       for (i = 1; i <= min; i++)
-        if (c != md->lcc[*eptr++]) return MATCH_NOMATCH;
+        if (fc != md->lcc[*eptr++]) RRETURN(MATCH_NOMATCH);
       if (min == max) continue;
       if (minimize)
         {
-        for (i = min;; i++)
+        for (fi = min;; fi++)
           {
-          if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
-          if (i >= max || eptr >= md->end_subject ||
-              c != md->lcc[*eptr++])
-            return MATCH_NOMATCH;
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+          if (fi >= max || eptr >= md->end_subject ||
+              fc != md->lcc[*eptr++])
+            RRETURN(MATCH_NOMATCH);
           }
         /* Control never gets here */
         }
       else
         {
-        const uschar *pp = eptr;
+        pp = eptr;
         for (i = min; i < max; i++)
           {
-          if (eptr >= md->end_subject || c != md->lcc[*eptr]) break;
+          if (eptr >= md->end_subject || fc != md->lcc[*eptr]) break;
           eptr++;
           }
         while (eptr >= pp)
-          if ((rrc = match(eptr--, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
-        return MATCH_NOMATCH;
+          {
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          eptr--;
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+          }
+        RRETURN(MATCH_NOMATCH);
         }
       /* Control never gets here */
       }
@@ -6433,31 +7003,34 @@ for (;;)
 
     else
       {
-      for (i = 1; i <= min; i++) if (c != *eptr++) return MATCH_NOMATCH;
+      for (i = 1; i <= min; i++) if (fc != *eptr++) RRETURN(MATCH_NOMATCH);
       if (min == max) continue;
       if (minimize)
         {
-        for (i = min;; i++)
+        for (fi = min;; fi++)
           {
-          if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
-          if (i >= max || eptr >= md->end_subject || c != *eptr++)
-            return MATCH_NOMATCH;
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+          if (fi >= max || eptr >= md->end_subject || fc != *eptr++)
+            RRETURN(MATCH_NOMATCH);
           }
         /* Control never gets here */
         }
       else
         {
-        const uschar *pp = eptr;
+        pp = eptr;
         for (i = min; i < max; i++)
           {
-          if (eptr >= md->end_subject || c != *eptr) break;
+          if (eptr >= md->end_subject || fc != *eptr) break;
           eptr++;
           }
         while (eptr >= pp)
-         if ((rrc = match(eptr--, ecode, offset_top, md, ims, eptrb, 0)) !=
-              MATCH_NOMATCH) return rrc;
-        return MATCH_NOMATCH;
+          {
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          eptr--;
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+          }
+        RRETURN(MATCH_NOMATCH);
         }
       }
     /* Control never gets here */
@@ -6466,7 +7039,7 @@ for (;;)
     checking can be multibyte. */
 
     case OP_NOT:
-    if (eptr >= md->end_subject) return MATCH_NOMATCH;
+    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
     ecode++;
     GETCHARINCTEST(c, eptr);
     if ((ims & PCRE_CASELESS) != 0)
@@ -6475,11 +7048,11 @@ for (;;)
       if (c < 256)
 #endif
       c = md->lcc[c];
-      if (md->lcc[*ecode++] == c) return MATCH_NOMATCH;
+      if (md->lcc[*ecode++] == c) RRETURN(MATCH_NOMATCH);
       }
     else
       {
-      if (*ecode++ == c) return MATCH_NOMATCH;
+      if (*ecode++ == c) RRETURN(MATCH_NOMATCH);
       }
     break;
 
@@ -6520,8 +7093,8 @@ for (;;)
     characters left in the subject. */
 
     REPEATNOTCHAR:
-    if (min > md->end_subject - eptr) return MATCH_NOMATCH;
-    c = *ecode++;
+    if (min > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);
+    fc = *ecode++;
 
     /* The code is duplicated for the caseless and caseful cases, for speed,
     since matching characters is likely to be quite common. First, ensure the
@@ -6531,12 +7104,12 @@ for (;;)
     maximum. Alternatively, if maximizing, find the maximum number of
     characters and work backwards. */
 
-    DPRINTF(("negative matching %c{%d,%d} against subject %.*s\n", c, min, max,
+    DPRINTF(("negative matching %c{%d,%d} against subject %.*s\n", fc, min, max,
       max, eptr));
 
     if ((ims & PCRE_CASELESS) != 0)
       {
-      c = md->lcc[c];
+      fc = md->lcc[fc];
 
 #ifdef SUPPORT_UTF8
       /* UTF-8 mode */
@@ -6547,7 +7120,7 @@ for (;;)
           {
           GETCHARINC(d, eptr);
           if (d < 256) d = md->lcc[d];
-          if (c == d) return MATCH_NOMATCH;
+          if (fc == d) RRETURN(MATCH_NOMATCH);
           }
         }
       else
@@ -6556,7 +7129,7 @@ for (;;)
       /* Not UTF-8 mode */
         {
         for (i = 1; i <= min; i++)
-          if (c == md->lcc[*eptr++]) return MATCH_NOMATCH;
+          if (fc == md->lcc[*eptr++]) RRETURN(MATCH_NOMATCH);
         }
 
       if (min == max) continue;
@@ -6568,26 +7141,26 @@ for (;;)
         if (md->utf8)
           {
           register int d;
-          for (i = min;; i++)
+          for (fi = min;; fi++)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
             GETCHARINC(d, eptr);
             if (d < 256) d = md->lcc[d];
-            if (i >= max || eptr >= md->end_subject || c == d)
-              return MATCH_NOMATCH;
+            if (fi >= max || eptr >= md->end_subject || fc == d)
+              RRETURN(MATCH_NOMATCH);
             }
           }
         else
 #endif
         /* Not UTF-8 mode */
           {
-          for (i = min;; i++)
+          for (fi = min;; fi++)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
-            if (i >= max || eptr >= md->end_subject || c == md->lcc[*eptr++])
-              return MATCH_NOMATCH;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+            if (fi >= max || eptr >= md->end_subject || fc == md->lcc[*eptr++])
+              RRETURN(MATCH_NOMATCH);
             }
           }
         /* Control never gets here */
@@ -6597,7 +7170,7 @@ for (;;)
 
       else
         {
-        const uschar *pp = eptr;
+        pp = eptr;
 
 #ifdef SUPPORT_UTF8
         /* UTF-8 mode */
@@ -6610,13 +7183,13 @@ for (;;)
             if (eptr >= md->end_subject) break;
             GETCHARLEN(d, eptr, len);
             if (d < 256) d = md->lcc[d];
-            if (c == d) break;
+            if (fc == d) break;
             eptr += len;
             }
           for(;;)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
             if (eptr-- == pp) break;        /* Stop if tried at original pos */
             BACKCHAR(eptr);
             }
@@ -6627,18 +7200,18 @@ for (;;)
           {
           for (i = min; i < max; i++)
             {
-            if (eptr >= md->end_subject || c == md->lcc[*eptr]) break;
+            if (eptr >= md->end_subject || fc == md->lcc[*eptr]) break;
             eptr++;
             }
           while (eptr >= pp)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
             eptr--;
             }
           }
 
-        return MATCH_NOMATCH;
+        RRETURN(MATCH_NOMATCH);
         }
       /* Control never gets here */
       }
@@ -6655,7 +7228,7 @@ for (;;)
         for (i = 1; i <= min; i++)
           {
           GETCHARINC(d, eptr);
-          if (c == d) return MATCH_NOMATCH;
+          if (fc == d) RRETURN(MATCH_NOMATCH);
           }
         }
       else
@@ -6663,7 +7236,7 @@ for (;;)
       /* Not UTF-8 mode */
         {
         for (i = 1; i <= min; i++)
-          if (c == *eptr++) return MATCH_NOMATCH;
+          if (fc == *eptr++) RRETURN(MATCH_NOMATCH);
         }
 
       if (min == max) continue;
@@ -6675,25 +7248,25 @@ for (;;)
         if (md->utf8)
           {
           register int d;
-          for (i = min;; i++)
+          for (fi = min;; fi++)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
             GETCHARINC(d, eptr);
-            if (i >= max || eptr >= md->end_subject || c == d)
-              return MATCH_NOMATCH;
+            if (fi >= max || eptr >= md->end_subject || fc == d)
+              RRETURN(MATCH_NOMATCH);
             }
           }
         else
 #endif
         /* Not UTF-8 mode */
           {
-          for (i = min;; i++)
+          for (fi = min;; fi++)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                 MATCH_NOMATCH) return rrc;
-            if (i >= max || eptr >= md->end_subject || c == *eptr++)
-              return MATCH_NOMATCH;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+            if (fi >= max || eptr >= md->end_subject || fc == *eptr++)
+              RRETURN(MATCH_NOMATCH);
             }
           }
         /* Control never gets here */
@@ -6703,7 +7276,7 @@ for (;;)
 
       else
         {
-        const uschar *pp = eptr;
+        pp = eptr;
 
 #ifdef SUPPORT_UTF8
         /* UTF-8 mode */
@@ -6715,13 +7288,13 @@ for (;;)
             int len = 1;
             if (eptr >= md->end_subject) break;
             GETCHARLEN(d, eptr, len);
-            if (c == d) break;
+            if (fc == d) break;
             eptr += len;
             }
           for(;;)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                MATCH_NOMATCH) return rrc;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
             if (eptr-- == pp) break;        /* Stop if tried at original pos */
             BACKCHAR(eptr);
             }
@@ -6732,18 +7305,18 @@ for (;;)
           {
           for (i = min; i < max; i++)
             {
-            if (eptr >= md->end_subject || c == *eptr) break;
+            if (eptr >= md->end_subject || fc == *eptr) break;
             eptr++;
             }
           while (eptr >= pp)
             {
-            if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-                MATCH_NOMATCH) return rrc;
+            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+            if (rrc != MATCH_NOMATCH) RRETURN(rrc);
             eptr--;
             }
           }
 
-        return MATCH_NOMATCH;
+        RRETURN(MATCH_NOMATCH);
         }
       }
     /* Control never gets here */
@@ -6792,7 +7365,7 @@ for (;;)
     UTF-8 mode, but it does no harm. Separate the UTF-8 code completely as that
     is tidier. */
 
-    if (min > md->end_subject - eptr) return MATCH_NOMATCH;
+    if (min > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);
     if (min > 0)
       {
 #ifdef SUPPORT_UTF8
@@ -6803,7 +7376,7 @@ for (;;)
           {
           if (eptr >= md->end_subject ||
              (*eptr++ == NEWLINE && (ims & PCRE_DOTALL) == 0))
-            return MATCH_NOMATCH;
+            RRETURN(MATCH_NOMATCH);
           while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++;
           }
         break;
@@ -6815,10 +7388,10 @@ for (;;)
         case OP_NOT_DIGIT:
         for (i = 1; i <= min; i++)
           {
-          if (eptr >= md->end_subject) return MATCH_NOMATCH;
+          if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
           GETCHARINC(c, eptr);
           if (c < 256 && (md->ctypes[c] & ctype_digit) != 0)
-            return MATCH_NOMATCH;
+            RRETURN(MATCH_NOMATCH);
           }
         break;
 
@@ -6827,7 +7400,7 @@ for (;;)
           {
           if (eptr >= md->end_subject ||
              *eptr >= 128 || (md->ctypes[*eptr++] & ctype_digit) == 0)
-            return MATCH_NOMATCH;
+            RRETURN(MATCH_NOMATCH);
           /* No need to skip more bytes - we know it's a 1-byte character */
           }
         break;
@@ -6837,7 +7410,7 @@ for (;;)
           {
           if (eptr >= md->end_subject ||
              (*eptr < 128 && (md->ctypes[*eptr++] & ctype_space) != 0))
-            return MATCH_NOMATCH;
+            RRETURN(MATCH_NOMATCH);
           while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++;
           }
         break;
@@ -6847,7 +7420,7 @@ for (;;)
           {
           if (eptr >= md->end_subject ||
              *eptr >= 128 || (md->ctypes[*eptr++] & ctype_space) == 0)
-            return MATCH_NOMATCH;
+            RRETURN(MATCH_NOMATCH);
           /* No need to skip more bytes - we know it's a 1-byte character */
           }
         break;
@@ -6857,7 +7430,7 @@ for (;;)
           {
           if (eptr >= md->end_subject ||
              (*eptr < 128 && (md->ctypes[*eptr++] & ctype_word) != 0))
-            return MATCH_NOMATCH;
+            RRETURN(MATCH_NOMATCH);
           while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++;
           }
         break;
@@ -6867,7 +7440,7 @@ for (;;)
           {
           if (eptr >= md->end_subject ||
              *eptr >= 128 || (md->ctypes[*eptr++] & ctype_word) == 0)
-            return MATCH_NOMATCH;
+            RRETURN(MATCH_NOMATCH);
           /* No need to skip more bytes - we know it's a 1-byte character */
           }
         break;
@@ -6883,7 +7456,7 @@ for (;;)
         if ((ims & PCRE_DOTALL) == 0)
           {
           for (i = 1; i <= min; i++)
-            if (*eptr++ == NEWLINE) return MATCH_NOMATCH;
+            if (*eptr++ == NEWLINE) RRETURN(MATCH_NOMATCH);
           }
         else eptr += min;
         break;
@@ -6894,34 +7467,34 @@ for (;;)
 
         case OP_NOT_DIGIT:
         for (i = 1; i <= min; i++)
-          if ((md->ctypes[*eptr++] & ctype_digit) != 0) return MATCH_NOMATCH;
+          if ((md->ctypes[*eptr++] & ctype_digit) != 0) RRETURN(MATCH_NOMATCH);
         break;
 
         case OP_DIGIT:
         for (i = 1; i <= min; i++)
-          if ((md->ctypes[*eptr++] & ctype_digit) == 0) return MATCH_NOMATCH;
+          if ((md->ctypes[*eptr++] & ctype_digit) == 0) RRETURN(MATCH_NOMATCH);
         break;
 
         case OP_NOT_WHITESPACE:
         for (i = 1; i <= min; i++)
-          if ((md->ctypes[*eptr++] & ctype_space) != 0) return MATCH_NOMATCH;
+          if ((md->ctypes[*eptr++] & ctype_space) != 0) RRETURN(MATCH_NOMATCH);
         break;
 
         case OP_WHITESPACE:
         for (i = 1; i <= min; i++)
-          if ((md->ctypes[*eptr++] & ctype_space) == 0) return MATCH_NOMATCH;
+          if ((md->ctypes[*eptr++] & ctype_space) == 0) RRETURN(MATCH_NOMATCH);
         break;
 
         case OP_NOT_WORDCHAR:
         for (i = 1; i <= min; i++)
           if ((md->ctypes[*eptr++] & ctype_word) != 0)
-            return MATCH_NOMATCH;
+            RRETURN(MATCH_NOMATCH);
         break;
 
         case OP_WORDCHAR:
         for (i = 1; i <= min; i++)
           if ((md->ctypes[*eptr++] & ctype_word) == 0)
-            return MATCH_NOMATCH;
+            RRETURN(MATCH_NOMATCH);
         break;
         }
       }
@@ -6939,17 +7512,17 @@ for (;;)
       /* UTF-8 mode */
       if (md->utf8)
         {
-        for (i = min;; i++)
+        for (fi = min;; fi++)
           {
-          if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
-          if (i >= max || eptr >= md->end_subject) return MATCH_NOMATCH;
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+          if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
 
           GETCHARINC(c, eptr);
           switch(ctype)
             {
             case OP_ANY:
-            if ((ims & PCRE_DOTALL) == 0 && c == NEWLINE) return MATCH_NOMATCH;
+            if ((ims & PCRE_DOTALL) == 0 && c == NEWLINE) RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_ANYBYTE:
@@ -6957,32 +7530,32 @@ for (;;)
 
             case OP_NOT_DIGIT:
             if (c < 256 && (md->ctypes[c] & ctype_digit) != 0)
-              return MATCH_NOMATCH;
+              RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_DIGIT:
             if (c >= 256 || (md->ctypes[c] & ctype_digit) == 0)
-              return MATCH_NOMATCH;
+              RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_NOT_WHITESPACE:
             if (c < 256 && (md->ctypes[c] & ctype_space) != 0)
-              return MATCH_NOMATCH;
+              RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_WHITESPACE:
             if  (c >= 256 || (md->ctypes[c] & ctype_space) == 0)
-              return MATCH_NOMATCH;
+              RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_NOT_WORDCHAR:
             if (c < 256 && (md->ctypes[c] & ctype_word) != 0)
-              return MATCH_NOMATCH;
+              RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_WORDCHAR:
             if (c >= 256 && (md->ctypes[c] & ctype_word) == 0)
-              return MATCH_NOMATCH;
+              RRETURN(MATCH_NOMATCH);
             break;
             }
           }
@@ -6991,43 +7564,43 @@ for (;;)
 #endif
       /* Not UTF-8 mode */
         {
-        for (i = min;; i++)
+        for (fi = min;; fi++)
           {
-          if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
-          if (i >= max || eptr >= md->end_subject) return MATCH_NOMATCH;
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
+          if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);
           c = *eptr++;
           switch(ctype)
             {
             case OP_ANY:
-            if ((ims & PCRE_DOTALL) == 0 && c == NEWLINE) return MATCH_NOMATCH;
+            if ((ims & PCRE_DOTALL) == 0 && c == NEWLINE) RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_ANYBYTE:
             break;
 
             case OP_NOT_DIGIT:
-            if ((md->ctypes[c] & ctype_digit) != 0) return MATCH_NOMATCH;
+            if ((md->ctypes[c] & ctype_digit) != 0) RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_DIGIT:
-            if ((md->ctypes[c] & ctype_digit) == 0) return MATCH_NOMATCH;
+            if ((md->ctypes[c] & ctype_digit) == 0) RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_NOT_WHITESPACE:
-            if ((md->ctypes[c] & ctype_space) != 0) return MATCH_NOMATCH;
+            if ((md->ctypes[c] & ctype_space) != 0) RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_WHITESPACE:
-            if  ((md->ctypes[c] & ctype_space) == 0) return MATCH_NOMATCH;
+            if  ((md->ctypes[c] & ctype_space) == 0) RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_NOT_WORDCHAR:
-            if ((md->ctypes[c] & ctype_word) != 0) return MATCH_NOMATCH;
+            if ((md->ctypes[c] & ctype_word) != 0) RRETURN(MATCH_NOMATCH);
             break;
 
             case OP_WORDCHAR:
-            if ((md->ctypes[c] & ctype_word) == 0) return MATCH_NOMATCH;
+            if ((md->ctypes[c] & ctype_word) == 0) RRETURN(MATCH_NOMATCH);
             break;
             }
           }
@@ -7041,7 +7614,7 @@ for (;;)
 
     else
       {
-      const uschar *pp = eptr;
+      pp = eptr;
 
 #ifdef SUPPORT_UTF8
       /* UTF-8 mode */
@@ -7178,8 +7751,8 @@ for (;;)
 
         for(;;)
           {
-          if ((rrc = match(eptr, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
           if (eptr-- == pp) break;        /* Stop if tried at original pos */
           BACKCHAR(eptr);
           }
@@ -7268,14 +7841,15 @@ for (;;)
 
         while (eptr >= pp)
           {
-          if ((rrc = match(eptr--, ecode, offset_top, md, ims, eptrb, 0)) !=
-               MATCH_NOMATCH) return rrc;
+          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);
+          eptr--;
+          if (rrc != MATCH_NOMATCH) RRETURN(rrc);
           }
         }
 
       /* Get here if we can't make it match with any permitted repetitions */
 
-      return MATCH_NOMATCH;
+      RRETURN(MATCH_NOMATCH);
       }
     /* Control never gets here */
 
@@ -7286,7 +7860,7 @@ for (;;)
 
     default:
     DPRINTF(("Unknown opcode %d\n", *ecode));
-    return PCRE_ERROR_UNKNOWN_NODE;
+    RRETURN(PCRE_ERROR_UNKNOWN_NODE);
     }
 
   /* Do not stick any code in here without much thought; it is assumed
@@ -7298,6 +7872,63 @@ for (;;)
 }
 
 
+/***************************************************************************
+****************************************************************************
+                   RECURSION IN THE match() FUNCTION
+
+Undefine all the macros that were defined above to handle this. */
+
+#ifdef NO_RECURSE
+#undef eptr
+#undef ecode
+#undef offset_top
+#undef ims
+#undef eptrb
+#undef flags
+
+#undef callpat
+#undef charptr
+#undef data
+#undef lastptr
+#undef next
+#undef pp
+#undef prev
+#undef saved_eptr
+
+#undef new_recursive
+
+#undef cur_is_word
+#undef condition
+#undef minimize
+#undef prev_is_word
+
+#undef original_ims
+
+#undef ctype
+#undef length
+#undef max
+#undef min
+#undef number
+#undef offset
+#undef op
+#undef save_capture_last
+#undef save_offset1
+#undef save_offset2
+#undef save_offset3
+#undef stacksave
+
+#undef newptrb
+
+#endif
+
+/* These two are defined as macros in both cases */
+
+#undef fc
+#undef fi
+
+/***************************************************************************
+***************************************************************************/
+
 
 
 /*************************************************
@@ -7324,7 +7955,7 @@ Returns:          > 0 => success; value 
                  < -1 => some kind of unexpected problem
 */
 
-int
+EXPORT int
 pcre_exec(const pcre *external_re, const pcre_extra *extra_data,
   const char *subject, int length, int start_offset, int options, int *offsets,
   int offsetcount)
@@ -7401,9 +8032,20 @@ match_block.ctypes = re->tables + ctypes
 back the character offset. */
 
 #ifdef SUPPORT_UTF8
-if (match_block.utf8 && (options & PCRE_NO_UTF8_CHECK) == 0 &&
-    valid_utf8((uschar *)subject, length) >= 0)
-  return PCRE_ERROR_BADUTF8;
+if (match_block.utf8 && (options & PCRE_NO_UTF8_CHECK) == 0)
+  {
+  if (valid_utf8((uschar *)subject, length) >= 0)
+    return PCRE_ERROR_BADUTF8;
+  if (start_offset > 0 && start_offset < length)
+    {
+    int tb = ((uschar *)subject)[start_offset];
+    if (tb > 127)
+      {
+      tb &= 0xc0;
+      if (tb != 0 && tb != 0xc0) return PCRE_ERROR_BADUTF8_OFFSET;
+      }
+    }
+  }
 #endif
 
 /* The ims options can vary during the matching as a result of the presence
diff -Nurp tin-1.7.2/pcre/pcre.in tin-1.7.3/pcre/pcre.in
--- tin-1.7.2/pcre/pcre.in	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/pcre.in	Sat Dec 13 13:29:52 2003
@@ -61,16 +61,17 @@ extern "C" {
 
 /* Exec-time and get/set-time error codes */
 
-#define PCRE_ERROR_NOMATCH        (-1)
-#define PCRE_ERROR_NULL           (-2)
-#define PCRE_ERROR_BADOPTION      (-3)
-#define PCRE_ERROR_BADMAGIC       (-4)
-#define PCRE_ERROR_UNKNOWN_NODE   (-5)
-#define PCRE_ERROR_NOMEMORY       (-6)
-#define PCRE_ERROR_NOSUBSTRING    (-7)
-#define PCRE_ERROR_MATCHLIMIT     (-8)
-#define PCRE_ERROR_CALLOUT        (-9)  /* Never used by PCRE itself */
-#define PCRE_ERROR_BADUTF8       (-10)
+#define PCRE_ERROR_NOMATCH         (-1)
+#define PCRE_ERROR_NULL            (-2)
+#define PCRE_ERROR_BADOPTION       (-3)
+#define PCRE_ERROR_BADMAGIC        (-4)
+#define PCRE_ERROR_UNKNOWN_NODE    (-5)
+#define PCRE_ERROR_NOMEMORY        (-6)
+#define PCRE_ERROR_NOSUBSTRING     (-7)
+#define PCRE_ERROR_MATCHLIMIT      (-8)
+#define PCRE_ERROR_CALLOUT         (-9)  /* Never used by PCRE itself */
+#define PCRE_ERROR_BADUTF8        (-10)
+#define PCRE_ERROR_BADUTF8_OFFSET (-11)
 
 /* Request types for pcre_fullinfo() */
 
@@ -94,6 +95,7 @@ extern "C" {
 #define PCRE_CONFIG_LINK_SIZE               2
 #define PCRE_CONFIG_POSIX_MALLOC_THRESHOLD  3
 #define PCRE_CONFIG_MATCH_LIMIT             4
+#define PCRE_CONFIG_STACKRECURSE            5
 
 /* Bit flags for the pcre_extra structure */
 
@@ -137,18 +139,23 @@ typedef struct pcre_callout_block {
 } pcre_callout_block;
 
 /* Indirection for store get and free functions. These can be set to
-alternative malloc/free functions if required. There is also an optional
-callout function that is triggered by the (?) regex item. Some magic is
-required for Win32 DLL; it is null on other OS. For Virtual Pascal, these
-have to be different again. */
+alternative malloc/free functions if required. Special ones are used in the
+non-recursive case for "frames". There is also an optional callout function
+that is triggered by the (?) regex item. Some magic is required for Win32 DLL;
+it is null on other OS. For Virtual Pascal, these have to be different again.
+*/
 
 #ifndef VPCOMPAT
 PCRE_DATA_SCOPE void *(*pcre_malloc)(size_t);
 PCRE_DATA_SCOPE void  (*pcre_free)(void *);
+PCRE_DATA_SCOPE void *(*pcre_stack_malloc)(size_t);
+PCRE_DATA_SCOPE void  (*pcre_stack_free)(void *);
 PCRE_DATA_SCOPE int   (*pcre_callout)(pcre_callout_block *);
 #else   /* VPCOMPAT */
 extern void *pcre_malloc(size_t);
 extern void  pcre_free(void *);
+extern void *pcre_stack_malloc(size_t);
+extern void  pcre_stack_free(void *);
 extern int   pcre_callout(pcre_callout_block *);
 #endif  /* VPCOMPAT */
 
diff -Nurp tin-1.7.2/pcre/pcreposix.c tin-1.7.3/pcre/pcreposix.c
--- tin-1.7.2/pcre/pcreposix.c	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/pcreposix.c	Sat Dec 13 13:29:52 2003
@@ -43,14 +43,14 @@ restrictions:
 
 /* Corresponding tables of PCRE error messages and POSIX error codes. */
 
-static const char *estring[] = {
+static const char *const estring[] = {
   ERR1,  ERR2,  ERR3,  ERR4,  ERR5,  ERR6,  ERR7,  ERR8,  ERR9,  ERR10,
   ERR11, ERR12, ERR13, ERR14, ERR15, ERR16, ERR17, ERR18, ERR19, ERR20,
   ERR21, ERR22, ERR23, ERR24, ERR25, ERR26, ERR27, ERR29, ERR29, ERR30,
   ERR31, ERR32, ERR33, ERR34, ERR35, ERR36, ERR37, ERR38, ERR39, ERR40,
   ERR41, ERR42, ERR43, ERR44 };
 
-static int eint[] = {
+static const int eint[] = {
   REG_EESCAPE, /* "\\ at end of pattern" */
   REG_EESCAPE, /* "\\c at end of pattern" */
   REG_EESCAPE, /* "unrecognized character follows \\" */
@@ -99,7 +99,7 @@ static int eint[] = {
 
 /* Table of texts corresponding to POSIX error codes */
 
-static const char *pstring[] = {
+static const char *const pstring[] = {
   "",                                /* Dummy for value 0 */
   "internal error",                  /* REG_ASSERT */
   "invalid repeat counts in {}",     /* BADBR      */
@@ -145,7 +145,7 @@ return REG_ASSERT;
 *          Translate error code to string        *
 *************************************************/
 
-size_t
+EXPORT size_t
 regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size)
 {
 const char *message, *addmessage;
@@ -180,7 +180,7 @@ return length + addlength;
 *           Free store held by a regex           *
 *************************************************/
 
-void
+EXPORT void
 regfree(regex_t *preg)
 {
 (pcre_free)(preg->re_pcre);
@@ -203,7 +203,7 @@ Returns:      0 on success
               various non-zero codes on failure
 */
 
-int
+EXPORT int
 regcomp(regex_t *preg, const char *pattern, int cflags)
 {
 const char *errorptr;
@@ -236,7 +236,7 @@ ints. However, if the number of possible
 block of store on the stack, to reduce the use of malloc/free. The threshold is
 in a macro that can be changed at configure time. */
 
-int
+EXPORT int
 regexec(const regex_t *preg, const char *string, size_t nmatch,
   regmatch_t pmatch[], int eflags)
 {
@@ -294,6 +294,9 @@ else
     case PCRE_ERROR_BADMAGIC: return REG_INVARG;
     case PCRE_ERROR_UNKNOWN_NODE: return REG_ASSERT;
     case PCRE_ERROR_NOMEMORY: return REG_ESPACE;
+    case PCRE_ERROR_MATCHLIMIT: return REG_ESPACE;
+    case PCRE_ERROR_BADUTF8: return REG_INVARG;
+    case PCRE_ERROR_BADUTF8_OFFSET: return REG_INVARG;
     default: return REG_ASSERT;
     }
   }
diff -Nurp tin-1.7.2/pcre/pcretest.c tin-1.7.3/pcre/pcretest.c
--- tin-1.7.2/pcre/pcretest.c	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/pcretest.c	Sat Dec 13 13:29:52 2003
@@ -38,7 +38,7 @@ Makefile. */
 #define LOOPREPEAT 50000
 
 #define BUFFER_SIZE 30000
-#define DBUFFER_SIZE 1024
+#define DBUFFER_SIZE BUFFER_SIZE
 
 
 static FILE *outfile;
@@ -48,6 +48,7 @@ static int callout_extra;
 static int callout_fail_count;
 static int callout_fail_id;
 static int first_callout;
+static int show_malloc;
 static int use_utf8;
 static size_t gotten_store;
 
@@ -338,7 +339,7 @@ return (cb->callout_number != callout_fa
 
 
 /*************************************************
-*            Local malloc function               *
+*            Local malloc functions              *
 *************************************************/
 
 /* Alternative malloc function, to test functionality and show the size of the
@@ -346,11 +347,38 @@ compiled re. */
 
 static void *new_malloc(size_t size)
 {
+void *block = malloc(size);
 gotten_store = size;
-return malloc(size);
+if (show_malloc)
+  fprintf(outfile, "malloc       %3d %p\n", size, block);
+return block;
+}
+
+static void new_free(void *block)
+{
+if (show_malloc)
+  fprintf(outfile, "free             %p\n", block);
+free(block);
 }
 
 
+/* For recursion malloc/free, to test stacking calls */
+
+static void *stack_malloc(size_t size)
+{
+void *block = malloc(size);
+if (show_malloc)
+  fprintf(outfile, "stack_malloc %3d %p\n", size, block);
+return block;
+}
+
+static void stack_free(void *block)
+{
+if (show_malloc)
+  fprintf(outfile, "stack_free       %p\n", block);
+free(block);
+}
+
 
 /*************************************************
 *          Call pcre_fullinfo()                  *
@@ -442,6 +470,8 @@ while (argc > 1 && argv[op][0] == '-')
     printf("  POSIX malloc threshold = %d\n", rc);
     (void)pcre_config(PCRE_CONFIG_MATCH_LIMIT, &rc);
     printf("  Default match limit = %d\n", rc);
+    (void)pcre_config(PCRE_CONFIG_STACKRECURSE, &rc);
+    printf("  Match recursion uses %s\n", rc? "stack" : "heap");
     exit(0);
     }
   else
@@ -499,6 +529,9 @@ if (argc > 2)
 /* Set alternative malloc function */
 
 pcre_malloc = new_malloc;
+pcre_free = new_free;
+pcre_stack_malloc = stack_malloc;
+pcre_stack_free = stack_free;
 
 /* Heading line, then prompt for first regex if stdin */
 
@@ -937,6 +970,7 @@ while (!done)
     callout_count = 0;
     callout_fail_count = 999999;
     callout_fail_id = -1;
+    show_malloc = 0;
 
     if (infile == stdin) printf("data> ");
     if (fgets((char *)buffer, BUFFER_SIZE, infile) == NULL)
@@ -1125,6 +1159,10 @@ while (!done)
         if (n == 0) use_offsets = NULL;   /* Ensures it can't write to it */
         continue;
 
+        case 'S':
+        show_malloc = 1;
+        continue;
+
         case 'Z':
         options |= PCRE_NOTEOL;
         continue;
@@ -1357,24 +1395,36 @@ while (!done)
 
       /* Failed to match. If this is a /g or /G loop and we previously set
       g_notempty after a null match, this is not necessarily the end.
-      We want to advance the start offset, and continue. Fudge the offset
-      values to achieve this. We won't be at the end of the string - that
-      was checked before setting g_notempty. */
+      We want to advance the start offset, and continue. In the case of UTF-8
+      matching, the advance must be one character, not one byte. Fudge the
+      offset values to achieve this. We won't be at the end of the string -
+      that was checked before setting g_notempty. */
 
       else
         {
         if (g_notempty != 0)
           {
+          int onechar = 1;
           use_offsets[0] = start_offset;
-          use_offsets[1] = start_offset + 1;
+          if (use_utf8)
+            {
+            while (start_offset + onechar < len)
+              {
+              int tb = bptr[start_offset+onechar];
+              if (tb <= 127) break;
+              tb &= 0xc0;
+              if (tb != 0 && tb != 0xc0) onechar++;
+              }
+            }
+          use_offsets[1] = start_offset + onechar;
           }
         else
           {
-          if (gmatched == 0)   /* Error if no previous matches */
+          if (count == PCRE_ERROR_NOMATCH)
             {
-            if (count == -1) fprintf(outfile, "No match\n");
-              else fprintf(outfile, "Error %d\n", count);
+            if (gmatched == 0) fprintf(outfile, "No match\n");
             }
+          else fprintf(outfile, "Error %d\n", count);
           break;  /* Out of the /g loop */
           }
         }
@@ -1426,7 +1476,7 @@ while (!done)
     }
   }
 
-fprintf(outfile, "\n");
+if (infile == stdin) fprintf(outfile, "\n");
 return 0;
 }
 
diff -Nurp tin-1.7.2/pcre/printint.c tin-1.7.3/pcre/printint.c
--- tin-1.7.2/pcre/printint.c	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/printint.c	Sat Dec 13 13:29:52 2003
@@ -50,9 +50,9 @@ static const char *OP_names[] = { OP_NAM
 library with debugging, they are included twice, but that isn't really a
 problem - compiling with debugging is pretty rare and these are very small. */
 
-static int utf8_t3[] = { 0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01};
+static const int utf8_t3[] = { 0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01};
 
-static uschar utf8_t4[] = {
+static const uschar utf8_t4[] = {
   1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
   1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
   2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
diff -Nurp tin-1.7.2/pcre/study.c tin-1.7.3/pcre/study.c
--- tin-1.7.2/pcre/study.c	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/study.c	Sat Dec 13 13:29:52 2003
@@ -260,6 +260,9 @@ do
       case OP_TYPEMINQUERY:
       switch(tcode[1])
         {
+        case OP_ANY:
+        return FALSE;
+
         case OP_NOT_DIGIT:
         for (c = 0; c < 32; c++)
           start_bits[c] |= ~cd->cbits[c+cbit_digit];
@@ -394,7 +397,7 @@ Returns:    pointer to a pcre_extra bloc
             NULL on error or if no optimization possible
 */
 
-pcre_extra *
+EXPORT pcre_extra *
 pcre_study(const pcre *external_re, int options, const char **errorptr)
 {
 uschar start_bits[32];
diff -Nurp tin-1.7.2/pcre/testdata/testinput2 tin-1.7.3/pcre/testdata/testinput2
--- tin-1.7.2/pcre/testdata/testinput2	Sat Aug 23 01:58:59 2003
+++ tin-1.7.3/pcre/testdata/testinput2	Sat Dec 13 13:29:52 2003
@@ -1229,4 +1229,31 @@
 
 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/
 
+"\[((?P<elem>\d+)(,(?P>elem))*)\]"
+    [10,20,30,5,5,4,4,2,43,23,4234]
+    *** Failers
+    []  
+
+"\[((?P<elem>\d+)(,(?P>elem))*)?\]"
+    [10,20,30,5,5,4,4,2,43,23,4234]
+    [] 
+
+/(a(b(?2)c))?/D
+
+/(a(b(?2)c))*/D
+
+/(a(b(?2)c)){0,2}/D
+
+/[ab]{1}+/D
+
+/((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i
+     Baby Bjorn Active Carrier - With free SHIPPING!!
+
+/((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/iS
+     Baby Bjorn Active Carrier - With free SHIPPING!!
+     
+/a*.*b/SD
+
+/(a|b)*.?c/SD 
+
 / End of testinput2 /
diff -Nurp tin-1.7.2/pcre/testdata/testinput3 tin-1.7.3/pcre/testdata/testinput3
--- tin-1.7.2/pcre/testdata/testinput3	Sat Aug 23 01:58:59 2003
+++ tin-1.7.3/pcre/testdata/testinput3	Sat Dec 13 13:29:52 2003
@@ -2,7 +2,7 @@
     *** Failers
     École
 
-/^[\w]+/Lfr
+/^[\w]+/Lfr_FR
     École
 
 /^[\w]+/
@@ -12,7 +12,7 @@
 /^[\W]+/
     École
 
-/^[\W]+/Lfr
+/^[\W]+/Lfr_FR
     *** Failers
     École
 
@@ -21,7 +21,7 @@
     *** Failers
     a
 
-/[\b]/Lfr
+/[\b]/Lfr_FR
     \b
     *** Failers
     a
@@ -30,13 +30,13 @@
     *** Failers
     École
 
-/^\w+/Lfr
+/^\w+/Lfr_FR
     École
 
 /(.+)\b(.+)/
     École
 
-/(.+)\b(.+)/Lfr
+/(.+)\b(.+)/Lfr_FR
     *** Failers
     École
 
@@ -45,19 +45,19 @@
     *** Failers
     école
 
-/École/iLfr
+/École/iLfr_FR
     École
     école
 
 /\w/IS
 
-/\w/ISLfr
+/\w/ISLfr_FR
 
-/^[\xc8-\xc9]/iLfr
+/^[\xc8-\xc9]/iLfr_FR
     École
     école
 
-/^[\xc8-\xc9]/Lfr
+/^[\xc8-\xc9]/Lfr_FR
     École
     *** Failers 
     école
diff -Nurp tin-1.7.2/pcre/testdata/testinput4 tin-1.7.3/pcre/testdata/testinput4
--- tin-1.7.2/pcre/testdata/testinput4	Sat Aug 23 01:58:59 2003
+++ tin-1.7.3/pcre/testdata/testinput4	Sat Dec 13 13:29:53 2003
@@ -510,4 +510,8 @@
 /^\d*b/8
   xb 
 
+/(|a)/g8
+    catac
+    a\x{256}a 
+
 / End of testinput4 /
diff -Nurp tin-1.7.2/pcre/testdata/testinput5 tin-1.7.3/pcre/testdata/testinput5
--- tin-1.7.2/pcre/testdata/testinput5	Sat Aug 23 01:58:59 2003
+++ tin-1.7.3/pcre/testdata/testinput5	Sat Dec 13 13:29:53 2003
@@ -217,9 +217,42 @@
 /ÃÃÃxxx/8?D
 
 /abc/8
-   Ã]
-   Ã
-   ÃÃÃ
-   ÃÃÃ\?
+    Ã]
+    Ã
+    ÃÃÃ
+    ÃÃÃ\?
+
+/anything/8
+    \xc0\x80
+    \xc1\x8f 
+    \xe0\x9f\x80
+    \xf0\x8f\x80\x80 
+    \xf8\x87\x80\x80\x80  
+    \xfc\x83\x80\x80\x80\x80
+    \xfe\x80\x80\x80\x80\x80  
+    \xff\x80\x80\x80\x80\x80  
+    \xc3\x8f
+    \xe0\xaf\x80
+    \xe1\x80\x80
+    \xf0\x9f\x80\x80 
+    \xf1\x8f\x80\x80 
+    \xf8\x88\x80\x80\x80  
+    \xf9\x87\x80\x80\x80  
+    \xfc\x84\x80\x80\x80\x80
+    \xfd\x83\x80\x80\x80\x80
+
+/\x{100}abc(xyz(?1))/8D
+
+/[^\x{100}]abc(xyz(?1))/8D
+
+/[ab\x{100}]abc(xyz(?1))/8D
+
+/(\x{100}(b(?2)c))?/D8
+
+/(\x{100}(b(?2)c)){0,2}/D8
+
+/(\x{100}(b(?1)c))?/D8
+
+/(\x{100}(b(?1)c)){0,2}/D8
 
 / End of testinput5 /
diff -Nurp tin-1.7.2/pcre/testdata/testoutput1 tin-1.7.3/pcre/testdata/testoutput1
--- tin-1.7.2/pcre/testdata/testoutput1	Sat Aug 23 01:58:59 2003
+++ tin-1.7.3/pcre/testdata/testoutput1	Sat Dec 13 13:29:53 2003
@@ -1,4 +1,4 @@
-PCRE version 4.4 21-August-2003
+PCRE version 4.5 01-December-2003
 
 /the quick brown fox/
     the quick brown fox
@@ -6272,4 +6272,3 @@ No match
  0: XB
 
 / End of testinput1 /
-
diff -Nurp tin-1.7.2/pcre/testdata/testoutput2 tin-1.7.3/pcre/testdata/testoutput2
--- tin-1.7.2/pcre/testdata/testoutput2	Sat Aug 23 01:58:59 2003
+++ tin-1.7.3/pcre/testdata/testoutput2	Sat Dec 13 13:29:53 2003
@@ -1,4 +1,4 @@
-PCRE version 4.4 21-August-2003
+PCRE version 4.5 01-December-2003
 
 /(a)b|/
 Capturing subpattern count = 1
@@ -4397,9 +4397,179 @@ Failed: two named groups have the same n
 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/
 Failed: two named groups have the same name at offset 31
 
+"\[((?P<elem>\d+)(,(?P>elem))*)\]"
+Capturing subpattern count = 3
+Named capturing subpatterns:
+  elem   2
+No options
+First char = '['
+Need char = ']'
+    [10,20,30,5,5,4,4,2,43,23,4234]
+ 0: [10,20,30,5,5,4,4,2,43,23,4234]
+ 1: 10,20,30,5,5,4,4,2,43,23,4234
+ 2: 10
+ 3: ,4234
+    *** Failers
+No match
+    []  
+No match
+
+"\[((?P<elem>\d+)(,(?P>elem))*)?\]"
+Capturing subpattern count = 3
+Named capturing subpatterns:
+  elem   2
+No options
+First char = '['
+Need char = ']'
+    [10,20,30,5,5,4,4,2,43,23,4234]
+ 0: [10,20,30,5,5,4,4,2,43,23,4234]
+ 1: 10,20,30,5,5,4,4,2,43,23,4234
+ 2: 10
+ 3: ,4234
+    [] 
+ 0: []
+
+/(a(b(?2)c))?/D
+------------------------------------------------------------------
+  0  28 Bra 0
+  3     Brazero
+  4  21 Bra 1
+  7   1 a
+ 10  12 Bra 2
+ 13   1 b
+ 16  10 Recurse
+ 19   1 c
+ 22  12 Ket
+ 25  21 Ket
+ 28  28 Ket
+ 31     End
+------------------------------------------------------------------
+Capturing subpattern count = 2
+No options
+No first char
+No need char
+
+/(a(b(?2)c))*/D
+------------------------------------------------------------------
+  0  28 Bra 0
+  3     Brazero
+  4  21 Bra 1
+  7   1 a
+ 10  12 Bra 2
+ 13   1 b
+ 16  10 Recurse
+ 19   1 c
+ 22  12 Ket
+ 25  21 KetRmax
+ 28  28 Ket
+ 31     End
+------------------------------------------------------------------
+Capturing subpattern count = 2
+No options
+No first char
+No need char
+
+/(a(b(?2)c)){0,2}/D
+------------------------------------------------------------------
+  0  59 Bra 0
+  3     Brazero
+  4  52 Bra 0
+  7  21 Bra 1
+ 10   1 a
+ 13  12 Bra 2
+ 16   1 b
+ 19  13 Recurse
+ 22   1 c
+ 25  12 Ket
+ 28  21 Ket
+ 31     Brazero
+ 32  21 Bra 1
+ 35   1 a
+ 38  12 Bra 2
+ 41   1 b
+ 44  13 Recurse
+ 47   1 c
+ 50  12 Ket
+ 53  21 Ket
+ 56  52 Ket
+ 59  59 Ket
+ 62     End
+------------------------------------------------------------------
+Capturing subpattern count = 2
+No options
+No first char
+No need char
+
+/[ab]{1}+/D
+------------------------------------------------------------------
+  0  47 Bra 0
+  3  41 Once
+  6     [a-b]{1,1}
+ 44  41 Ket
+ 47  47 Ket
+ 50     End
+------------------------------------------------------------------
+Capturing subpattern count = 0
+No options
+No first char
+No need char
+
+/((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i
+Capturing subpattern count = 3
+Options: caseless
+No first char
+Need char = 'g' (caseless)
+     Baby Bjorn Active Carrier - With free SHIPPING!!
+ 0: Baby Bjorn Active Carrier - With free SHIPPING!!
+ 1: Baby Bjorn Active Carrier - With free SHIPPING!!
+
+/((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/iS
+Capturing subpattern count = 3
+Options: caseless
+No first char
+Need char = 'g' (caseless)
+Study returned NULL
+     Baby Bjorn Active Carrier - With free SHIPPING!!
+ 0: Baby Bjorn Active Carrier - With free SHIPPING!!
+ 1: Baby Bjorn Active Carrier - With free SHIPPING!!
+     
+/a*.*b/SD
+------------------------------------------------------------------
+  0  10 Bra 0
+  3     a*
+  5     Any*
+  7   1 b
+ 10  10 Ket
+ 13     End
+------------------------------------------------------------------
+Capturing subpattern count = 0
+No options
+No first char
+Need char = 'b'
+Study returned NULL
+
+/(a|b)*.?c/SD 
+------------------------------------------------------------------
+  0  24 Bra 0
+  3     Brazero
+  4   6 Bra 1
+  7   1 a
+ 10   6 Alt
+ 13   1 b
+ 16  12 KetRmax
+ 19     Any?
+ 21   1 c
+ 24  24 Ket
+ 27     End
+------------------------------------------------------------------
+Capturing subpattern count = 1
+No options
+No first char
+Need char = 'c'
+Study returned NULL
+
 / End of testinput2 /
 Capturing subpattern count = 0
 No options
 First char = ' '
 Need char = ' '
-
diff -Nurp tin-1.7.2/pcre/testdata/testoutput3 tin-1.7.3/pcre/testdata/testoutput3
--- tin-1.7.2/pcre/testdata/testoutput3	Sat Aug 23 01:58:59 2003
+++ tin-1.7.3/pcre/testdata/testoutput3	Sat Dec 13 13:29:53 2003
@@ -1,4 +1,4 @@
-PCRE version 4.4 21-August-2003
+PCRE version 4.5 01-December-2003
 
 /^[\w]+/
     *** Failers
@@ -6,7 +6,7 @@ No match
     École
 No match
 
-/^[\w]+/Lfr
+/^[\w]+/Lfr_FR
     École
  0: École
 
@@ -20,7 +20,7 @@ No match
     École
  0: \xc9
 
-/^[\W]+/Lfr
+/^[\W]+/Lfr_FR
     *** Failers
  0: *** 
     École
@@ -34,7 +34,7 @@ No match
     a
 No match
 
-/[\b]/Lfr
+/[\b]/Lfr_FR
     \b
  0: \x08
     *** Failers
@@ -48,7 +48,7 @@ No match
     École
 No match
 
-/^\w+/Lfr
+/^\w+/Lfr_FR
     École
  0: École
 
@@ -58,7 +58,7 @@ No match
  1: \xc9
  2: cole
 
-/(.+)\b(.+)/Lfr
+/(.+)\b(.+)/Lfr_FR
     *** Failers
  0: *** Failers
  1: *** 
@@ -74,7 +74,7 @@ No match
     école
 No match
 
-/École/iLfr
+/École/iLfr_FR
     École
  0: École
     école
@@ -88,23 +88,23 @@ No need char
 Starting character set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
   Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
 
-/\w/ISLfr
+/\w/ISLfr_FR
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 Starting character set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
   Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
-  À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å 
-  æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ 
+  µ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â ã ä 
+  å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ 
 
-/^[\xc8-\xc9]/iLfr
+/^[\xc8-\xc9]/iLfr_FR
     École
  0: É
     école
  0: é
 
-/^[\xc8-\xc9]/Lfr
+/^[\xc8-\xc9]/Lfr_FR
     École
  0: É
     *** Failers 
@@ -113,4 +113,3 @@ No match
 No match
 
 / End of testinput3 /
-
diff -Nurp tin-1.7.2/pcre/testdata/testoutput4 tin-1.7.3/pcre/testdata/testoutput4
--- tin-1.7.2/pcre/testdata/testoutput4	Sat Aug 23 01:58:59 2003
+++ tin-1.7.3/pcre/testdata/testoutput4	Sat Dec 13 13:29:53 2003
@@ -1,4 +1,4 @@
-PCRE version 4.4 21-August-2003
+PCRE version 4.5 01-December-2003
 
 /-- Do not use the \x{} construct except with patterns that have the --/
 /-- /8 option set, because PCRE doesn't recognize them as UTF-8 unless --/
@@ -874,5 +874,36 @@ No match
   xb 
 No match
 
-/ End of testinput4 /
+/(|a)/g8
+    catac
+ 0: 
+ 1: 
+ 0: 
+ 1: 
+ 0: a
+ 1: a
+ 0: 
+ 1: 
+ 0: 
+ 1: 
+ 0: a
+ 1: a
+ 0: 
+ 1: 
+ 0: 
+ 1: 
+    a\x{256}a 
+ 0: 
+ 1: 
+ 0: a
+ 1: a
+ 0: 
+ 1: 
+ 0: 
+ 1: 
+ 0: a
+ 1: a
+ 0: 
+ 1: 
 
+/ End of testinput4 /
diff -Nurp tin-1.7.2/pcre/testdata/testoutput5 tin-1.7.3/pcre/testdata/testoutput5
--- tin-1.7.2/pcre/testdata/testoutput5	Sat Aug 23 01:58:59 2003
+++ tin-1.7.3/pcre/testdata/testoutput5	Sat Dec 13 13:29:53 2003
@@ -1,4 +1,4 @@
-PCRE version 4.4 21-August-2003
+PCRE version 4.5 01-December-2003
 
 /\x{100}/8DM
 Memory allocation (code space): 11
@@ -863,14 +863,201 @@ First char = 195
 Need char = 'x'
 
 /abc/8
-   Ã]
+    Ã]
 Error -10
-   Ã
+    Ã
 Error -10
-   ÃÃÃ
+    ÃÃÃ
 Error -10
-   ÃÃÃ\?
+    ÃÃÃ\?
 No match
 
-/ End of testinput5 /
+/anything/8
+    \xc0\x80
+Error -10
+    \xc1\x8f 
+Error -10
+    \xe0\x9f\x80
+Error -10
+    \xf0\x8f\x80\x80 
+Error -10
+    \xf8\x87\x80\x80\x80  
+Error -10
+    \xfc\x83\x80\x80\x80\x80
+Error -10
+    \xfe\x80\x80\x80\x80\x80  
+Error -10
+    \xff\x80\x80\x80\x80\x80  
+Error -10
+    \xc3\x8f
+No match
+    \xe0\xaf\x80
+No match
+    \xe1\x80\x80
+No match
+    \xf0\x9f\x80\x80 
+No match
+    \xf1\x8f\x80\x80 
+No match
+    \xf8\x88\x80\x80\x80  
+No match
+    \xf9\x87\x80\x80\x80  
+No match
+    \xfc\x84\x80\x80\x80\x80
+No match
+    \xfd\x83\x80\x80\x80\x80
+No match
 
+/\x{100}abc(xyz(?1))/8D
+------------------------------------------------------------------
+  0  24 Bra 0
+  3   5 \x{100}abc
+ 10  11 Bra 1
+ 13   3 xyz
+ 18  10 Recurse
+ 21  11 Ket
+ 24  24 Ket
+ 27     End
+------------------------------------------------------------------
+Capturing subpattern count = 1
+Options: utf8
+First char = 196
+Need char = 'z'
+
+/[^\x{100}]abc(xyz(?1))/8D
+------------------------------------------------------------------
+  0  30 Bra 0
+  3     [^\x{100}]
+ 11   3 abc
+ 16  11 Bra 1
+ 19   3 xyz
+ 24  16 Recurse
+ 27  11 Ket
+ 30  30 Ket
+ 33     End
+------------------------------------------------------------------
+Capturing subpattern count = 1
+Options: utf8
+No first char
+Need char = 'z'
+
+/[ab\x{100}]abc(xyz(?1))/8D
+------------------------------------------------------------------
+  0  62 Bra 0
+  3     [a-b\x{100}]
+ 43   3 abc
+ 48  11 Bra 1
+ 51   3 xyz
+ 56  48 Recurse
+ 59  11 Ket
+ 62  62 Ket
+ 65     End
+------------------------------------------------------------------
+Capturing subpattern count = 1
+Options: utf8
+No first char
+Need char = 'z'
+
+/(\x{100}(b(?2)c))?/D8
+------------------------------------------------------------------
+  0  29 Bra 0
+  3     Brazero
+  4  22 Bra 1
+  7   2 \x{100}
+ 11  12 Bra 2
+ 14   1 b
+ 17  11 Recurse
+ 20   1 c
+ 23  12 Ket
+ 26  22 Ket
+ 29  29 Ket
+ 32     End
+------------------------------------------------------------------
+Capturing subpattern count = 2
+Options: utf8
+No first char
+No need char
+
+/(\x{100}(b(?2)c)){0,2}/D8
+------------------------------------------------------------------
+  0  61 Bra 0
+  3     Brazero
+  4  54 Bra 0
+  7  22 Bra 1
+ 10   2 \x{100}
+ 14  12 Bra 2
+ 17   1 b
+ 20  14 Recurse
+ 23   1 c
+ 26  12 Ket
+ 29  22 Ket
+ 32     Brazero
+ 33  22 Bra 1
+ 36   2 \x{100}
+ 40  12 Bra 2
+ 43   1 b
+ 46  14 Recurse
+ 49   1 c
+ 52  12 Ket
+ 55  22 Ket
+ 58  54 Ket
+ 61  61 Ket
+ 64     End
+------------------------------------------------------------------
+Capturing subpattern count = 2
+Options: utf8
+No first char
+No need char
+
+/(\x{100}(b(?1)c))?/D8
+------------------------------------------------------------------
+  0  29 Bra 0
+  3     Brazero
+  4  22 Bra 1
+  7   2 \x{100}
+ 11  12 Bra 2
+ 14   1 b
+ 17   4 Recurse
+ 20   1 c
+ 23  12 Ket
+ 26  22 Ket
+ 29  29 Ket
+ 32     End
+------------------------------------------------------------------
+Capturing subpattern count = 2
+Options: utf8
+No first char
+No need char
+
+/(\x{100}(b(?1)c)){0,2}/D8
+------------------------------------------------------------------
+  0  61 Bra 0
+  3     Brazero
+  4  54 Bra 0
+  7  22 Bra 1
+ 10   2 \x{100}
+ 14  12 Bra 2
+ 17   1 b
+ 20   7 Recurse
+ 23   1 c
+ 26  12 Ket
+ 29  22 Ket
+ 32     Brazero
+ 33  22 Bra 1
+ 36   2 \x{100}
+ 40  12 Bra 2
+ 43   1 b
+ 46   7 Recurse
+ 49   1 c
+ 52  12 Ket
+ 55  22 Ket
+ 58  54 Ket
+ 61  61 Ket
+ 64     End
+------------------------------------------------------------------
+Capturing subpattern count = 2
+Options: utf8
+No first char
+No need char
+
+/ End of testinput5 /
diff -Nurp tin-1.7.2/pcre/version.sh tin-1.7.3/pcre/version.sh
--- tin-1.7.2/pcre/version.sh	Sat Aug 23 01:58:58 2003
+++ tin-1.7.3/pcre/version.sh	Sat Dec 13 13:09:36 2003
@@ -7,6 +7,6 @@
 # that many releases anyway.
 
 PCRE_MAJOR=4
-PCRE_MINOR=4
-PCRE_DATE=21-August-2003
+PCRE_MINOR=5
+PCRE_DATE=01-December-2003
 PCRE_VERSION=${PCRE_MAJOR}.${PCRE_MINOR}
Binary files tin-1.7.2/po/de.gmo and tin-1.7.3/po/de.gmo differ
diff -Nurp tin-1.7.2/po/de.po tin-1.7.3/po/de.po
--- tin-1.7.2/po/de.po	Sun Oct 19 00:57:48 2003
+++ tin-1.7.3/po/de.po	Sat Dec 20 18:45:10 2003
@@ -6,7 +6,7 @@
 #
 msgid	""
 msgstr	"Project-Id-Version: tin 1.7.0\n"
-	"POT-Creation-Date: 2003-10-19 00:55+0200\n"
+	"POT-Creation-Date: 2003-12-20 18:42+0100\n"
 	"PO-Revision-Date: 2003-03-13 04:15+0200\n"
 	"Last-Translator: Sven Hartge <oweh@ds9.argh.org>, Kai Bojens "
 	"<kbojens@on-luebeck.de>\n"
@@ -15,260 +15,264 @@ msgstr	"Project-Id-Version: tin 1.7.0\n"
 	"Content-Type: text/plain; charset=ISO-8859-1\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1423
+#: src/art.c:1425
 #, c-format
 msgid	"%d Bad overview record (%d fields) '%s'"
 msgstr	"%d Fehlerhafter Overview-Datensatz (%d Felder) '%s'"
 
-#: src/attrib.c:580
+#: src/attrib.c:585
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	"# Diesen Kommentarabschnitt nicht verändern\n"
 	"#\n"
 
-#: src/attrib.c:581
+#: src/attrib.c:586
 msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	"#  scope=STRING  [notwendig]\n"
 	"#    Gültigkeitsbereich, zB. alt.*,!alt.bin*\n"
 
-#: src/attrib.c:582
+#: src/attrib.c:587
 msgid	"#  maildir=STRING (ie. ~/Mail)\n"
 msgstr	"#  maildir=STRING\n"
 	"#    Verzeichnis der Mailfolder, z.B. ~/Mail\n"
 
-#: src/attrib.c:583
+#: src/attrib.c:588
 msgid	"#  savedir=STRING (ie. ~user/News)\n"
 msgstr	"#  savedir=STRING\n"
 	"#    Verzeichnis zum Speichern, z.B. ~user/News\n"
 
-#: src/attrib.c:584
+#: src/attrib.c:589
 msgid	"#  savefile=STRING (ie. =linux)\n"
 msgstr	"#  savefile=STRING\n"
 	"#    Datei zum Speichern, z.B. =linux\n"
 
-#: src/attrib.c:585
+#: src/attrib.c:590
 msgid	"#  sigfile=STRING (ie. $var/sig)\n"
 msgstr	"#  sigfile=STRING\n"
 	"#    Signatur, z.B. $var/sig\n"
 
-#: src/attrib.c:586
+#: src/attrib.c:591
 msgid	"#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr	"#  organization=STRING\n"
 	"#    Organization-Header; ist das erste Zeichen ein '/', wird der\n"
 	"#    Wert aus dieser Datei gelesen.\n"
 
-#: src/attrib.c:587
+#: src/attrib.c:592
 msgid	"#  followup_to=STRING\n"
 msgstr	"#  followup_to=STRING\n"
 	"#    Voreinstellung für den Followup-To-Header\n"
 
-#: src/attrib.c:588
+#: src/attrib.c:593
 msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
 msgstr	"#  mailing_list=STRING\n"
 	"#    Gruppe ist eine gegatete Mailingliste, z.B. majordomo@example.org\n"
 
-#: src/attrib.c:589
+#: src/attrib.c:594
 msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
 msgstr	"#  x_headers=STRING\n"
 	"#    Zusätzliche Header, z.B. ~/.tin/extra-headers\n"
 
-#: src/attrib.c:590
+#: src/attrib.c:595
 msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
 msgstr	"#  x_body=STRING\n"
 	"#    Text wird automatisch zu Beginn des Artikels eingefügt,\n"
 	"#    z.B. ~/.tin/extra-body-text\n"
 
-#: src/attrib.c:591
+#: src/attrib.c:596
 msgid	"#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr	"#  from=STRING\n"
 	"#    Absender, einfach den gewünschten Wert eintragen,\n"
 	"#    keine Anführungszeichen verwenden\n"
 
-#: src/attrib.c:592
+#: src/attrib.c:597
 msgid	"#  news_quote_format=STRING\n"
 msgstr	"#  news_quote_format=STRING\n"
 	"#    Einleitungszeile, z.B. news_quote_format=In %%M, %%F wrote:\n"
 
-#: src/attrib.c:593
+#: src/attrib.c:598
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	"#  quote_chars=STRING\n"
 	"#    Zeichen für Zitate in Antworten, %%s oder %%S ergibt Autoreninitialien\n"
 
-#: src/attrib.c:594
+#: src/attrib.c:599
 msgid	"#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr	"#  mime_types_to_save=STRING\n"
 	"#    z.B. image/*,!image/bmp\n"
 
-#: src/attrib.c:596
+#: src/attrib.c:601
 msgid	"#  ispell=STRING\n"
 msgstr	"#  ispell=STRING\n"
 	"#    Aufruf der Rechtschreibprüfung,\n"
 	"#    z.B. ispell -C -ddeutsch -w äöüÄÖÜß@ -Tlatin1\n"
 
-#: src/attrib.c:598
+#: src/attrib.c:603
 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:599
+#: src/attrib.c:604
 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:600
+#: src/attrib.c:605
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	"#  batch_save=ON/OFF\n"
 	"#    Im Batch-Modus werden die Article beachtet\n"
 
-#: src/attrib.c:601
+#: src/attrib.c:606
 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:602
+#: src/attrib.c:607
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	"#  show_only_unread=ON/OFF\n"
 	"#    nur ungelesene Artikel anzeigen\n"
 
-#: src/attrib.c:603
+#: src/attrib.c:608
 msgid	"#  thread_arts=NUM"
 msgstr	"#  thread_arts=ZAHL\n"
 	"#    Threading nach:"
 
-#: src/attrib.c:610
+#: src/attrib.c:615
 msgid	"#  show_author=NUM\n"
 msgstr	"#  show_author=ZAHL\n"
 	"#    Anzeige des From-Felds\n"
 
-#: src/attrib.c:616
+#: src/attrib.c:621
+msgid	"#  show_info=NUM\n"
+msgstr	"#  show_info=ZAHL\n"
+
+#: src/attrib.c:627
 msgid	"#  sort_art_type=NUM\n"
 msgstr	"#  sort_art_type=ZAHL\n"
 	"#    Artikel sortieren nach:\n"
 
-#: src/attrib.c:634
+#: src/attrib.c:645
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	"#  sort_threads_type=ZAHL\n"
 	"#    Threads sortieren nach:\n"
 
-#: src/attrib.c:639
+#: src/attrib.c:650
 msgid	"#  post_proc_type=NUM\n"
 msgstr	"#  post_proc_type=ZAHL\n"
 	"#    Nachbearbeitung\n"
 
-#: src/attrib.c:644
+#: src/attrib.c:655
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	"#  quick_kill_scope=STRING\n"
 	"#    Voreinstellung für Gültigkeitsbereich neuer Kill-Einträge,\n"
 	"#    z.B. talk.*\n"
 
-#: src/attrib.c:645
+#: src/attrib.c:656
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	"#  quick_kill_expire=ON/OFF\n"
 	"#    Kill verfällt automatisch\n"
 
-#: src/attrib.c:646
+#: src/attrib.c:657
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	"#  quick_kill_case=ON/OFF\n"
 	"#    Kill beachtet Gross/Kleinschreibung\n"
 
-#: src/attrib.c:647
+#: src/attrib.c:658
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	"#  quick_kill_header=ZAHL\n"
 	"#    Killen nach:\n"
 
-#: src/attrib.c:648 src/attrib.c:655
+#: src/attrib.c:659 src/attrib.c:666
 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:649 src/attrib.c:656
+#: src/attrib.c:660 src/attrib.c:667
 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:650 src/attrib.c:657
+#: src/attrib.c:661 src/attrib.c:668
 msgid	"#    4=msgid 5=lines\n"
 msgstr	"#    4=Message-ID, 5=Zeilen\n"
 
-#: src/attrib.c:651
+#: src/attrib.c:662
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	"#  quick_select_scope=STRING\n"
 	"#    Voreinstellung für Gültigkeitsbereich neuer Auswahlregeln (Hochscoren)\n"
 
-#: src/attrib.c:652
+#: src/attrib.c:663
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	"#  quick_select_expire=ON/OFF\n"
 	"#    Regel verfällt automatisch\n"
 
-#: src/attrib.c:653
+#: src/attrib.c:664
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	"#  quick_select_case=ON/OFF\n"
 	"#    Regel beachtet Gross/Kleinschreibung\n"
 
-#: src/attrib.c:654
+#: src/attrib.c:665
 msgid	"#  quick_select_header=NUM\n"
 msgstr	"#  quick_select_header=NUM\n"
 	"#    Auswählen (Hochscoren) nach:\n"
 
-#: src/attrib.c:658
+#: src/attrib.c:669
 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:659
+#: src/attrib.c:670
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	"#  fcc=STRING\n"
 	"#    Datei in der eine Kopie der Mail abgelegt werden soll,#    z.B: "
 	"=mailbox\n"
 
-#: src/attrib.c:660
+#: src/attrib.c:671
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	"#  tex2iso_conv=ON/OFF\n"
 	"#    Automatische Umwandlung von TeX-Umlauten\n"
 
-#: src/attrib.c:662
+#: src/attrib.c:673
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	"#  mm_network_charset=Zeichensatz\n"
 	"#    Erlaubt sind folgende:"
 
-#: src/attrib.c:669
+#: src/attrib.c:680
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	"#  undeclared_charset=STRING\n"
 	"#    Voreinstellung ist US-ASCII\n"
 
-#: src/attrib.c:671
+#: src/attrib.c:682
 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:672
+#: src/attrib.c:683
 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:673
+#: src/attrib.c:684
 msgid	"############################################################################\n"
 	"\n"
 msgstr	"############################################################################\n"
 	"\n"
 
-#: src/attrib.c:679
+#: src/attrib.c:690
 msgid	"# include extra headers\n"
 msgstr	"# Zusätzliche Header einfügen\n"
 
-#: src/attrib.c:687
+#: src/attrib.c:698
 msgid	"# in *sources* set post process type to shar only\n"
 msgstr	"# in *sources* nur Nachbearbeitung mit shar\n"
 
-#: src/attrib.c:691
+#: src/attrib.c:702
 msgid	"# in *binaries* do full post processing, remove tmp files\n"
 msgstr	"# in *binaries* Nachbearbeitung, temporäre Dateien löschen\n"
 
-#: src/attrib.c:692
+#: src/attrib.c:703
 msgid	"# and set Followup-To: poster\n"
 msgstr	"# und Antwort per EMail (Followup-To: poster) anfordern\n"
 
@@ -279,7 +283,7 @@ msgstr	"(unbekannt)"
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:607 src/filter.c:615
+#: src/filter.c:608 src/filter.c:616
 msgid	"Removed from the previous rule: "
 msgstr	"Aus der vorigen Regel gelöscht: "
 
@@ -631,7 +635,7 @@ msgstr	"Erzeuge die Datei 'active' für g
 msgid	"Creating newsrc file...\n"
 msgstr	"Erzeuge newsrc Datei...\n"
 
-#: src/lang.c:127 src/lang.c:1122
+#: src/lang.c:127 src/lang.c:1126
 msgid	"Default"
 msgstr	"Voreinstellung"
 
@@ -936,7 +940,7 @@ msgstr	"\n"
 msgid	"Insecure permissions of %s (%o)"
 msgstr	"Unsichere Zugriffsbeschränkungen auf %s (%o)"
 
-#: src/lang.c:199 src/newsrc.c:409
+#: src/lang.c:199 src/newsrc.c:410
 #, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	"Ungültige Antwort auf GROUP-Befehl, %s"
@@ -1063,6 +1067,14 @@ msgid	"  %s\t Answers will be directed t
 msgstr	"  %s\t Antworten erhalten Sie direkt per Mail.\n"
 
 #: src/lang.c:227
+msgid	"-- forwarded message --\n"
+msgstr	"-- weitergeleitete Nachricht --\n"
+
+#: src/lang.c:228
+msgid	"-- end of forwarded message --\n"
+msgstr	"-- Ende der weitergeleiteten Nachricht --\n"
+
+#: src/lang.c:229
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
 	"placed\n"
@@ -1126,732 +1138,742 @@ msgstr	"# Format:\n"
 	"#                     (Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC)\n"
 	"#\n"
 
-#: src/lang.c:248
+#: src/lang.c:250
 #, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	"Bewertung für Regel (Standard=%d): "
 
-#: src/lang.c:249
+#: src/lang.c:251
 #, 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:250
+#: src/lang.c:252
 msgid	"Full"
 msgstr	"Voll"
 
-#: src/lang.c:251
+#: src/lang.c:253
 msgid	"Comment (optional)  : "
 msgstr	"Kommentar (optional): "
 
-#: src/lang.c:252
+#: src/lang.c:254
 msgid	"Apply pattern to    : "
 msgstr	"Wende Muster an auf : "
 
-#: src/lang.c:253
+#: src/lang.c:255
 msgid	"From: line (ignore case)      "
 msgstr	"From: Zeile (ignoriere Groß- Kleinschreibung)"
 
-#: src/lang.c:254
+#: src/lang.c:256
 msgid	"From: line (case sensitive)   "
 msgstr	"From: Zeile (Groß- Kleinschreibung beachten) "
 
-#: src/lang.c:256
+#: src/lang.c:258
 #, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	"%s%s: Unbekannter Host.\n"
 
-#: src/lang.c:257
+#: src/lang.c:259
 msgid	"global "
 msgstr	"Global "
 
-#: src/lang.c:258
+#: src/lang.c:260
 #, c-format
 msgid	"Please use %.100s instead"
 msgstr	"Bitte %.100s statt dessen benutzen"
 
-#: src/lang.c:259
+#: src/lang.c:261
+#, c-format
+msgid	"%s is bogus"
+msgstr	"%s ist ungültig"
+
+#: src/lang.c:262
 #, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	"Gruppe %s ist moderiert. Fortfahren?"
 
-#: src/lang.c:260
+#: src/lang.c:263
 msgid	"groups"
 msgstr	"Gruppen"
 
-#: src/lang.c:261
+#: src/lang.c:264
+#, c-format
+msgid	"Rereading %s..."
+msgstr	"Lese %s..."
+
+#: src/lang.c:265
 msgid	"Top Level Commands"
 msgstr	"Top Level Befehle"
 
-#: src/lang.c:262
+#: src/lang.c:266
 msgid	"Group Selection"
 msgstr	"Gruppen-Auswahl"
 
-#: src/lang.c:263
+#: src/lang.c:267
 msgid	"group"
 msgstr	"Gruppe"
 
-#: src/lang.c:265
+#: src/lang.c:269
 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:266
+#: src/lang.c:270
 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:267
+#: src/lang.c:271
 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:268
+#: src/lang.c:272
 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:269
+#: src/lang.c:273
 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:270
+#: src/lang.c:274
 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:271
+#: src/lang.c:275
 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:272
+#: src/lang.c:276
 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:273
+#: src/lang.c:277
 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:274
+#: src/lang.c:278
 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:275
+#: src/lang.c:279
 msgid	"kill an article via a menu"
 msgstr	"killt einen Artikel mittels eines Menüs"
 
-#: src/lang.c:276
+#: src/lang.c:280
 msgid	"auto-select (hot) an article via a menu"
 msgstr	"Filterregel (hochscoren) für Artikel via Menü erstellen"
 
-#: src/lang.c:277
+#: src/lang.c:281
 msgid	"Browse URLs in article"
 msgstr	"URLs im Artikel mit Browser öffnen"
 
-#: src/lang.c:278
+#: src/lang.c:282
 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:279
+#: src/lang.c:283
 msgid	"cancel (delete) current article; must have been posted by you"
 msgstr	"cancelt (löscht) den aktuellen Artikel; dieser muß von Ihnen sein"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid	"edit article (mail-groups only)"
 msgstr	"editiere Artikel (nur bei Mail-Gruppen)"
 
-#: src/lang.c:281
+#: src/lang.c:285
 msgid	"display first article in current thread"
 msgstr	"ersten Artikel im aktuellen Thread anzeigen"
 
-#: src/lang.c:282
+#: src/lang.c:286
 msgid	"display first page of article"
 msgstr	"zeigt erste Seite des Artikels an"
 
-#: src/lang.c:283
+#: src/lang.c:287
 msgid	"post followup to current article"
 msgstr	"aktuellen Artikel beantworten (followup)"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid	"post followup (don't copy text) to current article"
 msgstr	"aktuellen Artikel beantworten, ohne Zitieren des Textes"
 
-#: src/lang.c:285
+#: src/lang.c:289
 msgid	"post followup to current article quoting complete headers"
 msgstr	"aktuellen Artikel beantworten, mit Komplettzitat der Header"
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid	"display last article in current thread"
 msgstr	"letzten Artikel im aktuellen Thread anzeigen"
 
-#: src/lang.c:287
+#: src/lang.c:291
 msgid	"display last page of article"
 msgstr	"letzte Seite des Artikels anzeigen"
 
-#: src/lang.c:288
+#: src/lang.c:292
 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:289
+#: src/lang.c:293
 msgid	"display next article"
 msgstr	"nächsten Artikel anzeigen"
 
-#: src/lang.c:290
+#: src/lang.c:294
 msgid	"display first article in next thread"
 msgstr	"zeigt den ersten Artikel im nächsten Thread an"
 
-#: src/lang.c:291 src/lang.c:298 src/lang.c:357 src/lang.c:358
+#: src/lang.c:295 src/lang.c:302 src/lang.c:361 src/lang.c:362
 msgid	"display next unread article"
 msgstr	"nächsten ungelesenen Artikel anzeigen"
 
-#: src/lang.c:292
+#: src/lang.c:296
 msgid	"go to the article that this one followed up"
 msgstr	"(Bezugs)Artikel anzeigen, den der aktuelle Artikel beantwortet hat"
 
-#: src/lang.c:293
+#: src/lang.c:297
 msgid	"display previous article"
 msgstr	"vorhergehenden Artikel anzeigen"
 
-#: src/lang.c:294 src/lang.c:360
+#: src/lang.c:298 src/lang.c:364
 msgid	"display previous unread article"
 msgstr	"vorhergehenden ungelesenen Artikel anzeigen"
 
-#: src/lang.c:295
+#: src/lang.c:299
 msgid	"quickly kill an article using defaults"
 msgstr	"killt einen Artikel schnell und benutzt dabei die Voreinstellungen"
 
-#: src/lang.c:296
+#: src/lang.c:300
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	"markiert (hervorheben) Artikel und benutzt die Voreinstellungen"
 
-#: src/lang.c:297
+#: src/lang.c:301
 msgid	"return to group selection level"
 msgstr	"kehrt zum Gruppenauswahlmenü zurück"
 
-#: src/lang.c:299
+#: src/lang.c:303
 msgid	"reply through mail to author"
 msgstr	"Antwort per Mail an den Autor"
 
-#: src/lang.c:300
+#: src/lang.c:304
 msgid	"reply through mail (don't copy text) to author"
 msgstr	"Antwort per Mail an den Autor (ohne Zitieren des Textes)"
 
-#: src/lang.c:301
+#: src/lang.c:305
 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:302 src/lang.c:362
+#: src/lang.c:306 src/lang.c:366
 msgid	"repost chosen article to another group"
 msgstr	"gewählten Artikel in eine andere Gruppe reposten"
 
-#: src/lang.c:303
+#: src/lang.c:307
 msgid	"search backwards within this article"
 msgstr	"sucht rückwärts innerhalb des Artikels"
 
-#: src/lang.c:304
+#: src/lang.c:308
 msgid	"search forwards within this article"
 msgstr	"sucht vorwärts innerhalb des Artikels"
 
-#: src/lang.c:305
+#: src/lang.c:309
 msgid	"show article in raw-mode (including all headers)"
 msgstr	"Artikel im Rohformat (inklusive aller Header) anzeigen"
 
-#: src/lang.c:306
+#: src/lang.c:310
 msgid	"skip next block of included text"
 msgstr	"überspringt den nächsten Zitatblock"
 
-#: src/lang.c:307
+#: src/lang.c:311
 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:308
+#: src/lang.c:312
 msgid	"toggle word highlighting on/off"
 msgstr	"schaltet das Wort-Hervorheben ein/aus"
 
-#: src/lang.c:309
+#: src/lang.c:313
 msgid	"toggle ROT-13 (basic decode) for current article"
 msgstr	"(de)aktiviert ROT-13 Dekodierung für den aktuellen Artikel"
 
-#: src/lang.c:310
+#: src/lang.c:314
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	"wechsle Tabulatorweite 4 <-> 8"
 
-#: src/lang.c:311
+#: src/lang.c:315
 msgid	"toggle german TeX style decoding for current article"
 msgstr	"(de)aktiviere deutsche TeX-style Dekodierung für aktuellen Artikel"
 
-#: src/lang.c:312
+#: src/lang.c:316
 msgid	"toggle display of uuencoded sections"
 msgstr	"Anzeige von UU-kodierten Teilen umschalten"
 
-#: src/lang.c:313
+#: src/lang.c:317
 msgid	"View/save multimedia attachments"
 msgstr	"Multimedia-Anhänge anzeigen/speichern"
 
-#: src/lang.c:314
+#: src/lang.c:318
 #, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	"sendet Fehlerbericht oder Kommentar via Mail an %s"
 
-#: src/lang.c:315
+#: src/lang.c:319
 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:316
+#: src/lang.c:320
 msgid	"escape from command prompt"
 msgstr	"Verlassen der Kommandozeile"
 
-#: src/lang.c:317
+#: src/lang.c:321
 msgid	"get help"
 msgstr	"zeigt die Hilfe"
 
-#: src/lang.c:318
+#: src/lang.c:322
 msgid	"display last article viewed"
 msgstr	"zeigt den zuletzt angezeigten Artikel an"
 
-#: src/lang.c:319
+#: src/lang.c:323
 msgid	"down one line"
 msgstr	"eine Zeile runter"
 
-#: src/lang.c:320
+#: src/lang.c:324
 msgid	"up one line"
 msgstr	"eine Zeile hoch"
 
-#: src/lang.c:321
+#: src/lang.c:325
 msgid	"go to article chosen by Message-ID"
 msgstr	"Artikel mit dieser Message-ID anzeigen"
 
-#: src/lang.c:322
+#: src/lang.c:326
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	"Artikel/Thread/hervorgeh./markierten Artikel per Mail weiterleiten"
 
-#: src/lang.c:323
+#: src/lang.c:327
 msgid	"menu of configurable options"
 msgstr	"Menü der konfigurierbaren Optionen"
 
-#: src/lang.c:324
+#: src/lang.c:328
 msgid	"down one page"
 msgstr	"eine Seite runter"
 
-#: src/lang.c:325
+#: src/lang.c:329
 msgid	"up one page"
 msgstr	"eine Seite hoch"
 
-#: src/lang.c:326
+#: src/lang.c:330
 msgid	"post (write) article to current group"
 msgstr	"poste (schreibe) Artikel in die aktuelle Gruppe"
 
-#: src/lang.c:327
+#: src/lang.c:331
 msgid	"post postponed articles"
 msgstr	"poste zurückgestellte Artikel"
 
-#: src/lang.c:328
+#: src/lang.c:332
 msgid	"list articles posted by you (from posted file)"
 msgstr	"listet ihre geposteten Artikel auf (aus der 'posted' Datei)"
 
-#: src/lang.c:329
+#: src/lang.c:333
 msgid	"return to previous menu"
 msgstr	"kehrt zum vorherigen Menü zurück"
 
-#: src/lang.c:330
+#: src/lang.c:334
 msgid	"quit tin immediately"
 msgstr	"beendet tin sofort"
 
-#: src/lang.c:331
+#: src/lang.c:335
 msgid	"redraw page"
 msgstr	"Bildschirmdarstellung neu zeichnen"
 
-#: src/lang.c:332
+#: src/lang.c:336
 msgid	"save article/thread/hot/pattern/tagged articles to file"
 msgstr	"speichert Artikel/Thread hervorgehoben/muster/markierten Artikel"
 
-#: src/lang.c:333
+#: src/lang.c:337
 msgid	"save marked articles automatically without user prompts"
 msgstr	"speichert markierte Artikel automatisch ohne Nachfrage"
 
-#: src/lang.c:334
+#: src/lang.c:338
 msgid	"search for articles by author backwards"
 msgstr	"sucht rückwärts nach Artikeln von Autor"
 
-#: src/lang.c:335
+#: src/lang.c:339
 msgid	"search for articles by author forwards"
 msgstr	"sucht vorwärts nach Artikeln von Autor"
 
-#: src/lang.c:336
+#: src/lang.c:340
 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:337
+#: src/lang.c:341
 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:338
+#: src/lang.c:342
 msgid	"search for articles by Subject line backwards"
 msgstr	"durchsucht Artikel rückwärts nach Subject Zeile"
 
-#: src/lang.c:339
+#: src/lang.c:343
 msgid	"search for articles by Subject line forwards"
 msgstr	"durchsucht Artikel vorwärts nach Subject Zeile"
 
-#: src/lang.c:340
+#: src/lang.c:344
 msgid	"repeat last search"
 msgstr	"letzte Suche wiederholen"
 
-#: src/lang.c:341
+#: src/lang.c:345
 msgid	"tag current article for reposting/mailing/piping/printing/saving"
 msgstr	"markiere Artikel für nochmaliges posten/pipen/drucken/abspeichern"
 
-#: src/lang.c:342
+#: src/lang.c:346
 msgid	"toggle info message in last line (subject/description)"
 msgstr	"Anzeige von Subject/Beschreibung in d. letzten Zeile (de)aktivieren"
 
-#: src/lang.c:343
+#: src/lang.c:347
 msgid	"toggle inverse video"
 msgstr	"(de)aktiviert inverse Darstellung"
 
-#: src/lang.c:344
+#: src/lang.c:348
 msgid	"toggle mini help menu display"
 msgstr	"schaltet das Minihilfemenü ein/aus"
 
-#: src/lang.c:345
+#: src/lang.c:349
 msgid	"show version information"
 msgstr	"zeige Versionsinformationen"
 
-#: src/lang.c:346
+#: src/lang.c:350
 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:347
+#: src/lang.c:351
 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:348
+#: src/lang.c:352
 msgid	"choose first thread in list"
 msgstr	"Wähle ersten Thread in der Liste"
 
-#: src/lang.c:349 src/lang.c:380
+#: src/lang.c:353 src/lang.c:384
 msgid	"choose group by name"
 msgstr	"Gruppe anhand des Namens auswählen"
 
-#: src/lang.c:350
+#: src/lang.c:354
 msgid	"choose last thread in list"
 msgstr	"Wähle letzten Thread in der Liste"
 
-#: src/lang.c:351
+#: src/lang.c:355
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	"listet Artikel im aktuellen Thread (öffnet das Thread Untermenü)"
 
-#: src/lang.c:352
+#: src/lang.c:356
 msgid	"mark article as unread"
 msgstr	"markiert Artikel als ungelesen"
 
-#: src/lang.c:353
+#: src/lang.c:357
 msgid	"mark current thread or tagged threads as read"
 msgstr	"markiert den aktuellen Thread oder markierte Artikel als gelesen"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid	"mark thread as unread"
 msgstr	"markiert den aktuellen Thread als ungelesen"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid	"toggle display of all/selected articles"
 msgstr	"wechselt zwischen der Anzeige aller/markierter (hot) Artikel"
 
-#: src/lang.c:356
+#: src/lang.c:360
 msgid	"display next group"
 msgstr	"zeige nächste Gruppe"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid	"display previous group"
 msgstr	"zeige vorhergehende Gruppe"
 
-#: src/lang.c:361 src/lang.c:409
+#: src/lang.c:365 src/lang.c:413
 msgid	"read chosen article"
 msgstr	"zeige gewählten Artikel"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid	"toggle all selections (all articles)"
 msgstr	"Markierung 'hot'/wichtig für alle Artikel umschalten"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid	"select group (make \"hot\")"
 msgstr	"Markierung 'hot'/wichtig für Gruppe setzen"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid	"select thread"
 msgstr	"Markierung 'hot'/wichtig für Thread setzen"
 
 # TODO: formating
-#: src/lang.c:366
+#: 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:367
+#: 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:368
+#: 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:369
+#: 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:370
+#: 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:371
+#: src/lang.c:375
 msgid	"toggle display of all/unread articles"
 msgstr	"wechselt zwischen der Anzeige aller/ungelesener Artikel"
 
-#: src/lang.c:372 src/lang.c:410
+#: src/lang.c:376 src/lang.c:414
 msgid	"cycle the display of authors email address, real name, both or neither"
 msgstr	"Zeigt des Autors EMail Adresse, Realname, beides oder keins an"
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid	"toggle selection of thread"
 msgstr	"Markierung 'hot'/wichtig für Thread setzen/entfernen"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid	"cycle through threading options available"
 msgstr	"wechsle durch die verschiedenen Threading-Optionen"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid	"undo all selections (all articles)"
 msgstr	"Markierung 'hot'/wichtig für alle Artikel entfernen"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid	"untag all tagged threads"
 msgstr	"hebt die Markierung der markierten Artikel auf"
 
-#: src/lang.c:377
+#: src/lang.c:381
 msgid	"mark all articles in group as read"
 msgstr	"markiert alle Artikel der Gruppe als gelesen"
 
-#: src/lang.c:378
+#: src/lang.c:382
 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:379
+#: src/lang.c:383
 msgid	"choose first group in list"
 msgstr	"Wähle erste Gruppe in der Liste"
 
-#: src/lang.c:381
+#: src/lang.c:385
 msgid	"0 - 9\t  choose group by number"
 msgstr	"0 - 9\t  wählt die Gruppe anhand der Nummer"
 
-#: src/lang.c:382
+#: src/lang.c:386
 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:383
+#: src/lang.c:387
 msgid	"choose last group in list"
 msgstr	"Wähle letzte Gruppe in der Liste"
 
-#: src/lang.c:384
+#: src/lang.c:388
 msgid	"mark all articles in chosen group unread"
 msgstr	"markiert alle Artikel in der gewählten Gruppe als ungelesen"
 
-#: src/lang.c:385
+#: src/lang.c:389
 msgid	"move chosen group within list"
 msgstr	"bewegt die gewählte Gruppe innerhalb der Liste"
 
-#: src/lang.c:386
+#: src/lang.c:390
 msgid	"choose next group with unread news"
 msgstr	"wählt die nächste Gruppe mit ungelesenen Artikeln"
 
-#: src/lang.c:387 src/lang.c:1169
+#: src/lang.c:391 src/lang.c:1173
 msgid	"quit"
 msgstr	"Beenden"
 
-#: src/lang.c:388
+#: src/lang.c:392
 msgid	"quit without saving configuration changes"
 msgstr	"beenden ohne die Konfigurationsänderungen zu sichern"
 
-#: src/lang.c:389
+#: src/lang.c:393
 msgid	"read chosen group"
 msgstr	"liest ausgewählte Gruppe"
 
-#: src/lang.c:390
+#: src/lang.c:394
 msgid	"reset .newsrc (all available articles in groups marked unread)"
 msgstr	"setzt die .newsrc zurück (alle Artikel als gelesen markiert)"
 
-#: src/lang.c:391
+#: src/lang.c:395
 msgid	"search backwards for a group name"
 msgstr	"sucht rückwärts nach einem Gruppennamen"
 
-#: src/lang.c:392
+#: src/lang.c:396
 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:393
+#: src/lang.c:397
 msgid	"search forwards for a group name"
 msgstr	"suche vorwärts nach einer Gruppe"
 
-#: src/lang.c:394
+#: src/lang.c:398
 msgid	"subscribe to chosen group"
 msgstr	"abonniert ausgewählte Gruppe"
 
-#: src/lang.c:395
+#: src/lang.c:399
 msgid	"subscribe to groups that match pattern"
 msgstr	"abonniere Gruppen, die auf das Muster passen"
 
-#: src/lang.c:396
+#: src/lang.c:400
 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:397
+#: src/lang.c:401
 msgid	"toggle display of group name only or group name plus description"
 msgstr	"Anzeige der Kurzbeschreibung der Gruppe (de)aktivieren."
 
-#: src/lang.c:398
+#: src/lang.c:402
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	"wechselt die Anzeige zwischen allen/ungelesenen abonnierten Gruppen"
 
-#: src/lang.c:399
+#: src/lang.c:403
 msgid	"unsubscribe from chosen group"
 msgstr	"bestellt ausgewählte Gruppe ab"
 
-#: src/lang.c:400
+#: src/lang.c:404
 msgid	"unsubscribe from groups that match pattern"
 msgstr	"bestelle Gruppen ab, die auf das Muster passen"
 
-#: src/lang.c:401
+#: src/lang.c:405
 msgid	"sort the list of groups"
 msgstr	"Liste der Gruppen sortieren"
 
-#: src/lang.c:402
+#: src/lang.c:406
 msgid	"toggle display to show all/subscribed groups"
 msgstr	"schaltet um zwischen der Anzeige aller/abonnierten Gruppen"
 
-#: src/lang.c:403
+#: src/lang.c:407
 msgid	"0 - 9\t  choose article by number"
 msgstr	"0 - 9\t  Wähle Artikel anhand der Nummer"
 
-#: src/lang.c:404
+#: src/lang.c:408
 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:405
+#: src/lang.c:409
 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:406
+#: src/lang.c:410
 msgid	"choose first article in list"
 msgstr	"wähle ersten Artikel in der Liste"
 
-#: src/lang.c:407
+#: src/lang.c:411
 msgid	"choose last article in list"
 msgstr	"wähle letzten Artikel in der Liste"
 
-#: src/lang.c:408
+#: src/lang.c:412
 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:415
 msgid	"Display properties\n"
 	"------------------"
 msgstr	"Darstellungsoptionen\n"
 	"--------------------"
 
-#: src/lang.c:412
+#: src/lang.c:416
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	"Verschiedenes\n"
 	"-------------"
 
-#: src/lang.c:413
+#: src/lang.c:417
 msgid	"Moving around\n"
 	"-------------"
 msgstr	"Position ändern\n"
 	"---------------"
 
-#: src/lang.c:414
+#: src/lang.c:418
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	"Gruppe/Thread/Artikel Kommandos\n"
 	"-------------------------------"
 
-#: src/lang.c:416
+#: src/lang.c:420
 msgid	"Group Level Commands"
 msgstr	"Gruppenlevel Befehle"
 
-#: src/lang.c:417
+#: src/lang.c:421
 msgid	"Kill filter added"
 msgstr	"Killfilter hinzugefügt"
 
-#: src/lang.c:418
+#: src/lang.c:422
 msgid	"Auto-selection filter added"
 msgstr	"Automatischer Auswahlfilter hinzugefügt"
 
-#: src/lang.c:419
+#: src/lang.c:423
 msgid	"All parts tagged"
 msgstr	"Alle Teile markiert"
 
-#: src/lang.c:420
+#: src/lang.c:424
 msgid	"Storing article for later posting"
 msgstr	"Speichert Artikel, um ihn später zu posten"
 
-#: src/lang.c:421
+#: src/lang.c:425
 msgid	"Please enter a valid character"
 msgstr	"Bitte ein gültiges Zeichen eingeben"
 
-#: src/lang.c:422
+#: src/lang.c:426
 #, c-format
 msgid	"Missing part #%d"
 msgstr	"Teil Nummer %d fehlt."
 
-#: src/lang.c:423
+#: src/lang.c:427
 msgid	"*** No postponed articles ***"
 msgstr	"*** Keine zurückgelegten Artikel ***"
 
-#: src/lang.c:424
+#: src/lang.c:428
 msgid	"Not a multi-part message"
 msgstr	"Kein mehrteiliger Artikel"
 
-#: src/lang.c:425
+#: src/lang.c:429
 msgid	"You are not subscribed to this group"
 msgstr	"Sie haben diese Gruppe nicht abonniert"
 
-#: src/lang.c:426
+#: src/lang.c:430
 msgid	"No previous expression"
 msgstr	"Kein vorhergehender Ausdruck"
 
-#: src/lang.c:427
+#: src/lang.c:431
 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:429
+#: src/lang.c:433
 #, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	"%d zurückgelegte %s, hervorholen mit ^O...\n"
 
-#: src/lang.c:430
+#: src/lang.c:434
 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:432
+#: src/lang.c:436
 #, 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:433
+#: src/lang.c:437
 msgid	"TeX2Iso encoded article"
 msgstr	"TeX2Iso kodierter Artikel"
 
-#: src/lang.c:434
+#: src/lang.c:438
 msgid	"incomplete "
 msgstr	"unvollständige "
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:436
+#: src/lang.c:440
 #, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -1909,129 +1931,129 @@ msgstr	"\n"
 	"Bitte senden Sie Fehlerberichte und Kommentare mittels des 'R' Kommandos an\n"
 	"%s.\n"
 
-#: src/lang.c:452
+#: src/lang.c:456
 #, 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:453
+#: src/lang.c:457
 #, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	"Ungültiger Sender:-Header %s"
 
-#: src/lang.c:454
+#: src/lang.c:458
 msgid	"Inverse video disabled"
 msgstr	"Inverse Bilddarstellung abgestellt"
 
-#: src/lang.c:455
+#: src/lang.c:459
 msgid	"Inverse video enabled"
 msgstr	"Inverse Bilddarstellung eingeschaltet"
 
-#: src/lang.c:457
+#: src/lang.c:461
 #, c-format
 msgid	"Missing definition for %s\n"
 msgstr	"Fehlende Definition für %s\n"
 
-#: src/lang.c:458
+#: src/lang.c:462
 #, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	"Ungültige Tastenbelegung '%s'\n"
 
-#: src/lang.c:459
+#: src/lang.c:463
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	"Ungültiger Tastenname '%s'\n"
 
-#: src/lang.c:460
+#: src/lang.c:464
 #, c-format
 msgid	"Key '%s' is defined for both %s%s and %s%s\n"
 msgstr	"Taste '%s' ist für %s%s und %s%s definiert\n"
 
-#: src/lang.c:461
+#: src/lang.c:465
 #, c-format
-msgid	"Kill From:     [%-*.*s] (y/n): "
-msgstr	"Filter From:   [%-*.*s] (j/n): "
+msgid	"Kill From:     [%s] (y/n): "
+msgstr	"Filter From:   [%s] (j/n): "
 
-#: src/lang.c:462
+#: src/lang.c:466
 msgid	"Kill Lines: (</>num): "
 msgstr	"Filter Z.:  (</>num): "
 
-#: src/lang.c:463
+#: src/lang.c:467
 msgid	"Kill Article Menu"
 msgstr	"Filter Menü (Kill, Bewertung/Score verringern)"
 
-#: src/lang.c:464
+#: src/lang.c:468
 #, c-format
-msgid	"Kill Msg-Id:   [%-*.*s] (f/l/o/n): "
-msgstr	"Filter Msg-Id: [%-*.*s] (v/l/n/n): "
+msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
+msgstr	"Filter Msg-Id: [%s] (v/l/n/n): "
 
-#: src/lang.c:465
+#: src/lang.c:469
 msgid	"Kill pattern scope  : "
 msgstr	"Filter nach Muster  : "
 
-#: src/lang.c:466
+#: src/lang.c:470
 #, c-format
-msgid	"Kill Subject:  [%-*.*s] (y/n): "
-msgstr	"Filter Subject:[%-*.*s] (j/n): "
+msgid	"Kill Subject:  [%s] (y/n): "
+msgstr	"Filter Subject:[%s] (j/n): "
 
-#: src/lang.c:467
+#: src/lang.c:471
 msgid	"Kill text pattern   : "
 msgstr	"Filter Textmuster   : "
 
-#: src/lang.c:468
+#: src/lang.c:472
 msgid	"Kill time in days   : "
 msgstr	"Filterzeit in Tagen : "
 
-#: src/lang.c:470
+#: src/lang.c:474
 msgid	"Last"
 msgstr	"Letzte"
 
-#: src/lang.c:471
+#: src/lang.c:475
 msgid	"-- Last response --"
 msgstr	"-- Letzte Antwort --"
 
-#: src/lang.c:472
+#: src/lang.c:476
 #, c-format
 msgid	"Lines %s  "
 msgstr	"Zeilen %s "
 
-#: src/lang.c:474
+#: src/lang.c:478
 msgid	"Message-ID: line              "
 msgstr	"Message-ID: Zeile             "
 
-#: src/lang.c:476
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	"Mailbox "
 
-#: src/lang.c:477
+#: src/lang.c:481
 #, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	"Mailt Artikel an [%.*s]> "
 
-#: src/lang.c:478
+#: src/lang.c:482
 #, c-format
 msgid	"Mailing log to %s\n"
 msgstr	"Maile Log-Datei an %s\n"
 
-#: src/lang.c:479
+#: src/lang.c:483
 msgid	"Mail bug report..."
 msgstr	"Maile einen Fehlerbericht..."
 
-#: src/lang.c:480
+#: src/lang.c:484
 #, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	"Fehlerbericht an %s senden?"
 
-#: src/lang.c:481
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	"Gemailt"
 
-#: src/lang.c:482
+#: src/lang.c:486
 #, c-format
 msgid	"Mailing to %s..."
 msgstr	"Senden der Mail an %s..."
 
-#: src/lang.c:483
+#: 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"
@@ -2041,283 +2063,283 @@ msgstr	"# [Mail/Speicher] active-Datei. 
 	"# Das 4. Feld ist das Basisverzeichnis (z.B. ~/Mail oder ~/News)\n"
 	"#\n"
 
-#: src/lang.c:486
+#: src/lang.c:490
 #, c-format
 msgid	"%s marked as unread"
 msgstr	"%s als ungelesen markiert"
 
-#: src/lang.c:487
+#: 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:488
+#: src/lang.c:492
 #, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	"Alle Artikel als gelesen markieren%s?"
 
-#: src/lang.c:489
+#: 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:490
+#: src/lang.c:494
 #, c-format
 msgid	"Mark group %.*s as read?"
 msgstr	"Die Gruppe %.*s als gelesen markieren?"
 
-#: src/lang.c:491
+#: src/lang.c:495
 #, c-format
 msgid	"Mark thread as read%s?"
 msgstr	"Den Thread als gelesen markieren%s?"
 
-#: src/lang.c:492
+#: 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:493
+#: src/lang.c:497
 #, c-format
 msgid	"Matching %s groups..."
 msgstr	"Übereinstimmende %s Gruppen..."
 
-#: src/lang.c:494 src/lang.c:498
+#: 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:495
+#: 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:496
+#: 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:497
+#: 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:499
+#: 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:500
+#: 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:501
+#: 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:502
+#: 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:503
+#: 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:504
+#: 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:505
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	"--Mehr--"
 
-#: src/lang.c:506
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	"Verschiebe %s..."
 
-#: src/lang.c:508
+#: src/lang.c:512
 msgid	", name: "
 msgstr	", Name: "
 
-#: src/lang.c:509
+#: src/lang.c:513
 #, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	"Gehe zu Gruppe [%s]> "
 
-#: src/lang.c:510
+#: src/lang.c:514
 msgid	"newsgroups"
 msgstr	"Gruppen"
 
-#: src/lang.c:511
+#: src/lang.c:515
 #, c-format
 msgid	"Position %s in group list (1,2,..,$) [%d]> "
 msgstr	"Position %s in der Gruppenliste (1,2,..,$) [%d]> "
 
-#: src/lang.c:512
+#: src/lang.c:516
 msgid	"newsgroup"
 msgstr	"Gruppe"
 
-#: src/lang.c:513
+#: src/lang.c:517
 msgid	"Try and save newsrc file again?"
 msgstr	"Erneut versuchen, die newsrc-Datei zu schreiben?"
 
-#: src/lang.c:514
+#: src/lang.c:518
 msgid	"Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr	"Warnung: Keine Newsgruppen in die newsrc geschrieben. Speicherabbruch"
 
-#: src/lang.c:515
+#: src/lang.c:519
 msgid	"newsrc file saved successfully.\n"
 msgstr	"newsrc-Datei erfolgreich geschrieben.\n"
 
-#: src/lang.c:516
+#: src/lang.c:520
 msgid	"-- Next response --"
 msgstr	"-- Nächste Antwort --"
 
-#: src/lang.c:517
+#: src/lang.c:521
 #, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"NNTP Anmeldepasswort für %s nicht gefunden"
 
-#: src/lang.c:518
+#: src/lang.c:522
 msgid	"No  "
 msgstr	"Nein"
 
-#: src/lang.c:519
+#: src/lang.c:523
 msgid	"*** No articles ***"
 msgstr	"*** Keine Artikel ***"
 
-#: src/lang.c:520
+#: src/lang.c:524
 msgid	"No articles have been posted"
 msgstr	"Es wurden keine Artikel gepostet"
 
-#: src/lang.c:521
+#: src/lang.c:525
 msgid	"*** No description ***"
 msgstr	"*** Keine Kurzbeschreibung ***"
 
-#: src/lang.c:522
+#: src/lang.c:526
 msgid	"No filename"
 msgstr	"Kein Dateiname"
 
-#: src/lang.c:523
+#: src/lang.c:527
 msgid	"No group"
 msgstr	"Keine Gruppe"
 
-#: src/lang.c:524
+#: src/lang.c:528
 msgid	"*** No groups ***"
 msgstr	"*** Keine Newsgruppen ***"
 
-#: src/lang.c:525
+#: src/lang.c:529
 msgid	"No more groups to read"
 msgstr	"Keine Gruppen zum Lesen übrig"
 
-#: src/lang.c:526
+#: src/lang.c:530
 msgid	"No last message"
 msgstr	"Keine letzte Nachricht"
 
-#: src/lang.c:527
+#: src/lang.c:531
 msgid	"No mail address"
 msgstr	"Keine EMail-Adresse"
 
-#: src/lang.c:528
+#: src/lang.c:532
 msgid	"No articles marked for saving"
 msgstr	"Keine Artikel zum Speichern markiert"
 
-#: src/lang.c:529
+#: src/lang.c:533
 msgid	"No match"
 msgstr	"Kein Treffer"
 
-#: src/lang.c:530
+#: src/lang.c:534
 msgid	"No more groups"
 msgstr	"Keine Gruppen mehr"
 
-#: src/lang.c:531
+#: src/lang.c:535
 msgid	"No newsgroups"
 msgstr	"Keine Newsgruppen"
 
-#: src/lang.c:532
+#: src/lang.c:536
 msgid	"No next unread article"
 msgstr	"Kein nächster ungelesener Artikel"
 
-#: src/lang.c:533
+#: src/lang.c:537
 msgid	"No previous group"
 msgstr	"Keine vorherige Gruppe"
 
-#: src/lang.c:534
+#: src/lang.c:538
 msgid	"No previous unread article"
 msgstr	"Kein vorheriger ungelesener Artikel"
 
-#: src/lang.c:535
+#: src/lang.c:539
 msgid	"No responses"
 msgstr	"Keine Antworten"
 
-#: src/lang.c:536
+#: src/lang.c:540
 msgid	"No responses to list in current thread"
 msgstr	"Keine Antworten vorhanden im aktuellen Thread"
 
-#: src/lang.c:537
+#: src/lang.c:541
 msgid	"No search string"
 msgstr	"Kein Suchmuster"
 
-#: src/lang.c:538
+#: src/lang.c:542
 msgid	"No subject"
 msgstr	"Kein Subject"
 
-#: src/lang.c:539
+#: src/lang.c:543
 #, 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:540
+#: src/lang.c:544
 #, 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:541
+#: src/lang.c:545
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	"%s: Terminal muss Schirmlöschen (cl) unterstützen\n"
 
-#: src/lang.c:542
+#: src/lang.c:546
 #, c-format
 msgid	"%s: Terminal must have cursor motion (cm)\n"
 msgstr	"%s: Terminal muss Cursor-Bewegungen unterstützen (cm)\n"
 
-#: src/lang.c:543
+#: src/lang.c:547
 #, 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:544
+#: src/lang.c:548
 #, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	"Kein Programm für %s/%s gefunden\n"
 
-#: src/lang.c:545
+#: src/lang.c:549
 msgid	"Newsgroup does not exist on this server"
 msgstr	"Newsgruppe existiert nicht auf diesem Server"
 
-#: src/lang.c:546
+#: src/lang.c:550
 #, c-format
 msgid	"Group %s not found in active file"
 msgstr	"Gruppe %s nicht in der Active-Datei gefunden"
 
-#: src/lang.c:547
+#: src/lang.c:551
 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:548
+#: src/lang.c:552
 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:549
+#: src/lang.c:553
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2344,40 +2366,40 @@ msgstr	"# NNTP-Server -> newsrc Übersetz
 	"#   news.ka.nu    /tmp/nrc-nu      kanu    nu\n"
 	"#\n"
 
-#: src/lang.c:556
+#: src/lang.c:560
 msgid	"Only"
 msgstr	"Nur"
 
-#: src/lang.c:557
+#: src/lang.c:561
 #, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	"Option nicht vorhanden. Neukompilieren mit %s."
 
-#: src/lang.c:558
+#: src/lang.c:562
 msgid	"Options Menu"
 msgstr	"Optionsmenü"
 
-#: src/lang.c:561
+#: src/lang.c:565
 #, 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:562
+#: src/lang.c:566
 #, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	"Fehler im regulären Ausdruck: Interner Fehler %d des pcre"
 
-#: src/lang.c:563
+#: src/lang.c:567
 #, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	"Fehler im regulären Ausdruck: pcre interner Fehler %s"
 
-#: src/lang.c:564
+#: src/lang.c:568
 msgid	"Post a followup..."
 msgstr	"Schreibe eine Antwort..."
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:566
+#: src/lang.c:570
 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"
@@ -2385,269 +2407,269 @@ 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:569
+#: src/lang.c:573
 msgid	"Posted articles history"
 msgstr	"Übersicht der geposteten Artikel"
 
-#: src/lang.c:570
+#: src/lang.c:574
 #, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	"In Newsgruppe(n) [%s] posten> "
 
-#: src/lang.c:571
+#: src/lang.c:575
 msgid	"-- post processing started --"
 msgstr	"-- Nachbearbeitung gestartet --"
 
-#: src/lang.c:572
+#: src/lang.c:576
 msgid	"-- post processing completed --"
 msgstr	"-- Nachbearbeitung beendet --"
 
-#: src/lang.c:573
+#: src/lang.c:577
 #, c-format
 msgid	"Post subject [%s]> "
 msgstr	"Wähle Subject [%s]> "
 
-#: src/lang.c:574
+#: src/lang.c:578
 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:575
+#: src/lang.c:579
 msgid	"Posting article..."
 msgstr	"Poste Artikel..."
 
-#: src/lang.c:576
+#: src/lang.c:580
 msgid	"Post postponed articles [%%.*s]? (%s/%s/%s/%s/%s): "
 msgstr	"Zurückgelegten Artikel [%%.*s]posten? (%s/%s/%s/%s/%s): "
 
-#: src/lang.c:577
+#: src/lang.c:581
 #, c-format
 msgid	"Hot %s"
 msgstr	"Wichtig/Hot %s"
 
-#: src/lang.c:578
+#: src/lang.c:582
 #, c-format
 msgid	"Tagged %s"
 msgstr	"%s markiert"
 
-#: src/lang.c:579
+#: src/lang.c:583
 #, c-format
 msgid	"Untagged %s"
 msgstr	"%s Markierung entfernt"
 
-#: src/lang.c:580
+#: src/lang.c:584
 msgid	"Processing mail messages marked for deletion."
 msgstr	"Bearbeite zum Löschen markierte EMails"
 
-#: src/lang.c:581
+#: src/lang.c:585
 msgid	"Processing saved articles marked for deletion."
 msgstr	"Bearbeite zum Löschen markierte gespeicherte Artikel."
 
-#: src/lang.c:582
+#: src/lang.c:586
 #, 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:583
+#: src/lang.c:587
 msgid	"Article unchanged, abort mailing?"
 msgstr	"Mail unverändert, Absenden abbrechen?"
 
-#: src/lang.c:584
+#: src/lang.c:588
 #, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	"Wollen Sie die zurückgestellten Artikel sehen (%d)?"
 
-#: src/lang.c:586
+#: src/lang.c:590
 msgid	"Add quick kill filter?"
 msgstr	"Artikel schnell (laut Voreinstellungen) killen?"
 
-#: src/lang.c:587
+#: src/lang.c:591
 msgid	"Add quick selection filter?"
 msgstr	"Filterregel (hochscoren) (laut Voreinstellungen) hinzufügen?"
 
-#: src/lang.c:588
+#: src/lang.c:592
 msgid	"Do you really want to quit?"
 msgstr	"Möchten Sie das Programm wirklich beenden?"
 
-#: src/lang.c:589
+#: src/lang.c:593
 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:590
+#: src/lang.c:594
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	"Es befinden sich markierte Artikel in der Gruppe, trotzdem beenden?"
 
-#: src/lang.c:591
+#: src/lang.c:595
 #, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=zurücklegen: "
 
-#: src/lang.c:592
+#: src/lang.c:596
 #, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	"%s=Abbrechen %s=Editieren %s=Kill-Filter speichern: "
 
-#: src/lang.c:593
+#: src/lang.c:597
 #, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	" %s=Abbrechen %s=Editieren %s=Filter (hot) speichern: "
 
-#: src/lang.c:594
+#: src/lang.c:598
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	"Wirklich ohne Speichern der Konfiguration beenden?"
 
-#: src/lang.c:597
+#: src/lang.c:601
 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:598
+#: src/lang.c:602
 msgid	"Do you want to abort this operation?"
 msgstr	"Wollen Sie diese Operation abbrechen?"
 
-#: src/lang.c:599
+#: src/lang.c:603
 msgid	"Do you want to exit tin immediately?"
 msgstr	"Wollen Sie tin augenblicklich verlassen?"
 
-#: src/lang.c:600
+#: src/lang.c:604
 msgid	"Read response> "
 msgstr	"Lese Antwort> "
 
-#: src/lang.c:601
+#: src/lang.c:605
 msgid	"Reading ('q' to quit)..."
 msgstr	"Lesen ('q' zum Beenden)..."
 
-#: src/lang.c:602
+#: src/lang.c:606
 #, c-format
 msgid	"Reading %sarticles..."
 msgstr	"Lese %sArtikel..."
 
-#: src/lang.c:603
+#: src/lang.c:607
 #, c-format
 msgid	"Reading %sattributes file...\n"
 msgstr	"Lese %sAttribute-Datei...\n"
 
-#: src/lang.c:604
+#: src/lang.c:608
 #, c-format
 msgid	"Reading %sconfig file...\n"
 msgstr	"Lese %sKonfigurations-Datei...\n"
 
-#: src/lang.c:605
+#: src/lang.c:609
 msgid	"Reading filter file...\n"
 msgstr	"Lese Filter-Datei...\n"
 
-#: src/lang.c:606
+#: src/lang.c:610
 #, c-format
 msgid	"Reading %s groups..."
 msgstr	"Lese %s Gruppen..."
 
-#: src/lang.c:607
+#: src/lang.c:611
 msgid	"Reading input history file...\n"
 msgstr	"Lese Eingabe-History...\n"
 
-#: src/lang.c:608
+#: src/lang.c:612
 msgid	"Reading keymap file...\n"
 msgstr	"Lese Tastaturbelegungen...\n"
 
-#: src/lang.c:609
+#: src/lang.c:613
 msgid	"Reading groups from active file... "
 msgstr	"Lese Gruppen aus dem Active... "
 
-#: src/lang.c:610
+#: src/lang.c:614
 msgid	"Reading groups from newsrc file... "
 msgstr	"Lese Gruppen aus der newsrc-Datei... "
 
-#: src/lang.c:611
+#: src/lang.c:615
 msgid	"Reading newsgroups file... "
 msgstr	"Lese Newsgroups-Datei... "
 
-#: src/lang.c:612
+#: src/lang.c:616
 msgid	"Reading newsrc file..."
 msgstr	"Lese newsrc-Datei..."
 
-#: src/lang.c:613
+#: src/lang.c:617
 #, c-format
 msgid	"Bogus group %s removed."
 msgstr	"Nicht vorhandene Gruppe %s entfernt."
 
-#: src/lang.c:614
+#: src/lang.c:618
 #, c-format
 msgid	"Error: rename %s to %s"
 msgstr	"Fehler: Benenne %s in %s"
 
-#: src/lang.c:615
+#: src/lang.c:619
 msgid	"Reply to author..."
 msgstr	"Mailantwort an Autor..."
 
-#: src/lang.c:616
+#: src/lang.c:620
 msgid	"Repost"
 msgstr	"Reposte"
 
-#: src/lang.c:617
+#: src/lang.c:621
 msgid	"Reposting article..."
 msgstr	"Wiederholtes posten des Artikels..."
 
-#: src/lang.c:618
+#: src/lang.c:622
 #, c-format
 msgid	"Repost article(s) to group(s) [%s]> "
 msgstr	"Wiederholtes posten de(s|r) Artikel(s) in [%s]> "
 
-#: src/lang.c:619
+#: src/lang.c:623
 msgid	"Reset newsrc?"
 msgstr	"newsrc zurücksetzen?"
 
-#: src/lang.c:620
+#: src/lang.c:624
 msgid	"Responses have been directed to the following newsgroups"
 msgstr	"Antworten werden in folgende Gruppen gepostet"
 
-#: src/lang.c:621
+#: src/lang.c:625
 #, c-format
 msgid	"Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr	"Antwort per Mail wurde angefordert. %s=Mail, %s=post, %s=beenden: "
 
-#: src/lang.c:622
+#: src/lang.c:626
 #, c-format
 msgid	"RespNo %4d of %4d"
 msgstr	"Antw. %4d von %4d"
 
-#: src/lang.c:623
+#: src/lang.c:627
 msgid	"Press <RETURN> to continue..."
 msgstr	"Drücken sie <RETURN> um fortzufahren..."
 
-#: src/lang.c:625
+#: src/lang.c:629
 #, c-format
-msgid	"Select From    [%-*.*s] (y/n): "
-msgstr	"Wähle From     [%-*.*s] (j/n): "
+msgid	"Select From    [%s] (y/n): "
+msgstr	"Wähle From     [%s] (j/n): "
 
-#: src/lang.c:626
+#: src/lang.c:630
 msgid	"Select Lines: (</>num): "
 msgstr	"Wähle Zeilen: (</>num): "
 
-#: src/lang.c:627
+#: src/lang.c:631
 msgid	"Auto-select Article Menu"
 msgstr	"Filter Menü (Bewertung/Score erhöhen)"
 
-#: src/lang.c:628
+#: src/lang.c:632
 #, c-format
-msgid	"Select Msg-Id  [%-*.*s] (f/l/o/n): "
-msgstr	"Wähle Msg-Id   [%-*.*s] (v/l/n/n): "
+msgid	"Select Msg-Id  [%s] (f/l/o/n): "
+msgstr	"Wähle Msg-Id   [%s] (v/l/n/n): "
 
-#: src/lang.c:629
+#: src/lang.c:633
 msgid	"Select pattern scope: "
 msgstr	"Wähle Muster        : "
 
-#: src/lang.c:630
+#: src/lang.c:634
 #, c-format
-msgid	"Select Subject [%-*.*s] (y/n): "
-msgstr	"Wähle Subject  [%-*.*s] (j/n): "
+msgid	"Select Subject [%s] (y/n): "
+msgstr	"Wähle Subject  [%s] (j/n): "
 
-#: src/lang.c:631
+#: src/lang.c:635
 msgid	"Select text pattern : "
 msgstr	"Wähle Textmuster    : "
 
-#: src/lang.c:632
+#: src/lang.c:636
 msgid	"Select time in days   : "
 msgstr	"Wähle Zeit in Tagen   : "
 
-#: src/lang.c:633
+#: src/lang.c:637
 #, c-format
 msgid	"# %s server configuration file\n"
 	"# This file was automatically saved by %s %s %s (\"%s\")\n"
@@ -2667,218 +2689,218 @@ msgstr	"# %s Server Konfigurationsdatei\
 	"############################################################################\n"
 	"\n"
 
-#: src/lang.c:639
+#: src/lang.c:643
 msgid	"Showing unread groups only"
 msgstr	"Zeige nur Gruppen mit ungelesenen Artikeln"
 
-#: src/lang.c:640
+#: src/lang.c:644
 msgid	"Subject: line (ignore case)   "
 msgstr	"Subject: Z. (Groß-Kl. ign.)                  "
 
-#: src/lang.c:641
+#: src/lang.c:645
 msgid	"Subject: line (case sensitive)"
 msgstr	"Subject: Z. (Groß-Kl. beachten)              "
 
-#: src/lang.c:642
+#: src/lang.c:646
 msgid	"Save"
 msgstr	"Speichern"
 
-#: src/lang.c:643
+#: src/lang.c:647
 #, c-format
 msgid	"Save '%s' (%s/%s)?"
 msgstr	"'%s' (%s/%s) speichern?"
 
-#: src/lang.c:644
+#: src/lang.c:648
 msgid	"Save configuration before continuing?"
 msgstr	"Zuerst Konfiguration speichern und danach fortfahren?"
 
-#: src/lang.c:645
+#: src/lang.c:649
 msgid	"Save filename> "
 msgstr	"Name der zu speichernden Datei> "
 
-#: src/lang.c:646
+#: src/lang.c:650
 msgid	"Saved"
 msgstr	"Gespeichert"
 
-#: src/lang.c:647
+#: src/lang.c:651
 #, c-format
 msgid	"%4d unread (%4d hot) %s in %s\n"
 msgstr	"%4d ungelesene (%4d 'hot') %s in %s\n"
 
-#: src/lang.c:648
+#: src/lang.c:652
 #, c-format
 msgid	"Saved %s...\n"
 msgstr	"%s gespeichert...\n"
 
-#: src/lang.c:649
+#: src/lang.c:653
 msgid	"Nothing was saved"
 msgstr	"Nichts gespeichert"
 
-#: src/lang.c:650
+#: src/lang.c:654
 #, c-format
 msgid	"\n"
 	"%s %d %s from %d %s\n"
 msgstr	"\n"
 	"%s %d %s aus %d %s\n"
 
-#: src/lang.c:651
+#: src/lang.c:655
 #, c-format
 msgid	"-- %s saved to %s%s --"
 msgstr	"-- %s nach %s%s gespeichert --"
 
-#: src/lang.c:652
+#: src/lang.c:656
 #, c-format
 msgid	"-- %s saved to %s - %s --"
 msgstr	"-- %s gespeichert als %s - %s --"
 
-#: src/lang.c:653
+#: src/lang.c:657
 msgid	"Saving..."
 msgstr	"Speichere..."
 
-#: src/lang.c:654
+#: src/lang.c:658
 #, c-format
 msgid	"%s: Screen initialization failed"
 msgstr	"%s: Initialisierung des Bildschirms fehlgeschlagen"
 
-#: src/lang.c:655
+#: src/lang.c:659
 #, c-format
 msgid	"%s: screen is too small\n"
 msgstr	"%s: Anzeige ist zu klein\n"
 
-#: src/lang.c:656
+#: src/lang.c:660
 #, c-format
 msgid	"screen is too small, %s is exiting\n"
 msgstr	"Anzeige zu klein, %s beendet sich\n"
 
-#: src/lang.c:657
+#: src/lang.c:661
 #, c-format
 msgid	"Search backwards [%s]> "
 msgstr	"Suche rückwärts [%s]> "
 
-#: src/lang.c:658
+#: src/lang.c:662
 #, c-format
 msgid	"Search body [%s]> "
 msgstr	"Durchsuche Artikelinhalt [%s]> "
 
-#: src/lang.c:659
+#: src/lang.c:663
 #, c-format
 msgid	"Search forwards [%s]> "
 msgstr	"Suche vorwärts [%s]> "
 
-#: src/lang.c:660
+#: src/lang.c:664
 msgid	"Searching..."
 msgstr	"Suche..."
 
-#: src/lang.c:661
+#: src/lang.c:665
 #, c-format
 msgid	"Searching article %d of %d ('q' to abort)..."
 msgstr	"Suche Artikel %d von %d ('q' zum abbrechen)..."
 
-#: src/lang.c:662
+#: src/lang.c:666
 msgid	"Select article> "
 msgstr	"Wähle Artikel> "
 
-#: src/lang.c:663
+#: src/lang.c:667
 msgid	"Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr	"Wähle Optionsnummer, oder benutze die Cursor Tasten und <CR>. 'q' zum beenden."
 
-#: src/lang.c:664
+#: src/lang.c:668
 msgid	"Select group> "
 msgstr	"Wähle Gruppe> "
 
-#: src/lang.c:665
+#: src/lang.c:669
 #, c-format
 msgid	"Enter selection pattern [%s]> "
 msgstr	"Nenne das Auswahlmuster [%s]> "
 
-#: src/lang.c:666
+#: src/lang.c:670
 msgid	"Select thread > "
 msgstr	"Wähle thread > "
 
-#: src/lang.c:667
+#: src/lang.c:671
 #, c-format
 msgid	"%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n"
 msgstr	"%s %s %s (\"%s\") [%s]: schicken sie einen DETAILIERTEN Fehlerbericht an %s\n"
 
-#: src/lang.c:668
+#: src/lang.c:672
 msgid	"servers active-file"
 msgstr	"Die 'active' Datei des Servers"
 
-#: src/lang.c:669
+#: src/lang.c:673
 msgid	"Cannot move into new newsgroups. Subscribe first..."
 msgstr	"Kann die Newsgruppe nicht öffnen. Sie muss erst abonniert werden..."
 
-#: src/lang.c:670
+#: src/lang.c:674
 msgid	"<SPACE>"
 msgstr	"<LEERT>"
 
-#: src/lang.c:671
+#: src/lang.c:675
 #, c-format
 msgid	"Starting: (%s)"
 msgstr	"Starte: (%s)"
 
-#: src/lang.c:672
+#: src/lang.c:676
 #, c-format
 msgid	"List Thread (%d of %d)"
 msgstr	"Zeige Thread (%d von %d)"
 
-#: src/lang.c:673
+#: src/lang.c:677
 #, c-format
 msgid	"Thread (%.*s)"
 msgstr	"Thread (%.*s)"
 
-#: src/lang.c:674
+#: src/lang.c:678
 msgid	"Enter wildcard subscribe pattern> "
 msgstr	"Wildcardmuster für zu abonnierende Gruppen> "
 
-#: src/lang.c:675
+#: src/lang.c:679
 #, c-format
 msgid	"subscribed to %d groups"
 msgstr	"%d Gruppen sind abonniert"
 
-#: src/lang.c:676
+#: src/lang.c:680
 #, c-format
 msgid	"Subscribed to %s"
 msgstr	"%s wurde abonniert"
 
-#: src/lang.c:677
+#: src/lang.c:681
 msgid	"Subscribing... "
 msgstr	"Abonniere... "
 
-#: src/lang.c:678
+#: src/lang.c:682
 msgid	"Repost or supersede article(s) [%%.*s]? (%s/%s/%s): "
 msgstr	"Artikel erneut posten oder überschreiben [%%.*s]? (%s/%s/%s): "
 
-#: src/lang.c:679
+#: src/lang.c:683
 #, c-format
 msgid	"Supersede article(s) to group(s) [%s]> "
 msgstr	"Supersede (überschreibe) Artikel in den Gruppen [%s]> "
 
-#: src/lang.c:680
+#: src/lang.c:684
 msgid	"Superseding article ..."
 msgstr	"Überschreibe Artikel ..."
 
-#: src/lang.c:681
+#: src/lang.c:685
 #, c-format
 msgid	"\n"
 	"Stopped. Type 'fg' to restart %s\n"
 msgstr	"\n"
 	"Angehalten. Geben sie 'fg' ein um %s wieder zu starten\n"
 
-#: src/lang.c:683
+#: src/lang.c:687
 #, c-format
 msgid	"%d days"
 msgstr	"%d Tage"
 
-#: src/lang.c:684
+#: src/lang.c:688
 msgid	"<TAB>"
 msgstr	"<TAB>"
 
-#: src/lang.c:685
+#: src/lang.c:689
 msgid	"# Default action/prompt strings\n"
 msgstr	"# Voreingestellte Aktion/zeige Zeichenkette\n"
 
-#: src/lang.c:686
+#: src/lang.c:690
 msgid	"# Defaults for quick (1 key) kill & auto-selection filters\n"
 	"# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
 	"#             5=Message-ID: & last References: entry only\n"
@@ -2894,261 +2916,261 @@ msgstr	"# Voreinstellung für schnellen (
 	"# case=ON/OFF    ON=Filter case sensitive OFF=ignoriere case\n"
 	"# expire=ON/OFF  ON=Verfallen nach default_filter_days OFF=verfällt nie\n"
 
-#: src/lang.c:699
+#: src/lang.c:703
 msgid	"# If ON use print current subject or newsgroup description in the last line\n"
 msgstr	"# Falls ON anzeige des Subject oder des Gruppennamens in der letzten Zeile.\n"
 
-#: src/lang.c:700
+#: src/lang.c:704
 msgid	"# Host & time info used for detecting new groups (don't touch)\n"
 msgstr	"# Host & Zeit Info benutzen um neue Gruppen zu finden (nicht ändern)\n"
 
-#: src/lang.c:701
+#: src/lang.c:705
 msgid	"There is no news\n"
 msgstr	"Es gibt keine neuen Artikel\n"
 
-#: src/lang.c:702
+#: src/lang.c:706
 msgid	"Thread"
 msgstr	"Thread"
 
-#: src/lang.c:703
+#: src/lang.c:707
 msgid	"Thread Level Commands"
 msgstr	"Thread Level Kommandos"
 
-#: src/lang.c:704
+#: src/lang.c:708
 msgid	"Thread deselected"
 msgstr	"Thread nicht mehr ausgewählt"
 
-#: src/lang.c:705
+#: src/lang.c:709
 msgid	"Thread selected"
 msgstr	"Thread ausgewählt"
 
-#: src/lang.c:706
+#: src/lang.c:710
 msgid	"threads"
 msgstr	"Threads"
 
-#: src/lang.c:707
+#: src/lang.c:711
 msgid	"Thread range"
 msgstr	"Thread-Bereich"
 
-#: src/lang.c:708
+#: src/lang.c:712
 msgid	"thread"
 msgstr	"Thread"
 
-#: src/lang.c:709
+#: src/lang.c:713
 #, c-format
 msgid	"Thread %4s of %4s"
 msgstr	"Thread %4s v. %4s"
 
-#: src/lang.c:710
+#: src/lang.c:714
 msgid	"Threading articles..."
 msgstr	"Sortiere Artikel..."
 
-#: src/lang.c:711
+#: src/lang.c:715
 #, c-format
 msgid	"Toggled word highlighting %s"
 msgstr	"Wort-Hervorhebung: %s"
 
-#: src/lang.c:712
+#: src/lang.c:716
 msgid	"Toggled rot13 encoding"
 msgstr	"ROT13-Kodierung (de)aktiviert"
 
-#: src/lang.c:713
+#: src/lang.c:717
 #, c-format
 msgid	"Toggled german TeX encoding %s"
 msgstr	"Deutsche TeX-Dekodierung: %s"
 
-#: src/lang.c:714
+#: src/lang.c:718
 #, c-format
 msgid	"Toggled tab-width to %d"
 msgstr	"Tabulatorweite zu %d gewechselt"
 
-#: src/lang.c:715
+#: src/lang.c:719
 #, c-format
 msgid	"%d Trying to dotlock %s"
 msgstr	"%d Versuche %s zu dotlocken"
 
-#: src/lang.c:716
+#: src/lang.c:720
 #, c-format
 msgid	"%d Trying to lock %s"
 msgstr	"%d Versuche %s zu locken"
 
-#: src/lang.c:717
+#: src/lang.c:721
 msgid	"           h=help\n"
 msgstr	"          h=Hilfe\n"
 
-#: src/lang.c:719
+#: src/lang.c:723
 msgid	"Unlimited"
 msgstr	"Unbegrenzt"
 
-#: src/lang.c:720
+#: src/lang.c:724
 msgid	"Enter wildcard unsubscribe pattern> "
 msgstr	"Wildcardmuster für abzubestellende Gruppen> "
 
-#: src/lang.c:721
+#: src/lang.c:725
 #, c-format
 msgid	"Error decoding %s : %s"
 msgstr	"Fehler beim Dekodieren von %s : %s"
 
-#: src/lang.c:722
+#: src/lang.c:726
 msgid	"No end."
 msgstr	"Kein Ende."
 
-#: src/lang.c:723
+#: src/lang.c:727
 #, c-format
 msgid	"%s successfully decoded."
 msgstr	"%s erfolgreich dekodiert"
 
-#: src/lang.c:724
+#: src/lang.c:728
 #, c-format
 msgid	"%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 	"\n"
 msgstr	"%*s[-- %s/%s, %suukodierte Datei, %d Zeilen, Name: %s --]\n"
 	"\n"
 
-#: src/lang.c:725
+#: src/lang.c:729
 msgid	"unread "
 msgstr	"ungelesen "
 
-#: src/lang.c:726
+#: src/lang.c:730
 #, c-format
 msgid	"unsubscribed from %d groups"
 msgstr	"%d Gruppen abbestellt"
 
-#: src/lang.c:727
+#: src/lang.c:731
 #, c-format
 msgid	"Unsubscribed from %s"
 msgstr	"%s wurde abbestellt"
 
-#: src/lang.c:728
+#: src/lang.c:732
 msgid	"Unsubscribing... "
 msgstr	"Abbestellen... "
 
-#: src/lang.c:729
+#: src/lang.c:733
 msgid	"Unthreading articles..."
 msgstr	"Aktuelle Sortierung der Artikel aufheben..."
 
-#: src/lang.c:730
+#: src/lang.c:734
 msgid	"Updated"
 msgstr	"Aktualisiert"
 
-#: src/lang.c:731
+#: src/lang.c:735
 msgid	"Updating"
 msgstr	"Aktualisiere"
 
-#: src/lang.c:732
+#: src/lang.c:736
 #, c-format
 msgid	"Opening %s\n"
 msgstr	"Öffne %s\n"
 
-#: src/lang.c:733
+#: src/lang.c:737
 msgid	"No more URL's in this article"
 msgstr	"Keine weiteren URLs im Artikel"
 
-#: src/lang.c:734
+#: src/lang.c:738
 msgid	"Use MIME display program for this message?"
 msgstr	"MIME-Anzeigeprogramm für diese Nachricht benutzen?"
 
-#: src/lang.c:735
+#: src/lang.c:739
 msgid	"  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr	"  -c       Markiere Artikel gelesen in den abonnierten Gruppen (Batch-Modus)"
 
-#: src/lang.c:736
+#: src/lang.c:740
 msgid	"  -Z       return status indicating if any unread news (batch mode)"
 msgstr	"  -Z       Rückgabewert zeigt, ob ungelesene Artikel vorliegen (Batch-Modus)"
 
-#: src/lang.c:737
+#: src/lang.c:741
 msgid	"  -q       don't check for new newsgroups"
 msgstr	"  -q       Überprüfe nicht auf neue Newsgruppen"
 
-#: src/lang.c:738
+#: src/lang.c:742
 msgid	"  -X       don't save any files on quit"
 msgstr	"  -X       Speicher keine Dateien beim Beenden"
 
-#: src/lang.c:739
+#: src/lang.c:743
 msgid	"  -d       don't show newsgroup descriptions"
 msgstr	"  -d       Zeige keine Newsgruppenbeschreibungen"
 
-#: src/lang.c:740
+#: src/lang.c:744
 msgid	"  -G limit get only limit articles/group"
 msgstr	"  -G limit Hole nur 'limit' Artikel pro Newsgruppe"
 
-#: src/lang.c:741
+#: src/lang.c:745
 #, c-format
 msgid	"  -H       help information about %s"
 msgstr	"  -H       Hilfe und Informationen über %s"
 
-#: src/lang.c:742
+#: src/lang.c:746
 msgid	"  -h       this help message"
 msgstr	"  -h       Diese Hilfeseite"
 
-#: src/lang.c:743
+#: src/lang.c:747
 #, c-format
 msgid	"  -I dir   news index file directory [default=%s]"
 msgstr	"  -I Verz. Verzeichnis für Artikel-Index-Datei [Standard=%s]"
 
-#: src/lang.c:744
+#: src/lang.c:748
 msgid	"  -u       update index files (batch mode)"
 msgstr	"  -u       Erneuere Index-Dateien (Batch-Modus)"
 
-#: src/lang.c:745
+#: src/lang.c:749
 #, c-format
 msgid	"  -m dir   mailbox directory [default=%s]"
 msgstr	"  -m Verz. Mailbox-Verzeichnis [Standard=%s]"
 
-#: src/lang.c:746
+#: src/lang.c:750
 #, c-format
 msgid	"\n"
 	"Mail bug reports/comments to %s"
 msgstr	"\n"
 	"Schicken Sie Fehlerberichte/Kommentare an %s"
 
-#: src/lang.c:747
+#: src/lang.c:751
 msgid	"  -N       mail new news to your posts (batch mode)"
 msgstr	"  -N       Maile neue Artikel an sich selbst (Batch-Modus)"
 
-#: src/lang.c:748
+#: src/lang.c:752
 msgid	"  -M user  mail new news to specified user (batch mode)"
 msgstr	"  -M user  Maile neue News-Artikel an 'user' (Batch-Modus)"
 
-#: src/lang.c:749
+#: src/lang.c:753
 #, c-format
 msgid	"  -f file  subscribed to newsgroups file [default=%s]"
 msgstr	"  -f Datei 'Datei' als .newsrc-Datei nutzen [Standard=%s]"
 
-#: src/lang.c:750
+#: src/lang.c:754
 msgid	"  -x       no posting mode"
 msgstr	"  -x       Posten nicht erlaubt Modus"
 
-#: src/lang.c:751
+#: src/lang.c:755
 msgid	"  -w       post an article and exit"
 msgstr	"  -w       Postet einen Artikel und beendet tin"
 
-#: src/lang.c:752
+#: src/lang.c:756
 msgid	"  -o       post all postponed articles and exit"
 msgstr	"  -o       Postet alle zurückgelegten Artikel und beendet tin"
 
-#: src/lang.c:753
+#: src/lang.c:757
 msgid	"  -r       read news remotely from default NNTP server"
 msgstr	"  -r       Lese Artikel vom Standard-NNTP-Server"
 
-#: src/lang.c:754
+#: src/lang.c:758
 msgid	"  -R       read news saved by -S option"
 msgstr	"  -R       Lese Artikel, die durch -S gespeichert wurden"
 
-#: src/lang.c:755
+#: src/lang.c:759
 #, c-format
 msgid	"  -s dir   save news directory [default=%s]"
 msgstr	"  -s Verz. Verzeichnis zum News-Speichern [Standard=%s]"
 
-#: src/lang.c:756
+#: src/lang.c:760
 msgid	"  -S       save new news for later reading (batch mode)"
 msgstr	"  -S       Speichere Artikel für das spätere Lesen (Batch-Modus)"
 
-#: src/lang.c:757
+#: src/lang.c:761
 msgid	"  -z       start if any unread news"
 msgstr	"  -z       Starte, wenn ungelesene Artikel vorliegen"
 
-#: src/lang.c:758
+#: src/lang.c:762
 #, c-format
 msgid	"A Usenet reader.\n"
 	"\n"
@@ -3157,37 +3179,37 @@ msgstr	"Ein Usenet-Client.\n"
 	"\n"
 	"Syntax: %s [Optionen] [Newsgruppe[,...]]"
 
-#: src/lang.c:759
+#: src/lang.c:763
 msgid	"  -v       verbose output for batch mode options"
 msgstr	"  -v       Ausführliche Ausgabe für Batch-Modus-Optionen"
 
-#: src/lang.c:760
+#: src/lang.c:764
 msgid	"  -V       print version & date information"
 msgstr	"  -V       Gebe Versions- und Datumsinformationen aus"
 
-#: src/lang.c:761
+#: src/lang.c:765
 #, c-format
 msgid	"%s only useful without batch mode operations\n"
 msgstr	"%s ist nur sinnvoll ohne Batchmodeoperationen\n"
 
-#: src/lang.c:762
+#: src/lang.c:766
 #, c-format
 msgid	"%s only useful for batch mode operations\n"
 msgstr	"%s ist nur sinnvoll für Batchmodeoperationen\n"
 
-#: src/lang.c:764
+#: src/lang.c:768
 #, c-format
 msgid	"\n"
 	"%s%d out of range (0 - %d). Reset to 0"
 msgstr	"\n"
 	"%s%d ist außerhalb der Grenzen (0 - %d). Zurücksetzen auf 0"
 
-#: src/lang.c:765
+#: src/lang.c:769
 #, c-format
 msgid	"View '%s' (%s/%s)?"
 msgstr	"'%s' (%s/%s) anzeigen?"
 
-#: src/lang.c:767
+#: src/lang.c:771
 #, c-format
 msgid	"\n"
 	"Warning: posting exceeds %d columns. Line %d is the first long one:\n"
@@ -3196,26 +3218,26 @@ msgstr	"\n"
 	"Warnung: Artikel überschreitet %d Spalten. Zeile %d ist die erste lange:\n"
 	"%-100s\n"
 
-#: src/lang.c:768
+#: src/lang.c:772
 msgid	"\n"
 	"Warning: article unchanged after editing\n"
 msgstr	"\n"
 	"Warnung: Artikel wurde im Editor nicht verändert\n"
 
-#: src/lang.c:769
+#: src/lang.c:773
 msgid	"\n"
 	"Warning: \"Subject:\" contains only whitespaces.\n"
 msgstr	"\n"
 	"Warnung: \"Subject:\" enthält nur Leerzeichen.\n"
 
-#: src/lang.c:770
+#: src/lang.c:774
 msgid	"\n"
 	"Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n"
 msgstr	"\n"
 	"Warnung: \"Subject:\" beginnt mit \"Re: \", aber es gibt keine "
 	"\"References:\".\n"
 
-#: src/lang.c:772
+#: src/lang.c:776
 msgid	"\n"
 	"Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
 	"         with \"Re: \" and does not contain \"(was:\".\n"
@@ -3223,7 +3245,7 @@ msgstr	"\n"
 	"Warnung: Artikel hat \"References:\" aber \"Subject:\" beginnt nicht\n"
 	"         mit \"Re: \" and enthält auch kein \"(was:\".\n"
 
-#: src/lang.c:775
+#: src/lang.c:779
 msgid	"Read carefully!\n"
 	"\n"
 	"  You are about to cancel an article seemingly written by you. This will "
@@ -3243,7 +3265,7 @@ msgstr	"Sorgfältig lesen!\n"
 	"Das ist der Artikel, den sie canceln (löschen) wollen:\n"
 	"\n"
 
-#: src/lang.c:779
+#: src/lang.c:783
 msgid	"\n"
 	"Warning: You are using a non-plain transfer encoding (such as base64 or\n"
 	"         quoted-printable) and an external inews program to submit your\n"
@@ -3255,7 +3277,7 @@ msgstr	"\n"
 	"         Artikel zu übertragen. Falls durch diesen inews eine Signatur\n"
 	"         angehängt wird, so kann diese nicht korrekt kodiert werden.\n"
 
-#: src/lang.c:784
+#: src/lang.c:788
 #, c-format
 msgid	"\n"
 	"\n"
@@ -3268,7 +3290,7 @@ msgstr	"\n"
 	"Einige Einstellungen in Ihrem %s-File haben sich geändert!\n"
 	"Lesen sie \"WHATSNEW\", usw....\n"
 
-#: src/lang.c:786
+#: src/lang.c:790
 #, c-format
 msgid	"\n"
 	"\n"
@@ -3280,7 +3302,7 @@ msgstr	"\n"
 	"Evtl. werden Einstellungen in Ihrem %s-File nicht erkannt\n"
 	"oder ändern sich!\n"
 
-#: src/lang.c:789
+#: src/lang.c:793
 #, c-format
 msgid	"Warning: tin wrote fewer groups to your\n"
 	"\t%s\n"
@@ -3293,19 +3315,19 @@ msgstr	"Warnung: tin hat weniger Gruppen
 	"währenddessen abbestellt haben, ist ein Fehler aufgetreten und Sie sollten\n"
 	"ihre %s wiederherstellen, bevor Sie tin nochmal starten!\n"
 
-#: src/lang.c:793
+#: src/lang.c:797
 #, c-format
 msgid	"\n"
 	"Warning: Found %d '-- \\n' lines, this may confuse some people.\n"
 msgstr	"\n"
 	"Warnung: Es gibt %d '-- \\n' Zeilen. Das könnte einige Leute verwirren.\n"
 
-#: src/lang.c:794
+#: src/lang.c:798
 #, c-format
 msgid	"Warning: Only %d out of %d articles were saved"
 msgstr	"Warnung: Nur %d von %d Artikeln gespeichert"
 
-#: src/lang.c:795
+#: src/lang.c:799
 #, c-format
 msgid	"\n"
 	"Warning: Your signature  is longer than %d lines.  Since signatures usually "
@@ -3319,48 +3341,48 @@ msgstr	"\n"
 	"         nützlichen Informationen enthalten, sollten sie so kurz wie möglich\n"
 	"         gehalten werden.\n"
 
-#: src/lang.c:799
+#: src/lang.c:803
 #, c-format
 msgid	"Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr	"Warnung: E-Mailadr. evtl. verfälscht (Spamfalle). %s=weiter, %s=Abbruch? "
 
-#: src/lang.c:800
+#: src/lang.c:804
 msgid	"\n"
 	"Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
 msgstr	"\n"
 	"Warnung: Signaturen sollten mit '-- \\n' und nicht mit '--\\n' beginnen.\n"
 
-#: src/lang.c:801
+#: src/lang.c:805
 msgid	"Writing attributes file..."
 msgstr	"Schreibe Datei mit den Eigenschaften der Newsgruppen..."
 
-#: src/lang.c:803
+#: src/lang.c:807
 #, c-format
 msgid	"%d Responses"
 msgstr	"%d Antworten"
 
-#: src/lang.c:805
+#: src/lang.c:809
 #, c-format
 msgid	"Added %d %s"
 msgstr	"%d %s hinzugefügt"
 
-#: src/lang.c:806
+#: src/lang.c:810
 msgid	"No unsubscribed groups to show"
 msgstr	"Keine nicht abonnierte Gruppen gefunden"
 
-#: src/lang.c:807
+#: src/lang.c:811
 msgid	"Showing subscribed to groups only"
 msgstr	"Zeige nur abonnierte Gruppen"
 
-#: src/lang.c:808
+#: src/lang.c:812
 msgid	"Yes "
 msgstr	"Ja  "
 
-#: src/lang.c:809
+#: src/lang.c:813
 msgid	"    You have mail\n"
 msgstr	"   Sie haben Mail\n"
 
-#: src/lang.c:814
+#: src/lang.c:818
 #, c-format
 msgid	"\n"
 	"Warning: Posting is in %s and contains characters which are not\n"
@@ -3379,16 +3401,16 @@ msgstr	"\n"
 	"         entfernen oder MM_NETWORK_CHARSET im M)neu auf einen\n"
 	"         passenderen Wert setzen.\n"
 
-#: src/lang.c:825
+#: src/lang.c:829
 #, c-format
 msgid	"Redefined key %s '%s' -> '%s'\n"
 msgstr	"Neubelegung %s '%s' -> '%s'\n"
 
-#: src/lang.c:826
+#: src/lang.c:830
 msgid	"  -D       debug mode 1=NNTP 2=ALL"
 msgstr	"  -D       Debug-Modus 1=NNTP 2=ALLES"
 
-#: src/lang.c:830
+#: src/lang.c:834
 msgid	"Read carefully!\n"
 	"\n"
 	"  You are about to cancel an article seemingly not written by you.  This "
@@ -3414,11 +3436,11 @@ msgstr	"Sorgfältig lesen!\n"
 	"Dies ist der Artikel, den Sie canceln (löschen) wollen:\n"
 	"\n"
 
-#: src/lang.c:839
+#: src/lang.c:843
 msgid	"toggle color"
 msgstr	"Farben ein/aus"
 
-#: src/lang.c:840
+#: src/lang.c:844
 msgid	"# For color-adjust use the following numbers\n"
 	"#  0-black       1-red         2-green        3-brown\n"
 	"#  4-blue        5-pink        6-cyan         7-white\n"
@@ -3437,352 +3459,352 @@ msgstr	"# Für die Farbanpassung benutzen
 	"# Eine '-1' wird als Voreinstellung interpretiert (der Vordergrund ist\n"
 	"# normalerweise weiß und der Hintergrund schwarz)\n"
 
-#: src/lang.c:848
+#: src/lang.c:852
 msgid	"  -a       toggle color flag"
 msgstr	"  -a       Farbe ein- oder ausschalten"
 
-#: src/lang.c:852
+#: src/lang.c:856
 msgid	"\n"
 	"Error: Followup-To set to more than one newsgroup!\n"
 msgstr	"\n"
 	"Fehler: Followup-To auf mehr als eine Newsgruppe gesetzt!\n"
 
-#: src/lang.c:853
+#: src/lang.c:857
 #, c-format
 msgid	"\n"
 	"Error: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr	"\n"
 	"Fehler: Crossposting in %d Newsgruppen und kein Followup-To gesetzt!\n"
 
-#: src/lang.c:854
+#: src/lang.c:858
 #, c-format
 msgid	"\n"
 	"Error: \"%s\" is not a valid newsgroup!\n"
 msgstr	"\n"
 	"Fehler: \"%s\" ist keine gültige Newsgruppe!\n"
 
-#: src/lang.c:856
+#: src/lang.c:860
 msgid	"\n"
 	"Warning: Followup-To set to more than one newsgroup!\n"
 msgstr	"\n"
 	"Warnung: Followup-To in mehr als eine Newsgruppe gesetzt!\n"
 
-#: src/lang.c:857
+#: src/lang.c:861
 #, c-format
 msgid	"\n"
 	"Warning: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr	"\n"
 	"Warnung: Crossposting in %d Newsgruppen und kein Followup-To gesetzt!\n"
 
-#: src/lang.c:858
+#: src/lang.c:862
 #, c-format
 msgid	"\n"
 	"Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n"
 msgstr	"\n"
 	"Warnung: \"%s\" ist nicht in Ihrer newsrc, sie könnte ungültig sein!\n"
 
-#: src/lang.c:859
+#: src/lang.c:863
 #, c-format
 msgid	"\n"
 	"Warning: \"%s\" is not a valid newsgroup at this site!\n"
 msgstr	"\n"
 	"Warnung: \"%s\" ist keine gültige Newsgruppe auf diesem Server!\n"
 
-#: src/lang.c:863
+#: src/lang.c:867
 #, c-format
 msgid	"%d files successfully written from %d articles. %d %s occurred."
 msgstr	"%d Dateien aus %d Artikeln erfolgreich geschrieben. %d %s traten auf"
 
-#: src/lang.c:864
+#: src/lang.c:868
 msgid	"Missing parts."
 msgstr	"Teile fehlen."
 
-#: src/lang.c:865
+#: src/lang.c:869
 msgid	"No beginning."
 msgstr	"Kein Anfang."
 
-#: src/lang.c:866
+#: src/lang.c:870
 msgid	"No data."
 msgstr	"Keine Daten."
 
-#: src/lang.c:867
+#: src/lang.c:871
 msgid	"Unknown error."
 msgstr	"Unbekannter Fehler."
 
-#: src/lang.c:869
+#: src/lang.c:873
 #, c-format
 msgid	"\tChecksum of %s (%ld %s)"
 msgstr	"\tPrüfsumme für %s (%ld %s)"
 
-#: src/lang.c:873
+#: src/lang.c:877
 msgid	"Reading mail active file... "
 msgstr	"Lese EMail-Active-Datei... "
 
-#: src/lang.c:874
+#: src/lang.c:878
 msgid	"Reading mailgroups file... "
 msgstr	"Lese Mailgruppen-Datei... "
 
-#: src/lang.c:878
+#: src/lang.c:882
 msgid	"perform PGP operations on article"
 msgstr	"wendet PGP auf den Artikel an"
 
-#: src/lang.c:879
+#: src/lang.c:883
 msgid	"Add key(s) to public keyring?"
 msgstr	"Schlüssel dem Öffentlichen Schlüsselring hinzufügen?"
 
-#: src/lang.c:880
+#: src/lang.c:884
 #, c-format
 msgid	"%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr	"%s=verschlüsseln, %s=signieren, %s=beides, %s=Ende: "
 
-#: src/lang.c:881
+#: src/lang.c:885
 #, c-format
 msgid	"%s=sign, %s=sign & include public key, %s=quit: "
 msgstr	"%s=signiere, %s=signiere & füge öffentl. Schlüssel hinzu, %s=Ende: "
 
-#: src/lang.c:882
+#: src/lang.c:886
 #, c-format
 msgid	"PGP has not been set up (can't open %s)"
 msgstr	"PGP Wurde nicht konfiguriert (kann %s nicht öffnen)"
 
-#: src/lang.c:883
+#: src/lang.c:887
 msgid	"Article not signed and no public keys found"
 msgstr	"Artikel ist nicht signiert; keine öffentlichen Schlüssel gefunden"
 
-#: src/lang.c:885
+#: src/lang.c:889
 #, c-format
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=Menu, %s=posten, "
 	"%s=zurücklegen: "
 
-#: src/lang.c:886
+#: src/lang.c:890
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%.*s]: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=verschicken [%%.*s]: "
 
-#: src/lang.c:887
+#: src/lang.c:891
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=Menu, %s=posten, %s=zurücklegen "
 	"[%%.*s]: "
 
-#: src/lang.c:889
+#: src/lang.c:893
 #, c-format
 msgid	"%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=pgp, %s=Menu, %s=posten, %s=zurücklegen: "
 
-#: src/lang.c:890
+#: src/lang.c:894
 msgid	"%s=quit, %s=edit, %s=pgp, %s=send [%%.*s]: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=pgp, %s=verschicken [%%.*s]: "
 
-#: src/lang.c:891
+#: src/lang.c:895
 msgid	"%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=pgp, %s=Menu, %s=posten, %s=zurücklegen [%%.*s]: "
 
-#: src/lang.c:895
+#: src/lang.c:899
 #, c-format
 msgid	"%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=ispell, %s=Menü, %s=posten, %s=zurücklegen: "
 
-#: src/lang.c:896
+#: src/lang.c:900
 msgid	"%s=quit, %s=edit, %s=ispell, %s=send [%%.*s]: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=ispell, %s=verschicken [%%.*s]: "
 
-#: src/lang.c:897
+#: src/lang.c:901
 msgid	"%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=ispell, %s=Menü, %s=post, %s=Zurückl. [%%.*s]: "
 
-#: src/lang.c:899
+#: src/lang.c:903
 #, c-format
 msgid	"%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=Menu, %s=posten, %s=zurücklegen: "
 
-#: src/lang.c:900
+#: src/lang.c:904
 msgid	"%s=quit, %s=edit, %s=send [%%.*s]: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=verschicken [%%.*s]: "
 
-#: src/lang.c:901
+#: src/lang.c:905
 msgid	"%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=Ende, %s=bearbeiten, %s=Menü, %s=posten, %s=zurücklegen [%%.*s]: "
 
-#: src/lang.c:910
+#: src/lang.c:914
 msgid	"Try cache_overview_files to speed up things.\n"
 msgstr	"Setze cache_overview_files um das lesen zu beschleubigen.\n"
 
-#: src/lang.c:911
+#: src/lang.c:915
 msgid	"Tin will use local index files instead.\n"
 msgstr	"Tin wird lokale index files benutzen.\n"
 
-#: src/lang.c:912
+#: src/lang.c:916
 msgid	"Cannot find NNTP server name"
 msgstr	"Kann den Namen des NNTP Servers nicht finden"
 
-#: src/lang.c:913
+#: src/lang.c:917
 #, c-format
 msgid	"Connecting to %s:%d..."
 msgstr	"Verbinde mit %s:%d..."
 
-#: src/lang.c:914
+#: src/lang.c:918
 msgid	"Disconnecting from server...\n"
 msgstr	"Trenne Verbindung zum Server...\n"
 
-#: src/lang.c:915
+#: src/lang.c:919
 #, c-format
 msgid	"Wrong newsgroup name in response of GROUP command, %s for %s"
 msgstr	"Falsche Newsgruppe in Antwort auf GROUP-Befehl, %s statt %s"
 
-#: src/lang.c:916
+#: src/lang.c:920
 #, c-format
 msgid	"Failed to connect to NNTP server %s. Exiting..."
 msgstr	"Konnte nicht zum NNTP Server %s verbinden. Beende..."
 
-#: src/lang.c:917
+#: src/lang.c:921
 msgid	"205  Closing connection"
 msgstr	"205  Schließe Verbindung"
 
-#: src/lang.c:918
+#: src/lang.c:922
 msgid	"Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr	"Ihr Server unterstützt kein NNTP XOVER oder OVER Kommando.\n"
 
-#: src/lang.c:919
+#: src/lang.c:923
 msgid	"Connection to news server has timed out. Reconnect?"
 msgstr	"Die Verbindung zum Newsserver wurde unterbrochen. Wieder verbinden?"
 
-#: src/lang.c:920
+#: src/lang.c:924
 #, c-format
 msgid	"Put the server name in the file %s,\n"
 	"or set the environment variable NNTPSERVER"
 msgstr	"Schreiben Sie den Servernamen in die Datei %s,\n"
 	"oder setzen Sie die Umgebungsvariable NNTPSERVER"
 
-#: src/lang.c:921
+#: src/lang.c:925
 msgid	"  -A       force authentication on connect"
 msgstr	"  -A       Erzwinge Anmeldung bei Verbindung"
 
-#: src/lang.c:922
+#: src/lang.c:926
 #, c-format
 msgid	"  -g serv  read news from NNTP server serv [default=%s]"
 msgstr	"  -g serv  Lese Artikel vom NNTP-Server 'serv' [Standard=%s]"
 
-#: src/lang.c:923
+#: src/lang.c:927
 #, c-format
 msgid	"  -p port  use port as NNTP port [default=%d]"
 msgstr	"  -p port  Benutze 'port' als NNTP-Port [Standard=%d]"
 
-#: src/lang.c:924
+#: src/lang.c:928
 msgid	"  -Q       quick start. Same as -nqd"
 msgstr	"  -Q       Schnellstart. Das Selbe wie -nqd"
 
-#: src/lang.c:925
+#: src/lang.c:929
 msgid	"  -l       use only LIST instead of GROUP (-n) command"
 msgstr	"  -l       Benutze nur das LIST anstelle vom GROUP-Kommando (-n)"
 
-#: src/lang.c:926
+#: src/lang.c:930
 msgid	"  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr	"  -n       Lese nur Gruppen aus der .newsrc-Datei vom NNTP-Server"
 
-#: src/lang.c:928
+#: src/lang.c:932
 #, c-format
 msgid	"%s/tcp: Unknown service.\n"
 msgstr	"%s/tcp: Unbekannter Service.\n"
 
-#: src/lang.c:931
+#: src/lang.c:935
 msgid	"\n"
 	"socket or connect problem\n"
 msgstr	"\n"
 	"Socket oder Verbindungsproblem\n"
 
-#: src/lang.c:933
+#: src/lang.c:937
 #, c-format
 msgid	"\n"
 	"Connection to %s: "
 msgstr	"\n"
 	"Verbindung mit %s: "
 
-#: src/lang.c:934
+#: src/lang.c:938
 msgid	"Giving up...\n"
 msgstr	"Gebe auf...\n"
 
-#: src/lang.c:937
+#: src/lang.c:941
 msgid	"Your server does not have Xref: in its XOVER information.\n"
 	"Tin will try to use XHDR XREF instead (slows down things a bit).\n"
 msgstr	"Ihr Server hat kein Xref: in seiner XOVER-Information.\n"
 	"Tin versucht XHDR XREF zu benutzen (verlangsamt den Prozess etwas).\n"
 
-#: src/lang.c:940
+#: src/lang.c:944
 msgid	"Your server does not have Xref: in its XOVER information.\n"
 msgstr	"Ihr Server hat kein Xref: in seiner XOVER-Information.\n"
 
-#: src/lang.c:943
+#: src/lang.c:947
 #, c-format
 msgid	"Can't open %s. Try %s -r to read news via NNTP.\n"
 msgstr	"Kann %s nicht öffnen. Probieren Sie %s -r um via NNTP zu lesen.\n"
 
-#: src/lang.c:946
+#: src/lang.c:950
 msgid	"  -Q       quick start. Same as -qd"
 msgstr	"  -Q       Schnellstart. Das Selbe wie -qd"
 
-#: src/lang.c:947
+#: src/lang.c:951
 msgid	"  -l       read only active file instead of scanning spool (-n) command"
 msgstr	"  -l       Nur active File lesen ohne den Spool zu durchsuchen (-n) Kommando"
 
-#: src/lang.c:948
+#: src/lang.c:952
 msgid	"  -n       only read subscribed .newsrc groups from spool"
 msgstr	"  -n       Lese nur Gruppen aus der .newsrc-Datei aus dem lokalen Spool"
 
-#: src/lang.c:949
+#: src/lang.c:953
 msgid	"Your server does not have Xref: in its NOV-files.\n"
 msgstr	"Ihr Server hat kein Xref: in seinern NOV-Dateien.\n"
 
-#: src/lang.c:953
+#: src/lang.c:957
 msgid	"Posting using external inews failed. Use built in inews instead?"
 msgstr	"Fehler beim Posten mit externem inews, verwende eingebautes?"
 
-#: src/lang.c:954
+#: src/lang.c:958
 msgid	"It worked! Should I always use my built in inews from now on?"
 msgstr	"Das hat funktioniert. In Zukunft immer eingebautes inews verwenden?"
 
-#: src/lang.c:962
+#: src/lang.c:966
 #, c-format
 msgid	"%d %s printed"
 msgstr	"%d %s gedruckt"
 
-#: src/lang.c:963
+#: src/lang.c:967
 msgid	"output article/thread/hot/pattern/tagged articles to printer"
 msgstr	"druckt Artikel/Thread/hervorgehobene/Muster/markierten"
 
-#: src/lang.c:964
+#: src/lang.c:968
 msgid	"Print"
 msgstr	"drucken"
 
-#: src/lang.c:965
+#: src/lang.c:969
 msgid	"Printing..."
 msgstr	"Drucke..."
 
-#: src/lang.c:969
+#: src/lang.c:973
 msgid	"pipe article/thread/hot/pattern/tagged articles into command"
 msgstr	"pipet Artikel/thread hervorgehoben/muster/markierten Artikel"
 
-#: src/lang.c:970
+#: src/lang.c:974
 msgid	"No command"
 msgstr	"Kein Kommando"
 
-#: src/lang.c:971
+#: src/lang.c:975
 msgid	"Pipe"
 msgstr	"Pipe"
 
-#: src/lang.c:972
+#: src/lang.c:976
 #, c-format
 msgid	"Pipe to command [%.*s]> "
 msgstr	"Pipen in Kommando [%.*s]> "
 
-#: src/lang.c:973
+#: src/lang.c:977
 msgid	"Piping..."
 msgstr	"Pipen..."
 
-#: src/lang.c:975
+#: src/lang.c:979
 msgid	"Piping not enabled."
 msgstr	"Pipen nicht aktiviert."
 
-#: src/lang.c:979
+#: src/lang.c:983
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line has spaces  in it that MUST be removed.\n"
@@ -3795,7 +3817,7 @@ msgstr	"\n"
 	"        vom Inhalt trennt. Benutzen sie ein ',' um mehrere Newsgruppen\n"
 	"        anzugeben\n"
 
-#: src/lang.c:984
+#: src/lang.c:988
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is  continued in  the next line.  Since\n"
@@ -3806,7 +3828,7 @@ msgstr	"\n"
 	"        Da diese Zeile keinen leeren Raum enthalten darf, ist dies nicht\n"
 	"        erlaubt. Bitte schreiben Sie alle Newsgruppen in eine Zeile\n"
 
-#: src/lang.c:989
+#: src/lang.c:993
 #, c-format
 msgid	"\n"
 	"Warning: The \"%s:\" line is continued in the next line.\n"
@@ -3817,7 +3839,7 @@ msgstr	"\n"
 	"         Da diese Zeile keinen leeren Raum enthalten darf, ist dies nicht\n"
 	"         erlaubt. Bitte schreiben Sie alle Newsgruppen in eine Zeile.\n"
 
-#: src/lang.c:993
+#: src/lang.c:997
 #, c-format
 msgid	"\n"
 	"Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n"
@@ -3825,7 +3847,7 @@ msgstr	"\n"
 	"Warnung: Die \"%s:\" Zeile enthält Leerzeichen die entfernt\n"
 	"         werden sollten.\n"
 
-#: src/lang.c:998
+#: src/lang.c:1002
 msgid	"\n"
 	"  If your article contains quoted text  please take some time to pare it "
 	"down\n"
@@ -3856,534 +3878,554 @@ msgstr	"\n"
 	"  Artikel nicht sorgfältig formatieren, ist es sehr wahrscheinlich, dass er\n"
 	"  von vielen gar nicht gelesen wird.\n"
 
-#: src/lang.c:1011
+#: src/lang.c:1015
 msgid	"shell escape"
 msgstr	"Ausgang zur Shell"
 
-#: src/lang.c:1012
+#: src/lang.c:1016
 #, c-format
 msgid	"Shell Command (%s)"
 msgstr	"Shellkommando (%s)"
 
-#: src/lang.c:1013
+#: src/lang.c:1017
 #, c-format
 msgid	"Enter shell command [%s]> "
 msgstr	"Geben Sie ein Shellkommando ein [%s]> "
 
-#: src/lang.c:1017
+#: src/lang.c:1021
 #, c-format
 msgid	"%s: Can't get entry for TERM\n"
 msgstr	"%s: Kann den Wert für TERM nicht finden\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1025
 #, c-format
 msgid	"Group %.*s ('q' to quit)..."
 msgstr	"Gruppe %.*s ('q' zum beenden...)"
 
-#: src/lang.c:1023
+#: src/lang.c:1027
 #, c-format
 msgid	"Group %.*s..."
 msgstr	"Gruppe %.*s..."
 
-#: src/lang.c:1027
+#: src/lang.c:1031
 msgid	"Server unavailable\n"
 msgstr	"Server nicht erreichbar\n"
 
-#: src/lang.c:1033
+#: src/lang.c:1037
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
 	"%s=post"
 msgstr	"%s=Pipe; %s=Mail; %s=Drucken; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; "
 	"%s=tag; %s=Posten"
 
-#: src/lang.c:1034
+#: src/lang.c:1038
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=Pipe; %s=Mail; %s=Drucken; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; "
 	"%s=Posten"
 
-#: src/lang.c:1036
+#: src/lang.c:1040
 #, c-format
 msgid	"%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	"%s=Mail; %s=Drucken; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; "
 	"%s=Posten"
 
-#: src/lang.c:1037
+#: src/lang.c:1041
 #, c-format
 msgid	"%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=Mail; %s=Drucken; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten"
 
-#: src/lang.c:1041
+#: src/lang.c:1045
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	"%s=Pipe; %s=Mail; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; %s=Posten"
 
-#: src/lang.c:1042
+#: src/lang.c:1046
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=Pipe; %s=Mail; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten"
 
-#: src/lang.c:1044
+#: src/lang.c:1048
 #, c-format
 msgid	"%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	"%s=Mail; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; %s=Posten"
 
-#: src/lang.c:1045
+#: src/lang.c:1049
 #, c-format
 msgid	"%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=Mail; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten"
 
-#: src/lang.c:1051
+#: src/lang.c:1055
 msgid	"Terminal does not support color"
 msgstr	"Terminal unterstützt keine Farben"
 
-#: src/lang.c:1056
+#: src/lang.c:1060
 #, c-format
 msgid	"Trying %s"
 msgstr	"Versuche %s"
 
-#: src/lang.c:1070 src/lang.c:1095 src/lang.c:1111 src/refs.c:266
+#: src/lang.c:1074 src/lang.c:1099 src/lang.c:1115 src/lang.c:1294 src/refs.c:266
 msgid	"None"
 msgstr	"Nichts"
 
-#: src/lang.c:1071
+#: src/lang.c:1075
 msgid	"Subject"
 msgstr	"Subject"
 
-#: src/lang.c:1072
+#: src/lang.c:1076
 msgid	"References"
 msgstr	"References"
 
-#: src/lang.c:1073
+#: src/lang.c:1077
 msgid	"Both Subject and References"
 msgstr	"Beides: Subject und References"
 
-#: src/lang.c:1074
+#: src/lang.c:1078
 msgid	"Multipart Subject"
 msgstr	"Mehrteilige Artikel (Subject)"
 
-#: src/lang.c:1086 src/lang.c:1197
+#: src/lang.c:1090 src/lang.c:1201
 msgid	"No"
 msgstr	"Nein"
 
-#: src/lang.c:1087 src/lang.c:1199
+#: src/lang.c:1091 src/lang.c:1203
 msgid	"Yes"
 msgstr	"Ja"
 
-#: src/lang.c:1088
+#: src/lang.c:1092
 msgid	"Hide All"
 msgstr	"Alle ausblenden"
 
-#: src/lang.c:1096
+#: src/lang.c:1100
 msgid	"Address"
 msgstr	"Adresse"
 
-#: src/lang.c:1097
+#: src/lang.c:1101
 msgid	"Full Name"
 msgstr	"Voller Name"
 
-#: src/lang.c:1098
+#: src/lang.c:1102
 msgid	"Address and Name"
 msgstr	"Adresse und Name"
 
-#: src/lang.c:1105
+#: src/lang.c:1109
 msgid	"Max"
 msgstr	"Höchster"
 
-#: src/lang.c:1106
+#: src/lang.c:1110
 msgid	"Sum"
 msgstr	"Summe"
 
-#: src/lang.c:1107
+#: src/lang.c:1111
 msgid	"Average"
 msgstr	"Durchschnitt"
 
-#: src/lang.c:1112
+#: src/lang.c:1116
 msgid	"Lines"
 msgstr	"Zeilen"
 
-#: src/lang.c:1113
+#: src/lang.c:1117
 msgid	"Score"
 msgstr	"Bewertung"
 
-#: src/lang.c:1114
+#: src/lang.c:1118
 msgid	"Lines & Score"
 msgstr	"Zeilen und Bewertung"
 
-#: src/lang.c:1123
+#: src/lang.c:1127
 msgid	"Black"
 msgstr	"Schwarz"
 
-#: src/lang.c:1124
+#: src/lang.c:1128
 msgid	"Red"
 msgstr	"Rot"
 
-#: src/lang.c:1125
+#: src/lang.c:1129
 msgid	"Green"
 msgstr	"Grün"
 
-#: src/lang.c:1126
+#: src/lang.c:1130
 msgid	"Brown"
 msgstr	"Braun"
 
-#: src/lang.c:1127
+#: src/lang.c:1131
 msgid	"Blue"
 msgstr	"Blau"
 
-#: src/lang.c:1128
+#: src/lang.c:1132
 msgid	"Pink"
 msgstr	"Rosa"
 
-#: src/lang.c:1129
+#: src/lang.c:1133
 msgid	"Cyan"
 msgstr	"Cyan"
 
-#: src/lang.c:1130
+#: src/lang.c:1134
 msgid	"White"
 msgstr	"Weiß"
 
-#: src/lang.c:1131
+#: src/lang.c:1135
 msgid	"Gray"
 msgstr	"Grau"
 
-#: src/lang.c:1132
+#: src/lang.c:1136
 msgid	"Light Red"
 msgstr	"Helles Rot"
 
-#: src/lang.c:1133
+#: src/lang.c:1137
 msgid	"Light Green"
 msgstr	"Helles Grün"
 
-#: src/lang.c:1134
+#: src/lang.c:1138
 msgid	"Yellow"
 msgstr	"Gelb"
 
-#: src/lang.c:1135
+#: src/lang.c:1139
 msgid	"Light Blue"
 msgstr	"Helles Blau"
 
-#: src/lang.c:1136
+#: src/lang.c:1140
 msgid	"Light Pink"
 msgstr	"Helles Rosa"
 
-#: src/lang.c:1137
+#: src/lang.c:1141
 msgid	"Light Cyan"
 msgstr	"Helles Cyan"
 
-#: src/lang.c:1138
+#: src/lang.c:1142
 msgid	"Light White"
 msgstr	"Helles Weiß"
 
-#: src/lang.c:1146 src/lang.c:1203 src/lang.c:1217
+#: src/lang.c:1150 src/lang.c:1207 src/lang.c:1221
 msgid	"Nothing"
 msgstr	"Nichts"
 
-#: src/lang.c:1147
+#: src/lang.c:1151
 msgid	"Mark"
 msgstr	"Markierung"
 
-#: src/lang.c:1148
+#: src/lang.c:1152
 msgid	"Space"
 msgstr	"Leerzeichen"
 
-#: src/lang.c:1155
+#: src/lang.c:1159
 msgid	"Normal"
 msgstr	"Normal"
 
-#: src/lang.c:1156
+#: src/lang.c:1160
 msgid	"Best highlighting"
 msgstr	"Beste Hervorhebung"
 
-#: src/lang.c:1157
+#: src/lang.c:1161
 msgid	"Underline"
 msgstr	"Unterstreichen"
 
-#: src/lang.c:1158
+#: src/lang.c:1162
 msgid	"Reverse video"
 msgstr	"Invers"
 
-#: src/lang.c:1159
+#: src/lang.c:1163
 msgid	"Blinking"
 msgstr	"Blinkend"
 
-#: src/lang.c:1160
+#: src/lang.c:1164
 msgid	"Half bright"
 msgstr	"Halbe Helligkeit"
 
-#: src/lang.c:1161
+#: src/lang.c:1165
 msgid	"Bold"
 msgstr	"Fett"
 
-#: src/lang.c:1166
+#: src/lang.c:1170
 msgid	"none"
 msgstr	"Nichts"
 
-#: src/lang.c:1167
+#: src/lang.c:1171
 msgid	"commands"
 msgstr	"Kommandos"
 
-#: src/lang.c:1168
+#: src/lang.c:1172
 msgid	"select"
 msgstr	"X-Befehl"
 
-#: src/lang.c:1170
+#: src/lang.c:1174
 msgid	"commands & quit"
 msgstr	"Kommandos & Ende"
 
-#: src/lang.c:1171
+#: src/lang.c:1175
 msgid	"commands & select"
 msgstr	"Kommandos & X-Befehl"
 
-#: src/lang.c:1172
+#: src/lang.c:1176
 msgid	"quit & select"
 msgstr	"Ende & X-Befehl"
 
-#: src/lang.c:1173
+#: src/lang.c:1177
 msgid	"commands & quit & select"
 msgstr	"Kmndos & Ende & X-Befehl"
 
-#: src/lang.c:1198
+#: src/lang.c:1202
 msgid	"Shell archive"
 msgstr	"Shellarchiv"
 
-#: src/lang.c:1204
+#: src/lang.c:1208
 msgid	"Subject: (descending)"
 msgstr	"Subject: (Absteigend)"
 
-#: src/lang.c:1205
+#: src/lang.c:1209
 msgid	"Subject: (ascending)"
 msgstr	"Subject: (Aufsteigend)"
 
-#: src/lang.c:1206
+#: src/lang.c:1210
 msgid	"From: (descending)"
 msgstr	"From: (Absteigend)"
 
-#: src/lang.c:1207
+#: src/lang.c:1211
 msgid	"From: (ascending)"
 msgstr	"From: (Aufsteigend)"
 
-#: src/lang.c:1208
+#: src/lang.c:1212
 msgid	"Date: (descending)"
 msgstr	"Date: (Absteigend)"
 
-#: src/lang.c:1209
+#: src/lang.c:1213
 msgid	"Date: (ascending)"
 msgstr	"Date: (Aufsteigend)"
 
-#: src/lang.c:1210 src/lang.c:1218
+#: src/lang.c:1214 src/lang.c:1222
 msgid	"Score (descending)"
 msgstr	"Bewertung (Absteigend)"
 
-#: src/lang.c:1211 src/lang.c:1219
+#: src/lang.c:1215 src/lang.c:1223
 msgid	"Score (ascending)"
 msgstr	"Bewertung (Aufsteigend)"
 
-#: src/lang.c:1212
+#: src/lang.c:1216
 msgid	"Lines: (descending)"
 msgstr	"Lines: (Absteigend)"
 
-#: src/lang.c:1213
+#: src/lang.c:1217
 msgid	"Lines: (ascending)"
 msgstr	"Lines: (Aufsteigend)"
 
-#: src/lang.c:1224
+#: src/lang.c:1228
 msgid	"Always Keep"
 msgstr	"Immer behalten"
 
-#: src/lang.c:1225
+#: src/lang.c:1229
 msgid	"Always Remove"
 msgstr	"Immer entfernen"
 
-#: src/lang.c:1226
+#: src/lang.c:1230
 msgid	"Mark with D on selection screen"
 msgstr	"Mit D in der Anzeige markiert"
 
-#: src/lang.c:1231
+#: src/lang.c:1235
 msgid	"Kill only unread arts"
 msgstr	"Killt nur ungelesene Artikel"
 
-#: src/lang.c:1232
+#: src/lang.c:1236
 msgid	"Kill all arts & show with K"
 msgstr	"Killt alle Artikel, markiert mit K"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1233
+#: src/lang.c:1237
 msgid	"Kill all arts and never show"
 msgstr	"Killt alle Artikel, zeigt sie nie"
 
-#: src/lang.c:1238
+#: src/lang.c:1242
 msgid	"Nothing special"
 msgstr	"Nichts besonderes"
 
-#: src/lang.c:1239
+#: src/lang.c:1243
 msgid	"Compress quotes"
 msgstr	"Zitatzeichen zusammenfassen"
 
-#: src/lang.c:1240
+#: src/lang.c:1244
 msgid	"Quote signatures"
 msgstr	"Signaturen zitieren"
 
-#: src/lang.c:1241
+#: src/lang.c:1245
 msgid	"Compress quotes, quote sigs"
 msgstr	"Zitatz. kürzen, Signat. zitieren"
 
-#: src/lang.c:1242
+#: src/lang.c:1246
 msgid	"Quote empty lines"
 msgstr	"Leerzeilen zitieren"
 
-#: src/lang.c:1243
+#: src/lang.c:1247
 msgid	"Compress quotes, quote empty lines"
 msgstr	"Zitatz. kürzen, Leerzeilen zit."
 
-#: src/lang.c:1244
+#: src/lang.c:1248
 msgid	"Quote sigs & empty lines"
 msgstr	"Signat. und Leerzeilen zitieren"
 
-#: src/lang.c:1245
+#: src/lang.c:1249
 msgid	"Comp. q., quote sigs & empty lines"
 msgstr	"Zitatz. kürzen, Sign & Leerz. zit."
 
-#: src/lang.c:1283
+#: src/lang.c:1287
 msgid	"no"
 msgstr	"nein"
 
-#: src/lang.c:1284
+#: src/lang.c:1288
 msgid	"with headers"
 msgstr	"mit Header"
 
-#: src/lang.c:1285
+#: src/lang.c:1289
 msgid	"without headers"
 msgstr	"ohne Header"
 
-#: src/lang.c:1290
+# TRANSLATION MISSING
+#: src/lang.c:1296 src/lang.c:1302
+msgid	"NFKC"
+msgstr	""
+
+# TRANSLATION MISSING
+#: src/lang.c:1297
+msgid	"NFKD"
+msgstr	""
+
+# TRANSLATION MISSING
+#: src/lang.c:1298
+msgid	"NFC"
+msgstr	""
+
+# TRANSLATION MISSING
+#: src/lang.c:1299
+msgid	"NFD"
+msgstr	""
+
+#: src/lang.c:1310
 msgid	"Display Options"
 msgstr	"Darstellungseinstellungen"
 
-#: src/lang.c:1296
+#: src/lang.c:1316
 msgid	"Color Options"
 msgstr	"Farbeinstellungen"
 
-#: src/lang.c:1302
+#: src/lang.c:1322
 msgid	"Article-Limiting Options"
 msgstr	"Artikel-Begrenzungseinstellungen"
 
-#: src/lang.c:1308
+#: src/lang.c:1328
 msgid	"Posting/Mailing Options"
 msgstr	"Versandeinstellungen für Mail und News"
 
-#: src/lang.c:1314
+#: src/lang.c:1334
 msgid	"Saving/Printing Options"
 msgstr	"Speicher- und Druckereinstellungen"
 
-#: src/lang.c:1320
+#: src/lang.c:1340
 msgid	"Expert Options"
 msgstr	"Experteneinstellungen"
 
-#: src/lang.c:1326
+#: src/lang.c:1346
 msgid	"Filtering Options"
 msgstr	"Filtereinstellungen"
 
-#: src/lang.c:1331 src/lang.c:1357 src/lang.c:1363 src/lang.c:1370 src/lang.c:1402
-#: src/lang.c:1408 src/lang.c:1416 src/lang.c:1436 src/lang.c:1511 src/lang.c:1673
-#: src/lang.c:1679 src/lang.c:1685 src/lang.c:1691 src/lang.c:1703 src/lang.c:1710
-#: src/lang.c:1761 src/lang.c:1770 src/lang.c:1776 src/lang.c:1782 src/lang.c:1788
-#: src/lang.c:1794 src/lang.c:1800 src/lang.c:1806 src/lang.c:1812 src/lang.c:1818
-#: src/lang.c:1824 src/lang.c:1830 src/lang.c:1836 src/lang.c:1842 src/lang.c:1848
-#: src/lang.c:1854 src/lang.c:1860 src/lang.c:1866 src/lang.c:1872 src/lang.c:1878
-#: src/lang.c:1884 src/lang.c:1891 src/lang.c:1897 src/lang.c:1903 src/lang.c:1910
-#: src/lang.c:1921 src/lang.c:1927 src/lang.c:1933 src/lang.c:1939 src/lang.c:1945
-#: src/lang.c:1951 src/lang.c:1965 src/lang.c:1977 src/lang.c:2011 src/lang.c:2063
-#: src/lang.c:2070 src/lang.c:2076 src/lang.c:2101 src/lang.c:2118 src/lang.c:2171
-#: src/lang.c:2204 src/lang.c:2224 src/lang.c:2259 src/lang.c:2268 src/lang.c:2293
-#: src/lang.c:2305
+#: src/lang.c:1351 src/lang.c:1377 src/lang.c:1383 src/lang.c:1390 src/lang.c:1422
+#: src/lang.c:1428 src/lang.c:1436 src/lang.c:1456 src/lang.c:1531 src/lang.c:1693
+#: src/lang.c:1699 src/lang.c:1705 src/lang.c:1711 src/lang.c:1723 src/lang.c:1730
+#: src/lang.c:1781 src/lang.c:1790 src/lang.c:1796 src/lang.c:1802 src/lang.c:1808
+#: src/lang.c:1814 src/lang.c:1820 src/lang.c:1826 src/lang.c:1832 src/lang.c:1838
+#: src/lang.c:1844 src/lang.c:1850 src/lang.c:1856 src/lang.c:1862 src/lang.c:1868
+#: src/lang.c:1874 src/lang.c:1880 src/lang.c:1886 src/lang.c:1892 src/lang.c:1898
+#: src/lang.c:1904 src/lang.c:1910 src/lang.c:1917 src/lang.c:1923 src/lang.c:1929
+#: src/lang.c:1936 src/lang.c:1947 src/lang.c:1953 src/lang.c:1959 src/lang.c:1965
+#: src/lang.c:1971 src/lang.c:1977 src/lang.c:1991 src/lang.c:2003 src/lang.c:2037
+#: src/lang.c:2089 src/lang.c:2096 src/lang.c:2102 src/lang.c:2127 src/lang.c:2144
+#: src/lang.c:2197 src/lang.c:2230 src/lang.c:2250 src/lang.c:2285 src/lang.c:2294
+#: src/lang.c:2319 src/lang.c:2331 src/lang.c:2350
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"<SPACE> schaltet um, <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:1332
+#: src/lang.c:1352
 msgid	"Show mini menu & posting etiquette :"
 msgstr	"Zeigt Minimenü & Posting etiquette :"
 
-#: src/lang.c:1333
+#: src/lang.c:1353
 msgid	"# If ON show a mini menu of useful commands at each level\n"
 	"# and posting etiquette after composing an article\n"
 msgstr	"# Falls ON wird ein kleines Menü mit nützlichen Kommandos in jedem Level\n"
 	"# angezeigt. Nach dem Erstellen eines Artikels wird die etiquette angezeigt\n"
 
-#: src/lang.c:1338
+#: src/lang.c:1358
 msgid	"Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr	"Zeige Kurzbeschreibung für Gruppe. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:1339
+#: src/lang.c:1359
 msgid	"Show description of each newsgroup :"
 msgstr	"Zeige Beschreibung der Newsgruppen :"
 
-#: src/lang.c:1340
+#: src/lang.c:1360
 msgid	"# If ON show group description text after newsgroup name at\n"
 	"# group selection level\n"
 msgstr	"# Falls ON wird die Newsgruppenbeschreibung im Gruppenauswahlmenü\n"
 	"# nach dem Namen angezeigt\n"
 
-#: src/lang.c:1345
+#: src/lang.c:1365
 msgid	"Show Subject & From (author) fields in group menu. <SPACE> toggles & <CR> "
 	"sets."
 msgstr	"Zeigt Subject & From (Autor) Felder im Gruppenmenü. <SPACE> wechselt & <CR> "
 	"setzt."
 
-#: src/lang.c:1346
+#: src/lang.c:1366
 msgid	"In group menu, show author by      :"
 msgstr	"Im Gruppenmenü, zeige Autor an nach:"
 
-#: src/lang.c:1347
+#: src/lang.c:1367
 msgid	"# Part of from field to display 0) none 1) address 2) full name 3) both\n"
 msgstr	"# Anzeige des 'From:' Felds 0) nichts 1) Adresse 2) Voller Name 3) beides\n"
 
-#: src/lang.c:1351
+#: src/lang.c:1371
 msgid	"Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr	"Zeige -> oder Hervorhebung für Auswahl. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:1352
+#: src/lang.c:1372
 msgid	"Draw -> instead of highlighted bar :"
 msgstr	"Zeige -> anstatt einer Markierung  :"
 
-#: src/lang.c:1353
+#: src/lang.c:1373
 msgid	"# If ON use -> otherwise highlighted bar for selection\n"
 msgstr	"# Falls ON benutze -> andernfalls benutze eine Markierung zur Auswahl\n"
 
-#: src/lang.c:1358
+#: src/lang.c:1378
 msgid	"Use inverse video for page headers :"
 msgstr	"Inverse Darstellung für die Header :"
 
-#: src/lang.c:1359
+#: src/lang.c:1379
 msgid	"# If ON use inverse video for page headers at different levels\n"
 msgstr	"# Falls ON nutze inverse Darstellung für Header bei verschiedenen Ebenen\n"
 
-#: src/lang.c:1364
+#: src/lang.c:1384
 msgid	"Thread articles by                 :"
 msgstr	"Threade Artikel anhand             :"
 
-#: src/lang.c:1365
+#: src/lang.c:1385
 msgid	"# Thread articles on 0=(nothing) 1=(Subject) 2=(References) 3=(Both)\n"
 	"# 4=(Multipart Subject).\n"
 msgstr	"# Zeige Artikel nach 0=(nichts) 1=(Subject) 2=(References) 3=(beides)\n"
 	"# 4=(Mehrteilige Artikel).\n"
 
-#: src/lang.c:1371
+#: src/lang.c:1391
 msgid	"Score of a thread                  :"
 msgstr	"Bewertung eines Threads            :"
 
-#: src/lang.c:1372
+#: src/lang.c:1392
 msgid	"# Thread score 0=(Max) 1=(Sum) 2=(Average)\n"
 msgstr	"# Bewertung des Threads 0=(Höchster) 1=(Summe) 2=(Durchschnitt)\n"
 
-#: src/lang.c:1376
+#: src/lang.c:1396
 msgid	"Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr	"Sortiere Artikel nach Subject, From, Datum oder Bewertung."
 
-#: src/lang.c:1377
+#: src/lang.c:1397
 msgid	"Sort articles by                   :"
 msgstr	"Sortiere Artikel nach              :"
 
-#: src/lang.c:1378
+#: src/lang.c:1398
 msgid	"# Sort articles by 0=(nothing) 1=(Subject descend) 2=(Subject ascend)\n"
 	"# 3=(From descend) 4=(From ascend) 5=(Date descend) 6=(Date ascend)\n"
 	"# 7=(Score descend) 8=(Score ascend) 9=(Lines descend) 10=(Lines ascend).\n"
@@ -4392,56 +4434,56 @@ msgstr	"# Sort. Art. nach 0=(nichts) 1=(
 	"# 7=(Bewertung abst.) 8=(Bewertung aufst.) 9=(Lines abst.) 10=(Lines "
 	"aufst.).\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1404
 msgid	"Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr	"Threads nach Bewertung (Score) oder nichts ordnen. <SPACE> wechselt & <CR> "
 	"setzt"
 
-#: src/lang.c:1385
+#: src/lang.c:1405
 msgid	"Sort threads by                    :"
 msgstr	"Sortiere Threads nach              :"
 
-#: src/lang.c:1386
+#: src/lang.c:1406
 msgid	"# Sort thread by 0=(nothing) 1=(Score descend) 2=(Score ascend)\n"
 msgstr	"# Ordne Threads nach 0=(nichts) 1=(Bewertung abst.) 2=(Bewertung aufst.)\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1410
 msgid	"Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr	"Setze Cursor an ersten/letzten ungel. Artikel. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:1391
+#: src/lang.c:1411
 msgid	"Goto first unread article in group :"
 msgstr	"Setze Cursor auf ersten ungel. Art.:"
 
-#: src/lang.c:1392
+#: src/lang.c:1412
 msgid	"# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr	"# Falls ON setze Cursor auf ersten ungelesenen Art., sonst auf letzten\n"
 
-#: src/lang.c:1396
+#: src/lang.c:1416
 msgid	"Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr	"Zeige alle oder nur ungelesene Artikel. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:1397
+#: src/lang.c:1417
 msgid	"Show only unread articles          :"
 msgstr	"Zeige nur ungelesene Artikel       :"
 
-#: src/lang.c:1398
+#: src/lang.c:1418
 msgid	"# If ON show only new/unread articles otherwise show all.\n"
 msgstr	"# Falls ON zeige nur neue/ungelesene Artikel, sonst alle.\n"
 
-#: src/lang.c:1403
+#: src/lang.c:1423
 msgid	"Show only groups with unread arts  :"
 msgstr	"Zeige nur Gruppen mit ungel. Art.  :"
 
-#: src/lang.c:1404
+#: src/lang.c:1424
 msgid	"# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr	"# Falls ON zeige nur abonnierte Gruppen mit ungelesen Artikeln.\n"
 
-#: src/lang.c:1409
+#: src/lang.c:1429
 msgid	"Filter which articles              :"
 msgstr	"Filter (kill) anwenden auf         :"
 
-#: src/lang.c:1410
+#: src/lang.c:1430
 msgid	"# 0=(Only kill unread articles)\n"
 	"# 1=(Kill all articles and show in threads marked with K)\n"
 	"# 2=(Kill all articles and never show them).\n"
@@ -4449,215 +4491,215 @@ msgstr	"# 0=(Filtert nur ungelesene Arti
 	"# 1=(Filtert alle Artikel und markiert sie mit K)\n"
 	"# 2=(Filtert alle Artikel und zeigt sie niemals an).\n"
 
-#: src/lang.c:1417
+#: src/lang.c:1437
 msgid	"Tab goes to next unread article    :"
 msgstr	"Tab zeigt nächsten ungelesenen Art.:"
 
-#: src/lang.c:1418
+#: src/lang.c:1438
 msgid	"# If ON the TAB command will go to next unread article at article viewer "
 	"level\n"
 msgstr	"# Falls ON wechselt TAB sofort zum nächsten ungelesenen Artikel\n"
 
-#: src/lang.c:1422
+#: src/lang.c:1442
 msgid	"Scrolling with <SPACE> past the end of an art. jumps to the next unread one."
 msgstr	"Weiterscrollen mit Leertaste am Artikelende wechselt zum nächsten ungel. "
 	"Artikel"
 
-#: src/lang.c:1423
+#: src/lang.c:1443
 msgid	"Space goes to next unread article  :"
 msgstr	"Leertaste zeigt nächsten unge. Art.:"
 
-#: src/lang.c:1424
+#: src/lang.c:1444
 msgid	"# If ON the SPACE command will go to next unread article at article viewer\n"
 	"# level when the end of the article is reached (rn-style pager)\n"
 msgstr	"# Falls ON wechselt die Leertaste zum nächsten ungelesenen Artikel, wenn\n"
 	"# das Ende des Artikels erreicht wird (rn-Stil)\n"
 
-#: src/lang.c:1429
+#: src/lang.c:1449
 msgid	"Scrolling with <PGDN>/<DOWN> past the end of an art. jumps to the unread one."
 msgstr	"Weiterscrollen mit BildAb am Artikelende wechselt zum nächsten ungel. Artikel"
 
-#: src/lang.c:1430
+#: src/lang.c:1450
 msgid	"PgDn goes to next unread article   :"
 msgstr	"PgDn zeigt nächst. ungelesenen Art.:"
 
-#: src/lang.c:1431
+#: src/lang.c:1451
 msgid	"# If ON the PGDN or DOWN command will go to next unread article when\n"
 	"# pressed at end of message\n"
 msgstr	"# Falls ON wechselt Bildrunter oder Cursorrunter zum nächsten ungelesenen\n"
 	"# Artikel, wenn das Artikelende erreicht wurde\n"
 
-#: src/lang.c:1437
+#: src/lang.c:1457
 msgid	"List thread using right arrow key  :"
 msgstr	"Zeige Thread mit rechter Pfeilt. an:"
 
-#: src/lang.c:1438
+#: src/lang.c:1458
 msgid	"# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr	"# Falls ON: Thread beim Betreten mit der rechten Cursortaste automatisch\n"
 	"# anzeigen?\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1462
 msgid	"Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr	"Definiere Zeichen für gelöschte Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:1443
+#: src/lang.c:1463
 msgid	"Character to show deleted articles :"
 msgstr	"Zeichen für gelöschte Artikel      :"
 
-#: src/lang.c:1444
+#: src/lang.c:1464
 msgid	"# Character used to show that an art was deleted (default 'D')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Zeichen für einen Artikel, der gelöscht wurde (Voreinstellung 'D')\n"
 	"# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:1449
+#: src/lang.c:1469
 msgid	"Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr	"Definiere Zeichen, das Artikel im Bereich anzeigt.<CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:1450
+#: src/lang.c:1470
 msgid	"Character to show inrange articles :"
 msgstr	"Zeichen für Artikel im Bereich     :"
 
-#: src/lang.c:1451
+#: src/lang.c:1471
 msgid	"# Character used to show that an art is in a range (default '#')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Zeichen für Artikel die im Bereich sind (Voreinstellung '#')\n"
 	"# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:1456
+#: src/lang.c:1476
 msgid	"Enter character to indicate that article will return. <CR> sets, <ESC> "
 	"cancels."
 msgstr	"Definiere Zeichen für wiederkehrende Art. <CR> setzt. <ESC> bricht ab."
 
-#: src/lang.c:1457
+#: src/lang.c:1477
 msgid	"Character to show returning arts   :"
 msgstr	"Zeichen für wiederkehrende Artikel :"
 
-#: src/lang.c:1458
+#: src/lang.c:1478
 msgid	"# Character used to show that an art will return (default '-')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Zeichen, dass ein Artikel wiederkommen wird (Voreinstellung '-')\n"
 	"# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:1463
+#: src/lang.c:1483
 msgid	"Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr	"Zeichen für Artikel mit Markierung wichtig/'hot' <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:1464
+#: src/lang.c:1484
 msgid	"Character to show selected articles:"
 msgstr	"Zeichen für wichtige Artikel       :"
 
-#: src/lang.c:1465
+#: src/lang.c:1485
 msgid	"# Character used to show that an art was auto-selected (default '*')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Zeichen für Artikel mit Markierung wichtig/'hot' (Voreinstellung '*')\n"
 	"# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:1470
+#: src/lang.c:1490
 msgid	"Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr	"Definiere Zeichen für aktuelle Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:1471
+#: src/lang.c:1491
 msgid	"Character to show recent articles  :"
 msgstr	"Zeichen für aktuelle Artikel       :"
 
-#: src/lang.c:1472
+#: src/lang.c:1492
 msgid	"# Character used to show that an art is recent (default 'o')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Zeichen für einen aktuellen Artikel (Voreinstellung ist 'o')\n"
 	"# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:1477
+#: src/lang.c:1497
 msgid	"Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr	"Zeichen für ungelesene Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:1478
+#: src/lang.c:1498
 msgid	"Character to show unread articles  :"
 msgstr	"Zeichen für ungelesene Artikel     :"
 
-#: src/lang.c:1479
+#: src/lang.c:1499
 msgid	"# Character used to show that an art is unread (default '+')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Zeichen für ungelesene Artikel (Voreinstellung '+')\n"
 	"# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:1484
+#: src/lang.c:1504
 msgid	"Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr	"Zeichen für gelesene Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:1485
+#: src/lang.c:1505
 msgid	"Character to show read articles    :"
 msgstr	"Zeichen für gelesene Artikel       :"
 
-#: src/lang.c:1486
+#: src/lang.c:1506
 msgid	"# Character used to show that an art was read (default ' ')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Zeichen für gelesene Artikel (Voreinstellung ' ')\n"
 	"# _ wird in ' ' umgewandelt\n"
 
-#: src/lang.c:1491
+#: src/lang.c:1511
 msgid	"Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr	"Zeichen für gekillte Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:1492
+#: src/lang.c:1512
 msgid	"Character to show killed articles  :"
 msgstr	"Zeichen für gekillte Artikel       :"
 
-#: src/lang.c:1493
+#: src/lang.c:1513
 msgid	"# Character used to show that an art was killed (default 'K')\n"
 	"# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr	"# Zeichen für gekillte Artikel (Voreinstellung 'K')\n"
 	"# _ wird in ' ' umgewandelt, kill_level muss passend gesetzt sein.\n"
 
-#: src/lang.c:1498
+#: src/lang.c:1518
 msgid	"Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr	"Zeichen für gelesene wichtige/'hot' Artikel. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:1499
+#: src/lang.c:1519
 msgid	"Character to show readselected arts:"
 msgstr	"Zeichen für gelesene wichtige Art. :"
 
-#: src/lang.c:1500
+#: src/lang.c:1520
 msgid	"# Character used to show that an art was selected before read (default ':')\n"
 	"# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr	"# Zeichen für bereits gelesene Artikel mit Markierung wichtig/'hot'\n"
 	"# (Voreinstellung ':')\n"
 	"# _ wird in ' ' umgewandelt, kill_level muss passend gesetzt sein.\n"
 
-#: src/lang.c:1505
+#: src/lang.c:1525
 msgid	"Enter maximum length of newsgroup names displayed. <CR> sets."
 msgstr	"Maximale Länge des angezeigten Newsgruppennamens. <CR> setzt."
 
-#: src/lang.c:1506
+#: src/lang.c:1526
 msgid	"Max. length of group names shown   :"
 msgstr	"Max. Länge angezeigter Gruppennamen:"
 
-#: src/lang.c:1507
+#: src/lang.c:1527
 msgid	"# Maximum length of the names of newsgroups displayed\n"
 msgstr	"# Maximale Länge der angezeigten Newsgruppennamen\n"
 
-#: src/lang.c:1512
+#: src/lang.c:1532
 msgid	"Show lines/score in listings       :"
 msgstr	"Zeige Zeilenz./Bewert. in Übersicht:"
 
-#: src/lang.c:1513
+#: src/lang.c:1533
 msgid	"# What informations should be displayed in article/thread listing\n"
 	"# 0 = nothing, 1 = lines, 2 = score, 3 = lines & score\n"
 msgstr	"# Welche weiteren Informationen sollen in der Artikel/Thread\n"
 	"# Übersicht angezeigt werden:\n"
 	"# 0 = keine, 1 = Zeilenzahl, 2 = Bewertung, 3 = Zeilenzahl & Bewertung\n"
 
-#: src/lang.c:1518
+#: src/lang.c:1538
 msgid	"0 = full page scrolling, -1 = show previous last line as first on next page, "
 	"-2 = half page"
 msgstr	"0 = seitenweise, -1 = zeige zusätzlich letzte Zeile der vorigen Seite, -2 = "
 	"halbe Seite"
 
-#: src/lang.c:1519
+#: src/lang.c:1539
 msgid	"Number of lines to scroll in pager :"
 msgstr	"Blättere Artikel um ... Zeilen     :"
 
-#: src/lang.c:1520
+#: src/lang.c:1540
 msgid	"# Number of lines that cursor-up/down will scroll in article pager\n"
 	"# eg, 1+ = line-by-line, 0 = page-by-page (traditional behavior),\n"
 	"# -1 = the top/bottom line is carried over onto the next page,\n"
@@ -4667,27 +4709,27 @@ msgstr	"# Anzahl der Zeilen, die Cursor-
 	"# -1 = seitenweise, zeigt zusätzlich letzte Zeile der vorigen Seite\n"
 	"# -2 = um eine halbe Seite\n"
 
-#: src/lang.c:1527
+#: src/lang.c:1547
 msgid	"Display signatures. <SPACE> toggles & <CR> sets."
 msgstr	"Zeige Signaturen an. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:1528
+#: src/lang.c:1548
 msgid	"Display signatures                 :"
 msgstr	"Zeige Signaturen an                :"
 
-#: src/lang.c:1529
+#: src/lang.c:1549
 msgid	"# If OFF don't show signatures when displaying articles\n"
 msgstr	"# Falls OFF zeige keine Signaturen an\n"
 
-#: src/lang.c:1533
+#: src/lang.c:1553
 msgid	"Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr	"Uu-kodierte Teile als Attachment anzeigen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:1534
+#: src/lang.c:1554
 msgid	"Display uue data as an attachment  :"
 msgstr	"Zeige uue-Teile als Attachment     :"
 
-#: src/lang.c:1535
+#: src/lang.c:1555
 msgid	"# Handling of uuencoded data in the pager\n"
 	"# 0 = display raw uuencoded data\n"
 	"# 1 = uuencoded data will be condensed to a single tag line showing\n"
@@ -4700,29 +4742,29 @@ msgstr	"# Behandlung von uuencodeten Dat
 	"#     ähnlich der von MIME Anhängen\n"
 	"# 2 = Einzeilige Zusammenfassung auch für unvollständige Daten\n"
 
-#: src/lang.c:1544
+#: src/lang.c:1564
 msgid	"Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr	"TeX german.sty Umlautkodierung auswerten. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:1545
+#: src/lang.c:1565
 msgid	"Display \"a as Umlaut-a             :"
 msgstr	"Wandle TeX-Umlaute automatisch um  :"
 
-#: src/lang.c:1546
+#: src/lang.c:1566
 msgid	"# If ON decode German style TeX umlaut codes to ISO and\n"
 	"# show \"a as Umlaut-a, etc.\n"
 msgstr	"# Wenn ON dekodiere laut german.sty (TeX) kodierte Umlaute und stelle\n"
 	"# \"a als ä, usw. dar\n"
 
-#: src/lang.c:1551 src/lang.c:1561
+#: src/lang.c:1571 src/lang.c:1581
 msgid	"Space separated list of header fields"
 msgstr	"Durch Leerzeichen getrennte Liste der Header-Felder"
 
-#: src/lang.c:1552
+#: src/lang.c:1572
 msgid	"Display these header fields (or *) :"
 msgstr	"Zeige diese Header-Felder (oder *) :"
 
-#: src/lang.c:1553
+#: src/lang.c:1573
 msgid	"# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 	"# place an '*' as this value. This is the only way a wildcard can be used.\n"
 	"# If you enter 'X-' as the value, you will see all headers beginning with\n"
@@ -4736,11 +4778,11 @@ msgstr	"# Welche Header wollen Sie sehen
 	"# Leerzeichen getrennte Werte angeben. Wenn Sie hier nichts definieren\n"
 	"# wird diese Option deaktiviert.\n"
 
-#: src/lang.c:1562
+#: src/lang.c:1582
 msgid	"Do not display these header fields :"
 msgstr	"Zeige folgende Header nicht an     :"
 
-#: src/lang.c:1563
+#: src/lang.c:1583
 msgid	"# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 	"# An example of using both options might be if you thought X- headers were\n"
 	"# A Good Thing(tm), but thought Alan and Pape were miscreants...well then "
@@ -4757,27 +4799,27 @@ msgstr	"# Genau das gleiche wie 'news_he
 	"# news_headers_to_not_display=X-Alan X-Pape\n"
 	"# Wenn Sie hier nichts angeben, wird diese Option deaktiviert.\n"
 
-#: src/lang.c:1573
+#: src/lang.c:1593
 msgid	"Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr	"Automatische Bearbeitung von Art. mit multipart/alternative-Teilen aktivieren?"
 
-#: src/lang.c:1574
+#: src/lang.c:1594
 msgid	"Skip multipart/alternative parts   :"
 msgstr	"Übersp. multipart/alternative-Teile:"
 
-#: src/lang.c:1575
+#: src/lang.c:1595
 msgid	"# If ON strip multipart/alternative messages automatically\n"
 msgstr	"# Falls ON entsorge multipart/alternative Teile des Artikels automatisch\n"
 
-#: src/lang.c:1580
+#: src/lang.c:1600
 msgid	"A regex used to decide which lines to show in col_quote."
 msgstr	"Regulärer Ausdruck für Zeilen, die mit col_quote dargestellt werden."
 
-#: src/lang.c:1581
+#: src/lang.c:1601
 msgid	"Regex used to show quoted lines    :"
 msgstr	"Regulärer Ausd. für zit. Zeilen    :"
 
-#: src/lang.c:1582
+#: src/lang.c:1602
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4786,15 +4828,15 @@ msgstr	"# Ein regulärer Ausdruck, den ti
 	"# Farbe angezeigt, die in col_quote definiert sind.\n"
 	"# Wenn Sie hier nichts angeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:1588
+#: src/lang.c:1608
 msgid	"A regex used to decide which lines to show in col_quote2."
 msgstr	"Regulärer Ausdruck für Zeilen, die mit col_quote2 dargestellt werden"
 
-#: src/lang.c:1589
+#: src/lang.c:1609
 msgid	"Regex used to show twice quoted l. :"
 msgstr	"Reg. Ausd. für zweifach zitierte Z.:"
 
-#: src/lang.c:1590
+#: src/lang.c:1610
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4803,15 +4845,15 @@ msgstr	"# Ein regulärer Ausdruck, den ti
 	"# Farbe dargestellt, die in col_quote2 definiert ist.\n"
 	"# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:1596
+#: src/lang.c:1616
 msgid	"A regex used to decide which lines to show in col_quote3."
 msgstr	"Regulärer Ausdruck für Zeilen, die mit col_quote3 dargestellt werden."
 
-#: src/lang.c:1597
+#: src/lang.c:1617
 msgid	"Regex used to show >= 3 times q.l. :"
 msgstr	"Reg. Ausd. für >=3-fach zitierte Z.:"
 
-#: src/lang.c:1598
+#: src/lang.c:1618
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4820,15 +4862,15 @@ msgstr	"# Ein regulärer Ausdruck, der en
 	"# dargestellt, die in col_quote3 definiert sind.\n"
 	"# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:1605
+#: src/lang.c:1625
 msgid	"A regex used to decide which words to show in col_markslashes."
 msgstr	"Regulärer Ausdruck für Zeilen, die mit col_markslashes dargestellt werden."
 
-#: src/lang.c:1606
+#: src/lang.c:1626
 msgid	"Regex used to highlight /slashes/  :"
 msgstr	"Reg. für /Schrägst./ Hervorhebungen:"
 
-#: src/lang.c:1607
+#: src/lang.c:1627
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '/' are to be shown in col_markslashes.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4836,15 +4878,15 @@ msgstr	"# Ein regulärer Ausdruck, der en
 	"# zwischen '/' in col_markslashes angezeigt werden.\n"
 	"# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:1613
+#: src/lang.c:1633
 msgid	"A regex used to decide which words to show in col_markstars."
 msgstr	"Regulärer Ausdruck für Zeilen, die mit col_markstars dargestellt werden."
 
-#: src/lang.c:1614
+#: src/lang.c:1634
 msgid	"Regex used to highlight *stars*    :"
 msgstr	"Regu. A. für *Stern* Hervorhebungen:"
 
-#: src/lang.c:1615
+#: src/lang.c:1635
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '*' are to be shown in col_markstars.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4852,15 +4894,15 @@ msgstr	"# Ein regulärer Ausdruck, der en
 	"# zwischen '*' in col_markstars angezeigt werden.\n"
 	"# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:1621
+#: src/lang.c:1641
 msgid	"A regex used to decide which words to show in col_markstroke."
 msgstr	"Regulärer Ausdruck für Zeilen, die mit col_markstroke dargestellt werden."
 
-#: src/lang.c:1622
+#: src/lang.c:1642
 msgid	"Regex used to highlight -strokes-  :"
 msgstr	"Reg. für -Durchstr.- Hervorhebungen:"
 
-#: src/lang.c:1623
+#: src/lang.c:1643
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '-' are to be shown in col_markstroke.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4868,15 +4910,15 @@ msgstr	"# Ein regulärer Ausdruck, der en
 	"# zwischen '-' in col_markstroke angezeigt werden.\n"
 	"# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:1629
+#: src/lang.c:1649
 msgid	"A regex used to decide which words to show in col_markdash."
 msgstr	"Regulärer Ausdruck für Zeilen, die mit col_markdash dargestellt werden."
 
-#: src/lang.c:1630
+#: src/lang.c:1650
 msgid	"Regex used to highlight _underline_:"
 msgstr	"Reg. für _Unterstr._ Hervorhebungen:"
 
-#: src/lang.c:1631
+#: src/lang.c:1651
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '_' are to be shown in col_markdash.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4884,44 +4926,44 @@ msgstr	"# Ein regulärer Ausdruck, der en
 	"# zwischen '_' in col_markdash angezeigt werden.\n"
 	"# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n"
 
-#: src/lang.c:1637
+#: src/lang.c:1657
 msgid	"A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr	"Reg. Ausd., um Teile im Subjectanfang zu entfernen. '|' trennt die Ausd.."
 
-#: src/lang.c:1638
+#: src/lang.c:1658
 msgid	"Regex with Subject prefixes        :"
 msgstr	"Reg. Ausd. für den Subjectanfang   :"
 
-#: src/lang.c:1639
+#: src/lang.c:1659
 msgid	"# A regular expression that tin will use to find Subject prefixes\n"
 	"# which will be removed before showing the header.\n"
 msgstr	"# Ein regulärer Ausdruck, mit dem tin Worte im Anfang des Subjects findet,\n"
 	"# die dann entfernt werden.\n"
 
-#: src/lang.c:1644
+#: src/lang.c:1664
 msgid	"A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr	"Reg. Ausd., um Teile am Subjectanfang zu entfernen. '|' trennt die Ausd.."
 
-#: src/lang.c:1645
+#: src/lang.c:1665
 msgid	"Regex with Subject suffixes        :"
 msgstr	"Reg. Ausd. für das Subjectende     :"
 
-#: src/lang.c:1646
+#: src/lang.c:1666
 msgid	"# A regular expression that tin will use to find Subject suffixes\n"
 	"# which will be removed when replying or posting followup.\n"
 msgstr	"# Ein regulärer Ausdruck, der beim Antworten zum Abschneiden von\n"
 	"# unerwünschten Teilen am Ende des Subjects verwendet wird.\n"
 
-#: src/lang.c:1651
+#: src/lang.c:1671
 msgid	"Enter name and options for external MIME viewer, --internal for built-in "
 	"viewer"
 msgstr	"Name und Optionen für ext. MIME-Viewer, --internal für eingebaute Version"
 
-#: src/lang.c:1652
+#: src/lang.c:1672
 msgid	"MIME binary content viewer         :"
 msgstr	"MIME-Viewer                        :"
 
-#: src/lang.c:1653
+#: src/lang.c:1673
 msgid	"# If --internal automatically use the built in MIME viewer for non-text\n"
 	"# parts of articles.\n"
 	"# Otherwise specify an external viewer program (eg, metamail) or leave blank\n"
@@ -4930,51 +4972,51 @@ msgstr	"# Falls --internal wird der eing
 	"# nicht Text teilen benutzt. Andernfalls das angegebene Programm\n"
 	"# (z.B. metamail). Keine Angabe schaltet die automatische Anzeige aus.\n"
 
-#: src/lang.c:1660
+#: src/lang.c:1680
 msgid	"Confirm before starting non-text viewing program"
 msgstr	"Start des MIME-Viewers bestätigen"
 
-#: src/lang.c:1661
+#: src/lang.c:1681
 msgid	"Ask before using MIME viewer       :"
 msgstr	"Start des MIME-Viewers bestätigen  :"
 
-#: src/lang.c:1662
+#: src/lang.c:1682
 msgid	"# If ON tin will ask before using metamail to display MIME messages\n"
 	"# this only happens if metamail_prog is set to something\n"
 msgstr	"# Falls ON fragt tin nach, bevor metamail zum Anzeigen von MIME Artikeln\n"
 	"# benutzt wird. Das passiert nur, wenn auch metamail_prog gesetzt ist.\n"
 
-#: src/lang.c:1667
+#: src/lang.c:1687
 msgid	"Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr	"Beim Beenden anbieten, alle betretenen Gruppen als gelesen zu markieren?"
 
-#: src/lang.c:1668
+#: src/lang.c:1688
 msgid	"Catchup read groups when quitting  :"
 msgstr	"Aufholen der Gruppen beim Beenden  :"
 
-#: src/lang.c:1669
+#: src/lang.c:1689
 msgid	"# If ON ask user if read groups should all be marked read\n"
 msgstr	"# Falls ON: Beim Beenden von tin anbieten, alle betretenen Gruppen\n"
 	"#           als gelesen zu markieren\n"
 
-#: src/lang.c:1674
+#: src/lang.c:1694
 msgid	"Catchup group using left key       :"
 msgstr	"Catchup der Gruppe mit l. Cursor   :"
 
-#: src/lang.c:1675
+#: src/lang.c:1695
 msgid	"# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr	"# Falls ON: Aufholen (als gelesen markieren) der Gruppe/des Threads\n"
 	"#           beim Verlassen mit der linken Cursortaste\n"
 
-#: src/lang.c:1680
+#: src/lang.c:1700
 msgid	"Catchup thread by using left key   :"
 msgstr	"Catchup mit der linken Cursort.    :"
 
-#: src/lang.c:1686
+#: src/lang.c:1706
 msgid	"Which actions require confirmation :"
 msgstr	"Bestätigung erforderlich für       :"
 
-#: src/lang.c:1687
+#: src/lang.c:1707
 msgid	"# What should we ask confirmation for.\n"
 msgstr	"# Welche Operationen müssen explizit bestätigt werden.\n"
 	"# Kommandos, die im Manual mit [after confirmation] markiert sind,\n"
@@ -4982,322 +5024,330 @@ msgstr	"# Welche Operationen müssen expl
 	"# gelesen (siehe 'X' Befehl im Manual).\n"
 
 # TRANSLATION MISSING
-#: src/lang.c:1692
+#: src/lang.c:1712
 msgid	"'Mark article read' ignores tags   :"
 msgstr	""
 
-#: src/lang.c:1693
+#: src/lang.c:1713
 msgid	"# If ON the 'Mark article read' function marks only the current article.\n"
 msgstr	"# Falls ON wird mit der Fuktion 'Artikel als gelesen markieren' nur\n"
 	"# der jeweilige Artikel markiert.\n"
 
-#: src/lang.c:1697
+#: src/lang.c:1717
 msgid	"Program to run to open URL's, <CR> sets, <ESC> cancels."
 msgstr	"Öffne URLs mit ... <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:1698
+#: src/lang.c:1718
 msgid	"Program that opens URL's           :"
 msgstr	"Öffne URLs mit ...                 :"
 
-#: src/lang.c:1699
+#: src/lang.c:1719
 msgid	"# The program used to open URL's. The actual URL will be appended\n"
 msgstr	"# Programm zum Öffnen von URLs, die jeweilige URL wird hinten angehängt.\n"
 
-#: src/lang.c:1704
+#: src/lang.c:1724
 msgid	"Use mouse in xterm                 :"
 msgstr	"Maus in xterm nutzen               :"
 
-#: src/lang.c:1705
+#: src/lang.c:1725
 msgid	"# If ON enable mouse key support on xterm terminals\n"
 msgstr	"# Falls ON wird die Maustastenunterstützung für xterm aktiviert\n"
 
-#: src/lang.c:1711
+#: src/lang.c:1731
 msgid	"Use scroll keys on keypad          :"
 msgstr	"Scrollt. vom Nummernblock nutzen   :"
 
-#: src/lang.c:1712
+#: src/lang.c:1732
 msgid	"# If ON enable scroll keys on terminals that support it\n"
 msgstr	"# Falls ON werden die Scrolltasten genutzt (Terminalabhängig)\n"
 
-#: src/lang.c:1717
+#: src/lang.c:1737
 msgid	"Enter maximum number of article to get. <CR> sets."
 msgstr	"Maximale Anzahl der zu holenden Artikel eingeben. <CR> setzt."
 
-#: src/lang.c:1718
+#: src/lang.c:1738
 msgid	"Number of articles to get          :"
 msgstr	"Anzahl der zu holenden Artikel     :"
 
-#: src/lang.c:1719
+#: src/lang.c:1739
 msgid	"# Number of articles to get (0=no limit), if negative sets maximum number\n"
 	"# of already read articles to be read before first unread one\n"
 msgstr	"# Anzahl der zu holenden Artikel (0=unbegrenzt), falls ein negativer Wert\n"
 	"# angegeben wird, holt tin alle ungelesenen plus die letzten n gelesenen\n"
 	"# Artikel\n"
 
-#: src/lang.c:1724
+#: src/lang.c:1744
 msgid	"Enter number of days article is considered recent. <CR> sets."
 msgstr	"Anzahl der Tage, die ein Artikel als neu eingestuft wird. <CR> setzt."
 
-#: src/lang.c:1725
+#: src/lang.c:1745
 msgid	"Article recentness time limit      :"
 msgstr	"Artikel Neuheitszeit-Limit         :"
 
-#: src/lang.c:1726
+#: src/lang.c:1746
 msgid	"# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr	"# Anzahl der Tage, die ein Artikel als neu eingestuft wird, (0=Aus)\n"
 
-#: src/lang.c:1730
+#: src/lang.c:1750
 msgid	"WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr	"WILDMAT für normale Wildcards, REGEX für die Nutzung von regulären Ausdrücken."
 
-#: src/lang.c:1731
+#: src/lang.c:1751
 msgid	"Wildcard matching                  :"
 msgstr	"Wildcardprüfung                    :"
 
-#: src/lang.c:1732
+#: src/lang.c:1752
 msgid	"# Wildcard matching 0=(wildmat) 1=(regex)\n"
 msgstr	"# Wildcardprüfung 0=(wildmat) 1=(Regulärer Ausdruck)\n"
 
-#: src/lang.c:1736
+#: src/lang.c:1756
 msgid	"Enter minimal score before an article is marked killed. <CR> sets."
 msgstr	"Artikel mit weniger Bewertung (Score) werden als `gekillt' markiert. <CR> "
 	"setzt."
 
-#: src/lang.c:1737
+#: src/lang.c:1757
 msgid	"Score limit (kill)                 :"
 msgstr	"Bewertungsgrenze (kill)            :"
 
-#: src/lang.c:1738
+#: src/lang.c:1758
 msgid	"# Score limit before an article is marked killed\n"
 msgstr	"# Jeder Artikel mit einer niedrigeren Bewertung (Score) wird als\n"
 	"# gekillt markiert\n"
 
-#: src/lang.c:1742
+#: src/lang.c:1762
 msgid	"Enter default score to kill articles. <CR> sets."
 msgstr	"Bewertung für gekillte Artikel. <CR> setzt."
 
-#: src/lang.c:1743
+#: src/lang.c:1763
 msgid	"Default score to kill articles     :"
 msgstr	"Bewertung für gekillte Artikel     :"
 
-#: src/lang.c:1744
+#: src/lang.c:1764
 msgid	"# Default score to kill articles\n"
 msgstr	"# Bewertung für gekillte Artikel\n"
 
-#: src/lang.c:1748
+#: src/lang.c:1768
 msgid	"Enter minimal score before an article is marked hot. <CR> sets."
 msgstr	"Artikel mit einer höheren Bewertung (Score) werd. als wichtig/hot markiert."
 
-#: src/lang.c:1749
+#: src/lang.c:1769
 msgid	"Score limit (select)               :"
 msgstr	"Bewertungsgrenze (select)          :"
 
-#: src/lang.c:1750
+#: src/lang.c:1770
 msgid	"# Score limit before an article is marked hot\n"
 msgstr	"# Artikel mit einer höheren Bewertung (Score) werden als\n"
 	"# wichtig (hot) markiert\n"
 
-#: src/lang.c:1754
+#: src/lang.c:1774
 msgid	"Enter default score to select articles. <CR> sets."
 msgstr	"Bewertung für wichtige Artikel (hot). <CR> setzt."
 
-#: src/lang.c:1755
+#: src/lang.c:1775
 msgid	"Default score to select articles   :"
 msgstr	"Bewertung für wichtige Artikel     :"
 
-#: src/lang.c:1756
+#: src/lang.c:1776
 msgid	"# Default score to select articles\n"
 msgstr	"# Bewertung für wichtige Artikel (hot)\n"
 
-#: src/lang.c:1762
+#: src/lang.c:1782
 msgid	"Use slrnface to show ''X-Face:''s  :"
 msgstr	"''X-Face:''s mit slrnface Anzeigen :"
 
-#: src/lang.c:1763
+#: src/lang.c:1783
 msgid	"# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 	"# Only useful when running in an xterm.\n"
 msgstr	"# Falls ON benutze slrnface(1) um ''X-Face:'' anzuzeigen.\n"
 	"# Funktioniert nur wenn tin in einem xterm läuft.\n"
 
-#: src/lang.c:1771
+#: src/lang.c:1791
 msgid	"Use ANSI color                     :"
 msgstr	"Benutze ANSI-Farben                :"
 
-#: src/lang.c:1772
+#: src/lang.c:1792
 msgid	"# If ON using ANSI-color\n"
 msgstr	"# Falls ON benutze ANSI-Farben\n"
 
-#: src/lang.c:1777
+#: src/lang.c:1797
 msgid	"Standard foreground color          :"
 msgstr	"Standard Vordergrundfarbe          :"
 
-#: src/lang.c:1778
+#: src/lang.c:1798
 msgid	"# Standard foreground color\n"
 msgstr	"# Standard Vordergrundfarbe\n"
 
-#: src/lang.c:1783
+#: src/lang.c:1803
 msgid	"Standard background color          :"
 msgstr	"Standard Hintergrundfarbe          :"
 
-#: src/lang.c:1784
+#: src/lang.c:1804
 msgid	"# Standard-Background-Color\n"
 msgstr	"# Standard Hintergrundfarbe\n"
 
-#: src/lang.c:1789
+#: src/lang.c:1809
 msgid	"Color for inverse text (background):"
 msgstr	"Farbe des inversen Text (Hinterg.) :"
 
-#: src/lang.c:1790
+#: src/lang.c:1810
 msgid	"# Color of background for inverse text\n"
 msgstr	"# Farbe des Hintergrunds für inversen Text\n"
 
-#: src/lang.c:1795
+#: src/lang.c:1815
 msgid	"Color for inverse text (foreground):"
 msgstr	"Farbe des inversen Text (Vordergr.):"
 
-#: src/lang.c:1796
+#: src/lang.c:1816
 msgid	"# Color of foreground for inverse text\n"
 msgstr	"# Farbe des Vordergrunds für inversen Text\n"
 
-#: src/lang.c:1801
+#: src/lang.c:1821
 msgid	"Color of text lines                :"
 msgstr	"Farbe der Textzeilen               :"
 
-#: src/lang.c:1802
+#: src/lang.c:1822
 msgid	"# Color of text-lines\n"
 msgstr	"# Farbe der Textzeilen\n"
 
-#: src/lang.c:1807
+#: src/lang.c:1827
 msgid	"Color of mini help menu            :"
 msgstr	"Farbe des Minihilfemenü            :"
 
-#: src/lang.c:1808
+#: src/lang.c:1828
 msgid	"# Color of mini help menu\n"
 msgstr	"# Farbe des Minihilfemenü\n"
 
-#: src/lang.c:1813
+#: src/lang.c:1833
 msgid	"Color of help text                 :"
 msgstr	"Farbe des Hilfstext                :"
 
-#: src/lang.c:1814
+#: src/lang.c:1834
 msgid	"# Color of help pages\n"
 msgstr	"# Farbe der Hilfsseiten\n"
 
-#: src/lang.c:1819
+#: src/lang.c:1839
 msgid	"Color of status messages           :"
 msgstr	"Farbe der Statusmeldungen          :"
 
-#: src/lang.c:1820
+#: src/lang.c:1840
 msgid	"# Color of messages in last line\n"
 msgstr	"# Farbe der letzten Zeile im Artikel\n"
 
-#: src/lang.c:1825
+#: src/lang.c:1845
 msgid	"Color of quoted lines              :"
 msgstr	"Farbe der zitierten Zeilen         :"
 
-#: src/lang.c:1826
+#: src/lang.c:1846
 msgid	"# Color of quote-lines\n"
 msgstr	"# Farbe der zitierten Zeilen\n"
 
-#: src/lang.c:1831
+#: src/lang.c:1851
 msgid	"Color of twice quoted line         :"
 msgstr	"Farbe von zweifach zitierten Zeilen:"
 
-#: src/lang.c:1832
+#: src/lang.c:1852
 msgid	"# Color of twice quoted lines\n"
 msgstr	"# Farbe von zweifach zitierten Zeilen\n"
 
-#: src/lang.c:1837
+#: src/lang.c:1857
 msgid	"Color of =>3 times quoted line     :"
 msgstr	"Farbe von =>3-fach zitierten Zeilen:"
 
-#: src/lang.c:1838
+#: src/lang.c:1858
 msgid	"# Color of >=3 times quoted lines\n"
 msgstr	"# Farbe von =>3-fach zitierten Zeilen\n"
 
-#: src/lang.c:1843
+#: src/lang.c:1863
 msgid	"Color of article header lines      :"
 msgstr	"Farbe der Artikelheaderzeilen      :"
 
-#: src/lang.c:1844
+#: src/lang.c:1864
 msgid	"# Color of header-lines\n"
 msgstr	"# Farbe der Artikelheaderzeilen\n"
 
-#: src/lang.c:1849
+#: src/lang.c:1869
 msgid	"Color of actual news header fields :"
 msgstr	"Farbe des angezeigten Headers      :"
 
-#: src/lang.c:1850
+#: src/lang.c:1870
 msgid	"# Color of actual news header fields\n"
 msgstr	"# Farbe des angezeigten Headers\n"
 
-#: src/lang.c:1855
+#: src/lang.c:1875
 msgid	"Color of article subject lines     :"
 msgstr	"Farbe der Subjectzeile             :"
 
-#: src/lang.c:1856
+#: src/lang.c:1876
 msgid	"# Color of article subject\n"
 msgstr	"# Farbe der Subjectzeile\n"
 
-#: src/lang.c:1861
+#: src/lang.c:1881
 msgid	"Color of response counter          :"
 msgstr	"Farbe des Antwortzählers           :"
 
-#: src/lang.c:1862
+#: src/lang.c:1882
 msgid	"# Color of response counter\n"
 msgstr	"# Farbe des Antwortzählers\n"
 
-#: src/lang.c:1867
+#: src/lang.c:1887
 msgid	"Color of sender (From:)            :"
 msgstr	"Farbe des Autors (From:)           :"
 
-#: src/lang.c:1868
+#: src/lang.c:1888
 msgid	"# Color of sender (From:)\n"
 msgstr	"# Farbe des Autors (From:)\n"
 
-#: src/lang.c:1873
+#: src/lang.c:1893
 msgid	"Color of help/mail sign            :"
 msgstr	"Farbe des Hilfe/Mail-Zeichen       :"
 
-#: src/lang.c:1874
+#: src/lang.c:1894
 msgid	"# Color of Help/Mail-Sign\n"
 msgstr	"# Farbe des Hilfe/Mail-Zeichen\n"
 
-#: src/lang.c:1879
+#: src/lang.c:1899
 msgid	"Color of signatures                :"
 msgstr	"Farbe von Signaturen               :"
 
-#: src/lang.c:1880
+#: src/lang.c:1900
 msgid	"# Color of signature\n"
 msgstr	"# Farbe von Signaturen\n"
 
-#: src/lang.c:1885
+#: src/lang.c:1905
+msgid	"Color of highlighted URLs          :"
+msgstr	"Farbe der hervorgehobenen URLs     :"
+
+#: src/lang.c:1906
+msgid	"# Color of highlighted URLs\n"
+msgstr	"# Farbe der hervorgehobenen URLs\n"
+
+#: src/lang.c:1911
 msgid	"Color of highlighting with *stars* :"
 msgstr	"Farbe der Hervorhebung *Sterne*    :"
 
-#: src/lang.c:1886
+#: src/lang.c:1912
 msgid	"# Color of word highlighting. There are four possibilities\n"
 	"# in articles: *stars*, /slashes/, _underdashes_ and -strokes-.\n"
 msgstr	"# Farbe der Hervorhebungen. Es gibt vier Möglichkeiten in Artikeln:\n"
 	"# *Sterne*, _Unterstriche_, /Schrägstriche/ und -Durchstreichen-.\n"
 
-#: src/lang.c:1892
+#: src/lang.c:1918
 msgid	"Color of highlighting with _dash_  :"
 msgstr	"Farbe der Hervorhebung _Striche_   :"
 
-#: src/lang.c:1898
+#: src/lang.c:1924
 msgid	"Color of highlighting with /slash/ :"
 msgstr	"Farbe der Hervorhebung /Schrägstr./:"
 
-#: src/lang.c:1904
+#: src/lang.c:1930
 msgid	"Color of highlighting with -stroke-:"
 msgstr	"Farbe der Hervorhebung -Durchstr.- :"
 
-#: src/lang.c:1911
+#: src/lang.c:1937
 msgid	"Attr. of highlighting with *stars* :"
 msgstr	"Hervorhebungsattribute *Sterne*    :"
 
-#: src/lang.c:1912
+#: src/lang.c:1938
 msgid	"# Attribute of word highlighting on mono terminals.\n"
 	"# There are four possibilities in articles:\n"
 	"# *stars*, /slashes/, _underdashes_ and -strokes-.\n"
@@ -5311,39 +5361,39 @@ msgstr	"# Attribute der Hervorhebung von
 	"# 0 - normal, 1 - unterstrichen, 2 - beste Hervorhebung,\n"
 	"# 3 - invers, 4 - blinkend, 5 - halbe Helligkeit, 6 - fett\n"
 
-#: src/lang.c:1922
+#: src/lang.c:1948
 msgid	"Attr. of highlighting with _dash_  :"
 msgstr	"Hervorhebungsattr. _Unterstriche_  :"
 
-#: src/lang.c:1928
+#: src/lang.c:1954
 msgid	"Attr. of highlighting with /slash/ :"
 msgstr	"Hervorhebungsattr. /Schrägstriche/ :"
 
-#: src/lang.c:1934
+#: src/lang.c:1960
 msgid	"Attr. of highlighting with -stroke-:"
 msgstr	"Hervorhebungsattr. -Durchstreich.- :"
 
-#: src/lang.c:1940
+#: src/lang.c:1966
 msgid	"URL highlighting in message body   :"
 msgstr	"URL-Hervorhebung im Artikel        :"
 
-#: src/lang.c:1941
+#: src/lang.c:1967
 msgid	"# Enable URL highlighting?\n"
 msgstr	"# URL-Hervorhebung aktivieren?\n"
 
-#: src/lang.c:1946
+#: src/lang.c:1972
 msgid	"Word highlighting in message body  :"
 msgstr	"Wort-Hervorhebung im Artikel       :"
 
-#: src/lang.c:1947
+#: src/lang.c:1973
 msgid	"# Enable word highlighting?\n"
 msgstr	"# Wort-Hervorhebung aktivieren?\n"
 
-#: src/lang.c:1952
+#: src/lang.c:1978
 msgid	"What to display instead of mark    :"
 msgstr	"Anstelle der Markierung anzeigen   :"
 
-#: src/lang.c:1953
+#: src/lang.c:1979
 msgid	"# Should the leading and ending stars and dashes also be displayed,\n"
 	"# even when they are highlighting marks?\n"
 	"# 0 - no    1 - yes, display mark    2 - print a space instead\n"
@@ -5351,59 +5401,59 @@ msgstr	"# Sollen die führenden und absch
 	"# werden, auch wenn sie Hervorhebungsmarkierungen sind?\n"
 	"# 0 - nein  1 - ja, anzeigen  2 - Leerzeichen anstelle darstellen\n"
 
-#: src/lang.c:1959
+#: src/lang.c:1985
 msgid	"Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr	"Nach wie vielen Zeichen soll im Pager umbrochen werden? <CR> setzt."
 
-#: src/lang.c:1960
+#: src/lang.c:1986
 msgid	"Page line wrap column              :"
 msgstr	"Zeilen umbrechen nach              :"
 
-#: src/lang.c:1961
+#: src/lang.c:1987
 msgid	"# Wrap article lines at column\n"
 msgstr	"# In der Artikelanzeige Zeilen umbrechen bei Spalte\n"
 
-#: src/lang.c:1966
+#: src/lang.c:1992
 msgid	"Wrap around threads on next unread :"
 msgstr	"Nä.ungel.-kein Abbr. am Listenende?:"
 
-#: src/lang.c:1967
+#: src/lang.c:1993
 msgid	"# If ON wrap around threads on searching next unread article\n"
 msgstr	"# Diverse Funktionen in tin wechseln zum \"nächsten\" ungelesenen\n"
 	"# Artikel. Diese Einstellung kontrolliert, ob tin am Ende der\n"
 	"# Artikel/Threadliste abbricht (OFF) oder zum Beginn derselben springt und\n"
 	"# von dort aus den nächsten ungelesenen Artikel sucht. (ON)\n"
 
-#: src/lang.c:1971
+#: src/lang.c:1997
 msgid	"Enter default mail address (and fullname). <CR> sets."
 msgstr	"Standard Mail-Adresse (und Name) eingeben. <CR> setzt."
 
-#: src/lang.c:1972
+#: src/lang.c:1998
 msgid	"Mail address (and fullname)        :"
 msgstr	"Mailadresse (und Name)             :"
 
-#: src/lang.c:1973
+#: src/lang.c:1999
 msgid	"# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr	"# EMail-Adresse und vollständiger Name des Benutzers, wenn sie nicht\n"
 	"# benutzername@host (Vollständiger Name) lautet\n"
 
-#: src/lang.c:1978
+#: src/lang.c:2004
 msgid	"Show empty Followup-To in editor   :"
 msgstr	"Leeres Fup'2 im Editor anzeigen    :"
 
-#: src/lang.c:1979
+#: src/lang.c:2005
 msgid	"# If ON show empty Followup-To header when editing an article\n"
 msgstr	"# Wenn ON, zeige leeren Followup-To:-Header im Editor\n"
 
-#: src/lang.c:1983
+#: src/lang.c:2009
 msgid	"Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr	"Setze Pfad/! Kommando/--none um ihre Signatur festzulegen. <CR> setzt."
 
-#: src/lang.c:1984
+#: src/lang.c:2010
 msgid	"Create signature from path/command :"
 msgstr	"Erzeuge Signatur aus Pfad/Kommando :"
 
-#: src/lang.c:1985
+#: src/lang.c:2011
 msgid	"# Signature path (random sigs)/file to be used when posting/replying\n"
 	"# default_sigfile=file       appends file as signature\n"
 	"# default_sigfile=!command   executes external command to generate a "
@@ -5414,49 +5464,49 @@ msgstr	"# Pfad der Sig (Zufällige Sigs)/
 	"# default_sigfile=!Kommando führt Kommando aus um Sig zu erzeugen\n"
 	"# default_sigfile=--none    hängt keine Signatur an\n"
 
-#: src/lang.c:1992
+#: src/lang.c:2018
 msgid	"Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr	"Trenne Sig mit \"-- \" in eigener Zeile ab. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:1993
+#: src/lang.c:2019
 msgid	"Prepend signature with \"-- \"       :"
 msgstr	"Trenne Sig mit \"-- \" ab            :"
 
-#: src/lang.c:1994
+#: src/lang.c:2020
 msgid	"# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr	"# Falls ON trenne Signatur mit '\\n-- \\n' ab\n"
 
-#: src/lang.c:1998
+#: src/lang.c:2024
 msgid	"Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr	"Sig. beim Reposten eines Artikels hinzufügen? <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:1999
+#: src/lang.c:2025
 msgid	"Add signature when reposting       :"
 msgstr	"Signatur beim Reposten anhängen    :"
 
-#: src/lang.c:2000
+#: src/lang.c:2026
 msgid	"# If ON add signature to reposted articles\n"
 msgstr	"# Falls ON wird die Signatur auch an repostete Artikel angehängt.\n"
 
-#: src/lang.c:2004
+#: src/lang.c:2030
 msgid	"Enter quotation marks, %s or %S for author's initials."
 msgstr	"Zitatzeichen eingeben, %s oder %S für die Initialen des Verfassers."
 
-#: src/lang.c:2005
+#: src/lang.c:2031
 msgid	"Characters used as quote-marks     :"
 msgstr	"Zitatzeichen                       :"
 
-#: src/lang.c:2006
+#: src/lang.c:2032
 msgid	"# Characters used in quoting to followups and replies.\n"
 	"# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n"
 msgstr	"# Zeichen für Zitate in Antworten.\n"
 	"# '_' wird durch ' ' ersetzt. %%s, %%S wird ersetzt durch Autoreninitialen.\n"
 
-#: src/lang.c:2012
+#: src/lang.c:2038
 msgid	"Quoting behavior                   :"
 msgstr	"Zitierverhalten                    :"
 
-#: src/lang.c:2013
+#: src/lang.c:2039
 msgid	"# How quoting should be handled when following up or replying.\n"
 	"# 0 = Nothing special\n"
 	"# 1 = Compress quotes\n"
@@ -5477,15 +5527,15 @@ msgstr	"# Spezielle Optionen beim Zitier
 	"# 7 = Zitatzeichen zusammenziehen & Signaturen zitieren & Leerzeilen "
 	"zitieren\n"
 
-#: src/lang.c:2025 src/lang.c:2033 src/lang.c:2039
+#: src/lang.c:2051 src/lang.c:2059 src/lang.c:2065
 msgid	"%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr	"%A Adr %D Datum %F Adr+Name %G Gruppenname %M Message-ID %N Name %C Vorname"
 
-#: src/lang.c:2026
+#: src/lang.c:2052
 msgid	"Quote line when following up       :"
 msgstr	"Einleitungszeile beim Antworten    :"
 
-#: src/lang.c:2027
+#: src/lang.c:2053
 msgid	"# Format of quote line when mailing/posting/following-up an article\n"
 	"# %%A Address    %%D Date   %%F Addr+Name   %%G Groupname   %%M Message-ID\n"
 	"# %%N Full Name  %%C First Name   %%I Initials\n"
@@ -5493,35 +5543,35 @@ msgstr	"# Format der Einleitungszeile be
 	"# %%A Adresse  %%D Datum  %%F Adr+Name  %%G Gruppenname  %%M Message-ID\n"
 	"# %%N Voller Name  %%C Vorname  %%I Initialen\n"
 
-#: src/lang.c:2034
+#: src/lang.c:2060
 msgid	"Quote line when cross-posting      :"
 msgstr	"Einleitungszeile beim Crossposten  :"
 
-#: src/lang.c:2040
+#: src/lang.c:2066
 msgid	"Quote line when mailing            :"
 msgstr	"Einleitungszeile bei Mailantwort   :"
 
-#: src/lang.c:2045
+#: src/lang.c:2071
 msgid	"If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr	"Falls ON, füge User-Agent:-Header ein. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2046
+#: src/lang.c:2072
 msgid	"Insert 'User-Agent:'-header        :"
 msgstr	"Füge 'User-Agent:'-header ein      :"
 
-#: src/lang.c:2047
+#: src/lang.c:2073
 msgid	"# If ON include advertising User-Agent: header\n"
 msgstr	"# Falls ON füge 'User-Agent: header' ein\n"
 
-#: src/lang.c:2051
+#: src/lang.c:2077
 msgid	"Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr	"Zeichensatz für MIME (z.B. US-ASCII, ISO-8859-1, EUC-KR), <CR> setzt."
 
-#: src/lang.c:2052
+#: src/lang.c:2078
 msgid	"MM_CHARSET                         :"
 msgstr	"MM_CHARSET                         :"
 
-#: src/lang.c:2053
+#: src/lang.c:2079
 msgid	"# Charset supported locally which is also used for MIME header and\n"
 	"# Content-Type header.\n"
 	"# If not set, the value of the environment variable MM_CHARSET is used.\n"
@@ -5538,27 +5588,27 @@ msgstr	"# Der lokale Zeichensatz, der au
 	"# definiert, werden andere Zeichensätze als mm_charset nicht dargestellt\n"
 	"# und die jeweiligen Zeichen durch ein '?' ersetzt.\n"
 
-#: src/lang.c:2064
+#: src/lang.c:2090
 msgid	"MM_NETWORK_CHARSET                 :"
 msgstr	"MM_NETWORK_CHARSET                 :"
 
-#: src/lang.c:2065
+#: src/lang.c:2091
 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:2071
+#: src/lang.c:2097
 msgid	"Mailbox format                     :"
 msgstr	"Mailbox-Format                     :"
 
-#: src/lang.c:2072
+#: src/lang.c:2098
 msgid	"# Format of the mailbox.\n"
 msgstr	"# Format der Mailbox.\n"
 
-#: src/lang.c:2077
+#: src/lang.c:2103
 msgid	"MIME encoding in news messages     :"
 msgstr	"MIME-Kodierung in Newsartikeln     :"
 
-#: src/lang.c:2078
+#: src/lang.c:2104
 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"
@@ -5572,15 +5622,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:2086 src/lang.c:2107
+#: src/lang.c:2112 src/lang.c:2133
 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:2087
+#: src/lang.c:2113
 msgid	"Use 8bit characters in news headers:"
 msgstr	"Benutze 8bit-Zeichen im Newsheader :"
 
-#: src/lang.c:2088
+#: src/lang.c:2114
 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"
@@ -5592,27 +5642,27 @@ msgstr	"# Wenn ON werden 8-Bit-Zeichen (
 	"# kodiert, wenn post_mime_encoding nicht auch auf 8bit eingestellt\n"
 	"# ist.\n"
 
-#: src/lang.c:2095
+#: src/lang.c:2121
 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:2096
+#: src/lang.c:2122
 msgid	"View post-processed files          :"
 msgstr	"Nachbearbeitete Artikel anzeigen   :"
 
-#: src/lang.c:2097
+#: src/lang.c:2123
 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:2102
+#: src/lang.c:2128
 msgid	"MIME encoding in mail messages     :"
 msgstr	"MIME-Kodierung für E-Mails         :"
 
-#: src/lang.c:2108
+#: src/lang.c:2134
 msgid	"Use 8bit characters in mail headers:"
 msgstr	"Benutze 8bit Zeichen im Mail Header:"
 
-#: src/lang.c:2109
+#: src/lang.c:2135
 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 "
@@ -5629,24 +5679,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:2119
+#: src/lang.c:2145
 msgid	"Strip blanks from ends of lines    :"
 msgstr	"Leerzeichen am Zeilenende entfernen:"
 
-#: src/lang.c:2120
+#: src/lang.c:2146
 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:2125
+#: src/lang.c:2151
 msgid	"If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr	"Wenn ON verwende Umschreibungen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2126
+#: src/lang.c:2152
 msgid	"Transliteration                    :"
 msgstr	"Verwende Umschreibungen            :"
 
-#: src/lang.c:2127
+#: src/lang.c:2153
 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"
@@ -5656,242 +5706,242 @@ msgstr	"# Wenn ON verwende //TRANSLIT Er
 	"# Terminal als EUR umschrieben, ohne //TRANSLIT würde tin ein\n"
 	"# Fragezeichen verwenden.\n"
 
-#: src/lang.c:2134
+#: src/lang.c:2160
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	"Sendet ihnen automatisch eine Kopie. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2135
+#: src/lang.c:2161
 msgid	"Send you a cc automatically        :"
 msgstr	"Sendet Ihnen ein Cc automatisch    :"
 
-#: src/lang.c:2136
+#: src/lang.c:2162
 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:2140
+#: src/lang.c:2166
 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:2141
+#: src/lang.c:2167
 msgid	"Send you a blind cc automatically  :"
 msgstr	"Sendet Ihnen eine blinde cc autom. :"
 
-#: src/lang.c:2142
+#: src/lang.c:2168
 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:2146
+#: src/lang.c:2172
 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:2147
+#: src/lang.c:2173
 msgid	"Spamtrap warning address parts     :"
 msgstr	"Spamfallenwarnung in Adresse       :"
 
-#: src/lang.c:2148
+#: src/lang.c:2174
 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:2153
+#: src/lang.c:2179
 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:2154
+#: src/lang.c:2180
 msgid	"No. of days a filter entry is valid:"
 msgstr	"Tage, die ein Filter gültig ist    :"
 
-#: src/lang.c:2155
+#: src/lang.c:2181
 msgid	"# Number of days a short term filter will be active\n"
 msgstr	"# Anzahl der Tage die ein temporaerer Filter aktiv ist\n"
 
-#: src/lang.c:2159
+#: src/lang.c:2185
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	"Gepostete Artikel zum Filter hinzufügen. <SPACE> wechselt & <CR> setzt."
 
-#: src/lang.c:2160
+#: src/lang.c:2186
 msgid	"Add posted articles to filter      :"
 msgstr	"Füge gepostete Artikel zum Filter  :"
 
-#: src/lang.c:2161
+#: src/lang.c:2187
 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 Article die einen neunen Thread einleiten\n"
 	"# zum Filter hinzu um evtl. Antworten hervorzuheben\n"
 
-#: src/lang.c:2165
+#: src/lang.c:2191
 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:2166
+#: src/lang.c:2192
 msgid	"Mail directory                     :"
 msgstr	"Mail Verzeichnis                   :"
 
-#: src/lang.c:2167
+#: src/lang.c:2193
 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:2172
+#: src/lang.c:2198
 msgid	"Save articles in batch mode (-S)   :"
 msgstr	"Speicher Artikel im Batchmode (-S) :"
 
-#: src/lang.c:2173
+#: src/lang.c:2199
 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 save -S,\n"
 	"# oder gemailt, wenn -M bzw. -N in der Kommandozeile angegeben wurde\n"
 
-#: src/lang.c:2178
+#: src/lang.c:2204
 msgid	"The directory where you want articles/threads saved."
 msgstr	"Das Verzeichnis, in dem Artikel/Threads gespeichert werden sollen."
 
-#: src/lang.c:2179
+#: src/lang.c:2205
 msgid	"Directory to save arts/threads in  :"
 msgstr	"Verz. um Art/Threads zu speichern  :"
 
-#: src/lang.c:2180
+#: src/lang.c:2206
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	"# Verzeichnis in dem Artikel/Threads gespeichert werden\n"
 
-#: src/lang.c:2184
+#: src/lang.c:2210
 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:2185
+#: src/lang.c:2211
 msgid	"Use Archive-name: header for save  :"
 msgstr	"Nutze Archive-name: zum Speichern  :"
 
-#: src/lang.c:2186
+#: src/lang.c:2212
 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:2191
+#: src/lang.c:2217
 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:2192
+#: src/lang.c:2218
 msgid	"Mark saved articles/threads as read:"
 msgstr	"Mark. gesp. Artikel/Threads gelesen:"
 
-#: src/lang.c:2193
+#: src/lang.c:2219
 msgid	"# If ON mark articles that are saved as read\n"
 msgstr	"# Falls ON werden gespeicherte Artikel als gelesen markiert\n"
 
-#: src/lang.c:2197
+#: src/lang.c:2223
 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:2198
+#: src/lang.c:2224
 msgid	"Post process saved articles        :"
 msgstr	"Nachbearbeiten gespeichert. Artikel:"
 
-#: src/lang.c:2199
+#: src/lang.c:2225
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# 0=(no) 1=(yes) 2=(extract shell archives (shar) only)\n"
 msgstr	"# Nachbearbeiten gespeicherter Artikel\n"
 	"# 0=(nein) 1=(ja) 2=(nur Shell Archive (shar) auspacken)\n"
 
-#: src/lang.c:2205
+#: src/lang.c:2231
 msgid	"Process only unread articles       :"
 msgstr	"Bearbeite nur ungelesene Artikel   :"
 
-#: src/lang.c:2206
+#: src/lang.c:2232
 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:2211
+#: src/lang.c:2237
 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:2212
+#: src/lang.c:2238
 msgid	"Print all headers when printing    :"
 msgstr	"Alle Header beim Drucken ausgeben  :"
 
-#: src/lang.c:2213
+#: src/lang.c:2239
 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:2217
+#: src/lang.c:2243
 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:2218
+#: src/lang.c:2244
 msgid	"Printer program with options       :"
 msgstr	"Druckprogramm mit Optionen         :"
 
-#: src/lang.c:2219
+#: src/lang.c:2245
 msgid	"# Print program with parameters used to print articles/threads\n"
 msgstr	"# Druckprogramm mit Optionen zum drucken der Artikel/Threads\n"
 
-#: src/lang.c:2225
+#: src/lang.c:2251
 msgid	"Force redraw after certain commands:"
 msgstr	"Anzeigeauffrischung nach Kommandos :"
 
-#: src/lang.c:2226
+#: src/lang.c:2252
 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:2230
+#: src/lang.c:2256
 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:2231
+#: src/lang.c:2257
 msgid	"Start editor with line offset      :"
 msgstr	"Starte Editor mit Einrückung       :"
 
-#: src/lang.c:2232
+#: src/lang.c:2258
 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:2237
+#: src/lang.c:2263
 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:2238
+#: src/lang.c:2264
 msgid	"Invocation of your editor          :"
 msgstr	"Aufruf ihres Editors               :"
 
-#: src/lang.c:2239
+#: src/lang.c:2265
 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:2244
+#: src/lang.c:2270
 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:2245
+#: src/lang.c:2271
 msgid	"External inews                     :"
 msgstr	"Externes inews-Programm            :"
 
-#: src/lang.c:2246
+#: src/lang.c:2272
 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 angebenen\n"
 	"# Optionen verwendet. z.B. 'inews -h'\n"
 
-#: src/lang.c:2250
+#: src/lang.c:2276
 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:2251
+#: src/lang.c:2277
 msgid	"Invocation of your mail command    :"
 msgstr	"Aufruf ihres Mailkommandos         :"
 
-#: src/lang.c:2252
+#: src/lang.c:2278
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
 	"# ie. to use elm as your mailer:    elm -s \"%%S\" \"%%T\" < %%F\n"
@@ -5901,11 +5951,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:2260
+#: src/lang.c:2286
 msgid	"Use interactive mail reader        :"
 msgstr	"Benutze interaktives Mailprogramm  :"
 
-#: src/lang.c:2261
+#: src/lang.c:2287
 msgid	"# Interactive mailreader:\n"
 	"# 0 = no interactive mailreader\n"
 	"# 1 = use interactive mailreader with headers in file\n"
@@ -5916,119 +5966,130 @@ msgstr	"# Interaktives Mailprogramm:\n"
 	"übergeben\n"
 	"# 2 = interaktives Mailprogramm, Mailheader werden als Argumente übergeben\n"
 
-#: src/lang.c:2269
+#: src/lang.c:2295
 msgid	"Remove ~/.article after posting    :"
 msgstr	"Entferne ~/.article nach dem posten:"
 
-#: src/lang.c:2270
+#: src/lang.c:2296
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	"# Falls ON entferne ~/.article nach dem posten.\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2300
 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:2275
+#: src/lang.c:2301
 msgid	"Filename for posted articles       :"
 msgstr	"Gepostete Artikel speichern in     :"
 
-#: src/lang.c:2276
+#: src/lang.c:2302
 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:2281
+#: src/lang.c:2307
 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:2282
+#: src/lang.c:2308
 msgid	"Keep failed arts in ~/dead.articles:"
 msgstr	"Halte Fehlschl. in ~/dead.articles :"
 
-#: src/lang.c:2283
+#: src/lang.c:2309
 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:2287
+#: src/lang.c:2313
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	"Wollen Sie nicht-abonnierte Gruppen aus der .newsrc entfernen?"
 
-#: src/lang.c:2288
+#: src/lang.c:2314
 msgid	"No unsubscribed groups in newsrc   :"
 msgstr	"Nur abonnierte Gruppen in newsrc   :"
 
-#: src/lang.c:2289
+#: src/lang.c:2315
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	"# Falls ON entferne nicht-abonnierte Gruppen aus der newsrc\n"
 
-#: src/lang.c:2294
+#: src/lang.c:2320
 msgid	"Remove bogus groups from newsrc    :"
 msgstr	"Lösche nicht vorhande G. aus newsrc:"
 
-#: src/lang.c:2295
+#: src/lang.c:2321
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# 0=(Keep) 1=(Remove) 2=(Highlight with D on selection screen).\n"
 msgstr	"# Was soll mit nicht mehr vorhanden Gruppen in der newsrc-Datei passieren?\n"
 	"# 0=(Behalten) 1=(entfernen) 2=(Mit D in der Auswahl markieren).\n"
 
-#: src/lang.c:2299
+#: src/lang.c:2325
 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:2300
+#: src/lang.c:2326
 msgid	"Interval in secs to reread active  :"
 msgstr	"Active alle ... Sekunden neu lesen :"
 
-#: src/lang.c:2301
+#: src/lang.c:2327
 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:2306
+#: src/lang.c:2332
 msgid	"Reconnect to server automatically  :"
 msgstr	"Autom. Wiederverbindung zum Server :"
 
-#: src/lang.c:2307
+#: src/lang.c:2333
 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:2311
+#: src/lang.c:2337
 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:2312
+#: src/lang.c:2338
 msgid	"Cache NNTP overview files locally  :"
 msgstr	"Speichere NNTP Overview Daten lokal:"
 
-#: src/lang.c:2313
+#: src/lang.c:2339
 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:2317
+#: src/lang.c:2343
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	"Format-Zeichenkette eingeben. <CR> setzt, <ESC> bricht ab."
 
-#: src/lang.c:2318
+#: src/lang.c:2344
 msgid	"Format string for display of dates :"
 msgstr	"Datums Format-Zeichenkette         :"
 
-#: src/lang.c:2319
+#: src/lang.c:2345
 msgid	"# Format string for date representation\n"
 msgstr	"# Zeichenkette die die Datumsanzeige beschreibt.\n"
 
-#: src/main.c:590
+# TRANSLATION MISSING
+#: src/lang.c:2351
+msgid	"Unicode normalization form         :"
+msgstr	""
+
+# TRANSLATION MISSING
+#: src/lang.c:2352
+msgid	"# Unicode normalization form\n"
+	"# 0 = None, 1 = NFKC, 2 = NFKD, 3 = NFC, 4 = NFD\n"
+msgstr	""
+
+#: src/main.c:586
 #, c-format
 msgid	"Version: %s release %s (\"%s\") %s %s"
 msgstr	"Version: %s Ausgabe %s (\"%s\") %s %s"
 
-#: src/main.c:593
+#: src/main.c:589
 #, c-format
 msgid	"Version: %s release %s (\"%s\")"
 msgstr	"Version: %s Ausgabe %s (\"%s\")"
 
-#: src/newsrc.c:432
+#: src/newsrc.c:433
 msgid	"Unreachable?\n"
 msgstr	"Unerreichbar?\n"
 
@@ -6058,21 +6119,10 @@ msgstr	"Sende letztes Kommando (%s) neu\
 msgid	"couldn't expand %s\n"
 msgstr	"Kann %s nicht expandieren\n"
 
-#: src/post.c:1747
-#, c-format
-msgid	"%s is bogus"
-msgstr	"%s ist ungültig"
-
-#: src/post.c:1934
+#: src/post.c:1939
 #, c-format
 msgid	"Posting: %.*s ..."
 msgstr	"Poste: %.*s ..."
-
-#. TODO: -> lang.c
-#: src/post.c:4037
-#, c-format
-msgid	"Rereading %s..."
-msgstr	"Lese %s..."
 
 #. fp
 #. Check if okay to read
Binary files tin-1.7.2/po/en_GB.gmo and tin-1.7.3/po/en_GB.gmo differ
diff -Nurp tin-1.7.2/po/en_GB.po tin-1.7.3/po/en_GB.po
--- tin-1.7.2/po/en_GB.po	Sun Oct 19 00:57:50 2003
+++ tin-1.7.3/po/en_GB.po	Sat Dec 20 18:45:12 2003
@@ -3,7 +3,7 @@
 #
 msgid	""
 msgstr	"Project-Id-Version: tin 1.7.0\n"
-	"POT-Creation-Date: 2003-10-19 00:55+0200\n"
+	"POT-Creation-Date: 2003-12-20 18:42+0100\n"
 	"PO-Revision-Date: 2002-11-15 20:10+0000\n"
 	"Last-Translator: Robert Brady <rwb197@zepler.org>\n"
 	"Language-Team: \n"
@@ -11,208 +11,212 @@ msgstr	"Project-Id-Version: tin 1.7.0\n"
 	"Content-Type: text/plain; charset=ISO-8859-1\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1423
+#: src/art.c:1425
 #, c-format
 msgid	"%d Bad overview record (%d fields) '%s'"
 msgstr	""
 
-#: src/attrib.c:580
+#: src/attrib.c:585
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	""
 
-#: src/attrib.c:581
+#: src/attrib.c:586
 msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	""
 
-#: src/attrib.c:582
+#: src/attrib.c:587
 msgid	"#  maildir=STRING (ie. ~/Mail)\n"
 msgstr	""
 
-#: src/attrib.c:583
+#: src/attrib.c:588
 msgid	"#  savedir=STRING (ie. ~user/News)\n"
 msgstr	""
 
-#: src/attrib.c:584
+#: src/attrib.c:589
 msgid	"#  savefile=STRING (ie. =linux)\n"
 msgstr	""
 
-#: src/attrib.c:585
+#: src/attrib.c:590
 msgid	"#  sigfile=STRING (ie. $var/sig)\n"
 msgstr	""
 
-#: src/attrib.c:586
+#: src/attrib.c:591
 msgid	"#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr	""
 
-#: src/attrib.c:587
+#: src/attrib.c:592
 msgid	"#  followup_to=STRING\n"
 msgstr	""
 
-#: src/attrib.c:588
+#: src/attrib.c:593
 msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
 msgstr	""
 
-#: src/attrib.c:589
+#: src/attrib.c:594
 msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
 msgstr	""
 
-#: src/attrib.c:590
+#: src/attrib.c:595
 msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
 msgstr	""
 
-#: src/attrib.c:591
+#: src/attrib.c:596
 msgid	"#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr	""
 
-#: src/attrib.c:592
+#: src/attrib.c:597
 msgid	"#  news_quote_format=STRING\n"
 msgstr	""
 
-#: src/attrib.c:593
+#: src/attrib.c:598
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	""
 
-#: src/attrib.c:594
+#: src/attrib.c:599
 msgid	"#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr	""
 
-#: src/attrib.c:596
+#: src/attrib.c:601
 msgid	"#  ispell=STRING\n"
 msgstr	""
 
-#: src/attrib.c:598
+#: src/attrib.c:603
 msgid	"#  auto_select=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:599
+#: src/attrib.c:604
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:600
+#: src/attrib.c:605
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:601
+#: src/attrib.c:606
 msgid	"#  delete_tmp_files=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:602
+#: src/attrib.c:607
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:603
+#: src/attrib.c:608
 msgid	"#  thread_arts=NUM"
 msgstr	""
 
-#: src/attrib.c:610
+#: src/attrib.c:615
 msgid	"#  show_author=NUM\n"
 msgstr	""
 
-#: src/attrib.c:616
+#: src/attrib.c:621
+msgid	"#  show_info=NUM\n"
+msgstr	""
+
+#: src/attrib.c:627
 msgid	"#  sort_art_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:634
+#: src/attrib.c:645
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:639
+#: src/attrib.c:650
 msgid	"#  post_proc_type=NUM\n"
 msgstr	""
 
-#: src/attrib.c:644
+#: src/attrib.c:655
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	""
 
-#: src/attrib.c:645
+#: src/attrib.c:656
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:646
+#: src/attrib.c:657
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:647
+#: src/attrib.c:658
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	""
 
-#: src/attrib.c:648 src/attrib.c:655
+#: src/attrib.c:659 src/attrib.c:666
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	""
 
-#: src/attrib.c:649 src/attrib.c:656
+#: src/attrib.c:660 src/attrib.c:667
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	""
 
-#: src/attrib.c:650 src/attrib.c:657
+#: src/attrib.c:661 src/attrib.c:668
 msgid	"#    4=msgid 5=lines\n"
 msgstr	""
 
-#: src/attrib.c:651
+#: src/attrib.c:662
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	""
 
-#: src/attrib.c:652
+#: src/attrib.c:663
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:653
+#: src/attrib.c:664
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:654
+#: src/attrib.c:665
 msgid	"#  quick_select_header=NUM\n"
 msgstr	""
 
-#: src/attrib.c:658
+#: src/attrib.c:669
 msgid	"#  x_comment_to=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:659
+#: src/attrib.c:670
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	""
 
-#: src/attrib.c:660
+#: src/attrib.c:671
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	""
 
-#: src/attrib.c:662
+#: src/attrib.c:673
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	""
 
-#: src/attrib.c:669
+#: src/attrib.c:680
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	""
 
-#: src/attrib.c:671
+#: src/attrib.c:682
 msgid	"#\n"
 	"# Note that it is best to put general (global scoping)\n"
 msgstr	""
 
-#: src/attrib.c:672
+#: src/attrib.c:683
 msgid	"# entries first followed by group specific entries.\n"
 	"#\n"
 msgstr	""
 
-#: src/attrib.c:673
+#: src/attrib.c:684
 msgid	"############################################################################\n"
 	"\n"
 msgstr	""
 
-#: src/attrib.c:679
+#: src/attrib.c:690
 msgid	"# include extra headers\n"
 msgstr	""
 
-#: src/attrib.c:687
+#: src/attrib.c:698
 msgid	"# in *sources* set post process type to shar only\n"
 msgstr	""
 
-#: src/attrib.c:691
+#: src/attrib.c:702
 msgid	"# in *binaries* do full post processing, remove tmp files\n"
 msgstr	""
 
-#: src/attrib.c:692
+#: src/attrib.c:703
 msgid	"# and set Followup-To: poster\n"
 msgstr	""
 
@@ -223,7 +227,7 @@ msgstr	""
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:607 src/filter.c:615
+#: src/filter.c:608 src/filter.c:616
 msgid	"Removed from the previous rule: "
 msgstr	""
 
@@ -570,7 +574,7 @@ msgstr	""
 msgid	"Creating newsrc file...\n"
 msgstr	""
 
-#: src/lang.c:127 src/lang.c:1122
+#: src/lang.c:127 src/lang.c:1126
 msgid	"Default"
 msgstr	""
 
@@ -845,7 +849,7 @@ msgstr	""
 msgid	"Insecure permissions of %s (%o)"
 msgstr	""
 
-#: src/lang.c:199 src/newsrc.c:409
+#: src/lang.c:199 src/newsrc.c:410
 #, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	""
@@ -968,6 +972,14 @@ msgid	"  %s\t Answers will be directed t
 msgstr	""
 
 #: src/lang.c:227
+msgid	"-- forwarded message --\n"
+msgstr	""
+
+#: src/lang.c:228
+msgid	"-- end of forwarded message --\n"
+msgstr	""
+
+#: src/lang.c:229
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
 	"placed\n"
@@ -996,720 +1008,730 @@ msgid	"# Format:\n"
 	"#\n"
 msgstr	""
 
-#: src/lang.c:248
+#: src/lang.c:250
 #, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	""
 
-#: src/lang.c:249
+#: src/lang.c:251
 #, c-format
 msgid	"Enter the score weight (range 0 < score <= %d)"
 msgstr	""
 
 #. SCORE_MAX
-#: src/lang.c:250
+#: src/lang.c:252
 msgid	"Full"
 msgstr	""
 
-#: src/lang.c:251
+#: src/lang.c:253
 msgid	"Comment (optional)  : "
 msgstr	""
 
-#: src/lang.c:252
+#: src/lang.c:254
 msgid	"Apply pattern to    : "
 msgstr	""
 
-#: src/lang.c:253
+#: src/lang.c:255
 msgid	"From: line (ignore case)      "
 msgstr	""
 
-#: src/lang.c:254
+#: src/lang.c:256
 msgid	"From: line (case sensitive)   "
 msgstr	""
 
-#: src/lang.c:256
+#: src/lang.c:258
 #, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	""
 
-#: src/lang.c:257
+#: src/lang.c:259
 msgid	"global "
 msgstr	""
 
-#: src/lang.c:258
+#: src/lang.c:260
 #, c-format
 msgid	"Please use %.100s instead"
 msgstr	""
 
-#: src/lang.c:259
+#: src/lang.c:261
+#, c-format
+msgid	"%s is bogus"
+msgstr	""
+
+#: src/lang.c:262
 #, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	""
 
-#: src/lang.c:260
+#: src/lang.c:263
 msgid	"groups"
 msgstr	""
 
-#: src/lang.c:261
+#: src/lang.c:264
+#, c-format
+msgid	"Rereading %s..."
+msgstr	""
+
+#: src/lang.c:265
 msgid	"Top Level Commands"
 msgstr	""
 
-#: src/lang.c:262
+#: src/lang.c:266
 msgid	"Group Selection"
 msgstr	""
 
-#: src/lang.c:263
+#: src/lang.c:267
 msgid	"group"
 msgstr	""
 
-#: src/lang.c:265
+#: src/lang.c:269
 msgid	"One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr	""
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid	"From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:267
+#: src/lang.c:271
 msgid	"Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr	""
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid	"Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:269
+#: src/lang.c:273
 msgid	"Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid	"Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr	""
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid	"Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:272
+#: src/lang.c:276
 msgid	"Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid	"Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid	"Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid	"kill an article via a menu"
 msgstr	""
 
-#: src/lang.c:276
+#: src/lang.c:280
 msgid	"auto-select (hot) an article via a menu"
 msgstr	""
 
-#: src/lang.c:277
+#: src/lang.c:281
 msgid	"Browse URLs in article"
 msgstr	""
 
-#: src/lang.c:278
+#: src/lang.c:282
 msgid	"0 - 9\t  display article by number in current thread"
 msgstr	""
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid	"cancel (delete) current article; must have been posted by you"
 msgstr	""
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid	"edit article (mail-groups only)"
 msgstr	""
 
-#: src/lang.c:281
+#: src/lang.c:285
 msgid	"display first article in current thread"
 msgstr	""
 
-#: src/lang.c:282
+#: src/lang.c:286
 msgid	"display first page of article"
 msgstr	""
 
-#: src/lang.c:283
+#: src/lang.c:287
 msgid	"post followup to current article"
 msgstr	""
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid	"post followup (don't copy text) to current article"
 msgstr	""
 
-#: src/lang.c:285
+#: src/lang.c:289
 msgid	"post followup to current article quoting complete headers"
 msgstr	""
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid	"display last article in current thread"
 msgstr	""
 
-#: src/lang.c:287
+#: src/lang.c:291
 msgid	"display last page of article"
 msgstr	""
 
-#: src/lang.c:288
+#: src/lang.c:292
 msgid	"mark rest of thread as read and advance to next unread"
 msgstr	""
 
-#: src/lang.c:289
+#: src/lang.c:293
 msgid	"display next article"
 msgstr	""
 
-#: src/lang.c:290
+#: src/lang.c:294
 msgid	"display first article in next thread"
 msgstr	""
 
-#: src/lang.c:291 src/lang.c:298 src/lang.c:357 src/lang.c:358
+#: src/lang.c:295 src/lang.c:302 src/lang.c:361 src/lang.c:362
 msgid	"display next unread article"
 msgstr	""
 
-#: src/lang.c:292
+#: src/lang.c:296
 msgid	"go to the article that this one followed up"
 msgstr	""
 
-#: src/lang.c:293
+#: src/lang.c:297
 msgid	"display previous article"
 msgstr	""
 
-#: src/lang.c:294 src/lang.c:360
+#: src/lang.c:298 src/lang.c:364
 msgid	"display previous unread article"
 msgstr	""
 
-#: src/lang.c:295
+#: src/lang.c:299
 msgid	"quickly kill an article using defaults"
 msgstr	""
 
-#: src/lang.c:296
+#: src/lang.c:300
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	""
 
-#: src/lang.c:297
+#: src/lang.c:301
 msgid	"return to group selection level"
 msgstr	""
 
-#: src/lang.c:299
+#: src/lang.c:303
 msgid	"reply through mail to author"
 msgstr	""
 
-#: src/lang.c:300
+#: src/lang.c:304
 msgid	"reply through mail (don't copy text) to author"
 msgstr	""
 
-#: src/lang.c:301
+#: src/lang.c:305
 msgid	"reply through mail to author quoting complete headers"
 msgstr	""
 
-#: src/lang.c:302 src/lang.c:362
+#: src/lang.c:306 src/lang.c:366
 msgid	"repost chosen article to another group"
 msgstr	""
 
-#: src/lang.c:303
+#: src/lang.c:307
 msgid	"search backwards within this article"
 msgstr	""
 
-#: src/lang.c:304
+#: src/lang.c:308
 msgid	"search forwards within this article"
 msgstr	""
 
-#: src/lang.c:305
+#: src/lang.c:309
 msgid	"show article in raw-mode (including all headers)"
 msgstr	""
 
-#: src/lang.c:306
+#: src/lang.c:310
 msgid	"skip next block of included text"
 msgstr	""
 
-#: src/lang.c:307
+#: src/lang.c:311
 msgid	"toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr	""
 
-#: src/lang.c:308
+#: src/lang.c:312
 msgid	"toggle word highlighting on/off"
 msgstr	""
 
-#: src/lang.c:309
+#: src/lang.c:313
 msgid	"toggle ROT-13 (basic decode) for current article"
 msgstr	""
 
-#: src/lang.c:310
+#: src/lang.c:314
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	""
 
-#: src/lang.c:311
+#: src/lang.c:315
 msgid	"toggle german TeX style decoding for current article"
 msgstr	""
 
-#: src/lang.c:312
+#: src/lang.c:316
 msgid	"toggle display of uuencoded sections"
 msgstr	""
 
-#: src/lang.c:313
+#: src/lang.c:317
 msgid	"View/save multimedia attachments"
 msgstr	""
 
-#: src/lang.c:314
+#: src/lang.c:318
 #, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	""
 
-#: src/lang.c:315
+#: src/lang.c:319
 msgid	"choose range of articles to be affected by next command"
 msgstr	""
 
-#: src/lang.c:316
+#: src/lang.c:320
 msgid	"escape from command prompt"
 msgstr	""
 
-#: src/lang.c:317
+#: src/lang.c:321
 msgid	"get help"
 msgstr	""
 
-#: src/lang.c:318
+#: src/lang.c:322
 msgid	"display last article viewed"
 msgstr	""
 
-#: src/lang.c:319
+#: src/lang.c:323
 msgid	"down one line"
 msgstr	""
 
-#: src/lang.c:320
+#: src/lang.c:324
 msgid	"up one line"
 msgstr	""
 
-#: src/lang.c:321
+#: src/lang.c:325
 msgid	"go to article chosen by Message-ID"
 msgstr	""
 
-#: src/lang.c:322
+#: src/lang.c:326
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	""
 
-#: src/lang.c:323
+#: src/lang.c:327
 msgid	"menu of configurable options"
 msgstr	""
 
-#: src/lang.c:324
+#: src/lang.c:328
 msgid	"down one page"
 msgstr	""
 
-#: src/lang.c:325
+#: src/lang.c:329
 msgid	"up one page"
 msgstr	""
 
-#: src/lang.c:326
+#: src/lang.c:330
 msgid	"post (write) article to current group"
 msgstr	""
 
-#: src/lang.c:327
+#: src/lang.c:331
 msgid	"post postponed articles"
 msgstr	""
 
-#: src/lang.c:328
+#: src/lang.c:332
 msgid	"list articles posted by you (from posted file)"
 msgstr	""
 
-#: src/lang.c:329
+#: src/lang.c:333
 msgid	"return to previous menu"
 msgstr	""
 
-#: src/lang.c:330
+#: src/lang.c:334
 msgid	"quit tin immediately"
 msgstr	""
 
-#: src/lang.c:331
+#: src/lang.c:335
 msgid	"redraw page"
 msgstr	""
 
-#: src/lang.c:332
+#: src/lang.c:336
 msgid	"save article/thread/hot/pattern/tagged articles to file"
 msgstr	""
 
-#: src/lang.c:333
+#: src/lang.c:337
 msgid	"save marked articles automatically without user prompts"
 msgstr	""
 
-#: src/lang.c:334
+#: src/lang.c:338
 msgid	"search for articles by author backwards"
 msgstr	""
 
-#: src/lang.c:335
+#: src/lang.c:339
 msgid	"search for articles by author forwards"
 msgstr	""
 
-#: src/lang.c:336
+#: src/lang.c:340
 msgid	"search all articles for a given string (this may take some time)"
 msgstr	""
 
-#: src/lang.c:337
+#: src/lang.c:341
 msgid	" \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr	""
 
-#: src/lang.c:338
+#: src/lang.c:342
 msgid	"search for articles by Subject line backwards"
 msgstr	""
 
-#: src/lang.c:339
+#: src/lang.c:343
 msgid	"search for articles by Subject line forwards"
 msgstr	""
 
-#: src/lang.c:340
+#: src/lang.c:344
 msgid	"repeat last search"
 msgstr	""
 
-#: src/lang.c:341
+#: src/lang.c:345
 msgid	"tag current article for reposting/mailing/piping/printing/saving"
 msgstr	""
 
-#: src/lang.c:342
+#: src/lang.c:346
 msgid	"toggle info message in last line (subject/description)"
 msgstr	""
 
-#: src/lang.c:343
+#: src/lang.c:347
 msgid	"toggle inverse video"
 msgstr	""
 
-#: src/lang.c:344
+#: src/lang.c:348
 msgid	"toggle mini help menu display"
 msgstr	""
 
-#: src/lang.c:345
+#: src/lang.c:349
 msgid	"show version information"
 msgstr	""
 
-#: src/lang.c:346
+#: src/lang.c:350
 msgid	"mark all articles as read and return to group selection menu"
 msgstr	""
 
-#: src/lang.c:347
+#: src/lang.c:351
 msgid	"mark all articles as read and enter next group with unread articles"
 msgstr	""
 
-#: src/lang.c:348
+#: src/lang.c:352
 msgid	"choose first thread in list"
 msgstr	""
 
-#: src/lang.c:349 src/lang.c:380
+#: src/lang.c:353 src/lang.c:384
 msgid	"choose group by name"
 msgstr	""
 
-#: src/lang.c:350
+#: src/lang.c:354
 msgid	"choose last thread in list"
 msgstr	""
 
-#: src/lang.c:351
+#: src/lang.c:355
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	""
 
-#: src/lang.c:352
+#: src/lang.c:356
 msgid	"mark article as unread"
 msgstr	""
 
-#: src/lang.c:353
+#: src/lang.c:357
 msgid	"mark current thread or tagged threads as read"
 msgstr	""
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid	"mark thread as unread"
 msgstr	""
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid	"toggle display of all/selected articles"
 msgstr	""
 
-#: src/lang.c:356
+#: src/lang.c:360
 msgid	"display next group"
 msgstr	""
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid	"display previous group"
 msgstr	""
 
-#: src/lang.c:361 src/lang.c:409
+#: src/lang.c:365 src/lang.c:413
 msgid	"read chosen article"
 msgstr	""
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid	"toggle all selections (all articles)"
 msgstr	""
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid	"select group (make \"hot\")"
 msgstr	""
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid	"select thread"
 msgstr	""
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid	"select threads if at least one unread article is selected"
 msgstr	""
 
-#: src/lang.c:367
+#: src/lang.c:371
 msgid	"select threads that match user specified pattern"
 msgstr	""
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid	"tag all parts of current multipart-message in order"
 msgstr	""
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid	"0 - 9\t  choose thread by number"
 msgstr	""
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid	"toggle limit number of articles to get, and reload"
 msgstr	""
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid	"toggle display of all/unread articles"
 msgstr	""
 
-#: src/lang.c:372 src/lang.c:410
+#: src/lang.c:376 src/lang.c:414
 msgid	"cycle the display of authors email address, real name, both or neither"
 msgstr	""
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid	"toggle selection of thread"
 msgstr	""
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid	"cycle through threading options available"
 msgstr	""
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid	"undo all selections (all articles)"
 msgstr	""
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid	"untag all tagged threads"
 msgstr	""
 
-#: src/lang.c:377
+#: src/lang.c:381
 msgid	"mark all articles in group as read"
 msgstr	""
 
-#: src/lang.c:378
+#: src/lang.c:382
 msgid	"mark all articles in group as read and move to next unread group"
 msgstr	""
 
-#: src/lang.c:379
+#: src/lang.c:383
 msgid	"choose first group in list"
 msgstr	""
 
-#: src/lang.c:381
+#: src/lang.c:385
 msgid	"0 - 9\t  choose group by number"
 msgstr	""
 
-#: src/lang.c:382
+#: src/lang.c:386
 msgid	"choose range of groups to be affected by next command"
 msgstr	""
 
-#: src/lang.c:383
+#: src/lang.c:387
 msgid	"choose last group in list"
 msgstr	""
 
-#: src/lang.c:384
+#: src/lang.c:388
 msgid	"mark all articles in chosen group unread"
 msgstr	""
 
-#: src/lang.c:385
+#: src/lang.c:389
 msgid	"move chosen group within list"
 msgstr	""
 
-#: src/lang.c:386
+#: src/lang.c:390
 msgid	"choose next group with unread news"
 msgstr	""
 
-#: src/lang.c:387 src/lang.c:1169
+#: src/lang.c:391 src/lang.c:1173
 msgid	"quit"
 msgstr	""
 
-#: src/lang.c:388
+#: src/lang.c:392
 msgid	"quit without saving configuration changes"
 msgstr	""
 
-#: src/lang.c:389
+#: src/lang.c:393
 msgid	"read chosen group"
 msgstr	""
 
-#: src/lang.c:390
+#: src/lang.c:394
 msgid	"reset .newsrc (all available articles in groups marked unread)"
 msgstr	""
 
-#: src/lang.c:391
+#: src/lang.c:395
 msgid	"search backwards for a group name"
 msgstr	""
 
-#: src/lang.c:392
+#: src/lang.c:396
 msgid	" \t  (all searches are case-insensitive and wrap around)"
 msgstr	""
 
-#: src/lang.c:393
+#: src/lang.c:397
 msgid	"search forwards for a group name"
 msgstr	""
 
-#: src/lang.c:394
+#: src/lang.c:398
 msgid	"subscribe to chosen group"
 msgstr	""
 
-#: src/lang.c:395
+#: src/lang.c:399
 msgid	"subscribe to groups that match pattern"
 msgstr	""
 
-#: src/lang.c:396
+#: src/lang.c:400
 msgid	"reread active file to check for any new news"
 msgstr	""
 
-#: src/lang.c:397
+#: src/lang.c:401
 msgid	"toggle display of group name only or group name plus description"
 msgstr	""
 
-#: src/lang.c:398
+#: src/lang.c:402
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	""
 
-#: src/lang.c:399
+#: src/lang.c:403
 msgid	"unsubscribe from chosen group"
 msgstr	""
 
-#: src/lang.c:400
+#: src/lang.c:404
 msgid	"unsubscribe from groups that match pattern"
 msgstr	""
 
-#: src/lang.c:401
+#: src/lang.c:405
 msgid	"sort the list of groups"
 msgstr	""
 
-#: src/lang.c:402
+#: src/lang.c:406
 msgid	"toggle display to show all/subscribed groups"
 msgstr	""
 
-#: src/lang.c:403
+#: src/lang.c:407
 msgid	"0 - 9\t  choose article by number"
 msgstr	""
 
-#: src/lang.c:404
+#: src/lang.c:408
 msgid	"mark thread as read and return to group index page"
 msgstr	""
 
-#: src/lang.c:405
+#: src/lang.c:409
 msgid	"mark thread as read and enter next unread thread or group"
 msgstr	""
 
-#: src/lang.c:406
+#: src/lang.c:410
 msgid	"choose first article in list"
 msgstr	""
 
-#: src/lang.c:407
+#: src/lang.c:411
 msgid	"choose last article in list"
 msgstr	""
 
-#: src/lang.c:408
+#: src/lang.c:412
 msgid	"mark article or tagged articles as read and move cursor to next unread article"
 msgstr	""
 
-#: src/lang.c:411
+#: src/lang.c:415
 msgid	"Display properties\n"
 	"------------------"
 msgstr	""
 
-#: src/lang.c:412
+#: src/lang.c:416
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	""
 
-#: src/lang.c:413
+#: src/lang.c:417
 msgid	"Moving around\n"
 	"-------------"
 msgstr	""
 
-#: src/lang.c:414
+#: src/lang.c:418
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	""
 
-#: src/lang.c:416
+#: src/lang.c:420
 msgid	"Group Level Commands"
 msgstr	""
 
-#: src/lang.c:417
+#: src/lang.c:421
 msgid	"Kill filter added"
 msgstr	""
 
-#: src/lang.c:418
+#: src/lang.c:422
 msgid	"Auto-selection filter added"
 msgstr	""
 
-#: src/lang.c:419
+#: src/lang.c:423
 msgid	"All parts tagged"
 msgstr	""
 
-#: src/lang.c:420
+#: src/lang.c:424
 msgid	"Storing article for later posting"
 msgstr	""
 
-#: src/lang.c:421
+#: src/lang.c:425
 msgid	"Please enter a valid character"
 msgstr	""
 
-#: src/lang.c:422
+#: src/lang.c:426
 #, c-format
 msgid	"Missing part #%d"
 msgstr	""
 
-#: src/lang.c:423
+#: src/lang.c:427
 msgid	"*** No postponed articles ***"
 msgstr	""
 
-#: src/lang.c:424
+#: src/lang.c:428
 msgid	"Not a multi-part message"
 msgstr	""
 
-#: src/lang.c:425
+#: src/lang.c:429
 msgid	"You are not subscribed to this group"
 msgstr	""
 
-#: src/lang.c:426
+#: src/lang.c:430
 msgid	"No previous expression"
 msgstr	""
 
-#: src/lang.c:427
+#: src/lang.c:431
 msgid	"Operation disabled in no-overwrite mode"
 msgstr	""
 
 #. TODO: replace hardcoded key-name in txt_info_postponed
-#: src/lang.c:429
+#: src/lang.c:433
 #, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	""
 
-#: src/lang.c:430
+#: src/lang.c:434
 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:432
+#: src/lang.c:436
 #, c-format
 msgid	"Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr	""
 
-#: src/lang.c:433
+#: src/lang.c:437
 msgid	"TeX2Iso encoded article"
 msgstr	""
 
-#: src/lang.c:434
+#: src/lang.c:438
 msgid	"incomplete "
 msgstr	""
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:436
+#: src/lang.c:440
 #, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -1745,410 +1767,410 @@ msgid	"\n"
 	"Please send bug-reports/comments to %s with the 'R' command.\n"
 msgstr	""
 
-#: src/lang.c:452
+#: src/lang.c:456
 #, c-format
 msgid	"Invalid  From: %s  line. Read the INSTALL file again."
 msgstr	""
 
-#: src/lang.c:453
+#: src/lang.c:457
 #, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	""
 
-#: src/lang.c:454
+#: src/lang.c:458
 msgid	"Inverse video disabled"
 msgstr	""
 
-#: src/lang.c:455
+#: src/lang.c:459
 msgid	"Inverse video enabled"
 msgstr	""
 
-#: src/lang.c:457
+#: src/lang.c:461
 #, c-format
 msgid	"Missing definition for %s\n"
 msgstr	""
 
-#: src/lang.c:458
+#: src/lang.c:462
 #, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	""
 
-#: src/lang.c:459
+#: src/lang.c:463
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	""
 
-#: src/lang.c:460
+#: src/lang.c:464
 #, c-format
 msgid	"Key '%s' is defined for both %s%s and %s%s\n"
 msgstr	""
 
-#: src/lang.c:461
+#: src/lang.c:465
 #, c-format
-msgid	"Kill From:     [%-*.*s] (y/n): "
+msgid	"Kill From:     [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:462
+#: src/lang.c:466
 msgid	"Kill Lines: (</>num): "
 msgstr	""
 
-#: src/lang.c:463
+#: src/lang.c:467
 msgid	"Kill Article Menu"
 msgstr	""
 
-#: src/lang.c:464
+#: src/lang.c:468
 #, c-format
-msgid	"Kill Msg-Id:   [%-*.*s] (f/l/o/n): "
+msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr	""
 
-#: src/lang.c:465
+#: src/lang.c:469
 msgid	"Kill pattern scope  : "
 msgstr	""
 
-#: src/lang.c:466
+#: src/lang.c:470
 #, c-format
-msgid	"Kill Subject:  [%-*.*s] (y/n): "
+msgid	"Kill Subject:  [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:467
+#: src/lang.c:471
 msgid	"Kill text pattern   : "
 msgstr	""
 
-#: src/lang.c:468
+#: src/lang.c:472
 msgid	"Kill time in days   : "
 msgstr	""
 
-#: src/lang.c:470
+#: src/lang.c:474
 msgid	"Last"
 msgstr	""
 
-#: src/lang.c:471
+#: src/lang.c:475
 msgid	"-- Last response --"
 msgstr	""
 
-#: src/lang.c:472
+#: src/lang.c:476
 #, c-format
 msgid	"Lines %s  "
 msgstr	""
 
-#: src/lang.c:474
+#: src/lang.c:478
 msgid	"Message-ID: line              "
 msgstr	""
 
-#: src/lang.c:476
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	""
 
-#: src/lang.c:477
+#: src/lang.c:481
 #, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	""
 
-#: src/lang.c:478
+#: src/lang.c:482
 #, c-format
 msgid	"Mailing log to %s\n"
 msgstr	""
 
-#: src/lang.c:479
+#: src/lang.c:483
 msgid	"Mail bug report..."
 msgstr	""
 
-#: src/lang.c:480
+#: src/lang.c:484
 #, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	""
 
-#: src/lang.c:481
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	""
 
-#: src/lang.c:482
+#: src/lang.c:486
 #, c-format
 msgid	"Mailing to %s..."
 msgstr	""
 
-#: src/lang.c:483
+#: 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:486
+#: src/lang.c:490
 #, c-format
 msgid	"%s marked as unread"
 msgstr	""
 
-#: src/lang.c:487
+#: src/lang.c:491
 #, c-format
 msgid	"Marked %d of %d tagged %s as read"
 msgstr	""
 
-#: src/lang.c:488
+#: src/lang.c:492
 #, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	""
 
-#: src/lang.c:489
+#: src/lang.c:493
 #, c-format
 msgid	"Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr	""
 
-#: src/lang.c:490
+#: src/lang.c:494
 #, c-format
 msgid	"Mark group %.*s as read?"
 msgstr	""
 
-#: src/lang.c:491
+#: src/lang.c:495
 #, c-format
 msgid	"Mark thread as read%s?"
 msgstr	""
 
-#: src/lang.c:492
+#: src/lang.c:496
 #, c-format
 msgid	"Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr	""
 
-#: src/lang.c:493
+#: src/lang.c:497
 #, c-format
 msgid	"Matching %s groups..."
 msgstr	""
 
-#: src/lang.c:494 src/lang.c:498
+#: 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:495
+#: 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:496
+#: 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:497
+#: src/lang.c:501
 #, c-format
 msgid	"%s=search forwards; %s=search backwards; %s=quit"
 msgstr	""
 
-#: src/lang.c:499
+#: src/lang.c:503
 #, c-format
 msgid	"%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr	""
 
-#: src/lang.c:500
+#: 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:501
+#: 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:502
+#: 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:503
+#: src/lang.c:507
 #, c-format
 msgid	"<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr	""
 
-#: src/lang.c:504
+#: 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:505
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	""
 
-#: src/lang.c:506
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	""
 
-#: src/lang.c:508
+#: src/lang.c:512
 msgid	", name: "
 msgstr	""
 
-#: src/lang.c:509
+#: src/lang.c:513
 #, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	""
 
-#: src/lang.c:510
+#: src/lang.c:514
 msgid	"newsgroups"
 msgstr	""
 
-#: src/lang.c:511
+#: src/lang.c:515
 #, c-format
 msgid	"Position %s in group list (1,2,..,$) [%d]> "
 msgstr	""
 
-#: src/lang.c:512
+#: src/lang.c:516
 msgid	"newsgroup"
 msgstr	""
 
-#: src/lang.c:513
+#: src/lang.c:517
 msgid	"Try and save newsrc file again?"
 msgstr	""
 
-#: src/lang.c:514
+#: src/lang.c:518
 msgid	"Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr	""
 
-#: src/lang.c:515
+#: src/lang.c:519
 msgid	"newsrc file saved successfully.\n"
 msgstr	""
 
-#: src/lang.c:516
+#: src/lang.c:520
 msgid	"-- Next response --"
 msgstr	""
 
-#: src/lang.c:517
+#: src/lang.c:521
 #, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"NNTP authorisation password not found for %s"
 
-#: src/lang.c:518
+#: src/lang.c:522
 msgid	"No  "
 msgstr	""
 
-#: src/lang.c:519
+#: src/lang.c:523
 msgid	"*** No articles ***"
 msgstr	""
 
-#: src/lang.c:520
+#: src/lang.c:524
 msgid	"No articles have been posted"
 msgstr	""
 
-#: src/lang.c:521
+#: src/lang.c:525
 msgid	"*** No description ***"
 msgstr	""
 
-#: src/lang.c:522
+#: src/lang.c:526
 msgid	"No filename"
 msgstr	""
 
-#: src/lang.c:523
+#: src/lang.c:527
 msgid	"No group"
 msgstr	""
 
-#: src/lang.c:524
+#: src/lang.c:528
 msgid	"*** No groups ***"
 msgstr	""
 
-#: src/lang.c:525
+#: src/lang.c:529
 msgid	"No more groups to read"
 msgstr	""
 
-#: src/lang.c:526
+#: src/lang.c:530
 msgid	"No last message"
 msgstr	""
 
-#: src/lang.c:527
+#: src/lang.c:531
 msgid	"No mail address"
 msgstr	""
 
-#: src/lang.c:528
+#: src/lang.c:532
 msgid	"No articles marked for saving"
 msgstr	""
 
-#: src/lang.c:529
+#: src/lang.c:533
 msgid	"No match"
 msgstr	""
 
-#: src/lang.c:530
+#: src/lang.c:534
 msgid	"No more groups"
 msgstr	""
 
-#: src/lang.c:531
+#: src/lang.c:535
 msgid	"No newsgroups"
 msgstr	""
 
-#: src/lang.c:532
+#: src/lang.c:536
 msgid	"No next unread article"
 msgstr	""
 
-#: src/lang.c:533
+#: src/lang.c:537
 msgid	"No previous group"
 msgstr	""
 
-#: src/lang.c:534
+#: src/lang.c:538
 msgid	"No previous unread article"
 msgstr	""
 
-#: src/lang.c:535
+#: src/lang.c:539
 msgid	"No responses"
 msgstr	""
 
-#: src/lang.c:536
+#: src/lang.c:540
 msgid	"No responses to list in current thread"
 msgstr	""
 
-#: src/lang.c:537
+#: src/lang.c:541
 msgid	"No search string"
 msgstr	""
 
-#: src/lang.c:538
+#: src/lang.c:542
 msgid	"No subject"
 msgstr	""
 
-#: src/lang.c:539
+#: src/lang.c:543
 #, c-format
 msgid	"%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr	""
 
-#: src/lang.c:540
+#: src/lang.c:544
 #, c-format
 msgid	"%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr	""
 
-#: src/lang.c:541
+#: src/lang.c:545
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	""
 
-#: src/lang.c:542
+#: src/lang.c:546
 #, c-format
 msgid	"%s: Terminal must have cursor motion (cm)\n"
 msgstr	""
 
-#: src/lang.c:543
+#: src/lang.c:547
 #, c-format
 msgid	"%s: TERM variable must be set to use screen capabilities\n"
 msgstr	""
 
-#: src/lang.c:544
+#: src/lang.c:548
 #, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	""
 
-#: src/lang.c:545
+#: src/lang.c:549
 msgid	"Newsgroup does not exist on this server"
 msgstr	""
 
-#: src/lang.c:546
+#: src/lang.c:550
 #, c-format
 msgid	"Group %s not found in active file"
 msgstr	""
 
-#: src/lang.c:547
+#: src/lang.c:551
 msgid	"c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	""
 
-#: src/lang.c:548
+#: src/lang.c:552
 msgid	"use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr	""
 
-#: src/lang.c:549
+#: src/lang.c:553
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2164,308 +2186,308 @@ msgid	"# NNTP-server -> newsrc translati
 	"#\n"
 msgstr	""
 
-#: src/lang.c:556
+#: src/lang.c:560
 msgid	"Only"
 msgstr	""
 
-#: src/lang.c:557
+#: src/lang.c:561
 #, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	""
 
-#: src/lang.c:558
+#: src/lang.c:562
 msgid	"Options Menu"
 msgstr	""
 
-#: src/lang.c:561
+#: src/lang.c:565
 #, c-format
 msgid	"Error in regex: %s at pos. %d '%s'"
 msgstr	""
 
-#: src/lang.c:562
+#: src/lang.c:566
 #, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	""
 
-#: src/lang.c:563
+#: src/lang.c:567
 #, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	""
 
-#: src/lang.c:564
+#: src/lang.c:568
 msgid	"Post a followup..."
 msgstr	""
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:566
+#: src/lang.c:570
 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:569
+#: src/lang.c:573
 msgid	"Posted articles history"
 msgstr	""
 
-#: src/lang.c:570
+#: src/lang.c:574
 #, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	""
 
-#: src/lang.c:571
+#: src/lang.c:575
 msgid	"-- post processing started --"
 msgstr	""
 
-#: src/lang.c:572
+#: src/lang.c:576
 msgid	"-- post processing completed --"
 msgstr	""
 
-#: src/lang.c:573
+#: src/lang.c:577
 #, c-format
 msgid	"Post subject [%s]> "
 msgstr	""
 
-#: src/lang.c:574
+#: src/lang.c:578
 msgid	"# Summary of mailed/posted messages viewable by 'W' command from within tin.\n"
 msgstr	""
 
-#: src/lang.c:575
+#: src/lang.c:579
 msgid	"Posting article..."
 msgstr	""
 
-#: src/lang.c:576
+#: src/lang.c:580
 msgid	"Post postponed articles [%%.*s]? (%s/%s/%s/%s/%s): "
 msgstr	""
 
-#: src/lang.c:577
+#: src/lang.c:581
 #, c-format
 msgid	"Hot %s"
 msgstr	""
 
-#: src/lang.c:578
+#: src/lang.c:582
 #, c-format
 msgid	"Tagged %s"
 msgstr	""
 
-#: src/lang.c:579
+#: src/lang.c:583
 #, c-format
 msgid	"Untagged %s"
 msgstr	""
 
-#: src/lang.c:580
+#: src/lang.c:584
 msgid	"Processing mail messages marked for deletion."
 msgstr	""
 
-#: src/lang.c:581
+#: src/lang.c:585
 msgid	"Processing saved articles marked for deletion."
 msgstr	""
 
-#: src/lang.c:582
+#: src/lang.c:586
 #, c-format
 msgid	"Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr	""
 
-#: src/lang.c:583
+#: src/lang.c:587
 msgid	"Article unchanged, abort mailing?"
 msgstr	""
 
-#: src/lang.c:584
+#: src/lang.c:588
 #, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	""
 
-#: src/lang.c:586
+#: src/lang.c:590
 msgid	"Add quick kill filter?"
 msgstr	""
 
-#: src/lang.c:587
+#: src/lang.c:591
 msgid	"Add quick selection filter?"
 msgstr	""
 
-#: src/lang.c:588
+#: src/lang.c:592
 msgid	"Do you really want to quit?"
 msgstr	""
 
-#: src/lang.c:589
+#: src/lang.c:593
 msgid	"%s=edit cancel message, %s=quit, %s=delete (cancel) [%%.*s]: "
 msgstr	""
 
-#: src/lang.c:590
+#: src/lang.c:594
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	""
 
-#: src/lang.c:591
+#: src/lang.c:595
 #, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	""
 
-#: src/lang.c:592
+#: src/lang.c:596
 #, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	""
 
-#: src/lang.c:593
+#: src/lang.c:597
 #, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	""
 
-#: src/lang.c:594
+#: src/lang.c:598
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	""
 
-#: src/lang.c:597
+#: src/lang.c:601
 msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	""
 
-#: src/lang.c:598
+#: src/lang.c:602
 msgid	"Do you want to abort this operation?"
 msgstr	""
 
-#: src/lang.c:599
+#: src/lang.c:603
 msgid	"Do you want to exit tin immediately?"
 msgstr	""
 
-#: src/lang.c:600
+#: src/lang.c:604
 msgid	"Read response> "
 msgstr	""
 
-#: src/lang.c:601
+#: src/lang.c:605
 msgid	"Reading ('q' to quit)..."
 msgstr	""
 
-#: src/lang.c:602
+#: src/lang.c:606
 #, c-format
 msgid	"Reading %sarticles..."
 msgstr	""
 
-#: src/lang.c:603
+#: src/lang.c:607
 #, c-format
 msgid	"Reading %sattributes file...\n"
 msgstr	""
 
-#: src/lang.c:604
+#: src/lang.c:608
 #, c-format
 msgid	"Reading %sconfig file...\n"
 msgstr	""
 
-#: src/lang.c:605
+#: src/lang.c:609
 msgid	"Reading filter file...\n"
 msgstr	""
 
-#: src/lang.c:606
+#: src/lang.c:610
 #, c-format
 msgid	"Reading %s groups..."
 msgstr	""
 
-#: src/lang.c:607
+#: src/lang.c:611
 msgid	"Reading input history file...\n"
 msgstr	""
 
-#: src/lang.c:608
+#: src/lang.c:612
 msgid	"Reading keymap file...\n"
 msgstr	""
 
-#: src/lang.c:609
+#: src/lang.c:613
 msgid	"Reading groups from active file... "
 msgstr	""
 
-#: src/lang.c:610
+#: src/lang.c:614
 msgid	"Reading groups from newsrc file... "
 msgstr	""
 
-#: src/lang.c:611
+#: src/lang.c:615
 msgid	"Reading newsgroups file... "
 msgstr	""
 
-#: src/lang.c:612
+#: src/lang.c:616
 msgid	"Reading newsrc file..."
 msgstr	""
 
-#: src/lang.c:613
+#: src/lang.c:617
 #, c-format
 msgid	"Bogus group %s removed."
 msgstr	""
 
-#: src/lang.c:614
+#: src/lang.c:618
 #, c-format
 msgid	"Error: rename %s to %s"
 msgstr	""
 
-#: src/lang.c:615
+#: src/lang.c:619
 msgid	"Reply to author..."
 msgstr	""
 
-#: src/lang.c:616
+#: src/lang.c:620
 msgid	"Repost"
 msgstr	""
 
-#: src/lang.c:617
+#: src/lang.c:621
 msgid	"Reposting article..."
 msgstr	""
 
-#: src/lang.c:618
+#: src/lang.c:622
 #, c-format
 msgid	"Repost article(s) to group(s) [%s]> "
 msgstr	""
 
-#: src/lang.c:619
+#: src/lang.c:623
 msgid	"Reset newsrc?"
 msgstr	""
 
-#: src/lang.c:620
+#: src/lang.c:624
 msgid	"Responses have been directed to the following newsgroups"
 msgstr	""
 
-#: src/lang.c:621
+#: src/lang.c:625
 #, c-format
 msgid	"Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr	""
 
-#: src/lang.c:622
+#: src/lang.c:626
 #, c-format
 msgid	"RespNo %4d of %4d"
 msgstr	""
 
-#: src/lang.c:623
+#: src/lang.c:627
 msgid	"Press <RETURN> to continue..."
 msgstr	""
 
-#: src/lang.c:625
+#: src/lang.c:629
 #, c-format
-msgid	"Select From    [%-*.*s] (y/n): "
+msgid	"Select From    [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:626
+#: src/lang.c:630
 msgid	"Select Lines: (</>num): "
 msgstr	""
 
-#: src/lang.c:627
+#: src/lang.c:631
 msgid	"Auto-select Article Menu"
 msgstr	""
 
-#: src/lang.c:628
+#: src/lang.c:632
 #, c-format
-msgid	"Select Msg-Id  [%-*.*s] (f/l/o/n): "
+msgid	"Select Msg-Id  [%s] (f/l/o/n): "
 msgstr	""
 
-#: src/lang.c:629
+#: src/lang.c:633
 msgid	"Select pattern scope: "
 msgstr	""
 
-#: src/lang.c:630
+#: src/lang.c:634
 #, c-format
-msgid	"Select Subject [%-*.*s] (y/n): "
+msgid	"Select Subject [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:631
+#: src/lang.c:635
 msgid	"Select text pattern : "
 msgstr	""
 
-#: src/lang.c:632
+#: src/lang.c:636
 msgid	"Select time in days   : "
 msgstr	""
 
-#: src/lang.c:633
+#: src/lang.c:637
 #, c-format
 msgid	"# %s server configuration file\n"
 	"# This file was automatically saved by %s %s %s (\"%s\")\n"
@@ -2477,216 +2499,216 @@ msgid	"# %s server configuration file\n"
 	"\n"
 msgstr	""
 
-#: src/lang.c:639
+#: src/lang.c:643
 msgid	"Showing unread groups only"
 msgstr	""
 
-#: src/lang.c:640
+#: src/lang.c:644
 msgid	"Subject: line (ignore case)   "
 msgstr	""
 
-#: src/lang.c:641
+#: src/lang.c:645
 msgid	"Subject: line (case sensitive)"
 msgstr	""
 
-#: src/lang.c:642
+#: src/lang.c:646
 msgid	"Save"
 msgstr	""
 
-#: src/lang.c:643
+#: src/lang.c:647
 #, c-format
 msgid	"Save '%s' (%s/%s)?"
 msgstr	""
 
-#: src/lang.c:644
+#: src/lang.c:648
 msgid	"Save configuration before continuing?"
 msgstr	""
 
-#: src/lang.c:645
+#: src/lang.c:649
 msgid	"Save filename> "
 msgstr	""
 
-#: src/lang.c:646
+#: src/lang.c:650
 msgid	"Saved"
 msgstr	""
 
-#: src/lang.c:647
+#: src/lang.c:651
 #, c-format
 msgid	"%4d unread (%4d hot) %s in %s\n"
 msgstr	""
 
-#: src/lang.c:648
+#: src/lang.c:652
 #, c-format
 msgid	"Saved %s...\n"
 msgstr	""
 
-#: src/lang.c:649
+#: src/lang.c:653
 msgid	"Nothing was saved"
 msgstr	""
 
-#: src/lang.c:650
+#: src/lang.c:654
 #, c-format
 msgid	"\n"
 	"%s %d %s from %d %s\n"
 msgstr	""
 
-#: src/lang.c:651
+#: src/lang.c:655
 #, c-format
 msgid	"-- %s saved to %s%s --"
 msgstr	""
 
-#: src/lang.c:652
+#: src/lang.c:656
 #, c-format
 msgid	"-- %s saved to %s - %s --"
 msgstr	""
 
-#: src/lang.c:653
+#: src/lang.c:657
 msgid	"Saving..."
 msgstr	""
 
-#: src/lang.c:654
+#: src/lang.c:658
 #, c-format
 msgid	"%s: Screen initialization failed"
 msgstr	"%s: Screen initialisation failed"
 
-#: src/lang.c:655
+#: src/lang.c:659
 #, c-format
 msgid	"%s: screen is too small\n"
 msgstr	""
 
-#: src/lang.c:656
+#: src/lang.c:660
 #, c-format
 msgid	"screen is too small, %s is exiting\n"
 msgstr	""
 
-#: src/lang.c:657
+#: src/lang.c:661
 #, c-format
 msgid	"Search backwards [%s]> "
 msgstr	""
 
-#: src/lang.c:658
+#: src/lang.c:662
 #, c-format
 msgid	"Search body [%s]> "
 msgstr	""
 
-#: src/lang.c:659
+#: src/lang.c:663
 #, c-format
 msgid	"Search forwards [%s]> "
 msgstr	""
 
-#: src/lang.c:660
+#: src/lang.c:664
 msgid	"Searching..."
 msgstr	""
 
-#: src/lang.c:661
+#: src/lang.c:665
 #, c-format
 msgid	"Searching article %d of %d ('q' to abort)..."
 msgstr	""
 
-#: src/lang.c:662
+#: src/lang.c:666
 msgid	"Select article> "
 msgstr	""
 
-#: src/lang.c:663
+#: src/lang.c:667
 msgid	"Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr	""
 
-#: src/lang.c:664
+#: src/lang.c:668
 msgid	"Select group> "
 msgstr	""
 
-#: src/lang.c:665
+#: src/lang.c:669
 #, c-format
 msgid	"Enter selection pattern [%s]> "
 msgstr	""
 
-#: src/lang.c:666
+#: src/lang.c:670
 msgid	"Select thread > "
 msgstr	""
 
-#: src/lang.c:667
+#: src/lang.c:671
 #, c-format
 msgid	"%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n"
 msgstr	""
 
-#: src/lang.c:668
+#: src/lang.c:672
 msgid	"servers active-file"
 msgstr	""
 
-#: src/lang.c:669
+#: src/lang.c:673
 msgid	"Cannot move into new newsgroups. Subscribe first..."
 msgstr	""
 
-#: src/lang.c:670
+#: src/lang.c:674
 msgid	"<SPACE>"
 msgstr	""
 
-#: src/lang.c:671
+#: src/lang.c:675
 #, c-format
 msgid	"Starting: (%s)"
 msgstr	""
 
-#: src/lang.c:672
+#: src/lang.c:676
 #, c-format
 msgid	"List Thread (%d of %d)"
 msgstr	""
 
-#: src/lang.c:673
+#: src/lang.c:677
 #, c-format
 msgid	"Thread (%.*s)"
 msgstr	""
 
-#: src/lang.c:674
+#: src/lang.c:678
 msgid	"Enter wildcard subscribe pattern> "
 msgstr	""
 
-#: src/lang.c:675
+#: src/lang.c:679
 #, c-format
 msgid	"subscribed to %d groups"
 msgstr	""
 
-#: src/lang.c:676
+#: src/lang.c:680
 #, c-format
 msgid	"Subscribed to %s"
 msgstr	""
 
-#: src/lang.c:677
+#: src/lang.c:681
 msgid	"Subscribing... "
 msgstr	""
 
-#: src/lang.c:678
+#: src/lang.c:682
 msgid	"Repost or supersede article(s) [%%.*s]? (%s/%s/%s): "
 msgstr	""
 
-#: src/lang.c:679
+#: src/lang.c:683
 #, c-format
 msgid	"Supersede article(s) to group(s) [%s]> "
 msgstr	""
 
-#: src/lang.c:680
+#: src/lang.c:684
 msgid	"Superseding article ..."
 msgstr	""
 
-#: src/lang.c:681
+#: src/lang.c:685
 #, c-format
 msgid	"\n"
 	"Stopped. Type 'fg' to restart %s\n"
 msgstr	""
 
-#: src/lang.c:683
+#: src/lang.c:687
 #, c-format
 msgid	"%d days"
 msgstr	""
 
-#: src/lang.c:684
+#: src/lang.c:688
 msgid	"<TAB>"
 msgstr	""
 
-#: src/lang.c:685
+#: src/lang.c:689
 msgid	"# Default action/prompt strings\n"
 msgstr	""
 
-#: src/lang.c:686
+#: src/lang.c:690
 msgid	"# Defaults for quick (1 key) kill & auto-selection filters\n"
 	"# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
 	"#             5=Message-ID: & last References: entry only\n"
@@ -2696,323 +2718,323 @@ msgid	"# Defaults for quick (1 key) kill
 	"# expire=ON/OFF  ON=limit to default_filter_days OFF=don't ever expire\n"
 msgstr	""
 
-#: src/lang.c:699
+#: src/lang.c:703
 msgid	"# If ON use print current subject or newsgroup description in the last line\n"
 msgstr	""
 
-#: src/lang.c:700
+#: src/lang.c:704
 msgid	"# Host & time info used for detecting new groups (don't touch)\n"
 msgstr	""
 
-#: src/lang.c:701
+#: src/lang.c:705
 msgid	"There is no news\n"
 msgstr	""
 
-#: src/lang.c:702
+#: src/lang.c:706
 msgid	"Thread"
 msgstr	""
 
-#: src/lang.c:703
+#: src/lang.c:707
 msgid	"Thread Level Commands"
 msgstr	""
 
-#: src/lang.c:704
+#: src/lang.c:708
 msgid	"Thread deselected"
 msgstr	""
 
-#: src/lang.c:705
+#: src/lang.c:709
 msgid	"Thread selected"
 msgstr	""
 
-#: src/lang.c:706
+#: src/lang.c:710
 msgid	"threads"
 msgstr	""
 
-#: src/lang.c:707
+#: src/lang.c:711
 msgid	"Thread range"
 msgstr	""
 
-#: src/lang.c:708
+#: src/lang.c:712
 msgid	"thread"
 msgstr	""
 
-#: src/lang.c:709
+#: src/lang.c:713
 #, c-format
 msgid	"Thread %4s of %4s"
 msgstr	""
 
-#: src/lang.c:710
+#: src/lang.c:714
 msgid	"Threading articles..."
 msgstr	""
 
-#: src/lang.c:711
+#: src/lang.c:715
 #, c-format
 msgid	"Toggled word highlighting %s"
 msgstr	""
 
-#: src/lang.c:712
+#: src/lang.c:716
 msgid	"Toggled rot13 encoding"
 msgstr	""
 
-#: src/lang.c:713
+#: src/lang.c:717
 #, c-format
 msgid	"Toggled german TeX encoding %s"
 msgstr	""
 
-#: src/lang.c:714
+#: src/lang.c:718
 #, c-format
 msgid	"Toggled tab-width to %d"
 msgstr	""
 
-#: src/lang.c:715
+#: src/lang.c:719
 #, c-format
 msgid	"%d Trying to dotlock %s"
 msgstr	""
 
-#: src/lang.c:716
+#: src/lang.c:720
 #, c-format
 msgid	"%d Trying to lock %s"
 msgstr	""
 
-#: src/lang.c:717
+#: src/lang.c:721
 msgid	"           h=help\n"
 msgstr	""
 
-#: src/lang.c:719
+#: src/lang.c:723
 msgid	"Unlimited"
 msgstr	""
 
-#: src/lang.c:720
+#: src/lang.c:724
 msgid	"Enter wildcard unsubscribe pattern> "
 msgstr	""
 
-#: src/lang.c:721
+#: src/lang.c:725
 #, c-format
 msgid	"Error decoding %s : %s"
 msgstr	""
 
-#: src/lang.c:722
+#: src/lang.c:726
 msgid	"No end."
 msgstr	""
 
-#: src/lang.c:723
+#: src/lang.c:727
 #, c-format
 msgid	"%s successfully decoded."
 msgstr	""
 
-#: src/lang.c:724
+#: src/lang.c:728
 #, c-format
 msgid	"%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 	"\n"
 msgstr	""
 
-#: src/lang.c:725
+#: src/lang.c:729
 msgid	"unread "
 msgstr	""
 
-#: src/lang.c:726
+#: src/lang.c:730
 #, c-format
 msgid	"unsubscribed from %d groups"
 msgstr	""
 
-#: src/lang.c:727
+#: src/lang.c:731
 #, c-format
 msgid	"Unsubscribed from %s"
 msgstr	""
 
-#: src/lang.c:728
+#: src/lang.c:732
 msgid	"Unsubscribing... "
 msgstr	""
 
-#: src/lang.c:729
+#: src/lang.c:733
 msgid	"Unthreading articles..."
 msgstr	""
 
-#: src/lang.c:730
+#: src/lang.c:734
 msgid	"Updated"
 msgstr	""
 
-#: src/lang.c:731
+#: src/lang.c:735
 msgid	"Updating"
 msgstr	""
 
-#: src/lang.c:732
+#: src/lang.c:736
 #, c-format
 msgid	"Opening %s\n"
 msgstr	""
 
-#: src/lang.c:733
+#: src/lang.c:737
 msgid	"No more URL's in this article"
 msgstr	""
 
-#: src/lang.c:734
+#: src/lang.c:738
 msgid	"Use MIME display program for this message?"
 msgstr	""
 
-#: src/lang.c:735
+#: src/lang.c:739
 msgid	"  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr	""
 
-#: src/lang.c:736
+#: src/lang.c:740
 msgid	"  -Z       return status indicating if any unread news (batch mode)"
 msgstr	""
 
-#: src/lang.c:737
+#: src/lang.c:741
 msgid	"  -q       don't check for new newsgroups"
 msgstr	""
 
-#: src/lang.c:738
+#: src/lang.c:742
 msgid	"  -X       don't save any files on quit"
 msgstr	""
 
-#: src/lang.c:739
+#: src/lang.c:743
 msgid	"  -d       don't show newsgroup descriptions"
 msgstr	""
 
-#: src/lang.c:740
+#: src/lang.c:744
 msgid	"  -G limit get only limit articles/group"
 msgstr	""
 
-#: src/lang.c:741
+#: src/lang.c:745
 #, c-format
 msgid	"  -H       help information about %s"
 msgstr	""
 
-#: src/lang.c:742
+#: src/lang.c:746
 msgid	"  -h       this help message"
 msgstr	""
 
-#: src/lang.c:743
+#: src/lang.c:747
 #, c-format
 msgid	"  -I dir   news index file directory [default=%s]"
 msgstr	""
 
-#: src/lang.c:744
+#: src/lang.c:748
 msgid	"  -u       update index files (batch mode)"
 msgstr	""
 
-#: src/lang.c:745
+#: src/lang.c:749
 #, c-format
 msgid	"  -m dir   mailbox directory [default=%s]"
 msgstr	""
 
-#: src/lang.c:746
+#: src/lang.c:750
 #, c-format
 msgid	"\n"
 	"Mail bug reports/comments to %s"
 msgstr	""
 
-#: src/lang.c:747
+#: src/lang.c:751
 msgid	"  -N       mail new news to your posts (batch mode)"
 msgstr	""
 
-#: src/lang.c:748
+#: src/lang.c:752
 msgid	"  -M user  mail new news to specified user (batch mode)"
 msgstr	""
 
-#: src/lang.c:749
+#: src/lang.c:753
 #, c-format
 msgid	"  -f file  subscribed to newsgroups file [default=%s]"
 msgstr	""
 
-#: src/lang.c:750
+#: src/lang.c:754
 msgid	"  -x       no posting mode"
 msgstr	""
 
-#: src/lang.c:751
+#: src/lang.c:755
 msgid	"  -w       post an article and exit"
 msgstr	""
 
-#: src/lang.c:752
+#: src/lang.c:756
 msgid	"  -o       post all postponed articles and exit"
 msgstr	""
 
-#: src/lang.c:753
+#: src/lang.c:757
 msgid	"  -r       read news remotely from default NNTP server"
 msgstr	""
 
-#: src/lang.c:754
+#: src/lang.c:758
 msgid	"  -R       read news saved by -S option"
 msgstr	""
 
-#: src/lang.c:755
+#: src/lang.c:759
 #, c-format
 msgid	"  -s dir   save news directory [default=%s]"
 msgstr	""
 
-#: src/lang.c:756
+#: src/lang.c:760
 msgid	"  -S       save new news for later reading (batch mode)"
 msgstr	""
 
-#: src/lang.c:757
+#: src/lang.c:761
 msgid	"  -z       start if any unread news"
 msgstr	""
 
-#: src/lang.c:758
+#: src/lang.c:762
 #, c-format
 msgid	"A Usenet reader.\n"
 	"\n"
 	"Usage: %s [options] [newsgroup[,...]]"
 msgstr	""
 
-#: src/lang.c:759
+#: src/lang.c:763
 msgid	"  -v       verbose output for batch mode options"
 msgstr	""
 
-#: src/lang.c:760
+#: src/lang.c:764
 msgid	"  -V       print version & date information"
 msgstr	""
 
-#: src/lang.c:761
+#: src/lang.c:765
 #, c-format
 msgid	"%s only useful without batch mode operations\n"
 msgstr	""
 
-#: src/lang.c:762
+#: src/lang.c:766
 #, c-format
 msgid	"%s only useful for batch mode operations\n"
 msgstr	""
 
-#: src/lang.c:764
+#: src/lang.c:768
 #, c-format
 msgid	"\n"
 	"%s%d out of range (0 - %d). Reset to 0"
 msgstr	""
 
-#: src/lang.c:765
+#: src/lang.c:769
 #, c-format
 msgid	"View '%s' (%s/%s)?"
 msgstr	""
 
-#: src/lang.c:767
+#: src/lang.c:771
 #, c-format
 msgid	"\n"
 	"Warning: posting exceeds %d columns. Line %d is the first long one:\n"
 	"%-100s\n"
 msgstr	""
 
-#: src/lang.c:768
+#: src/lang.c:772
 msgid	"\n"
 	"Warning: article unchanged after editing\n"
 msgstr	""
 
-#: src/lang.c:769
+#: src/lang.c:773
 msgid	"\n"
 	"Warning: \"Subject:\" contains only whitespaces.\n"
 msgstr	""
 
-#: src/lang.c:770
+#: src/lang.c:774
 msgid	"\n"
 	"Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n"
 msgstr	""
 
-#: src/lang.c:772
+#: src/lang.c:776
 msgid	"\n"
 	"Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
 	"         with \"Re: \" and does not contain \"(was:\".\n"
 msgstr	""
 
-#: src/lang.c:775
+#: src/lang.c:779
 msgid	"Read carefully!\n"
 	"\n"
 	"  You are about to cancel an article seemingly written by you. This will "
@@ -3025,7 +3047,7 @@ msgid	"Read carefully!\n"
 	"\n"
 msgstr	""
 
-#: src/lang.c:779
+#: src/lang.c:783
 msgid	"\n"
 	"Warning: You are using a non-plain transfer encoding (such as base64 or\n"
 	"         quoted-printable) and an external inews program to submit your\n"
@@ -3033,7 +3055,7 @@ msgid	"\n"
 	"         not be encoded properly.\n"
 msgstr	""
 
-#: src/lang.c:784
+#: src/lang.c:788
 #, c-format
 msgid	"\n"
 	"\n"
@@ -3042,7 +3064,7 @@ msgid	"\n"
 	"Read WHATSNEW, etc...\n"
 msgstr	""
 
-#: src/lang.c:786
+#: src/lang.c:790
 #, c-format
 msgid	"\n"
 	"\n"
@@ -3050,7 +3072,7 @@ msgid	"\n"
 	"Some values in your %s file may be ignored, others might have changed!\n"
 msgstr	""
 
-#: src/lang.c:789
+#: src/lang.c:793
 #, c-format
 msgid	"Warning: tin wrote fewer groups to your\n"
 	"\t%s\n"
@@ -3059,18 +3081,18 @@ msgid	"Warning: tin wrote fewer groups t
 	"before you start tin once again!\n"
 msgstr	""
 
-#: src/lang.c:793
+#: src/lang.c:797
 #, c-format
 msgid	"\n"
 	"Warning: Found %d '-- \\n' lines, this may confuse some people.\n"
 msgstr	""
 
-#: src/lang.c:794
+#: src/lang.c:798
 #, c-format
 msgid	"Warning: Only %d out of %d articles were saved"
 msgstr	""
 
-#: src/lang.c:795
+#: src/lang.c:799
 #, c-format
 msgid	"\n"
 	"Warning: Your signature  is longer than %d lines.  Since signatures usually "
@@ -3080,47 +3102,47 @@ msgid	"\n"
 	"         possible.\n"
 msgstr	""
 
-#: src/lang.c:799
+#: src/lang.c:803
 #, c-format
 msgid	"Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr	""
 
-#: src/lang.c:800
+#: src/lang.c:804
 msgid	"\n"
 	"Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
 msgstr	""
 
-#: src/lang.c:801
+#: src/lang.c:805
 msgid	"Writing attributes file..."
 msgstr	""
 
-#: src/lang.c:803
+#: src/lang.c:807
 #, c-format
 msgid	"%d Responses"
 msgstr	""
 
-#: src/lang.c:805
+#: src/lang.c:809
 #, c-format
 msgid	"Added %d %s"
 msgstr	""
 
-#: src/lang.c:806
+#: src/lang.c:810
 msgid	"No unsubscribed groups to show"
 msgstr	""
 
-#: src/lang.c:807
+#: src/lang.c:811
 msgid	"Showing subscribed to groups only"
 msgstr	""
 
-#: src/lang.c:808
+#: src/lang.c:812
 msgid	"Yes "
 msgstr	""
 
-#: src/lang.c:809
+#: src/lang.c:813
 msgid	"    You have mail\n"
 msgstr	""
 
-#: src/lang.c:814
+#: src/lang.c:818
 #, c-format
 msgid	"\n"
 	"Warning: Posting is in %s and contains characters which are not\n"
@@ -3132,16 +3154,16 @@ msgid	"\n"
 	"         M)enu option.\n"
 msgstr	""
 
-#: src/lang.c:825
+#: src/lang.c:829
 #, c-format
 msgid	"Redefined key %s '%s' -> '%s'\n"
 msgstr	""
 
-#: src/lang.c:826
+#: src/lang.c:830
 msgid	"  -D       debug mode 1=NNTP 2=ALL"
 msgstr	""
 
-#: src/lang.c:830
+#: src/lang.c:834
 msgid	"Read carefully!\n"
 	"\n"
 	"  You are about to cancel an article seemingly not written by you.  This "
@@ -3157,11 +3179,11 @@ msgid	"Read carefully!\n"
 	"\n"
 msgstr	""
 
-#: src/lang.c:839
+#: src/lang.c:843
 msgid	"toggle color"
 msgstr	"toggle colour"
 
-#: src/lang.c:840
+#: src/lang.c:844
 msgid	"# For color-adjust use the following numbers\n"
 	"#  0-black       1-red         2-green        3-brown\n"
 	"#  4-blue        5-pink        6-cyan         7-white\n"
@@ -3181,339 +3203,339 @@ msgstr	"# For colour-adjust use the foll
 	"# background black)\n"
 	"\n"
 
-#: src/lang.c:848
+#: src/lang.c:852
 msgid	"  -a       toggle color flag"
 msgstr	"  -a       toggle colour flag"
 
-#: src/lang.c:852
+#: src/lang.c:856
 msgid	"\n"
 	"Error: Followup-To set to more than one newsgroup!\n"
 msgstr	""
 
-#: src/lang.c:853
+#: src/lang.c:857
 #, c-format
 msgid	"\n"
 	"Error: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr	""
 
-#: src/lang.c:854
+#: src/lang.c:858
 #, c-format
 msgid	"\n"
 	"Error: \"%s\" is not a valid newsgroup!\n"
 msgstr	""
 
-#: src/lang.c:856
+#: src/lang.c:860
 msgid	"\n"
 	"Warning: Followup-To set to more than one newsgroup!\n"
 msgstr	""
 
-#: src/lang.c:857
+#: src/lang.c:861
 #, c-format
 msgid	"\n"
 	"Warning: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr	""
 
-#: src/lang.c:858
+#: src/lang.c:862
 #, c-format
 msgid	"\n"
 	"Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n"
 msgstr	""
 
-#: src/lang.c:859
+#: src/lang.c:863
 #, c-format
 msgid	"\n"
 	"Warning: \"%s\" is not a valid newsgroup at this site!\n"
 msgstr	""
 
-#: src/lang.c:863
+#: src/lang.c:867
 #, c-format
 msgid	"%d files successfully written from %d articles. %d %s occurred."
 msgstr	""
 
-#: src/lang.c:864
+#: src/lang.c:868
 msgid	"Missing parts."
 msgstr	""
 
-#: src/lang.c:865
+#: src/lang.c:869
 msgid	"No beginning."
 msgstr	""
 
-#: src/lang.c:866
+#: src/lang.c:870
 msgid	"No data."
 msgstr	""
 
-#: src/lang.c:867
+#: src/lang.c:871
 msgid	"Unknown error."
 msgstr	""
 
-#: src/lang.c:869
+#: src/lang.c:873
 #, c-format
 msgid	"\tChecksum of %s (%ld %s)"
 msgstr	""
 
-#: src/lang.c:873
+#: src/lang.c:877
 msgid	"Reading mail active file... "
 msgstr	""
 
-#: src/lang.c:874
+#: src/lang.c:878
 msgid	"Reading mailgroups file... "
 msgstr	""
 
-#: src/lang.c:878
+#: src/lang.c:882
 msgid	"perform PGP operations on article"
 msgstr	""
 
-#: src/lang.c:879
+#: src/lang.c:883
 msgid	"Add key(s) to public keyring?"
 msgstr	""
 
-#: src/lang.c:880
+#: src/lang.c:884
 #, c-format
 msgid	"%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr	""
 
-#: src/lang.c:881
+#: src/lang.c:885
 #, c-format
 msgid	"%s=sign, %s=sign & include public key, %s=quit: "
 msgstr	""
 
-#: src/lang.c:882
+#: src/lang.c:886
 #, c-format
 msgid	"PGP has not been set up (can't open %s)"
 msgstr	""
 
-#: src/lang.c:883
+#: src/lang.c:887
 msgid	"Article not signed and no public keys found"
 msgstr	""
 
-#: src/lang.c:885
+#: src/lang.c:889
 #, c-format
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr	""
 
-#: src/lang.c:886
+#: src/lang.c:890
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%.*s]: "
 msgstr	""
 
-#: src/lang.c:887
+#: src/lang.c:891
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	""
 
-#: src/lang.c:889
+#: src/lang.c:893
 #, c-format
 msgid	"%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr	""
 
-#: src/lang.c:890
+#: src/lang.c:894
 msgid	"%s=quit, %s=edit, %s=pgp, %s=send [%%.*s]: "
 msgstr	""
 
-#: src/lang.c:891
+#: src/lang.c:895
 msgid	"%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	""
 
-#: src/lang.c:895
+#: src/lang.c:899
 #, c-format
 msgid	"%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr	""
 
-#: src/lang.c:896
+#: src/lang.c:900
 msgid	"%s=quit, %s=edit, %s=ispell, %s=send [%%.*s]: "
 msgstr	""
 
-#: src/lang.c:897
+#: src/lang.c:901
 msgid	"%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	""
 
-#: src/lang.c:899
+#: src/lang.c:903
 #, c-format
 msgid	"%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr	""
 
-#: src/lang.c:900
+#: src/lang.c:904
 msgid	"%s=quit, %s=edit, %s=send [%%.*s]: "
 msgstr	""
 
-#: src/lang.c:901
+#: src/lang.c:905
 msgid	"%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	""
 
-#: src/lang.c:910
+#: src/lang.c:914
 msgid	"Try cache_overview_files to speed up things.\n"
 msgstr	""
 
-#: src/lang.c:911
+#: src/lang.c:915
 msgid	"Tin will use local index files instead.\n"
 msgstr	""
 
-#: src/lang.c:912
+#: src/lang.c:916
 msgid	"Cannot find NNTP server name"
 msgstr	""
 
-#: src/lang.c:913
+#: src/lang.c:917
 #, c-format
 msgid	"Connecting to %s:%d..."
 msgstr	""
 
-#: src/lang.c:914
+#: src/lang.c:918
 msgid	"Disconnecting from server...\n"
 msgstr	""
 
-#: src/lang.c:915
+#: src/lang.c:919
 #, c-format
 msgid	"Wrong newsgroup name in response of GROUP command, %s for %s"
 msgstr	""
 
-#: src/lang.c:916
+#: src/lang.c:920
 #, c-format
 msgid	"Failed to connect to NNTP server %s. Exiting..."
 msgstr	""
 
-#: src/lang.c:917
+#: src/lang.c:921
 msgid	"205  Closing connection"
 msgstr	""
 
-#: src/lang.c:918
+#: src/lang.c:922
 msgid	"Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr	""
 
-#: src/lang.c:919
+#: src/lang.c:923
 msgid	"Connection to news server has timed out. Reconnect?"
 msgstr	""
 
-#: src/lang.c:920
+#: src/lang.c:924
 #, c-format
 msgid	"Put the server name in the file %s,\n"
 	"or set the environment variable NNTPSERVER"
 msgstr	""
 
-#: src/lang.c:921
+#: src/lang.c:925
 msgid	"  -A       force authentication on connect"
 msgstr	""
 
-#: src/lang.c:922
+#: src/lang.c:926
 #, c-format
 msgid	"  -g serv  read news from NNTP server serv [default=%s]"
 msgstr	""
 
-#: src/lang.c:923
+#: src/lang.c:927
 #, c-format
 msgid	"  -p port  use port as NNTP port [default=%d]"
 msgstr	""
 
-#: src/lang.c:924
+#: src/lang.c:928
 msgid	"  -Q       quick start. Same as -nqd"
 msgstr	""
 
-#: src/lang.c:925
+#: src/lang.c:929
 msgid	"  -l       use only LIST instead of GROUP (-n) command"
 msgstr	""
 
-#: src/lang.c:926
+#: src/lang.c:930
 msgid	"  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr	""
 
-#: src/lang.c:928
+#: src/lang.c:932
 #, c-format
 msgid	"%s/tcp: Unknown service.\n"
 msgstr	""
 
-#: src/lang.c:931
+#: src/lang.c:935
 msgid	"\n"
 	"socket or connect problem\n"
 msgstr	""
 
-#: src/lang.c:933
+#: src/lang.c:937
 #, c-format
 msgid	"\n"
 	"Connection to %s: "
 msgstr	""
 
-#: src/lang.c:934
+#: src/lang.c:938
 msgid	"Giving up...\n"
 msgstr	""
 
-#: src/lang.c:937
+#: src/lang.c:941
 msgid	"Your server does not have Xref: in its XOVER information.\n"
 	"Tin will try to use XHDR XREF instead (slows down things a bit).\n"
 msgstr	""
 
-#: src/lang.c:940
+#: src/lang.c:944
 msgid	"Your server does not have Xref: in its XOVER information.\n"
 msgstr	""
 
-#: src/lang.c:943
+#: src/lang.c:947
 #, c-format
 msgid	"Can't open %s. Try %s -r to read news via NNTP.\n"
 msgstr	""
 
-#: src/lang.c:946
+#: src/lang.c:950
 msgid	"  -Q       quick start. Same as -qd"
 msgstr	""
 
-#: src/lang.c:947
+#: src/lang.c:951
 msgid	"  -l       read only active file instead of scanning spool (-n) command"
 msgstr	""
 
-#: src/lang.c:948
+#: src/lang.c:952
 msgid	"  -n       only read subscribed .newsrc groups from spool"
 msgstr	""
 
-#: src/lang.c:949
+#: src/lang.c:953
 msgid	"Your server does not have Xref: in its NOV-files.\n"
 msgstr	""
 
-#: src/lang.c:953
+#: src/lang.c:957
 msgid	"Posting using external inews failed. Use built in inews instead?"
 msgstr	""
 
-#: src/lang.c:954
+#: src/lang.c:958
 msgid	"It worked! Should I always use my built in inews from now on?"
 msgstr	""
 
-#: src/lang.c:962
+#: src/lang.c:966
 #, c-format
 msgid	"%d %s printed"
 msgstr	""
 
-#: src/lang.c:963
+#: src/lang.c:967
 msgid	"output article/thread/hot/pattern/tagged articles to printer"
 msgstr	""
 
-#: src/lang.c:964
+#: src/lang.c:968
 msgid	"Print"
 msgstr	""
 
-#: src/lang.c:965
+#: src/lang.c:969
 msgid	"Printing..."
 msgstr	""
 
-#: src/lang.c:969
+#: src/lang.c:973
 msgid	"pipe article/thread/hot/pattern/tagged articles into command"
 msgstr	""
 
-#: src/lang.c:970
+#: src/lang.c:974
 msgid	"No command"
 msgstr	""
 
-#: src/lang.c:971
+#: src/lang.c:975
 msgid	"Pipe"
 msgstr	""
 
-#: src/lang.c:972
+#: src/lang.c:976
 #, c-format
 msgid	"Pipe to command [%.*s]> "
 msgstr	""
 
-#: src/lang.c:973
+#: src/lang.c:977
 msgid	"Piping..."
 msgstr	""
 
-#: src/lang.c:975
+#: src/lang.c:979
 msgid	"Piping not enabled."
 msgstr	""
 
-#: src/lang.c:979
+#: src/lang.c:983
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line has spaces  in it that MUST be removed.\n"
@@ -3522,7 +3544,7 @@ msgid	"\n"
 	"       newsgroup names.\n"
 msgstr	""
 
-#: src/lang.c:984
+#: src/lang.c:988
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is  continued in  the next line.  Since\n"
@@ -3530,7 +3552,7 @@ msgid	"\n"
 	"       Please write all newsgroups into a single line.\n"
 msgstr	""
 
-#: src/lang.c:989
+#: src/lang.c:993
 #, c-format
 msgid	"\n"
 	"Warning: The \"%s:\" line is continued in the next line.\n"
@@ -3538,13 +3560,13 @@ msgid	"\n"
 	"         To avoid trouble please write all newsgroups into a single line.\n"
 msgstr	""
 
-#: src/lang.c:993
+#: src/lang.c:997
 #, c-format
 msgid	"\n"
 	"Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n"
 msgstr	""
 
-#: src/lang.c:998
+#: src/lang.c:1002
 msgid	"\n"
 	"  If your article contains quoted text  please take some time to pare it "
 	"down\n"
@@ -3565,778 +3587,794 @@ msgid	"\n"
 	"  likely to ignore it completely.  It's a crowded net out there.\n"
 msgstr	""
 
-#: src/lang.c:1011
+#: src/lang.c:1015
 msgid	"shell escape"
 msgstr	""
 
-#: src/lang.c:1012
+#: src/lang.c:1016
 #, c-format
 msgid	"Shell Command (%s)"
 msgstr	""
 
-#: src/lang.c:1013
+#: src/lang.c:1017
 #, c-format
 msgid	"Enter shell command [%s]> "
 msgstr	""
 
-#: src/lang.c:1017
+#: src/lang.c:1021
 #, c-format
 msgid	"%s: Can't get entry for TERM\n"
 msgstr	""
 
-#: src/lang.c:1021
+#: src/lang.c:1025
 #, c-format
 msgid	"Group %.*s ('q' to quit)..."
 msgstr	""
 
-#: src/lang.c:1023
+#: src/lang.c:1027
 #, c-format
 msgid	"Group %.*s..."
 msgstr	""
 
-#: src/lang.c:1027
+#: src/lang.c:1031
 msgid	"Server unavailable\n"
 msgstr	""
 
-#: src/lang.c:1033
+#: src/lang.c:1037
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
 	"%s=post"
 msgstr	""
 
-#: src/lang.c:1034
+#: src/lang.c:1038
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	""
 
-#: src/lang.c:1036
+#: src/lang.c:1040
 #, c-format
 msgid	"%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	""
 
-#: src/lang.c:1037
+#: src/lang.c:1041
 #, c-format
 msgid	"%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	""
 
-#: src/lang.c:1041
+#: src/lang.c:1045
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	""
 
-#: src/lang.c:1042
+#: src/lang.c:1046
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	""
 
-#: src/lang.c:1044
+#: src/lang.c:1048
 #, c-format
 msgid	"%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	""
 
-#: src/lang.c:1045
+#: src/lang.c:1049
 #, c-format
 msgid	"%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	""
 
-#: src/lang.c:1051
+#: src/lang.c:1055
 msgid	"Terminal does not support color"
 msgstr	"Terminal does not support colour"
 
-#: src/lang.c:1056
+#: src/lang.c:1060
 #, c-format
 msgid	"Trying %s"
 msgstr	""
 
-#: src/lang.c:1070 src/lang.c:1095 src/lang.c:1111 src/refs.c:266
+#: src/lang.c:1074 src/lang.c:1099 src/lang.c:1115 src/lang.c:1294 src/refs.c:266
 msgid	"None"
 msgstr	""
 
-#: src/lang.c:1071
+#: src/lang.c:1075
 msgid	"Subject"
 msgstr	""
 
-#: src/lang.c:1072
+#: src/lang.c:1076
 msgid	"References"
 msgstr	""
 
-#: src/lang.c:1073
+#: src/lang.c:1077
 msgid	"Both Subject and References"
 msgstr	""
 
-#: src/lang.c:1074
+#: src/lang.c:1078
 msgid	"Multipart Subject"
 msgstr	""
 
-#: src/lang.c:1086 src/lang.c:1197
+#: src/lang.c:1090 src/lang.c:1201
 msgid	"No"
 msgstr	""
 
-#: src/lang.c:1087 src/lang.c:1199
+#: src/lang.c:1091 src/lang.c:1203
 msgid	"Yes"
 msgstr	""
 
-#: src/lang.c:1088
+#: src/lang.c:1092
 msgid	"Hide All"
 msgstr	""
 
-#: src/lang.c:1096
+#: src/lang.c:1100
 msgid	"Address"
 msgstr	""
 
-#: src/lang.c:1097
+#: src/lang.c:1101
 msgid	"Full Name"
 msgstr	""
 
-#: src/lang.c:1098
+#: src/lang.c:1102
 msgid	"Address and Name"
 msgstr	""
 
-#: src/lang.c:1105
+#: src/lang.c:1109
 msgid	"Max"
 msgstr	""
 
-#: src/lang.c:1106
+#: src/lang.c:1110
 msgid	"Sum"
 msgstr	""
 
-#: src/lang.c:1107
+#: src/lang.c:1111
 msgid	"Average"
 msgstr	""
 
-#: src/lang.c:1112
+#: src/lang.c:1116
 msgid	"Lines"
 msgstr	""
 
-#: src/lang.c:1113
+#: src/lang.c:1117
 msgid	"Score"
 msgstr	""
 
-#: src/lang.c:1114
+#: src/lang.c:1118
 msgid	"Lines & Score"
 msgstr	""
 
-#: src/lang.c:1123
+#: src/lang.c:1127
 msgid	"Black"
 msgstr	""
 
-#: src/lang.c:1124
+#: src/lang.c:1128
 msgid	"Red"
 msgstr	""
 
-#: src/lang.c:1125
+#: src/lang.c:1129
 msgid	"Green"
 msgstr	""
 
-#: src/lang.c:1126
+#: src/lang.c:1130
 msgid	"Brown"
 msgstr	""
 
-#: src/lang.c:1127
+#: src/lang.c:1131
 msgid	"Blue"
 msgstr	""
 
-#: src/lang.c:1128
+#: src/lang.c:1132
 msgid	"Pink"
 msgstr	""
 
-#: src/lang.c:1129
+#: src/lang.c:1133
 msgid	"Cyan"
 msgstr	""
 
-#: src/lang.c:1130
+#: src/lang.c:1134
 msgid	"White"
 msgstr	""
 
-#: src/lang.c:1131
+#: src/lang.c:1135
 msgid	"Gray"
 msgstr	"Grey"
 
-#: src/lang.c:1132
+#: src/lang.c:1136
 msgid	"Light Red"
 msgstr	""
 
-#: src/lang.c:1133
+#: src/lang.c:1137
 msgid	"Light Green"
 msgstr	""
 
-#: src/lang.c:1134
+#: src/lang.c:1138
 msgid	"Yellow"
 msgstr	""
 
-#: src/lang.c:1135
+#: src/lang.c:1139
 msgid	"Light Blue"
 msgstr	""
 
-#: src/lang.c:1136
+#: src/lang.c:1140
 msgid	"Light Pink"
 msgstr	""
 
-#: src/lang.c:1137
+#: src/lang.c:1141
 msgid	"Light Cyan"
 msgstr	""
 
-#: src/lang.c:1138
+#: src/lang.c:1142
 msgid	"Light White"
 msgstr	""
 
-#: src/lang.c:1146 src/lang.c:1203 src/lang.c:1217
+#: src/lang.c:1150 src/lang.c:1207 src/lang.c:1221
 msgid	"Nothing"
 msgstr	""
 
-#: src/lang.c:1147
+#: src/lang.c:1151
 msgid	"Mark"
 msgstr	""
 
-#: src/lang.c:1148
+#: src/lang.c:1152
 msgid	"Space"
 msgstr	""
 
-#: src/lang.c:1155
+#: src/lang.c:1159
 msgid	"Normal"
 msgstr	""
 
-#: src/lang.c:1156
+#: src/lang.c:1160
 msgid	"Best highlighting"
 msgstr	""
 
-#: src/lang.c:1157
+#: src/lang.c:1161
 msgid	"Underline"
 msgstr	""
 
-#: src/lang.c:1158
+#: src/lang.c:1162
 msgid	"Reverse video"
 msgstr	""
 
-#: src/lang.c:1159
+#: src/lang.c:1163
 msgid	"Blinking"
 msgstr	""
 
-#: src/lang.c:1160
+#: src/lang.c:1164
 msgid	"Half bright"
 msgstr	""
 
-#: src/lang.c:1161
+#: src/lang.c:1165
 msgid	"Bold"
 msgstr	""
 
-#: src/lang.c:1166
+#: src/lang.c:1170
 msgid	"none"
 msgstr	""
 
-#: src/lang.c:1167
+#: src/lang.c:1171
 msgid	"commands"
 msgstr	""
 
-#: src/lang.c:1168
+#: src/lang.c:1172
 msgid	"select"
 msgstr	""
 
-#: src/lang.c:1170
+#: src/lang.c:1174
 msgid	"commands & quit"
 msgstr	""
 
-#: src/lang.c:1171
+#: src/lang.c:1175
 msgid	"commands & select"
 msgstr	""
 
-#: src/lang.c:1172
+#: src/lang.c:1176
 msgid	"quit & select"
 msgstr	""
 
-#: src/lang.c:1173
+#: src/lang.c:1177
 msgid	"commands & quit & select"
 msgstr	""
 
-#: src/lang.c:1198
+#: src/lang.c:1202
 msgid	"Shell archive"
 msgstr	""
 
-#: src/lang.c:1204
+#: src/lang.c:1208
 msgid	"Subject: (descending)"
 msgstr	""
 
-#: src/lang.c:1205
+#: src/lang.c:1209
 msgid	"Subject: (ascending)"
 msgstr	""
 
-#: src/lang.c:1206
+#: src/lang.c:1210
 msgid	"From: (descending)"
 msgstr	""
 
-#: src/lang.c:1207
+#: src/lang.c:1211
 msgid	"From: (ascending)"
 msgstr	""
 
-#: src/lang.c:1208
+#: src/lang.c:1212
 msgid	"Date: (descending)"
 msgstr	""
 
-#: src/lang.c:1209
+#: src/lang.c:1213
 msgid	"Date: (ascending)"
 msgstr	""
 
-#: src/lang.c:1210 src/lang.c:1218
+#: src/lang.c:1214 src/lang.c:1222
 msgid	"Score (descending)"
 msgstr	""
 
-#: src/lang.c:1211 src/lang.c:1219
+#: src/lang.c:1215 src/lang.c:1223
 msgid	"Score (ascending)"
 msgstr	""
 
-#: src/lang.c:1212
+#: src/lang.c:1216
 msgid	"Lines: (descending)"
 msgstr	""
 
-#: src/lang.c:1213
+#: src/lang.c:1217
 msgid	"Lines: (ascending)"
 msgstr	""
 
-#: src/lang.c:1224
+#: src/lang.c:1228
 msgid	"Always Keep"
 msgstr	""
 
-#: src/lang.c:1225
+#: src/lang.c:1229
 msgid	"Always Remove"
 msgstr	""
 
-#: src/lang.c:1226
+#: src/lang.c:1230
 msgid	"Mark with D on selection screen"
 msgstr	""
 
-#: src/lang.c:1231
+#: src/lang.c:1235
 msgid	"Kill only unread arts"
 msgstr	""
 
-#: src/lang.c:1232
+#: src/lang.c:1236
 msgid	"Kill all arts & show with K"
 msgstr	""
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1233
+#: src/lang.c:1237
 msgid	"Kill all arts and never show"
 msgstr	""
 
-#: src/lang.c:1238
+#: src/lang.c:1242
 msgid	"Nothing special"
 msgstr	""
 
-#: src/lang.c:1239
+#: src/lang.c:1243
 msgid	"Compress quotes"
 msgstr	""
 
-#: src/lang.c:1240
+#: src/lang.c:1244
 msgid	"Quote signatures"
 msgstr	""
 
-#: src/lang.c:1241
+#: src/lang.c:1245
 msgid	"Compress quotes, quote sigs"
 msgstr	""
 
-#: src/lang.c:1242
+#: src/lang.c:1246
 msgid	"Quote empty lines"
 msgstr	""
 
-#: src/lang.c:1243
+#: src/lang.c:1247
 msgid	"Compress quotes, quote empty lines"
 msgstr	""
 
-#: src/lang.c:1244
+#: src/lang.c:1248
 msgid	"Quote sigs & empty lines"
 msgstr	""
 
-#: src/lang.c:1245
+#: src/lang.c:1249
 msgid	"Comp. q., quote sigs & empty lines"
 msgstr	""
 
-#: src/lang.c:1283
+#: src/lang.c:1287
 msgid	"no"
 msgstr	""
 
-#: src/lang.c:1284
+#: src/lang.c:1288
 msgid	"with headers"
 msgstr	""
 
-#: src/lang.c:1285
+#: src/lang.c:1289
 msgid	"without headers"
 msgstr	""
 
-#: src/lang.c:1290
+#: src/lang.c:1296 src/lang.c:1302
+msgid	"NFKC"
+msgstr	""
+
+#: src/lang.c:1297
+msgid	"NFKD"
+msgstr	""
+
+#: src/lang.c:1298
+msgid	"NFC"
+msgstr	""
+
+#: src/lang.c:1299
+msgid	"NFD"
+msgstr	""
+
+#: src/lang.c:1310
 msgid	"Display Options"
 msgstr	""
 
-#: src/lang.c:1296
+#: src/lang.c:1316
 msgid	"Color Options"
 msgstr	"Colour Options"
 
-#: src/lang.c:1302
+#: src/lang.c:1322
 msgid	"Article-Limiting Options"
 msgstr	""
 
-#: src/lang.c:1308
+#: src/lang.c:1328
 msgid	"Posting/Mailing Options"
 msgstr	""
 
-#: src/lang.c:1314
+#: src/lang.c:1334
 msgid	"Saving/Printing Options"
 msgstr	""
 
-#: src/lang.c:1320
+#: src/lang.c:1340
 msgid	"Expert Options"
 msgstr	""
 
-#: src/lang.c:1326
+#: src/lang.c:1346
 msgid	"Filtering Options"
 msgstr	""
 
-#: src/lang.c:1331 src/lang.c:1357 src/lang.c:1363 src/lang.c:1370 src/lang.c:1402
-#: src/lang.c:1408 src/lang.c:1416 src/lang.c:1436 src/lang.c:1511 src/lang.c:1673
-#: src/lang.c:1679 src/lang.c:1685 src/lang.c:1691 src/lang.c:1703 src/lang.c:1710
-#: src/lang.c:1761 src/lang.c:1770 src/lang.c:1776 src/lang.c:1782 src/lang.c:1788
-#: src/lang.c:1794 src/lang.c:1800 src/lang.c:1806 src/lang.c:1812 src/lang.c:1818
-#: src/lang.c:1824 src/lang.c:1830 src/lang.c:1836 src/lang.c:1842 src/lang.c:1848
-#: src/lang.c:1854 src/lang.c:1860 src/lang.c:1866 src/lang.c:1872 src/lang.c:1878
-#: src/lang.c:1884 src/lang.c:1891 src/lang.c:1897 src/lang.c:1903 src/lang.c:1910
-#: src/lang.c:1921 src/lang.c:1927 src/lang.c:1933 src/lang.c:1939 src/lang.c:1945
-#: src/lang.c:1951 src/lang.c:1965 src/lang.c:1977 src/lang.c:2011 src/lang.c:2063
-#: src/lang.c:2070 src/lang.c:2076 src/lang.c:2101 src/lang.c:2118 src/lang.c:2171
-#: src/lang.c:2204 src/lang.c:2224 src/lang.c:2259 src/lang.c:2268 src/lang.c:2293
-#: src/lang.c:2305
+#: src/lang.c:1351 src/lang.c:1377 src/lang.c:1383 src/lang.c:1390 src/lang.c:1422
+#: src/lang.c:1428 src/lang.c:1436 src/lang.c:1456 src/lang.c:1531 src/lang.c:1693
+#: src/lang.c:1699 src/lang.c:1705 src/lang.c:1711 src/lang.c:1723 src/lang.c:1730
+#: src/lang.c:1781 src/lang.c:1790 src/lang.c:1796 src/lang.c:1802 src/lang.c:1808
+#: src/lang.c:1814 src/lang.c:1820 src/lang.c:1826 src/lang.c:1832 src/lang.c:1838
+#: src/lang.c:1844 src/lang.c:1850 src/lang.c:1856 src/lang.c:1862 src/lang.c:1868
+#: src/lang.c:1874 src/lang.c:1880 src/lang.c:1886 src/lang.c:1892 src/lang.c:1898
+#: src/lang.c:1904 src/lang.c:1910 src/lang.c:1917 src/lang.c:1923 src/lang.c:1929
+#: src/lang.c:1936 src/lang.c:1947 src/lang.c:1953 src/lang.c:1959 src/lang.c:1965
+#: src/lang.c:1971 src/lang.c:1977 src/lang.c:1991 src/lang.c:2003 src/lang.c:2037
+#: src/lang.c:2089 src/lang.c:2096 src/lang.c:2102 src/lang.c:2127 src/lang.c:2144
+#: src/lang.c:2197 src/lang.c:2230 src/lang.c:2250 src/lang.c:2285 src/lang.c:2294
+#: src/lang.c:2319 src/lang.c:2331 src/lang.c:2350
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1332
+#: src/lang.c:1352
 msgid	"Show mini menu & posting etiquette :"
 msgstr	""
 
-#: src/lang.c:1333
+#: src/lang.c:1353
 msgid	"# If ON show a mini menu of useful commands at each level\n"
 	"# and posting etiquette after composing an article\n"
 msgstr	""
 
-#: src/lang.c:1338
+#: src/lang.c:1358
 msgid	"Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1339
+#: src/lang.c:1359
 msgid	"Show description of each newsgroup :"
 msgstr	""
 
-#: src/lang.c:1340
+#: src/lang.c:1360
 msgid	"# If ON show group description text after newsgroup name at\n"
 	"# group selection level\n"
 msgstr	""
 
-#: src/lang.c:1345
+#: src/lang.c:1365
 msgid	"Show Subject & From (author) fields in group menu. <SPACE> toggles & <CR> "
 	"sets."
 msgstr	""
 
-#: src/lang.c:1346
+#: src/lang.c:1366
 msgid	"In group menu, show author by      :"
 msgstr	""
 
-#: src/lang.c:1347
+#: src/lang.c:1367
 msgid	"# Part of from field to display 0) none 1) address 2) full name 3) both\n"
 msgstr	""
 
-#: src/lang.c:1351
+#: src/lang.c:1371
 msgid	"Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1352
+#: src/lang.c:1372
 msgid	"Draw -> instead of highlighted bar :"
 msgstr	""
 
-#: src/lang.c:1353
+#: src/lang.c:1373
 msgid	"# If ON use -> otherwise highlighted bar for selection\n"
 msgstr	""
 
-#: src/lang.c:1358
+#: src/lang.c:1378
 msgid	"Use inverse video for page headers :"
 msgstr	""
 
-#: src/lang.c:1359
+#: src/lang.c:1379
 msgid	"# If ON use inverse video for page headers at different levels\n"
 msgstr	""
 
-#: src/lang.c:1364
+#: src/lang.c:1384
 msgid	"Thread articles by                 :"
 msgstr	""
 
-#: src/lang.c:1365
+#: src/lang.c:1385
 msgid	"# Thread articles on 0=(nothing) 1=(Subject) 2=(References) 3=(Both)\n"
 	"# 4=(Multipart Subject).\n"
 msgstr	""
 
-#: src/lang.c:1371
+#: src/lang.c:1391
 msgid	"Score of a thread                  :"
 msgstr	""
 
-#: src/lang.c:1372
+#: src/lang.c:1392
 msgid	"# Thread score 0=(Max) 1=(Sum) 2=(Average)\n"
 msgstr	""
 
-#: src/lang.c:1376
+#: src/lang.c:1396
 msgid	"Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1377
+#: src/lang.c:1397
 msgid	"Sort articles by                   :"
 msgstr	""
 
-#: src/lang.c:1378
+#: src/lang.c:1398
 msgid	"# Sort articles by 0=(nothing) 1=(Subject descend) 2=(Subject ascend)\n"
 	"# 3=(From descend) 4=(From ascend) 5=(Date descend) 6=(Date ascend)\n"
 	"# 7=(Score descend) 8=(Score ascend) 9=(Lines descend) 10=(Lines ascend).\n"
 msgstr	""
 
-#: src/lang.c:1384
+#: src/lang.c:1404
 msgid	"Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1385
+#: src/lang.c:1405
 msgid	"Sort threads by                    :"
 msgstr	""
 
-#: src/lang.c:1386
+#: src/lang.c:1406
 msgid	"# Sort thread by 0=(nothing) 1=(Score descend) 2=(Score ascend)\n"
 msgstr	""
 
-#: src/lang.c:1390
+#: src/lang.c:1410
 msgid	"Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1391
+#: src/lang.c:1411
 msgid	"Goto first unread article in group :"
 msgstr	""
 
-#: src/lang.c:1392
+#: src/lang.c:1412
 msgid	"# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr	""
 
-#: src/lang.c:1396
+#: src/lang.c:1416
 msgid	"Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1397
+#: src/lang.c:1417
 msgid	"Show only unread articles          :"
 msgstr	""
 
-#: src/lang.c:1398
+#: src/lang.c:1418
 msgid	"# If ON show only new/unread articles otherwise show all.\n"
 msgstr	""
 
-#: src/lang.c:1403
+#: src/lang.c:1423
 msgid	"Show only groups with unread arts  :"
 msgstr	""
 
-#: src/lang.c:1404
+#: src/lang.c:1424
 msgid	"# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr	""
 
-#: src/lang.c:1409
+#: src/lang.c:1429
 msgid	"Filter which articles              :"
 msgstr	""
 
-#: src/lang.c:1410
+#: src/lang.c:1430
 msgid	"# 0=(Only kill unread articles)\n"
 	"# 1=(Kill all articles and show in threads marked with K)\n"
 	"# 2=(Kill all articles and never show them).\n"
 msgstr	""
 
-#: src/lang.c:1417
+#: src/lang.c:1437
 msgid	"Tab goes to next unread article    :"
 msgstr	""
 
-#: src/lang.c:1418
+#: src/lang.c:1438
 msgid	"# If ON the TAB command will go to next unread article at article viewer "
 	"level\n"
 msgstr	""
 
-#: src/lang.c:1422
+#: src/lang.c:1442
 msgid	"Scrolling with <SPACE> past the end of an art. jumps to the next unread one."
 msgstr	""
 
-#: src/lang.c:1423
+#: src/lang.c:1443
 msgid	"Space goes to next unread article  :"
 msgstr	""
 
-#: src/lang.c:1424
+#: src/lang.c:1444
 msgid	"# If ON the SPACE command will go to next unread article at article viewer\n"
 	"# level when the end of the article is reached (rn-style pager)\n"
 msgstr	""
 
-#: src/lang.c:1429
+#: src/lang.c:1449
 msgid	"Scrolling with <PGDN>/<DOWN> past the end of an art. jumps to the unread one."
 msgstr	""
 
-#: src/lang.c:1430
+#: src/lang.c:1450
 msgid	"PgDn goes to next unread article   :"
 msgstr	""
 
-#: src/lang.c:1431
+#: src/lang.c:1451
 msgid	"# If ON the PGDN or DOWN command will go to next unread article when\n"
 	"# pressed at end of message\n"
 msgstr	""
 
-#: src/lang.c:1437
+#: src/lang.c:1457
 msgid	"List thread using right arrow key  :"
 msgstr	""
 
-#: src/lang.c:1438
+#: src/lang.c:1458
 msgid	"# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr	""
 
-#: src/lang.c:1442
+#: src/lang.c:1462
 msgid	"Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1443
+#: src/lang.c:1463
 msgid	"Character to show deleted articles :"
 msgstr	""
 
-#: src/lang.c:1444
+#: src/lang.c:1464
 msgid	"# Character used to show that an art was deleted (default 'D')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1449
+#: src/lang.c:1469
 msgid	"Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1450
+#: src/lang.c:1470
 msgid	"Character to show inrange articles :"
 msgstr	""
 
-#: src/lang.c:1451
+#: src/lang.c:1471
 msgid	"# Character used to show that an art is in a range (default '#')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1456
+#: src/lang.c:1476
 msgid	"Enter character to indicate that article will return. <CR> sets, <ESC> "
 	"cancels."
 msgstr	""
 
-#: src/lang.c:1457
+#: src/lang.c:1477
 msgid	"Character to show returning arts   :"
 msgstr	""
 
-#: src/lang.c:1458
+#: src/lang.c:1478
 msgid	"# Character used to show that an art will return (default '-')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1463
+#: src/lang.c:1483
 msgid	"Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1464
+#: src/lang.c:1484
 msgid	"Character to show selected articles:"
 msgstr	""
 
-#: src/lang.c:1465
+#: src/lang.c:1485
 msgid	"# Character used to show that an art was auto-selected (default '*')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1470
+#: src/lang.c:1490
 msgid	"Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1471
+#: src/lang.c:1491
 msgid	"Character to show recent articles  :"
 msgstr	""
 
-#: src/lang.c:1472
+#: src/lang.c:1492
 msgid	"# Character used to show that an art is recent (default 'o')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1477
+#: src/lang.c:1497
 msgid	"Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1478
+#: src/lang.c:1498
 msgid	"Character to show unread articles  :"
 msgstr	""
 
-#: src/lang.c:1479
+#: src/lang.c:1499
 msgid	"# Character used to show that an art is unread (default '+')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1484
+#: src/lang.c:1504
 msgid	"Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1485
+#: src/lang.c:1505
 msgid	"Character to show read articles    :"
 msgstr	""
 
-#: src/lang.c:1486
+#: src/lang.c:1506
 msgid	"# Character used to show that an art was read (default ' ')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1491
+#: src/lang.c:1511
 msgid	"Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1492
+#: src/lang.c:1512
 msgid	"Character to show killed articles  :"
 msgstr	""
 
-#: src/lang.c:1493
+#: src/lang.c:1513
 msgid	"# Character used to show that an art was killed (default 'K')\n"
 	"# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1498
+#: src/lang.c:1518
 msgid	"Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1499
+#: src/lang.c:1519
 msgid	"Character to show readselected arts:"
 msgstr	""
 
-#: src/lang.c:1500
+#: src/lang.c:1520
 msgid	"# Character used to show that an art was selected before read (default ':')\n"
 	"# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1505
+#: src/lang.c:1525
 msgid	"Enter maximum length of newsgroup names displayed. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1506
+#: src/lang.c:1526
 msgid	"Max. length of group names shown   :"
 msgstr	""
 
-#: src/lang.c:1507
+#: src/lang.c:1527
 msgid	"# Maximum length of the names of newsgroups displayed\n"
 msgstr	""
 
-#: src/lang.c:1512
+#: src/lang.c:1532
 msgid	"Show lines/score in listings       :"
 msgstr	""
 
-#: src/lang.c:1513
+#: src/lang.c:1533
 msgid	"# What informations should be displayed in article/thread listing\n"
 	"# 0 = nothing, 1 = lines, 2 = score, 3 = lines & score\n"
 msgstr	""
 
-#: src/lang.c:1518
+#: src/lang.c:1538
 msgid	"0 = full page scrolling, -1 = show previous last line as first on next page, "
 	"-2 = half page"
 msgstr	""
 
-#: src/lang.c:1519
+#: src/lang.c:1539
 msgid	"Number of lines to scroll in pager :"
 msgstr	""
 
-#: src/lang.c:1520
+#: src/lang.c:1540
 msgid	"# Number of lines that cursor-up/down will scroll in article pager\n"
 	"# eg, 1+ = line-by-line, 0 = page-by-page (traditional behavior),\n"
 	"# -1 = the top/bottom line is carried over onto the next page,\n"
@@ -4346,27 +4384,27 @@ msgstr	"# Number of lines that cursor-up
 	"# -1 = the top/bottom line is carried over onto the next page,\n"
 	"# -2 = half-page scrolling\n"
 
-#: src/lang.c:1527
+#: src/lang.c:1547
 msgid	"Display signatures. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1528
+#: src/lang.c:1548
 msgid	"Display signatures                 :"
 msgstr	""
 
-#: src/lang.c:1529
+#: src/lang.c:1549
 msgid	"# If OFF don't show signatures when displaying articles\n"
 msgstr	""
 
-#: src/lang.c:1533
+#: src/lang.c:1553
 msgid	"Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1534
+#: src/lang.c:1554
 msgid	"Display uue data as an attachment  :"
 msgstr	""
 
-#: src/lang.c:1535
+#: src/lang.c:1555
 msgid	"# Handling of uuencoded data in the pager\n"
 	"# 0 = display raw uuencoded data\n"
 	"# 1 = uuencoded data will be condensed to a single tag line showing\n"
@@ -4375,28 +4413,28 @@ msgid	"# Handling of uuencoded data in t
 	"#     into a tag line.\n"
 msgstr	""
 
-#: src/lang.c:1544
+#: src/lang.c:1564
 msgid	"Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1545
+#: src/lang.c:1565
 msgid	"Display \"a as Umlaut-a             :"
 msgstr	""
 
-#: src/lang.c:1546
+#: src/lang.c:1566
 msgid	"# If ON decode German style TeX umlaut codes to ISO and\n"
 	"# show \"a as Umlaut-a, etc.\n"
 msgstr	""
 
-#: src/lang.c:1551 src/lang.c:1561
+#: src/lang.c:1571 src/lang.c:1581
 msgid	"Space separated list of header fields"
 msgstr	""
 
-#: src/lang.c:1552
+#: src/lang.c:1572
 msgid	"Display these header fields (or *) :"
 msgstr	""
 
-#: src/lang.c:1553
+#: src/lang.c:1573
 msgid	"# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 	"# place an '*' as this value. This is the only way a wildcard can be used.\n"
 	"# If you enter 'X-' as the value, you will see all headers beginning with\n"
@@ -4405,11 +4443,11 @@ msgid	"# Which news headers you wish to 
 	"# spaces. Not defining anything turns off this option.\n"
 msgstr	""
 
-#: src/lang.c:1562
+#: src/lang.c:1582
 msgid	"Do not display these header fields :"
 msgstr	""
 
-#: src/lang.c:1563
+#: src/lang.c:1583
 msgid	"# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 	"# An example of using both options might be if you thought X- headers were\n"
 	"# A Good Thing(tm), but thought Alan and Pape were miscreants...well then "
@@ -4420,512 +4458,520 @@ msgid	"# Same as 'news_headers_to_displa
 	"# Not defining anything turns off this option.\n"
 msgstr	""
 
-#: src/lang.c:1573
+#: src/lang.c:1593
 msgid	"Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr	""
 
-#: src/lang.c:1574
+#: src/lang.c:1594
 msgid	"Skip multipart/alternative parts   :"
 msgstr	""
 
-#: src/lang.c:1575
+#: src/lang.c:1595
 msgid	"# If ON strip multipart/alternative messages automatically\n"
 msgstr	""
 
-#: src/lang.c:1580
+#: src/lang.c:1600
 msgid	"A regex used to decide which lines to show in col_quote."
 msgstr	""
 
-#: src/lang.c:1581
+#: src/lang.c:1601
 msgid	"Regex used to show quoted lines    :"
 msgstr	""
 
-#: src/lang.c:1582
+#: src/lang.c:1602
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1588
+#: src/lang.c:1608
 msgid	"A regex used to decide which lines to show in col_quote2."
 msgstr	""
 
-#: src/lang.c:1589
+#: src/lang.c:1609
 msgid	"Regex used to show twice quoted l. :"
 msgstr	""
 
-#: src/lang.c:1590
+#: src/lang.c:1610
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1596
+#: src/lang.c:1616
 msgid	"A regex used to decide which lines to show in col_quote3."
 msgstr	""
 
-#: src/lang.c:1597
+#: src/lang.c:1617
 msgid	"Regex used to show >= 3 times q.l. :"
 msgstr	""
 
-#: src/lang.c:1598
+#: src/lang.c:1618
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1605
+#: src/lang.c:1625
 msgid	"A regex used to decide which words to show in col_markslashes."
 msgstr	""
 
-#: src/lang.c:1606
+#: src/lang.c:1626
 msgid	"Regex used to highlight /slashes/  :"
 msgstr	""
 
-#: src/lang.c:1607
+#: src/lang.c:1627
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '/' are to be shown in col_markslashes.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1613
+#: src/lang.c:1633
 msgid	"A regex used to decide which words to show in col_markstars."
 msgstr	""
 
-#: src/lang.c:1614
+#: src/lang.c:1634
 msgid	"Regex used to highlight *stars*    :"
 msgstr	""
 
-#: src/lang.c:1615
+#: src/lang.c:1635
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '*' are to be shown in col_markstars.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1621
+#: src/lang.c:1641
 msgid	"A regex used to decide which words to show in col_markstroke."
 msgstr	""
 
-#: src/lang.c:1622
+#: src/lang.c:1642
 msgid	"Regex used to highlight -strokes-  :"
 msgstr	""
 
-#: src/lang.c:1623
+#: src/lang.c:1643
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '-' are to be shown in col_markstroke.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1629
+#: src/lang.c:1649
 msgid	"A regex used to decide which words to show in col_markdash."
 msgstr	""
 
-#: src/lang.c:1630
+#: src/lang.c:1650
 msgid	"Regex used to highlight _underline_:"
 msgstr	""
 
-#: src/lang.c:1631
+#: src/lang.c:1651
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '_' are to be shown in col_markdash.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1637
+#: src/lang.c:1657
 msgid	"A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr	""
 
-#: src/lang.c:1638
+#: src/lang.c:1658
 msgid	"Regex with Subject prefixes        :"
 msgstr	""
 
-#: src/lang.c:1639
+#: src/lang.c:1659
 msgid	"# A regular expression that tin will use to find Subject prefixes\n"
 	"# which will be removed before showing the header.\n"
 msgstr	""
 
-#: src/lang.c:1644
+#: src/lang.c:1664
 msgid	"A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr	""
 
-#: src/lang.c:1645
+#: src/lang.c:1665
 msgid	"Regex with Subject suffixes        :"
 msgstr	""
 
-#: src/lang.c:1646
+#: src/lang.c:1666
 msgid	"# A regular expression that tin will use to find Subject suffixes\n"
 	"# which will be removed when replying or posting followup.\n"
 msgstr	""
 
-#: src/lang.c:1651
+#: src/lang.c:1671
 msgid	"Enter name and options for external MIME viewer, --internal for built-in "
 	"viewer"
 msgstr	""
 
-#: src/lang.c:1652
+#: src/lang.c:1672
 msgid	"MIME binary content viewer         :"
 msgstr	""
 
-#: src/lang.c:1653
+#: src/lang.c:1673
 msgid	"# If --internal automatically use the built in MIME viewer for non-text\n"
 	"# parts of articles.\n"
 	"# Otherwise specify an external viewer program (eg, metamail) or leave blank\n"
 	"# for no automatic viewing\n"
 msgstr	""
 
-#: src/lang.c:1660
+#: src/lang.c:1680
 msgid	"Confirm before starting non-text viewing program"
 msgstr	""
 
-#: src/lang.c:1661
+#: src/lang.c:1681
 msgid	"Ask before using MIME viewer       :"
 msgstr	""
 
-#: src/lang.c:1662
+#: src/lang.c:1682
 msgid	"# If ON tin will ask before using metamail to display MIME messages\n"
 	"# this only happens if metamail_prog is set to something\n"
 msgstr	""
 
-#: src/lang.c:1667
+#: src/lang.c:1687
 msgid	"Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1668
+#: src/lang.c:1688
 msgid	"Catchup read groups when quitting  :"
 msgstr	""
 
-#: src/lang.c:1669
+#: src/lang.c:1689
 msgid	"# If ON ask user if read groups should all be marked read\n"
 msgstr	""
 
-#: src/lang.c:1674
+#: src/lang.c:1694
 msgid	"Catchup group using left key       :"
 msgstr	""
 
-#: src/lang.c:1675
+#: src/lang.c:1695
 msgid	"# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr	""
 
-#: src/lang.c:1680
+#: src/lang.c:1700
 msgid	"Catchup thread by using left key   :"
 msgstr	""
 
-#: src/lang.c:1686
+#: src/lang.c:1706
 msgid	"Which actions require confirmation :"
 msgstr	""
 
-#: src/lang.c:1687
+#: src/lang.c:1707
 msgid	"# What should we ask confirmation for.\n"
 msgstr	""
 
-#: src/lang.c:1692
+#: src/lang.c:1712
 msgid	"'Mark article read' ignores tags   :"
 msgstr	""
 
-#: src/lang.c:1693
+#: src/lang.c:1713
 msgid	"# If ON the 'Mark article read' function marks only the current article.\n"
 msgstr	""
 
-#: src/lang.c:1697
+#: src/lang.c:1717
 msgid	"Program to run to open URL's, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1698
+#: src/lang.c:1718
 msgid	"Program that opens URL's           :"
 msgstr	""
 
-#: src/lang.c:1699
+#: src/lang.c:1719
 msgid	"# The program used to open URL's. The actual URL will be appended\n"
 msgstr	""
 
-#: src/lang.c:1704
+#: src/lang.c:1724
 msgid	"Use mouse in xterm                 :"
 msgstr	""
 
-#: src/lang.c:1705
+#: src/lang.c:1725
 msgid	"# If ON enable mouse key support on xterm terminals\n"
 msgstr	""
 
-#: src/lang.c:1711
+#: src/lang.c:1731
 msgid	"Use scroll keys on keypad          :"
 msgstr	""
 
-#: src/lang.c:1712
+#: src/lang.c:1732
 msgid	"# If ON enable scroll keys on terminals that support it\n"
 msgstr	""
 
-#: src/lang.c:1717
+#: src/lang.c:1737
 msgid	"Enter maximum number of article to get. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1718
+#: src/lang.c:1738
 msgid	"Number of articles to get          :"
 msgstr	""
 
-#: src/lang.c:1719
+#: src/lang.c:1739
 msgid	"# Number of articles to get (0=no limit), if negative sets maximum number\n"
 	"# of already read articles to be read before first unread one\n"
 msgstr	""
 
-#: src/lang.c:1724
+#: src/lang.c:1744
 msgid	"Enter number of days article is considered recent. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1725
+#: src/lang.c:1745
 msgid	"Article recentness time limit      :"
 msgstr	""
 
-#: src/lang.c:1726
+#: src/lang.c:1746
 msgid	"# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr	""
 
-#: src/lang.c:1730
+#: src/lang.c:1750
 msgid	"WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr	""
 
-#: src/lang.c:1731
+#: src/lang.c:1751
 msgid	"Wildcard matching                  :"
 msgstr	""
 
-#: src/lang.c:1732
+#: src/lang.c:1752
 msgid	"# Wildcard matching 0=(wildmat) 1=(regex)\n"
 msgstr	""
 
-#: src/lang.c:1736
+#: src/lang.c:1756
 msgid	"Enter minimal score before an article is marked killed. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1737
+#: src/lang.c:1757
 msgid	"Score limit (kill)                 :"
 msgstr	""
 
-#: src/lang.c:1738
+#: src/lang.c:1758
 msgid	"# Score limit before an article is marked killed\n"
 msgstr	""
 
-#: src/lang.c:1742
+#: src/lang.c:1762
 msgid	"Enter default score to kill articles. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1743
+#: src/lang.c:1763
 msgid	"Default score to kill articles     :"
 msgstr	""
 
-#: src/lang.c:1744
+#: src/lang.c:1764
 msgid	"# Default score to kill articles\n"
 msgstr	""
 
-#: src/lang.c:1748
+#: src/lang.c:1768
 msgid	"Enter minimal score before an article is marked hot. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1749
+#: src/lang.c:1769
 msgid	"Score limit (select)               :"
 msgstr	""
 
-#: src/lang.c:1750
+#: src/lang.c:1770
 msgid	"# Score limit before an article is marked hot\n"
 msgstr	""
 
-#: src/lang.c:1754
+#: src/lang.c:1774
 msgid	"Enter default score to select articles. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1755
+#: src/lang.c:1775
 msgid	"Default score to select articles   :"
 msgstr	""
 
-#: src/lang.c:1756
+#: src/lang.c:1776
 msgid	"# Default score to select articles\n"
 msgstr	""
 
-#: src/lang.c:1762
+#: src/lang.c:1782
 msgid	"Use slrnface to show ''X-Face:''s  :"
 msgstr	""
 
-#: src/lang.c:1763
+#: src/lang.c:1783
 msgid	"# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 	"# Only useful when running in an xterm.\n"
 msgstr	""
 
-#: src/lang.c:1771
+#: src/lang.c:1791
 msgid	"Use ANSI color                     :"
 msgstr	"Use ANSI colour                    :"
 
-#: src/lang.c:1772
+#: src/lang.c:1792
 msgid	"# If ON using ANSI-color\n"
 msgstr	"# If ON using ANSI-colour\n"
 
-#: src/lang.c:1777
+#: src/lang.c:1797
 msgid	"Standard foreground color          :"
 msgstr	"Standard foreground colour         :"
 
-#: src/lang.c:1778
+#: src/lang.c:1798
 msgid	"# Standard foreground color\n"
 msgstr	"# Standard foreground colour\n"
 
-#: src/lang.c:1783
+#: src/lang.c:1803
 msgid	"Standard background color          :"
 msgstr	"Standard background colour         :"
 
-#: src/lang.c:1784
+#: src/lang.c:1804
 msgid	"# Standard-Background-Color\n"
 msgstr	"# Standard-Background-Colour\n"
 
-#: src/lang.c:1789
+#: src/lang.c:1809
 msgid	"Color for inverse text (background):"
 msgstr	"Colour for inverse text (bg)       :"
 
-#: src/lang.c:1790
+#: src/lang.c:1810
 msgid	"# Color of background for inverse text\n"
 msgstr	"# Colour of background for inverse text\n"
 
-#: src/lang.c:1795
+#: src/lang.c:1815
 msgid	"Color for inverse text (foreground):"
 msgstr	"Colour for inverse text (fg)       :"
 
-#: src/lang.c:1796
+#: src/lang.c:1816
 msgid	"# Color of foreground for inverse text\n"
 msgstr	"# Colour of foreground for inverse text\n"
 
-#: src/lang.c:1801
+#: src/lang.c:1821
 msgid	"Color of text lines                :"
 msgstr	"Colour of text lines               :"
 
-#: src/lang.c:1802
+#: src/lang.c:1822
 msgid	"# Color of text-lines\n"
 msgstr	"# Colour of text-lines\n"
 
-#: src/lang.c:1807
+#: src/lang.c:1827
 msgid	"Color of mini help menu            :"
 msgstr	"Colour of mini help menu           :"
 
-#: src/lang.c:1808
+#: src/lang.c:1828
 msgid	"# Color of mini help menu\n"
 msgstr	"# Colour of mini help menu\n"
 
-#: src/lang.c:1813
+#: src/lang.c:1833
 msgid	"Color of help text                 :"
 msgstr	"Colour of help text                :"
 
-#: src/lang.c:1814
+#: src/lang.c:1834
 msgid	"# Color of help pages\n"
 msgstr	"# Colour of help pages\n"
 
-#: src/lang.c:1819
+#: src/lang.c:1839
 msgid	"Color of status messages           :"
 msgstr	"Colour of status messages          :"
 
-#: src/lang.c:1820
+#: src/lang.c:1840
 msgid	"# Color of messages in last line\n"
 msgstr	"# Colour of messages in last line\n"
 
-#: src/lang.c:1825
+#: src/lang.c:1845
 msgid	"Color of quoted lines              :"
 msgstr	"Colour of quoted lines             :"
 
-#: src/lang.c:1826
+#: src/lang.c:1846
 msgid	"# Color of quote-lines\n"
 msgstr	"# Colour of quote-lines\n"
 
-#: src/lang.c:1831
+#: src/lang.c:1851
 msgid	"Color of twice quoted line         :"
 msgstr	"Colour of twice quoted line        :"
 
-#: src/lang.c:1832
+#: src/lang.c:1852
 msgid	"# Color of twice quoted lines\n"
 msgstr	"# Colour of twice quoted lines\n"
 
-#: src/lang.c:1837
+#: src/lang.c:1857
 msgid	"Color of =>3 times quoted line     :"
 msgstr	"Colour of =>3 times quoted line    :"
 
-#: src/lang.c:1838
+#: src/lang.c:1858
 msgid	"# Color of >=3 times quoted lines\n"
 msgstr	"# Colour of >=3 times quoted lines\n"
 
-#: src/lang.c:1843
+#: src/lang.c:1863
 msgid	"Color of article header lines      :"
 msgstr	"Colour of article header lines     :"
 
-#: src/lang.c:1844
+#: src/lang.c:1864
 msgid	"# Color of header-lines\n"
 msgstr	"# Colour of header-lines\n"
 
-#: src/lang.c:1849
+#: src/lang.c:1869
 msgid	"Color of actual news header fields :"
 msgstr	"Colour of actual news header fields:"
 
-#: src/lang.c:1850
+#: src/lang.c:1870
 msgid	"# Color of actual news header fields\n"
 msgstr	"# Colour of actual news header fields\n"
 
-#: src/lang.c:1855
+#: src/lang.c:1875
 msgid	"Color of article subject lines     :"
 msgstr	"Colour of article subject lines    :"
 
-#: src/lang.c:1856
+#: src/lang.c:1876
 msgid	"# Color of article subject\n"
 msgstr	"# Colour of article subject\n"
 
-#: src/lang.c:1861
+#: src/lang.c:1881
 msgid	"Color of response counter          :"
 msgstr	"Colour of response counter         :"
 
-#: src/lang.c:1862
+#: src/lang.c:1882
 msgid	"# Color of response counter\n"
 msgstr	"# Colour of response counter\n"
 
-#: src/lang.c:1867
+#: src/lang.c:1887
 msgid	"Color of sender (From:)            :"
 msgstr	"Colour of sender (From:)           :"
 
-#: src/lang.c:1868
+#: src/lang.c:1888
 msgid	"# Color of sender (From:)\n"
 msgstr	"# Colour of sender (From:)\n"
 
-#: src/lang.c:1873
+#: src/lang.c:1893
 msgid	"Color of help/mail sign            :"
 msgstr	"Colour of help/mail sign           :"
 
-#: src/lang.c:1874
+#: src/lang.c:1894
 msgid	"# Color of Help/Mail-Sign\n"
 msgstr	"# Colour of Help/Mail-Sign\n"
 
-#: src/lang.c:1879
+#: src/lang.c:1899
 msgid	"Color of signatures                :"
 msgstr	"Colour of signatures               :"
 
-#: src/lang.c:1880
+#: src/lang.c:1900
 msgid	"# Color of signature\n"
 msgstr	"# Colour of signature\n"
 
-#: src/lang.c:1885
+#: src/lang.c:1905
+msgid	"Color of highlighted URLs          :"
+msgstr	"Colour of highlighted URLs         :"
+
+#: src/lang.c:1906
+msgid	"# Color of highlighted URLs\n"
+msgstr	"# Colour of highlighted URLs\n"
+
+#: src/lang.c:1911
 msgid	"Color of highlighting with *stars* :"
 msgstr	"Colour of highlighting with *stars*:"
 
-#: src/lang.c:1886
+#: src/lang.c:1912
 msgid	"# Color of word highlighting. There are four possibilities\n"
 	"# in articles: *stars*, /slashes/, _underdashes_ and -strokes-.\n"
 msgstr	"# Colour of word highlighting. There are four possibilities\n"
 	"# in articles: *stars*, /slashes/, _underdashes_ and -strokes-.\n"
 
-#: src/lang.c:1892
+#: src/lang.c:1918
 msgid	"Color of highlighting with _dash_  :"
 msgstr	"Colour of highlighting with _dash_ :"
 
-#: src/lang.c:1898
+#: src/lang.c:1924
 msgid	"Color of highlighting with /slash/ :"
 msgstr	"Colour of highlighting with /slash/:"
 
-#: src/lang.c:1904
+#: src/lang.c:1930
 msgid	"Color of highlighting with -stroke-:"
 msgstr	"Colour of highlighting w. -stroke- :"
 
-#: src/lang.c:1911
+#: src/lang.c:1937
 msgid	"Attr. of highlighting with *stars* :"
 msgstr	""
 
-#: src/lang.c:1912
+#: src/lang.c:1938
 msgid	"# Attribute of word highlighting on mono terminals.\n"
 	"# There are four possibilities in articles:\n"
 	"# *stars*, /slashes/, _underdashes_ and -strokes-.\n"
@@ -4934,93 +4980,93 @@ msgid	"# Attribute of word highlighting 
 	"# 3 - Reverse video, 4 - Blinking, 5 - Half bright, 6 - Bold\n"
 msgstr	""
 
-#: src/lang.c:1922
+#: src/lang.c:1948
 msgid	"Attr. of highlighting with _dash_  :"
 msgstr	""
 
-#: src/lang.c:1928
+#: src/lang.c:1954
 msgid	"Attr. of highlighting with /slash/ :"
 msgstr	""
 
-#: src/lang.c:1934
+#: src/lang.c:1960
 msgid	"Attr. of highlighting with -stroke-:"
 msgstr	""
 
-#: src/lang.c:1940
+#: src/lang.c:1966
 msgid	"URL highlighting in message body   :"
 msgstr	""
 
-#: src/lang.c:1941
+#: src/lang.c:1967
 msgid	"# Enable URL highlighting?\n"
 msgstr	""
 
-#: src/lang.c:1946
+#: src/lang.c:1972
 msgid	"Word highlighting in message body  :"
 msgstr	""
 
-#: src/lang.c:1947
+#: src/lang.c:1973
 msgid	"# Enable word highlighting?\n"
 msgstr	""
 
-#: src/lang.c:1952
+#: src/lang.c:1978
 msgid	"What to display instead of mark    :"
 msgstr	""
 
-#: src/lang.c:1953
+#: src/lang.c:1979
 msgid	"# Should the leading and ending stars and dashes also be displayed,\n"
 	"# even when they are highlighting marks?\n"
 	"# 0 - no    1 - yes, display mark    2 - print a space instead\n"
 msgstr	""
 
-#: src/lang.c:1959
+#: src/lang.c:1985
 msgid	"Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1960
+#: src/lang.c:1986
 msgid	"Page line wrap column              :"
 msgstr	""
 
-#: src/lang.c:1961
+#: src/lang.c:1987
 msgid	"# Wrap article lines at column\n"
 msgstr	""
 
-#: src/lang.c:1966
+#: src/lang.c:1992
 msgid	"Wrap around threads on next unread :"
 msgstr	""
 
-#: src/lang.c:1967
+#: src/lang.c:1993
 msgid	"# If ON wrap around threads on searching next unread article\n"
 msgstr	""
 
-#: src/lang.c:1971
+#: src/lang.c:1997
 msgid	"Enter default mail address (and fullname). <CR> sets."
 msgstr	""
 
-#: src/lang.c:1972
+#: src/lang.c:1998
 msgid	"Mail address (and fullname)        :"
 msgstr	""
 
-#: src/lang.c:1973
+#: src/lang.c:1999
 msgid	"# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr	""
 
-#: src/lang.c:1978
+#: src/lang.c:2004
 msgid	"Show empty Followup-To in editor   :"
 msgstr	""
 
-#: src/lang.c:1979
+#: src/lang.c:2005
 msgid	"# If ON show empty Followup-To header when editing an article\n"
 msgstr	""
 
-#: src/lang.c:1983
+#: src/lang.c:2009
 msgid	"Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1984
+#: src/lang.c:2010
 msgid	"Create signature from path/command :"
 msgstr	""
 
-#: src/lang.c:1985
+#: src/lang.c:2011
 msgid	"# Signature path (random sigs)/file to be used when posting/replying\n"
 	"# default_sigfile=file       appends file as signature\n"
 	"# default_sigfile=!command   executes external command to generate a "
@@ -5028,48 +5074,48 @@ msgid	"# Signature path (random sigs)/fi
 	"# default_sigfile=--none     don't append a signature\n"
 msgstr	""
 
-#: src/lang.c:1992
+#: src/lang.c:2018
 msgid	"Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1993
+#: src/lang.c:2019
 msgid	"Prepend signature with \"-- \"       :"
 msgstr	""
 
-#: src/lang.c:1994
+#: src/lang.c:2020
 msgid	"# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr	""
 
-#: src/lang.c:1998
+#: src/lang.c:2024
 msgid	"Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1999
+#: src/lang.c:2025
 msgid	"Add signature when reposting       :"
 msgstr	""
 
-#: src/lang.c:2000
+#: src/lang.c:2026
 msgid	"# If ON add signature to reposted articles\n"
 msgstr	""
 
-#: src/lang.c:2004
+#: src/lang.c:2030
 msgid	"Enter quotation marks, %s or %S for author's initials."
 msgstr	""
 
-#: src/lang.c:2005
+#: src/lang.c:2031
 msgid	"Characters used as quote-marks     :"
 msgstr	""
 
-#: src/lang.c:2006
+#: src/lang.c:2032
 msgid	"# Characters used in quoting to followups and replies.\n"
 	"# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n"
 msgstr	""
 
-#: src/lang.c:2012
+#: src/lang.c:2038
 msgid	"Quoting behavior                   :"
 msgstr	"Quoting behaviour                  :"
 
-#: src/lang.c:2013
+#: src/lang.c:2039
 msgid	"# How quoting should be handled when following up or replying.\n"
 	"# 0 = Nothing special\n"
 	"# 1 = Compress quotes\n"
@@ -5081,49 +5127,49 @@ msgid	"# How quoting should be handled w
 	"# 7 = Compress quotes, quote signatures, quote empty lines\n"
 msgstr	""
 
-#: src/lang.c:2025 src/lang.c:2033 src/lang.c:2039
+#: src/lang.c:2051 src/lang.c:2059 src/lang.c:2065
 msgid	"%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr	""
 
-#: src/lang.c:2026
+#: src/lang.c:2052
 msgid	"Quote line when following up       :"
 msgstr	""
 
-#: src/lang.c:2027
+#: src/lang.c:2053
 msgid	"# Format of quote line when mailing/posting/following-up an article\n"
 	"# %%A Address    %%D Date   %%F Addr+Name   %%G Groupname   %%M Message-ID\n"
 	"# %%N Full Name  %%C First Name   %%I Initials\n"
 msgstr	""
 
-#: src/lang.c:2034
+#: src/lang.c:2060
 msgid	"Quote line when cross-posting      :"
 msgstr	""
 
-#: src/lang.c:2040
+#: src/lang.c:2066
 msgid	"Quote line when mailing            :"
 msgstr	""
 
-#: src/lang.c:2045
+#: src/lang.c:2071
 msgid	"If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2046
+#: src/lang.c:2072
 msgid	"Insert 'User-Agent:'-header        :"
 msgstr	""
 
-#: src/lang.c:2047
+#: src/lang.c:2073
 msgid	"# If ON include advertising User-Agent: header\n"
 msgstr	""
 
-#: src/lang.c:2051
+#: src/lang.c:2077
 msgid	"Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr	""
 
-#: src/lang.c:2052
+#: src/lang.c:2078
 msgid	"MM_CHARSET                         :"
 msgstr	""
 
-#: src/lang.c:2053
+#: src/lang.c:2079
 msgid	"# Charset supported locally which is also used for MIME header and\n"
 	"# Content-Type header.\n"
 	"# If not set, the value of the environment variable MM_CHARSET is used.\n"
@@ -5132,27 +5178,27 @@ msgid	"# Charset supported locally which
 	"# mm_charset is considered not displayable and represented as '?'.\n"
 msgstr	""
 
-#: src/lang.c:2064
+#: src/lang.c:2090
 msgid	"MM_NETWORK_CHARSET                 :"
 msgstr	""
 
-#: src/lang.c:2065
+#: src/lang.c:2091
 msgid	"# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr	""
 
-#: src/lang.c:2071
+#: src/lang.c:2097
 msgid	"Mailbox format                     :"
 msgstr	""
 
-#: src/lang.c:2072
+#: src/lang.c:2098
 msgid	"# Format of the mailbox.\n"
 msgstr	""
 
-#: src/lang.c:2077
+#: src/lang.c:2103
 msgid	"MIME encoding in news messages     :"
 msgstr	""
 
-#: src/lang.c:2078
+#: src/lang.c:2104
 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"
@@ -5160,42 +5206,42 @@ msgid	"# MIME encoding (8bit, base64, qu
 	"# Russian charsets with a lot of 8bit characters.\n"
 msgstr	""
 
-#: src/lang.c:2086 src/lang.c:2107
+#: src/lang.c:2112 src/lang.c:2133
 msgid	"Don't change unless you know what you are doing. <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2087
+#: src/lang.c:2113
 msgid	"Use 8bit characters in news headers:"
 msgstr	""
 
-#: src/lang.c:2088
+#: src/lang.c:2114
 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:2095
+#: src/lang.c:2121
 msgid	"Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2096
+#: src/lang.c:2122
 msgid	"View post-processed files          :"
 msgstr	""
 
-#: src/lang.c:2097
+#: src/lang.c:2123
 msgid	"# If set, post processed files will be opened in a viewer\n"
 msgstr	""
 
-#: src/lang.c:2102
+#: src/lang.c:2128
 msgid	"MIME encoding in mail messages     :"
 msgstr	""
 
-#: src/lang.c:2108
+#: src/lang.c:2134
 msgid	"Use 8bit characters in mail headers:"
 msgstr	""
 
-#: src/lang.c:2109
+#: src/lang.c:2135
 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 "
@@ -5205,378 +5251,388 @@ msgid	"# If ON, 8bit characters in mail 
 	"# turn it ON unless you have some compelling reason.\n"
 msgstr	""
 
-#: src/lang.c:2119
+#: src/lang.c:2145
 msgid	"Strip blanks from ends of lines    :"
 msgstr	""
 
-#: src/lang.c:2120
+#: src/lang.c:2146
 msgid	"# If ON strip blanks from ends of lines for faster display on slow "
 	"terminals.\n"
 msgstr	""
 
-#: src/lang.c:2125
+#: src/lang.c:2151
 msgid	"If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2126
+#: src/lang.c:2152
 msgid	"Transliteration                    :"
 msgstr	""
 
-#: src/lang.c:2127
+#: src/lang.c:2153
 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:2134
+#: src/lang.c:2160
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2135
+#: src/lang.c:2161
 msgid	"Send you a cc automatically        :"
 msgstr	""
 
-#: src/lang.c:2136
+#: src/lang.c:2162
 msgid	"# If ON automatically put your name in the Cc: field when mailing an article\n"
 msgstr	""
 
-#: src/lang.c:2140
+#: src/lang.c:2166
 msgid	"Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2141
+#: src/lang.c:2167
 msgid	"Send you a blind cc automatically  :"
 msgstr	""
 
-#: src/lang.c:2142
+#: src/lang.c:2168
 msgid	"# If ON automatically put your name in the Bcc: field when mailing an "
 	"article\n"
 msgstr	""
 
-#: src/lang.c:2146
+#: src/lang.c:2172
 msgid	"Enter address elements about which you want to be warned. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2147
+#: src/lang.c:2173
 msgid	"Spamtrap warning address parts     :"
 msgstr	""
 
-#: src/lang.c:2148
+#: src/lang.c:2174
 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:2153
+#: src/lang.c:2179
 msgid	"Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2154
+#: src/lang.c:2180
 msgid	"No. of days a filter entry is valid:"
 msgstr	""
 
-#: src/lang.c:2155
+#: src/lang.c:2181
 msgid	"# Number of days a short term filter will be active\n"
 msgstr	""
 
-#: src/lang.c:2159
+#: src/lang.c:2185
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2160
+#: src/lang.c:2186
 msgid	"Add posted articles to filter      :"
 msgstr	""
 
-#: src/lang.c:2161
+#: src/lang.c:2187
 msgid	"# If ON add posted articles which start a new thread to filter for\n"
 	"# highlighting follow-ups\n"
 msgstr	""
 
-#: src/lang.c:2165
+#: src/lang.c:2191
 msgid	"The directory where articles/threads are to be saved in mailbox format."
 msgstr	""
 
-#: src/lang.c:2166
+#: src/lang.c:2192
 msgid	"Mail directory                     :"
 msgstr	""
 
-#: src/lang.c:2167
+#: src/lang.c:2193
 msgid	"# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr	""
 
-#: src/lang.c:2172
+#: src/lang.c:2198
 msgid	"Save articles in batch mode (-S)   :"
 msgstr	""
 
-#: src/lang.c:2173
+#: src/lang.c:2199
 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:2178
+#: src/lang.c:2204
 msgid	"The directory where you want articles/threads saved."
 msgstr	""
 
-#: src/lang.c:2179
+#: src/lang.c:2205
 msgid	"Directory to save arts/threads in  :"
 msgstr	""
 
-#: src/lang.c:2180
+#: src/lang.c:2206
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	""
 
-#: src/lang.c:2184
+#: src/lang.c:2210
 msgid	"Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2185
+#: src/lang.c:2211
 msgid	"Use Archive-name: header for save  :"
 msgstr	""
 
-#: src/lang.c:2186
+#: src/lang.c:2212
 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:2191
+#: src/lang.c:2217
 msgid	"Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 	"cancels."
 msgstr	""
 
-#: src/lang.c:2192
+#: src/lang.c:2218
 msgid	"Mark saved articles/threads as read:"
 msgstr	""
 
-#: src/lang.c:2193
+#: src/lang.c:2219
 msgid	"# If ON mark articles that are saved as read\n"
 msgstr	""
 
-#: src/lang.c:2197
+#: src/lang.c:2223
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	""
 
-#: src/lang.c:2198
+#: src/lang.c:2224
 msgid	"Post process saved articles        :"
 msgstr	""
 
-#: src/lang.c:2199
+#: src/lang.c:2225
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# 0=(no) 1=(yes) 2=(extract shell archives (shar) only)\n"
 msgstr	""
 
-#: src/lang.c:2205
+#: src/lang.c:2231
 msgid	"Process only unread articles       :"
 msgstr	""
 
-#: src/lang.c:2206
+#: src/lang.c:2232
 msgid	"# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n"
 msgstr	""
 
-#: src/lang.c:2211
+#: src/lang.c:2237
 msgid	"Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2212
+#: src/lang.c:2238
 msgid	"Print all headers when printing    :"
 msgstr	""
 
-#: src/lang.c:2213
+#: src/lang.c:2239
 msgid	"# If ON print all of article header otherwise just the important lines\n"
 msgstr	""
 
-#: src/lang.c:2217
+#: src/lang.c:2243
 msgid	"The printer program with options that is to be used to print articles/threads."
 msgstr	""
 
-#: src/lang.c:2218
+#: src/lang.c:2244
 msgid	"Printer program with options       :"
 msgstr	""
 
-#: src/lang.c:2219
+#: src/lang.c:2245
 msgid	"# Print program with parameters used to print articles/threads\n"
 msgstr	""
 
-#: src/lang.c:2225
+#: src/lang.c:2251
 msgid	"Force redraw after certain commands:"
 msgstr	""
 
-#: src/lang.c:2226
+#: src/lang.c:2252
 msgid	"# If ON a screen redraw will always be done after certain external commands\n"
 msgstr	""
 
-#: src/lang.c:2230
+#: src/lang.c:2256
 msgid	"Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2231
+#: src/lang.c:2257
 msgid	"Start editor with line offset      :"
 msgstr	""
 
-#: src/lang.c:2232
+#: src/lang.c:2258
 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:2237
+#: src/lang.c:2263
 msgid	"Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr	""
 
-#: src/lang.c:2238
+#: src/lang.c:2264
 msgid	"Invocation of your editor          :"
 msgstr	""
 
-#: src/lang.c:2239
+#: src/lang.c:2265
 msgid	"# Format of editor line including parameters\n"
 	"# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr	""
 
-#: src/lang.c:2244
+#: src/lang.c:2270
 msgid	"Enter name and options for external-inews, --internal for internal inews"
 msgstr	""
 
-#: src/lang.c:2245
+#: src/lang.c:2271
 msgid	"External inews                     :"
 msgstr	""
 
-#: src/lang.c:2246
+#: src/lang.c:2272
 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:2250
+#: src/lang.c:2276
 msgid	"Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr	""
 
-#: src/lang.c:2251
+#: src/lang.c:2277
 msgid	"Invocation of your mail command    :"
 msgstr	""
 
-#: src/lang.c:2252
+#: src/lang.c:2278
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
 	"# ie. to use elm as your mailer:    elm -s \"%%S\" \"%%T\" < %%F\n"
 	"# ie. elm interactive          :    elm -i %%F -s \"%%S\" \"%%T\"\n"
 msgstr	""
 
-#: src/lang.c:2260
+#: src/lang.c:2286
 msgid	"Use interactive mail reader        :"
 msgstr	""
 
-#: src/lang.c:2261
+#: src/lang.c:2287
 msgid	"# Interactive mailreader:\n"
 	"# 0 = no interactive mailreader\n"
 	"# 1 = use interactive mailreader with headers in file\n"
 	"# 2 = use interactive mailreader without headers in file\n"
 msgstr	""
 
-#: src/lang.c:2269
+#: src/lang.c:2295
 msgid	"Remove ~/.article after posting    :"
 msgstr	""
 
-#: src/lang.c:2270
+#: src/lang.c:2296
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	""
 
-#: src/lang.c:2274
+#: src/lang.c:2300
 msgid	"Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr	""
 
-#: src/lang.c:2275
+#: src/lang.c:2301
 msgid	"Filename for posted articles       :"
 msgstr	""
 
-#: src/lang.c:2276
+#: src/lang.c:2302
 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:2281
+#: src/lang.c:2307
 msgid	"Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2282
+#: src/lang.c:2308
 msgid	"Keep failed arts in ~/dead.articles:"
 msgstr	""
 
-#: src/lang.c:2283
+#: src/lang.c:2309
 msgid	"# If ON keep all failed postings in ~/dead.articles\n"
 msgstr	""
 
-#: src/lang.c:2287
+#: src/lang.c:2313
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	""
 
-#: src/lang.c:2288
+#: src/lang.c:2314
 msgid	"No unsubscribed groups in newsrc   :"
 msgstr	""
 
-#: src/lang.c:2289
+#: src/lang.c:2315
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	""
 
-#: src/lang.c:2294
+#: src/lang.c:2320
 msgid	"Remove bogus groups from newsrc    :"
 msgstr	""
 
-#: src/lang.c:2295
+#: src/lang.c:2321
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# 0=(Keep) 1=(Remove) 2=(Highlight with D on selection screen).\n"
 msgstr	""
 
-#: src/lang.c:2299
+#: src/lang.c:2325
 msgid	"Enter number of seconds until active file will be reread. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2300
+#: src/lang.c:2326
 msgid	"Interval in secs to reread active  :"
 msgstr	""
 
-#: src/lang.c:2301
+#: src/lang.c:2327
 msgid	"# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr	""
 
-#: src/lang.c:2306
+#: src/lang.c:2332
 msgid	"Reconnect to server automatically  :"
 msgstr	""
 
-#: src/lang.c:2307
+#: src/lang.c:2333
 msgid	"# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr	""
 
-#: src/lang.c:2311
+#: src/lang.c:2337
 msgid	"Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2312
+#: src/lang.c:2338
 msgid	"Cache NNTP overview files locally  :"
 msgstr	""
 
-#: src/lang.c:2313
+#: src/lang.c:2339
 msgid	"# If ON, create local copies of NNTP overview files.\n"
 msgstr	""
 
-#: src/lang.c:2317
+#: src/lang.c:2343
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2318
+#: src/lang.c:2344
 msgid	"Format string for display of dates :"
 msgstr	""
 
-#: src/lang.c:2319
+#: src/lang.c:2345
 msgid	"# Format string for date representation\n"
 msgstr	""
 
-#: src/main.c:590
+#: src/lang.c:2351
+msgid	"Unicode normalization form         :"
+msgstr	"Unicode normalisation form         :"
+
+#: src/lang.c:2352
+msgid	"# Unicode normalization form\n"
+	"# 0 = None, 1 = NFKC, 2 = NFKD, 3 = NFC, 4 = NFD\n"
+msgstr	"# Unicode normalisation form\n"
+	"# 0 = None, 1 = NFKC, 2 = NFKD, 3 = NFC, 4 = NFD\n"
+
+#: src/main.c:586
 #, c-format
 msgid	"Version: %s release %s (\"%s\") %s %s"
 msgstr	""
 
-#: src/main.c:593
+#: src/main.c:589
 #, c-format
 msgid	"Version: %s release %s (\"%s\")"
 msgstr	""
 
-#: src/newsrc.c:432
+#: src/newsrc.c:433
 msgid	"Unreachable?\n"
 msgstr	""
 
@@ -5605,20 +5661,9 @@ msgstr	""
 msgid	"couldn't expand %s\n"
 msgstr	""
 
-#: src/post.c:1747
-#, c-format
-msgid	"%s is bogus"
-msgstr	""
-
-#: src/post.c:1934
+#: src/post.c:1939
 #, c-format
 msgid	"Posting: %.*s ..."
-msgstr	""
-
-#. TODO: -> lang.c
-#: src/post.c:4037
-#, c-format
-msgid	"Rereading %s..."
 msgstr	""
 
 #. fp
Binary files tin-1.7.2/po/et.gmo and tin-1.7.3/po/et.gmo differ
diff -Nurp tin-1.7.2/po/et.po tin-1.7.3/po/et.po
--- tin-1.7.2/po/et.po	Sun Oct 19 00:57:51 2003
+++ tin-1.7.3/po/et.po	Sat Dec 20 18:45:14 2003
@@ -3,224 +3,226 @@
 # Toomas Soome <Toomas.Soome@microlink.ee>, 2003.
 #
 msgid	""
-msgstr	"Project-Id-Version: tin 1.7.1\n"
-	"POT-Creation-Date: 2003-10-19 00:55+0200\n"
-	"PO-Revision-Date: 2003-07-15 11:07+0300\n"
+msgstr	"Project-Id-Version: tin 1.7.2\n"
+	"POT-Creation-Date: 2003-12-20 18:42+0100\n"
+	"PO-Revision-Date: 2003-01-07 18:45+0300\n"
 	"Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
 	"Language-Team: Estonian <et@li.org>\n"
 	"MIME-Version: 1.0\n"
 	"Content-Type: text/plain; charset=ISO-8859-15\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-# TRANSLATION MISSING
-#: src/art.c:1423
+#: src/art.c:1425
 #, c-format
 msgid	"%d Bad overview record (%d fields) '%s'"
-msgstr	""
+msgstr	"%d Vigane overview kirje (%d välja) '%s'"
 
-#: src/attrib.c:580
+#: src/attrib.c:585
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	"# Ärge seda kommentaari blokki muutke\n"
 	"#\n"
 
-#: src/attrib.c:581
+#: src/attrib.c:586
 msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	"#  scope=SÕNE (n. alt.*,!alt.bin*) [kohustuslik]\n"
 
-#: src/attrib.c:582
+#: src/attrib.c:587
 msgid	"#  maildir=STRING (ie. ~/Mail)\n"
 msgstr	"#  maildir=SÕNE (n. ~/Mail)\n"
 
-#: src/attrib.c:583
+#: src/attrib.c:588
 msgid	"#  savedir=STRING (ie. ~user/News)\n"
 msgstr	"#  savedir=SÕNE (n. ~user/News)\n"
 
-#: src/attrib.c:584
+#: src/attrib.c:589
 msgid	"#  savefile=STRING (ie. =linux)\n"
 msgstr	"#  savefile=SÕNE (n. =linux)\n"
 
-#: src/attrib.c:585
+#: src/attrib.c:590
 msgid	"#  sigfile=STRING (ie. $var/sig)\n"
 msgstr	"#  sigfile=SÕNE (n. $var/sig)\n"
 
-#: src/attrib.c:586
+#: src/attrib.c:591
 msgid	"#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr	"#  organization=SÕNE (kui algab sümboliga '/', loe failist)\n"
 
-#: src/attrib.c:587
+#: src/attrib.c:592
 msgid	"#  followup_to=STRING\n"
 msgstr	"#  followup_to=SÕNE\n"
 
-#: src/attrib.c:588
+#: src/attrib.c:593
 msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
 msgstr	"#  mailing_list=SÕNE (n. majordomo@example.org)\n"
 
-#: src/attrib.c:589
+#: src/attrib.c:594
 msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
 msgstr	"#  x_headers=SÕNE (n. ~/.tin/extra-headers)\n"
 
-#: src/attrib.c:590
+#: src/attrib.c:595
 msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
 msgstr	"#  x_body=SÕNE (n. ~/.tin/extra-body-text)\n"
 
-#: src/attrib.c:591
+#: src/attrib.c:596
 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:592
+#: src/attrib.c:597
 msgid	"#  news_quote_format=STRING\n"
 msgstr	"#  news_quote_format=SÕNE\n"
 
-#: src/attrib.c:593
+#: src/attrib.c:598
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	"#  quote_chars=SÕNE (%%s, %%S annavad initsiaalid)\n"
 
-#: src/attrib.c:594
+#: src/attrib.c:599
 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:596
+#: src/attrib.c:601
 msgid	"#  ispell=STRING\n"
 msgstr	"#  ispell=SÕNE\n"
 
-#: src/attrib.c:598
+#: src/attrib.c:603
 msgid	"#  auto_select=ON/OFF\n"
 msgstr	"#  auto_select=ON/OFF\n"
 
-#: src/attrib.c:599
+#: src/attrib.c:604
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	"#  auto_save=ON/OFF\n"
 
-#: src/attrib.c:600
+#: src/attrib.c:605
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	"#  batch_save=ON/OFF\n"
 
-#: src/attrib.c:601
+#: src/attrib.c:606
 msgid	"#  delete_tmp_files=ON/OFF\n"
 msgstr	"#  delete_tmp_files=ON/OFF\n"
 
-#: src/attrib.c:602
+#: src/attrib.c:607
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	"#  show_only_unread=ON/OFF\n"
 
-#: src/attrib.c:603
+#: src/attrib.c:608
 msgid	"#  thread_arts=NUM"
 msgstr	"#  thread_arts=NUM"
 
-#: src/attrib.c:610
+#: src/attrib.c:615
 msgid	"#  show_author=NUM\n"
 msgstr	"#  show_author=NUM\n"
 
-#: src/attrib.c:616
+#: src/attrib.c:621
+msgid	"#  show_info=NUM\n"
+msgstr	"#  show_info=NUM\n"
+
+#: src/attrib.c:627
 msgid	"#  sort_art_type=NUM\n"
 msgstr	"#  sort_art_type=NUM\n"
 
-#: src/attrib.c:634
+#: src/attrib.c:645
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	"#  sort_threads_type=NUM\n"
 
-#: src/attrib.c:639
+#: src/attrib.c:650
 msgid	"#  post_proc_type=NUM\n"
 msgstr	"#  post_proc_type=NUM\n"
 
-#: src/attrib.c:644
+#: src/attrib.c:655
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	"#  quick_kill_scope=SÕNE (n. talk.*)\n"
 
-#: src/attrib.c:645
+#: src/attrib.c:656
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	"#  quick_kill_expire=ON/OFF\n"
 
-#: src/attrib.c:646
+#: src/attrib.c:657
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	"#  quick_kill_case=ON/OFF\n"
 
-#: src/attrib.c:647
+#: src/attrib.c:658
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	"#  quick_kill_header=NUM\n"
 
-#: src/attrib.c:648 src/attrib.c:655
+#: src/attrib.c:659 src/attrib.c:666
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	"#    0=teema (tõstutundlik) 1=teema (tõstutundetu)\n"
 
-#: src/attrib.c:649 src/attrib.c:656
+#: src/attrib.c:660 src/attrib.c:667
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	"#    2=saatja (tõstutundlik) 3=saatja (tõstutundetu)\n"
 
-#: src/attrib.c:650 src/attrib.c:657
+#: src/attrib.c:661 src/attrib.c:668
 msgid	"#    4=msgid 5=lines\n"
 msgstr	"#    4=msgid 5=read\n"
 
-#: src/attrib.c:651
+#: src/attrib.c:662
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	"#  quick_select_scope=SÕNE\n"
 
-#: src/attrib.c:652
+#: src/attrib.c:663
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	"#  quick_select_expire=ON/OFF\n"
 
-#: src/attrib.c:653
+#: src/attrib.c:664
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	"#  quick_select_case=ON/OFF\n"
 
-#: src/attrib.c:654
+#: src/attrib.c:665
 msgid	"#  quick_select_header=NUM\n"
 msgstr	"#  quick_select_header=NUM\n"
 
-#: src/attrib.c:658
+#: src/attrib.c:669
 msgid	"#  x_comment_to=ON/OFF\n"
 msgstr	"#  x_comment_to=ON/OFF\n"
 
-# TRANSLATION MISSING
-#: src/attrib.c:659
+#: src/attrib.c:670
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
-msgstr	""
+msgstr	"#  fcc=SÕNE (n. =postkast)\n"
 
 #
-#: src/attrib.c:660
+#: src/attrib.c:671
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	"#  tex2iso_conv=ON/OFF\n"
 
-#: src/attrib.c:662
+#: src/attrib.c:673
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	"#  mm_network_charset=toetatud_koodileht"
 
-#: src/attrib.c:669
+#: src/attrib.c:680
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	"#  undeclared_charset=SÕNE (vaikimisi on US-ASCII)\n"
 
-#: src/attrib.c:671
+#: src/attrib.c:682
 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:672
+#: src/attrib.c:683
 msgid	"# entries first followed by group specific entries.\n"
 	"#\n"
 msgstr	"# ning seejärel konkreetsemad, grupi spetsiifilised, reeglid.\n"
 	"#\n"
 
-#: src/attrib.c:673
+#: src/attrib.c:684
 msgid	"############################################################################\n"
 	"\n"
 msgstr	"############################################################################\n"
 	"\n"
 
-#: src/attrib.c:679
+#: src/attrib.c:690
 msgid	"# include extra headers\n"
 msgstr	"# lisa täiendavaid päiseid\n"
 
-#: src/attrib.c:687
+#: src/attrib.c:698
 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:691
+#: src/attrib.c:702
 msgid	"# in *binaries* do full post processing, remove tmp files\n"
 msgstr	"# *binaarfailidel* sea täielik järeltöötlemine, kustuta ajutised failid\n"
 
-#: src/attrib.c:692
+#: src/attrib.c:703
 msgid	"# and set Followup-To: poster\n"
 msgstr	"# ja sea Followup-To: postitaja\n"
 
@@ -231,7 +233,7 @@ msgstr	"(tundmatu)"
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:607 src/filter.c:615
+#: src/filter.c:608 src/filter.c:616
 msgid	"Removed from the previous rule: "
 msgstr	"Eelmisest reeglist eemaldatud: "
 
@@ -583,7 +585,7 @@ msgstr	"Loon salvestatud gruppidele acti
 msgid	"Creating newsrc file...\n"
 msgstr	"Loon newsrc faili...\n"
 
-#: src/lang.c:127 src/lang.c:1122
+#: src/lang.c:127 src/lang.c:1126
 msgid	"Default"
 msgstr	"Vaikimisi"
 
@@ -889,7 +891,7 @@ msgstr	"\n"
 msgid	"Insecure permissions of %s (%o)"
 msgstr	"Ebaturvalised õigused failil %s (%o)"
 
-#: src/lang.c:199 src/newsrc.c:409
+#: src/lang.c:199 src/newsrc.c:410
 #, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	"Vigane vastus GROUP käsule, %s"
@@ -1015,7 +1017,17 @@ msgstr	"\n"
 msgid	"  %s\t Answers will be directed to you by mail.\n"
 msgstr	"  %s\t Vastused saadetakse teile kirjaga.\n"
 
+# TRANSLATION MISSING
 #: src/lang.c:227
+msgid	"-- forwarded message --\n"
+msgstr	""
+
+# TRANSLATION MISSING
+#: src/lang.c:228
+msgid	"-- end of forwarded message --\n"
+msgstr	""
+
+#: src/lang.c:229
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
 	"placed\n"
@@ -1071,727 +1083,735 @@ msgstr	"# Vorming:\n"
 	"#   time=NUMBER       Mittekohustuslik. Reegli aegumine time_t väärtusena\n"
 	"#\n"
 
-#: src/lang.c:248
+#: src/lang.c:250
 #, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	"Reegli kaal        (vaikimisi=%d): "
 
-#: src/lang.c:249
+#: src/lang.c:251
 #, 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:250
+#: src/lang.c:252
 msgid	"Full"
 msgstr	"Täis"
 
-#: src/lang.c:251
+#: src/lang.c:253
 msgid	"Comment (optional)  : "
 msgstr	"Kommentaar (vaba)   : "
 
-#: src/lang.c:252
+#: src/lang.c:254
 msgid	"Apply pattern to    : "
 msgstr	"Rakenda mustrit     : "
 
-#: src/lang.c:253
+#: src/lang.c:255
 msgid	"From: line (ignore case)      "
 msgstr	"From: rida (tõstutundetu)   "
 
-#: src/lang.c:254
+#: src/lang.c:256
 msgid	"From: line (case sensitive)   "
 msgstr	"From: rida (tõstutundlik)   "
 
-#: src/lang.c:256
+#: src/lang.c:258
 #, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	"%s%s: Tundmatu host.\n"
 
-#: src/lang.c:257
+#: src/lang.c:259
 msgid	"global "
 msgstr	"globaalset "
 
-#: src/lang.c:258
+#: src/lang.c:260
 #, c-format
 msgid	"Please use %.100s instead"
 msgstr	"Kasutage selle asemel palun %.100s"
 
-#: src/lang.c:259
+#: src/lang.c:261
+#, c-format
+msgid	"%s is bogus"
+msgstr	"gruppi %s pole"
+
+#: src/lang.c:262
 #, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	"Grupp %s on modereeritav. Jätkan?"
 
-#: src/lang.c:260
+#: src/lang.c:263
 msgid	"groups"
 msgstr	"gruppi"
 
-#: src/lang.c:261
+#: src/lang.c:264
+#, c-format
+msgid	"Rereading %s..."
+msgstr	"Loen %s uuesti..."
+
+#: src/lang.c:265
 msgid	"Top Level Commands"
 msgstr	"Ülemise taseme käsud"
 
-#: src/lang.c:262
+#: src/lang.c:266
 msgid	"Group Selection"
 msgstr	"Grupi valik"
 
-#: src/lang.c:263
+#: src/lang.c:267
 msgid	"group"
 msgstr	"grupp"
 
-# TRANSLATION TOO LONG
-#: src/lang.c:265
+#: src/lang.c:269
 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> rea lisamiseks või jätkamiseks, kui rida "
-	"on tühi."
+msgstr	"Üks või enam kommentaari rida. <CR> lisamiseks või tühja rea jätkamiseks."
 
-#: src/lang.c:266
+#: src/lang.c:270
 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:267
+#: src/lang.c:271
 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:268
+#: src/lang.c:272
 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:269
+#: src/lang.c:273
 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:270
+#: src/lang.c:274
 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:271
+#: src/lang.c:275
 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:272
+#: src/lang.c:276
 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:273
+#: src/lang.c:277
 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:274
+#: src/lang.c:278
 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:275
+#: src/lang.c:279
 msgid	"kill an article via a menu"
 msgstr	"artiklite surmamise menüü"
 
-#: src/lang.c:276
+#: src/lang.c:280
 msgid	"auto-select (hot) an article via a menu"
 msgstr	"(kuuma) artikli automaatse valiku menüü"
 
-#: src/lang.c:277
+#: src/lang.c:281
 msgid	"Browse URLs in article"
 msgstr	"Brausi artiklis olevaid URLe"
 
-#: src/lang.c:278
+#: src/lang.c:282
 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:279
+#: src/lang.c:283
 msgid	"cancel (delete) current article; must have been posted by you"
 msgstr	"katkesta (kustuta) jooksev artikkel; peab olema teie postitus"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid	"edit article (mail-groups only)"
 msgstr	"toimeta artiklit (ainult kirjade-grupid)"
 
-#: src/lang.c:281
+#: src/lang.c:285
 msgid	"display first article in current thread"
 msgstr	"näita jooksva teema esimest artiklit"
 
-#: src/lang.c:282
+#: src/lang.c:286
 msgid	"display first page of article"
 msgstr	"näita artikli esimest lehekülge"
 
-#: src/lang.c:283
+#: src/lang.c:287
 msgid	"post followup to current article"
 msgstr	"postita vastus jooksvale artiklile"
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid	"post followup (don't copy text) to current article"
 msgstr	"postita vastus (kopeeri teksti) jooksvale artiklile"
 
-#: src/lang.c:285
+#: src/lang.c:289
 msgid	"post followup to current article quoting complete headers"
 msgstr	"postita vastus jooksvale artiklile, tsiteerides kõiki päiseid"
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid	"display last article in current thread"
 msgstr	"näita jooksva teema viimast artiklit"
 
-#: src/lang.c:287
+#: src/lang.c:291
 msgid	"display last page of article"
 msgstr	"näita artikli viimast lehekülge"
 
-#: src/lang.c:288
+#: src/lang.c:292
 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:289
+#: src/lang.c:293
 msgid	"display next article"
 msgstr	"näita järgmist artiklit"
 
-#: src/lang.c:290
+#: src/lang.c:294
 msgid	"display first article in next thread"
 msgstr	"näita järgmise teema esimest artiklit"
 
-#: src/lang.c:291 src/lang.c:298 src/lang.c:357 src/lang.c:358
+#: src/lang.c:295 src/lang.c:302 src/lang.c:361 src/lang.c:362
 msgid	"display next unread article"
 msgstr	"näita järgmist lugemata artiklit"
 
-#: src/lang.c:292
+#: src/lang.c:296
 msgid	"go to the article that this one followed up"
 msgstr	"mine artiklile, millele see artikkel järgneb"
 
-#: src/lang.c:293
+#: src/lang.c:297
 msgid	"display previous article"
 msgstr	"näita eelmist artiklit"
 
-#: src/lang.c:294 src/lang.c:360
+#: src/lang.c:298 src/lang.c:364
 msgid	"display previous unread article"
 msgstr	"näita eelmist lugemata artiklit"
 
-#: src/lang.c:295
+#: src/lang.c:299
 msgid	"quickly kill an article using defaults"
 msgstr	"surma kiiresti artikkel, kasutades vaikeväärtusi"
 
-#: src/lang.c:296
+#: src/lang.c:300
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	"vali kiiresti vaikeväärtusi kasutades (kuumad) artiklid"
 
-#: src/lang.c:297
+#: src/lang.c:301
 msgid	"return to group selection level"
 msgstr	"tagasi gruppide valikusse"
 
-#: src/lang.c:299
+#: src/lang.c:303
 msgid	"reply through mail to author"
 msgstr	"vasta autorile kirjaga"
 
-#: src/lang.c:300
+#: src/lang.c:304
 msgid	"reply through mail (don't copy text) to author"
 msgstr	"vasta autorile kirjaga (teksti ei kopeerita)"
 
-#: src/lang.c:301
+#: src/lang.c:305
 msgid	"reply through mail to author quoting complete headers"
 msgstr	"vasta autorile kirjaga, tsiteerides kõiki päiseid"
 
-#: src/lang.c:302 src/lang.c:362
+#: src/lang.c:306 src/lang.c:366
 msgid	"repost chosen article to another group"
 msgstr	"postita valitud artikkel teise gruppi"
 
-#: src/lang.c:303
+#: src/lang.c:307
 msgid	"search backwards within this article"
 msgstr	"otsi artiklis tagaspidi"
 
-#: src/lang.c:304
+#: src/lang.c:308
 msgid	"search forwards within this article"
 msgstr	"otsi artiklis edaspidi"
 
-#: src/lang.c:305
+#: src/lang.c:309
 msgid	"show article in raw-mode (including all headers)"
 msgstr	"näita kogu artiklit (koos päistega)"
 
-#: src/lang.c:306
+#: src/lang.c:310
 msgid	"skip next block of included text"
 msgstr	"järgmisele tekstiblokile"
 
-#: src/lang.c:307
+#: src/lang.c:311
 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:308
+#: src/lang.c:312
 msgid	"toggle word highlighting on/off"
 msgstr	"lülita sõnade märkimine sisse/välja"
 
-#: src/lang.c:309
+#: src/lang.c:313
 msgid	"toggle ROT-13 (basic decode) for current article"
 msgstr	"lülita jooksva artikli ROT-13 (lihtne dekodeering) kodeering"
 
-#: src/lang.c:310
+#: src/lang.c:314
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	"lülita tabulaatori laius 4 <-> 8"
 
-#: src/lang.c:311
+#: src/lang.c:315
 msgid	"toggle german TeX style decoding for current article"
 msgstr	"lülita jooksva artikli saksa TeX stiilis dekodeerimine"
 
-#: src/lang.c:312
+#: src/lang.c:316
 msgid	"toggle display of uuencoded sections"
 msgstr	"lülita uuenkodeeritud osade näitamine"
 
-#: src/lang.c:313
+#: src/lang.c:317
 msgid	"View/save multimedia attachments"
 msgstr	"Vaata/salvesta multimeedia lisasid"
 
-#: src/lang.c:314
+#: src/lang.c:318
 #, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	"saatke vearaport või kommentaar aadressile %s"
 
-#: src/lang.c:315
+#: src/lang.c:319
 msgid	"choose range of articles to be affected by next command"
 msgstr	"valige järgmise käsuga töödeldavate artiklite vahemik"
 
-#: src/lang.c:316
+#: src/lang.c:320
 msgid	"escape from command prompt"
 msgstr	"pääs käsuviibalt"
 
-#: src/lang.c:317
+#: src/lang.c:321
 msgid	"get help"
 msgstr	"anna abiinfot"
 
-#: src/lang.c:318
+#: src/lang.c:322
 msgid	"display last article viewed"
 msgstr	"näita viimasena vaadatud artiklit"
 
-#: src/lang.c:319
+#: src/lang.c:323
 msgid	"down one line"
 msgstr	"üks rida alla"
 
-#: src/lang.c:320
+#: src/lang.c:324
 msgid	"up one line"
 msgstr	"üles üks rida"
 
-#: src/lang.c:321
+#: src/lang.c:325
 msgid	"go to article chosen by Message-ID"
 msgstr	"liigu Message-ID poolt määratud artiklile"
 
-#: src/lang.c:322
+#: src/lang.c:326
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	"saada artikkel/teema/kuum/muster/märgitud kellelegi"
 
-#: src/lang.c:323
+#: src/lang.c:327
 msgid	"menu of configurable options"
 msgstr	"seadete menüü"
 
-#: src/lang.c:324
+#: src/lang.c:328
 msgid	"down one page"
 msgstr	"alla üks lehekülg"
 
-#: src/lang.c:325
+#: src/lang.c:329
 msgid	"up one page"
 msgstr	"üles üks lehekülg"
 
-#: src/lang.c:326
+#: src/lang.c:330
 msgid	"post (write) article to current group"
 msgstr	"postita (kirjuta) artikkel jooksvasse gruppi"
 
-#: src/lang.c:327
+#: src/lang.c:331
 msgid	"post postponed articles"
 msgstr	"postita ootel artiklid"
 
-#: src/lang.c:328
+#: src/lang.c:332
 msgid	"list articles posted by you (from posted file)"
 msgstr	"näita teie poolt postitatud artikleid (failist posted)"
 
-#: src/lang.c:329
+#: src/lang.c:333
 msgid	"return to previous menu"
 msgstr	"tagasi eelmisse menüüsse"
 
-#: src/lang.c:330
+#: src/lang.c:334
 msgid	"quit tin immediately"
 msgstr	"välju viivitamata tinist"
 
-#: src/lang.c:331
+#: src/lang.c:335
 msgid	"redraw page"
 msgstr	"värskenda lehekülge"
 
-#: src/lang.c:332
+#: src/lang.c:336
 msgid	"save article/thread/hot/pattern/tagged articles to file"
 msgstr	"salvesta artikkel/teema/kuum/muster/märgitud faili"
 
-#: src/lang.c:333
+#: src/lang.c:337
 msgid	"save marked articles automatically without user prompts"
 msgstr	"salvesta märgitud artiklid automaatselt, kasutajalt küsimata"
 
-#: src/lang.c:334
+#: src/lang.c:338
 msgid	"search for articles by author backwards"
 msgstr	"otsi artikleid autori järgi tagaspidi"
 
-#: src/lang.c:335
+#: src/lang.c:339
 msgid	"search for articles by author forwards"
 msgstr	"otsi artikleid autori järgi edaspidi"
 
-#: src/lang.c:336
+#: src/lang.c:340
 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:337
+#: src/lang.c:341
 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:338
+#: src/lang.c:342
 msgid	"search for articles by Subject line backwards"
 msgstr	"otsi artiklit teema järgi tagaspidi"
 
-#: src/lang.c:339
+#: src/lang.c:343
 msgid	"search for articles by Subject line forwards"
 msgstr	"otsi artiklit teema järgi edaspidi"
 
-#: src/lang.c:340
+#: src/lang.c:344
 msgid	"repeat last search"
 msgstr	"korda eelmist otsingut"
 
-#: src/lang.c:341
+#: src/lang.c:345
 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:342
+#: src/lang.c:346
 msgid	"toggle info message in last line (subject/description)"
 msgstr	"lülita viimase rea infoteadet (teema/kirjeldus)"
 
-#: src/lang.c:343
+#: src/lang.c:347
 msgid	"toggle inverse video"
 msgstr	"lülita pööratud video"
 
-#: src/lang.c:344
+#: src/lang.c:348
 msgid	"toggle mini help menu display"
 msgstr	"abiinfo lülita ekraanil miniabi menüüd"
 
-#: src/lang.c:345
+#: src/lang.c:349
 msgid	"show version information"
 msgstr	"esita info versioonist"
 
-#: src/lang.c:346
+#: src/lang.c:350
 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:347
+#: src/lang.c:351
 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:348
+#: src/lang.c:352
 msgid	"choose first thread in list"
 msgstr	"vali loendist esimene teema"
 
-#: src/lang.c:349 src/lang.c:380
+#: src/lang.c:353 src/lang.c:384
 msgid	"choose group by name"
 msgstr	"vali grupp nime järgi"
 
-#: src/lang.c:350
+#: src/lang.c:354
 msgid	"choose last thread in list"
 msgstr	"vali loendist viimane teema"
 
-#: src/lang.c:351
+#: src/lang.c:355
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	"artiklite loend jooksvas teemas (esita teema alam-menüü)"
 
-#: src/lang.c:352
+#: src/lang.c:356
 msgid	"mark article as unread"
 msgstr	"märgi artikkel loetuks"
 
-#: src/lang.c:353
+#: src/lang.c:357
 msgid	"mark current thread or tagged threads as read"
 msgstr	"märgi jooksev teema või märgitud teemad loetuks"
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid	"mark thread as unread"
 msgstr	"märgi teema loetuks"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid	"toggle display of all/selected articles"
 msgstr	"lülita ekraanile kõik/valitud artiklid"
 
-#: src/lang.c:356
+#: src/lang.c:360
 msgid	"display next group"
 msgstr	"näita järgmist gruppi"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid	"display previous group"
 msgstr	"näita eelmist gruppi"
 
-#: src/lang.c:361 src/lang.c:409
+#: src/lang.c:365 src/lang.c:413
 msgid	"read chosen article"
 msgstr	"loe valitud artiklit"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid	"toggle all selections (all articles)"
 msgstr	"lülita kõiki valikuid (kõiki artikleid)"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid	"select group (make \"hot\")"
 msgstr	"vali grupp (muuda \"kuumaks\")"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid	"select thread"
 msgstr	"vali teema"
 
-#: src/lang.c:366
+#: 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:367
+#: src/lang.c:371
 msgid	"select threads that match user specified pattern"
 msgstr	"vali kasutaja määratud mustrile vastavad teemad"
 
-#: src/lang.c:368
+#: 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:369
+#: src/lang.c:373
 msgid	"0 - 9\t  choose thread by number"
 msgstr	"0 - 9\t  vali numbri järgi teema"
 
-#: src/lang.c:370
+#: 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:371
+#: src/lang.c:375
 msgid	"toggle display of all/unread articles"
 msgstr	"lülita ekraanil kõik/lugemata artiklid"
 
-#: src/lang.c:372 src/lang.c:410
+#: src/lang.c:376 src/lang.c:414
 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:373
+#: src/lang.c:377
 msgid	"toggle selection of thread"
 msgstr	"lülita teema valikut"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid	"cycle through threading options available"
 msgstr	"erinevad teemade käsitlemise võtmed"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid	"undo all selections (all articles)"
 msgstr	"ennista kõik valikud (kõik artiklid)"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid	"untag all tagged threads"
 msgstr	"eemalda märgistus kõikidelt märgitud teemadelt"
 
-#: src/lang.c:377
+#: src/lang.c:381
 msgid	"mark all articles in group as read"
 msgstr	"märgi valitud grupis kõik artiklid loetuks"
 
-#: src/lang.c:378
+#: src/lang.c:382
 msgid	"mark all articles in group as read and move to next unread group"
 msgstr	"märgi grupis kõik artiklid loetuks ja liigu järgmisele lugemata grupile"
 
-#: src/lang.c:379
+#: src/lang.c:383
 msgid	"choose first group in list"
 msgstr	"vali loetelust esimene grupp"
 
-#: src/lang.c:381
+#: src/lang.c:385
 msgid	"0 - 9\t  choose group by number"
 msgstr	"0 - 9\t  vali grupp numbri järgi"
 
-#: src/lang.c:382
+#: src/lang.c:386
 msgid	"choose range of groups to be affected by next command"
 msgstr	"järgmise käsuga töödeldavate gruppide vahemik"
 
-#: src/lang.c:383
+#: src/lang.c:387
 msgid	"choose last group in list"
 msgstr	"vali loetelust viimane grupp"
 
-#: src/lang.c:384
+#: src/lang.c:388
 msgid	"mark all articles in chosen group unread"
 msgstr	"märgi valitud grupis kõik artiklid mitte-loetuks"
 
-#: src/lang.c:385
+#: src/lang.c:389
 msgid	"move chosen group within list"
 msgstr	"liiguta valitud gruppi loendis"
 
-#: src/lang.c:386
+#: src/lang.c:390
 msgid	"choose next group with unread news"
 msgstr	"vali järgmine lugemata artiklitega grupp"
 
-#: src/lang.c:387 src/lang.c:1169
+#: src/lang.c:391 src/lang.c:1173
 msgid	"quit"
 msgstr	"välju"
 
-#: src/lang.c:388
+#: src/lang.c:392
 msgid	"quit without saving configuration changes"
 msgstr	"välju muudetud seadeid salvestamata"
 
-#: src/lang.c:389
+#: src/lang.c:393
 msgid	"read chosen group"
 msgstr	"loe valitud gruppi"
 
-#: src/lang.c:390
+#: src/lang.c:394
 msgid	"reset .newsrc (all available articles in groups marked unread)"
 msgstr	".newsrc faili algväärtustamine (kõik artiklid mitte-loetuks)"
 
-#: src/lang.c:391
+#: src/lang.c:395
 msgid	"search backwards for a group name"
 msgstr	"otsi grupi nime tagaspidi"
 
-#: src/lang.c:392
+#: src/lang.c:396
 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:393
+#: src/lang.c:397
 msgid	"search forwards for a group name"
 msgstr	"otsi grupi nime edaspidi"
 
-#: src/lang.c:394
+#: src/lang.c:398
 msgid	"subscribe to chosen group"
 msgstr	"telli valitud grupp"
 
-#: src/lang.c:395
+#: src/lang.c:399
 msgid	"subscribe to groups that match pattern"
 msgstr	"telli mustrile vastavaid gruppe"
 
-#: src/lang.c:396
+#: src/lang.c:400
 msgid	"reread active file to check for any new news"
 msgstr	"kontrolli aktiivsete gruppide faili - kas on uusi artikleid"
 
-#: src/lang.c:397
+#: src/lang.c:401
 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:398
+#: src/lang.c:402
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	"vali ekraanile kõik/lugemata tellitud grupid"
 
-#: src/lang.c:399
+#: src/lang.c:403
 msgid	"unsubscribe from chosen group"
 msgstr	"loobu valitud grupist"
 
-#: src/lang.c:400
+#: src/lang.c:404
 msgid	"unsubscribe from groups that match pattern"
 msgstr	"loobu mustrile vastavatest gruppidest"
 
-#: src/lang.c:401
+#: src/lang.c:405
 msgid	"sort the list of groups"
 msgstr	"järjesta gruppide loend"
 
-#: src/lang.c:402
+#: src/lang.c:406
 msgid	"toggle display to show all/subscribed groups"
 msgstr	"näita ekraanil kõiki/tellitud gruppe"
 
-#: src/lang.c:403
+#: src/lang.c:407
 msgid	"0 - 9\t  choose article by number"
 msgstr	"0 - 9\t  vali numbri järgi artikkel"
 
-#: src/lang.c:404
+#: src/lang.c:408
 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:405
+#: src/lang.c:409
 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:406
+#: src/lang.c:410
 msgid	"choose first article in list"
 msgstr	"vali loendis esimene artikkel"
 
-#: src/lang.c:407
+#: src/lang.c:411
 msgid	"choose last article in list"
 msgstr	"vali loendis viimane artikkel"
 
-#: src/lang.c:408
+#: src/lang.c:412
 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:415
 msgid	"Display properties\n"
 	"------------------"
 msgstr	"Ekraani omadused\n"
 	"----------------"
 
-#: src/lang.c:412
+#: src/lang.c:416
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	"Muud\n"
 	"----"
 
-#: src/lang.c:413
+#: src/lang.c:417
 msgid	"Moving around\n"
 	"-------------"
 msgstr	"Liikumine\n"
 	"---------"
 
-#: src/lang.c:414
+#: src/lang.c:418
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	"Grupi/teema/artikli operatsioonid\n"
 	"---------------------------------"
 
-#: src/lang.c:416
+#: src/lang.c:420
 msgid	"Group Level Commands"
 msgstr	"Grupitaseme käsud"
 
-#: src/lang.c:417
+#: src/lang.c:421
 msgid	"Kill filter added"
 msgstr	"Surmamise filter lisatud"
 
-#: src/lang.c:418
+#: src/lang.c:422
 msgid	"Auto-selection filter added"
 msgstr	"Automaatse valiku filter lisatud"
 
-#: src/lang.c:419
+#: src/lang.c:423
 msgid	"All parts tagged"
 msgstr	"Kõik osad on märgitud"
 
-#: src/lang.c:420
+#: src/lang.c:424
 msgid	"Storing article for later posting"
 msgstr	"Salvestan artikli hiljem postitamiseks"
 
-#: src/lang.c:421
+#: src/lang.c:425
 msgid	"Please enter a valid character"
 msgstr	"Palun sisestage lubatud sümbol"
 
-#: src/lang.c:422
+#: src/lang.c:426
 #, c-format
 msgid	"Missing part #%d"
 msgstr	"Puudub osa nr: %d"
 
-#: src/lang.c:423
+#: src/lang.c:427
 msgid	"*** No postponed articles ***"
 msgstr	"*** Postitusootel artikleid pole ***"
 
-#: src/lang.c:424
+#: src/lang.c:428
 msgid	"Not a multi-part message"
 msgstr	"Ei ole mitmeosaline teade"
 
-#: src/lang.c:425
+#: src/lang.c:429
 msgid	"You are not subscribed to this group"
 msgstr	"Te pole seda gruppi tellinud"
 
-#: src/lang.c:426
+#: src/lang.c:430
 msgid	"No previous expression"
 msgstr	"Eelmist avaldist pole"
 
-#: src/lang.c:427
+#: src/lang.c:431
 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:429
+#: src/lang.c:433
 #, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	"%d ootel %s, kasutamiseks ^O...\n"
 
-#: src/lang.c:430
+#: src/lang.c:434
 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:432
+#: src/lang.c:436
 #, 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:433
+#: src/lang.c:437
 msgid	"TeX2Iso encoded article"
 msgstr	"TeX2Iso kodeeritud artikkel"
 
-#: src/lang.c:434
+#: src/lang.c:438
 msgid	"incomplete "
 msgstr	"mittetäielik "
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:436
+#: src/lang.c:440
 #, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -1849,129 +1869,129 @@ 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:452
+#: src/lang.c:456
 #, c-format
 msgid	"Invalid  From: %s  line. Read the INSTALL file again."
 msgstr	"Vigane From: %s rida. Lugege uuesti faili INSTALL."
 
-#: src/lang.c:453
+#: src/lang.c:457
 #, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	"Vigane Sender:-päis %s"
 
-#: src/lang.c:454
+#: src/lang.c:458
 msgid	"Inverse video disabled"
 msgstr	"Pööratud video keelatud"
 
-#: src/lang.c:455
+#: src/lang.c:459
 msgid	"Inverse video enabled"
 msgstr	"Pööratud video lubatud"
 
-#: src/lang.c:457
+#: src/lang.c:461
 #, c-format
 msgid	"Missing definition for %s\n"
 msgstr	"%s definitsioon puudub\n"
 
-#: src/lang.c:458
+#: src/lang.c:462
 #, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	"Vigane klahvi definitsioon '%s'\n"
 
-#: src/lang.c:459
+#: src/lang.c:463
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	"Vigane klahvi nimi '%s'\n"
 
-#: src/lang.c:460
+#: src/lang.c:464
 #, c-format
 msgid	"Key '%s' is defined for both %s%s and %s%s\n"
 msgstr	"Klahv '%s' on defineeritud nii %s%s, kui ka %s%s jaoks\n"
 
-#: src/lang.c:461
+#: src/lang.c:465
 #, c-format
-msgid	"Kill From:     [%-*.*s] (y/n): "
-msgstr	"Surmake From:  [%-*.*s] (j/e): "
+msgid	"Kill From:     [%s] (y/n): "
+msgstr	"Surmake From:  [%s] (j/e): "
 
-#: src/lang.c:462
+#: src/lang.c:466
 msgid	"Kill Lines: (</>num): "
 msgstr	"Surmake read: (</>num) : "
 
-#: src/lang.c:463
+#: src/lang.c:467
 msgid	"Kill Article Menu"
 msgstr	"Artuklite surmamise menüü"
 
-#: src/lang.c:464
+#: src/lang.c:468
 #, c-format
-msgid	"Kill Msg-Id:   [%-*.*s] (f/l/o/n): "
-msgstr	"Surmake Msg-Id:[%-*.*s] (f/l/o/n): "
+msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
+msgstr	"Surmake Msg-Id:[%s] (f/l/o/n): "
 
-#: src/lang.c:465
+#: src/lang.c:469
 msgid	"Kill pattern scope  : "
 msgstr	"Surmamise mustri ulatus: "
 
-#: src/lang.c:466
+#: src/lang.c:470
 #, c-format
-msgid	"Kill Subject:  [%-*.*s] (y/n): "
-msgstr	"Surmake teema: [%-*.*s] (j/e): "
+msgid	"Kill Subject:  [%s] (y/n): "
+msgstr	"Surmake teema: [%s] (j/e): "
 
-#: src/lang.c:467
+#: src/lang.c:471
 msgid	"Kill text pattern   : "
 msgstr	"Surmake tekst mustriga : "
 
-#: src/lang.c:468
+#: src/lang.c:472
 msgid	"Kill time in days   : "
 msgstr	"Surmamise aeg päevades : "
 
-#: src/lang.c:470
+#: src/lang.c:474
 msgid	"Last"
 msgstr	"Viimane"
 
-#: src/lang.c:471
+#: src/lang.c:475
 msgid	"-- Last response --"
 msgstr	"-- Viimane vastus --"
 
-#: src/lang.c:472
+#: src/lang.c:476
 #, c-format
 msgid	"Lines %s  "
 msgstr	"Rida: %s  "
 
-#: src/lang.c:474
+#: src/lang.c:478
 msgid	"Message-ID: line              "
 msgstr	"Message-ID: rida            "
 
-#: src/lang.c:476
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	"postkasti "
 
-#: src/lang.c:477
+#: src/lang.c:481
 #, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	"Saada artiklid aadressil [%.*s]> "
 
-#: src/lang.c:478
+#: src/lang.c:482
 #, c-format
 msgid	"Mailing log to %s\n"
 msgstr	"Saadan logi aadressil %s\n"
 
-#: src/lang.c:479
+#: src/lang.c:483
 msgid	"Mail bug report..."
 msgstr	"Saada vearaport..."
 
-#: src/lang.c:480
+#: src/lang.c:484
 #, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	"Saadan VEARAPORTI aadressil %s?"
 
-#: src/lang.c:481
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	"Saadetud"
 
-#: src/lang.c:482
+#: src/lang.c:486
 #, c-format
 msgid	"Mailing to %s..."
 msgstr	"Saadan aadressil %s..."
 
-#: src/lang.c:483
+#: 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"
@@ -1981,283 +2001,283 @@ msgstr	"# [Saada/Salvesta] fail \"active
 	"# Neljas väli on baaskataloog (näiteks ~/Mail või ~/News)\n"
 	"#\n"
 
-#: src/lang.c:486
+#: src/lang.c:490
 #, c-format
 msgid	"%s marked as unread"
 msgstr	"%s märgitud loetuks"
 
-#: src/lang.c:487
+#: 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:488
+#: src/lang.c:492
 #, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	"Märgin kõik artiklid loetuks%s?"
 
-#: src/lang.c:489
+#: 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:490
+#: src/lang.c:494
 #, c-format
 msgid	"Mark group %.*s as read?"
 msgstr	"Märgin grupi %.*s loetuks?"
 
-#: src/lang.c:491
+#: src/lang.c:495
 #, c-format
 msgid	"Mark thread as read%s?"
 msgstr	"Märgin teema loetuks%s?"
 
-#: src/lang.c:492
+#: 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:493
+#: src/lang.c:497
 #, c-format
 msgid	"Matching %s groups..."
 msgstr	"Otsin %s gruppe..."
 
-#: src/lang.c:494 src/lang.c:498
+#: 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:495
+#: 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:496
+#: 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:497
+#: 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:499
+#: 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:500
+#: 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:501
+#: 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:502
+#: 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:503
+#: 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:504
+#: 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:505
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	"--Veel--"
 
-#: src/lang.c:506
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	"Tõstan %s..."
 
-#: src/lang.c:508
+#: src/lang.c:512
 msgid	", name: "
 msgstr	", nimi: "
 
-#: src/lang.c:509
+#: src/lang.c:513
 #, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	"Mine gruppi [%s]> "
 
-#: src/lang.c:510
+#: src/lang.c:514
 msgid	"newsgroups"
 msgstr	"gruppidesse"
 
-#: src/lang.c:511
+#: src/lang.c:515
 #, c-format
 msgid	"Position %s in group list (1,2,..,$) [%d]> "
 msgstr	"Positsioon %s gruppide nimistus (1,2,..,$) [%d]> "
 
-#: src/lang.c:512
+#: src/lang.c:516
 msgid	"newsgroup"
 msgstr	"gruppi"
 
-#: src/lang.c:513
+#: src/lang.c:517
 msgid	"Try and save newsrc file again?"
 msgstr	"Proovin newsrc faili uuesti salvestada?"
 
-#: src/lang.c:514
+#: src/lang.c:518
 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:515
+#: src/lang.c:519
 msgid	"newsrc file saved successfully.\n"
 msgstr	"newsrc fail on edukalt salvestatud.\n"
 
-#: src/lang.c:516
+#: src/lang.c:520
 msgid	"-- Next response --"
 msgstr	"- Järgmine vastus -"
 
-#: src/lang.c:517
+#: src/lang.c:521
 #, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"Serverile %s vastavat NNTP autoriseerimise parooli pole"
 
-#: src/lang.c:518
+#: src/lang.c:522
 msgid	"No  "
 msgstr	"Ei  "
 
-#: src/lang.c:519
+#: src/lang.c:523
 msgid	"*** No articles ***"
 msgstr	"*** Artikleid pole ***"
 
-#: src/lang.c:520
+#: src/lang.c:524
 msgid	"No articles have been posted"
 msgstr	"Postitatud artikleid pole"
 
-#: src/lang.c:521
+#: src/lang.c:525
 msgid	"*** No description ***"
 msgstr	"*** Kirjeldus puudub ***"
 
-#: src/lang.c:522
+#: src/lang.c:526
 msgid	"No filename"
 msgstr	"Failil pole nime"
 
-#: src/lang.c:523
+#: src/lang.c:527
 msgid	"No group"
 msgstr	"Gruppi pole"
 
-#: src/lang.c:524
+#: src/lang.c:528
 msgid	"*** No groups ***"
 msgstr	"*** Gruppe pole ***"
 
-#: src/lang.c:525
+#: src/lang.c:529
 msgid	"No more groups to read"
 msgstr	"Lugemiseks rohkem gruppe pole"
 
-#: src/lang.c:526
+#: src/lang.c:530
 msgid	"No last message"
 msgstr	"Viimast teadet pole"
 
-#: src/lang.c:527
+#: src/lang.c:531
 msgid	"No mail address"
 msgstr	"E-posti aadressi pole"
 
-#: src/lang.c:528
+#: src/lang.c:532
 msgid	"No articles marked for saving"
 msgstr	"Salvestamiseks märgitud artikleid pole"
 
-#: src/lang.c:529
+#: src/lang.c:533
 msgid	"No match"
 msgstr	"Ei leia"
 
-#: src/lang.c:530
+#: src/lang.c:534
 msgid	"No more groups"
 msgstr	"Rohkem gruppe pole"
 
-#: src/lang.c:531
+#: src/lang.c:535
 msgid	"No newsgroups"
 msgstr	"Gruppe pole"
 
-#: src/lang.c:532
+#: src/lang.c:536
 msgid	"No next unread article"
 msgstr	"Järgmist lugemata artiklit pole"
 
-#: src/lang.c:533
+#: src/lang.c:537
 msgid	"No previous group"
 msgstr	"Eelmist gruppi pole"
 
-#: src/lang.c:534
+#: src/lang.c:538
 msgid	"No previous unread article"
 msgstr	"Eelmist lugemata artiklit pole"
 
-#: src/lang.c:535
+#: src/lang.c:539
 msgid	"No responses"
 msgstr	"Vastuseid pole"
 
-#: src/lang.c:536
+#: src/lang.c:540
 msgid	"No responses to list in current thread"
 msgstr	"Jooksvas teemas pole vastuseid"
 
-#: src/lang.c:537
+#: src/lang.c:541
 msgid	"No search string"
 msgstr	"Otsingusõne puudub"
 
-#: src/lang.c:538
+#: src/lang.c:542
 msgid	"No subject"
 msgstr	"Teema puudub"
 
-#: src/lang.c:539
+#: src/lang.c:543
 #, 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:540
+#: src/lang.c:544
 #, 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:541
+#: src/lang.c:545
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	"%s: Terminalil peab olema ekraanipuhastamise (cl) omadus\n"
 
-#: src/lang.c:542
+#: src/lang.c:546
 #, c-format
 msgid	"%s: Terminal must have cursor motion (cm)\n"
 msgstr	"%s: Terminal peab toetama kursori liigutamist (cm)\n"
 
-#: src/lang.c:543
+#: src/lang.c:547
 #, 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:544
+#: src/lang.c:548
 #, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	"%s/%s jaoks puudub vaatur\n"
 
-#: src/lang.c:545
+#: src/lang.c:549
 msgid	"Newsgroup does not exist on this server"
 msgstr	"Gruppi pole sellel serveril"
 
-#: src/lang.c:546
+#: src/lang.c:550
 #, c-format
 msgid	"Group %s not found in active file"
 msgstr	"Gruppi %s pole aktiivsete gruppide failis"
 
-#: src/lang.c:547
+#: src/lang.c:551
 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:548
+#: src/lang.c:552
 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:549
+#: src/lang.c:553
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2284,40 +2304,40 @@ msgstr	"# NNTP-server -> newsrc teisendu
 	"#   news.ka.nu    /tmp/nrc-nu      kanu    nu\n"
 	"#\n"
 
-#: src/lang.c:556
+#: src/lang.c:560
 msgid	"Only"
 msgstr	"Ainult"
 
-#: src/lang.c:557
+#: src/lang.c:561
 #, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	"Võti pole lubatud. Kasutage kompileerimisel %s."
 
-#: src/lang.c:558
+#: src/lang.c:562
 msgid	"Options Menu"
 msgstr	"Omaduste menüü"
 
-#: src/lang.c:561
+#: src/lang.c:565
 #, c-format
 msgid	"Error in regex: %s at pos. %d '%s'"
 msgstr	"Viga regulaaravaldises: %s positsioonil %d '%s'"
 
-#: src/lang.c:562
+#: src/lang.c:566
 #, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	"Viga regulaaravaldises: pcre sisemine viga %d"
 
-#: src/lang.c:563
+#: src/lang.c:567
 #, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	"Viga regulaaravaldises: uurimiseks - pcre sisemine viga %s"
 
-#: src/lang.c:564
+#: src/lang.c:568
 msgid	"Post a followup..."
 msgstr	"Postita vastus..."
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:566
+#: src/lang.c:570
 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"
@@ -2325,269 +2345,269 @@ 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:569
+#: src/lang.c:573
 msgid	"Posted articles history"
 msgstr	"Postitatud artiklite ajalugu"
 
-#: src/lang.c:570
+#: src/lang.c:574
 #, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	"Postita gruppidesse [%s]> "
 
-#: src/lang.c:571
+#: src/lang.c:575
 msgid	"-- post processing started --"
 msgstr	"-- lõpptöötlus alustas --"
 
-#: src/lang.c:572
+#: src/lang.c:576
 msgid	"-- post processing completed --"
 msgstr	"-- lõpptöötlus lõpetas --"
 
-#: src/lang.c:573
+#: src/lang.c:577
 #, c-format
 msgid	"Post subject [%s]> "
 msgstr	"Postituse teema [%s]> "
 
-#: src/lang.c:574
+#: src/lang.c:578
 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:575
+#: src/lang.c:579
 msgid	"Posting article..."
 msgstr	"Postitan artiklit..."
 
-#: src/lang.c:576
+#: src/lang.c:580
 msgid	"Post postponed articles [%%.*s]? (%s/%s/%s/%s/%s): "
 msgstr	"Postitan ootel artiklid [%%.*s]? (%s/%s/%s/%s/%s): "
 
-#: src/lang.c:577
+#: src/lang.c:581
 #, c-format
 msgid	"Hot %s"
 msgstr	"Kuum %s"
 
-#: src/lang.c:578
+#: src/lang.c:582
 #, c-format
 msgid	"Tagged %s"
 msgstr	"Märgitud %s"
 
-#: src/lang.c:579
+#: src/lang.c:583
 #, c-format
 msgid	"Untagged %s"
 msgstr	"Märkimata %s"
 
-#: src/lang.c:580
+#: src/lang.c:584
 msgid	"Processing mail messages marked for deletion."
 msgstr	"Töötlen kirju, mis on kustutamiseks märgitud."
 
-#: src/lang.c:581
+#: src/lang.c:585
 msgid	"Processing saved articles marked for deletion."
 msgstr	"Töötlen salvestatud ja kustutamiseks märgitud artikleid."
 
-#: src/lang.c:582
+#: src/lang.c:586
 #, 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:583
+#: src/lang.c:587
 msgid	"Article unchanged, abort mailing?"
 msgstr	"Artiklit ei ole muudetud, katkestan saatmise?"
 
-#: src/lang.c:584
+#: src/lang.c:588
 #, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	"Kas soovite näha postitamisootel artikleid (%d)?"
 
-#: src/lang.c:586
+#: src/lang.c:590
 msgid	"Add quick kill filter?"
 msgstr	"Lisan kiirsurmamise filtri?"
 
-#: src/lang.c:587
+#: src/lang.c:591
 msgid	"Add quick selection filter?"
 msgstr	"Lisan kiirvaliku filtri?"
 
-#: src/lang.c:588
+#: src/lang.c:592
 msgid	"Do you really want to quit?"
 msgstr	"Kas te tõesti soovite väljuda?"
 
-#: src/lang.c:589
+#: src/lang.c:593
 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:590
+#: src/lang.c:594
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	"Teil on siin grupis märgitud artikleid - väljun siiski?"
 
-#: src/lang.c:591
+#: src/lang.c:595
 #, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	"%s=välju, %s=toimeta, %s=ootele: "
 
-#: src/lang.c:592
+#: src/lang.c:596
 #, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	"%s=välju %s=toimeta %s=salvesta surmamise kirjeldus: "
 
-#: src/lang.c:593
+#: src/lang.c:597
 #, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	"%s=välju %s=toimeta %s=salvesta valiku kirjeldus: "
 
-#: src/lang.c:594
+#: src/lang.c:598
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	"Kas te tõesti soovite seadeid salvestamata väljuda?"
 
-#: src/lang.c:597
+#: src/lang.c:601
 msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	"Vigane vahemik - lubatud on '0-9.$' näiteks 1-$"
 
-#: src/lang.c:598
+#: src/lang.c:602
 msgid	"Do you want to abort this operation?"
 msgstr	"Kas soovite seda operatsiooni katkestada?"
 
-#: src/lang.c:599
+#: src/lang.c:603
 msgid	"Do you want to exit tin immediately?"
 msgstr	"Kas soovite viivitamata tinist väljuda?"
 
-#: src/lang.c:600
+#: src/lang.c:604
 msgid	"Read response> "
 msgstr	"Loen vastust> "
 
-#: src/lang.c:601
+#: src/lang.c:605
 msgid	"Reading ('q' to quit)..."
 msgstr	"Loen ('q' katkestamiseks)..."
 
-#: src/lang.c:602
+#: src/lang.c:606
 #, c-format
 msgid	"Reading %sarticles..."
 msgstr	"Loen %sartikleid..."
 
-#: src/lang.c:603
+#: src/lang.c:607
 #, c-format
 msgid	"Reading %sattributes file...\n"
 msgstr	"Loen %satribuutide faili...\n"
 
-#: src/lang.c:604
+#: src/lang.c:608
 #, c-format
 msgid	"Reading %sconfig file...\n"
 msgstr	"Loen %sseadete faili...\n"
 
-#: src/lang.c:605
+#: src/lang.c:609
 msgid	"Reading filter file...\n"
 msgstr	"Loen filtrite faili...\n"
 
-#: src/lang.c:606
+#: src/lang.c:610
 #, c-format
 msgid	"Reading %s groups..."
 msgstr	"Loen %s gruppe..."
 
-#: src/lang.c:607
+#: src/lang.c:611
 msgid	"Reading input history file...\n"
 msgstr	"Loen sisendi ajalugu...\n"
 
-#: src/lang.c:608
+#: src/lang.c:612
 msgid	"Reading keymap file...\n"
 msgstr	"Loen klahvitabeli faili...\n"
 
-#: src/lang.c:609
+#: src/lang.c:613
 msgid	"Reading groups from active file... "
 msgstr	"Loen aktiivseid gruppe... "
 
-#: src/lang.c:610
+#: src/lang.c:614
 msgid	"Reading groups from newsrc file... "
 msgstr	"Loen gruppe newsrc failist... "
 
-#: src/lang.c:611
+#: src/lang.c:615
 msgid	"Reading newsgroups file... "
 msgstr	"Loen gruppide kirjeldusi... "
 
-#: src/lang.c:612
+#: src/lang.c:616
 msgid	"Reading newsrc file..."
 msgstr	"Loen newsrc faili..."
 
-#: src/lang.c:613
+#: src/lang.c:617
 #, c-format
 msgid	"Bogus group %s removed."
 msgstr	"Vigane grupp %s on eemaldatud."
 
-#: src/lang.c:614
+#: src/lang.c:618
 #, c-format
 msgid	"Error: rename %s to %s"
 msgstr	"Viga: %s uus nimi %s"
 
-#: src/lang.c:615
+#: src/lang.c:619
 msgid	"Reply to author..."
 msgstr	"Vastan autorile..."
 
-#: src/lang.c:616
+#: src/lang.c:620
 msgid	"Repost"
 msgstr	"Uuesti postitus"
 
-#: src/lang.c:617
+#: src/lang.c:621
 msgid	"Reposting article..."
 msgstr	"Postitan artikli uuesti..."
 
-#: src/lang.c:618
+#: src/lang.c:622
 #, c-format
 msgid	"Repost article(s) to group(s) [%s]> "
 msgstr	"Postitan artikli(d) gruppi(desse) [%s]> "
 
-#: src/lang.c:619
+#: src/lang.c:623
 msgid	"Reset newsrc?"
 msgstr	"Algväärtustan newsrc?"
 
-#: src/lang.c:620
+#: src/lang.c:624
 msgid	"Responses have been directed to the following newsgroups"
 msgstr	"Vastused edastatakse järgnevatesse gruppidesse"
 
-#: src/lang.c:621
+#: src/lang.c:625
 #, c-format
 msgid	"Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr	"Vastused edastatakse postitajale. %s=kirjuta, %s=postita, %s=välju: "
 
-#: src/lang.c:622
+#: src/lang.c:626
 #, c-format
 msgid	"RespNo %4d of %4d"
 msgstr	"Vastus %4d : %4d"
 
-#: src/lang.c:623
+#: src/lang.c:627
 msgid	"Press <RETURN> to continue..."
 msgstr	"Jätkamiseks vajutage <RETURN>..."
 
-#: src/lang.c:625
+#: src/lang.c:629
 #, c-format
-msgid	"Select From    [%-*.*s] (y/n): "
-msgstr	"Valige From    [%-*.*s] (j/e): "
+msgid	"Select From    [%s] (y/n): "
+msgstr	"Valige From    [%s] (j/e): "
 
-#: src/lang.c:626
+#: src/lang.c:630
 msgid	"Select Lines: (</>num): "
 msgstr	"Valige read:  (</>num): "
 
-#: src/lang.c:627
+#: src/lang.c:631
 msgid	"Auto-select Article Menu"
 msgstr	"Automaatselt valitavate artiklite menüü"
 
-#: src/lang.c:628
+#: src/lang.c:632
 #, c-format
-msgid	"Select Msg-Id  [%-*.*s] (f/l/o/n): "
-msgstr	"Valige Msg-Id  [%-*.*s] (f/l/o/n): "
+msgid	"Select Msg-Id  [%s] (f/l/o/n): "
+msgstr	"Valige Msg-Id  [%s] (f/l/o/n): "
 
-#: src/lang.c:629
+#: src/lang.c:633
 msgid	"Select pattern scope: "
 msgstr	"Valige mustri ulatus: "
 
-#: src/lang.c:630
+#: src/lang.c:634
 #, c-format
-msgid	"Select Subject [%-*.*s] (y/n): "
-msgstr	"Valige teema   [%-*.*s] (j/e): "
+msgid	"Select Subject [%s] (y/n): "
+msgstr	"Valige teema   [%s] (j/e): "
 
-#: src/lang.c:631
+#: src/lang.c:635
 msgid	"Select text pattern : "
 msgstr	"Valige tekstimuster : "
 
-#: src/lang.c:632
+#: src/lang.c:636
 msgid	"Select time in days   : "
 msgstr	"Valige aeg päevades   : "
 
-#: src/lang.c:633
+#: src/lang.c:637
 #, c-format
 msgid	"# %s server configuration file\n"
 	"# This file was automatically saved by %s %s %s (\"%s\")\n"
@@ -2606,218 +2626,218 @@ msgstr	"# %s serveri seadete fail\n"
 	"############################################################################\n"
 	"\n"
 
-#: src/lang.c:639
+#: src/lang.c:643
 msgid	"Showing unread groups only"
 msgstr	"Näitan ainult lugemata gruppe"
 
-#: src/lang.c:640
+#: src/lang.c:644
 msgid	"Subject: line (ignore case)   "
 msgstr	"Subject: rida (tõstutundetu)"
 
-#: src/lang.c:641
+#: src/lang.c:645
 msgid	"Subject: line (case sensitive)"
 msgstr	"Subject: rida (tõstutundlik)"
 
-#: src/lang.c:642
+#: src/lang.c:646
 msgid	"Save"
 msgstr	"Salvesta"
 
-#: src/lang.c:643
+#: src/lang.c:647
 #, c-format
 msgid	"Save '%s' (%s/%s)?"
 msgstr	"Salvestan '%s' (%s/%s)?"
 
-#: src/lang.c:644
+#: src/lang.c:648
 msgid	"Save configuration before continuing?"
 msgstr	"Salvestan seaded enne jätkamist?"
 
-#: src/lang.c:645
+#: src/lang.c:649
 msgid	"Save filename> "
 msgstr	"Fail salvestamiseks> "
 
-#: src/lang.c:646
+#: src/lang.c:650
 msgid	"Saved"
 msgstr	"Salvestatud"
 
-#: src/lang.c:647
+#: src/lang.c:651
 #, c-format
 msgid	"%4d unread (%4d hot) %s in %s\n"
 msgstr	"%4d lugemata (%4d kuuma) %s grupis %s\n"
 
-#: src/lang.c:648
+#: src/lang.c:652
 #, c-format
 msgid	"Saved %s...\n"
 msgstr	"Salvestatud %s...\n"
 
-#: src/lang.c:649
+#: src/lang.c:653
 msgid	"Nothing was saved"
 msgstr	"Midagi ei salvestatud"
 
-#: src/lang.c:650
+#: src/lang.c:654
 #, c-format
 msgid	"\n"
 	"%s %d %s from %d %s\n"
 msgstr	"\n"
 	"%s %d %s %d grupist%s\n"
 
-#: src/lang.c:651
+#: src/lang.c:655
 #, c-format
 msgid	"-- %s saved to %s%s --"
 msgstr	"-- %s salvestati %s%s --"
 
-#: src/lang.c:652
+#: src/lang.c:656
 #, c-format
 msgid	"-- %s saved to %s - %s --"
 msgstr	"-- %s salvestati %s - %s --"
 
-#: src/lang.c:653
+#: src/lang.c:657
 msgid	"Saving..."
 msgstr	"Salvestan..."
 
-#: src/lang.c:654
+#: src/lang.c:658
 #, c-format
 msgid	"%s: Screen initialization failed"
 msgstr	"%s: Ekraani initsialiseerimine ebaõnnestus"
 
-#: src/lang.c:655
+#: src/lang.c:659
 #, c-format
 msgid	"%s: screen is too small\n"
 msgstr	"%s: ekraan on liiga väike\n"
 
-#: src/lang.c:656
+#: src/lang.c:660
 #, c-format
 msgid	"screen is too small, %s is exiting\n"
 msgstr	"ekraan on liiga väike, %s lõpetab töö\n"
 
-#: src/lang.c:657
+#: src/lang.c:661
 #, c-format
 msgid	"Search backwards [%s]> "
 msgstr	"Otsin tagurpidi [%s]> "
 
-#: src/lang.c:658
+#: src/lang.c:662
 #, c-format
 msgid	"Search body [%s]> "
 msgstr	"Otsi kehast [%s]> "
 
-#: src/lang.c:659
+#: src/lang.c:663
 #, c-format
 msgid	"Search forwards [%s]> "
 msgstr	"Otsi edaspidi [%s]> "
 
-#: src/lang.c:660
+#: src/lang.c:664
 msgid	"Searching..."
 msgstr	"Otsin..."
 
-#: src/lang.c:661
+#: src/lang.c:665
 #, c-format
 msgid	"Searching article %d of %d ('q' to abort)..."
 msgstr	"Otsin artiklit %d/%d ('q' katkestamiseks)..."
 
-#: src/lang.c:662
+#: src/lang.c:666
 msgid	"Select article> "
 msgstr	"Valige artikkel> "
 
-#: src/lang.c:663
+#: src/lang.c:667
 msgid	"Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr	"Valige teksti eest omaduse number või kasutage nooli ja <CR>. 'q' väljumiseks."
 
-#: src/lang.c:664
+#: src/lang.c:668
 msgid	"Select group> "
 msgstr	"Valige grupp> "
 
-#: src/lang.c:665
+#: src/lang.c:669
 #, c-format
 msgid	"Enter selection pattern [%s]> "
 msgstr	"Sisestage valiku muster [%s]> "
 
-#: src/lang.c:666
+#: src/lang.c:670
 msgid	"Select thread > "
 msgstr	"Valige teema > "
 
-#: src/lang.c:667
+#: src/lang.c:671
 #, c-format
 msgid	"%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n"
 msgstr	"%s %s %s (\"%s\") [%s]: saatke palun DETAILNE vea raport aadressil %s\n"
 
-#: src/lang.c:668
+#: src/lang.c:672
 msgid	"servers active-file"
 msgstr	"serveri aktiivsete gruppide fail"
 
-#: src/lang.c:669
+#: src/lang.c:673
 msgid	"Cannot move into new newsgroups. Subscribe first..."
 msgstr	"Uutesse gruppidesse ei saa siseneda. Tellige kõigepealt..."
 
-#: src/lang.c:670
+#: src/lang.c:674
 msgid	"<SPACE>"
 msgstr	"<TÜHIK>"
 
-#: src/lang.c:671
+#: src/lang.c:675
 #, c-format
 msgid	"Starting: (%s)"
 msgstr	"Stardin: (%s)"
 
-#: src/lang.c:672
+#: src/lang.c:676
 #, c-format
 msgid	"List Thread (%d of %d)"
 msgstr	"Teemad (%d/%d)"
 
-#: src/lang.c:673
+#: src/lang.c:677
 #, c-format
 msgid	"Thread (%.*s)"
 msgstr	"Teema (%.*s)"
 
-#: src/lang.c:674
+#: src/lang.c:678
 msgid	"Enter wildcard subscribe pattern> "
 msgstr	"Sisestage tellimise muster> "
 
-#: src/lang.c:675
+#: src/lang.c:679
 #, c-format
 msgid	"subscribed to %d groups"
 msgstr	"%d gruppi on tellitud"
 
-#: src/lang.c:676
+#: src/lang.c:680
 #, c-format
 msgid	"Subscribed to %s"
 msgstr	"%s on tellitud"
 
-#: src/lang.c:677
+#: src/lang.c:681
 msgid	"Subscribing... "
 msgstr	"Tellin... "
 
-#: src/lang.c:678
+#: src/lang.c:682
 msgid	"Repost or supersede article(s) [%%.*s]? (%s/%s/%s): "
 msgstr	"Postitan uuesti või asendan artikli(d) [%%.*s]? (%s/%s/%s): "
 
-#: src/lang.c:679
+#: src/lang.c:683
 #, c-format
 msgid	"Supersede article(s) to group(s) [%s]> "
 msgstr	"Asendan artikli(d) gruppides [%s]> "
 
-#: src/lang.c:680
+#: src/lang.c:684
 msgid	"Superseding article ..."
 msgstr	"Asendan artikli ..."
 
-#: src/lang.c:681
+#: src/lang.c:685
 #, c-format
 msgid	"\n"
 	"Stopped. Type 'fg' to restart %s\n"
 msgstr	"\n"
 	"Peatatud. %s uuesti käivitamiseks kirjutage palun 'fg'\n"
 
-#: src/lang.c:683
+#: src/lang.c:687
 #, c-format
 msgid	"%d days"
 msgstr	"%d päeva"
 
-#: src/lang.c:684
+#: src/lang.c:688
 msgid	"<TAB>"
 msgstr	"<TAB>"
 
-#: src/lang.c:685
+#: src/lang.c:689
 msgid	"# Default action/prompt strings\n"
 msgstr	"# Vaikimisi aktsioonide/viipade sõned\n"
 
-#: src/lang.c:686
+#: src/lang.c:690
 msgid	"# Defaults for quick (1 key) kill & auto-selection filters\n"
 	"# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
 	"#             5=Message-ID: & last References: entry only\n"
@@ -2834,261 +2854,261 @@ msgstr	"# Vaikeväärtused kiire (1 võtme)
 	"# case=ON/OFF    ON=filter on tõstutundlik OFF=tõstutundetu\n"
 	"# expire=ON/OFF  ON=kehtivusaeg default_filter_days OFF=ei aegu\n"
 
-#: src/lang.c:699
+#: src/lang.c:703
 msgid	"# If ON use print current subject or newsgroup description in the last line\n"
 msgstr	"# Kui on ON, trüki teema või grupikirjeldus viimasele reale\n"
 
-#: src/lang.c:700
+#: src/lang.c:704
 msgid	"# Host & time info used for detecting new groups (don't touch)\n"
 msgstr	"# Masin & aeg - kasutatakse uute gruppide leidmiseks (mitte muuta)\n"
 
-#: src/lang.c:701
+#: src/lang.c:705
 msgid	"There is no news\n"
 msgstr	"Uudiseid pole\n"
 
-#: src/lang.c:702
+#: src/lang.c:706
 msgid	"Thread"
 msgstr	"Teema"
 
-#: src/lang.c:703
+#: src/lang.c:707
 msgid	"Thread Level Commands"
 msgstr	"Teemataseme käsud"
 
-#: src/lang.c:704
+#: src/lang.c:708
 msgid	"Thread deselected"
 msgstr	"Teema pole valitud"
 
-#: src/lang.c:705
+#: src/lang.c:709
 msgid	"Thread selected"
 msgstr	"Teema on valitud"
 
-#: src/lang.c:706
+#: src/lang.c:710
 msgid	"threads"
 msgstr	"teemad"
 
-#: src/lang.c:707
+#: src/lang.c:711
 msgid	"Thread range"
 msgstr	"Teemade vahemik"
 
-#: src/lang.c:708
+#: src/lang.c:712
 msgid	"thread"
 msgstr	"teema"
 
-#: src/lang.c:709
+#: src/lang.c:713
 #, c-format
 msgid	"Thread %4s of %4s"
 msgstr	"Teema %4s : %4s"
 
-#: src/lang.c:710
+#: src/lang.c:714
 msgid	"Threading articles..."
 msgstr	"Järjestan artiklid teemade kaupa..."
 
-#: src/lang.c:711
+#: src/lang.c:715
 #, c-format
 msgid	"Toggled word highlighting %s"
 msgstr	"Sõnade esiletõstmine lülitatud %s"
 
-#: src/lang.c:712
+#: src/lang.c:716
 msgid	"Toggled rot13 encoding"
 msgstr	"Lülitatud rot13 kodeerimine"
 
-#: src/lang.c:713
+#: src/lang.c:717
 #, c-format
 msgid	"Toggled german TeX encoding %s"
 msgstr	"Lülitatud saksa TeX kodeering %s"
 
-#: src/lang.c:714
+#: src/lang.c:718
 #, c-format
 msgid	"Toggled tab-width to %d"
 msgstr	"Lülitatud tab-width väärtus %d"
 
-#: src/lang.c:715
+#: src/lang.c:719
 #, c-format
 msgid	"%d Trying to dotlock %s"
 msgstr	"%d Üritan punkt-lukustada %s"
 
-#: src/lang.c:716
+#: src/lang.c:720
 #, c-format
 msgid	"%d Trying to lock %s"
 msgstr	"%d Üritan lukustada %s"
 
-#: src/lang.c:717
+#: src/lang.c:721
 msgid	"           h=help\n"
 msgstr	"           h=appi\n"
 
-#: src/lang.c:719
+#: src/lang.c:723
 msgid	"Unlimited"
 msgstr	"Piiramata"
 
-#: src/lang.c:720
+#: src/lang.c:724
 msgid	"Enter wildcard unsubscribe pattern> "
 msgstr	"Sisestage loobumise muster> "
 
-#: src/lang.c:721
+#: src/lang.c:725
 #, c-format
 msgid	"Error decoding %s : %s"
 msgstr	"Viga %s dekodeerimisel: %s"
 
-#: src/lang.c:722
+#: src/lang.c:726
 msgid	"No end."
 msgstr	"Lõpp puudub."
 
-#: src/lang.c:723
+#: src/lang.c:727
 #, c-format
 msgid	"%s successfully decoded."
 msgstr	"%s on edukalt dekodeeritud."
 
-#: src/lang.c:724
+#: src/lang.c:728
 #, c-format
 msgid	"%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 	"\n"
 msgstr	"%*s[-- %s/%s, %suuenkodeeritud fail, %d rida, nimi: %s --]\n"
 	"\n"
 
-#: src/lang.c:725
+#: src/lang.c:729
 msgid	"unread "
 msgstr	"lugemata "
 
-#: src/lang.c:726
+#: src/lang.c:730
 #, c-format
 msgid	"unsubscribed from %d groups"
 msgstr	"loobunud %d grupist"
 
-#: src/lang.c:727
+#: src/lang.c:731
 #, c-format
 msgid	"Unsubscribed from %s"
 msgstr	"Loobunud grupist %s"
 
-#: src/lang.c:728
+#: src/lang.c:732
 msgid	"Unsubscribing... "
 msgstr	"Loobun gruppidest... "
 
-#: src/lang.c:729
+#: src/lang.c:733
 msgid	"Unthreading articles..."
 msgstr	"Tükeldan teemad..."
 
-#: src/lang.c:730
+#: src/lang.c:734
 msgid	"Updated"
 msgstr	"Uuendatud"
 
-#: src/lang.c:731
+#: src/lang.c:735
 msgid	"Updating"
 msgstr	"Uuendan"
 
-#: src/lang.c:732
+#: src/lang.c:736
 #, c-format
 msgid	"Opening %s\n"
 msgstr	"Proovin %s\n"
 
-#: src/lang.c:733
+#: src/lang.c:737
 msgid	"No more URL's in this article"
 msgstr	"Selles artiklis pole rohkem URL'e"
 
-#: src/lang.c:734
+#: src/lang.c:738
 msgid	"Use MIME display program for this message?"
 msgstr	"Kasutan selle teate lugemiseks MIME näitamise programmi?"
 
-#: src/lang.c:735
+#: src/lang.c:739
 msgid	"  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr	"  -c       märgi tellitud gruppides kõik artiklid loetuks (pakettmood)"
 
-#: src/lang.c:736
+#: src/lang.c:740
 msgid	"  -Z       return status indicating if any unread news (batch mode)"
 msgstr	"  -Z       tagasta väärtus, mis näitab, kas on lugemata artikleid (pakettmood)"
 
-#: src/lang.c:737
+#: src/lang.c:741
 msgid	"  -q       don't check for new newsgroups"
 msgstr	"  -q       ära otsi uusi gruppe"
 
-#: src/lang.c:738
+#: src/lang.c:742
 msgid	"  -X       don't save any files on quit"
 msgstr	"  -X       töö lõpetamisel ära salvesta ühtegi faili"
 
-#: src/lang.c:739
+#: src/lang.c:743
 msgid	"  -d       don't show newsgroup descriptions"
 msgstr	"  -d       ära näita gruppide kirjeldusi"
 
-#: src/lang.c:740
+#: src/lang.c:744
 msgid	"  -G limit get only limit articles/group"
 msgstr	"  -G num   loe aunult num artiklit/gruppi"
 
-#: src/lang.c:741
+#: src/lang.c:745
 #, c-format
 msgid	"  -H       help information about %s"
 msgstr	"  -H       %s kasutamise abiinfo"
 
-#: src/lang.c:742
+#: src/lang.c:746
 msgid	"  -h       this help message"
 msgstr	"  -h       see abitekst"
 
-#: src/lang.c:743
+#: src/lang.c:747
 #, c-format
 msgid	"  -I dir   news index file directory [default=%s]"
 msgstr	"  -I kat   uudiste indeksfaili kataloog [vaikimisi=%s]"
 
-#: src/lang.c:744
+#: src/lang.c:748
 msgid	"  -u       update index files (batch mode)"
 msgstr	"  -u       värskenda indeksfaile (pakettmood)"
 
-#: src/lang.c:745
+#: src/lang.c:749
 #, c-format
 msgid	"  -m dir   mailbox directory [default=%s]"
 msgstr	"  -m kat   kirjakaustade kataloog [vaikimisi=%s]"
 
-#: src/lang.c:746
+#: src/lang.c:750
 #, c-format
 msgid	"\n"
 	"Mail bug reports/comments to %s"
 msgstr	"\n"
 	"Saatke palun vea raport/kommentaarid aadressil %s"
 
-#: src/lang.c:747
+#: src/lang.c:751
 msgid	"  -N       mail new news to your posts (batch mode)"
 msgstr	"  -N       saada uued vastused teie postitustele (pakettmood)"
 
-#: src/lang.c:748
+#: src/lang.c:752
 msgid	"  -M user  mail new news to specified user (batch mode)"
 msgstr	"  -M kasut saada uued artiklid näidatud kasutajale (pakettmood)"
 
-#: src/lang.c:749
+#: src/lang.c:753
 #, c-format
 msgid	"  -f file  subscribed to newsgroups file [default=%s]"
 msgstr	"  -f fail  tellitud gruppide fail [vaikimisi=%s]"
 
-#: src/lang.c:750
+#: src/lang.c:754
 msgid	"  -x       no posting mode"
 msgstr	"  -x       postitamiseta mood"
 
-#: src/lang.c:751
+#: src/lang.c:755
 msgid	"  -w       post an article and exit"
 msgstr	"  -w       postita artikkel ja lõpeta töö"
 
-#: src/lang.c:752
+#: src/lang.c:756
 msgid	"  -o       post all postponed articles and exit"
 msgstr	"  -o       postita kõik postitamisootel artiklid ja lõpeta töö"
 
-#: src/lang.c:753
+#: src/lang.c:757
 msgid	"  -r       read news remotely from default NNTP server"
 msgstr	"  -r       loe artikleid kasutades vaikimisi NNTP serverit"
 
-#: src/lang.c:754
+#: src/lang.c:758
 msgid	"  -R       read news saved by -S option"
 msgstr	"  -R       loe artikleid, mis on salvestatud -S võtmega"
 
-#: src/lang.c:755
+#: src/lang.c:759
 #, c-format
 msgid	"  -s dir   save news directory [default=%s]"
 msgstr	"  -s kat   artiklite salvestamise kataloog [vaikimisi=%s]"
 
-#: src/lang.c:756
+#: src/lang.c:760
 msgid	"  -S       save new news for later reading (batch mode)"
 msgstr	"  -S       salvesta uued artiklid hilisemaks lugemiseks (pakettmood)"
 
-#: src/lang.c:757
+#: src/lang.c:761
 msgid	"  -z       start if any unread news"
 msgstr	"  -z       alusta tööd, kui on lugemata uudiseid"
 
-#: src/lang.c:758
+#: src/lang.c:762
 #, c-format
 msgid	"A Usenet reader.\n"
 	"\n"
@@ -3097,37 +3117,37 @@ msgstr	"Usenet klient.\n"
 	"\n"
 	"Kasuta: %s [võtmed] [grupp[,...]]"
 
-#: src/lang.c:759
+#: src/lang.c:763
 msgid	"  -v       verbose output for batch mode options"
 msgstr	"  -v       esita pakettmoodi käskudega detailsemat informatsiooni"
 
-#: src/lang.c:760
+#: src/lang.c:764
 msgid	"  -V       print version & date information"
 msgstr	"  -V       esita versiooni ja kuupäeva informatsioon"
 
-#: src/lang.c:761
+#: src/lang.c:765
 #, c-format
 msgid	"%s only useful without batch mode operations\n"
 msgstr	"%s on kasutatav ainult pakettmoodi käskudeta\n"
 
-#: src/lang.c:762
+#: src/lang.c:766
 #, c-format
 msgid	"%s only useful for batch mode operations\n"
 msgstr	"%s on kasutatav ainult pakettmoodi käskudega\n"
 
-#: src/lang.c:764
+#: src/lang.c:768
 #, c-format
 msgid	"\n"
 	"%s%d out of range (0 - %d). Reset to 0"
 msgstr	"\n"
 	"%s%d piiridest väljas (0 - %d). Sean 0"
 
-#: src/lang.c:765
+#: src/lang.c:769
 #, c-format
 msgid	"View '%s' (%s/%s)?"
 msgstr	"Vaatan '%s' (%s/%s)?"
 
-#: src/lang.c:767
+#: src/lang.c:771
 #, c-format
 msgid	"\n"
 	"Warning: posting exceeds %d columns. Line %d is the first long one:\n"
@@ -3136,26 +3156,26 @@ msgstr	"\n"
 	"Hoiatus: postitus ületab %d veergu. Esimene pikk rida on rida %d:\n"
 	"%-100s\n"
 
-#: src/lang.c:768
+#: src/lang.c:772
 msgid	"\n"
 	"Warning: article unchanged after editing\n"
 msgstr	"\n"
 	"Hoiatus: artiklit ei ole toimetamise käigus muudetud\n"
 
-#: src/lang.c:769
+#: src/lang.c:773
 msgid	"\n"
 	"Warning: \"Subject:\" contains only whitespaces.\n"
 msgstr	"\n"
 	"Hoiatus: \"Subject:\" real on ainult tühikud.\n"
 
-#: src/lang.c:770
+#: src/lang.c:774
 msgid	"\n"
 	"Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n"
 msgstr	"\n"
 	"Hoiatus: \"Subject:\" algab fraasiga \"Re: \", aga \"References:\" välju "
 	"pole.\n"
 
-#: src/lang.c:772
+#: src/lang.c:776
 msgid	"\n"
 	"Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
 	"         with \"Re: \" and does not contain \"(was:\".\n"
@@ -3163,7 +3183,7 @@ msgstr	"\n"
 	"Hoiatus: Artiklis on \"References:\" päis, aga \"Subject:\" ei alga fraasiga\n"
 	"         \"Re: \" ega sisalda \"(was:\".\n"
 
-#: src/lang.c:775
+#: src/lang.c:779
 msgid	"Read carefully!\n"
 	"\n"
 	"  You are about to cancel an article seemingly written by you. This will "
@@ -3183,7 +3203,7 @@ msgstr	"Lugege hoolikalt!\n"
 	"Siin on artikkel, mida te hakkate kustutama:\n"
 	"\n"
 
-#: src/lang.c:779
+#: src/lang.c:783
 msgid	"\n"
 	"Warning: You are using a non-plain transfer encoding (such as base64 or\n"
 	"         quoted-printable) and an external inews program to submit your\n"
@@ -3195,7 +3215,7 @@ msgstr	"\n"
 	"         lisab artiklile signatuuri, siis on võimalik,  et seda ei kodeerita\n"
 	"         korrektselt.\n"
 
-#: src/lang.c:784
+#: src/lang.c:788
 #, c-format
 msgid	"\n"
 	"\n"
@@ -3208,7 +3228,7 @@ msgstr	"\n"
 	"Väärtused failis %s on muutunud!\n"
 	"Palun lugege faile WHATSNEW, jne...\n"
 
-#: src/lang.c:786
+#: src/lang.c:790
 #, c-format
 msgid	"\n"
 	"\n"
@@ -3220,7 +3240,7 @@ msgstr	"\n"
 	"kasutatu!\n"
 	"Mõningaid väärtusi failis %s võidakse ignoreerida, mõningaid võidakse muuta!\n"
 
-#: src/lang.c:789
+#: src/lang.c:793
 #, c-format
 msgid	"Warning: tin wrote fewer groups to your\n"
 	"\t%s\n"
@@ -3233,7 +3253,7 @@ msgstr	"Hoiatus: tin kirjutas vähem grup
 	"grupist%s, tähendab see viga ja te peaksite varundama oma %s\n"
 	"enne, kui te tini uuesti käivitate!\n"
 
-#: src/lang.c:793
+#: src/lang.c:797
 #, c-format
 msgid	"\n"
 	"Warning: Found %d '-- \\n' lines, this may confuse some people.\n"
@@ -3241,12 +3261,12 @@ msgstr	"\n"
 	"Hoiatus: Leidsin %d '-- \\n' rida, mis võib tekitada osades inimestes "
 	"segadust.\n"
 
-#: src/lang.c:794
+#: src/lang.c:798
 #, c-format
 msgid	"Warning: Only %d out of %d articles were saved"
 msgstr	"Hoiatus: Salvestati ainult %d artiklit %d artiklist"
 
-#: src/lang.c:795
+#: src/lang.c:799
 #, c-format
 msgid	"\n"
 	"Warning: Your signature  is longer than %d lines.  Since signatures usually "
@@ -3261,48 +3281,48 @@ msgstr	"\n"
 	"võimalikult\n"
 	"         lühikesed.\n"
 
-#: src/lang.c:799
+#: src/lang.c:803
 #, c-format
 msgid	"Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr	"Hoiatus: see aadress võib sisaldada rämpsposti lõksu. %s=jätkan, %s=katkestan?"
 
-#: src/lang.c:800
+#: src/lang.c:804
 msgid	"\n"
 	"Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
 msgstr	"\n"
 	"Hoiatus: Signatuuride alguses peaks olema '-- \\n', mitte '--\\n'.\n"
 
-#: src/lang.c:801
+#: src/lang.c:805
 msgid	"Writing attributes file..."
 msgstr	"Kirjutan atribuutide faili..."
 
-#: src/lang.c:803
+#: src/lang.c:807
 #, c-format
 msgid	"%d Responses"
 msgstr	"%d Vastust"
 
-#: src/lang.c:805
+#: src/lang.c:809
 #, c-format
 msgid	"Added %d %s"
 msgstr	"Lisatud %d %s"
 
-#: src/lang.c:806
+#: src/lang.c:810
 msgid	"No unsubscribed groups to show"
 msgstr	"Tellimata gruppe pole"
 
-#: src/lang.c:807
+#: src/lang.c:811
 msgid	"Showing subscribed to groups only"
 msgstr	"Näitan ainult tellitud gruppe"
 
-#: src/lang.c:808
+#: src/lang.c:812
 msgid	"Yes "
 msgstr	"Jah "
 
-#: src/lang.c:809
+#: src/lang.c:813
 msgid	"    You have mail\n"
 msgstr	"    Teil on kiri\n"
 
-#: src/lang.c:814
+#: src/lang.c:818
 #, c-format
 msgid	"\n"
 	"Warning: Posting is in %s and contains characters which are not\n"
@@ -3321,16 +3341,16 @@ msgstr	"\n"
 	"         MM_NETWORK_CHARSET. Viimast saate teostada kasutades valikut "
 	"M)enüü.\n"
 
-#: src/lang.c:825
+#: src/lang.c:829
 #, c-format
 msgid	"Redefined key %s '%s' -> '%s'\n"
 msgstr	"Klahvi %s uus definitsioon '%s' -> '%s'\n"
 
-#: src/lang.c:826
+#: src/lang.c:830
 msgid	"  -D       debug mode 1=NNTP 2=ALL"
 msgstr	"  -D       silumismood 1=NNTP 2=KÕIK"
 
-#: src/lang.c:830
+#: src/lang.c:834
 msgid	"Read carefully!\n"
 	"\n"
 	"  You are about to cancel an article seemingly not written by you.  This "
@@ -3354,11 +3374,11 @@ msgstr	"Lugege hoolikalt!\n"
 	"Siin on artikkel, mida te asute kustutama:\n"
 	"\n"
 
-#: src/lang.c:839
+#: src/lang.c:843
 msgid	"toggle color"
 msgstr	"lülita värve"
 
-#: src/lang.c:840
+#: src/lang.c:844
 msgid	"# For color-adjust use the following numbers\n"
 	"#  0-black       1-red         2-green        3-brown\n"
 	"#  4-blue        5-pink        6-cyan         7-white\n"
@@ -3378,44 +3398,44 @@ msgstr	"# Värvide seadmiseks kasutage jä
 	"# taust must)\n"
 	"\n"
 
-#: src/lang.c:848
+#: src/lang.c:852
 msgid	"  -a       toggle color flag"
 msgstr	"  -a       lülita värvide kasutamist"
 
-#: src/lang.c:852
+#: src/lang.c:856
 msgid	"\n"
 	"Error: Followup-To set to more than one newsgroup!\n"
 msgstr	"\n"
 	"Viga: Followup-To real on rohkem kui üks grupp!\n"
 
-#: src/lang.c:853
+#: src/lang.c:857
 #, c-format
 msgid	"\n"
 	"Error: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr	"\n"
 	"Viga: ristpostitus %d gruppi ja Followup-To rida puudub!\n"
 
-#: src/lang.c:854
+#: src/lang.c:858
 #, c-format
 msgid	"\n"
 	"Error: \"%s\" is not a valid newsgroup!\n"
 msgstr	"\n"
 	"Viga: \"%s\" ei ole lubatud grupp!\n"
 
-#: src/lang.c:856
+#: src/lang.c:860
 msgid	"\n"
 	"Warning: Followup-To set to more than one newsgroup!\n"
 msgstr	"\n"
 	"Hoiatus: Followup-To on seatud rohkem, kui ühele grupile!\n"
 
-#: src/lang.c:857
+#: src/lang.c:861
 #, c-format
 msgid	"\n"
 	"Warning: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr	"\n"
 	"Hoiatus: ristpostitus %d uudisegruppi ja Followup-To rida puudub!\n"
 
-#: src/lang.c:858
+#: src/lang.c:862
 #, c-format
 msgid	"\n"
 	"Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n"
@@ -3423,308 +3443,308 @@ msgstr	"\n"
 	"Hoiatus: \"%s\" puudub teie newsrc failist, see võib olla selles serveris "
 	"vigane!\n"
 
-#: src/lang.c:859
+#: src/lang.c:863
 #, c-format
 msgid	"\n"
 	"Warning: \"%s\" is not a valid newsgroup at this site!\n"
 msgstr	"\n"
 	"Hoiatus: \"%s\" ei ole selles serveris kehtiv grupp!\n"
 
-#: src/lang.c:863
+#: src/lang.c:867
 #, c-format
 msgid	"%d files successfully written from %d articles. %d %s occurred."
 msgstr	"Edukalt kirjutatud %d faili %d artiklist. Esines %d viga%s."
 
-#: src/lang.c:864
+#: src/lang.c:868
 msgid	"Missing parts."
 msgstr	"Osad puuduvad."
 
-#: src/lang.c:865
+#: src/lang.c:869
 msgid	"No beginning."
 msgstr	"Algus puudub."
 
-#: src/lang.c:866
+#: src/lang.c:870
 msgid	"No data."
 msgstr	"Andmeid pole."
 
-#: src/lang.c:867
+#: src/lang.c:871
 msgid	"Unknown error."
 msgstr	"Tundmatu viga."
 
-#: src/lang.c:869
+#: src/lang.c:873
 #, c-format
 msgid	"\tChecksum of %s (%ld %s)"
 msgstr	"\t%s kontrollsumma (%ld %s)"
 
-#: src/lang.c:873
+#: src/lang.c:877
 msgid	"Reading mail active file... "
 msgstr	"Loen aktiivsete kirjade kausta... "
 
-#: src/lang.c:874
+#: src/lang.c:878
 msgid	"Reading mailgroups file... "
 msgstr	"Loen kirjagruppide faili... "
 
-#: src/lang.c:878
+#: src/lang.c:882
 msgid	"perform PGP operations on article"
 msgstr	"kasuta artiklil PGP operatsioone"
 
-#: src/lang.c:879
+#: src/lang.c:883
 msgid	"Add key(s) to public keyring?"
 msgstr	"Lisan võtmed avalike võtmete hoidlasse?"
 
-#: src/lang.c:880
+#: src/lang.c:884
 #, c-format
 msgid	"%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr	"%s=krüpti, %s=allkirjasta, %s=mõlemad, %s=välju: "
 
-#: src/lang.c:881
+#: src/lang.c:885
 #, c-format
 msgid	"%s=sign, %s=sign & include public key, %s=quit: "
 msgstr	"%s=allkirjasta, %s=allkirjasta & lisa avalik võti, %s=välju: "
 
-#: src/lang.c:882
+#: src/lang.c:886
 #, c-format
 msgid	"PGP has not been set up (can't open %s)"
 msgstr	"PGP pole seadistatud (ei saa avada %s)"
 
-#: src/lang.c:883
+#: src/lang.c:887
 msgid	"Article not signed and no public keys found"
 msgstr	"Artikkel pole allkirjastatud ja avalikke võtmeid pole"
 
-#: src/lang.c:885
+#: src/lang.c:889
 #, c-format
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=välju, %s=toimeta, %s=ispell, %s=pgp, %s=menüü, %s=postita, %s=ootele: "
 
-#: src/lang.c:886
+#: src/lang.c:890
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%.*s]: "
 msgstr	"%s=välju, %s=toimeta, %s=ispell, %s=pgp, %s=saada [%%.*s]: "
 
-#: src/lang.c:887
+#: src/lang.c:891
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=välju, %s=toimeta, %s=ispell, %s=pgp, %s=menüü, %s=postita, %s=ootele "
 	"[%%.*s]: "
 
-#: src/lang.c:889
+#: src/lang.c:893
 #, c-format
 msgid	"%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=välju, %s=toimeta, %s=pgp, %s=menüü, %s=postita, %s=ootele: "
 
-#: src/lang.c:890
+#: src/lang.c:894
 msgid	"%s=quit, %s=edit, %s=pgp, %s=send [%%.*s]: "
 msgstr	"%s=välju, %s=toimeta, %s=pgp, %s=saada [%%.*s]: "
 
-#: src/lang.c:891
+#: src/lang.c:895
 msgid	"%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=välju, %s=toimeta, %s=pgp, %s=menüü, %s=postita, %s=ootele [%%.*s]: "
 
-#: src/lang.c:895
+#: src/lang.c:899
 #, c-format
 msgid	"%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=välju, %s=toimeta, %s=ispell, %s=menüü, %s=postita, %s=ootele: "
 
-#: src/lang.c:896
+#: src/lang.c:900
 msgid	"%s=quit, %s=edit, %s=ispell, %s=send [%%.*s]: "
 msgstr	"%s=välju, %s=toimeta, %s=ispell, %s=saada [%%.*s]: "
 
-#: src/lang.c:897
+#: src/lang.c:901
 msgid	"%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=välju, %s=toimeta, %s=ispell, %s=menüü, %s=postita, %s=ootele [%%.*s]: "
 
-#: src/lang.c:899
+#: src/lang.c:903
 #, c-format
 msgid	"%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=välju, %s=toimeta, %s=menüü, %s=postita, %s=ootele: "
 
-#: src/lang.c:900
+#: src/lang.c:904
 msgid	"%s=quit, %s=edit, %s=send [%%.*s]: "
 msgstr	"%s=välju, %s=toimeta, %s=saada [%%.*s]: "
 
-#: src/lang.c:901
+#: src/lang.c:905
 msgid	"%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=välju, %s=toimeta, %s=menüü, %s=postita, %s=ootele [%%.*s]: "
 
-#: src/lang.c:910
+#: src/lang.c:914
 msgid	"Try cache_overview_files to speed up things.\n"
 msgstr	"Proovige asjade kiirendamiseks cache_overview_files.\n"
 
-#: src/lang.c:911
+#: src/lang.c:915
 msgid	"Tin will use local index files instead.\n"
 msgstr	"Tin kasutab hoopis kohalikke indeksfaile.\n"
 
-#: src/lang.c:912
+#: src/lang.c:916
 msgid	"Cannot find NNTP server name"
 msgstr	"Ei leia NNTP serveri nime"
 
-#: src/lang.c:913
+#: src/lang.c:917
 #, c-format
 msgid	"Connecting to %s:%d..."
 msgstr	"Loon ühendust serveriga %s:%d..."
 
-#: src/lang.c:914
+#: src/lang.c:918
 msgid	"Disconnecting from server...\n"
 msgstr	"Lõpetan ühenduse...\n"
 
-#: src/lang.c:915
+#: src/lang.c:919
 #, c-format
 msgid	"Wrong newsgroup name in response of GROUP command, %s for %s"
 msgstr	"Vigane vastus GROUP käsule, %s grupile %s"
 
-#: src/lang.c:916
+#: src/lang.c:920
 #, c-format
 msgid	"Failed to connect to NNTP server %s. Exiting..."
 msgstr	"NNTP serveriga %s ühenduse loomine ebaõnnestus. Lõpetan..."
 
-#: src/lang.c:917
+#: src/lang.c:921
 msgid	"205  Closing connection"
 msgstr	"205  Sulen ühendust"
 
-#: src/lang.c:918
+#: src/lang.c:922
 msgid	"Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr	"Teie server ei toeta NNTP XOVER või OVER käsku.\n"
 
-#: src/lang.c:919
+#: src/lang.c:923
 msgid	"Connection to news server has timed out. Reconnect?"
 msgstr	"Ühendus uudisegruppide serveriga aegus. ühendun uuesti?"
 
-#: src/lang.c:920
+#: src/lang.c:924
 #, c-format
 msgid	"Put the server name in the file %s,\n"
 	"or set the environment variable NNTPSERVER"
 msgstr	"Kirjutage serveri nimi faili %s,\n"
 	"või seadke keskonnamuutuja NNTPSERVER"
 
-#: src/lang.c:921
+#: src/lang.c:925
 msgid	"  -A       force authentication on connect"
 msgstr	"  -A       sunni ühenduse loomisel autentima"
 
-#: src/lang.c:922
+#: src/lang.c:926
 #, c-format
 msgid	"  -g serv  read news from NNTP server serv [default=%s]"
 msgstr	"  -g serv  loe uudiseid NNTP serverist serv [vaikimisi=%s]"
 
-#: src/lang.c:923
+#: src/lang.c:927
 #, c-format
 msgid	"  -p port  use port as NNTP port [default=%d]"
 msgstr	"  -p port  kasuta NNTP porti [vaikimisi=%d]"
 
-#: src/lang.c:924
+#: src/lang.c:928
 msgid	"  -Q       quick start. Same as -nqd"
 msgstr	"  -Q       kiirstart. Sama kui -nqd"
 
-#: src/lang.c:925
+#: src/lang.c:929
 msgid	"  -l       use only LIST instead of GROUP (-n) command"
 msgstr	"  -l       kasuta LIST käsku GROUP (-n) käsu asemel"
 
-#: src/lang.c:926
+#: src/lang.c:930
 msgid	"  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr	"  -n       loe NNTP serverist ainult tellitud .newsrc grupid"
 
-#: src/lang.c:928
+#: src/lang.c:932
 #, c-format
 msgid	"%s/tcp: Unknown service.\n"
 msgstr	"%s/tcp: Tundmatu teenus.\n"
 
-#: src/lang.c:931
+#: src/lang.c:935
 msgid	"\n"
 	"socket or connect problem\n"
 msgstr	"\n"
 	"Probleem pistikuga või ühendusega\n"
 
-#: src/lang.c:933
+#: src/lang.c:937
 #, c-format
 msgid	"\n"
 	"Connection to %s: "
 msgstr	"\n"
 	"Loon ühendust serveriga %s: "
 
-#: src/lang.c:934
+#: src/lang.c:938
 msgid	"Giving up...\n"
 msgstr	"Annan alla...\n"
 
-#: src/lang.c:937
+#: src/lang.c:941
 msgid	"Your server does not have Xref: in its XOVER information.\n"
 	"Tin will try to use XHDR XREF instead (slows down things a bit).\n"
 msgstr	"Teie server ei paku Xref: päiserida XOVER informatsioonis.\n"
 	"Tin üritab kasutada XHDR XREF selle asemel (võib olla mõnevõrra "
 	"aeganõudvam).\n"
 
-#: src/lang.c:940
+#: src/lang.c:944
 msgid	"Your server does not have Xref: in its XOVER information.\n"
 msgstr	"Teie server ei paku Xref: päiserida XOVER informatsioonis.\n"
 
-#: src/lang.c:943
+#: src/lang.c:947
 #, c-format
 msgid	"Can't open %s. Try %s -r to read news via NNTP.\n"
 msgstr	"%s ei saa avada. Proovige %s -r, et lugeda uudiseid üle NNTP.\n"
 
-#: src/lang.c:946
+#: src/lang.c:950
 msgid	"  -Q       quick start. Same as -qd"
 msgstr	"  -Q       kiirstart. Sama kui -qd"
 
-#: src/lang.c:947
+#: src/lang.c:951
 msgid	"  -l       read only active file instead of scanning spool (-n) command"
 msgstr	"  -l       loe pooli skaneerimise (-n) asemel ainult faili active"
 
-#: src/lang.c:948
+#: src/lang.c:952
 msgid	"  -n       only read subscribed .newsrc groups from spool"
 msgstr	"  -n       loe poolist ainult tellitud .newsrc gruppe"
 
-#: src/lang.c:949
+#: src/lang.c:953
 msgid	"Your server does not have Xref: in its NOV-files.\n"
 msgstr	"Teie server ei paku Xref: päiserida NOV failides.\n"
 
-#: src/lang.c:953
+#: src/lang.c:957
 msgid	"Posting using external inews failed. Use built in inews instead?"
 msgstr	"Välise inews programmiga postitamine ebaõnnestus. Proovin sisemist inewsi?"
 
-#: src/lang.c:954
+#: src/lang.c:958
 msgid	"It worked! Should I always use my built in inews from now on?"
 msgstr	"See töötas! Kas kasutan nüüd alati sisemist inews programmi?"
 
-#: src/lang.c:962
+#: src/lang.c:966
 #, c-format
 msgid	"%d %s printed"
 msgstr	"%d %s trükitud"
 
-#: src/lang.c:963
+#: src/lang.c:967
 msgid	"output article/thread/hot/pattern/tagged articles to printer"
 msgstr	"saada artikkel/teema/kuum/muster/märgitud trükkalile"
 
-#: src/lang.c:964
+#: src/lang.c:968
 msgid	"Print"
 msgstr	"Trüki"
 
-#: src/lang.c:965
+#: src/lang.c:969
 msgid	"Printing..."
 msgstr	"Trükin..."
 
-#: src/lang.c:969
+#: src/lang.c:973
 msgid	"pipe article/thread/hot/pattern/tagged articles into command"
 msgstr	"saada artikkel/teema/kuum/muster/märgitud toruga käsule"
 
-#: src/lang.c:970
+#: src/lang.c:974
 msgid	"No command"
 msgstr	"Käsku pole"
 
-#: src/lang.c:971
+#: src/lang.c:975
 msgid	"Pipe"
 msgstr	"Toru"
 
-#: src/lang.c:972
+#: src/lang.c:976
 #, c-format
 msgid	"Pipe to command [%.*s]> "
 msgstr	"Toru käsku [%.*s]> "
 
-#: src/lang.c:973
+#: src/lang.c:977
 msgid	"Piping..."
 msgstr	"Saadan torusse..."
 
-#: src/lang.c:975
+#: src/lang.c:979
 msgid	"Piping not enabled."
 msgstr	"Toru kasutamine pole lubatud."
 
-#: src/lang.c:979
+#: src/lang.c:983
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line has spaces  in it that MUST be removed.\n"
@@ -3736,7 +3756,7 @@ msgstr	"\n"
 	"      tühik on see,  mis eraldab koolonit (:)  teistest komponentidest\n"
 	"      real. Gruppide eraldamiseks kasutage palun koma (,).\n"
 
-#: src/lang.c:984
+#: src/lang.c:988
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is  continued in  the next line.  Since\n"
@@ -3747,7 +3767,7 @@ msgstr	"\n"
 	"      tühikuid, siis ei ole see lubatud.  Palun kirjutage kõik grupid\n"
 	"      ühele reale.\n"
 
-#: src/lang.c:989
+#: src/lang.c:993
 #, c-format
 msgid	"\n"
 	"Warning: The \"%s:\" line is continued in the next line.\n"
@@ -3758,14 +3778,14 @@ msgstr	"\n"
 	"      See on uus omadus ja kõik serverid ei pruugi seda toetada.\n"
 	"      Probleemide vältimiseks, kirjutage palun kõik grupid ühele reale.\n"
 
-#: src/lang.c:993
+#: src/lang.c:997
 #, c-format
 msgid	"\n"
 	"Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n"
 msgstr	"\n"
 	"Hoiatus: Rida \"%s:\" sisaldab tühikuid, mis TULEKS eemaldada.\n"
 
-#: src/lang.c:998
+#: src/lang.c:1002
 msgid	"\n"
 	"  If your article contains quoted text  please take some time to pare it "
 	"down\n"
@@ -3795,538 +3815,555 @@ msgstr	"\n"
 	"  tega, siis ilmselt enamus lugejaid ignoreerib teid täiesti. Tänapäeval on\n"
 	"  võrgus palju rahvast ja infot!\n"
 
-#: src/lang.c:1011
+#: src/lang.c:1015
 msgid	"shell escape"
 msgstr	"paojada käsureale"
 
-#: src/lang.c:1012
+#: src/lang.c:1016
 #, c-format
 msgid	"Shell Command (%s)"
 msgstr	"Käsurea käsk (%s)"
 
-#: src/lang.c:1013
+#: src/lang.c:1017
 #, c-format
 msgid	"Enter shell command [%s]> "
 msgstr	"Sisestage käsurea käsk [%s]> "
 
-#: src/lang.c:1017
+#: src/lang.c:1021
 #, c-format
 msgid	"%s: Can't get entry for TERM\n"
 msgstr	"%s: Ei saa TERM kirjet\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1025
 #, c-format
 msgid	"Group %.*s ('q' to quit)..."
 msgstr	"Grupp %.*s ('q' lõpetamiseks)... "
 
-#: src/lang.c:1023
+#: src/lang.c:1027
 #, c-format
 msgid	"Group %.*s..."
 msgstr	"Grupp %.*s... "
 
-#: src/lang.c:1027
+#: src/lang.c:1031
 msgid	"Server unavailable\n"
 msgstr	"Server ei vasta\n"
 
-#: src/lang.c:1033
+#: src/lang.c:1037
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
 	"%s=post"
 msgstr	"%s=toru; %s=kiri; %s=trüki; %s=välju; %s=kõik/lugem; %s=salv; %s=märgi; "
 	"%s=postita"
 
-#: src/lang.c:1034
+#: src/lang.c:1038
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=toru; %s=kiri; %s=trüki; %s=välju; %s=kirjuta; %s=salv; %s=märgi; "
 	"%s=postita"
 
-#: src/lang.c:1036
+#: src/lang.c:1040
 #, c-format
 msgid	"%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	"%s=kiri; %s=trüki; %s=välju; %s=kõik/lugem; %s=salvesta; %s=märgi; %s=postita"
 
-#: src/lang.c:1037
+#: src/lang.c:1041
 #, c-format
 msgid	"%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=kiri; %s=trüki; %s=välju; %s=kirjuta; %s=salvesta; %s=märgi; %s=postita"
 
-#: src/lang.c:1041
+#: src/lang.c:1045
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	"%s=toru; %s=kiri; %s=välju; %s=kõik/lugemata; %s=salv; %s=märgi; %s=postita"
 
-#: src/lang.c:1042
+#: src/lang.c:1046
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=toru; %s=kiri; %s=välju; %s=kirjuta; %s=salvesta; %s=märgi; %s=postita"
 
-#: src/lang.c:1044
+#: src/lang.c:1048
 #, c-format
 msgid	"%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	"%s=kiri; %s=välju; %s=kõik/lugemata; %s=salvesta; %s=märgi; %s=postita"
 
-#: src/lang.c:1045
+#: src/lang.c:1049
 #, c-format
 msgid	"%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=kiri; %s=välju; %s=vasta kirjaga; %s=salvesta; %s=märgi; %s=postita"
 
-#: src/lang.c:1051
+#: src/lang.c:1055
 msgid	"Terminal does not support color"
 msgstr	"Terminal ei toeta värve"
 
-#: src/lang.c:1056
+#: src/lang.c:1060
 #, c-format
 msgid	"Trying %s"
 msgstr	"Proovin %s"
 
-#: src/lang.c:1070 src/lang.c:1095 src/lang.c:1111 src/refs.c:266
+#: src/lang.c:1074 src/lang.c:1099 src/lang.c:1115 src/lang.c:1294 src/refs.c:266
 msgid	"None"
 msgstr	"Pole"
 
-#: src/lang.c:1071
+#: src/lang.c:1075
 msgid	"Subject"
 msgstr	"Teema"
 
-#: src/lang.c:1072
+#: src/lang.c:1076
 msgid	"References"
 msgstr	"Viited"
 
-#: src/lang.c:1073
+#: src/lang.c:1077
 msgid	"Both Subject and References"
 msgstr	"Nii teema kui viited"
 
-#: src/lang.c:1074
+#: src/lang.c:1078
 msgid	"Multipart Subject"
 msgstr	"Mitmeosaliste teema"
 
-#: src/lang.c:1086 src/lang.c:1197
+#: src/lang.c:1090 src/lang.c:1201
 msgid	"No"
 msgstr	"Ei"
 
-#: src/lang.c:1087 src/lang.c:1199
+#: src/lang.c:1091 src/lang.c:1203
 msgid	"Yes"
 msgstr	"Jah"
 
-#: src/lang.c:1088
+#: src/lang.c:1092
 msgid	"Hide All"
 msgstr	"Peida kõik"
 
-#: src/lang.c:1096
+#: src/lang.c:1100
 msgid	"Address"
 msgstr	"Aadress"
 
-#: src/lang.c:1097
+#: src/lang.c:1101
 msgid	"Full Name"
 msgstr	"Täisnimi"
 
-#: src/lang.c:1098
+#: src/lang.c:1102
 msgid	"Address and Name"
 msgstr	"Aadress ja nimi"
 
-#: src/lang.c:1105
+#: src/lang.c:1109
 msgid	"Max"
 msgstr	"Maksimum"
 
-#: src/lang.c:1106
+#: src/lang.c:1110
 msgid	"Sum"
 msgstr	"Summa"
 
-#: src/lang.c:1107
+#: src/lang.c:1111
 msgid	"Average"
 msgstr	"Keskmine"
 
-#: src/lang.c:1112
+#: src/lang.c:1116
 msgid	"Lines"
 msgstr	"Read"
 
-#: src/lang.c:1113
+#: src/lang.c:1117
 msgid	"Score"
 msgstr	"Kaal"
 
-#: src/lang.c:1114
+#: src/lang.c:1118
 msgid	"Lines & Score"
 msgstr	"Read & kaal"
 
-#: src/lang.c:1123
+#: src/lang.c:1127
 msgid	"Black"
 msgstr	"Must"
 
-#: src/lang.c:1124
+#: src/lang.c:1128
 msgid	"Red"
 msgstr	"Punane"
 
-#: src/lang.c:1125
+#: src/lang.c:1129
 msgid	"Green"
 msgstr	"Roheline"
 
-#: src/lang.c:1126
+#: src/lang.c:1130
 msgid	"Brown"
 msgstr	"Pruun"
 
-#: src/lang.c:1127
+#: src/lang.c:1131
 msgid	"Blue"
 msgstr	"Sinine"
 
-#: src/lang.c:1128
+#: src/lang.c:1132
 msgid	"Pink"
 msgstr	"Roosa"
 
-#: src/lang.c:1129
+#: src/lang.c:1133
 msgid	"Cyan"
 msgstr	"Lilla"
 
-#: src/lang.c:1130
+#: src/lang.c:1134
 msgid	"White"
 msgstr	"valge"
 
-#: src/lang.c:1131
+#: src/lang.c:1135
 msgid	"Gray"
 msgstr	"Hall"
 
-#: src/lang.c:1132
+#: src/lang.c:1136
 msgid	"Light Red"
 msgstr	"Helepunane"
 
-#: src/lang.c:1133
+#: src/lang.c:1137
 msgid	"Light Green"
 msgstr	"Heleroheline"
 
-#: src/lang.c:1134
+#: src/lang.c:1138
 msgid	"Yellow"
 msgstr	"Kollane"
 
-#: src/lang.c:1135
+#: src/lang.c:1139
 msgid	"Light Blue"
 msgstr	"Helesinine"
 
-#: src/lang.c:1136
+#: src/lang.c:1140
 msgid	"Light Pink"
 msgstr	"Heleroosa"
 
-#: src/lang.c:1137
+#: src/lang.c:1141
 msgid	"Light Cyan"
 msgstr	"Helelilla"
 
-#: src/lang.c:1138
+#: src/lang.c:1142
 msgid	"Light White"
 msgstr	"Helevalge"
 
-#: src/lang.c:1146 src/lang.c:1203 src/lang.c:1217
+#: src/lang.c:1150 src/lang.c:1207 src/lang.c:1221
 msgid	"Nothing"
 msgstr	"Ei kasuta"
 
-#: src/lang.c:1147
+#: src/lang.c:1151
 msgid	"Mark"
 msgstr	"Märk"
 
-#: src/lang.c:1148
+#: src/lang.c:1152
 msgid	"Space"
 msgstr	"Tühik"
 
-#: src/lang.c:1155
+#: src/lang.c:1159
 msgid	"Normal"
 msgstr	"Tavaline"
 
-#: src/lang.c:1156
+#: src/lang.c:1160
 msgid	"Best highlighting"
 msgstr	"Parim esiletõstmine"
 
-#: src/lang.c:1157
+#: src/lang.c:1161
 msgid	"Underline"
 msgstr	"Allajoonitud"
 
-#: src/lang.c:1158
+#: src/lang.c:1162
 msgid	"Reverse video"
 msgstr	"Pööratud video"
 
-#: src/lang.c:1159
+#: src/lang.c:1163
 msgid	"Blinking"
 msgstr	"Plinkiv"
 
-#: src/lang.c:1160
+#: src/lang.c:1164
 msgid	"Half bright"
 msgstr	"Poolhele"
 
-#: src/lang.c:1161
+#: src/lang.c:1165
 msgid	"Bold"
 msgstr	"Paks"
 
-#: src/lang.c:1166
+#: src/lang.c:1170
 msgid	"none"
 msgstr	"pole"
 
-#: src/lang.c:1167
+#: src/lang.c:1171
 msgid	"commands"
 msgstr	"käsud"
 
-#: src/lang.c:1168
+#: src/lang.c:1172
 msgid	"select"
 msgstr	"valik"
 
-#: src/lang.c:1170
+#: src/lang.c:1174
 msgid	"commands & quit"
 msgstr	"käsud & välju"
 
-#: src/lang.c:1171
+#: src/lang.c:1175
 msgid	"commands & select"
 msgstr	"käsud & valik"
 
-#: src/lang.c:1172
+#: src/lang.c:1176
 msgid	"quit & select"
 msgstr	"välju & valik"
 
-#: src/lang.c:1173
+#: src/lang.c:1177
 msgid	"commands & quit & select"
 msgstr	"käsud & välju & valik"
 
-#: src/lang.c:1198
+#: src/lang.c:1202
 msgid	"Shell archive"
 msgstr	"Shelli arhiiv"
 
-#: src/lang.c:1204
+#: src/lang.c:1208
 msgid	"Subject: (descending)"
 msgstr	"Subject: (kahanevalt)"
 
-#: src/lang.c:1205
+#: src/lang.c:1209
 msgid	"Subject: (ascending)"
 msgstr	"Subject: (kasvavalt)"
 
-#: src/lang.c:1206
+#: src/lang.c:1210
 msgid	"From: (descending)"
 msgstr	"From: (kahanevalt)"
 
-#: src/lang.c:1207
+#: src/lang.c:1211
 msgid	"From: (ascending)"
 msgstr	"From: (kasvavalt)"
 
-#: src/lang.c:1208
+#: src/lang.c:1212
 msgid	"Date: (descending)"
 msgstr	"Date: (kahanevalt)"
 
-#: src/lang.c:1209
+#: src/lang.c:1213
 msgid	"Date: (ascending)"
 msgstr	"Date: (kasvavalt)"
 
-#: src/lang.c:1210 src/lang.c:1218
+#: src/lang.c:1214 src/lang.c:1222
 msgid	"Score (descending)"
 msgstr	"Kaal (kahanevalt)"
 
-#: src/lang.c:1211 src/lang.c:1219
+#: src/lang.c:1215 src/lang.c:1223
 msgid	"Score (ascending)"
 msgstr	"Kaal (kasvavalt)"
 
-#: src/lang.c:1212
+#: src/lang.c:1216
 msgid	"Lines: (descending)"
 msgstr	"Lines: (kahanevalt)"
 
-#: src/lang.c:1213
+#: src/lang.c:1217
 msgid	"Lines: (ascending)"
 msgstr	"Lines: (kasvavalt)"
 
-#: src/lang.c:1224
+#: src/lang.c:1228
 msgid	"Always Keep"
 msgstr	"Hoia alati"
 
-#: src/lang.c:1225
+#: src/lang.c:1229
 msgid	"Always Remove"
 msgstr	"Eemalda alati"
 
-#: src/lang.c:1226
+#: src/lang.c:1230
 msgid	"Mark with D on selection screen"
 msgstr	"Märgi valikuekraanil tähega D"
 
-#: src/lang.c:1231
+#: src/lang.c:1235
 msgid	"Kill only unread arts"
 msgstr	"Surma ainult lugemata artiklid"
 
-#: src/lang.c:1232
+#: src/lang.c:1236
 msgid	"Kill all arts & show with K"
 msgstr	"Surma kõik artiklid & näita K tähega"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1233
+#: src/lang.c:1237
 msgid	"Kill all arts and never show"
 msgstr	"Surma kõik artiklid ja ära näita"
 
-#: src/lang.c:1238
+#: src/lang.c:1242
 msgid	"Nothing special"
 msgstr	"Ei midagi erilist"
 
-#: src/lang.c:1239
+#: src/lang.c:1243
 msgid	"Compress quotes"
 msgstr	"Tihenda tsitaadid"
 
-#: src/lang.c:1240
+#: src/lang.c:1244
 msgid	"Quote signatures"
 msgstr	"Tsiteeri allkirju"
 
-#: src/lang.c:1241
+#: src/lang.c:1245
 msgid	"Compress quotes, quote sigs"
 msgstr	"Tihenda tsitaadid, tsiteeri allkirju"
 
-#: src/lang.c:1242
+#: src/lang.c:1246
 msgid	"Quote empty lines"
 msgstr	"Tsiteeri tühje ridu"
 
-#: src/lang.c:1243
+#: src/lang.c:1247
 msgid	"Compress quotes, quote empty lines"
 msgstr	"Tihenda tsitaadid, tsiteeri tühje ridu"
 
-#: src/lang.c:1244
+#: src/lang.c:1248
 msgid	"Quote sigs & empty lines"
 msgstr	"Tsiteeri allkirju ja tühje ridu"
 
-#: src/lang.c:1245
+#: src/lang.c:1249
 msgid	"Comp. q., quote sigs & empty lines"
 msgstr	"Tihenda tsitaate, tsiteeri allkirju ja tühje ridu"
 
-# TRANSLATION MISSING
-#: src/lang.c:1283
+#: src/lang.c:1287
 msgid	"no"
+msgstr	"ei"
+
+#: src/lang.c:1288
+msgid	"with headers"
+msgstr	"päistega"
+
+#: src/lang.c:1289
+msgid	"without headers"
+msgstr	"päisteta"
+
+# TRANSLATION MISSING
+#: src/lang.c:1296 src/lang.c:1302
+msgid	"NFKC"
 msgstr	""
 
 # TRANSLATION MISSING
-#: src/lang.c:1284
-msgid	"with headers"
+#: src/lang.c:1297
+msgid	"NFKD"
 msgstr	""
 
 # TRANSLATION MISSING
-#: src/lang.c:1285
-msgid	"without headers"
+#: src/lang.c:1298
+msgid	"NFC"
+msgstr	""
+
+# TRANSLATION MISSING
+#: src/lang.c:1299
+msgid	"NFD"
 msgstr	""
 
-#: src/lang.c:1290
+#: src/lang.c:1310
 msgid	"Display Options"
 msgstr	"Ekraani seaded"
 
-#: src/lang.c:1296
+#: src/lang.c:1316
 msgid	"Color Options"
 msgstr	"Värvide seaded"
 
-#: src/lang.c:1302
+#: src/lang.c:1322
 msgid	"Article-Limiting Options"
 msgstr	"Artikli piirangute seaded"
 
-#: src/lang.c:1308
+#: src/lang.c:1328
 msgid	"Posting/Mailing Options"
 msgstr	"Postitamise/saatmise seaded"
 
-#: src/lang.c:1314
+#: src/lang.c:1334
 msgid	"Saving/Printing Options"
 msgstr	"Salvestamise/trükkimise seaded"
 
-#: src/lang.c:1320
+#: src/lang.c:1340
 msgid	"Expert Options"
 msgstr	"Ekspertseaded"
 
-#: src/lang.c:1326
+#: src/lang.c:1346
 msgid	"Filtering Options"
 msgstr	"Filtreerimise seaded"
 
-#: src/lang.c:1331 src/lang.c:1357 src/lang.c:1363 src/lang.c:1370 src/lang.c:1402
-#: src/lang.c:1408 src/lang.c:1416 src/lang.c:1436 src/lang.c:1511 src/lang.c:1673
-#: src/lang.c:1679 src/lang.c:1685 src/lang.c:1691 src/lang.c:1703 src/lang.c:1710
-#: src/lang.c:1761 src/lang.c:1770 src/lang.c:1776 src/lang.c:1782 src/lang.c:1788
-#: src/lang.c:1794 src/lang.c:1800 src/lang.c:1806 src/lang.c:1812 src/lang.c:1818
-#: src/lang.c:1824 src/lang.c:1830 src/lang.c:1836 src/lang.c:1842 src/lang.c:1848
-#: src/lang.c:1854 src/lang.c:1860 src/lang.c:1866 src/lang.c:1872 src/lang.c:1878
-#: src/lang.c:1884 src/lang.c:1891 src/lang.c:1897 src/lang.c:1903 src/lang.c:1910
-#: src/lang.c:1921 src/lang.c:1927 src/lang.c:1933 src/lang.c:1939 src/lang.c:1945
-#: src/lang.c:1951 src/lang.c:1965 src/lang.c:1977 src/lang.c:2011 src/lang.c:2063
-#: src/lang.c:2070 src/lang.c:2076 src/lang.c:2101 src/lang.c:2118 src/lang.c:2171
-#: src/lang.c:2204 src/lang.c:2224 src/lang.c:2259 src/lang.c:2268 src/lang.c:2293
-#: src/lang.c:2305
+#: src/lang.c:1351 src/lang.c:1377 src/lang.c:1383 src/lang.c:1390 src/lang.c:1422
+#: src/lang.c:1428 src/lang.c:1436 src/lang.c:1456 src/lang.c:1531 src/lang.c:1693
+#: src/lang.c:1699 src/lang.c:1705 src/lang.c:1711 src/lang.c:1723 src/lang.c:1730
+#: src/lang.c:1781 src/lang.c:1790 src/lang.c:1796 src/lang.c:1802 src/lang.c:1808
+#: src/lang.c:1814 src/lang.c:1820 src/lang.c:1826 src/lang.c:1832 src/lang.c:1838
+#: src/lang.c:1844 src/lang.c:1850 src/lang.c:1856 src/lang.c:1862 src/lang.c:1868
+#: src/lang.c:1874 src/lang.c:1880 src/lang.c:1886 src/lang.c:1892 src/lang.c:1898
+#: src/lang.c:1904 src/lang.c:1910 src/lang.c:1917 src/lang.c:1923 src/lang.c:1929
+#: src/lang.c:1936 src/lang.c:1947 src/lang.c:1953 src/lang.c:1959 src/lang.c:1965
+#: src/lang.c:1971 src/lang.c:1977 src/lang.c:1991 src/lang.c:2003 src/lang.c:2037
+#: src/lang.c:2089 src/lang.c:2096 src/lang.c:2102 src/lang.c:2127 src/lang.c:2144
+#: src/lang.c:2197 src/lang.c:2230 src/lang.c:2250 src/lang.c:2285 src/lang.c:2294
+#: src/lang.c:2319 src/lang.c:2331 src/lang.c:2350
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"<TÜHIK> lülitab, <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:1332
+#: src/lang.c:1352
 msgid	"Show mini menu & posting etiquette :"
 msgstr	"Näita minimenüüd & post. etiketti  :"
 
-#: src/lang.c:1333
+#: src/lang.c:1353
 msgid	"# If ON show a mini menu of useful commands at each level\n"
 	"# and posting etiquette after composing an article\n"
 msgstr	"# Kui väärtus on ON, näita enimkasutatavate käskude minimenüüd\n"
 	"# ja peale artikli kirjutamist postitamise etiketti.\n"
 
-#: src/lang.c:1338
+#: src/lang.c:1358
 msgid	"Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr	"Näita gruppide lühikirjeldusi. <TÜHIK> lülitab ja <CR> seab."
 
-#: src/lang.c:1339
+#: src/lang.c:1359
 msgid	"Show description of each newsgroup :"
 msgstr	"Näita iga grupi lühikirjeldust     :"
 
-#: src/lang.c:1340
+#: src/lang.c:1360
 msgid	"# If ON show group description text after newsgroup name at\n"
 	"# group selection level\n"
 msgstr	"# Kui väärtus on ON, näita gruppide tasemel iga grupi nime\n"
 	"# järel grupi lühikirjeldust\n"
 
-#: src/lang.c:1345
+#: src/lang.c:1365
 msgid	"Show Subject & From (author) fields in group menu. <SPACE> toggles & <CR> "
 	"sets."
 msgstr	"Näita grupimenüüs teema ja From (autor) välju. <TÜHIK> lülitab ja <CR> seab."
 
-#: src/lang.c:1346
+#: src/lang.c:1366
 msgid	"In group menu, show author by      :"
 msgstr	"Näita grupimenüüs autorit          :"
 
-#: src/lang.c:1347
+#: src/lang.c:1367
 msgid	"# Part of from field to display 0) none 1) address 2) full name 3) both\n"
 msgstr	"# Millist saatja nime osa näidata 0) mitte midagi 1) aadress 2) täisnimi\n"
 	"# 3) mõlemad\n"
 
-#: src/lang.c:1351
+#: src/lang.c:1371
 msgid	"Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr	"Märgi valik -> või heleda ribaga. <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:1352
+#: src/lang.c:1372
 msgid	"Draw -> instead of highlighted bar :"
 msgstr	"Joonista -> heleda riba asemel     :"
 
-#: src/lang.c:1353
+#: src/lang.c:1373
 msgid	"# If ON use -> otherwise highlighted bar for selection\n"
 msgstr	"# Kui väärtus on on, kasuta valiku märkimiseks ->, muidu riba\n"
 
-#: src/lang.c:1358
+#: src/lang.c:1378
 msgid	"Use inverse video for page headers :"
 msgstr	"Kasuta päistel pööratud videot     :"
 
-#: src/lang.c:1359
+#: src/lang.c:1379
 msgid	"# If ON use inverse video for page headers at different levels\n"
 msgstr	"# Kui väärtus on ON, kasuta erinevatel tasemetel päiste näitamisel\n"
 	"# pööratud videot\n"
 
-#: src/lang.c:1364
+#: src/lang.c:1384
 msgid	"Thread articles by                 :"
 msgstr	"Artiklite teemadesse jagamine      :"
 
-#: src/lang.c:1365
+#: src/lang.c:1385
 msgid	"# Thread articles on 0=(nothing) 1=(Subject) 2=(References) 3=(Both)\n"
 	"# 4=(Multipart Subject).\n"
 msgstr	"# Jaga artiklid teemadesse 0=(ei jaga) 1=(teema järgi) 2=(viite järgi)\n"
 	"# 3=(mõlema järgi) 4=(Mitmeosaliste teema).\n"
 
-#: src/lang.c:1371
+#: src/lang.c:1391
 msgid	"Score of a thread                  :"
 msgstr	"Teema kaal                         :"
 
-#: src/lang.c:1372
+#: src/lang.c:1392
 msgid	"# Thread score 0=(Max) 1=(Sum) 2=(Average)\n"
 msgstr	"# Teema kaal 0=(Maksimum) 1=(Summa) 2=(Keskmine)\n"
 
-#: src/lang.c:1376
+#: src/lang.c:1396
 msgid	"Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr	"Järjesta artiklid Subject, From, Date, kaalu järgi. <TÜHIK> lülitab, <CR> "
 	"seab."
 
-#: src/lang.c:1377
+#: src/lang.c:1397
 msgid	"Sort articles by                   :"
 msgstr	"Artiklite järjestus                :"
 
-#: src/lang.c:1378
+#: src/lang.c:1398
 msgid	"# Sort articles by 0=(nothing) 1=(Subject descend) 2=(Subject ascend)\n"
 	"# 3=(From descend) 4=(From ascend) 5=(Date descend) 6=(Date ascend)\n"
 	"# 7=(Score descend) 8=(Score ascend) 9=(Lines descend) 10=(Lines ascend).\n"
@@ -4334,57 +4371,57 @@ msgstr	"# Artiklite järjestamine 0=(ei j
 	"# 3=(Saatja kahanev) 4=(Saatja kasvava) 5=(Kuup. kahanev) 6=(Kuup. kasvav)\n"
 	"# 7=(Kaal kahanev) 8=(Kaal kasvav) 9=(Ridu kahanev) 10=(Ridu kasvav).\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1404
 msgid	"Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr	"Järjesta teemad mitte millegi või kaalu järgi. <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:1385
+#: src/lang.c:1405
 msgid	"Sort threads by                    :"
 msgstr	"Teemade järjestus                  :"
 
-#: src/lang.c:1386
+#: src/lang.c:1406
 msgid	"# Sort thread by 0=(nothing) 1=(Score descend) 2=(Score ascend)\n"
 msgstr	"# Järjesta teema 0=(ei järjesta) 1=skoor kahanevalt, 2=skoor kasvavalt\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1410
 msgid	"Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr	"Vii kursor grupis esimesele/viimasele lugemata artiklile. <TÜHIK> lülitab, "
 	"<CR> seab."
 
-#: src/lang.c:1391
+#: src/lang.c:1411
 msgid	"Goto first unread article in group :"
 msgstr	"Mine grupis esimesele lugemata art.:"
 
-#: src/lang.c:1392
+#: src/lang.c:1412
 msgid	"# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr	"# Kui väärtus on ON, vii kursor grupi esimesele lugemata artiklile,\n"
 	"# muidu viimasele\n"
 
-#: src/lang.c:1396
+#: src/lang.c:1416
 msgid	"Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr	"Näita kõiki või ainult lugemata artikleid. <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:1397
+#: src/lang.c:1417
 msgid	"Show only unread articles          :"
 msgstr	"Näita ainult lugemata artikleid    :"
 
-#: src/lang.c:1398
+#: src/lang.c:1418
 msgid	"# If ON show only new/unread articles otherwise show all.\n"
 msgstr	"# Kui väärtus on ON, näita ainult lugemata artikleid, muidu näita kõiki.\n"
 
-#: src/lang.c:1403
+#: src/lang.c:1423
 msgid	"Show only groups with unread arts  :"
 msgstr	"Ainult lugemata artiklitega grupid :"
 
-#: src/lang.c:1404
+#: src/lang.c:1424
 msgid	"# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr	"# Näita ainult neid tellitud gruppe, kus on lugemata artikleid.\n"
 
-#: src/lang.c:1409
+#: src/lang.c:1429
 msgid	"Filter which articles              :"
 msgstr	"Filtreeri artikleid                :"
 
-#: src/lang.c:1410
+#: src/lang.c:1430
 msgid	"# 0=(Only kill unread articles)\n"
 	"# 1=(Kill all articles and show in threads marked with K)\n"
 	"# 2=(Kill all articles and never show them).\n"
@@ -4392,212 +4429,212 @@ msgstr	"# 0=(Surma ainult lugemata artik
 	"# 1=(Surma kõik artiklid ja näita teemades märgiga K)\n"
 	"# 2=(Surma kõik artiklid ja ära näita neid).\n"
 
-#: src/lang.c:1417
+#: src/lang.c:1437
 msgid	"Tab goes to next unread article    :"
 msgstr	"Tab viib järgmisele lugemata art.  :"
 
-#: src/lang.c:1418
+#: src/lang.c:1438
 msgid	"# If ON the TAB command will go to next unread article at article viewer "
 	"level\n"
 msgstr	"# Kui väärtus on ON, viib Tab käsk järgmisele lugemata artiklile\n"
 
-#: src/lang.c:1422
+#: src/lang.c:1442
 msgid	"Scrolling with <SPACE> past the end of an art. jumps to the next unread one."
 msgstr	"Tühikuga artikli lõpust edasi kerimine hüppab järgmisele lugemata artiklile."
 
-#: src/lang.c:1423
+#: src/lang.c:1443
 msgid	"Space goes to next unread article  :"
 msgstr	"Tühik viib järgmisele lugemata art.:"
 
-#: src/lang.c:1424
+#: src/lang.c:1444
 msgid	"# If ON the SPACE command will go to next unread article at article viewer\n"
 	"# level when the end of the article is reached (rn-style pager)\n"
 msgstr	"# Kui väärtus on ON, viib artikli lõpus tühiku vajutamine\n"
 	"# järgmisele lugemata artiklile (rn stiil)\n"
 
-#: src/lang.c:1429
+#: src/lang.c:1449
 msgid	"Scrolling with <PGDN>/<DOWN> past the end of an art. jumps to the unread one."
 msgstr	"<PGDN>/noolega art. lõpust edasi kerimine hüppab järgmisele lugemata art."
 
-#: src/lang.c:1430
+#: src/lang.c:1450
 msgid	"PgDn goes to next unread article   :"
 msgstr	"PgDn viib järgmisele lugemata art. :"
 
-#: src/lang.c:1431
+#: src/lang.c:1451
 msgid	"# If ON the PGDN or DOWN command will go to next unread article when\n"
 	"# pressed at end of message\n"
 msgstr	"# Kui väärtus on ON, viib artikli lõpus PGDN või nool alla vajutamine\n"
 	"# järgmisele artiklile\n"
 
-#: src/lang.c:1437
+#: src/lang.c:1457
 msgid	"List thread using right arrow key  :"
 msgstr	"Nool paremale näitab teema loendit :"
 
-#: src/lang.c:1438
+#: src/lang.c:1458
 msgid	"# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr	"# Kui väärtus on ON, näita nool paremale klahvi vajutamisel teema artikleid.\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1462
 msgid	"Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr	"Sisestage sümbol kustutatud artiklite märkimiseks. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:1443
+#: src/lang.c:1463
 msgid	"Character to show deleted articles :"
 msgstr	"Kustutatud artiklite marker        :"
 
-#: src/lang.c:1444
+#: src/lang.c:1464
 msgid	"# Character used to show that an art was deleted (default 'D')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Sümbol, mis tähistab kustutatud artiklit (vaikimisi 'D')\n"
 	"# _ asendatakse tühikuga ' '\n"
 
-#: src/lang.c:1449
+#: src/lang.c:1469
 msgid	"Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr	"Sisestage sümbol, mis märgib vahemikku kuuluvaid artikleid. <CR> seab, <ESC> "
 	"katkestab."
 
-#: src/lang.c:1450
+#: src/lang.c:1470
 msgid	"Character to show inrange articles :"
 msgstr	"Artiklite vahemiku marker          :"
 
-#: src/lang.c:1451
+#: src/lang.c:1471
 msgid	"# Character used to show that an art is in a range (default '#')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Sümbol, mis märgib vahemikku kuuluvaid artikleid (vaikimisi '#')\n"
 	"# _ asendatakse tühikuga ' '\n"
 
-#: src/lang.c:1456
+#: src/lang.c:1476
 msgid	"Enter character to indicate that article will return. <CR> sets, <ESC> "
 	"cancels."
 msgstr	"Sisestage tagasituleva artikli marker. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:1457
+#: src/lang.c:1477
 msgid	"Character to show returning arts   :"
 msgstr	"Tagasi tulnud artiklite marker     :"
 
-#: src/lang.c:1458
+#: src/lang.c:1478
 msgid	"# Character used to show that an art will return (default '-')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Sümbol, mis näitab, et artikkel tuleb tagasi (vaikimisi '-')\n"
 	"# _ asendatakse tühikuga ' '\n"
 
-#: src/lang.c:1463
+#: src/lang.c:1483
 msgid	"Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr	"Sisestage valitud artikleid märkiv sümbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:1464
+#: src/lang.c:1484
 msgid	"Character to show selected articles:"
 msgstr	"Valitud artiklite marker           :"
 
-#: src/lang.c:1465
+#: src/lang.c:1485
 msgid	"# Character used to show that an art was auto-selected (default '*')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Sümbol, mis näitab, et artikkel on automaatselt valitud (vaikimisi '*')\n"
 	"# _ asendatakse tühikuga ' '\n"
 
-#: src/lang.c:1470
+#: src/lang.c:1490
 msgid	"Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr	"Sisestage värskeid artikleid märkiv sümbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:1471
+#: src/lang.c:1491
 msgid	"Character to show recent articles  :"
 msgstr	"Värskete artiklite marker          :"
 
-#: src/lang.c:1472
+#: src/lang.c:1492
 msgid	"# Character used to show that an art is recent (default 'o')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Sümbol, mis näitab, et artikkel on värske (vaikimisi 'o')\n"
 	"# _ asendatakse tühikuga ' '\n"
 
-#: src/lang.c:1477
+#: src/lang.c:1497
 msgid	"Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr	"Sisestage lugemata artikleid märkiv sümbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:1478
+#: src/lang.c:1498
 msgid	"Character to show unread articles  :"
 msgstr	"Lugemata artiklite marker          :"
 
-#: src/lang.c:1479
+#: src/lang.c:1499
 msgid	"# Character used to show that an art is unread (default '+')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Sümbol, mis näitab, et artikkel on lugemata (vaikimisi '+')\n"
 	"# _ asendatakse tühikuga ' '\n"
 
-#: src/lang.c:1484
+#: src/lang.c:1504
 msgid	"Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr	"Sisestage loetud artikleid märkiv sümbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:1485
+#: src/lang.c:1505
 msgid	"Character to show read articles    :"
 msgstr	"Loetud artiklite marker            :"
 
-#: src/lang.c:1486
+#: src/lang.c:1506
 msgid	"# Character used to show that an art was read (default ' ')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Sümbol, mis näitab, et artikkel on loetud (vaikimisi ' ')\n"
 	"# _ asendatakse tühikuga ' '\n"
 
-#: src/lang.c:1491
+#: src/lang.c:1511
 msgid	"Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr	"Sisestage surmatud artikleid märkiv sümbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:1492
+#: src/lang.c:1512
 msgid	"Character to show killed articles  :"
 msgstr	"Surmatud artiklite marker          :"
 
-#: src/lang.c:1493
+#: src/lang.c:1513
 msgid	"# Character used to show that an art was killed (default 'K')\n"
 	"# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr	"# Sümbol, mis näitab, et artikkel on surmatud (vaikimisi 'K')\n"
 	"# _ asendatakse tühikuga ' '\n"
 
-#: src/lang.c:1498
+#: src/lang.c:1518
 msgid	"Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr	"Sisestage valitud artikleid märkiv sümbol. <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:1499
+#: src/lang.c:1519
 msgid	"Character to show readselected arts:"
 msgstr	"Lugemiseks valitud artiklite marker:"
 
-#: src/lang.c:1500
+#: src/lang.c:1520
 msgid	"# Character used to show that an art was selected before read (default ':')\n"
 	"# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr	"# Sümbol, mis näitab, et artikkel on enne lugemist valitud (vaikimisi ':')\n"
 	"# Surmamise tase peab samuti olema määratud, _ asendatakse tühikuga ' '\n"
 
-#: src/lang.c:1505
+#: src/lang.c:1525
 msgid	"Enter maximum length of newsgroup names displayed. <CR> sets."
 msgstr	"Sisestage maksimaalne näidatav grupi nime pikkus. <CR> seab."
 
-#: src/lang.c:1506
+#: src/lang.c:1526
 msgid	"Max. length of group names shown   :"
 msgstr	"Maksimaalne grupinime pikkus       :"
 
-#: src/lang.c:1507
+#: src/lang.c:1527
 msgid	"# Maximum length of the names of newsgroups displayed\n"
 msgstr	"# Maksimaalne grupi nime pikkus, mida näidatakse ekraanil\n"
 
-#: src/lang.c:1512
+#: src/lang.c:1532
 msgid	"Show lines/score in listings       :"
 msgstr	"Näita loendis artikli kaalu/ridu   :"
 
-#: src/lang.c:1513
+#: src/lang.c:1533
 msgid	"# What informations should be displayed in article/thread listing\n"
 	"# 0 = nothing, 1 = lines, 2 = score, 3 = lines & score\n"
 msgstr	"# Millist informatsiooni tuleks näidata artikli/teema loendis\n"
 	"# 0 = midagi, 1 = ridu, 2 = kaalu, 3 = ridu ja kaalu\n"
 
-#: src/lang.c:1518
+#: src/lang.c:1538
 msgid	"0 = full page scrolling, -1 = show previous last line as first on next page, "
 	"-2 = half page"
 msgstr	"0 = kerida kogu leht, -1 = näita eelmist rida järgmise lehe esimese reana, -2 "
 	"= pool lehte"
 
-#: src/lang.c:1519
+#: src/lang.c:1539
 msgid	"Number of lines to scroll in pager :"
 msgstr	"Lehitsejas keritavate ridade arv   :"
 
-#: src/lang.c:1520
+#: src/lang.c:1540
 msgid	"# Number of lines that cursor-up/down will scroll in article pager\n"
 	"# eg, 1+ = line-by-line, 0 = page-by-page (traditional behavior),\n"
 	"# -1 = the top/bottom line is carried over onto the next page,\n"
@@ -4607,27 +4644,27 @@ msgstr	"# Ridade arv, mida lehitseja ker
 	"# -1 = ülemine või alumine rida jäetakse järgmisele lehele\n"
 	"# -2 = poole lehe kaupa kerimine\n"
 
-#: src/lang.c:1527
+#: src/lang.c:1547
 msgid	"Display signatures. <SPACE> toggles & <CR> sets."
 msgstr	"Näita signatuure, <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:1528
+#: src/lang.c:1548
 msgid	"Display signatures                 :"
 msgstr	"Näita signatuure                   :"
 
-#: src/lang.c:1529
+#: src/lang.c:1549
 msgid	"# If OFF don't show signatures when displaying articles\n"
 msgstr	"# Kui väärtus on OFF, ei näita koos artiklitega signatuure\n"
 
-#: src/lang.c:1533
+#: src/lang.c:1553
 msgid	"Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr	"Näita uuenkodeeritud andmeid märgitud lisadena. <TÜHIK> lülitab ja <CR> seab."
 
-#: src/lang.c:1534
+#: src/lang.c:1554
 msgid	"Display uue data as an attachment  :"
 msgstr	"Näita uuenk. andmeid lisadena      :"
 
-#: src/lang.c:1535
+#: src/lang.c:1555
 msgid	"# Handling of uuencoded data in the pager\n"
 	"# 0 = display raw uuencoded data\n"
 	"# 1 = uuencoded data will be condensed to a single tag line showing\n"
@@ -4642,30 +4679,30 @@ msgstr	"# uuenkodeeritud andmete käsitle
 	"#     märgituna.\n"
 
 #
-#: src/lang.c:1544
+#: src/lang.c:1564
 msgid	"Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr	"Dekodeeri saksa TeX esituses tähed ISO koodideks. <TÜHIK> lülitab, <CR> seab."
 
 #
-#: src/lang.c:1545
+#: src/lang.c:1565
 msgid	"Display \"a as Umlaut-a             :"
 msgstr	"Näita \"a kui Umlaut-a              :"
 
-#: src/lang.c:1546
+#: src/lang.c:1566
 msgid	"# If ON decode German style TeX umlaut codes to ISO and\n"
 	"# show \"a as Umlaut-a, etc.\n"
 msgstr	"# Kui väärtus on ON, teisenda saksa TeX esituses tähed ISO\n"
 	"# koodideks ja näita \"a nagu Umlaut-a, jne.\n"
 
-#: src/lang.c:1551 src/lang.c:1561
+#: src/lang.c:1571 src/lang.c:1581
 msgid	"Space separated list of header fields"
 msgstr	"Tühikuga eraldatud päised"
 
-#: src/lang.c:1552
+#: src/lang.c:1572
 msgid	"Display these header fields (or *) :"
 msgstr	"Näita neid päiseid (või *)         :"
 
-#: src/lang.c:1553
+#: src/lang.c:1573
 msgid	"# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 	"# place an '*' as this value. This is the only way a wildcard can be used.\n"
 	"# If you enter 'X-' as the value, you will see all headers beginning with\n"
@@ -4680,11 +4717,11 @@ msgstr	"# Milliseid artikli päiseid te s
 	"tühikut.\n"
 	"# Kui te väärtust ei määra, lülitatakse see omadus välja.\n"
 
-#: src/lang.c:1562
+#: src/lang.c:1582
 msgid	"Do not display these header fields :"
 msgstr	"Ära näita neid päiseridu           :"
 
-#: src/lang.c:1563
+#: src/lang.c:1583
 msgid	"# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 	"# An example of using both options might be if you thought X- headers were\n"
 	"# A Good Thing(tm), but thought Alan and Pape were miscreants...well then "
@@ -4702,28 +4739,28 @@ msgstr	"# Sama kui 'news_headers_to_disp
 	"#\n"
 	"# Kui te väärtust ei määra, lülitatakse see omadus välja.\n"
 
-#: src/lang.c:1573
+#: src/lang.c:1593
 msgid	"Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr	"Kas te soovite multipart/alternative artiklite automaatset käsitlemist?"
 
-#: src/lang.c:1574
+#: src/lang.c:1594
 msgid	"Skip multipart/alternative parts   :"
 msgstr	"Jäta multipart/alternative osad    :"
 
-#: src/lang.c:1575
+#: src/lang.c:1595
 msgid	"# If ON strip multipart/alternative messages automatically\n"
 msgstr	"# Kui väärtus on ON, loobu automaatselt multipart/alternative teadete "
 	"lisadest\n"
 
-#: src/lang.c:1580
+#: src/lang.c:1600
 msgid	"A regex used to decide which lines to show in col_quote."
 msgstr	"Regulaaravaldis otsustamaks, milliseid ridu tsitaatides näidata."
 
-#: src/lang.c:1581
+#: src/lang.c:1601
 msgid	"Regex used to show quoted lines    :"
 msgstr	"Tsiteeritud ridade näitamise regex :"
 
-#: src/lang.c:1582
+#: src/lang.c:1602
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4731,15 +4768,15 @@ msgstr	"# Regulaaravaldis, mida tin kasu
 	"# milliseid read on tsiteeritud. Tsiteeritud ridu näidatakse col_quote.\n"
 	"# Kui te jätate selle tühjaks, kasutab tin sisseehitatud väärtust.\n"
 
-#: src/lang.c:1588
+#: src/lang.c:1608
 msgid	"A regex used to decide which lines to show in col_quote2."
 msgstr	"Regulaaravaldis otsustamaks, milliseid ridu näidata col_quote2."
 
-#: src/lang.c:1589
+#: src/lang.c:1609
 msgid	"Regex used to show twice quoted l. :"
 msgstr	"Topelt tsiteeritud ridu näitav reg :"
 
-#: src/lang.c:1590
+#: src/lang.c:1610
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4748,15 +4785,15 @@ msgstr	"# Regulaaravaldis, mida tin kasu
 	"# näidatakse col_quote2.\n"
 	"# Kui te jätate selle tühjaks, kasutab tin sisseehitatud väärtust.\n"
 
-#: src/lang.c:1596
+#: src/lang.c:1616
 msgid	"A regex used to decide which lines to show in col_quote3."
 msgstr	"Regulaaravaldis otsustamaks, milliseid ridu näidata col_quote3."
 
-#: src/lang.c:1597
+#: src/lang.c:1617
 msgid	"Regex used to show >= 3 times q.l. :"
 msgstr	">= 3 tsiteeritud ridu näitav reg   :"
 
-#: src/lang.c:1598
+#: src/lang.c:1618
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4765,15 +4802,15 @@ msgstr	"# Regulaaravaldis, mida tin kasu
 	"# näidatakse col_quote3.\n"
 	"# Kui te jätate selle tühjaks, kasutab tin sisseehitatud väärtust.\n"
 
-#: src/lang.c:1605
+#: src/lang.c:1625
 msgid	"A regex used to decide which words to show in col_markslashes."
 msgstr	"Regex et otsustada, milliseid sõnu näidata col_markslashes abil."
 
-#: src/lang.c:1606
+#: src/lang.c:1626
 msgid	"Regex used to highlight /slashes/  :"
 msgstr	"Regex et esile tõsta /kaldkriipse/ :"
 
-#: src/lang.c:1607
+#: src/lang.c:1627
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '/' are to be shown in col_markslashes.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4781,15 +4818,15 @@ msgstr	"# Regulaaravaldis mida tin kasut
 	"# sõnu näidata col_markslashes abil. Kui jätate selle tühjaks, kasutab\n"
 	"# tin sisse ehitatud vaikeväärtust.\n"
 
-#: src/lang.c:1613
+#: src/lang.c:1633
 msgid	"A regex used to decide which words to show in col_markstars."
 msgstr	"Regex et otsustada, milliseid sõnu näidata col_markstars abil."
 
-#: src/lang.c:1614
+#: src/lang.c:1634
 msgid	"Regex used to highlight *stars*    :"
 msgstr	"Regex et esile tõsta *tärne*       :"
 
-#: src/lang.c:1615
+#: src/lang.c:1635
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '*' are to be shown in col_markstars.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4797,15 +4834,15 @@ msgstr	"# Regulaaravaldis mida tin kasut
 	"# sõnu näidata col_markstars abil. Kui jätate selle tühjaks, kasutab\n"
 	"# tin sisse ehitatud vaikeväärtust.\n"
 
-#: src/lang.c:1621
+#: src/lang.c:1641
 msgid	"A regex used to decide which words to show in col_markstroke."
 msgstr	"Regex et otsustada, milliseid sõnu näidata col_markstroke abil."
 
-#: src/lang.c:1622
+#: src/lang.c:1642
 msgid	"Regex used to highlight -strokes-  :"
 msgstr	"Regex et esile tõsta -kriipse-     :"
 
-#: src/lang.c:1623
+#: src/lang.c:1643
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '-' are to be shown in col_markstroke.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4813,15 +4850,15 @@ msgstr	"# Regulaaravaldis mida tin kasut
 	"# sõnu näidata col_markstroke abil. Kui jätate selle tühjaks, kasutab\n"
 	"# tin sisse ehitatud vaikeväärtust.\n"
 
-#: src/lang.c:1629
+#: src/lang.c:1649
 msgid	"A regex used to decide which words to show in col_markdash."
 msgstr	"Regex et otsustada, milliseid sõnu näidata col_markdash abil."
 
-#: src/lang.c:1630
+#: src/lang.c:1650
 msgid	"Regex used to highlight _underline_:"
 msgstr	"Regex et esile tõsta _alakriipse_  :"
 
-#: src/lang.c:1631
+#: src/lang.c:1651
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '_' are to be shown in col_markdash.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
@@ -4829,44 +4866,44 @@ msgstr	"# Regulaaravaldis mida tin kasut
 	"# sõnu näidata col_markdash abil. Kui jätate selle tühjaks, kasutab\n"
 	"# tin sisse ehitatud vaikeväärtust.\n"
 
-#: src/lang.c:1637
+#: src/lang.c:1657
 msgid	"A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr	"Regulaaravaldis eemaldatava teema prefiksi leidmiseks. Eraldajaks on '|'."
 
-#: src/lang.c:1638
+#: src/lang.c:1658
 msgid	"Regex with Subject prefixes        :"
 msgstr	"Regex teema prefiksi leidmiseks    :"
 
-#: src/lang.c:1639
+#: src/lang.c:1659
 msgid	"# A regular expression that tin will use to find Subject prefixes\n"
 	"# which will be removed before showing the header.\n"
 msgstr	"# Regulaaravaldis, mida tin kasutab, et leida teema prefiksit, mida\n"
 	"# enne päise näitamist eemaldada.\n"
 
-#: src/lang.c:1644
+#: src/lang.c:1664
 msgid	"A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr	"Regulaaravaldis eemaldatava teema sufiksi leidmiseks. Eraldajaks on '|'."
 
-#: src/lang.c:1645
+#: src/lang.c:1665
 msgid	"Regex with Subject suffixes        :"
 msgstr	"Regex teema sufiksi leidmiseks     :"
 
-#: src/lang.c:1646
+#: src/lang.c:1666
 msgid	"# A regular expression that tin will use to find Subject suffixes\n"
 	"# which will be removed when replying or posting followup.\n"
 msgstr	"# Regulaaravaldis, mida tin kasutab teema sufiksi leidmiseks,\n"
 	"# mis eemaldatakse vastuse saatmisel või postitamisel.\n"
 
-#: src/lang.c:1651
+#: src/lang.c:1671
 msgid	"Enter name and options for external MIME viewer, --internal for built-in "
 	"viewer"
 msgstr	"Sisestage välise MIME lehitseja nimi ja võtmed, sisemise valib --internal"
 
-#: src/lang.c:1652
+#: src/lang.c:1672
 msgid	"MIME binary content viewer         :"
 msgstr	"MIME kahendsisu lehitseja          :"
 
-#: src/lang.c:1653
+#: src/lang.c:1673
 msgid	"# If --internal automatically use the built in MIME viewer for non-text\n"
 	"# parts of articles.\n"
 	"# Otherwise specify an external viewer program (eg, metamail) or leave blank\n"
@@ -4876,372 +4913,377 @@ msgstr	"# --internal korral kasuta artik
 	"# Muidu määra automaatseks vaatamiseks väline programm (nt. metamail) või\n"
 	"# jäta tühjaks\n"
 
-#: src/lang.c:1660
+#: src/lang.c:1680
 msgid	"Confirm before starting non-text viewing program"
 msgstr	"Küsi enne mitte-tekstiliste osade vaatamist kinnitust"
 
-#: src/lang.c:1661
+#: src/lang.c:1681
 msgid	"Ask before using MIME viewer       :"
 msgstr	"Küsi MIME lehitseja kasutamise luba:"
 
-#: src/lang.c:1662
+#: src/lang.c:1682
 msgid	"# If ON tin will ask before using metamail to display MIME messages\n"
 	"# this only happens if metamail_prog is set to something\n"
 msgstr	"# Kui väärtus on ON, küsi metamaili kasutamise luba\n"
 	"# see juhtub ainult siis, kui metamail_prog on väärtustatud\n"
 
-#: src/lang.c:1667
+#: src/lang.c:1687
 msgid	"Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr	"Küsi, kas märkida väljumisel grupid loetuks. <TÜHIK> lülitab ja <CR> seab."
 
-#: src/lang.c:1668
+#: src/lang.c:1688
 msgid	"Catchup read groups when quitting  :"
 msgstr	"Väljumisel märkida grupid loetuks  :"
 
-#: src/lang.c:1669
+#: src/lang.c:1689
 msgid	"# If ON ask user if read groups should all be marked read\n"
 msgstr	"# Kui väärtus on ON, küsi kasutajalt, kas märkida loetud gruppides kõik\n"
 	"# artiklid loetuks\n"
 
-#: src/lang.c:1674
+#: src/lang.c:1694
 msgid	"Catchup group using left key       :"
 msgstr	"Nool vasakule märgib grupi loetuks :"
 
-#: src/lang.c:1675
+#: src/lang.c:1695
 msgid	"# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr	"# Kui väärtus on ON, märgi grupp/teema loetuks, kui sellest väljutakse\n"
 	"# nool vasakule klahviga.\n"
 
-#: src/lang.c:1680
+#: src/lang.c:1700
 msgid	"Catchup thread by using left key   :"
 msgstr	"Nool vasakule märgib teema loetuks :"
 
-# TRANSLATION TOO LONG
-#: src/lang.c:1686
+#: src/lang.c:1706
 msgid	"Which actions require confirmation :"
-msgstr	"Millised tegevused nõuavad kinnitust:"
+msgstr	"Tegevused mis nõuavad kinnitust    :"
 
-#: src/lang.c:1687
+#: src/lang.c:1707
 msgid	"# What should we ask confirmation for.\n"
 msgstr	"# Millele me peaksime küsima kinnitust.\n"
 
-# TRANSLATION TOO LONG
-#: src/lang.c:1692
+#: src/lang.c:1712
 msgid	"'Mark article read' ignores tags   :"
-msgstr	"'Märgi artikkel loetuks' ignoreerib märke:"
+msgstr	"'Märgi art. loetuks' eirab märke   :"
 
-#: src/lang.c:1693
+#: src/lang.c:1713
 msgid	"# If ON the 'Mark article read' function marks only the current article.\n"
 msgstr	"# Kui väärtus on ON märgib 'Märgi artikkel loetuks' funktsioon ainult\n"
 	"# jooksva artikli.\n"
 
-#: src/lang.c:1697
+#: src/lang.c:1717
 msgid	"Program to run to open URL's, <CR> sets, <ESC> cancels."
 msgstr	"Programm URLide avamiseks, <CR> seab, <ESC> katkestab."
 
-#: src/lang.c:1698
+#: src/lang.c:1718
 msgid	"Program that opens URL's           :"
 msgstr	"Programm URLide avamiseks          :"
 
-#: src/lang.c:1699
+#: src/lang.c:1719
 msgid	"# The program used to open URL's. The actual URL will be appended\n"
 msgstr	"# Programm URLide avamiseks. URL lisatakse argumendiks\n"
 
-#: src/lang.c:1704
+#: src/lang.c:1724
 msgid	"Use mouse in xterm                 :"
 msgstr	"Kasuta xterm aknas hiirt           :"
 
-#: src/lang.c:1705
+#: src/lang.c:1725
 msgid	"# If ON enable mouse key support on xterm terminals\n"
 msgstr	"# Kui väärtus on ON, luba xterm aknas hiire tugi\n"
 
-#: src/lang.c:1711
+#: src/lang.c:1731
 msgid	"Use scroll keys on keypad          :"
 msgstr	"Kasuta kerimisnuppe                :"
 
-#: src/lang.c:1712
+#: src/lang.c:1732
 msgid	"# If ON enable scroll keys on terminals that support it\n"
 msgstr	"# Kui väärtus on ON, luba kerimisnuppude kasutamist terminalidel, millel need "
 	"on olemas\n"
 
-#: src/lang.c:1717
+#: src/lang.c:1737
 msgid	"Enter maximum number of article to get. <CR> sets."
 msgstr	"Sisestage suurim laetavate artiklite arv. <CR> seab."
 
-#: src/lang.c:1718
+#: src/lang.c:1738
 msgid	"Number of articles to get          :"
 msgstr	"Laetavate artiklite arv            :"
 
-#: src/lang.c:1719
+#: src/lang.c:1739
 msgid	"# Number of articles to get (0=no limit), if negative sets maximum number\n"
 	"# of already read articles to be read before first unread one\n"
 msgstr	"# Laetavate artiklite arv (0=limiit puudub), negatiivne väärtus seab\n"
 	"# maksimaalse arvu loetud artikleid, mida lugeda enne lugemata artiklit\n"
 
-#: src/lang.c:1724
+#: src/lang.c:1744
 msgid	"Enter number of days article is considered recent. <CR> sets."
 msgstr	"Sisestage artikli värskuse kestus. <CR> seab."
 
-#: src/lang.c:1725
+#: src/lang.c:1745
 msgid	"Article recentness time limit      :"
 msgstr	"Artikli värskuse ajapiir           :"
 
-#: src/lang.c:1726
+#: src/lang.c:1746
 msgid	"# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr	"# Päevad, mille jooksul loetakse artiklit värskeks, (0=OFF)\n"
 
-#: src/lang.c:1730
+#: src/lang.c:1750
 msgid	"WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr	"WILDMAT tavalistele jokkeritele, REGEX täisregulaaravaldistega otsimisele."
 
-#: src/lang.c:1731
+#: src/lang.c:1751
 msgid	"Wildcard matching                  :"
 msgstr	"Jokkeritega otsimine               :"
 
-#: src/lang.c:1732
+#: src/lang.c:1752
 msgid	"# Wildcard matching 0=(wildmat) 1=(regex)\n"
 msgstr	"# Jokkeritega otsimine 0=(wildmat) 1=(regex)\n"
 
-#: src/lang.c:1736
+#: src/lang.c:1756
 msgid	"Enter minimal score before an article is marked killed. <CR> sets."
 msgstr	"Sisestage minimaalne kaal artikli surmamiseks. <CR> seab."
 
-#: src/lang.c:1737
+#: src/lang.c:1757
 msgid	"Score limit (kill)                 :"
 msgstr	"Kaalu alampiir (surmamine)         :"
 
-#: src/lang.c:1738
+#: src/lang.c:1758
 msgid	"# Score limit before an article is marked killed\n"
 msgstr	"# Kaalu alampiir, enne kui artikkel märgitakse surmatuks\n"
 
-#: src/lang.c:1742
+#: src/lang.c:1762
 msgid	"Enter default score to kill articles. <CR> sets."
 msgstr	"Sisestage vaikimisi kaal artiklite surmamiseks. <CR> seab."
 
-# TRANSLATION TOO LONG
-#: src/lang.c:1743
+#: src/lang.c:1763
 msgid	"Default score to kill articles     :"
-msgstr	"Vaikimisi kaal artiklite surmamiseks:"
+msgstr	"Artiklite surmamise vaikimisi kaal :"
 
-#: src/lang.c:1744
+#: src/lang.c:1764
 msgid	"# Default score to kill articles\n"
 msgstr	"# Vaikimisi kaal artiklite surmamiseks\n"
 
-#: src/lang.c:1748
+#: src/lang.c:1768
 msgid	"Enter minimal score before an article is marked hot. <CR> sets."
 msgstr	"Sisestage minimaalne kaal, enne kui artikkel märgitakse kuumaks. <CR> seab."
 
-#: src/lang.c:1749
+#: src/lang.c:1769
 msgid	"Score limit (select)               :"
 msgstr	"Kaalu alampiir (valik)             :"
 
-#: src/lang.c:1750
+#: src/lang.c:1770
 msgid	"# Score limit before an article is marked hot\n"
 msgstr	"# Kaalu alampiir, enne kui artikkel märgitakse muumaks\n"
 
-#: src/lang.c:1754
+#: src/lang.c:1774
 msgid	"Enter default score to select articles. <CR> sets."
 msgstr	"Sisestage vaikimisi kaal artiklite valimiseks. <CR> seab."
 
-#: src/lang.c:1755
+#: src/lang.c:1775
 msgid	"Default score to select articles   :"
 msgstr	"Vaikimisi kaal artiklite valimiseks:"
 
-#: src/lang.c:1756
+#: src/lang.c:1776
 msgid	"# Default score to select articles\n"
 msgstr	"# Vaikimisi kaal artiklite valimiseks\n"
 
-# TRANSLATION TOO LONG
-#: src/lang.c:1762
+#: src/lang.c:1782
 msgid	"Use slrnface to show ''X-Face:''s  :"
-msgstr	"Et näidata ''X-Face:'', kasutage slrnface:"
+msgstr	"''X-Face:'' näitamiseks slrnface   :"
 
-#: src/lang.c:1763
+#: src/lang.c:1783
 msgid	"# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 	"# Only useful when running in an xterm.\n"
 msgstr	"# Kui väärtus on ON, kasutan ''X-Face:'' päiste käsitlemiseks slrnface(1).\n"
 	"# Kasulik ainult xterm aknas.\n"
 
-#: src/lang.c:1771
+#: src/lang.c:1791
 msgid	"Use ANSI color                     :"
 msgstr	"Kasuta ANSI värve                  :"
 
-#: src/lang.c:1772
+#: src/lang.c:1792
 msgid	"# If ON using ANSI-color\n"
 msgstr	"# Kui väärtus on ON, kasuta ANSI värve\n"
 
-#: src/lang.c:1777
+#: src/lang.c:1797
 msgid	"Standard foreground color          :"
 msgstr	"Standardne esiplaani värv          :"
 
-#: src/lang.c:1778
+#: src/lang.c:1798
 msgid	"# Standard foreground color\n"
 msgstr	"# Standardne esiplaani värv\n"
 
-#: src/lang.c:1783
+#: src/lang.c:1803
 msgid	"Standard background color          :"
 msgstr	"Standardne tagaplaani värv         :"
 
-#: src/lang.c:1784
+#: src/lang.c:1804
 msgid	"# Standard-Background-Color\n"
 msgstr	"# Standardne tagaplaani värv\n"
 
-#: src/lang.c:1789
+#: src/lang.c:1809
 msgid	"Color for inverse text (background):"
 msgstr	"Pööratud teksti värv (tagaplaan)   :"
 
-#: src/lang.c:1790
+#: src/lang.c:1810
 msgid	"# Color of background for inverse text\n"
 msgstr	"# Pööratud teksti tagaplaani värv\n"
 
-#: src/lang.c:1795
+#: src/lang.c:1815
 msgid	"Color for inverse text (foreground):"
 msgstr	"Pööratud teksti värv (esiplaan)    :"
 
-#: src/lang.c:1796
+#: src/lang.c:1816
 msgid	"# Color of foreground for inverse text\n"
 msgstr	"# Pööratud teksti esiplaani värv\n"
 
-#: src/lang.c:1801
+#: src/lang.c:1821
 msgid	"Color of text lines                :"
 msgstr	"Tekstiridade värv                  :"
 
-#: src/lang.c:1802
+#: src/lang.c:1822
 msgid	"# Color of text-lines\n"
 msgstr	"# Tekstiridade värv\n"
 
-#: src/lang.c:1807
+#: src/lang.c:1827
 msgid	"Color of mini help menu            :"
 msgstr	"Miniabiinfo värv                   :"
 
-#: src/lang.c:1808
+#: src/lang.c:1828
 msgid	"# Color of mini help menu\n"
 msgstr	"# Miniabiinfo värv\n"
 
-#: src/lang.c:1813
+#: src/lang.c:1833
 msgid	"Color of help text                 :"
 msgstr	"Abiinfo värv                       :"
 
-#: src/lang.c:1814
+#: src/lang.c:1834
 msgid	"# Color of help pages\n"
 msgstr	"# Abiinfo värv\n"
 
-#: src/lang.c:1819
+#: src/lang.c:1839
 msgid	"Color of status messages           :"
 msgstr	"Olekuteadete värv                  :"
 
-#: src/lang.c:1820
+#: src/lang.c:1840
 msgid	"# Color of messages in last line\n"
 msgstr	"# Viimasel real olevate teadete värv\n"
 
-#: src/lang.c:1825
+#: src/lang.c:1845
 msgid	"Color of quoted lines              :"
 msgstr	"Tsitaadi värv                      :"
 
-#: src/lang.c:1826
+#: src/lang.c:1846
 msgid	"# Color of quote-lines\n"
 msgstr	"# Tsitaadi värv\n"
 
-#: src/lang.c:1831
+#: src/lang.c:1851
 msgid	"Color of twice quoted line         :"
 msgstr	"Topelt tsiteeritud rea värv        :"
 
-#: src/lang.c:1832
+#: src/lang.c:1852
 msgid	"# Color of twice quoted lines\n"
 msgstr	"# Topelt tsiteeritud rea värv\n"
 
-#: src/lang.c:1837
+#: src/lang.c:1857
 msgid	"Color of =>3 times quoted line     :"
 msgstr	"=>3 korda tsiteeritud rea värv     :"
 
-#: src/lang.c:1838
+#: src/lang.c:1858
 msgid	"# Color of >=3 times quoted lines\n"
 msgstr	"# =>3 korda tsiteeritud rea värv\n"
 
-#: src/lang.c:1843
+#: src/lang.c:1863
 msgid	"Color of article header lines      :"
 msgstr	"Artikli päiseridade värv           :"
 
-#: src/lang.c:1844
+#: src/lang.c:1864
 msgid	"# Color of header-lines\n"
 msgstr	"# Päiseridade värv\n"
 
-#: src/lang.c:1849
+#: src/lang.c:1869
 msgid	"Color of actual news header fields :"
 msgstr	"Artikli tegelike päiseridade värv  :"
 
-#: src/lang.c:1850
+#: src/lang.c:1870
 msgid	"# Color of actual news header fields\n"
 msgstr	"# Artikli tegelike päiseridade värv\n"
 
-#: src/lang.c:1855
+#: src/lang.c:1875
 msgid	"Color of article subject lines     :"
 msgstr	"Artikli teemarea värv              :"
 
-#: src/lang.c:1856
+#: src/lang.c:1876
 msgid	"# Color of article subject\n"
 msgstr	"# Artikli teema värv\n"
 
-#: src/lang.c:1861
+#: src/lang.c:1881
 msgid	"Color of response counter          :"
 msgstr	"Vastuste arvu loenduri värv        :"
 
-#: src/lang.c:1862
+#: src/lang.c:1882
 msgid	"# Color of response counter\n"
 msgstr	"# Vastuste arvu loenduri värv\n"
 
-#: src/lang.c:1867
+#: src/lang.c:1887
 msgid	"Color of sender (From:)            :"
 msgstr	"Saatja värv (From:)                :"
 
-#: src/lang.c:1868
+#: src/lang.c:1888
 msgid	"# Color of sender (From:)\n"
 msgstr	"# Saatja värv (From:)\n"
 
-#: src/lang.c:1873
+#: src/lang.c:1893
 msgid	"Color of help/mail sign            :"
 msgstr	"Abiinfo/kirja teate värv           :"
 
-#: src/lang.c:1874
+#: src/lang.c:1894
 msgid	"# Color of Help/Mail-Sign\n"
 msgstr	"# Abiinfo/kirja teate värv\n"
 
-#: src/lang.c:1879
+#: src/lang.c:1899
 msgid	"Color of signatures                :"
 msgstr	"Signatuuri värv                    :"
 
-#: src/lang.c:1880
+#: src/lang.c:1900
 msgid	"# Color of signature\n"
 msgstr	"# Signatuuri värv\n"
 
-#: src/lang.c:1885
+# TRANSLATION MISSING
+#: src/lang.c:1905
+msgid	"Color of highlighted URLs          :"
+msgstr	""
+
+# TRANSLATION MISSING
+#: src/lang.c:1906
+msgid	"# Color of highlighted URLs\n"
+msgstr	""
+
+#: src/lang.c:1911
 msgid	"Color of highlighting with *stars* :"
 msgstr	"*tärnidega* esiletõstmise värv     :"
 
-#: src/lang.c:1886
+#: src/lang.c:1912
 msgid	"# Color of word highlighting. There are four possibilities\n"
 	"# in articles: *stars*, /slashes/, _underdashes_ and -strokes-.\n"
 msgstr	"# Sõnade esiletõstmise värv. Artiklites saab kasutada nelja võimalust:\n"
 	"# *tärnid*, /kaldkriipsud/, _alakriipsud_ ja -kriipsud-.\n"
 
-#: src/lang.c:1892
+#: src/lang.c:1918
 msgid	"Color of highlighting with _dash_  :"
 msgstr	"_alakriipsudega_ esiletõstmise värv:"
 
-# TRANSLATION TOO LONG
-#: src/lang.c:1898
+#: src/lang.c:1924
 msgid	"Color of highlighting with /slash/ :"
-msgstr	"/Kaldkriipsudega/ esiletõstmise värv:"
+msgstr	"/Kaldkriipsude/ esiletõstmise värv :"
 
-#: src/lang.c:1904
+#: src/lang.c:1930
 msgid	"Color of highlighting with -stroke-:"
 msgstr	"-Kriipsudega- esiletõstmise värv   :"
 
-#: src/lang.c:1911
+#: src/lang.c:1937
 msgid	"Attr. of highlighting with *stars* :"
 msgstr	"*tärnidega* esiletõstmise atribuut :"
 
-#: src/lang.c:1912
+#: src/lang.c:1938
 msgid	"# Attribute of word highlighting on mono terminals.\n"
 	"# There are four possibilities in articles:\n"
 	"# *stars*, /slashes/, _underdashes_ and -strokes-.\n"
@@ -5255,42 +5297,39 @@ msgstr	"# Sõnade esiletõstmise atribuut 
 	"# 0 - Tavaline, 1 - Allajoonitud, 2 - Parim esiletõstmine,\n"
 	"# 3 - Pööratud video, 4 - Plinkiv, 5 - Poolhele, 6 - Paks\n"
 
-#: src/lang.c:1922
+#: src/lang.c:1948
 msgid	"Attr. of highlighting with _dash_  :"
 msgstr	"_alakriipsudega_ esiletõstmise atr.:"
 
-# TRANSLATION TOO LONG
-#: src/lang.c:1928
+#: src/lang.c:1954
 msgid	"Attr. of highlighting with /slash/ :"
-msgstr	"/Kaldkriipsudega/ esiletõstmise atr.:"
+msgstr	"/Kaldkriipsude/ esiletõstmise atr. :"
 
-#: src/lang.c:1934
+#: src/lang.c:1960
 msgid	"Attr. of highlighting with -stroke-:"
 msgstr	"-Kriipsudega- esiletõstmise atr.   :"
 
-# TRANSLATION MISSING 
-#: src/lang.c:1940
+#: src/lang.c:1966
 msgid	"URL highlighting in message body   :"
-msgstr	""
+msgstr	"Teate kehas URL esiletõstmine      :"
 
-# TRANSLATION MISSING 
-#: src/lang.c:1941
+#: src/lang.c:1967
 msgid	"# Enable URL highlighting?\n"
-msgstr	""
+msgstr	"# Luba URLide esiletõstmine?\n"
 
-#: src/lang.c:1946
+#: src/lang.c:1972
 msgid	"Word highlighting in message body  :"
 msgstr	"Sõnade esiletõstmine teate kehas   :"
 
-#: src/lang.c:1947
+#: src/lang.c:1973
 msgid	"# Enable word highlighting?\n"
 msgstr	"# Lubada sõnade esiletõstmine?\n"
 
-#: src/lang.c:1952
+#: src/lang.c:1978
 msgid	"What to display instead of mark    :"
 msgstr	"Mida näidata märgi asemel          :"
 
-#: src/lang.c:1953
+#: src/lang.c:1979
 msgid	"# Should the leading and ending stars and dashes also be displayed,\n"
 	"# even when they are highlighting marks?\n"
 	"# 0 - no    1 - yes, display mark    2 - print a space instead\n"
@@ -5298,55 +5337,55 @@ msgstr	"# Kas näidata algavaid ja lõppev
 	"# isegi, kui need on ka esiletõstmise märgid?\n"
 	"# 0 - ei    1 - jah, näita märki    2 - trüki hoopis tühik\n"
 
-#: src/lang.c:1959
+#: src/lang.c:1985
 msgid	"Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr	"Sisestage veerg, millelt lehitseja hakkab ridu murdma. <CR> seab."
 
-#: src/lang.c:1960
+#: src/lang.c:1986
 msgid	"Page line wrap column              :"
 msgstr	"Rea murdmise veerg lehitsejas      :"
 
-#: src/lang.c:1961
+#: src/lang.c:1987
 msgid	"# Wrap article lines at column\n"
 msgstr	"# Murra artikli read antud veerus\n"
 
-#: src/lang.c:1966
+#: src/lang.c:1992
 msgid	"Wrap around threads on next unread :"
 msgstr	"Liigu lugemata art-le ümber teemade:"
 
-#: src/lang.c:1967
+#: src/lang.c:1993
 msgid	"# If ON wrap around threads on searching next unread article\n"
 msgstr	"# Kui väärtus on ON, liigu lugemata artiklite otsingul ümber teemade\n"
 
-#: src/lang.c:1971
+#: src/lang.c:1997
 msgid	"Enter default mail address (and fullname). <CR> sets."
 msgstr	"Sisestage oma e-posti aadress (ja oma nimi). <CR> seab."
 
-#: src/lang.c:1972
+#: src/lang.c:1998
 msgid	"Mail address (and fullname)        :"
 msgstr	"E-posti aadress (ja teie nimi)     :"
 
-#: src/lang.c:1973
+#: src/lang.c:1999
 msgid	"# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr	"# Kasutaja e-posti aadress (ja nimi), kui ei ole kasutaja@host (nimi)\n"
 
-#: src/lang.c:1978
+#: src/lang.c:2004
 msgid	"Show empty Followup-To in editor   :"
 msgstr	"Näita toimetis tühja Followup-To   :"
 
-#: src/lang.c:1979
+#: src/lang.c:2005
 msgid	"# If ON show empty Followup-To header when editing an article\n"
 msgstr	"# Kui väärtus on ON, näita artikli toimetamisel tühja Followup-To rida\n"
 
-#: src/lang.c:1983
+#: src/lang.c:2009
 msgid	"Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr	"Sisestage tee/! käsk/--none, et luua oma vaikimisi signatuur. <CR> seab."
 
-#: src/lang.c:1984
+#: src/lang.c:2010
 msgid	"Create signature from path/command :"
 msgstr	"Signatuuri loomiseks tee/käsk      :"
 
-#: src/lang.c:1985
+#: src/lang.c:2011
 msgid	"# Signature path (random sigs)/file to be used when posting/replying\n"
 	"# default_sigfile=file       appends file as signature\n"
 	"# default_sigfile=!command   executes external command to generate a "
@@ -5357,49 +5396,49 @@ msgstr	"# Postitamisel/vastamisel kasuta
 	"# default_sigfile=!käsk      käivitab käsu, mis genereerib signatuuri\n"
 	"# default_sigfile=--none     ära lisa signatuuri\n"
 
-#: src/lang.c:1992
+#: src/lang.c:2018
 msgid	"Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr	"Signatuurile eelnevale reale \"-- \". <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:1993
+#: src/lang.c:2019
 msgid	"Prepend signature with \"-- \"       :"
 msgstr	"Lisa signatuuri ette \"-- \"         :"
 
-#: src/lang.c:1994
+#: src/lang.c:2020
 msgid	"# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr	"# Kui väärtus on ON, lisa signatuuri ette '\\n-- \\n'\n"
 
-#: src/lang.c:1998
+#: src/lang.c:2024
 msgid	"Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr	"Lisa artikli uuestipostitamisel signatuur. <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:1999
+#: src/lang.c:2025
 msgid	"Add signature when reposting       :"
 msgstr	"Lisa uuestipostitusel signatuur    :"
 
-#: src/lang.c:2000
+#: src/lang.c:2026
 msgid	"# If ON add signature to reposted articles\n"
 msgstr	"# Kui väärtus on ON, lisa uuestipostitatud artiklile signatuur\n"
 
-#: src/lang.c:2004
+#: src/lang.c:2030
 msgid	"Enter quotation marks, %s or %S for author's initials."
 msgstr	"Sisestage tsitaadimärgid, %s või %S annab autori initsiaalid."
 
-#: src/lang.c:2005
+#: src/lang.c:2031
 msgid	"Characters used as quote-marks     :"
 msgstr	"Tsiteerimise märgid                :"
 
-#: src/lang.c:2006
+#: src/lang.c:2032
 msgid	"# Characters used in quoting to followups and replies.\n"
 	"# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n"
 msgstr	"# Sümbolid, mida kasutada tsiteerimisel vastustes.\n"
 	"# '_' asendatakse tühikuga ' ', %%s, %%S asendatakse autori initsiaalidega.\n"
 
-#: src/lang.c:2012
+#: src/lang.c:2038
 msgid	"Quoting behavior                   :"
 msgstr	"Käitumine tsiteerimisel            :"
 
-#: src/lang.c:2013
+#: src/lang.c:2039
 msgid	"# How quoting should be handled when following up or replying.\n"
 	"# 0 = Nothing special\n"
 	"# 1 = Compress quotes\n"
@@ -5419,15 +5458,15 @@ msgstr	"# Kuidas käsitleda vastamisel ts
 	"# 6 = Tsiteeri allkirju, tsiteeri tühje ridu\n"
 	"# 7 = Tihenda tsitaadid, tsiteeri allkirju, tsiteeri tühje ridu\n"
 
-#: src/lang.c:2025 src/lang.c:2033 src/lang.c:2039
+#: src/lang.c:2051 src/lang.c:2059 src/lang.c:2065
 msgid	"%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr	"%A Aadr. %D Kuup. %F Aadr.+Nimi %G Grupp %M Message-ID %N Nimi %C Eesnimi"
 
-#: src/lang.c:2026
+#: src/lang.c:2052
 msgid	"Quote line when following up       :"
 msgstr	"Tsiteerimise rida vastamisel       :"
 
-#: src/lang.c:2027
+#: src/lang.c:2053
 msgid	"# Format of quote line when mailing/posting/following-up an article\n"
 	"# %%A Address    %%D Date   %%F Addr+Name   %%G Groupname   %%M Message-ID\n"
 	"# %%N Full Name  %%C First Name   %%I Initials\n"
@@ -5435,35 +5474,35 @@ msgstr	"# Tsiteeriva rea vorming artikli
 	"# %%A Aadress    %%D Kuup   %%F Aadr+Nimi   %%G Grupp   %%M Message-ID\n"
 	"# %%N Täielik nimi  %%C Eesnimi   %%I Initsiaalid\n"
 
-#: src/lang.c:2034
+#: src/lang.c:2060
 msgid	"Quote line when cross-posting      :"
 msgstr	"Tsiteerimise rida ristpostitusel   :"
 
-#: src/lang.c:2040
+#: src/lang.c:2066
 msgid	"Quote line when mailing            :"
 msgstr	"Tsiteerimise rida kirjutamisel     :"
 
-#: src/lang.c:2045
+#: src/lang.c:2071
 msgid	"If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr	"Kasuta User-Agent: päiserida. <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:2046
+#: src/lang.c:2072
 msgid	"Insert 'User-Agent:'-header        :"
 msgstr	"Sisestage 'User-Agent:'-päis       :"
 
-#: src/lang.c:2047
+#: src/lang.c:2073
 msgid	"# If ON include advertising User-Agent: header\n"
 msgstr	"# Kui väärtus on ON, lisa artikli päisesse User-Agent: rida\n"
 
-#: src/lang.c:2051
+#: src/lang.c:2077
 msgid	"Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr	"Sisestage MIME kooditabeli nimi (n. US-ASCII, ISO-8859-15, EUC-KR), <CR> seab."
 
-#: src/lang.c:2052
+#: src/lang.c:2078
 msgid	"MM_CHARSET                         :"
 msgstr	"MM_CHARSET                         :"
 
-#: src/lang.c:2053
+#: src/lang.c:2079
 msgid	"# Charset supported locally which is also used for MIME header and\n"
 	"# Content-Type header.\n"
 	"# If not set, the value of the environment variable MM_CHARSET is used.\n"
@@ -5479,27 +5518,27 @@ msgstr	"# Lokaalselt toetatud kooditabel
 	"# loetakse mm_charset väärtusest erinev kooditabel mitte-näidatavaks\n"
 	"# ja näitamisel kasutatakse '?'.\n"
 
-#: src/lang.c:2064
+#: src/lang.c:2090
 msgid	"MM_NETWORK_CHARSET                 :"
 msgstr	"MM_NETWORK_CHARSET                 :"
 
-#: src/lang.c:2065
+#: src/lang.c:2091
 msgid	"# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr	"# Postituste MIME (Content-Type) päises kasutatav kooditabel.\n"
 
-#: src/lang.c:2071
+#: src/lang.c:2097
 msgid	"Mailbox format                     :"
 msgstr	"Kirjade kataloog                   :"
 
-#: src/lang.c:2072
+#: src/lang.c:2098
 msgid	"# Format of the mailbox.\n"
 msgstr	"# Kirjade kataloog.\n"
 
-#: src/lang.c:2077
+#: src/lang.c:2103
 msgid	"MIME encoding in news messages     :"
 msgstr	"Kasuta artiklites MIME kodeerimist :"
 
-#: src/lang.c:2078
+#: src/lang.c:2104
 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"
@@ -5511,15 +5550,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:2086 src/lang.c:2107
+#: src/lang.c:2112 src/lang.c:2133
 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:2087
+#: src/lang.c:2113
 msgid	"Use 8bit characters in news headers:"
 msgstr	"Kasuta artikli päises 8bit tähti   :"
 
-#: src/lang.c:2088
+#: src/lang.c:2114
 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"
@@ -5529,28 +5568,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:2095
+#: src/lang.c:2121
 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:2096
+#: src/lang.c:2122
 msgid	"View post-processed files          :"
 msgstr	"Vaata töödeldud faile              :"
 
-#: src/lang.c:2097
+#: src/lang.c:2123
 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:2102
+#: src/lang.c:2128
 msgid	"MIME encoding in mail messages     :"
 msgstr	"Kasuta kirjades MIME kodeerimist   :"
 
-#: src/lang.c:2108
+#: src/lang.c:2134
 msgid	"Use 8bit characters in mail headers:"
 msgstr	"Kasuta kirja päises 8bit tähti     :"
 
-#: src/lang.c:2109
+#: src/lang.c:2135
 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 "
@@ -5565,25 +5604,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:2119
+#: src/lang.c:2145
 msgid	"Strip blanks from ends of lines    :"
 msgstr	"Eemalda tühikud realõppudest       :"
 
-#: src/lang.c:2120
+#: src/lang.c:2146
 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:2125
+#: src/lang.c:2151
 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:2126
+#: src/lang.c:2152
 msgid	"Transliteration                    :"
 msgstr	"Transliteratsioon                  :"
 
-#: src/lang.c:2127
+#: src/lang.c:2153
 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"
@@ -5592,245 +5631,245 @@ msgstr	"# Kui väärtus on ON, kasuta //TR
 	"kasutades\n"
 	"# üht või enamat sarnast sümbolit.\n"
 
-#: src/lang.c:2134
+#: src/lang.c:2160
 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:2135
+#: src/lang.c:2161
 msgid	"Send you a cc automatically        :"
 msgstr	"Saada automaatselt koopia          :"
 
-#: src/lang.c:2136
+#: src/lang.c:2162
 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:2140
+#: src/lang.c:2166
 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:2141
+#: src/lang.c:2167
 msgid	"Send you a blind cc automatically  :"
 msgstr	"Saada automaatselt pimekoopia      :"
 
-#: src/lang.c:2142
+#: src/lang.c:2168
 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:2146
+#: src/lang.c:2172
 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:2147
+#: src/lang.c:2173
 msgid	"Spamtrap warning address parts     :"
 msgstr	"Rämpsposti hoiatus aadressi osadele:"
 
-#: src/lang.c:2148
+#: src/lang.c:2174
 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:2153
+#: src/lang.c:2179
 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:2154
+#: src/lang.c:2180
 msgid	"No. of days a filter entry is valid:"
 msgstr	"Filtri kehtivus päevades           :"
 
-#: src/lang.c:2155
+#: src/lang.c:2181
 msgid	"# Number of days a short term filter will be active\n"
 msgstr	"# lühiajalise filtri kehtivus päevades\n"
 
-#: src/lang.c:2159
+#: src/lang.c:2185
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	"Lisage postitatud artikkel filtrisse. <TÜHIK> lülitab, <CR> seab."
 
-#: src/lang.c:2160
+#: src/lang.c:2186
 msgid	"Add posted articles to filter      :"
 msgstr	"Lisage postitatud artikkel filtrile:"
 
-#: src/lang.c:2161
+#: src/lang.c:2187
 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:2165
+#: src/lang.c:2191
 msgid	"The directory where articles/threads are to be saved in mailbox format."
 msgstr	"Kataloog, kuhu artikleid/teemasid salvestatakse kirjaformaadis."
 
-#: src/lang.c:2166
+#: src/lang.c:2192
 msgid	"Mail directory                     :"
 msgstr	"Kirjade kataloog                   :"
 
-#: src/lang.c:2167
+#: src/lang.c:2193
 msgid	"# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr	"# (-m) kataloog, kuhu artikleid/teemasid salvestatakse kirjaformaadis\n"
 
-#: src/lang.c:2172
+#: src/lang.c:2198
 msgid	"Save articles in batch mode (-S)   :"
 msgstr	"Salvesta artiklid pakettmoodis (-S):"
 
-#: src/lang.c:2173
+#: src/lang.c:2199
 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:2178
+#: src/lang.c:2204
 msgid	"The directory where you want articles/threads saved."
 msgstr	"Kataloog, kuhu te soovite artikleid salvestada."
 
-#: src/lang.c:2179
+#: src/lang.c:2205
 msgid	"Directory to save arts/threads in  :"
 msgstr	"Kataloog artiklite salvestamiseks  :"
 
-#: src/lang.c:2180
+#: src/lang.c:2206
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	"# Kataloog, kuhu salvestatakse artiklid/teemad\n"
 
-#: src/lang.c:2184
+#: src/lang.c:2210
 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:2185
+#: src/lang.c:2211
 msgid	"Use Archive-name: header for save  :"
 msgstr	"Kasuta salvestamisel Archive-name: :"
 
-#: src/lang.c:2186
+#: src/lang.c:2212
 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:2191
+#: src/lang.c:2217
 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:2192
+#: src/lang.c:2218
 msgid	"Mark saved articles/threads as read:"
 msgstr	"Märgi salvestatud artiklid loetuks :"
 
-#: src/lang.c:2193
+#: src/lang.c:2219
 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:2197
+#: src/lang.c:2223
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	"Teosta salvestatud artiklitel järeltöötlemist (nt. lisade eraldamist)."
 
-#: src/lang.c:2198
+#: src/lang.c:2224
 msgid	"Post process saved articles        :"
 msgstr	"Salvestatud artikl. järeltöötlemine:"
 
-#: src/lang.c:2199
+#: src/lang.c:2225
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# 0=(no) 1=(yes) 2=(extract shell archives (shar) only)\n"
 msgstr	"# Teosta salvestatud artiklite järeltöötlemist (lisade eraldamine).\n"
 	"# 0=(ei) 1=(jah) 2=(eralda ainult shelli arhiivid (shar))\n"
 
-#: src/lang.c:2205
+#: src/lang.c:2231
 msgid	"Process only unread articles       :"
 msgstr	"Töötle ainult lugemata artikleid   :"
 
-#: src/lang.c:2206
+#: src/lang.c:2232
 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:2211
+#: src/lang.c:2237
 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:2212
+#: src/lang.c:2238
 msgid	"Print all headers when printing    :"
 msgstr	"Trükkimisel trüki kõik päised      :"
 
-#: src/lang.c:2213
+#: src/lang.c:2239
 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:2217
+#: src/lang.c:2243
 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:2218
+#: src/lang.c:2244
 msgid	"Printer program with options       :"
 msgstr	"Trükikäsk koos võtmetega           :"
 
-#: src/lang.c:2219
+#: src/lang.c:2245
 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:2225
+#: src/lang.c:2251
 msgid	"Force redraw after certain commands:"
 msgstr	"Värskenda ekraani peale käske      :"
 
-#: src/lang.c:2226
+#: src/lang.c:2252
 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:2230
+#: src/lang.c:2256
 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:2231
+#: src/lang.c:2257
 msgid	"Start editor with line offset      :"
 msgstr	"Käivita tekstitoimeti reanumbril   :"
 
-#: src/lang.c:2232
+#: src/lang.c:2258
 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:2237
+#: src/lang.c:2263
 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:2238
+#: src/lang.c:2264
 msgid	"Invocation of your editor          :"
 msgstr	"Teie tekstitoimeti                 :"
 
-#: src/lang.c:2239
+#: src/lang.c:2265
 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:2244
+#: src/lang.c:2270
 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:2245
+#: src/lang.c:2271
 msgid	"External inews                     :"
 msgstr	"Väline inews                       :"
 
-#: src/lang.c:2246
+#: src/lang.c:2272
 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:2250
+#: src/lang.c:2276
 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:2251
+#: src/lang.c:2277
 msgid	"Invocation of your mail command    :"
 msgstr	"Teie e-posti käsk                  :"
 
-#: src/lang.c:2252
+#: src/lang.c:2278
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
 	"# ie. to use elm as your mailer:    elm -s \"%%S\" \"%%T\" < %%F\n"
@@ -5840,134 +5879,144 @@ 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:2260
+#: src/lang.c:2286
 msgid	"Use interactive mail reader        :"
 msgstr	"Kasuta interaktiivset e-posti      :"
 
-# TRANSLATION MISSING
-#: src/lang.c:2261
+#: src/lang.c:2287
 msgid	"# Interactive mailreader:\n"
 	"# 0 = no interactive mailreader\n"
 	"# 1 = use interactive mailreader with headers in file\n"
 	"# 2 = use interactive mailreader without headers in file\n"
-msgstr	""
+msgstr	"# Interaktiivne e-posti programm:\n"
+	"# 0 = interaktiivset e-posti programmi pole\n"
+	"# 1 = kasuta interaktiivset e-posti programmi koos päistega failiga\n"
+	"# 2 = kasuta interaktiivset e-posti programmi koos päisteta failiga\n"
 
-#: src/lang.c:2269
+#: src/lang.c:2295
 msgid	"Remove ~/.article after posting    :"
 msgstr	"Eemalda ~/.article peale postitust :"
 
-#: src/lang.c:2270
+#: src/lang.c:2296
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	"# Kui väärtus on ON, kustuta  ~/.article peale postitust.\n"
 
-#: src/lang.c:2274
+#: src/lang.c:2300
 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:2275
+#: src/lang.c:2301
 msgid	"Filename for posted articles       :"
 msgstr	"Failinimi postitatud artiklitele   :"
 
-#: src/lang.c:2276
+#: src/lang.c:2302
 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:2281
+#: src/lang.c:2307
 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:2282
+#: src/lang.c:2308
 msgid	"Keep failed arts in ~/dead.articles:"
 msgstr	"Vigased artiklid ~/dead.articles   :"
 
-#: src/lang.c:2283
+#: src/lang.c:2309
 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:2287
+#: src/lang.c:2313
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	"Kas te soovite eemaldada tellimata grupid .newsrc failist"
 
-#: src/lang.c:2288
+#: src/lang.c:2314
 msgid	"No unsubscribed groups in newsrc   :"
 msgstr	"newsrcs ainult tellitud grupid     :"
 
-#: src/lang.c:2289
+#: src/lang.c:2315
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	"# Kui väärtus on ON, eemalda tellimata grupid newsrc failist\n"
 
-#: src/lang.c:2294
+#: src/lang.c:2320
 msgid	"Remove bogus groups from newsrc    :"
 msgstr	"Eemalda olematud grupid newsrcst   :"
 
-#: src/lang.c:2295
+#: src/lang.c:2321
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# 0=(Keep) 1=(Remove) 2=(Highlight with D on selection screen).\n"
 msgstr	"# Mida teha olematute gruppidega newsrc failis\n"
 	"# 0 =(Hoia alles) 1=(Eemalda) 2=(Märgi valikuekraanil D lipuga).\n"
 
-#: src/lang.c:2299
+#: src/lang.c:2325
 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:2300
+#: src/lang.c:2326
 msgid	"Interval in secs to reread active  :"
 msgstr	"Aktiivsete faili lugemise intervall:"
 
-#: src/lang.c:2301
+#: src/lang.c:2327
 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:2306
+#: src/lang.c:2332
 msgid	"Reconnect to server automatically  :"
 msgstr	"Taasta automaatselt NNTP ühendus   :"
 
-#: src/lang.c:2307
+#: src/lang.c:2333
 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:2311
+#: src/lang.c:2337
 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:2312
+#: src/lang.c:2338
 msgid	"Cache NNTP overview files locally  :"
 msgstr	"Puhverda NNTP overview lokaalselt  :"
 
-#: src/lang.c:2313
+#: src/lang.c:2339
 msgid	"# If ON, create local copies of NNTP overview files.\n"
 msgstr	"# Kui väärtus on ON, loo NNTP overview failidest lokaalsed koopiad.\n"
 
-# TRANSLATION MISSING
-#: src/lang.c:2317
+#: src/lang.c:2343
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
-msgstr	""
+msgstr	"Sisestage vormingusõne. <CR> seab, <ESC> katkestab."
 
-# TRANSLATION MISSING
-#: src/lang.c:2318
+#: src/lang.c:2344
 msgid	"Format string for display of dates :"
+msgstr	"Kuupäevade esitamise vormingusõne  :"
+
+#: src/lang.c:2345
+msgid	"# Format string for date representation\n"
+msgstr	"# Vormingusõne kuupäevade esitamiseks\n"
+
+# TRANSLATION MISSING
+#: src/lang.c:2351
+msgid	"Unicode normalization form         :"
 msgstr	""
 
 # TRANSLATION MISSING
-#: src/lang.c:2319
-msgid	"# Format string for date representation\n"
+#: src/lang.c:2352
+msgid	"# Unicode normalization form\n"
+	"# 0 = None, 1 = NFKC, 2 = NFKD, 3 = NFC, 4 = NFD\n"
 msgstr	""
 
-#: src/main.c:590
+#: src/main.c:586
 #, c-format
 msgid	"Version: %s release %s (\"%s\") %s %s"
 msgstr	"Versioon: %s väljalase %s (\"%s\") %s %s"
 
-#: src/main.c:593
+#: src/main.c:589
 #, c-format
 msgid	"Version: %s release %s (\"%s\")"
 msgstr	"Versioon: %s väljalase %s (\"%s\")"
 
-#: src/newsrc.c:432
+#: src/newsrc.c:433
 msgid	"Unreachable?\n"
 msgstr	"Kättesaamatu?\n"
 
@@ -5997,21 +6046,10 @@ msgstr	"Saada viimane käsk uuesti (%s)\n
 msgid	"couldn't expand %s\n"
 msgstr	"ei saa laiendada %s\n"
 
-#: src/post.c:1747
-#, c-format
-msgid	"%s is bogus"
-msgstr	"gruppi %s pole"
-
-#: src/post.c:1934
+#: src/post.c:1939
 #, c-format
 msgid	"Posting: %.*s ..."
 msgstr	"Postitan: %.*s ..."
-
-#. TODO: -> lang.c
-#: src/post.c:4037
-#, c-format
-msgid	"Rereading %s..."
-msgstr	"Loen %s uuesti..."
 
 #. fp
 #. Check if okay to read
Binary files tin-1.7.2/po/fr.gmo and tin-1.7.3/po/fr.gmo differ
diff -Nurp tin-1.7.2/po/fr.po tin-1.7.3/po/fr.po
--- tin-1.7.2/po/fr.po	Sun Oct 19 00:57:53 2003
+++ tin-1.7.3/po/fr.po	Sat Dec 20 18:45:16 2003
@@ -3,7 +3,7 @@
 #
 msgid	""
 msgstr	"Project-Id-Version: 1.7.0\n"
-	"POT-Creation-Date: 2003-10-19 00:55+0200\n"
+	"POT-Creation-Date: 2003-12-20 18:42+0100\n"
 	"PO-Revision-Date: 2003-07-04 04:15+0200\n"
 	"Last-Translator: Matt Anton <tin@syrius.org\n"
 	"Language-Team: French <tin@syrius.org>\n"
@@ -11,213 +11,217 @@ msgstr	"Project-Id-Version: 1.7.0\n"
 	"Content-Type: text/plain; charset=ISO-8859-1\n"
 	"Content-Transfer-Encoding: 8bit\n"
 
-#: src/art.c:1423
+#: src/art.c:1425
 #, c-format
 msgid	"%d Bad overview record (%d fields) '%s'"
 msgstr	""
 
-#: src/attrib.c:580
+#: src/attrib.c:585
 msgid	"# Do not edit this comment block\n"
 	"#\n"
 msgstr	"# Ne pas éditer ce commentaire\n"
 	"#\n"
 
-#: src/attrib.c:581
+#: src/attrib.c:586
 msgid	"#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
 msgstr	"#  scope=TERME (pe. alt.*,!alt.bin*) [obligatoire]\n"
 
-#: src/attrib.c:582
+#: src/attrib.c:587
 msgid	"#  maildir=STRING (ie. ~/Mail)\n"
 msgstr	"#  maildir=TERME (pe. ~/Mail)\n"
 
-#: src/attrib.c:583
+#: src/attrib.c:588
 msgid	"#  savedir=STRING (ie. ~user/News)\n"
 msgstr	"#  savedir=TERME (pe. ~user/News)\n"
 
-#: src/attrib.c:584
+#: src/attrib.c:589
 msgid	"#  savefile=STRING (ie. =linux)\n"
 msgstr	"#  savefile=TERME (pe. =linux)\n"
 
-#: src/attrib.c:585
+#: src/attrib.c:590
 msgid	"#  sigfile=STRING (ie. $var/sig)\n"
 msgstr	"#  sigfile=TERME (pe. $var/sig)\n"
 
-#: src/attrib.c:586
+#: src/attrib.c:591
 msgid	"#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr	"#  organization=TERME (si commence par '/' lire dans fichier)\n"
 
-#: src/attrib.c:587
+#: src/attrib.c:592
 msgid	"#  followup_to=STRING\n"
 msgstr	"#  followup_to=TERME\n"
 
-#: src/attrib.c:588
+#: src/attrib.c:593
 msgid	"#  mailing_list=STRING (ie. majordomo@example.org)\n"
 msgstr	"#  mailing_list=TERME (pe. majordomo@example.org)\n"
 
-#: src/attrib.c:589
+#: src/attrib.c:594
 msgid	"#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
 msgstr	"#  x_headers=TERME (pe. ~/.tin/extra-headers)\n"
 
-#: src/attrib.c:590
+#: src/attrib.c:595
 msgid	"#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
 msgstr	"#  x_body=TERME (pe. ~/.tin/extra-body-text)\n"
 
-#: src/attrib.c:591
+#: src/attrib.c:596
 msgid	"#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr	"#  from=TERME (choix du From:-ligne:, ne pas utiliser celui cité)\n"
 
-#: src/attrib.c:592
+#: src/attrib.c:597
 msgid	"#  news_quote_format=STRING\n"
 msgstr	"#  news_quote_format=TERME\n"
 
-#: src/attrib.c:593
+#: src/attrib.c:598
 msgid	"#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr	"#  quote_chars=TERME (%%s, %%S pour les initiales)\n"
 
-#: src/attrib.c:594
+#: src/attrib.c:599
 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:596
+#: src/attrib.c:601
 msgid	"#  ispell=STRING\n"
 msgstr	"#  ispell=TERME\n"
 
-#: src/attrib.c:598
+#: src/attrib.c:603
 msgid	"#  auto_select=ON/OFF\n"
 msgstr	"#  auto_select=ON/OFF\n"
 
-#: src/attrib.c:599
+#: src/attrib.c:604
 msgid	"#  auto_save=ON/OFF\n"
 msgstr	"#  auto_save=ON/OFF\n"
 
-#: src/attrib.c:600
+#: src/attrib.c:605
 msgid	"#  batch_save=ON/OFF\n"
 msgstr	"#  batch_save=ON/OFF\n"
 
-#: src/attrib.c:601
+#: src/attrib.c:606
 msgid	"#  delete_tmp_files=ON/OFF\n"
 msgstr	"#  delete_tmp_files=ON/OFF\n"
 
-#: src/attrib.c:602
+#: src/attrib.c:607
 msgid	"#  show_only_unread=ON/OFF\n"
 msgstr	"#  show_only_unread=ON/OFF\n"
 
-#: src/attrib.c:603
+#: src/attrib.c:608
 msgid	"#  thread_arts=NUM"
 msgstr	"#  thread_arts=NUM"
 
-#: src/attrib.c:610
+#: src/attrib.c:615
 msgid	"#  show_author=NUM\n"
 msgstr	"#  show_author=NUM\n"
 
-#: src/attrib.c:616
+#: src/attrib.c:621
+msgid	"#  show_info=NUM\n"
+msgstr	"#  show_info=NUM\n"
+
+#: src/attrib.c:627
 msgid	"#  sort_art_type=NUM\n"
 msgstr	"#  sort_art_type=NUM\n"
 
-#: src/attrib.c:634
+#: src/attrib.c:645
 msgid	"#  sort_threads_type=NUM\n"
 msgstr	"#  sort_threads_type=NUM\n"
 
-#: src/attrib.c:639
+#: src/attrib.c:650
 msgid	"#  post_proc_type=NUM\n"
 msgstr	"#  post_proc_type=NUM\n"
 
-#: src/attrib.c:644
+#: src/attrib.c:655
 msgid	"#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr	"#  quick_kill_scope=TERME (pe. talk.*)\n"
 
-#: src/attrib.c:645
+#: src/attrib.c:656
 msgid	"#  quick_kill_expire=ON/OFF\n"
 msgstr	"#  quick_kill_expire=ON/OFF\n"
 
-#: src/attrib.c:646
+#: src/attrib.c:657
 msgid	"#  quick_kill_case=ON/OFF\n"
 msgstr	"#  quick_kill_case=ON/OFF\n"
 
-#: src/attrib.c:647
+#: src/attrib.c:658
 msgid	"#  quick_kill_header=NUM\n"
 msgstr	"#  quick_kill_header=NUM\n"
 
-#: src/attrib.c:648 src/attrib.c:655
+#: src/attrib.c:659 src/attrib.c:666
 msgid	"#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr	"#    0=sujet (casse sensible) 1=sujet (ignore la casse)\n"
 
-#: src/attrib.c:649 src/attrib.c:656
+#: src/attrib.c:660 src/attrib.c:667
 msgid	"#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr	"#    2=de (casse sensible) 3=de (ignore la casse)\n"
 
-#: src/attrib.c:650 src/attrib.c:657
+#: src/attrib.c:661 src/attrib.c:668
 msgid	"#    4=msgid 5=lines\n"
 msgstr	"#    4=msgid 5=lignes\n"
 
-#: src/attrib.c:651
+#: src/attrib.c:662
 msgid	"#  quick_select_scope=STRING\n"
 msgstr	"#  quick_select_scope=TERME\n"
 
-#: src/attrib.c:652
+#: src/attrib.c:663
 msgid	"#  quick_select_expire=ON/OFF\n"
 msgstr	"#  quick_select_expire=ON/OFF\n"
 
-#: src/attrib.c:653
+#: src/attrib.c:664
 msgid	"#  quick_select_case=ON/OFF\n"
 msgstr	"#  quick_select_case=ON/OFF\n"
 
-#: src/attrib.c:654
+#: src/attrib.c:665
 msgid	"#  quick_select_header=NUM\n"
 msgstr	"#  quick_select_header=NUM\n"
 
-#: src/attrib.c:658
+#: src/attrib.c:669
 msgid	"#  x_comment_to=ON/OFF\n"
 msgstr	"#  x_comment_to=ON/OFF\n"
 
-#: src/attrib.c:659
+#: src/attrib.c:670
 msgid	"#  fcc=STRING (eg. =mailbox)\n"
 msgstr	""
 
-#: src/attrib.c:660
+#: src/attrib.c:671
 msgid	"#  tex2iso_conv=ON/OFF\n"
 msgstr	"#  tex2iso_conv=ON/OFF\n"
 
-#: src/attrib.c:662
+#: src/attrib.c:673
 msgid	"#  mm_network_charset=supported_charset"
 msgstr	"#  mm_network_charset=encodage_supporté"
 
-#: src/attrib.c:669
+#: src/attrib.c:680
 msgid	"#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr	"#  undeclared_charset=TERME (défaut est US-ASCII)\n"
 
-#: src/attrib.c:671
+#: src/attrib.c:682
 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:672
+#: src/attrib.c:683
 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:673
+#: src/attrib.c:684
 msgid	"############################################################################\n"
 	"\n"
 msgstr	"############################################################################\n"
 	"\n"
 
-#: src/attrib.c:679
+#: src/attrib.c:690
 msgid	"# include extra headers\n"
 msgstr	"# inclure des en-têtes supplémentaires\n"
 
-#: src/attrib.c:687
+#: src/attrib.c:698
 msgid	"# in *sources* set post process type to shar only\n"
 msgstr	"# dans *sources* choisir le type shar en post-traitement\n"
 
-#: src/attrib.c:691
+#: src/attrib.c:702
 msgid	"# in *binaries* do full post processing, remove tmp files\n"
 msgstr	"# dans *binaries* faire traitement complet, effaçant les fichiers "
 	"temporaires\n"
 
-#: src/attrib.c:692
+#: src/attrib.c:703
 msgid	"# and set Followup-To: poster\n"
 msgstr	"# et utiliser Followup-To: poster\n"
 
@@ -228,7 +232,7 @@ msgstr	"(inconnu)"
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:607 src/filter.c:615
+#: src/filter.c:608 src/filter.c:616
 msgid	"Removed from the previous rule: "
 msgstr	"Effacé de la règle précédente : "
 
@@ -580,7 +584,7 @@ msgstr	"Création du fichier active des g
 msgid	"Creating newsrc file...\n"
 msgstr	"Création du fichier newsrc...\n"
 
-#: src/lang.c:127 src/lang.c:1122
+#: src/lang.c:127 src/lang.c:1126
 msgid	"Default"
 msgstr	"Défaut"
 
@@ -893,7 +897,7 @@ msgstr	"\n"
 msgid	"Insecure permissions of %s (%o)"
 msgstr	"Permissions de %s non sûres (%o)"
 
-#: src/lang.c:199 src/newsrc.c:409
+#: src/lang.c:199 src/newsrc.c:410
 #, c-format
 msgid	"Invalid response to GROUP command, %s"
 msgstr	"Réponse de la commande GROUP invalide, %s"
@@ -1020,6 +1024,14 @@ msgid	"  %s\t Answers will be directed t
 msgstr	"  %s\t Réponses vous seront envoyées par email.\n"
 
 #: src/lang.c:227
+msgid	"-- forwarded message --\n"
+msgstr	""
+
+#: src/lang.c:228
+msgid	"-- end of forwarded message --\n"
+msgstr	""
+
+#: src/lang.c:229
 msgid	"# Format:\n"
 	"#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
 	"placed\n"
@@ -1048,708 +1060,717 @@ msgid	"# Format:\n"
 	"#\n"
 msgstr	""
 
-#: src/lang.c:248
+#: src/lang.c:250
 #, c-format
 msgid	"Enter score for rule (default=%d): "
 msgstr	""
 
-#: src/lang.c:249
+#: src/lang.c:251
 #, c-format
 msgid	"Enter the score weight (range 0 < score <= %d)"
 msgstr	""
 
 #. SCORE_MAX
-#: src/lang.c:250
+#: src/lang.c:252
 msgid	"Full"
 msgstr	"Complet"
 
-#: src/lang.c:251
+#: src/lang.c:253
 msgid	"Comment (optional)  : "
 msgstr	"Commentaire (optionnel) : "
 
-#: src/lang.c:252
+#: src/lang.c:254
 msgid	"Apply pattern to    : "
 msgstr	"Appliquer le réglage à  : "
 
-#: src/lang.c:253
+#: src/lang.c:255
 msgid	"From: line (ignore case)      "
 msgstr	"Ligne De : (ignorer la casse) "
 
-#: src/lang.c:254
+#: src/lang.c:256
 msgid	"From: line (case sensitive)   "
 msgstr	"Ligne De : (casse sensible)   "
 
-#: src/lang.c:256
+#: src/lang.c:258
 #, c-format
 msgid	"%s%s: Unknown host.\n"
 msgstr	"%s%s : Hôte inconnu.\n"
 
-#: src/lang.c:257
+#: src/lang.c:259
 msgid	"global "
 msgstr	"global "
 
-#: src/lang.c:258
+#: src/lang.c:260
 #, c-format
 msgid	"Please use %.100s instead"
 msgstr	"Utilisez svp %.100s à la place"
 
-#: src/lang.c:259
+#: src/lang.c:261
+#, c-format
+msgid	"%s is bogus"
+msgstr	"%s pose problème"
+
+#: src/lang.c:262
 #, c-format
 msgid	"Group %s is moderated. Continue?"
 msgstr	"Groupe %s modéré. Continuer ?"
 
-#: src/lang.c:260
+#: src/lang.c:263
 msgid	"groups"
 msgstr	"groupes"
 
-#: src/lang.c:261
+#: src/lang.c:264
+#, c-format
+msgid	"Rereading %s..."
+msgstr	""
+
+#: src/lang.c:265
 msgid	"Top Level Commands"
 msgstr	"Commandes niveau supérieur"
 
-#: src/lang.c:262
+#: src/lang.c:266
 msgid	"Group Selection"
 msgstr	"Sélection de groupe"
 
-#: src/lang.c:263
+#: src/lang.c:267
 msgid	"group"
 msgstr	"groupe"
 
-#: src/lang.c:265
+#: src/lang.c:269
 msgid	"One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr	"Un ou plusieurs lignes de commentaire. <CR> pour ajouter une ligne ou "
 	"procéder si vide."
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid	"From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:267
+#: src/lang.c:271
 msgid	"Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr	""
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid	"Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:269
+#: src/lang.c:273
 msgid	"Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid	"Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr	""
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid	"Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:272
+#: src/lang.c:276
 msgid	"Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid	"Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid	"Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid	"kill an article via a menu"
 msgstr	"filtrer un article via un menu"
 
-#: src/lang.c:276
+#: src/lang.c:280
 msgid	"auto-select (hot) an article via a menu"
 msgstr	"sélection auto. (hot) d'un article via un menu"
 
-#: src/lang.c:277
+#: src/lang.c:281
 msgid	"Browse URLs in article"
 msgstr	"Voir les URLs dans l'article"
 
-#: src/lang.c:278
+#: src/lang.c:282
 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:279
+#: src/lang.c:283
 msgid	"cancel (delete) current article; must have been posted by you"
 msgstr	"annuler (effacer) l'article actuel; a dû être posté par vous"
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid	"edit article (mail-groups only)"
 msgstr	"éditer l'article (groupes de messagerie uniquement)"
 
-#: src/lang.c:281
+#: src/lang.c:285
 msgid	"display first article in current thread"
 msgstr	"afficher le 1er article du fil actuel"
 
-#: src/lang.c:282
+#: src/lang.c:286
 msgid	"display first page of article"
 msgstr	"afficher la 1ère page de l'article"
 
-#: src/lang.c:283
+#: src/lang.c:287
 msgid	"post followup to current article"
 msgstr	"poster un suivi pour l'article actuel"
 
-#: src/lang.c:284
+#: src/lang.c:288
 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:285
+#: src/lang.c:289
 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:286
+#: src/lang.c:290
 msgid	"display last article in current thread"
 msgstr	"afficher le dernier article du fil actuel"
 
-#: src/lang.c:287
+#: src/lang.c:291
 msgid	"display last page of article"
 msgstr	"afficher la dernière page de l'article"
 
-#: src/lang.c:288
+#: src/lang.c:292
 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:289
+#: src/lang.c:293
 msgid	"display next article"
 msgstr	"afficher l'article suivant"
 
-#: src/lang.c:290
+#: src/lang.c:294
 msgid	"display first article in next thread"
 msgstr	"afficher le 1er article du fil suivant"
 
-#: src/lang.c:291 src/lang.c:298 src/lang.c:357 src/lang.c:358
+#: src/lang.c:295 src/lang.c:302 src/lang.c:361 src/lang.c:362
 msgid	"display next unread article"
 msgstr	"afficher le prochain article non lu"
 
-#: src/lang.c:292
+#: src/lang.c:296
 msgid	"go to the article that this one followed up"
 msgstr	"aller à l'article parent"
 
-#: src/lang.c:293
+#: src/lang.c:297
 msgid	"display previous article"
 msgstr	"afficher l'article précédent"
 
-#: src/lang.c:294 src/lang.c:360
+#: src/lang.c:298 src/lang.c:364
 msgid	"display previous unread article"
 msgstr	"afficher l'article précédent non lu"
 
-#: src/lang.c:295
+#: src/lang.c:299
 msgid	"quickly kill an article using defaults"
 msgstr	"filtrer rapidement un article en utilisant les défauts"
 
-#: src/lang.c:296
+#: src/lang.c:300
 msgid	"quickly auto-select (hot) an article using defaults"
 msgstr	"sélection auto. (hot) un article en utilisant les défauts"
 
-#: src/lang.c:297
+#: src/lang.c:301
 msgid	"return to group selection level"
 msgstr	"retourner à la vue sélection de groupe"
 
-#: src/lang.c:299
+#: src/lang.c:303
 msgid	"reply through mail to author"
 msgstr	"répondre par email à l'auteur"
 
-#: src/lang.c:300
+#: src/lang.c:304
 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:301
+#: src/lang.c:305
 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:302 src/lang.c:362
+#: src/lang.c:306 src/lang.c:366
 msgid	"repost chosen article to another group"
 msgstr	"reposter l'article choisi dans un autre groupe"
 
-#: src/lang.c:303
+#: src/lang.c:307
 msgid	"search backwards within this article"
 msgstr	"recherche arrière dans cet article"
 
-#: src/lang.c:304
+#: src/lang.c:308
 msgid	"search forwards within this article"
 msgstr	"recherche avant dans cet article"
 
-#: src/lang.c:305
+#: src/lang.c:309
 msgid	"show article in raw-mode (including all headers)"
 msgstr	"afficher la source des articles (incluant les en-têtes)"
 
-#: src/lang.c:306
+#: src/lang.c:310
 msgid	"skip next block of included text"
 msgstr	"passer au bloc suivant incluant du texte"
 
-#: src/lang.c:307
+#: src/lang.c:311
 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:308
+#: src/lang.c:312
 msgid	"toggle word highlighting on/off"
 msgstr	"(dés)activer la surbrillance des mots"
 
-#: src/lang.c:309
+#: src/lang.c:313
 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:310
+#: src/lang.c:314
 msgid	"toggle tabwidth 4 <-> 8"
 msgstr	"(dés)activer taille de tabulation 4 <-> 8"
 
-#: src/lang.c:311
+#: src/lang.c:315
 msgid	"toggle german TeX style decoding for current article"
 msgstr	"(dés)activer le décodage de type TeX allemand pour l'article actuel"
 
-# TRANSLATION MISSING
-#: src/lang.c:312
+#: src/lang.c:316
 msgid	"toggle display of uuencoded sections"
 msgstr	""
 
-#: src/lang.c:313
+#: src/lang.c:317
 msgid	"View/save multimedia attachments"
 msgstr	"Voir/enregistrer les pj multimédia"
 
-#: src/lang.c:314
+#: src/lang.c:318
 #, c-format
 msgid	"report bug or comment via mail to %s"
 msgstr	"envoi d'un report de bug ou de commentaires à %s"
 
-#: src/lang.c:315
+#: src/lang.c:319
 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:316
+#: src/lang.c:320
 msgid	"escape from command prompt"
 msgstr	"quitter le prompt"
 
-#: src/lang.c:317
+#: src/lang.c:321
 msgid	"get help"
 msgstr	"avoir de l'aide"
 
-#: src/lang.c:318
+#: src/lang.c:322
 msgid	"display last article viewed"
 msgstr	"afficher le dernier article lu"
 
-#: src/lang.c:319
+#: src/lang.c:323
 msgid	"down one line"
 msgstr	"descendre d'une ligne"
 
-#: src/lang.c:320
+#: src/lang.c:324
 msgid	"up one line"
 msgstr	"monter d'une ligne"
 
-#: src/lang.c:321
+#: src/lang.c:325
 msgid	"go to article chosen by Message-ID"
 msgstr	"aller à l'article via son Message-ID"
 
-#: src/lang.c:322
+#: src/lang.c:326
 msgid	"mail article/thread/hot/pattern/tagged articles to someone"
 msgstr	"envoyer article/fil/sél./articles marqués à une personne"
 
-#: src/lang.c:323
+#: src/lang.c:327
 msgid	"menu of configurable options"
 msgstr	"menu des options réglables"
 
-#: src/lang.c:324
+#: src/lang.c:328
 msgid	"down one page"
 msgstr	"descendre d'une page"
 
-#: src/lang.c:325
+#: src/lang.c:329
 msgid	"up one page"
 msgstr	"monter d'une page"
 
-#: src/lang.c:326
+#: src/lang.c:330
 msgid	"post (write) article to current group"
 msgstr	"poster (écrire) l'article dans le groupe actuel"
 
-#: src/lang.c:327
+#: src/lang.c:331
 msgid	"post postponed articles"
 msgstr	"poster les brouillons"
 
-#: src/lang.c:328
+#: src/lang.c:332
 msgid	"list articles posted by you (from posted file)"
 msgstr	"lister les articles postés par vous (fichier posted)"
 
-#: src/lang.c:329
+#: src/lang.c:333
 msgid	"return to previous menu"
 msgstr	"retourner au menu précédent"
 
-#: src/lang.c:330
+#: src/lang.c:334
 msgid	"quit tin immediately"
 msgstr	"quitter tin immédiatement"
 
-#: src/lang.c:331
+#: src/lang.c:335
 msgid	"redraw page"
 msgstr	"redessiner la page"
 
-#: src/lang.c:332
+#: src/lang.c:336
 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:333
+#: src/lang.c:337
 msgid	"save marked articles automatically without user prompts"
 msgstr	"enregistrement auto. des articles marqués sans demander"
 
-#: src/lang.c:334
+#: src/lang.c:338
 msgid	"search for articles by author backwards"
 msgstr	"recherche arrière d'articles par auteur"
 
-#: src/lang.c:335
+#: src/lang.c:339
 msgid	"search for articles by author forwards"
 msgstr	"recherche avant d'articles par auteur"
 
-#: src/lang.c:336
+#: src/lang.c:340
 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:337
+#: src/lang.c:341
 msgid	" \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr	" \t  (recherches ignorent la casse et se cantonne à tous les articles)"
 
-#: src/lang.c:338
+#: src/lang.c:342
 msgid	"search for articles by Subject line backwards"
 msgstr	"recherche arrière d'articles par Sujet"
 
-#: src/lang.c:339
+#: src/lang.c:343
 msgid	"search for articles by Subject line forwards"
 msgstr	"recherche avant d'articles par Sujet"
 
-#: src/lang.c:340
+#: src/lang.c:344
 msgid	"repeat last search"
 msgstr	"répéter la dernière recherche"
 
-#: src/lang.c:341
+#: src/lang.c:345
 msgid	"tag current article for reposting/mailing/piping/printing/saving"
 msgstr	"marquer article pour repostage/envoi/passer/imprimer/enregistrer"
 
-#: src/lang.c:342
+#: src/lang.c:346
 msgid	"toggle info message in last line (subject/description)"
 msgstr	"(dés)activer les infos dans la dernière ligne (sujet/description)"
 
-#: src/lang.c:343
+#: src/lang.c:347
 msgid	"toggle inverse video"
 msgstr	"(dés)activer vidéo inversée"
 
-#: src/lang.c:344
+#: src/lang.c:348
 msgid	"toggle mini help menu display"
 msgstr	"(dés)activer vue du mini menu aide"
 
-#: src/lang.c:345
+#: src/lang.c:349
 msgid	"show version information"
 msgstr	"afficher la version de tin"
 
-#: src/lang.c:346
+#: src/lang.c:350
 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:347
+#: src/lang.c:351
 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:348
+#: src/lang.c:352
 msgid	"choose first thread in list"
 msgstr	"choisir le 1er fil de la liste"
 
-#: src/lang.c:349 src/lang.c:380
+#: src/lang.c:353 src/lang.c:384
 msgid	"choose group by name"
 msgstr	"choisir le groupe par nom"
 
-#: src/lang.c:350
+#: src/lang.c:354
 msgid	"choose last thread in list"
 msgstr	"choisir le dernier fil de la liste"
 
-#: src/lang.c:351
+#: src/lang.c:355
 msgid	"list articles within current thread (bring up Thread sub-menu)"
 msgstr	"lister les articles du fil actuel (sous-menu fil)"
 
-#: src/lang.c:352
+#: src/lang.c:356
 msgid	"mark article as unread"
 msgstr	"marquer l'article comme non lu"
 
-#: src/lang.c:353
+#: src/lang.c:357
 msgid	"mark current thread or tagged threads as read"
 msgstr	""
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid	"mark thread as unread"
 msgstr	"marquer le fil comme non lu"
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid	"toggle display of all/selected articles"
 msgstr	"(dés)activer la vue de tout article/articles sélectionnés"
 
-#: src/lang.c:356
+#: src/lang.c:360
 msgid	"display next group"
 msgstr	"afficher le groupe suivant"
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid	"display previous group"
 msgstr	"afficher le groupe précédent"
 
-#: src/lang.c:361 src/lang.c:409
+#: src/lang.c:365 src/lang.c:413
 msgid	"read chosen article"
 msgstr	"lire l'article choisi"
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid	"toggle all selections (all articles)"
 msgstr	"(dés)activer toutes les sélections (tout article)"
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid	"select group (make \"hot\")"
 msgstr	"sélection du groupe (utiliser \"hot\")"
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid	"select thread"
 msgstr	"sélectionner le fil"
 
-#: src/lang.c:366
+#: 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:367
+#: 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:368
+#: 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:369
+#: 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:370
+#: 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:371
+#: 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:372 src/lang.c:410
+#: src/lang.c:376 src/lang.c:414
 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:373
+#: src/lang.c:377
 msgid	"toggle selection of thread"
 msgstr	"(dés)activer sélection du fil"
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid	"cycle through threading options available"
 msgstr	"voir toutes les options de groupage disponibles"
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid	"undo all selections (all articles)"
 msgstr	"annuler toutes sélections (tout article)"
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid	"untag all tagged threads"
 msgstr	"démarquer tout fil marqué"
 
-#: src/lang.c:377
+#: src/lang.c:381
 msgid	"mark all articles in group as read"
 msgstr	"marquer lu tous les articles du groupe"
 
-# TRANSLATION MISSING (71 chars max)
-#: src/lang.c:378
+# TRANSLATION TOO LONG (71 chars max)
+#: src/lang.c:382
 msgid	"mark all articles in group as read and move to next unread group"
 msgstr	"marquer tout article dans groupe comme lu et aller au groupe non lu suivant"
 
-#: src/lang.c:379
+#: src/lang.c:383
 msgid	"choose first group in list"
 msgstr	"choisir 1er groupe de la liste"
 
-#: src/lang.c:381
+#: src/lang.c:385
 msgid	"0 - 9\t  choose group by number"
 msgstr	"0 - 9\t  choisir groupe par numéro"
 
-#: src/lang.c:382
+#: src/lang.c:386
 msgid	"choose range of groups to be affected by next command"
 msgstr	"choisir les groupes affectés par la commande suivante"
 
-#: src/lang.c:383
+#: src/lang.c:387
 msgid	"choose last group in list"
 msgstr	"choisir dernier groupe de la liste"
 
-#: src/lang.c:384
+#: src/lang.c:388
 msgid	"mark all articles in chosen group unread"
 msgstr	"marquer non lu tout article dans le groupe choisi"
 
-#: src/lang.c:385
+#: src/lang.c:389
 msgid	"move chosen group within list"
 msgstr	"déplacer dans la liste le groupe choisi"
 
-#: src/lang.c:386
+#: src/lang.c:390
 msgid	"choose next group with unread news"
 msgstr	"choisir groupe suivant ayant articles non lus"
 
-#: src/lang.c:387 src/lang.c:1169
+#: src/lang.c:391 src/lang.c:1173
 msgid	"quit"
 msgstr	"quitter"
 
-#: src/lang.c:388
+#: src/lang.c:392
 msgid	"quit without saving configuration changes"
 msgstr	"quitter sans enregistrer les changements"
 
-#: src/lang.c:389
+#: src/lang.c:393
 msgid	"read chosen group"
 msgstr	"lire le groupe choisi"
 
-#: src/lang.c:390
+#: src/lang.c:394
 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:391
+#: src/lang.c:395
 msgid	"search backwards for a group name"
 msgstr	"recherche arrière d'un groupe"
 
-#: src/lang.c:392
+#: src/lang.c:396
 msgid	" \t  (all searches are case-insensitive and wrap around)"
 msgstr	" \t  (les recherches sont sensibles à la casse)"
 
-#: src/lang.c:393
+#: src/lang.c:397
 msgid	"search forwards for a group name"
 msgstr	"recherche avant d'un groupe"
 
-#: src/lang.c:394
+#: src/lang.c:398
 msgid	"subscribe to chosen group"
 msgstr	"abonnement au groupe choisi"
 
-#: src/lang.c:395
+#: src/lang.c:399
 msgid	"subscribe to groups that match pattern"
 msgstr	"abonnement aux groupes correspondant au critère"
 
-#: src/lang.c:396
+#: src/lang.c:400
 msgid	"reread active file to check for any new news"
 msgstr	"relire le fichier active pour vérifier nouveaux articles"
 
-#: src/lang.c:397
+#: src/lang.c:401
 msgid	"toggle display of group name only or group name plus description"
 msgstr	""
 
-#: src/lang.c:398
+#: src/lang.c:402
 msgid	"toggle display to show all/unread subscribed groups"
 msgstr	"afficher ou non tous les groupes abonnés non lu"
 
-#: src/lang.c:399
+#: src/lang.c:403
 msgid	"unsubscribe from chosen group"
 msgstr	"désabonnement du groupe choisi"
 
-#: src/lang.c:400
+#: src/lang.c:404
 msgid	"unsubscribe from groups that match pattern"
 msgstr	"désabonnement aux groupes correspondant au critère"
 
-#: src/lang.c:401
+#: src/lang.c:405
 msgid	"sort the list of groups"
 msgstr	"trier la liste des groupes"
 
-#: src/lang.c:402
+#: src/lang.c:406
 msgid	"toggle display to show all/subscribed groups"
 msgstr	"afficher ou non tous les groupes abonnés"
 
-#: src/lang.c:403
+#: src/lang.c:407
 msgid	"0 - 9\t  choose article by number"
 msgstr	"0 - 9\t  choisir article par numéro"
 
-#: src/lang.c:404
+#: src/lang.c:408
 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:405
+#: src/lang.c:409
 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:406
+#: src/lang.c:410
 msgid	"choose first article in list"
 msgstr	"choisir le 1er article dans la liste"
 
-#: src/lang.c:407
+#: src/lang.c:411
 msgid	"choose last article in list"
 msgstr	"choisir le dernier article dans la liste"
 
-#: src/lang.c:408
+#: src/lang.c:412
 msgid	"mark article or tagged articles as read and move cursor to next unread article"
 msgstr	""
 
-#: src/lang.c:411
+#: src/lang.c:415
 msgid	"Display properties\n"
 	"------------------"
 msgstr	"Propriétés de l'affichage\n"
 	"-------------------------"
 
-#: src/lang.c:412
+#: src/lang.c:416
 msgid	"Miscellaneous\n"
 	"-------------"
 msgstr	"Divers\n"
 	"------"
 
-#: src/lang.c:413
+#: src/lang.c:417
 msgid	"Moving around\n"
 	"-------------"
 msgstr	"Navigation\n"
 	"----------"
 
-#: src/lang.c:414
+#: src/lang.c:418
 msgid	"Group/thread/article operations\n"
 	"-------------------------------"
 msgstr	"Opérations sur les Groupes/fils/articles\n"
 	"----------------------------------------"
 
-#: src/lang.c:416
+#: src/lang.c:420
 msgid	"Group Level Commands"
 msgstr	"Commandes du niveau Groupe"
 
-#: src/lang.c:417
+#: src/lang.c:421
 msgid	"Kill filter added"
 msgstr	"Filtre ajouté"
 
-#: src/lang.c:418
+#: src/lang.c:422
 msgid	"Auto-selection filter added"
 msgstr	"Filtre à auto-sélection ajouté"
 
-#: src/lang.c:419
+#: src/lang.c:423
 msgid	"All parts tagged"
 msgstr	"Toutes les parties sont marquées"
 
-#: src/lang.c:420
+#: src/lang.c:424
 msgid	"Storing article for later posting"
 msgstr	"Stockage de l'article afin de la poster plus tard"
 
-#: src/lang.c:421
+#: src/lang.c:425
 msgid	"Please enter a valid character"
 msgstr	"Entrez un caractère valide svp"
 
-#: src/lang.c:422
+#: src/lang.c:426
 #, c-format
 msgid	"Missing part #%d"
 msgstr	"Partie manquante #%d"
 
-#: src/lang.c:423
+#: src/lang.c:427
 msgid	"*** No postponed articles ***"
 msgstr	"*** Pas de brouillons ***"
 
-#: src/lang.c:424
+#: src/lang.c:428
 msgid	"Not a multi-part message"
 msgstr	"N'est pas un message en plusieurs parties"
 
-#: src/lang.c:425
+#: src/lang.c:429
 msgid	"You are not subscribed to this group"
 msgstr	"Vous n'êtes pas abonné à ce groupe"
 
-#: src/lang.c:426
+#: src/lang.c:430
 msgid	"No previous expression"
 msgstr	"Pas d'expression précédente"
 
-#: src/lang.c:427
+#: src/lang.c:431
 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:429
+#: src/lang.c:433
 #, c-format
 msgid	"%d postponed %s, reuse with ^O...\n"
 msgstr	"%d brouillon(s) %s, réutilisez-les avec ^O...\n"
 
-#: src/lang.c:430
+#: src/lang.c:434
 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"
@@ -1757,21 +1778,21 @@ msgstr	"X-Conversion-Note : contenus mul
 	"dans\n"
 	"  le Menu Option.\n"
 
-#: src/lang.c:432
+#: src/lang.c:436
 #, 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:433
+#: src/lang.c:437
 msgid	"TeX2Iso encoded article"
 msgstr	"Article encodé en TeX2Iso"
 
-#: src/lang.c:434
+#: src/lang.c:438
 msgid	"incomplete "
 msgstr	"incomplet "
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:436
+#: src/lang.c:440
 #, c-format
 msgid	"\n"
 	"Welcome to %s, a full screen threaded Netnews reader. It can read news "
@@ -1834,129 +1855,129 @@ msgstr	"\n"
 	"Si vous constatez des bogues ou tout autre problème, envoyez s'il vous plaît "
 	"un rapport de bogue/commentaires à %s via la touche 'R'.\n"
 
-#: src/lang.c:452
+#: src/lang.c:456
 #, c-format
 msgid	"Invalid  From: %s  line. Read the INSTALL file again."
 msgstr	"Ligne From: %s invalide. Lisez le fichier INSTALL une 2e fois."
 
-#: src/lang.c:453
+#: src/lang.c:457
 #, c-format
 msgid	"Invalid  Sender:-header %s"
 msgstr	"En-tête Sender: %s invalide"
 
-#: src/lang.c:454
+#: src/lang.c:458
 msgid	"Inverse video disabled"
 msgstr	"Vidéo inversée désactivée"
 
-#: src/lang.c:455
+#: src/lang.c:459
 msgid	"Inverse video enabled"
 msgstr	"Vidéo inversée activée"
 
-#: src/lang.c:457
+#: src/lang.c:461
 #, c-format
 msgid	"Missing definition for %s\n"
 msgstr	"Définition manquante pour %s\n"
 
-#: src/lang.c:458
+#: src/lang.c:462
 #, c-format
 msgid	"Invalid key definition '%s'\n"
 msgstr	"Définition de clé invalide '%s'\n"
 
-#: src/lang.c:459
+#: src/lang.c:463
 #, c-format
 msgid	"Invalid keyname '%s'\n"
 msgstr	"Nom de clé invalide '%s'\n"
 
-#: src/lang.c:460
+#: src/lang.c:464
 #, c-format
 msgid	"Key '%s' is defined for both %s%s and %s%s\n"
 msgstr	"Clé '%s' est définie pour %s%s et %s%s\n"
 
-#: src/lang.c:461
+#: src/lang.c:465
 #, c-format
-msgid	"Kill From:     [%-*.*s] (y/n): "
+msgid	"Kill From:     [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:462
+#: src/lang.c:466
 msgid	"Kill Lines: (</>num): "
 msgstr	""
 
-#: src/lang.c:463
+#: src/lang.c:467
 msgid	"Kill Article Menu"
 msgstr	""
 
-#: src/lang.c:464
+#: src/lang.c:468
 #, c-format
-msgid	"Kill Msg-Id:   [%-*.*s] (f/l/o/n): "
+msgid	"Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr	""
 
-#: src/lang.c:465
+#: src/lang.c:469
 msgid	"Kill pattern scope  : "
 msgstr	""
 
-#: src/lang.c:466
+#: src/lang.c:470
 #, c-format
-msgid	"Kill Subject:  [%-*.*s] (y/n): "
+msgid	"Kill Subject:  [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:467
+#: src/lang.c:471
 msgid	"Kill text pattern   : "
 msgstr	""
 
-#: src/lang.c:468
+#: src/lang.c:472
 msgid	"Kill time in days   : "
 msgstr	""
 
-#: src/lang.c:470
+#: src/lang.c:474
 msgid	"Last"
 msgstr	"Dernier"
 
-#: src/lang.c:471
+#: src/lang.c:475
 msgid	"-- Last response --"
 msgstr	"-- Dernière réponse --"
 
-#: src/lang.c:472
+#: src/lang.c:476
 #, c-format
 msgid	"Lines %s  "
 msgstr	"Ligne %s  "
 
-#: src/lang.c:474
+#: src/lang.c:478
 msgid	"Message-ID: line              "
 msgstr	""
 
-#: src/lang.c:476
+#: src/lang.c:480
 msgid	"mailbox "
 msgstr	"bàl"
 
-#: src/lang.c:477
+#: src/lang.c:481
 #, c-format
 msgid	"Mail article(s) to [%.*s]> "
 msgstr	"Envoyer article(s) à [%.*s]> "
 
-#: src/lang.c:478
+#: src/lang.c:482
 #, c-format
 msgid	"Mailing log to %s\n"
 msgstr	"Envoi de l'historique à %s\n"
 
-#: src/lang.c:479
+#: src/lang.c:483
 msgid	"Mail bug report..."
 msgstr	"Envoi d'un rapport de bug..."
 
-#: src/lang.c:480
+#: src/lang.c:484
 #, c-format
 msgid	"Mail BUG REPORT to %s?"
 msgstr	"Envoyer RAPPORT DE BUG à %s ?"
 
-#: src/lang.c:481
+#: src/lang.c:485
 msgid	"Mailed"
 msgstr	"Envoyé"
 
-#: src/lang.c:482
+#: src/lang.c:486
 #, c-format
 msgid	"Mailing to %s..."
 msgstr	"Envoi à %s..."
 
-#: src/lang.c:483
+#: 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"
@@ -1967,285 +1988,283 @@ msgstr	"# [Envoyer/Enregistrer] fichier 
 	"# Le 4ème champ est le répertoire racine utilisé\n"
 	"# (p.e. ~/Mail ou ~/News)\n"
 
-#: src/lang.c:486
+#: src/lang.c:490
 #, c-format
 msgid	"%s marked as unread"
 msgstr	"%s marqué comme non lu"
 
-#: src/lang.c:487
+#: 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:488
+#: src/lang.c:492
 #, c-format
 msgid	"Mark all articles as read%s?"
 msgstr	"Marquer tous les articles comme lus%s ?"
 
-#: src/lang.c:489
+#: 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:490
+#: src/lang.c:494
 #, c-format
 msgid	"Mark group %.*s as read?"
 msgstr	"Marquer le groupe %.*s comme lu ?"
 
-#: src/lang.c:491
+#: src/lang.c:495
 #, c-format
 msgid	"Mark thread as read%s?"
 msgstr	"Marquer le fil comme lu%s ?"
 
-#: src/lang.c:492
+#: 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:493
+#: src/lang.c:497
 #, c-format
 msgid	"Matching %s groups..."
 msgstr	"%s groupes correspondants..."
 
-#: src/lang.c:494 src/lang.c:498
+#: 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>=régler l'actuel à n; %s=non lu suivant; %s=rech. terme; %s=filtrer/sél."
 
-# TRANSLATION TOO LONG
-#: src/lang.c:495
+#: 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:496
+#: 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:497
+#: 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:499
+#: 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:500
+#: src/lang.c:504
 #, c-format
 msgid	"<n>=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"
 msgstr	"<n>=passer actuel à n; %s=non lu suivant; %s,%s=rech. terme; %s=tout lu"
 
-# TRANSLATION TOO LONG
-#: src/lang.c:501
+#: 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:502
+#: 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=yank in/out"
 
-#: src/lang.c:503
+#: src/lang.c:507
 #, c-format
 msgid	"<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr	"<n>=passer l'actuel à n; %s=non lu suivant; %s=tout lu; %s=basculer "
 	"l'affichage"
 
-#: src/lang.c:504
+#: 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:505
+#: src/lang.c:509
 msgid	"--More--"
 msgstr	"-- Plus --"
 
-#: src/lang.c:506
+#: src/lang.c:510
 #, c-format
 msgid	"Moving %s..."
 msgstr	"Déplacement de %s..."
 
-#: src/lang.c:508
+#: src/lang.c:512
 msgid	", name: "
 msgstr	", nom : "
 
-#: src/lang.c:509
+#: src/lang.c:513
 #, c-format
 msgid	"Goto newsgroup [%s]> "
 msgstr	"Aller dans le groupe [%s]> "
 
-#: src/lang.c:510
+#: src/lang.c:514
 msgid	"newsgroups"
 msgstr	"groupes"
 
-#: src/lang.c:511
+#: src/lang.c:515
 #, 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:512
+#: src/lang.c:516
 msgid	"newsgroup"
 msgstr	"groupe"
 
-#: src/lang.c:513
+#: src/lang.c:517
 msgid	"Try and save newsrc file again?"
 msgstr	"Encore essayer et enregistrer le newsrc ?"
 
-#: src/lang.c:514
+#: src/lang.c:518
 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:515
+#: src/lang.c:519
 msgid	"newsrc file saved successfully.\n"
 msgstr	"le newsrc a été enregistré avec succès.\n"
 
-#: src/lang.c:516
+#: src/lang.c:520
 msgid	"-- Next response --"
 msgstr	"-- Réponse suivante --"
 
-#: src/lang.c:517
+#: src/lang.c:521
 #, c-format
 msgid	"NNTP authorization password not found for %s"
 msgstr	"Mot de passe NNTP introuvable pour %s"
 
-#: src/lang.c:518
+#: src/lang.c:522
 msgid	"No  "
 msgstr	"Non "
 
-#: src/lang.c:519
+#: src/lang.c:523
 msgid	"*** No articles ***"
 msgstr	"*** Pas d'articles ***"
 
-#: src/lang.c:520
+#: src/lang.c:524
 msgid	"No articles have been posted"
 msgstr	"Aucun article n'a été posté"
 
-#: src/lang.c:521
+#: src/lang.c:525
 msgid	"*** No description ***"
 msgstr	"*** Pas de description ***"
 
-#: src/lang.c:522
+#: src/lang.c:526
 msgid	"No filename"
 msgstr	"Pas de nom de fichier"
 
-#: src/lang.c:523
+#: src/lang.c:527
 msgid	"No group"
 msgstr	"Pas de groupe"
 
-#: src/lang.c:524
+#: src/lang.c:528
 msgid	"*** No groups ***"
 msgstr	"*** Pas de groupes ***"
 
-#: src/lang.c:525
+#: src/lang.c:529
 msgid	"No more groups to read"
 msgstr	"Plus de groupes à lire"
 
-#: src/lang.c:526
+#: src/lang.c:530
 msgid	"No last message"
 msgstr	"Pas de dernier message"
 
-#: src/lang.c:527
+#: src/lang.c:531
 msgid	"No mail address"
 msgstr	"Pas d'adresse email"
 
-#: src/lang.c:528
+#: src/lang.c:532
 msgid	"No articles marked for saving"
 msgstr	"Pas d'articles marqués à enregistrer"
 
-#: src/lang.c:529
+#: src/lang.c:533
 msgid	"No match"
 msgstr	"Pas de résultat"
 
-#: src/lang.c:530
+#: src/lang.c:534
 msgid	"No more groups"
 msgstr	"Plus de groupes"
 
-#: src/lang.c:531
+#: src/lang.c:535
 msgid	"No newsgroups"
 msgstr	"Pas de groupes"
 
-#: src/lang.c:532
+#: src/lang.c:536
 msgid	"No next unread article"
 msgstr	"Pas d'article non lu suivant"
 
-#: src/lang.c:533
+#: src/lang.c:537
 msgid	"No previous group"
 msgstr	"Pas de groupe précédent"
 
-#: src/lang.c:534
+#: src/lang.c:538
 msgid	"No previous unread article"
 msgstr	"Pas d'article non lu précédent"
 
-#: src/lang.c:535
+#: src/lang.c:539
 msgid	"No responses"
 msgstr	"Pas de réponses"
 
-#: src/lang.c:536
+#: src/lang.c:540
 msgid	"No responses to list in current thread"
 msgstr	"Pas de réponses à afficher dans le fil actuel"
 
-#: src/lang.c:537
+#: src/lang.c:541
 msgid	"No search string"
 msgstr	"Pas de termes à rechercher"
 
-#: src/lang.c:538
+#: src/lang.c:542
 msgid	"No subject"
 msgstr	"Pas de sujet"
 
-#: src/lang.c:539
+#: src/lang.c:543
 #, 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:540
+#: src/lang.c:544
 #, 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:541
+#: src/lang.c:545
 #, c-format
 msgid	"%s: Terminal must have clearscreen (cl) capability\n"
 msgstr	"%s: Terminal doit avoir la fonction clearscreen (cl)\n"
 
-#: src/lang.c:542
+#: src/lang.c:546
 #, 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:543
+#: src/lang.c:547
 #, 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:544
+#: src/lang.c:548
 #, c-format
 msgid	"No viewer found for %s/%s\n"
 msgstr	"Visualiseur introuvable pour %s/%s\n"
 
-#: src/lang.c:545
+#: src/lang.c:549
 msgid	"Newsgroup does not exist on this server"
 msgstr	"Groupe inexistant sur ce serveur"
 
-#: src/lang.c:546
+#: src/lang.c:550
 #, c-format
 msgid	"Group %s not found in active file"
 msgstr	"Groupe %s introuvable dans le fichier active"
 
-#: src/lang.c:547
+#: src/lang.c:551
 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:548
+#: src/lang.c:552
 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:549
+#: src/lang.c:553
 #, c-format
 msgid	"# NNTP-server -> newsrc translation table and NNTP-server\n"
 	"# shortname list for %s %s\n"
@@ -2273,40 +2292,40 @@ msgstr	"# Serveur-NNTP -> tableau de cor
 	"#   news.ka.nu    /tmp/nrc-nu      kanu    nu\n"
 	"#\n"
 
-#: src/lang.c:556
+#: src/lang.c:560
 msgid	"Only"
 msgstr	"Uniquement"
 
-#: src/lang.c:557
+#: src/lang.c:561
 #, c-format
 msgid	"Option not enabled. Recompile with %s."
 msgstr	"Option non activée. Recompilez avec %s."
 
-#: src/lang.c:558
+#: src/lang.c:562
 msgid	"Options Menu"
 msgstr	"Menu Options"
 
-#: src/lang.c:561
+#: src/lang.c:565
 #, c-format
 msgid	"Error in regex: %s at pos. %d '%s'"
 msgstr	"Erreur dans la regex : %s à %d '%s'"
 
-#: src/lang.c:562
+#: src/lang.c:566
 #, c-format
 msgid	"Error in regex: pcre internal error %d"
 msgstr	"Erreur dans la regex : erreur pcre interne %d"
 
-#: src/lang.c:563
+#: src/lang.c:567
 #, c-format
 msgid	"Error in regex: study - pcre internal error %s"
 msgstr	"Erreur dans la regex : study - erreur pcre interne %s"
 
-#: src/lang.c:564
+#: src/lang.c:568
 msgid	"Post a followup..."
 msgstr	"Postage du suivi..."
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:566
+#: src/lang.c:570
 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"
@@ -2314,270 +2333,270 @@ 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:569
+#: src/lang.c:573
 msgid	"Posted articles history"
 msgstr	"Historique des articles postés"
 
-#: src/lang.c:570
+#: src/lang.c:574
 #, c-format
 msgid	"Post to newsgroup(s) [%s]> "
 msgstr	"Poster dans groupe(s) [%s]> "
 
-#: src/lang.c:571
+#: src/lang.c:575
 msgid	"-- post processing started --"
 msgstr	"-- post-traitement lancé --"
 
-#: src/lang.c:572
+#: src/lang.c:576
 msgid	"-- post processing completed --"
 msgstr	"-- post-traitement terminé --"
 
-#: src/lang.c:573
+#: src/lang.c:577
 #, c-format
 msgid	"Post subject [%s]> "
 msgstr	"Poster le sujet [%s]> "
 
-#: src/lang.c:574
+#: src/lang.c:578
 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:575
+#: src/lang.c:579
 msgid	"Posting article..."
 msgstr	"Postage de l'article..."
 
-#: src/lang.c:576
+#: src/lang.c:580
 msgid	"Post postponed articles [%%.*s]? (%s/%s/%s/%s/%s): "
 msgstr	"Poster les brouillons [%%.*s] ? (%s/%s/%s/%s/%s) : "
 
-#: src/lang.c:577
+#: src/lang.c:581
 #, c-format
 msgid	"Hot %s"
 msgstr	"%s sélectionné"
 
-#: src/lang.c:578
+#: src/lang.c:582
 #, c-format
 msgid	"Tagged %s"
 msgstr	"%s marqué"
 
-#: src/lang.c:579
+#: src/lang.c:583
 #, c-format
 msgid	"Untagged %s"
 msgstr	"%s non marqué"
 
-#: src/lang.c:580
+#: src/lang.c:584
 msgid	"Processing mail messages marked for deletion."
 msgstr	"Traitement des emails enregistrés marqués pour effacement."
 
-#: src/lang.c:581
+#: src/lang.c:585
 msgid	"Processing saved articles marked for deletion."
 msgstr	"Traitement des articles enregistrés marqués pour effacement."
 
-#: src/lang.c:582
+#: src/lang.c:586
 #, 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:583
+#: src/lang.c:587
 msgid	"Article unchanged, abort mailing?"
 msgstr	"Article inchangé, annuler l'envoi ?"
 
-#: src/lang.c:584
+#: src/lang.c:588
 #, c-format
 msgid	"Do you want to see postponed articles (%d)?"
 msgstr	"Voulez-vous voir les brouillons (%d) ?"
 
-#: src/lang.c:586
+#: src/lang.c:590
 msgid	"Add quick kill filter?"
 msgstr	"Ajout rapide d'un filtre d'élimination ?"
 
-#: src/lang.c:587
+#: src/lang.c:591
 msgid	"Add quick selection filter?"
 msgstr	"Ajout rapide d'un filtre de sélection ?"
 
-#: src/lang.c:588
+#: src/lang.c:592
 msgid	"Do you really want to quit?"
 msgstr	"Voulez-vous réellement quitter ?"
 
-#: src/lang.c:589
+#: src/lang.c:593
 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:590
+#: src/lang.c:594
 msgid	"You have tagged articles in this group - quit anyway?"
 msgstr	"Vous avez des articles marqués dans ce groupe - tout de même quitter?"
 
-#: src/lang.c:591
+#: src/lang.c:595
 #, c-format
 msgid	"%s=quit, %s=edit, %s=postpone: "
 msgstr	"%s=quitter, %s=éditer, %s=brouillon : "
 
-#: src/lang.c:592
+#: src/lang.c:596
 #, c-format
 msgid	"%s=quit %s=edit %s=save kill description: "
 msgstr	"%s=quitter, %s=éditer, %s=enregistrer description du filtre : "
 
-#: src/lang.c:593
+#: src/lang.c:597
 #, c-format
 msgid	"%s=quit %s=edit %s=save select description: "
 msgstr	"%s=quitter %s=éditer %s=enregistrer la description sél. : "
 
-#: src/lang.c:594
+#: src/lang.c:598
 msgid	"Do you really want to quit without saving your configuration?"
 msgstr	"Voulez-vous réellement quitter sans enregistrer votre configuration ?"
 
-#: src/lang.c:597
+#: src/lang.c:601
 msgid	"Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr	"Champ invalide - '0-9.$' pe. 1-$ est valide"
 
-#: src/lang.c:598
+#: src/lang.c:602
 msgid	"Do you want to abort this operation?"
 msgstr	"Voulez-vous annuler cette opération ?"
 
-#: src/lang.c:599
+#: src/lang.c:603
 msgid	"Do you want to exit tin immediately?"
 msgstr	"Voulez-vous quitter tin immédiatement ?"
 
-#: src/lang.c:600
+#: src/lang.c:604
 msgid	"Read response> "
 msgstr	"Lire la réponse> "
 
-#: src/lang.c:601
+#: src/lang.c:605
 msgid	"Reading ('q' to quit)..."
 msgstr	"Lecture ('q' pour quitter)..."
 
-#: src/lang.c:602
+#: src/lang.c:606
 #, c-format
 msgid	"Reading %sarticles..."
 msgstr	"Lecture de %sarticles..."
 
-#: src/lang.c:603
+#: src/lang.c:607
 #, c-format
 msgid	"Reading %sattributes file...\n"
 msgstr	"Lecture du fichier %sattributes...\n"
 
-#: src/lang.c:604
+#: src/lang.c:608
 #, c-format
 msgid	"Reading %sconfig file...\n"
 msgstr	"Lecture du fichier %sconfig...\n"
 
-#: src/lang.c:605
+#: src/lang.c:609
 msgid	"Reading filter file...\n"
 msgstr	"Lecture du fichier filter...\n"
 
-#: src/lang.c:606
+#: src/lang.c:610
 #, c-format
 msgid	"Reading %s groups..."
 msgstr	"Lecture de %s groupes..."
 
-#: src/lang.c:607
+#: src/lang.c:611
 msgid	"Reading input history file...\n"
 msgstr	"Lecture du fichier d'historique...\n"
 
-#: src/lang.c:608
+#: src/lang.c:612
 msgid	"Reading keymap file...\n"
 msgstr	"Lecture du fichier keymap...\n"
 
-#: src/lang.c:609
+#: src/lang.c:613
 msgid	"Reading groups from active file... "
 msgstr	"Lecture des groupes depuis le fichier active... "
 
-#: src/lang.c:610
+#: src/lang.c:614
 msgid	"Reading groups from newsrc file... "
 msgstr	"Lecture des groupes depuis le fichier newsrc... "
 
-#: src/lang.c:611
+#: src/lang.c:615
 msgid	"Reading newsgroups file... "
 msgstr	"Lecture du fichier newsgroups... "
 
-#: src/lang.c:612
+#: src/lang.c:616
 msgid	"Reading newsrc file..."
 msgstr	"Lecture du fichier newsrc..."
 
-#: src/lang.c:613
+#: src/lang.c:617
 #, c-format
 msgid	"Bogus group %s removed."
 msgstr	"Effacement du groupe corrompu %s."
 
-#: src/lang.c:614
+#: src/lang.c:618
 #, c-format
 msgid	"Error: rename %s to %s"
 msgstr	"Erreur : renommer %s à %s"
 
-#: src/lang.c:615
+#: src/lang.c:619
 msgid	"Reply to author..."
 msgstr	"Répondre à l'auteur..."
 
-#: src/lang.c:616
+#: src/lang.c:620
 msgid	"Repost"
 msgstr	"Reposter"
 
-#: src/lang.c:617
+#: src/lang.c:621
 msgid	"Reposting article..."
 msgstr	"Repostage de l'article..."
 
-#: src/lang.c:618
+#: src/lang.c:622
 #, c-format
 msgid	"Repost article(s) to group(s) [%s]> "
 msgstr	"Reposter article(s) dans groupe(s) [%s]> "
 
-#: src/lang.c:619
+#: src/lang.c:623
 msgid	"Reset newsrc?"
 msgstr	"Réinitialiser newsrc ?"
 
-#: src/lang.c:620
+#: src/lang.c:624
 msgid	"Responses have been directed to the following newsgroups"
 msgstr	"Les réponses ont été redirigées vers les groupes suivants"
 
-#: src/lang.c:621
+#: src/lang.c:625
 #, c-format
 msgid	"Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr	"Les réponses ont été redirigées à l'auteur. %s=mail, %s=poster, %s=quitter : "
 
-#: src/lang.c:622
+#: src/lang.c:626
 #, c-format
 msgid	"RespNo %4d of %4d"
 msgstr	"Nbre rép. %4d/%4d"
 
-#: src/lang.c:623
+#: src/lang.c:627
 msgid	"Press <RETURN> to continue..."
 msgstr	"Appuyez sur <RETOUR> pour continuer..."
 
-#: src/lang.c:625
+#: src/lang.c:629
 #, c-format
-msgid	"Select From    [%-*.*s] (y/n): "
+msgid	"Select From    [%s] (y/n): "
 msgstr	""
 
-#: src/lang.c:626
+#: src/lang.c:630
 msgid	"Select Lines: (</>num): "
 msgstr	""
 
-#: src/lang.c:627
+#: src/lang.c:631
 msgid	"Auto-select Article Menu"
 msgstr	""
 
-#: src/lang.c:628
+#: src/lang.c:632
 #, c-format
-msgid	"Select Msg-Id  [%-*.*s] (f/l/o/n): "
+msgid	"Select Msg-Id  [%s] (f/l/o/n): "
 msgstr	""
 
-#: src/lang.c:629
+#: src/lang.c:633
 msgid	"Select pattern scope: "
 msgstr	""
 
-#: src/lang.c:630
+#: src/lang.c:634
 #, c-format
-msgid	"Select Subject [%-*.*s] (y/n): "
-msgstr	"Sél. Sujet [%-*.*s] (o/n)    : "
+msgid	"Select Subject [%s] (y/n): "
+msgstr	"Sél. Sujet [%s] (o/n)    : "
 
-#: src/lang.c:631
+#: src/lang.c:635
 msgid	"Select text pattern : "
 msgstr	""
 
-#: src/lang.c:632
+#: src/lang.c:636
 msgid	"Select time in days   : "
 msgstr	"Durée en jours        : "
 
-#: src/lang.c:633
+#: src/lang.c:637
 #, c-format
 msgid	"# %s server configuration file\n"
 	"# This file was automatically saved by %s %s %s (\"%s\")\n"
@@ -2589,219 +2608,219 @@ msgid	"# %s server configuration file\n"
 	"\n"
 msgstr	""
 
-#: src/lang.c:639
+#: src/lang.c:643
 msgid	"Showing unread groups only"
 msgstr	"Afficher uniquement les groupes non lus"
 
-#: src/lang.c:640
+#: src/lang.c:644
 msgid	"Subject: line (ignore case)   "
 msgstr	"Ligne Sujet: (casse insensible)"
 
-#: src/lang.c:641
+#: src/lang.c:645
 msgid	"Subject: line (case sensitive)"
 msgstr	"Ligne Sujet: (casse sensible)  "
 
-#: src/lang.c:642
+#: src/lang.c:646
 msgid	"Save"
 msgstr	"Enregistrer"
 
-#: src/lang.c:643
+#: src/lang.c:647
 #, c-format
 msgid	"Save '%s' (%s/%s)?"
 msgstr	"Enregistrer '%s' (%s/%s) ?"
 
-#: src/lang.c:644
+#: src/lang.c:648
 msgid	"Save configuration before continuing?"
 msgstr	"Enregistrer la configuration avant de continuer ?"
 
-#: src/lang.c:645
+#: src/lang.c:649
 msgid	"Save filename> "
 msgstr	"Enregistrer sous le nom de fichier> "
 
-#: src/lang.c:646
+#: src/lang.c:650
 msgid	"Saved"
 msgstr	"Enregistré"
 
-#: src/lang.c:647
+#: src/lang.c:651
 #, c-format
 msgid	"%4d unread (%4d hot) %s in %s\n"
 msgstr	"%4d non lu (%4d sél.) %s dans %s\n"
 
-#: src/lang.c:648
+#: src/lang.c:652
 #, c-format
 msgid	"Saved %s...\n"
 msgstr	"Enregistrement de %s...\n"
 
-#: src/lang.c:649
+#: src/lang.c:653
 msgid	"Nothing was saved"
 msgstr	"Rien n'a été enregistré"
 
-#: src/lang.c:650
+#: src/lang.c:654
 #, c-format
 msgid	"\n"
 	"%s %d %s from %d %s\n"
 msgstr	"\n"
 	"%s %d %s de %d %s\n"
 
-#: src/lang.c:651
+#: src/lang.c:655
 #, c-format
 msgid	"-- %s saved to %s%s --"
 msgstr	"-- %s enregistré dans %s%s --"
 
-#: src/lang.c:652
+#: src/lang.c:656
 #, c-format
 msgid	"-- %s saved to %s - %s --"
 msgstr	"-- %s enregistré dans %s - %s --"
 
-#: src/lang.c:653
+#: src/lang.c:657
 msgid	"Saving..."
 msgstr	"Enregistrement..."
 
-#: src/lang.c:654
+#: src/lang.c:658
 #, c-format
 msgid	"%s: Screen initialization failed"
 msgstr	"%s : Échec de l'initialisation de l'écran"
 
-#: src/lang.c:655
+#: src/lang.c:659
 #, c-format
 msgid	"%s: screen is too small\n"
 msgstr	"%s : l'écran est trop petit\n"
 
-#: src/lang.c:656
+#: src/lang.c:660
 #, c-format
 msgid	"screen is too small, %s is exiting\n"
 msgstr	"l'écran est trop petit, %s quitte\n"
 
-#: src/lang.c:657
+#: src/lang.c:661
 #, c-format
 msgid	"Search backwards [%s]> "
 msgstr	"Recherche arrière [%s]> "
 
-#: src/lang.c:658
+#: src/lang.c:662
 #, c-format
 msgid	"Search body [%s]> "
 msgstr	"Rechercher dans le corps [%s]> "
 
-#: src/lang.c:659
+#: src/lang.c:663
 #, c-format
 msgid	"Search forwards [%s]> "
 msgstr	"Recherche avant [%s]> "
 
-#: src/lang.c:660
+#: src/lang.c:664
 msgid	"Searching..."
 msgstr	"Recherche..."
 
-#: src/lang.c:661
+#: src/lang.c:665
 #, c-format
 msgid	"Searching article %d of %d ('q' to abort)..."
 msgstr	"Recherche article %d sur %d ('q' pour annuler)..."
 
-#: src/lang.c:662
+#: src/lang.c:666
 msgid	"Select article> "
 msgstr	"Sélectionner l'article> "
 
 # TRANSLATION TOO LONG (75 chars max)
-#: src/lang.c:663
+#: src/lang.c:667
 msgid	"Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr	"Sélection n° avant le texte ou utiliser les flèches et <CR>. 'q' pour quitter."
 
-#: src/lang.c:664
+#: src/lang.c:668
 msgid	"Select group> "
 msgstr	"Sélectionner le groupe> "
 
-#: src/lang.c:665
+#: src/lang.c:669
 #, c-format
 msgid	"Enter selection pattern [%s]> "
 msgstr	"Entrez le critère de sélection [%s]> "
 
-#: src/lang.c:666
+#: src/lang.c:670
 msgid	"Select thread > "
 msgstr	"Sélectionner le fil > "
 
-#: src/lang.c:667
+#: src/lang.c:671
 #, c-format
 msgid	"%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n"
 msgstr	"%s %s %s (\"%s\") [%s]: envoi d'un rapport de bug DÉTAILLÉ à %s\n"
 
-#: src/lang.c:668
+#: src/lang.c:672
 msgid	"servers active-file"
 msgstr	"fichier active des serveurs"
 
-#: src/lang.c:669
+#: src/lang.c:673
 msgid	"Cannot move into new newsgroups. Subscribe first..."
 msgstr	"Déplacement dans nouveaux groupes impossible. Abonnez-vous d'abord..."
 
-#: src/lang.c:670
+#: src/lang.c:674
 msgid	"<SPACE>"
 msgstr	"<ESPACE>"
 
-#: src/lang.c:671
+#: src/lang.c:675
 #, c-format
 msgid	"Starting: (%s)"
 msgstr	"Démarrage : (%s)"
 
-#: src/lang.c:672
+#: src/lang.c:676
 #, c-format
 msgid	"List Thread (%d of %d)"
 msgstr	"Afficher le fil (%d sur %d)"
 
-#: src/lang.c:673
+#: src/lang.c:677
 #, c-format
 msgid	"Thread (%.*s)"
 msgstr	"Fil (%.*s)"
 
-#: src/lang.c:674
+#: src/lang.c:678
 msgid	"Enter wildcard subscribe pattern> "
 msgstr	"Entrer un caractère joker comme critère> "
 
-#: src/lang.c:675
+#: src/lang.c:679
 #, c-format
 msgid	"subscribed to %d groups"
 msgstr	"Abonné à %d groupes"
 
-#: src/lang.c:676
+#: src/lang.c:680
 #, c-format
 msgid	"Subscribed to %s"
 msgstr	"Abonné à %s"
 
-#: src/lang.c:677
+#: src/lang.c:681
 msgid	"Subscribing... "
 msgstr	"Abonnement..."
 
-#: src/lang.c:678
+#: src/lang.c:682
 msgid	"Repost or supersede article(s) [%%.*s]? (%s/%s/%s): "
 msgstr	"Reposter ou remplacer le(s) article(s) [%%.*s]? (%s/%s/%s) : "
 
-#: src/lang.c:679
+#: src/lang.c:683
 #, c-format
 msgid	"Supersede article(s) to group(s) [%s]> "
 msgstr	"Remplacer le(s) article(s) du(es) groupe(s) [%s]> "
 
-#: src/lang.c:680
+#: src/lang.c:684
 msgid	"Superseding article ..."
 msgstr	"Remplacement de l'article..."
 
-#: src/lang.c:681
+#: src/lang.c:685
 #, c-format
 msgid	"\n"
 	"Stopped. Type 'fg' to restart %s\n"
 msgstr	"\n"
 	"Arrêté. Tapez 'fg' pour relancer %s\n"
 
-#: src/lang.c:683
+#: src/lang.c:687
 #, c-format
 msgid	"%d days"
 msgstr	"%d jours"
 
-#: src/lang.c:684
+#: src/lang.c:688
 msgid	"<TAB>"
 msgstr	"<TAB>"
 
-#: src/lang.c:685
+#: src/lang.c:689
 msgid	"# Default action/prompt strings\n"
 msgstr	"# Termes action/prompt par défaut\n"
 
-#: src/lang.c:686
+#: src/lang.c:690
 msgid	"# Defaults for quick (1 key) kill & auto-selection filters\n"
 	"# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
 	"#             5=Message-ID: & last References: entry only\n"
@@ -2819,266 +2838,266 @@ msgstr	"# Réglages par défaut pour les f
 	"# case=ON/OFF    ON=filtre sensible à la casse OFF=filtre insensible\n"
 	"# expire=ON/OFF  ON=durée d'après default_filter_days OFF=n'expire jamais\n"
 
-#: src/lang.c:699
+#: src/lang.c:703
 msgid	"# If ON use print current subject or newsgroup description in the last line\n"
 msgstr	"# Si ON affiche le sujet actuel ou la description du groupe dans la dernière "
 	"ligne\n"
 
-#: src/lang.c:700
+#: src/lang.c:704
 msgid	"# Host & time info used for detecting new groups (don't touch)\n"
 msgstr	"# Info sur l'hôte & l'heure utilisées pour détecter les nouveaux groupes (ne "
 	"pas toucher)\n"
 
-#: src/lang.c:701
+#: src/lang.c:705
 msgid	"There is no news\n"
 msgstr	"Rien de neuf\n"
 
-#: src/lang.c:702
+#: src/lang.c:706
 msgid	"Thread"
 msgstr	"Fil"
 
-#: src/lang.c:703
+#: src/lang.c:707
 msgid	"Thread Level Commands"
 msgstr	"Commandes pour fil"
 
-#: src/lang.c:704
+#: src/lang.c:708
 msgid	"Thread deselected"
 msgstr	"Fil désélectionné"
 
-#: src/lang.c:705
+#: src/lang.c:709
 msgid	"Thread selected"
 msgstr	"Fil sélectionné"
 
-#: src/lang.c:706
+#: src/lang.c:710
 msgid	"threads"
 msgstr	"fils"
 
-#: src/lang.c:707
+#: src/lang.c:711
 msgid	"Thread range"
 msgstr	"Champ du fil"
 
-#: src/lang.c:708
+#: src/lang.c:712
 msgid	"thread"
 msgstr	"fil"
 
-#: src/lang.c:709
+#: src/lang.c:713
 #, c-format
 msgid	"Thread %4s of %4s"
 msgstr	"Fil %4s de %4s"
 
-#: src/lang.c:710
+#: src/lang.c:714
 msgid	"Threading articles..."
 msgstr	"Regroupement des articles..."
 
-#: src/lang.c:711
+#: src/lang.c:715
 #, c-format
 msgid	"Toggled word highlighting %s"
 msgstr	"(Dés)activer surbrillance %s"
 
-#: src/lang.c:712
+#: src/lang.c:716
 msgid	"Toggled rot13 encoding"
 msgstr	"(Dés)activer codage rot13"
 
-#: src/lang.c:713
+#: src/lang.c:717
 #, c-format
 msgid	"Toggled german TeX encoding %s"
 msgstr	"(Dés)activer codage TeX Allemand %s"
 
-#: src/lang.c:714
+#: src/lang.c:718
 #, c-format
 msgid	"Toggled tab-width to %d"
 msgstr	"(Dés)activer largeur de tabulation à %d"
 
-#: src/lang.c:715
+#: src/lang.c:719
 #, c-format
 msgid	"%d Trying to dotlock %s"
 msgstr	"%d essaye de déverrouiller %s"
 
-#: src/lang.c:716
+#: src/lang.c:720
 #, c-format
 msgid	"%d Trying to lock %s"
 msgstr	"%d essaye de verrouiller %s"
 
-#: src/lang.c:717
+#: src/lang.c:721
 msgid	"           h=help\n"
 msgstr	"           h=aide\n"
 
-#: src/lang.c:719
+#: src/lang.c:723
 msgid	"Unlimited"
 msgstr	"Illimité"
 
-#: src/lang.c:720
+#: src/lang.c:724
 msgid	"Enter wildcard unsubscribe pattern> "
 msgstr	"Terme joker pour se désabonner> "
 
-#: src/lang.c:721
+#: src/lang.c:725
 #, c-format
 msgid	"Error decoding %s : %s"
 msgstr	"Erreur lors du décodage de %s : %s"
 
-#: src/lang.c:722
+#: src/lang.c:726
 msgid	"No end."
 msgstr	"Pas de fin."
 
-#: src/lang.c:723
+#: src/lang.c:727
 #, c-format
 msgid	"%s successfully decoded."
 msgstr	"%s décodé avec succès."
 
-#: src/lang.c:724
+#: src/lang.c:728
 #, c-format
 msgid	"%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 	"\n"
 msgstr	"%*s[-- %s/%s, %sfichier uuencodé, %d lignes, nom : %s --]\n"
 	"\n"
 
-#: src/lang.c:725
+#: src/lang.c:729
 msgid	"unread "
 msgstr	"non lu"
 
-#: src/lang.c:726
+#: src/lang.c:730
 #, c-format
 msgid	"unsubscribed from %d groups"
 msgstr	"désabonné de %d groupes"
 
-#: src/lang.c:727
+#: src/lang.c:731
 #, c-format
 msgid	"Unsubscribed from %s"
 msgstr	"Désabonné de %s"
 
-#: src/lang.c:728
+#: src/lang.c:732
 msgid	"Unsubscribing... "
 msgstr	"Désabonnement..."
 
-#: src/lang.c:729
+#: src/lang.c:733
 msgid	"Unthreading articles..."
 msgstr	"Dégroupement des articles..."
 
-#: src/lang.c:730
+#: src/lang.c:734
 msgid	"Updated"
 msgstr	"Mis à jour"
 
-#: src/lang.c:731
+#: src/lang.c:735
 msgid	"Updating"
 msgstr	"Rafraîchissement"
 
-#: src/lang.c:732
+#: src/lang.c:736
 #, c-format
 msgid	"Opening %s\n"
 msgstr	"Ouverture %s\n"
 
-#: src/lang.c:733
+#: src/lang.c:737
 msgid	"No more URL's in this article"
 msgstr	"Plus d'URL dans cet article"
 
-#: src/lang.c:734
+#: src/lang.c:738
 msgid	"Use MIME display program for this message?"
 msgstr	"Utiliser le programme d'affichage MIME pour ce message ?"
 
-#: src/lang.c:735
+#: src/lang.c:739
 msgid	"  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr	"  -c       marquer tous les articles lus dans les groupes abonnés (en tâche "
 	"de fond)"
 
-#: src/lang.c:736
+#: src/lang.c:740
 msgid	"  -Z       return status indicating if any unread news (batch mode)"
 msgstr	"  -Z       retourne un statut indiquant s'il y a nouveaux articles (en tâche "
 	"de fond)"
 
-#: src/lang.c:737
+#: src/lang.c:741
 msgid	"  -q       don't check for new newsgroups"
 msgstr	"  -q       ne pas vérifier s'il y a des nouveaux groupes"
 
-#: src/lang.c:738
+#: src/lang.c:742
 msgid	"  -X       don't save any files on quit"
 msgstr	"  -X       ne pas enregistrer de fichiers à la fermeture"
 
-#: src/lang.c:739
+#: src/lang.c:743
 msgid	"  -d       don't show newsgroup descriptions"
 msgstr	"  -d       ne pas afficher les descriptions des groupes"
 
-#: src/lang.c:740
+#: src/lang.c:744
 msgid	"  -G limit get only limit articles/group"
 msgstr	"  -G nombre d'articles par groupe limite"
 
-#: src/lang.c:741
+#: src/lang.c:745
 #, c-format
 msgid	"  -H       help information about %s"
 msgstr	"  -H       aide à propos de %s"
 
-#: src/lang.c:742
+#: src/lang.c:746
 msgid	"  -h       this help message"
 msgstr	"  -h       ce message d'aide"
 
-#: src/lang.c:743
+#: src/lang.c:747
 #, c-format
 msgid	"  -I dir   news index file directory [default=%s]"
 msgstr	"  -I rép.  dossier du fichier index [défaut=%s]"
 
-#: src/lang.c:744
+#: src/lang.c:748
 msgid	"  -u       update index files (batch mode)"
 msgstr	"  -u       màj des fichiers index (en tâche de fond)"
 
-#: src/lang.c:745
+#: src/lang.c:749
 #, c-format
 msgid	"  -m dir   mailbox directory [default=%s]"
 msgstr	"  -m rép.  dossier des bàl [défaut=%s]"
 
-#: src/lang.c:746
+#: src/lang.c:750
 #, c-format
 msgid	"\n"
 	"Mail bug reports/comments to %s"
 msgstr	"\n"
 	"Envoyez par mail vos rapports de bugs/suggestions à %s"
 
-#: src/lang.c:747
+#: src/lang.c:751
 msgid	"  -N       mail new news to your posts (batch mode)"
 msgstr	"  -N       envoyer toute réponse à vos articles (en tâche de fond)"
 
-#: src/lang.c:748
+#: src/lang.c:752
 msgid	"  -M user  mail new news to specified user (batch mode)"
 msgstr	"  -M util. envoyer tout nouvel article à une personne (en tâche de fond)"
 
-#: src/lang.c:749
+#: src/lang.c:753
 #, c-format
 msgid	"  -f file  subscribed to newsgroups file [default=%s]"
 msgstr	"  -f fich. abonné au fichier groupes [défaut=%s]"
 
-#: src/lang.c:750
+#: src/lang.c:754
 msgid	"  -x       no posting mode"
 msgstr	""
 
-#: src/lang.c:751
+#: src/lang.c:755
 msgid	"  -w       post an article and exit"
 msgstr	""
 
-#: src/lang.c:752
+#: src/lang.c:756
 msgid	"  -o       post all postponed articles and exit"
 msgstr	"  -o       poster tous les brouillons puis quitter"
 
-#: src/lang.c:753
+#: src/lang.c:757
 msgid	"  -r       read news remotely from default NNTP server"
 msgstr	"  -r       lire les articles depuis le serveur NNTP par défaut"
 
-#: src/lang.c:754
+#: src/lang.c:758
 msgid	"  -R       read news saved by -S option"
 msgstr	"  -R       lire les articles enregistrés via l'option -S"
 
-#: src/lang.c:755
+#: src/lang.c:759
 #, c-format
 msgid	"  -s dir   save news directory [default=%s]"
 msgstr	"  -s rép.  dossier où enregistrer les articles [défaut=%s]"
 
-#: src/lang.c:756
+#: src/lang.c:760
 msgid	"  -S       save new news for later reading (batch mode)"
 msgstr	"  -S       enregistrer tout nouvel article pour lecture différée (en tâche de "
 	"fond)"
 
-#: src/lang.c:757
+#: src/lang.c:761
 msgid	"  -z       start if any unread news"
 msgstr	"  -z       lancer si articles non lus"
 
-#: src/lang.c:758
+#: src/lang.c:762
 #, c-format
 msgid	"A Usenet reader.\n"
 	"\n"
@@ -3086,37 +3105,37 @@ msgid	"A Usenet reader.\n"
 msgstr	"Un lecteur UseNet.\n"
 	"Usage : %s [options] [groupe[,...]]"
 
-#: src/lang.c:759
+#: src/lang.c:763
 msgid	"  -v       verbose output for batch mode options"
 msgstr	"  -v       sortie détaillée pour options en tâche de fond"
 
-#: src/lang.c:760
+#: src/lang.c:764
 msgid	"  -V       print version & date information"
 msgstr	"  -V       afficher infos date & version"
 
-#: src/lang.c:761
+#: src/lang.c:765
 #, c-format
 msgid	"%s only useful without batch mode operations\n"
 msgstr	"%s utile seulement sans opérations en tâche de fond\n"
 
-#: src/lang.c:762
+#: src/lang.c:766
 #, c-format
 msgid	"%s only useful for batch mode operations\n"
 msgstr	"%s utile seulement pour opérations en tâche de fond\n"
 
-#: src/lang.c:764
+#: src/lang.c:768
 #, c-format
 msgid	"\n"
 	"%s%d out of range (0 - %d). Reset to 0"
 msgstr	"\n"
 	"%s%d expiré (0 - %d). Remis à 0"
 
-#: src/lang.c:765
+#: src/lang.c:769
 #, c-format
 msgid	"View '%s' (%s/%s)?"
 msgstr	"Vue '%s' (%s/%s) ?"
 
-#: src/lang.c:767
+#: src/lang.c:771
 #, c-format
 msgid	"\n"
 	"Warning: posting exceeds %d columns. Line %d is the first long one:\n"
@@ -3126,26 +3145,26 @@ msgstr	"\n"
 	":\n"
 	"%-100s\n"
 
-#: src/lang.c:768
+#: src/lang.c:772
 msgid	"\n"
 	"Warning: article unchanged after editing\n"
 msgstr	"\n"
 	"Attention : article inchangé après son édition\n"
 
-#: src/lang.c:769
+#: src/lang.c:773
 msgid	"\n"
 	"Warning: \"Subject:\" contains only whitespaces.\n"
 msgstr	"\n"
 	"Attention : \"Subject:\" contient que des espaces.\n"
 
-#: src/lang.c:770
+#: src/lang.c:774
 msgid	"\n"
 	"Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n"
 msgstr	"\n"
 	"Attention : \"Subject:\" commence par \"Re: \" mais il n'y a pas de "
 	"\"References:\".\n"
 
-#: src/lang.c:772
+#: src/lang.c:776
 msgid	"\n"
 	"Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
 	"         with \"Re: \" and does not contain \"(was:\".\n"
@@ -3153,7 +3172,7 @@ msgstr	"\n"
 	"Attention : L'article a \"References:\" mais \"Subject:\" ne commence\n"
 	"            avec \"Re: \" et ne contient pas \"(was:\".\n"
 
-#: src/lang.c:775
+#: src/lang.c:779
 msgid	"Read carefully!\n"
 	"\n"
 	"  You are about to cancel an article seemingly written by you. This will "
@@ -3175,7 +3194,7 @@ msgstr	"Lisez ceci attentivement !\n"
 	"Voici l'article que vous vous apprêtez à effacer :\n"
 	"\n"
 
-#: src/lang.c:779
+#: src/lang.c:783
 msgid	"\n"
 	"Warning: You are using a non-plain transfer encoding (such as base64 or\n"
 	"         quoted-printable) and an external inews program to submit your\n"
@@ -3187,7 +3206,7 @@ msgstr	"\n"
 	"            votre article. Si une signature y est ajoutée par cet inews,\n"
 	"            elle ne sera pas encodée correctement.\n"
 
-#: src/lang.c:784
+#: src/lang.c:788
 #, c-format
 msgid	"\n"
 	"\n"
@@ -3200,7 +3219,7 @@ msgstr	"\n"
 	"Certaines valeurs dans votre fichier %s ont changé !\n"
 	"Lisez le fichier WHATSNEW, etc...\n"
 
-#: src/lang.c:786
+#: src/lang.c:790
 #, c-format
 msgid	"\n"
 	"\n"
@@ -3212,7 +3231,7 @@ msgstr	"\n"
 	"Certaines valeurs dans votre fichier %s peuvent être ignorés, d'autres\n"
 	"ont peut-être changés !\n"
 
-#: src/lang.c:789
+#: src/lang.c:793
 #, c-format
 msgid	"Warning: tin wrote fewer groups to your\n"
 	"\t%s\n"
@@ -3225,19 +3244,19 @@ msgstr	"Attention : tin a écrit quelque 
 	"lors de cette session, cela indique une erreur et vous devriez sauvegarder\n"
 	"votre %s avant de relancer tin !\n"
 
-#: src/lang.c:793
+#: src/lang.c:797
 #, c-format
 msgid	"\n"
 	"Warning: Found %d '-- \\n' lines, this may confuse some people.\n"
 msgstr	"\n"
 	"Attention : %d lignes '-- \\n' trouvées, cela peut prêter à confusion.\n"
 
-#: src/lang.c:794
+#: src/lang.c:798
 #, c-format
 msgid	"Warning: Only %d out of %d articles were saved"
 msgstr	"Attention : Seul %d sur %d articles ont été enregistrés"
 
-#: src/lang.c:795
+#: src/lang.c:799
 #, c-format
 msgid	"\n"
 	"Warning: Your signature  is longer than %d lines.  Since signatures usually "
@@ -3252,50 +3271,50 @@ msgstr	"\n"
 	"d'être\n"
 	"            le plus court possible.\n"
 
-#: src/lang.c:799
+#: src/lang.c:803
 #, c-format
 msgid	"Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr	"Attention : cette email peut contenir un piège à spam. %s=continuer, "
 	"%s=annuler ?"
 
-#: src/lang.c:800
+#: src/lang.c:804
 msgid	"\n"
 	"Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
 msgstr	"\n"
 	"Attention : Les signatures doivent commencer avec '-- \\n' et non par '-- "
 	"\\n'.\n"
 
-#: src/lang.c:801
+#: src/lang.c:805
 msgid	"Writing attributes file..."
 msgstr	"Écriture du fichier attributes..."
 
-#: src/lang.c:803
+#: src/lang.c:807
 #, c-format
 msgid	"%d Responses"
 msgstr	"%d Réponses"
 
-#: src/lang.c:805
+#: src/lang.c:809
 #, c-format
 msgid	"Added %d %s"
 msgstr	"%d %s ajouté(s)"
 
-#: src/lang.c:806
+#: src/lang.c:810
 msgid	"No unsubscribed groups to show"
 msgstr	"Pas de groupes désabonnés à afficher"
 
-#: src/lang.c:807
+#: src/lang.c:811
 msgid	"Showing subscribed to groups only"
 msgstr	"Afficher uniquement les groupes abonnés"
 
-#: src/lang.c:808
+#: src/lang.c:812
 msgid	"Yes "
 msgstr	"Oui "
 
-#: src/lang.c:809
+#: src/lang.c:813
 msgid	"    You have mail\n"
 msgstr	"    Nouveau mail\n"
 
-#: src/lang.c:814
+#: src/lang.c:818
 #, c-format
 msgid	"\n"
 	"Warning: Posting is in %s and contains characters which are not\n"
@@ -3314,16 +3333,16 @@ msgstr	"\n"
 	"            problème, ou bien changer la valeur de MM_NETWORK_CHARSET\n"
 	"            via le M)enu.\n"
 
-#: src/lang.c:825
+#: src/lang.c:829
 #, c-format
 msgid	"Redefined key %s '%s' -> '%s'\n"
 msgstr	"Clé %s redéfinie '%s' -> '%s'\n"
 
-#: src/lang.c:826
+#: src/lang.c:830
 msgid	"  -D       debug mode 1=NNTP 2=ALL"
 msgstr	"  -D       mode debug 1=NNTP 2=TOUS"
 
-#: src/lang.c:830
+#: src/lang.c:834
 msgid	"Read carefully!\n"
 	"\n"
 	"  You are about to cancel an article seemingly not written by you.  This "
@@ -3350,11 +3369,11 @@ msgstr	"Lisez ceci attentivement !\n"
 	"Voici l'article que vous vous apprêtez a effacer :\n"
 	"\n"
 
-#: src/lang.c:839
+#: src/lang.c:843
 msgid	"toggle color"
 msgstr	"(dés)activer la couleur"
 
-#: src/lang.c:840
+#: src/lang.c:844
 msgid	"# For color-adjust use the following numbers\n"
 	"#  0-black       1-red         2-green        3-brown\n"
 	"#  4-blue        5-pink        6-cyan         7-white\n"
@@ -3374,44 +3393,44 @@ msgstr	"# Pour ajuster les couleurs util
 	"# et l'arrière-plan noir)\n"
 	"\n"
 
-#: src/lang.c:848
+#: src/lang.c:852
 msgid	"  -a       toggle color flag"
 msgstr	"  -a       change la couleur"
 
-#: src/lang.c:852
+#: src/lang.c:856
 msgid	"\n"
 	"Error: Followup-To set to more than one newsgroup!\n"
 msgstr	"\n"
 	"Erreur : Suivi positionné sur plus d'un groupe !\n"
 
-#: src/lang.c:853
+#: src/lang.c:857
 #, c-format
 msgid	"\n"
 	"Error: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr	"\n"
 	"Erreur : multi-postage vers %d groupes et pas de ligne Followup-To !\n"
 
-#: src/lang.c:854
+#: src/lang.c:858
 #, c-format
 msgid	"\n"
 	"Error: \"%s\" is not a valid newsgroup!\n"
 msgstr	"\n"
 	"Erreur : \"%s\" n'est pas un groupe valide !\n"
 
-#: src/lang.c:856
+#: src/lang.c:860
 msgid	"\n"
 	"Warning: Followup-To set to more than one newsgroup!\n"
 msgstr	"\n"
 	"Attention : Suivi positionné sur plus d'un groupe !\n"
 
-#: src/lang.c:857
+#: src/lang.c:861
 #, c-format
 msgid	"\n"
 	"Warning: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr	"\n"
 	"Attention : multi-postage vers %d groupes et aucun suivi !\n"
 
-#: src/lang.c:858
+#: src/lang.c:862
 #, c-format
 msgid	"\n"
 	"Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n"
@@ -3420,307 +3439,307 @@ msgstr	"\n"
 	"            apparaître dans ce groupe !\n"
 	"\n"
 
-#: src/lang.c:859
+#: src/lang.c:863
 #, c-format
 msgid	"\n"
 	"Warning: \"%s\" is not a valid newsgroup at this site!\n"
 msgstr	"\n"
 	"Attention : \"%s\" n'est pas un groupe valide !\n"
 
-#: src/lang.c:863
+#: src/lang.c:867
 #, c-format
 msgid	"%d files successfully written from %d articles. %d %s occurred."
 msgstr	"%d fichiers des %d articles écrits avec succès. %d %s est survenu."
 
-#: src/lang.c:864
+#: src/lang.c:868
 msgid	"Missing parts."
 msgstr	"Parties manquantes"
 
-#: src/lang.c:865
+#: src/lang.c:869
 msgid	"No beginning."
 msgstr	"Pas de début."
 
-#: src/lang.c:866
+#: src/lang.c:870
 msgid	"No data."
 msgstr	"Pas de données."
 
-#: src/lang.c:867
+#: src/lang.c:871
 msgid	"Unknown error."
 msgstr	"Erreur inconnue."
 
-#: src/lang.c:869
+#: src/lang.c:873
 #, c-format
 msgid	"\tChecksum of %s (%ld %s)"
 msgstr	"\tSomme de contrôle de %s (%ld %s)"
 
-#: src/lang.c:873
+#: src/lang.c:877
 msgid	"Reading mail active file... "
 msgstr	"Lecture du fichier active mail... "
 
-#: src/lang.c:874
+#: src/lang.c:878
 msgid	"Reading mailgroups file... "
 msgstr	"Lecture du fichier mailgroups... "
 
-#: src/lang.c:878
+#: src/lang.c:882
 msgid	"perform PGP operations on article"
 msgstr	"effectuer des opérations PGP sur l'article"
 
-#: src/lang.c:879
+#: src/lang.c:883
 msgid	"Add key(s) to public keyring?"
 msgstr	"Ajouter les clé(s) au cercle public ?"
 
-#: src/lang.c:880
+#: src/lang.c:884
 #, c-format
 msgid	"%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr	"%s=encodé, %s=signer, %s=les deux, %s=quitter : "
 
-#: src/lang.c:881
+#: src/lang.c:885
 #, c-format
 msgid	"%s=sign, %s=sign & include public key, %s=quit: "
 msgstr	"%s=signer, %s=sig. & inclure clé publique, %s=quitter : "
 
-#: src/lang.c:882
+#: src/lang.c:886
 #, c-format
 msgid	"PGP has not been set up (can't open %s)"
 msgstr	"PGP n'a pas été configuré (ouverture de %s impossible)"
 
-#: src/lang.c:883
+#: src/lang.c:887
 msgid	"Article not signed and no public keys found"
 msgstr	"Article non signé et pas de clés publiques trouvées"
 
-#: src/lang.c:885
+#: src/lang.c:889
 #, c-format
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=quitter, %s=éditer, %s=ispell, %s=pgp, %s=menu, %s=poster, %s=brouillon : "
 
-#: src/lang.c:886
+#: src/lang.c:890
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%.*s]: "
 msgstr	"%s=quitter, %s=éditer, %s=ispell, %s=pgp, %s=envoyer [%%.*s] : "
 
-#: src/lang.c:887
+#: src/lang.c:891
 msgid	"%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=quitter, %s=éditer, %s=ispell, %s=pgp, %s=menu, %s=poster, %s=brouillon "
 	"[%%.*s]: "
 
-#: src/lang.c:889
+#: src/lang.c:893
 #, c-format
 msgid	"%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=quitter, %s=éditer, %s=pgp, %s=menu, %s=poster, %s=brouillon : "
 
-#: src/lang.c:890
+#: src/lang.c:894
 msgid	"%s=quit, %s=edit, %s=pgp, %s=send [%%.*s]: "
 msgstr	"%s=quitter, %s=éditer, %s=pgp, %s=envoyer [%%.*s] : "
 
-#: src/lang.c:891
+#: src/lang.c:895
 msgid	"%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=quitter, %s=éditer, %s=pgp, %s=menu, %s=poster, %s=brouillon [%%.*s]: "
 
-#: src/lang.c:895
+#: src/lang.c:899
 #, c-format
 msgid	"%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=quitter, %s=éditer, %s=ispell, %s=menu, %s=poster, %s=brouillon : "
 
-#: src/lang.c:896
+#: src/lang.c:900
 msgid	"%s=quit, %s=edit, %s=ispell, %s=send [%%.*s]: "
 msgstr	"%s=quitter, %s=éditer, %s=ispell, %s=envoyer [%%.*s] : "
 
-#: src/lang.c:897
+#: src/lang.c:901
 msgid	"%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=quitter, %s=éditer, %s=ispell, %s=menu, %s=poster, %s=brouillon [%%.*s]: "
 
-#: src/lang.c:899
+#: src/lang.c:903
 #, c-format
 msgid	"%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr	"%s=quitter, %s=éditer, %s=menu, %s=poster, %s=brouillon : "
 
-#: src/lang.c:900
+#: src/lang.c:904
 msgid	"%s=quit, %s=edit, %s=send [%%.*s]: "
 msgstr	"%s=quitter, %s=éditer, %s=envoyer [%%.*s] : "
 
-#: src/lang.c:901
+#: src/lang.c:905
 msgid	"%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr	"%s=quitter, %s=éditer, %s=menu, %s=poster, %s=brouillon [%%.*s]: "
 
-#: src/lang.c:910
+#: src/lang.c:914
 msgid	"Try cache_overview_files to speed up things.\n"
 msgstr	""
 
-#: src/lang.c:911
+#: src/lang.c:915
 msgid	"Tin will use local index files instead.\n"
 msgstr	""
 
-#: src/lang.c:912
+#: src/lang.c:916
 msgid	"Cannot find NNTP server name"
 msgstr	"Nom du serveur NNTP introuvable"
 
-#: src/lang.c:913
+#: src/lang.c:917
 #, c-format
 msgid	"Connecting to %s:%d..."
 msgstr	"Connexion à %s:%d..."
 
-#: src/lang.c:914
+#: src/lang.c:918
 msgid	"Disconnecting from server...\n"
 msgstr	"Déconnexion du serveur...\n"
 
-#: src/lang.c:915
+#: src/lang.c:919
 #, c-format
 msgid	"Wrong newsgroup name in response of GROUP command, %s for %s"
 msgstr	"Nom de groupe erroné dans la réponse de la cmd GROUP, %s pour %s"
 
-#: src/lang.c:916
+#: src/lang.c:920
 #, c-format
 msgid	"Failed to connect to NNTP server %s. Exiting..."
 msgstr	"Échec de la connexion au serveur NNTP %s. Fermeture..."
 
-#: src/lang.c:917
+#: src/lang.c:921
 msgid	"205  Closing connection"
 msgstr	"205 Fermeture de la connexion"
 
-#: src/lang.c:918
+#: src/lang.c:922
 msgid	"Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr	"Votre serveur ne supporte pas la commande NNTP XOVER ou OVER.\n"
 
-#: src/lang.c:919
+#: src/lang.c:923
 msgid	"Connection to news server has timed out. Reconnect?"
 msgstr	"Connexion au serveur de nouvelles expirée. Se reconnecter ?"
 
-#: src/lang.c:920
+#: src/lang.c:924
 #, c-format
 msgid	"Put the server name in the file %s,\n"
 	"or set the environment variable NNTPSERVER"
 msgstr	"Mettez le nom du serveur dans le fichier %s,\n"
 	"ou utilisez la variable d'environnement NNTPSERVER"
 
-#: src/lang.c:921
+#: src/lang.c:925
 msgid	"  -A       force authentication on connect"
 msgstr	"  -A       force l'authentication à la connexion"
 
-#: src/lang.c:922
+#: src/lang.c:926
 #, c-format
 msgid	"  -g serv  read news from NNTP server serv [default=%s]"
 msgstr	"  -g serv  lire depuis le serveur NNTP serv [défaut=%s]"
 
-#: src/lang.c:923
+#: src/lang.c:927
 #, c-format
 msgid	"  -p port  use port as NNTP port [default=%d]"
 msgstr	"  -p port  utiliser port comme port NNTP [défaut=%d]"
 
-#: src/lang.c:924
+#: src/lang.c:928
 msgid	"  -Q       quick start. Same as -nqd"
 msgstr	"  -Q       démarrage rapide. Idem que -npd"
 
-#: src/lang.c:925
+#: src/lang.c:929
 msgid	"  -l       use only LIST instead of GROUP (-n) command"
 msgstr	"  -l       utilise seulement LIST plutôt que GROUP (n-)"
 
-#: src/lang.c:926
+#: src/lang.c:930
 msgid	"  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr	"  -n       lire seulement groupes abonnés du .newsrc depuis le serveur NNTP"
 
-#: src/lang.c:928
+#: src/lang.c:932
 #, c-format
 msgid	"%s/tcp: Unknown service.\n"
 msgstr	"%s/tcp : Service inconnu.\n"
 
-#: src/lang.c:931
+#: src/lang.c:935
 msgid	"\n"
 	"socket or connect problem\n"
 msgstr	"\n"
 	"problème de socket ou de connexion\n"
 
-#: src/lang.c:933
+#: src/lang.c:937
 #, c-format
 msgid	"\n"
 	"Connection to %s: "
 msgstr	"\n"
 	"Connexion à %s : "
 
-#: src/lang.c:934
+#: src/lang.c:938
 msgid	"Giving up...\n"
 msgstr	"Abandon...\n"
 
-#: src/lang.c:937
+#: src/lang.c:941
 msgid	"Your server does not have Xref: in its XOVER information.\n"
 	"Tin will try to use XHDR XREF instead (slows down things a bit).\n"
 msgstr	"Votre serveur n'a pas d'Xref: dans son information XOVER.\n"
 	"Tin essayera d'utiliser XHDR XREF à la place (plus lent).\n"
 
-#: src/lang.c:940
+#: src/lang.c:944
 msgid	"Your server does not have Xref: in its XOVER information.\n"
 msgstr	"Votre serveur n'a pas d'Xref: dans son information XOVER.\n"
 
-#: src/lang.c:943
+#: src/lang.c:947
 #, c-format
 msgid	"Can't open %s. Try %s -r to read news via NNTP.\n"
 msgstr	"Ouverture de %s impossible. Essayez %s -r pour lire via NNTP.\n"
 
-#: src/lang.c:946
+#: src/lang.c:950
 msgid	"  -Q       quick start. Same as -qd"
 msgstr	"  -Q       démarrage rapide. Idem que -qd"
 
-#: src/lang.c:947
+#: src/lang.c:951
 msgid	"  -l       read only active file instead of scanning spool (-n) command"
 msgstr	"  -l       lire seulement le fichier active plutôt que le spool (-n)"
 
-#: src/lang.c:948
+#: src/lang.c:952
 msgid	"  -n       only read subscribed .newsrc groups from spool"
 msgstr	"  -n       lire seulement groupes abonnés du .newsrc depuis le spool"
 
-#: src/lang.c:949
+#: src/lang.c:953
 msgid	"Your server does not have Xref: in its NOV-files.\n"
 msgstr	"Votre serveur n'a pas d'Xref: dans son fichier NOV.\n"
 
-#: src/lang.c:953
+#: src/lang.c:957
 msgid	"Posting using external inews failed. Use built in inews instead?"
 msgstr	"Le postage avec l'inews externe à échoué. Utiliser l'inews intégré ?"
 
-#: src/lang.c:954
+#: src/lang.c:958
 msgid	"It worked! Should I always use my built in inews from now on?"
 msgstr	"Ca a marché ! Devrais-je toujours utiliser mon inews intégré à présent ?"
 
-#: src/lang.c:962
+#: src/lang.c:966
 #, c-format
 msgid	"%d %s printed"
 msgstr	"%d %s imprimé"
 
-#: src/lang.c:963
+#: src/lang.c:967
 msgid	"output article/thread/hot/pattern/tagged articles to printer"
 msgstr	"envoyer article/fil/sél./articles marqués à l'imprimante"
 
-#: src/lang.c:964
+#: src/lang.c:968
 msgid	"Print"
 msgstr	"Imprimer"
 
-#: src/lang.c:965
+#: src/lang.c:969
 msgid	"Printing..."
 msgstr	"Impression..."
 
-#: src/lang.c:969
+#: src/lang.c:973
 msgid	"pipe article/thread/hot/pattern/tagged articles into command"
 msgstr	"passer article/fil/sél./articles marqués à une commande"
 
-#: src/lang.c:970
+#: src/lang.c:974
 msgid	"No command"
 msgstr	"Pas de commande"
 
-#: src/lang.c:971
+#: src/lang.c:975
 msgid	"Pipe"
 msgstr	"Passer (pipe)"
 
-#: src/lang.c:972
+#: src/lang.c:976
 #, c-format
 msgid	"Pipe to command [%.*s]> "
 msgstr	"Passer à la commande [%.*s]> "
 
-#: src/lang.c:973
+#: src/lang.c:977
 msgid	"Piping..."
 msgstr	"Passage..."
 
-#: src/lang.c:975
+#: src/lang.c:979
 msgid	"Piping not enabled."
 msgstr	"Passage non activé."
 
-#: src/lang.c:979
+#: src/lang.c:983
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line has spaces  in it that MUST be removed.\n"
@@ -3733,7 +3752,7 @@ msgstr	"\n"
 	"         du contenu. Utilisez une virgule (,) pour séparer de multiples\n"
 	"         noms de groupes.\n"
 
-#: src/lang.c:984
+#: src/lang.c:988
 #, c-format
 msgid	"\n"
 	"Error: The \"%s:\" line is  continued in  the next line.  Since\n"
@@ -3744,7 +3763,7 @@ msgstr	"\n"
 	"         Comme la ligne ne contient pas d'espace, ce n'est pas autorisé.\n"
 	"         Inscrivez svp tous les groupes sur une seule ligne.\n"
 
-#: src/lang.c:989
+#: src/lang.c:993
 #, c-format
 msgid	"\n"
 	"Warning: The \"%s:\" line is continued in the next line.\n"
@@ -3757,7 +3776,7 @@ msgstr	"\n"
 	"            Pour éviter les problèmes, indiquez tous les groupes sur une\n"
 	"            seule ligne.\n"
 
-#: src/lang.c:993
+#: src/lang.c:997
 #, c-format
 msgid	"\n"
 	"Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n"
@@ -3765,7 +3784,7 @@ msgstr	"\n"
 	"Attention : La ligne \"%s:\" contient un ou des espaces qui DOIVENT\n"
 	"            être enlevés.\n"
 
-#: src/lang.c:998
+#: src/lang.c:1002
 msgid	"\n"
 	"  If your article contains quoted text  please take some time to pare it "
 	"down\n"
@@ -3799,41 +3818,41 @@ msgstr	"\n"
 	"simples\n"
 	"  règles, pratiquement toutes les personnes ignoreront vos articles.\n"
 
-#: src/lang.c:1011
+#: src/lang.c:1015
 msgid	"shell escape"
 msgstr	"accéder à un shell"
 
-#: src/lang.c:1012
+#: src/lang.c:1016
 #, c-format
 msgid	"Shell Command (%s)"
 msgstr	"Commande shell (%s)"
 
-#: src/lang.c:1013
+#: src/lang.c:1017
 #, c-format
 msgid	"Enter shell command [%s]> "
 msgstr	"Commande shell [%s]> "
 
-#: src/lang.c:1017
+#: src/lang.c:1021
 #, c-format
 msgid	"%s: Can't get entry for TERM\n"
 msgstr	"%s : Entrée pour TERM introuvable\n"
 
-#: src/lang.c:1021
+#: src/lang.c:1025
 #, c-format
 msgid	"Group %.*s ('q' to quit)..."
 msgstr	"Groupe %.*s ('q' pour quitter)..."
 
-#: src/lang.c:1023
+#: src/lang.c:1027
 #, c-format
 msgid	"Group %.*s..."
 msgstr	"Groupe %.*s..."
 
-#: src/lang.c:1027
+#: src/lang.c:1031
 msgid	"Server unavailable\n"
 msgstr	"Service indisponible\n"
 
 # TRANSLATION TOO LONG
-#: src/lang.c:1033
+#: src/lang.c:1037
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
 	"%s=post"
@@ -3841,503 +3860,516 @@ msgstr	"%s=pipe; %s=mail; %s=imprimer; %
 	"%s=marquer; %s=poster"
 
 # TRANSLATION TOO LONG
-#: src/lang.c:1034
+#: src/lang.c:1038
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=pipe; %s=mail; %s=imprimer; %s=quitter; %s=répondre; %s=enregistrer; "
 	"%s=marquer; %s=poster"
 
-#: src/lang.c:1036
+#: src/lang.c:1040
 #, c-format
 msgid	"%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	"%s=mail; %s=imprimer; %s=quitter; %s=voir lu/non lu; %s=enregistrer; "
 	"%s=marquer; %s=poster"
 
-#: src/lang.c:1037
+#: src/lang.c:1041
 #, c-format
 msgid	"%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=mail; %s=imprimer; %s=quitter; %s=répondre; %s=enregistrer; %s=marquer; "
 	"%s=poster"
 
-#: src/lang.c:1041
+#: src/lang.c:1045
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	"%s=pipe; %s=mail; %s=quitter; %s=voir lu/non lu; %s=enregistrer; %s=marquer; "
 	"%s=poster"
 
-#: src/lang.c:1042
+#: src/lang.c:1046
 #, c-format
 msgid	"%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=pipe; %s=mail; %s=quitter; %s=répondre; %s=enregistrer; %s=marquer; "
 	"%s=poster"
 
-#: src/lang.c:1044
+#: src/lang.c:1048
 #, c-format
 msgid	"%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr	"%s=mail; %s=quitter; %s=voir lu/non lu; %s=enregistrer; %s=marquer; %s=poster"
 
-#: src/lang.c:1045
+#: src/lang.c:1049
 #, c-format
 msgid	"%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr	"%s=mail; %s=quitter; %s=répondre; %s=enregistrer; %s=marquer; %s=poster"
 
-#: src/lang.c:1051
+#: src/lang.c:1055
 msgid	"Terminal does not support color"
 msgstr	"Terminal ne supporte pas les couleurs"
 
-#: src/lang.c:1056
+#: src/lang.c:1060
 #, c-format
 msgid	"Trying %s"
 msgstr	"Essai %s"
 
-#: src/lang.c:1070 src/lang.c:1095 src/lang.c:1111 src/refs.c:266
+#: src/lang.c:1074 src/lang.c:1099 src/lang.c:1115 src/lang.c:1294 src/refs.c:266
 msgid	"None"
 msgstr	"Aucun"
 
-#: src/lang.c:1071
+#: src/lang.c:1075
 msgid	"Subject"
 msgstr	"Sujet"
 
-#: src/lang.c:1072
+#: src/lang.c:1076
 msgid	"References"
 msgstr	"Références"
 
-#: src/lang.c:1073
+#: src/lang.c:1077
 msgid	"Both Subject and References"
 msgstr	"Sujet & Références"
 
-#: src/lang.c:1074
+#: src/lang.c:1078
 msgid	"Multipart Subject"
 msgstr	"Sujet multiparties"
 
-#: src/lang.c:1086 src/lang.c:1197
+#: src/lang.c:1090 src/lang.c:1201
 msgid	"No"
 msgstr	"Non"
 
-#: src/lang.c:1087 src/lang.c:1199
+#: src/lang.c:1091 src/lang.c:1203
 msgid	"Yes"
 msgstr	"Oui"
 
-#: src/lang.c:1088
+#: src/lang.c:1092
 msgid	"Hide All"
 msgstr	"Tout masquer"
 
-#: src/lang.c:1096
+#: src/lang.c:1100
 msgid	"Address"
 msgstr	"Adresse"
 
-#: src/lang.c:1097
+#: src/lang.c:1101
 msgid	"Full Name"
 msgstr	"Nom complet"
 
-#: src/lang.c:1098
+#: src/lang.c:1102
 msgid	"Address and Name"
 msgstr	"Adresse et Nom"
 
-#: src/lang.c:1105
+#: src/lang.c:1109
 msgid	"Max"
 msgstr	"Max"
 
-#: src/lang.c:1106
+#: src/lang.c:1110
 msgid	"Sum"
 msgstr	"Sum"
 
-#: src/lang.c:1107
+#: src/lang.c:1111
 msgid	"Average"
 msgstr	"Moyenne"
 
-#: src/lang.c:1112
+#: src/lang.c:1116
 msgid	"Lines"
 msgstr	"Lignes"
 
-#: src/lang.c:1113
+#: src/lang.c:1117
 msgid	"Score"
 msgstr	"Score"
 
-#: src/lang.c:1114
+#: src/lang.c:1118
 msgid	"Lines & Score"
 msgstr	"Lignes & Score"
 
-#: src/lang.c:1123
+#: src/lang.c:1127
 msgid	"Black"
 msgstr	"Noir"
 
-#: src/lang.c:1124
+#: src/lang.c:1128
 msgid	"Red"
 msgstr	"Rouge"
 
-#: src/lang.c:1125
+#: src/lang.c:1129
 msgid	"Green"
 msgstr	"Vert"
 
-#: src/lang.c:1126
+#: src/lang.c:1130
 msgid	"Brown"
 msgstr	"Marron"
 
-#: src/lang.c:1127
+#: src/lang.c:1131
 msgid	"Blue"
 msgstr	"Bleu"
 
-#: src/lang.c:1128
+#: src/lang.c:1132
 msgid	"Pink"
 msgstr	"Rose"
 
-#: src/lang.c:1129
+#: src/lang.c:1133
 msgid	"Cyan"
 msgstr	"Cyan"
 
-#: src/lang.c:1130
+#: src/lang.c:1134
 msgid	"White"
 msgstr	"Blanc"
 
-#: src/lang.c:1131
+#: src/lang.c:1135
 msgid	"Gray"
 msgstr	"Gris"
 
-#: src/lang.c:1132
+#: src/lang.c:1136
 msgid	"Light Red"
 msgstr	"Rouge gras"
 
-#: src/lang.c:1133
+#: src/lang.c:1137
 msgid	"Light Green"
 msgstr	"Vert gras"
 
-#: src/lang.c:1134
+#: src/lang.c:1138
 msgid	"Yellow"
 msgstr	"Jaune"
 
-#: src/lang.c:1135
+#: src/lang.c:1139
 msgid	"Light Blue"
 msgstr	"Bleu gras"
 
-#: src/lang.c:1136
+#: src/lang.c:1140
 msgid	"Light Pink"
 msgstr	"Rose gras"
 
-#: src/lang.c:1137
+#: src/lang.c:1141
 msgid	"Light Cyan"
 msgstr	"Cyan gras"
 
-#: src/lang.c:1138
+#: src/lang.c:1142
 msgid	"Light White"
 msgstr	"Blanc gras"
 
-#: src/lang.c:1146 src/lang.c:1203 src/lang.c:1217
+#: src/lang.c:1150 src/lang.c:1207 src/lang.c:1221
 msgid	"Nothing"
 msgstr	"Rien"
 
-#: src/lang.c:1147
+#: src/lang.c:1151
 msgid	"Mark"
 msgstr	"Marque"
 
-#: src/lang.c:1148
+#: src/lang.c:1152
 msgid	"Space"
 msgstr	"Espace"
 
-#: src/lang.c:1155
+#: src/lang.c:1159
 msgid	"Normal"
 msgstr	"Normal"
 
-#: src/lang.c:1156
+#: src/lang.c:1160
 msgid	"Best highlighting"
 msgstr	"Meilleure surbrillance"
 
-#: src/lang.c:1157
+#: src/lang.c:1161
 msgid	"Underline"
 msgstr	"Souligné"
 
-#: src/lang.c:1158
+#: src/lang.c:1162
 msgid	"Reverse video"
 msgstr	"Vidéo inversée"
 
-#: src/lang.c:1159
+#: src/lang.c:1163
 msgid	"Blinking"
 msgstr	"Clignotement"
 
-#: src/lang.c:1160
+#: src/lang.c:1164
 msgid	"Half bright"
 msgstr	"Moins lumineux"
 
-#: src/lang.c:1161
+#: src/lang.c:1165
 msgid	"Bold"
 msgstr	"Gras"
 
-#: src/lang.c:1166
+#: src/lang.c:1170
 msgid	"none"
 msgstr	"aucun"
 
-#: src/lang.c:1167
+#: src/lang.c:1171
 msgid	"commands"
 msgstr	"commandes"
 
-#: src/lang.c:1168
+#: src/lang.c:1172
 msgid	"select"
 msgstr	"sélection"
 
-#: src/lang.c:1170
+#: src/lang.c:1174
 msgid	"commands & quit"
 msgstr	"commandes & quitter"
 
-#: src/lang.c:1171
+#: src/lang.c:1175
 msgid	"commands & select"
 msgstr	"commandes & sélection"
 
-#: src/lang.c:1172
+#: src/lang.c:1176
 msgid	"quit & select"
 msgstr	"quitter & sélection"
 
-#: src/lang.c:1173
+#: src/lang.c:1177
 msgid	"commands & quit & select"
 msgstr	"commandes, quitter & sélection"
 
-#: src/lang.c:1198
+#: src/lang.c:1202
 msgid	"Shell archive"
 msgstr	"Archive shell"
 
-#: src/lang.c:1204
+#: src/lang.c:1208
 msgid	"Subject: (descending)"
 msgstr	"Sujet : (descendant)"
 
-#: src/lang.c:1205
+#: src/lang.c:1209
 msgid	"Subject: (ascending)"
 msgstr	"Sujet : (ascendant)"
 
-#: src/lang.c:1206
+#: src/lang.c:1210
 msgid	"From: (descending)"
 msgstr	"De : (descendant)"
 
-#: src/lang.c:1207
+#: src/lang.c:1211
 msgid	"From: (ascending)"
 msgstr	"De : (ascendant)"
 
-#: src/lang.c:1208
+#: src/lang.c:1212
 msgid	"Date: (descending)"
 msgstr	"Date : (descendant)"
 
-#: src/lang.c:1209
+#: src/lang.c:1213
 msgid	"Date: (ascending)"
 msgstr	"Date : (ascendant)"
 
-#: src/lang.c:1210 src/lang.c:1218
+#: src/lang.c:1214 src/lang.c:1222
 msgid	"Score (descending)"
 msgstr	"Score (descendant)"
 
-#: src/lang.c:1211 src/lang.c:1219
+#: src/lang.c:1215 src/lang.c:1223
 msgid	"Score (ascending)"
 msgstr	"Score (ascendant)"
 
-#: src/lang.c:1212
+#: src/lang.c:1216
 msgid	"Lines: (descending)"
 msgstr	"Lignes : (descendant)"
 
-#: src/lang.c:1213
+#: src/lang.c:1217
 msgid	"Lines: (ascending)"
 msgstr	"Lignes : (ascendant)"
 
-#: src/lang.c:1224
+#: src/lang.c:1228
 msgid	"Always Keep"
 msgstr	"Toujours garder"
 
-#: src/lang.c:1225
+#: src/lang.c:1229
 msgid	"Always Remove"
 msgstr	"Toujours effacer"
 
-#: src/lang.c:1226
+#: src/lang.c:1230
 msgid	"Mark with D on selection screen"
 msgstr	"Marquer avec un D dans la vue sélection"
 
-#: src/lang.c:1231
+#: src/lang.c:1235
 msgid	"Kill only unread arts"
 msgstr	"Filtrer uniquement les articles non lus"
 
-#: src/lang.c:1232
+#: src/lang.c:1236
 msgid	"Kill all arts & show with K"
 msgstr	"Filtrer tous les articles & afficher avec un K"
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1233
+#: src/lang.c:1237
 msgid	"Kill all arts and never show"
 msgstr	"Filtrer tous les articles et ne jamais afficher"
 
-#: src/lang.c:1238
+#: src/lang.c:1242
 msgid	"Nothing special"
 msgstr	"Rien de spécial"
 
-#: src/lang.c:1239
+#: src/lang.c:1243
 msgid	"Compress quotes"
 msgstr	"Citations compressées"
 
-#: src/lang.c:1240
+#: src/lang.c:1244
 msgid	"Quote signatures"
 msgstr	"Citer les signatures"
 
-#: src/lang.c:1241
+#: src/lang.c:1245
 msgid	"Compress quotes, quote sigs"
 msgstr	"Compresser les citations, citer les signatures"
 
-#: src/lang.c:1242
+#: src/lang.c:1246
 msgid	"Quote empty lines"
 msgstr	"Citer les lignes vides"
 
-#: src/lang.c:1243
+#: src/lang.c:1247
 msgid	"Compress quotes, quote empty lines"
 msgstr	"Compresser les citations, citer les lignes vides"
 
-#: src/lang.c:1244
+#: src/lang.c:1248
 msgid	"Quote sigs & empty lines"
 msgstr	"Citer les signatures & les lignes vides"
 
-#: src/lang.c:1245
+#: src/lang.c:1249
 msgid	"Comp. q., quote sigs & empty lines"
 msgstr	"Compr. les citations, citer les signatures & les lignes vides"
 
-# TRANSLATION MISSING
-#: src/lang.c:1283
+#: src/lang.c:1287
 msgid	"no"
 msgstr	""
 
-# TRANSLATION MISSING
-#: src/lang.c:1284
+#: src/lang.c:1288
 msgid	"with headers"
 msgstr	""
 
-# TRANSLATION MISSING
-#: src/lang.c:1285
+#: src/lang.c:1289
 msgid	"without headers"
 msgstr	""
 
-#: src/lang.c:1290
+#: src/lang.c:1296 src/lang.c:1302
+msgid	"NFKC"
+msgstr	""
+
+#: src/lang.c:1297
+msgid	"NFKD"
+msgstr	""
+
+#: src/lang.c:1298
+msgid	"NFC"
+msgstr	""
+
+#: src/lang.c:1299
+msgid	"NFD"
+msgstr	""
+
+#: src/lang.c:1310
 msgid	"Display Options"
 msgstr	"Options d'affichage"
 
-#: src/lang.c:1296
+#: src/lang.c:1316
 msgid	"Color Options"
 msgstr	"Options des couleurs"
 
-#: src/lang.c:1302
+#: src/lang.c:1322
 msgid	"Article-Limiting Options"
 msgstr	"Options des articles"
 
-#: src/lang.c:1308
+#: src/lang.c:1328
 msgid	"Posting/Mailing Options"
 msgstr	"Options de postage/messagerie"
 
-#: src/lang.c:1314
+#: src/lang.c:1334
 msgid	"Saving/Printing Options"
 msgstr	"Options d'enregistrement/d'impression"
 
-#: src/lang.c:1320
+#: src/lang.c:1340
 msgid	"Expert Options"
 msgstr	"Options avancées"
 
-#: src/lang.c:1326
+#: src/lang.c:1346
 msgid	"Filtering Options"
 msgstr	"Options de filtrage"
 
-#: src/lang.c:1331 src/lang.c:1357 src/lang.c:1363 src/lang.c:1370 src/lang.c:1402
-#: src/lang.c:1408 src/lang.c:1416 src/lang.c:1436 src/lang.c:1511 src/lang.c:1673
-#: src/lang.c:1679 src/lang.c:1685 src/lang.c:1691 src/lang.c:1703 src/lang.c:1710
-#: src/lang.c:1761 src/lang.c:1770 src/lang.c:1776 src/lang.c:1782 src/lang.c:1788
-#: src/lang.c:1794 src/lang.c:1800 src/lang.c:1806 src/lang.c:1812 src/lang.c:1818
-#: src/lang.c:1824 src/lang.c:1830 src/lang.c:1836 src/lang.c:1842 src/lang.c:1848
-#: src/lang.c:1854 src/lang.c:1860 src/lang.c:1866 src/lang.c:1872 src/lang.c:1878
-#: src/lang.c:1884 src/lang.c:1891 src/lang.c:1897 src/lang.c:1903 src/lang.c:1910
-#: src/lang.c:1921 src/lang.c:1927 src/lang.c:1933 src/lang.c:1939 src/lang.c:1945
-#: src/lang.c:1951 src/lang.c:1965 src/lang.c:1977 src/lang.c:2011 src/lang.c:2063
-#: src/lang.c:2070 src/lang.c:2076 src/lang.c:2101 src/lang.c:2118 src/lang.c:2171
-#: src/lang.c:2204 src/lang.c:2224 src/lang.c:2259 src/lang.c:2268 src/lang.c:2293
-#: src/lang.c:2305
+#: src/lang.c:1351 src/lang.c:1377 src/lang.c:1383 src/lang.c:1390 src/lang.c:1422
+#: src/lang.c:1428 src/lang.c:1436 src/lang.c:1456 src/lang.c:1531 src/lang.c:1693
+#: src/lang.c:1699 src/lang.c:1705 src/lang.c:1711 src/lang.c:1723 src/lang.c:1730
+#: src/lang.c:1781 src/lang.c:1790 src/lang.c:1796 src/lang.c:1802 src/lang.c:1808
+#: src/lang.c:1814 src/lang.c:1820 src/lang.c:1826 src/lang.c:1832 src/lang.c:1838
+#: src/lang.c:1844 src/lang.c:1850 src/lang.c:1856 src/lang.c:1862 src/lang.c:1868
+#: src/lang.c:1874 src/lang.c:1880 src/lang.c:1886 src/lang.c:1892 src/lang.c:1898
+#: src/lang.c:1904 src/lang.c:1910 src/lang.c:1917 src/lang.c:1923 src/lang.c:1929
+#: src/lang.c:1936 src/lang.c:1947 src/lang.c:1953 src/lang.c:1959 src/lang.c:1965
+#: src/lang.c:1971 src/lang.c:1977 src/lang.c:1991 src/lang.c:2003 src/lang.c:2037
+#: src/lang.c:2089 src/lang.c:2096 src/lang.c:2102 src/lang.c:2127 src/lang.c:2144
+#: src/lang.c:2197 src/lang.c:2230 src/lang.c:2250 src/lang.c:2285 src/lang.c:2294
+#: src/lang.c:2319 src/lang.c:2331 src/lang.c:2350
 msgid	"<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	"<ESPACE> changer, <CR> régler, <ESC> annuler."
 
-#: src/lang.c:1332
+#: src/lang.c:1352
 msgid	"Show mini menu & posting etiquette :"
 msgstr	"Afficher menu & intitulé du postage:"
 
-#: src/lang.c:1333
+#: src/lang.c:1353
 msgid	"# If ON show a mini menu of useful commands at each level\n"
 	"# and posting etiquette after composing an article\n"
 msgstr	"# Si ON affiche un mini menu des commandes utiles pour chaque\n"
 	"# niveaux et affiche les détails après la composition d'un article\n"
 
-#: src/lang.c:1338
+#: src/lang.c:1358
 msgid	"Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr	"Afficher une brève description pour chaque groupe. <ESPACE> changer & <CR> "
 	"régler."
 
-#: src/lang.c:1339
+#: src/lang.c:1359
 msgid	"Show description of each newsgroup :"
 msgstr	"Voir description de chaque groupe  :"
 
-#: src/lang.c:1340
+#: src/lang.c:1360
 msgid	"# If ON show group description text after newsgroup name at\n"
 	"# group selection level\n"
 msgstr	"# Si ON affiche une description du groupe après son nom dans\n"
 	"# la vue de sélection des groupes\n"
 
-#: src/lang.c:1345
+#: src/lang.c:1365
 msgid	"Show Subject & From (author) fields in group menu. <SPACE> toggles & <CR> "
 	"sets."
 msgstr	"Afficher les champs Sujet & De (auteur) dans le menu groupe. <ESPACE> change "
 	"& <CR> règle."
 
-#: src/lang.c:1346
+#: src/lang.c:1366
 msgid	"In group menu, show author by      :"
 msgstr	"Dans vue groupe, voir auteur par   :"
 
-#: src/lang.c:1347
+#: src/lang.c:1367
 msgid	"# Part of from field to display 0) none 1) address 2) full name 3) both\n"
 msgstr	"# Partie du champ from à afficher 0) aucun 1) adresse 2) nom complet\n"
 	"# 3) les deux\n"
 
-#: src/lang.c:1351
+#: src/lang.c:1371
 msgid	"Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr	"Afficher -> ou une ligne pour la sélection. <ESPACE> change & <CR> règle."
 
-#: src/lang.c:1352
+#: src/lang.c:1372
 msgid	"Draw -> instead of highlighted bar :"
 msgstr	"Afficher -> plutôt qu'une ligne    :"
 
-#: src/lang.c:1353
+#: src/lang.c:1373
 msgid	"# If ON use -> otherwise highlighted bar for selection\n"
 msgstr	"# Si ON utilise -> sinon barre en surbrillance pour la sélection\n"
 
-#: src/lang.c:1358
+#: src/lang.c:1378
 msgid	"Use inverse video for page headers :"
 msgstr	"Vidéo inversée pour les en-têtes   :"
 
-#: src/lang.c:1359
+#: src/lang.c:1379
 msgid	"# If ON use inverse video for page headers at different levels\n"
 msgstr	"# Si ON utilise la vidéo inversée pour les en-têtes dans les différentes "
 	"vues\n"
 
-#: src/lang.c:1364
+#: src/lang.c:1384
 msgid	"Thread articles by                 :"
 msgstr	"Regrouper les articles par         :"
 
-#: src/lang.c:1365
+#: src/lang.c:1385
 msgid	"# Thread articles on 0=(nothing) 1=(Subject) 2=(References) 3=(Both)\n"
 	"# 4=(Multipart Subject).\n"
 msgstr	"# Regrouper les articles sur 0=(rien) 1=(Sujet) 2=(Références) 3=(Les deux)\n"
 	"# 4=(Sujet multi-parties).\n"
 
-#: src/lang.c:1371
+#: src/lang.c:1391
 msgid	"Score of a thread                  :"
 msgstr	"Score d'un fil                     :"
 
-#: src/lang.c:1372
+#: src/lang.c:1392
 msgid	"# Thread score 0=(Max) 1=(Sum) 2=(Average)\n"
 msgstr	"# Score d'un fil 0=(Max) 1=(Sum) 2=(Moyen)\n"
 
-#: src/lang.c:1376
+#: src/lang.c:1396
 msgid	"Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr	"Trier les articles par Sujet, De, Date ou Score. <ESPACE> change & <CR> règle."
 
-#: src/lang.c:1377
+#: src/lang.c:1397
 msgid	"Sort articles by                   :"
 msgstr	"Trier les articles par             :"
 
-#: src/lang.c:1378
+#: src/lang.c:1398
 msgid	"# Sort articles by 0=(nothing) 1=(Subject descend) 2=(Subject ascend)\n"
 	"# 3=(From descend) 4=(From ascend) 5=(Date descend) 6=(Date ascend)\n"
 	"# 7=(Score descend) 8=(Score ascend) 9=(Lines descend) 10=(Lines ascend).\n"
@@ -4346,56 +4378,56 @@ msgstr	"# Trie les article par 0=(rien) 
 	"# 7=(Score descendant) 8=(Score ascendant) 9=(Lignes descendant) 10=(Lignes "
 	"ascendant)\n"
 
-#: src/lang.c:1384
+#: src/lang.c:1404
 msgid	"Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr	"Trier les fils par Rien ou Score. <ESPACE> change & <CR> règle."
 
-#: src/lang.c:1385
+#: src/lang.c:1405
 msgid	"Sort threads by                    :"
 msgstr	"Trier les fils par                 :"
 
-#: src/lang.c:1386
+#: src/lang.c:1406
 msgid	"# Sort thread by 0=(nothing) 1=(Score descend) 2=(Score ascend)\n"
 msgstr	"# Trie le fil par 0=(rien) 1=(Score descendant) 2=(Score ascendant)\n"
 
-#: src/lang.c:1390
+#: src/lang.c:1410
 msgid	"Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr	"Place le curseur sur le 1er article non lu. <ESPACE> change & <CR> règle."
 
-#: src/lang.c:1391
+#: src/lang.c:1411
 msgid	"Goto first unread article in group :"
 msgstr	"Aller au 1er art. non lu du groupe :"
 
-#: src/lang.c:1392
+#: src/lang.c:1412
 msgid	"# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr	"# Si ON place le curseur sur le 1er article non lu sinon sur le dernier\n"
 
-#: src/lang.c:1396
+#: src/lang.c:1416
 msgid	"Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr	"Affiche tous les articles ou seulement ceux non lus. <ESPACE> change & <CR> "
 	"règle."
 
-#: src/lang.c:1397
+#: src/lang.c:1417
 msgid	"Show only unread articles          :"
 msgstr	"Afficher articles non lus seulement:"
 
-#: src/lang.c:1398
+#: src/lang.c:1418
 msgid	"# If ON show only new/unread articles otherwise show all.\n"
 msgstr	"# Si ON affiche seulement les articles non lus sinon les affiche tous.\n"
 
-#: src/lang.c:1403
+#: src/lang.c:1423
 msgid	"Show only groups with unread arts  :"
 msgstr	"Voir groupes avec articles non lus :"
 
-#: src/lang.c:1404
+#: src/lang.c:1424
 msgid	"# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr	"# Si ON affiche seulement les groupes ayant des articles non lus.\n"
 
-#: src/lang.c:1409
+#: src/lang.c:1429
 msgid	"Filter which articles              :"
 msgstr	"Filtrer quel article               :"
 
-#: src/lang.c:1410
+#: src/lang.c:1430
 msgid	"# 0=(Only kill unread articles)\n"
 	"# 1=(Kill all articles and show in threads marked with K)\n"
 	"# 2=(Kill all articles and never show them).\n"
@@ -4403,232 +4435,232 @@ msgstr	"# 0=(Filtrer seulement les artic
 	"# 1=(Tout filtrer et les afficher dans les fils précédés d'un K)\n"
 	"# 2=(Tout filtrer et ne pas les afficher)\n"
 
-#: src/lang.c:1417
+#: src/lang.c:1437
 msgid	"Tab goes to next unread article    :"
 msgstr	"Tab va au prochain article non lu  :"
 
-#: src/lang.c:1418
+#: src/lang.c:1438
 msgid	"# If ON the TAB command will go to next unread article at article viewer "
 	"level\n"
 msgstr	"# Si ON TAB ira au prochain article non lu directement depuis le visualiseur "
 	"d'article\n"
 
-#: src/lang.c:1422
+#: src/lang.c:1442
 msgid	"Scrolling with <SPACE> past the end of an art. jumps to the next unread one."
 msgstr	"Défiler avec <ESPACE> passera le fin d'un article et ira au prochain non lu."
 
-#: src/lang.c:1423
+#: src/lang.c:1443
 msgid	"Space goes to next unread article  :"
 msgstr	"Espace va au prochain art. non lu  :"
 
-#: src/lang.c:1424
+#: src/lang.c:1444
 msgid	"# If ON the SPACE command will go to next unread article at article viewer\n"
 	"# level when the end of the article is reached (rn-style pager)\n"
 msgstr	"# Si ON ESPACE ira au prochain article non lu dans le visualiseur d'article\n"
 	"# lorsque la fin d'un article sera atteinte (page style rn)\n"
 
-#: src/lang.c:1429
+#: src/lang.c:1449
 msgid	"Scrolling with <PGDN>/<DOWN> past the end of an art. jumps to the unread one."
 msgstr	"Défiler avec <PGDN>/<BAS> passera la fin d'un article et ira au prochain non "
 	"lu."
 
-#: src/lang.c:1430
+#: src/lang.c:1450
 msgid	"PgDn goes to next unread article   :"
 msgstr	"PgDn ira au prochain article non lu:"
 
-#: src/lang.c:1431
+#: src/lang.c:1451
 msgid	"# If ON the PGDN or DOWN command will go to next unread article when\n"
 	"# pressed at end of message\n"
 msgstr	"# Si ON PGDN ou BAS ira au prochain article non lu lorsqu'elle sera\n"
 	"# utilisée à la fin d'un article.\n"
 
-#: src/lang.c:1437
+#: src/lang.c:1457
 msgid	"List thread using right arrow key  :"
 msgstr	"Lister le fil via la flèche droite :"
 
-#: src/lang.c:1438
+#: src/lang.c:1458
 msgid	"# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr	"# Si ON listera automatiquement le fil lors de l'utilisation de la flèche "
 	"droite.\n"
 
-#: src/lang.c:1442
+#: src/lang.c:1462
 msgid	"Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr	"Caractère indiquant les articles effacés. <CR> règle, <ESC> annule."
 
-#: src/lang.c:1443
+#: src/lang.c:1463
 msgid	"Character to show deleted articles :"
 msgstr	"Caractère pour les articles effacés:"
 
-#: src/lang.c:1444
+#: src/lang.c:1464
 msgid	"# Character used to show that an art was deleted (default 'D')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Caractère utilisé pour indiquer qu'un article a été supprimé (défaut 'D')\n"
 	"# _ est transformé en ' '\n"
 
-#: src/lang.c:1449
+#: src/lang.c:1469
 msgid	"Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr	"Caractère indiquant les articles inclus. <CR> règle, <ESC> annule."
 
-#: src/lang.c:1450
+#: src/lang.c:1470
 msgid	"Character to show inrange articles :"
 msgstr	"Caractère pour art. non inclus     :"
 
-#: src/lang.c:1451
+#: src/lang.c:1471
 msgid	"# Character used to show that an art is in a range (default '#')\n"
 	"# _ is turned into ' '\n"
 msgstr	"# Caractère utilisé pour indiquer qu'un article est inclus (défaut '#')\n"
 	"# _ est transformé en ' '\n"
 
-#: src/lang.c:1456
+#: src/lang.c:1476
 msgid	"Enter character to indicate that article will return. <CR> sets, <ESC> "
 	"cancels."
 msgstr	""
 
-#: src/lang.c:1457
+#: src/lang.c:1477
 msgid	"Character to show returning arts   :"
 msgstr	""
 
-#: src/lang.c:1458
+#: src/lang.c:1478
 msgid	"# Character used to show that an art will return (default '-')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1463
+#: src/lang.c:1483
 msgid	"Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1464
+#: src/lang.c:1484
 msgid	"Character to show selected articles:"
 msgstr	""
 
-#: src/lang.c:1465
+#: src/lang.c:1485
 msgid	"# Character used to show that an art was auto-selected (default '*')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1470
+#: src/lang.c:1490
 msgid	"Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1471
+#: src/lang.c:1491
 msgid	"Character to show recent articles  :"
 msgstr	""
 
-#: src/lang.c:1472
+#: src/lang.c:1492
 msgid	"# Character used to show that an art is recent (default 'o')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1477
+#: src/lang.c:1497
 msgid	"Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1478
+#: src/lang.c:1498
 msgid	"Character to show unread articles  :"
 msgstr	""
 
-#: src/lang.c:1479
+#: src/lang.c:1499
 msgid	"# Character used to show that an art is unread (default '+')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1484
+#: src/lang.c:1504
 msgid	"Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1485
+#: src/lang.c:1505
 msgid	"Character to show read articles    :"
 msgstr	""
 
-#: src/lang.c:1486
+#: src/lang.c:1506
 msgid	"# Character used to show that an art was read (default ' ')\n"
 	"# _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1491
+#: src/lang.c:1511
 msgid	"Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1492
+#: src/lang.c:1512
 msgid	"Character to show killed articles  :"
 msgstr	""
 
-#: src/lang.c:1493
+#: src/lang.c:1513
 msgid	"# Character used to show that an art was killed (default 'K')\n"
 	"# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1498
+#: src/lang.c:1518
 msgid	"Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1499
+#: src/lang.c:1519
 msgid	"Character to show readselected arts:"
 msgstr	""
 
-#: src/lang.c:1500
+#: src/lang.c:1520
 msgid	"# Character used to show that an art was selected before read (default ':')\n"
 	"# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr	""
 
-#: src/lang.c:1505
+#: src/lang.c:1525
 msgid	"Enter maximum length of newsgroup names displayed. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1506
+#: src/lang.c:1526
 msgid	"Max. length of group names shown   :"
 msgstr	""
 
-#: src/lang.c:1507
+#: src/lang.c:1527
 msgid	"# Maximum length of the names of newsgroups displayed\n"
 msgstr	""
 
-#: src/lang.c:1512
+#: src/lang.c:1532
 msgid	"Show lines/score in listings       :"
 msgstr	""
 
-#: src/lang.c:1513
+#: src/lang.c:1533
 msgid	"# What informations should be displayed in article/thread listing\n"
 	"# 0 = nothing, 1 = lines, 2 = score, 3 = lines & score\n"
 msgstr	""
 
-#: src/lang.c:1518
+#: src/lang.c:1538
 msgid	"0 = full page scrolling, -1 = show previous last line as first on next page, "
 	"-2 = half page"
 msgstr	""
 
-#: src/lang.c:1519
+#: src/lang.c:1539
 msgid	"Number of lines to scroll in pager :"
 msgstr	""
 
-#: src/lang.c:1520
+#: src/lang.c:1540
 msgid	"# Number of lines that cursor-up/down will scroll in article pager\n"
 	"# eg, 1+ = line-by-line, 0 = page-by-page (traditional behavior),\n"
 	"# -1 = the top/bottom line is carried over onto the next page,\n"
 	"# -2 = half-page scrolling\n"
 msgstr	""
 
-#: src/lang.c:1527
+#: src/lang.c:1547
 msgid	"Display signatures. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1528
+#: src/lang.c:1548
 msgid	"Display signatures                 :"
 msgstr	"Afficher les signatures            :"
 
-#: src/lang.c:1529
+#: src/lang.c:1549
 msgid	"# If OFF don't show signatures when displaying articles\n"
 msgstr	""
 
-#: src/lang.c:1533
+#: src/lang.c:1553
 msgid	"Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1534
+#: src/lang.c:1554
 msgid	"Display uue data as an attachment  :"
 msgstr	"Afficher donnée uue comme PJ       :"
 
-#: src/lang.c:1535
+#: src/lang.c:1555
 msgid	"# Handling of uuencoded data in the pager\n"
 	"# 0 = display raw uuencoded data\n"
 	"# 1 = uuencoded data will be condensed to a single tag line showing\n"
@@ -4637,28 +4669,28 @@ msgid	"# Handling of uuencoded data in t
 	"#     into a tag line.\n"
 msgstr	""
 
-#: src/lang.c:1544
+#: src/lang.c:1564
 msgid	"Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1545
+#: src/lang.c:1565
 msgid	"Display \"a as Umlaut-a             :"
 msgstr	""
 
-#: src/lang.c:1546
+#: src/lang.c:1566
 msgid	"# If ON decode German style TeX umlaut codes to ISO and\n"
 	"# show \"a as Umlaut-a, etc.\n"
 msgstr	""
 
-#: src/lang.c:1551 src/lang.c:1561
+#: src/lang.c:1571 src/lang.c:1581
 msgid	"Space separated list of header fields"
 msgstr	""
 
-#: src/lang.c:1552
+#: src/lang.c:1572
 msgid	"Display these header fields (or *) :"
 msgstr	""
 
-#: src/lang.c:1553
+#: src/lang.c:1573
 msgid	"# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 	"# place an '*' as this value. This is the only way a wildcard can be used.\n"
 	"# If you enter 'X-' as the value, you will see all headers beginning with\n"
@@ -4667,11 +4699,11 @@ msgid	"# Which news headers you wish to 
 	"# spaces. Not defining anything turns off this option.\n"
 msgstr	""
 
-#: src/lang.c:1562
+#: src/lang.c:1582
 msgid	"Do not display these header fields :"
 msgstr	""
 
-#: src/lang.c:1563
+#: src/lang.c:1583
 msgid	"# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 	"# An example of using both options might be if you thought X- headers were\n"
 	"# A Good Thing(tm), but thought Alan and Pape were miscreants...well then "
@@ -4682,511 +4714,519 @@ msgid	"# Same as 'news_headers_to_displa
 	"# Not defining anything turns off this option.\n"
 msgstr	""
 
-#: src/lang.c:1573
+#: src/lang.c:1593
 msgid	"Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr	""
 
-#: src/lang.c:1574
+#: src/lang.c:1594
 msgid	"Skip multipart/alternative parts   :"
 msgstr	""
 
-#: src/lang.c:1575
+#: src/lang.c:1595
 msgid	"# If ON strip multipart/alternative messages automatically\n"
 msgstr	""
 
-#: src/lang.c:1580
+#: src/lang.c:1600
 msgid	"A regex used to decide which lines to show in col_quote."
 msgstr	""
 
-#: src/lang.c:1581
+#: src/lang.c:1601
 msgid	"Regex used to show quoted lines    :"
 msgstr	""
 
-#: src/lang.c:1582
+#: src/lang.c:1602
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1588
+#: src/lang.c:1608
 msgid	"A regex used to decide which lines to show in col_quote2."
 msgstr	""
 
-#: src/lang.c:1589
+#: src/lang.c:1609
 msgid	"Regex used to show twice quoted l. :"
 msgstr	""
 
-#: src/lang.c:1590
+#: src/lang.c:1610
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1596
+#: src/lang.c:1616
 msgid	"A regex used to decide which lines to show in col_quote3."
 msgstr	""
 
-#: src/lang.c:1597
+#: src/lang.c:1617
 msgid	"Regex used to show >= 3 times q.l. :"
 msgstr	""
 
-#: src/lang.c:1598
+#: src/lang.c:1618
 msgid	"# A regular expression that tin will use to decide which lines are\n"
 	"# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1605
+#: src/lang.c:1625
 msgid	"A regex used to decide which words to show in col_markslashes."
 msgstr	""
 
-#: src/lang.c:1606
+#: src/lang.c:1626
 msgid	"Regex used to highlight /slashes/  :"
 msgstr	""
 
-#: src/lang.c:1607
+#: src/lang.c:1627
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '/' are to be shown in col_markslashes.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1613
+#: src/lang.c:1633
 msgid	"A regex used to decide which words to show in col_markstars."
 msgstr	""
 
-#: src/lang.c:1614
+#: src/lang.c:1634
 msgid	"Regex used to highlight *stars*    :"
 msgstr	""
 
-#: src/lang.c:1615
+#: src/lang.c:1635
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '*' are to be shown in col_markstars.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1621
+#: src/lang.c:1641
 msgid	"A regex used to decide which words to show in col_markstroke."
 msgstr	""
 
-#: src/lang.c:1622
+#: src/lang.c:1642
 msgid	"Regex used to highlight -strokes-  :"
 msgstr	""
 
-#: src/lang.c:1623
+#: src/lang.c:1643
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '-' are to be shown in col_markstroke.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1629
+#: src/lang.c:1649
 msgid	"A regex used to decide which words to show in col_markdash."
 msgstr	""
 
-#: src/lang.c:1630
+#: src/lang.c:1650
 msgid	"Regex used to highlight _underline_:"
 msgstr	""
 
-#: src/lang.c:1631
+#: src/lang.c:1651
 msgid	"# A regular expression that tin will use to decide which words\n"
 	"# bounded by '_' are to be shown in col_markdash.\n"
 	"# If you leave this blank, tin will use a built in default.\n"
 msgstr	""
 
-#: src/lang.c:1637
+#: src/lang.c:1657
 msgid	"A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr	""
 
-#: src/lang.c:1638
+#: src/lang.c:1658
 msgid	"Regex with Subject prefixes        :"
 msgstr	""
 
-#: src/lang.c:1639
+#: src/lang.c:1659
 msgid	"# A regular expression that tin will use to find Subject prefixes\n"
 	"# which will be removed before showing the header.\n"
 msgstr	""
 
-#: src/lang.c:1644
+#: src/lang.c:1664
 msgid	"A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr	""
 
-#: src/lang.c:1645
+#: src/lang.c:1665
 msgid	"Regex with Subject suffixes        :"
 msgstr	""
 
-#: src/lang.c:1646
+#: src/lang.c:1666
 msgid	"# A regular expression that tin will use to find Subject suffixes\n"
 	"# which will be removed when replying or posting followup.\n"
 msgstr	""
 
-#: src/lang.c:1651
+#: src/lang.c:1671
 msgid	"Enter name and options for external MIME viewer, --internal for built-in "
 	"viewer"
 msgstr	""
 
-#: src/lang.c:1652
+#: src/lang.c:1672
 msgid	"MIME binary content viewer         :"
 msgstr	""
 
-#: src/lang.c:1653
+#: src/lang.c:1673
 msgid	"# If --internal automatically use the built in MIME viewer for non-text\n"
 	"# parts of articles.\n"
 	"# Otherwise specify an external viewer program (eg, metamail) or leave blank\n"
 	"# for no automatic viewing\n"
 msgstr	""
 
-#: src/lang.c:1660
+#: src/lang.c:1680
 msgid	"Confirm before starting non-text viewing program"
 msgstr	""
 
-#: src/lang.c:1661
+#: src/lang.c:1681
 msgid	"Ask before using MIME viewer       :"
 msgstr	""
 
-#: src/lang.c:1662
+#: src/lang.c:1682
 msgid	"# If ON tin will ask before using metamail to display MIME messages\n"
 	"# this only happens if metamail_prog is set to something\n"
 msgstr	""
 
-#: src/lang.c:1667
+#: src/lang.c:1687
 msgid	"Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1668
+#: src/lang.c:1688
 msgid	"Catchup read groups when quitting  :"
 msgstr	""
 
-#: src/lang.c:1669
+#: src/lang.c:1689
 msgid	"# If ON ask user if read groups should all be marked read\n"
 msgstr	""
 
-#: src/lang.c:1674
+#: src/lang.c:1694
 msgid	"Catchup group using left key       :"
 msgstr	""
 
-#: src/lang.c:1675
+#: src/lang.c:1695
 msgid	"# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr	""
 
-#: src/lang.c:1680
+#: src/lang.c:1700
 msgid	"Catchup thread by using left key   :"
 msgstr	""
 
-#: src/lang.c:1686
+#: src/lang.c:1706
 msgid	"Which actions require confirmation :"
 msgstr	""
 
-#: src/lang.c:1687
+#: src/lang.c:1707
 msgid	"# What should we ask confirmation for.\n"
 msgstr	""
 
-#: src/lang.c:1692
+#: src/lang.c:1712
 msgid	"'Mark article read' ignores tags   :"
 msgstr	""
 
-#: src/lang.c:1693
+#: src/lang.c:1713
 msgid	"# If ON the 'Mark article read' function marks only the current article.\n"
 msgstr	""
 
-#: src/lang.c:1697
+#: src/lang.c:1717
 msgid	"Program to run to open URL's, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:1698
+#: src/lang.c:1718
 msgid	"Program that opens URL's           :"
 msgstr	""
 
-#: src/lang.c:1699
+#: src/lang.c:1719
 msgid	"# The program used to open URL's. The actual URL will be appended\n"
 msgstr	""
 
-#: src/lang.c:1704
+#: src/lang.c:1724
 msgid	"Use mouse in xterm                 :"
 msgstr	""
 
-#: src/lang.c:1705
+#: src/lang.c:1725
 msgid	"# If ON enable mouse key support on xterm terminals\n"
 msgstr	""
 
-#: src/lang.c:1711
+#: src/lang.c:1731
 msgid	"Use scroll keys on keypad          :"
 msgstr	""
 
-#: src/lang.c:1712
+#: src/lang.c:1732
 msgid	"# If ON enable scroll keys on terminals that support it\n"
 msgstr	""
 
-#: src/lang.c:1717
+#: src/lang.c:1737
 msgid	"Enter maximum number of article to get. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1718
+#: src/lang.c:1738
 msgid	"Number of articles to get          :"
 msgstr	""
 
-#: src/lang.c:1719
+#: src/lang.c:1739
 msgid	"# Number of articles to get (0=no limit), if negative sets maximum number\n"
 	"# of already read articles to be read before first unread one\n"
 msgstr	""
 
-#: src/lang.c:1724
+#: src/lang.c:1744
 msgid	"Enter number of days article is considered recent. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1725
+#: src/lang.c:1745
 msgid	"Article recentness time limit      :"
 msgstr	""
 
-#: src/lang.c:1726
+#: src/lang.c:1746
 msgid	"# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr	""
 
-#: src/lang.c:1730
+#: src/lang.c:1750
 msgid	"WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr	""
 
-#: src/lang.c:1731
+#: src/lang.c:1751
 msgid	"Wildcard matching                  :"
 msgstr	""
 
-#: src/lang.c:1732
+#: src/lang.c:1752
 msgid	"# Wildcard matching 0=(wildmat) 1=(regex)\n"
 msgstr	""
 
-#: src/lang.c:1736
+#: src/lang.c:1756
 msgid	"Enter minimal score before an article is marked killed. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1737
+#: src/lang.c:1757
 msgid	"Score limit (kill)                 :"
 msgstr	""
 
-#: src/lang.c:1738
+#: src/lang.c:1758
 msgid	"# Score limit before an article is marked killed\n"
 msgstr	""
 
-#: src/lang.c:1742
+#: src/lang.c:1762
 msgid	"Enter default score to kill articles. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1743
+#: src/lang.c:1763
 msgid	"Default score to kill articles     :"
 msgstr	""
 
-#: src/lang.c:1744
+#: src/lang.c:1764
 msgid	"# Default score to kill articles\n"
 msgstr	""
 
-#: src/lang.c:1748
+#: src/lang.c:1768
 msgid	"Enter minimal score before an article is marked hot. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1749
+#: src/lang.c:1769
 msgid	"Score limit (select)               :"
 msgstr	""
 
-#: src/lang.c:1750
+#: src/lang.c:1770
 msgid	"# Score limit before an article is marked hot\n"
 msgstr	""
 
-#: src/lang.c:1754
+#: src/lang.c:1774
 msgid	"Enter default score to select articles. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1755
+#: src/lang.c:1775
 msgid	"Default score to select articles   :"
 msgstr	""
 
-#: src/lang.c:1756
+#: src/lang.c:1776
 msgid	"# Default score to select articles\n"
 msgstr	""
 
-#: src/lang.c:1762
+#: src/lang.c:1782
 msgid	"Use slrnface to show ''X-Face:''s  :"
 msgstr	""
 
-#: src/lang.c:1763
+#: src/lang.c:1783
 msgid	"# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 	"# Only useful when running in an xterm.\n"
 msgstr	""
 
-#: src/lang.c:1771
+#: src/lang.c:1791
 msgid	"Use ANSI color                     :"
 msgstr	""
 
-#: src/lang.c:1772
+#: src/lang.c:1792
 msgid	"# If ON using ANSI-color\n"
 msgstr	""
 
-#: src/lang.c:1777
+#: src/lang.c:1797
 msgid	"Standard foreground color          :"
 msgstr	""
 
-#: src/lang.c:1778
+#: src/lang.c:1798
 msgid	"# Standard foreground color\n"
 msgstr	""
 
-#: src/lang.c:1783
+#: src/lang.c:1803
 msgid	"Standard background color          :"
 msgstr	""
 
-#: src/lang.c:1784
+#: src/lang.c:1804
 msgid	"# Standard-Background-Color\n"
 msgstr	""
 
-#: src/lang.c:1789
+#: src/lang.c:1809
 msgid	"Color for inverse text (background):"
 msgstr	""
 
-#: src/lang.c:1790
+#: src/lang.c:1810
 msgid	"# Color of background for inverse text\n"
 msgstr	""
 
-#: src/lang.c:1795
+#: src/lang.c:1815
 msgid	"Color for inverse text (foreground):"
 msgstr	""
 
-#: src/lang.c:1796
+#: src/lang.c:1816
 msgid	"# Color of foreground for inverse text\n"
 msgstr	""
 
-#: src/lang.c:1801
+#: src/lang.c:1821
 msgid	"Color of text lines                :"
 msgstr	""
 
-#: src/lang.c:1802
+#: src/lang.c:1822
 msgid	"# Color of text-lines\n"
 msgstr	""
 
-#: src/lang.c:1807
+#: src/lang.c:1827
 msgid	"Color of mini help menu            :"
 msgstr	""
 
-#: src/lang.c:1808
+#: src/lang.c:1828
 msgid	"# Color of mini help menu\n"
 msgstr	""
 
-#: src/lang.c:1813
+#: src/lang.c:1833
 msgid	"Color of help text                 :"
 msgstr	""
 
-#: src/lang.c:1814
+#: src/lang.c:1834
 msgid	"# Color of help pages\n"
 msgstr	""
 
-#: src/lang.c:1819
+#: src/lang.c:1839
 msgid	"Color of status messages           :"
 msgstr	""
 
-#: src/lang.c:1820
+#: src/lang.c:1840
 msgid	"# Color of messages in last line\n"
 msgstr	""
 
-#: src/lang.c:1825
+#: src/lang.c:1845
 msgid	"Color of quoted lines              :"
 msgstr	""
 
-#: src/lang.c:1826
+#: src/lang.c:1846
 msgid	"# Color of quote-lines\n"
 msgstr	""
 
-#: src/lang.c:1831
+#: src/lang.c:1851
 msgid	"Color of twice quoted line         :"
 msgstr	""
 
-#: src/lang.c:1832
+#: src/lang.c:1852
 msgid	"# Color of twice quoted lines\n"
 msgstr	""
 
-#: src/lang.c:1837
+#: src/lang.c:1857
 msgid	"Color of =>3 times quoted line     :"
 msgstr	""
 
-#: src/lang.c:1838
+#: src/lang.c:1858
 msgid	"# Color of >=3 times quoted lines\n"
 msgstr	""
 
-#: src/lang.c:1843
+#: src/lang.c:1863
 msgid	"Color of article header lines      :"
 msgstr	""
 
-#: src/lang.c:1844
+#: src/lang.c:1864
 msgid	"# Color of header-lines\n"
 msgstr	""
 
-#: src/lang.c:1849
+#: src/lang.c:1869
 msgid	"Color of actual news header fields :"
 msgstr	""
 
-#: src/lang.c:1850
+#: src/lang.c:1870
 msgid	"# Color of actual news header fields\n"
 msgstr	""
 
-#: src/lang.c:1855
+#: src/lang.c:1875
 msgid	"Color of article subject lines     :"
 msgstr	""
 
-#: src/lang.c:1856
+#: src/lang.c:1876
 msgid	"# Color of article subject\n"
 msgstr	""
 
-#: src/lang.c:1861
+#: src/lang.c:1881
 msgid	"Color of response counter          :"
 msgstr	""
 
-#: src/lang.c:1862
+#: src/lang.c:1882
 msgid	"# Color of response counter\n"
 msgstr	""
 
-#: src/lang.c:1867
+#: src/lang.c:1887
 msgid	"Color of sender (From:)            :"
 msgstr	""
 
-#: src/lang.c:1868
+#: src/lang.c:1888
 msgid	"# Color of sender (From:)\n"
 msgstr	""
 
-#: src/lang.c:1873
+#: src/lang.c:1893
 msgid	"Color of help/mail sign            :"
 msgstr	""
 
-#: src/lang.c:1874
+#: src/lang.c:1894
 msgid	"# Color of Help/Mail-Sign\n"
 msgstr	""
 
-#: src/lang.c:1879
+#: src/lang.c:1899
 msgid	"Color of signatures                :"
 msgstr	""
 
-#: src/lang.c:1880
+#: src/lang.c:1900
 msgid	"# Color of signature\n"
 msgstr	""
 
-#: src/lang.c:1885
+#: src/lang.c:1905
+msgid	"Color of highlighted URLs          :"
+msgstr	""
+
+#: src/lang.c:1906
+msgid	"# Color of highlighted URLs\n"
+msgstr	""
+
+#: src/lang.c:1911
 msgid	"Color of highlighting with *stars* :"
 msgstr	""
 
-#: src/lang.c:1886
+#: src/lang.c:1912
 msgid	"# Color of word highlighting. There are four possibilities\n"
 	"# in articles: *stars*, /slashes/, _underdashes_ and -strokes-.\n"
 msgstr	""
 
-#: src/lang.c:1892
+#: src/lang.c:1918
 msgid	"Color of highlighting with _dash_  :"
 msgstr	""
 
-#: src/lang.c:1898
+#: src/lang.c:1924
 msgid	"Color of highlighting with /slash/ :"
 msgstr	""
 
-#: src/lang.c:1904
+#: src/lang.c:1930
 msgid	"Color of highlighting with -stroke-:"
 msgstr	""
 
-#: src/lang.c:1911
+#: src/lang.c:1937
 msgid	"Attr. of highlighting with *stars* :"
 msgstr	""
 
-#: src/lang.c:1912
+#: src/lang.c:1938
 msgid	"# Attribute of word highlighting on mono terminals.\n"
 	"# There are four possibilities in articles:\n"
 	"# *stars*, /slashes/, _underdashes_ and -strokes-.\n"
@@ -5195,93 +5235,93 @@ msgid	"# Attribute of word highlighting 
 	"# 3 - Reverse video, 4 - Blinking, 5 - Half bright, 6 - Bold\n"
 msgstr	""
 
-#: src/lang.c:1922
+#: src/lang.c:1948
 msgid	"Attr. of highlighting with _dash_  :"
 msgstr	""
 
-#: src/lang.c:1928
+#: src/lang.c:1954
 msgid	"Attr. of highlighting with /slash/ :"
 msgstr	""
 
-#: src/lang.c:1934
+#: src/lang.c:1960
 msgid	"Attr. of highlighting with -stroke-:"
 msgstr	""
 
-#: src/lang.c:1940
+#: src/lang.c:1966
 msgid	"URL highlighting in message body   :"
 msgstr	""
 
-#: src/lang.c:1941
+#: src/lang.c:1967
 msgid	"# Enable URL highlighting?\n"
 msgstr	""
 
-#: src/lang.c:1946
+#: src/lang.c:1972
 msgid	"Word highlighting in message body  :"
 msgstr	""
 
-#: src/lang.c:1947
+#: src/lang.c:1973
 msgid	"# Enable word highlighting?\n"
 msgstr	""
 
-#: src/lang.c:1952
+#: src/lang.c:1978
 msgid	"What to display instead of mark    :"
 msgstr	""
 
-#: src/lang.c:1953
+#: src/lang.c:1979
 msgid	"# Should the leading and ending stars and dashes also be displayed,\n"
 	"# even when they are highlighting marks?\n"
 	"# 0 - no    1 - yes, display mark    2 - print a space instead\n"
 msgstr	""
 
-#: src/lang.c:1959
+#: src/lang.c:1985
 msgid	"Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1960
+#: src/lang.c:1986
 msgid	"Page line wrap column              :"
 msgstr	""
 
-#: src/lang.c:1961
+#: src/lang.c:1987
 msgid	"# Wrap article lines at column\n"
 msgstr	""
 
-#: src/lang.c:1966
+#: src/lang.c:1992
 msgid	"Wrap around threads on next unread :"
 msgstr	""
 
-#: src/lang.c:1967
+#: src/lang.c:1993
 msgid	"# If ON wrap around threads on searching next unread article\n"
 msgstr	""
 
-#: src/lang.c:1971
+#: src/lang.c:1997
 msgid	"Enter default mail address (and fullname). <CR> sets."
 msgstr	""
 
-#: src/lang.c:1972
+#: src/lang.c:1998
 msgid	"Mail address (and fullname)        :"
 msgstr	""
 
-#: src/lang.c:1973
+#: src/lang.c:1999
 msgid	"# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr	""
 
-#: src/lang.c:1978
+#: src/lang.c:2004
 msgid	"Show empty Followup-To in editor   :"
 msgstr	""
 
-#: src/lang.c:1979
+#: src/lang.c:2005
 msgid	"# If ON show empty Followup-To header when editing an article\n"
 msgstr	""
 
-#: src/lang.c:1983
+#: src/lang.c:2009
 msgid	"Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr	""
 
-#: src/lang.c:1984
+#: src/lang.c:2010
 msgid	"Create signature from path/command :"
 msgstr	""
 
-#: src/lang.c:1985
+#: src/lang.c:2011
 msgid	"# Signature path (random sigs)/file to be used when posting/replying\n"
 	"# default_sigfile=file       appends file as signature\n"
 	"# default_sigfile=!command   executes external command to generate a "
@@ -5289,48 +5329,48 @@ msgid	"# Signature path (random sigs)/fi
 	"# default_sigfile=--none     don't append a signature\n"
 msgstr	""
 
-#: src/lang.c:1992
+#: src/lang.c:2018
 msgid	"Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1993
+#: src/lang.c:2019
 msgid	"Prepend signature with \"-- \"       :"
 msgstr	""
 
-#: src/lang.c:1994
+#: src/lang.c:2020
 msgid	"# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr	""
 
-#: src/lang.c:1998
+#: src/lang.c:2024
 msgid	"Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:1999
+#: src/lang.c:2025
 msgid	"Add signature when reposting       :"
 msgstr	""
 
-#: src/lang.c:2000
+#: src/lang.c:2026
 msgid	"# If ON add signature to reposted articles\n"
 msgstr	""
 
-#: src/lang.c:2004
+#: src/lang.c:2030
 msgid	"Enter quotation marks, %s or %S for author's initials."
 msgstr	""
 
-#: src/lang.c:2005
+#: src/lang.c:2031
 msgid	"Characters used as quote-marks     :"
 msgstr	""
 
-#: src/lang.c:2006
+#: src/lang.c:2032
 msgid	"# Characters used in quoting to followups and replies.\n"
 	"# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n"
 msgstr	""
 
-#: src/lang.c:2012
+#: src/lang.c:2038
 msgid	"Quoting behavior                   :"
 msgstr	""
 
-#: src/lang.c:2013
+#: src/lang.c:2039
 msgid	"# How quoting should be handled when following up or replying.\n"
 	"# 0 = Nothing special\n"
 	"# 1 = Compress quotes\n"
@@ -5342,49 +5382,49 @@ msgid	"# How quoting should be handled w
 	"# 7 = Compress quotes, quote signatures, quote empty lines\n"
 msgstr	""
 
-#: src/lang.c:2025 src/lang.c:2033 src/lang.c:2039
+#: src/lang.c:2051 src/lang.c:2059 src/lang.c:2065
 msgid	"%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr	""
 
-#: src/lang.c:2026
+#: src/lang.c:2052
 msgid	"Quote line when following up       :"
 msgstr	""
 
-#: src/lang.c:2027
+#: src/lang.c:2053
 msgid	"# Format of quote line when mailing/posting/following-up an article\n"
 	"# %%A Address    %%D Date   %%F Addr+Name   %%G Groupname   %%M Message-ID\n"
 	"# %%N Full Name  %%C First Name   %%I Initials\n"
 msgstr	""
 
-#: src/lang.c:2034
+#: src/lang.c:2060
 msgid	"Quote line when cross-posting      :"
 msgstr	""
 
-#: src/lang.c:2040
+#: src/lang.c:2066
 msgid	"Quote line when mailing            :"
 msgstr	""
 
-#: src/lang.c:2045
+#: src/lang.c:2071
 msgid	"If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2046
+#: src/lang.c:2072
 msgid	"Insert 'User-Agent:'-header        :"
 msgstr	""
 
-#: src/lang.c:2047
+#: src/lang.c:2073
 msgid	"# If ON include advertising User-Agent: header\n"
 msgstr	""
 
-#: src/lang.c:2051
+#: src/lang.c:2077
 msgid	"Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr	""
 
-#: src/lang.c:2052
+#: src/lang.c:2078
 msgid	"MM_CHARSET                         :"
 msgstr	""
 
-#: src/lang.c:2053
+#: src/lang.c:2079
 msgid	"# Charset supported locally which is also used for MIME header and\n"
 	"# Content-Type header.\n"
 	"# If not set, the value of the environment variable MM_CHARSET is used.\n"
@@ -5393,27 +5433,27 @@ msgid	"# Charset supported locally which
 	"# mm_charset is considered not displayable and represented as '?'.\n"
 msgstr	""
 
-#: src/lang.c:2064
+#: src/lang.c:2090
 msgid	"MM_NETWORK_CHARSET                 :"
 msgstr	""
 
-#: src/lang.c:2065
+#: src/lang.c:2091
 msgid	"# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr	""
 
-#: src/lang.c:2071
+#: src/lang.c:2097
 msgid	"Mailbox format                     :"
 msgstr	""
 
-#: src/lang.c:2072
+#: src/lang.c:2098
 msgid	"# Format of the mailbox.\n"
 msgstr	""
 
-#: src/lang.c:2077
+#: src/lang.c:2103
 msgid	"MIME encoding in news messages     :"
 msgstr	""
 
-#: src/lang.c:2078
+#: src/lang.c:2104
 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"
@@ -5421,42 +5461,42 @@ msgid	"# MIME encoding (8bit, base64, qu
 	"# Russian charsets with a lot of 8bit characters.\n"
 msgstr	""
 
-#: src/lang.c:2086 src/lang.c:2107
+#: src/lang.c:2112 src/lang.c:2133
 msgid	"Don't change unless you know what you are doing. <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2087
+#: src/lang.c:2113
 msgid	"Use 8bit characters in news headers:"
 msgstr	""
 
-#: src/lang.c:2088
+#: src/lang.c:2114
 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:2095
+#: src/lang.c:2121
 msgid	"Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2096
+#: src/lang.c:2122
 msgid	"View post-processed files          :"
 msgstr	""
 
-#: src/lang.c:2097
+#: src/lang.c:2123
 msgid	"# If set, post processed files will be opened in a viewer\n"
 msgstr	""
 
-#: src/lang.c:2102
+#: src/lang.c:2128
 msgid	"MIME encoding in mail messages     :"
 msgstr	""
 
-#: src/lang.c:2108
+#: src/lang.c:2134
 msgid	"Use 8bit characters in mail headers:"
 msgstr	""
 
-#: src/lang.c:2109
+#: src/lang.c:2135
 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 "
@@ -5466,381 +5506,387 @@ msgid	"# If ON, 8bit characters in mail 
 	"# turn it ON unless you have some compelling reason.\n"
 msgstr	""
 
-#: src/lang.c:2119
+#: src/lang.c:2145
 msgid	"Strip blanks from ends of lines    :"
 msgstr	""
 
-#: src/lang.c:2120
+#: src/lang.c:2146
 msgid	"# If ON strip blanks from ends of lines for faster display on slow "
 	"terminals.\n"
 msgstr	""
 
-#: src/lang.c:2125
+#: src/lang.c:2151
 msgid	"If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2126
+#: src/lang.c:2152
 msgid	"Transliteration                    :"
 msgstr	""
 
-#: src/lang.c:2127
+#: src/lang.c:2153
 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:2134
+#: src/lang.c:2160
 msgid	"Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2135
+#: src/lang.c:2161
 msgid	"Send you a cc automatically        :"
 msgstr	""
 
-#: src/lang.c:2136
+#: src/lang.c:2162
 msgid	"# If ON automatically put your name in the Cc: field when mailing an article\n"
 msgstr	""
 
-#: src/lang.c:2140
+#: src/lang.c:2166
 msgid	"Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2141
+#: src/lang.c:2167
 msgid	"Send you a blind cc automatically  :"
 msgstr	""
 
-#: src/lang.c:2142
+#: src/lang.c:2168
 msgid	"# If ON automatically put your name in the Bcc: field when mailing an "
 	"article\n"
 msgstr	""
 
-#: src/lang.c:2146
+#: src/lang.c:2172
 msgid	"Enter address elements about which you want to be warned. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2147
+#: src/lang.c:2173
 msgid	"Spamtrap warning address parts     :"
 msgstr	""
 
-#: src/lang.c:2148
+#: src/lang.c:2174
 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:2153
+#: src/lang.c:2179
 msgid	"Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2154
+#: src/lang.c:2180
 msgid	"No. of days a filter entry is valid:"
 msgstr	""
 
-#: src/lang.c:2155
+#: src/lang.c:2181
 msgid	"# Number of days a short term filter will be active\n"
 msgstr	""
 
-#: src/lang.c:2159
+#: src/lang.c:2185
 msgid	"Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2160
+#: src/lang.c:2186
 msgid	"Add posted articles to filter      :"
 msgstr	""
 
-#: src/lang.c:2161
+#: src/lang.c:2187
 msgid	"# If ON add posted articles which start a new thread to filter for\n"
 	"# highlighting follow-ups\n"
 msgstr	""
 
-#: src/lang.c:2165
+#: src/lang.c:2191
 msgid	"The directory where articles/threads are to be saved in mailbox format."
 msgstr	""
 
-#: src/lang.c:2166
+#: src/lang.c:2192
 msgid	"Mail directory                     :"
 msgstr	""
 
-#: src/lang.c:2167
+#: src/lang.c:2193
 msgid	"# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr	""
 
-#: src/lang.c:2172
+#: src/lang.c:2198
 msgid	"Save articles in batch mode (-S)   :"
 msgstr	""
 
-#: src/lang.c:2173
+#: src/lang.c:2199
 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:2178
+#: src/lang.c:2204
 msgid	"The directory where you want articles/threads saved."
 msgstr	""
 
-#: src/lang.c:2179
+#: src/lang.c:2205
 msgid	"Directory to save arts/threads in  :"
 msgstr	""
 
-#: src/lang.c:2180
+#: src/lang.c:2206
 msgid	"# Directory where articles/threads are saved\n"
 msgstr	""
 
-#: src/lang.c:2184
+#: src/lang.c:2210
 msgid	"Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2185
+#: src/lang.c:2211
 msgid	"Use Archive-name: header for save  :"
 msgstr	""
 
-#: src/lang.c:2186
+#: src/lang.c:2212
 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:2191
+#: src/lang.c:2217
 msgid	"Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 	"cancels."
 msgstr	""
 
-#: src/lang.c:2192
+#: src/lang.c:2218
 msgid	"Mark saved articles/threads as read:"
 msgstr	""
 
-#: src/lang.c:2193
+#: src/lang.c:2219
 msgid	"# If ON mark articles that are saved as read\n"
 msgstr	""
 
-#: src/lang.c:2197
+#: src/lang.c:2223
 msgid	"Do post processing (eg. extract attachments) for saved articles."
 msgstr	""
 
-#: src/lang.c:2198
+#: src/lang.c:2224
 msgid	"Post process saved articles        :"
 msgstr	""
 
-#: src/lang.c:2199
+#: src/lang.c:2225
 msgid	"# Perform post processing (saving binary attachments) from saved articles.\n"
 	"# 0=(no) 1=(yes) 2=(extract shell archives (shar) only)\n"
 msgstr	""
 
-#: src/lang.c:2205
+#: src/lang.c:2231
 msgid	"Process only unread articles       :"
 msgstr	""
 
-#: src/lang.c:2206
+#: src/lang.c:2232
 msgid	"# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n"
 msgstr	""
 
-#: src/lang.c:2211
+#: src/lang.c:2237
 msgid	"Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2212
+#: src/lang.c:2238
 msgid	"Print all headers when printing    :"
 msgstr	""
 
-#: src/lang.c:2213
+#: src/lang.c:2239
 msgid	"# If ON print all of article header otherwise just the important lines\n"
 msgstr	""
 
-#: src/lang.c:2217
+#: src/lang.c:2243
 msgid	"The printer program with options that is to be used to print articles/threads."
 msgstr	""
 
-#: src/lang.c:2218
+#: src/lang.c:2244
 msgid	"Printer program with options       :"
 msgstr	""
 
-#: src/lang.c:2219
+#: src/lang.c:2245
 msgid	"# Print program with parameters used to print articles/threads\n"
 msgstr	""
 
-#: src/lang.c:2225
+#: src/lang.c:2251
 msgid	"Force redraw after certain commands:"
 msgstr	""
 
-#: src/lang.c:2226
+#: src/lang.c:2252
 msgid	"# If ON a screen redraw will always be done after certain external commands\n"
 msgstr	""
 
-#: src/lang.c:2230
+#: src/lang.c:2256
 msgid	"Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr	""
 
-#: src/lang.c:2231
+#: src/lang.c:2257
 msgid	"Start editor with line offset      :"
 msgstr	""
 
-#: src/lang.c:2232
+#: src/lang.c:2258
 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:2237
+#: src/lang.c:2263
 msgid	"Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr	""
 
-#: src/lang.c:2238
+#: src/lang.c:2264
 msgid	"Invocation of your editor          :"
 msgstr	""
 
-#: src/lang.c:2239
+#: src/lang.c:2265
 msgid	"# Format of editor line including parameters\n"
 	"# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr	""
 
-#: src/lang.c:2244
+#: src/lang.c:2270
 msgid	"Enter name and options for external-inews, --internal for internal inews"
 msgstr	""
 
-#: src/lang.c:2245
+#: src/lang.c:2271
 msgid	"External inews                     :"
 msgstr	""
 
-#: src/lang.c:2246
+#: src/lang.c:2272
 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:2250
+#: src/lang.c:2276
 msgid	"Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr	""
 
-#: src/lang.c:2251
+#: src/lang.c:2277
 msgid	"Invocation of your mail command    :"
 msgstr	""
 
-#: src/lang.c:2252
+#: src/lang.c:2278
 msgid	"# Format of mailer line including parameters\n"
 	"# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
 	"# ie. to use elm as your mailer:    elm -s \"%%S\" \"%%T\" < %%F\n"
 	"# ie. elm interactive          :    elm -i %%F -s \"%%S\" \"%%T\"\n"
 msgstr	""
 
-#: src/lang.c:2260
+#: src/lang.c:2286
 msgid	"Use interactive mail reader        :"
 msgstr	""
 
-#: src/lang.c:2261
+#: src/lang.c:2287
 msgid	"# Interactive mailreader:\n"
 	"# 0 = no interactive mailreader\n"
 	"# 1 = use interactive mailreader with headers in file\n"
 	"# 2 = use interactive mailreader without headers in file\n"
 msgstr	""
 
-#: src/lang.c:2269
+#: src/lang.c:2295
 msgid	"Remove ~/.article after posting    :"
 msgstr	""
 
-#: src/lang.c:2270
+#: src/lang.c:2296
 msgid	"# If ON remove ~/.article after posting.\n"
 msgstr	""
 
-#: src/lang.c:2274
+#: src/lang.c:2300
 msgid	"Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr	""
 
-#: src/lang.c:2275
+#: src/lang.c:2301
 msgid	"Filename for posted articles       :"
 msgstr	""
 
-#: src/lang.c:2276
+#: src/lang.c:2302
 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:2281
+#: src/lang.c:2307
 msgid	"Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr	""
 
-#: src/lang.c:2282
+#: src/lang.c:2308
 msgid	"Keep failed arts in ~/dead.articles:"
 msgstr	""
 
-#: src/lang.c:2283
+#: src/lang.c:2309
 msgid	"# If ON keep all failed postings in ~/dead.articles\n"
 msgstr	""
 
-#: src/lang.c:2287
+#: src/lang.c:2313
 msgid	"Do you want to strip unsubscribed groups from .newsrc"
 msgstr	""
 
-#: src/lang.c:2288
+#: src/lang.c:2314
 msgid	"No unsubscribed groups in newsrc   :"
 msgstr	""
 
-#: src/lang.c:2289
+#: src/lang.c:2315
 msgid	"# If ON strip unsubscribed groups from newsrc\n"
 msgstr	""
 
-#: src/lang.c:2294
+#: src/lang.c:2320
 msgid	"Remove bogus groups from newsrc    :"
 msgstr	""
 
-#: src/lang.c:2295
+#: src/lang.c:2321
 msgid	"# What to do with bogus groups in newsrc file\n"
 	"# 0=(Keep) 1=(Remove) 2=(Highlight with D on selection screen).\n"
 msgstr	""
 
-#: src/lang.c:2299
+#: src/lang.c:2325
 msgid	"Enter number of seconds until active file will be reread. <CR> sets."
 msgstr	""
 
-#: src/lang.c:2300
+#: src/lang.c:2326
 msgid	"Interval in secs to reread active  :"
 msgstr	""
 
-#: src/lang.c:2301
+#: src/lang.c:2327
 msgid	"# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr	""
 
-#: src/lang.c:2306
+#: src/lang.c:2332
 msgid	"Reconnect to server automatically  :"
 msgstr	"Reconnexion automatique au serveur :"
 
-#: src/lang.c:2307
+#: src/lang.c:2333
 msgid	"# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr	""
 
-#: src/lang.c:2311
+#: src/lang.c:2337
 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 & <CR> choisi."
 
-#: src/lang.c:2312
+#: src/lang.c:2338
 msgid	"Cache NNTP overview files locally  :"
 msgstr	"Cache local des en-têtes NNTP      :"
 
-#: src/lang.c:2313
+#: src/lang.c:2339
 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"
 
-# TRANSLATION MISSING
-#: src/lang.c:2317
+#: src/lang.c:2343
 msgid	"Enter format string. <CR> sets, <ESC> cancels."
 msgstr	""
 
-# TRANSLATION MISSING
-#: src/lang.c:2318
+#: src/lang.c:2344
 msgid	"Format string for display of dates :"
 msgstr	""
 
-# TRANSLATION MISSING
-#: src/lang.c:2319
+#: src/lang.c:2345
 msgid	"# Format string for date representation\n"
 msgstr	""
 
-#: src/main.c:590
+#: src/lang.c:2351
+msgid	"Unicode normalization form         :"
+msgstr	""
+
+#: src/lang.c:2352
+msgid	"# Unicode normalization form\n"
+	"# 0 = None, 1 = NFKC, 2 = NFKD, 3 = NFC, 4 = NFD\n"
+msgstr	""
+
+#: src/main.c:586
 #, c-format
 msgid	"Version: %s release %s (\"%s\") %s %s"
 msgstr	"Version : %s release %s (\"%s\") %s %s"
 
-#: src/main.c:593
+#: src/main.c:589
 #, c-format
 msgid	"Version: %s release %s (\"%s\")"
 msgstr	"Version : %s release %s (\"%s\")"
 
-#: src/newsrc.c:432
+#: src/newsrc.c:433
 msgid	"Unreachable?\n"
 msgstr	"Inacessible ?\n"
 
@@ -5870,22 +5916,10 @@ msgstr	"Réenvoyer la dernière commande (
 msgid	"couldn't expand %s\n"
 msgstr	"impossible de décompacter %s\n"
 
-#: src/post.c:1747
-#, c-format
-msgid	"%s is bogus"
-msgstr	"%s pose problème"
-
-#: src/post.c:1934
+#: src/post.c:1939
 #, c-format
 msgid	"Posting: %.*s ..."
 msgstr	"Postage : %.*s ..."
-
-# TRANSLATION MISSING
-#. TODO: -> lang.c
-#: src/post.c:4037
-#, c-format
-msgid	"Rereading %s..."
-msgstr	""
 
 #. fp
 #. Check if okay to read
Binary files tin-1.7.2/po/messages and tin-1.7.3/po/messages differ
diff -Nurp tin-1.7.2/po/tin.pot tin-1.7.3/po/tin.pot
--- tin-1.7.2/po/tin.pot	Sun Oct 19 00:57:20 2003
+++ tin-1.7.3/po/tin.pot	Sat Dec 20 18:42:42 2003
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2003-10-19 00:55+0200\n"
+"POT-Creation-Date: 2003-12-20 18:42+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -13,213 +13,217 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: ENCODING\n"
 
-#: src/art.c:1423
+#: src/art.c:1425
 #, c-format
 msgid "%d Bad overview record (%d fields) '%s'"
 msgstr ""
 
-#: src/attrib.c:580
+#: src/attrib.c:585
 msgid ""
 "# Do not edit this comment block\n"
 "#\n"
 msgstr ""
 
-#: src/attrib.c:581
+#: src/attrib.c:586
 msgid "#  scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n"
 msgstr ""
 
-#: src/attrib.c:582
+#: src/attrib.c:587
 msgid "#  maildir=STRING (ie. ~/Mail)\n"
 msgstr ""
 
-#: src/attrib.c:583
+#: src/attrib.c:588
 msgid "#  savedir=STRING (ie. ~user/News)\n"
 msgstr ""
 
-#: src/attrib.c:584
+#: src/attrib.c:589
 msgid "#  savefile=STRING (ie. =linux)\n"
 msgstr ""
 
-#: src/attrib.c:585
+#: src/attrib.c:590
 msgid "#  sigfile=STRING (ie. $var/sig)\n"
 msgstr ""
 
-#: src/attrib.c:586
+#: src/attrib.c:591
 msgid "#  organization=STRING (if beginning with '/' read from file)\n"
 msgstr ""
 
-#: src/attrib.c:587
+#: src/attrib.c:592
 msgid "#  followup_to=STRING\n"
 msgstr ""
 
-#: src/attrib.c:588
+#: src/attrib.c:593
 msgid "#  mailing_list=STRING (ie. majordomo@example.org)\n"
 msgstr ""
 
-#: src/attrib.c:589
+#: src/attrib.c:594
 msgid "#  x_headers=STRING (ie. ~/.tin/extra-headers)\n"
 msgstr ""
 
-#: src/attrib.c:590
+#: src/attrib.c:595
 msgid "#  x_body=STRING (ie. ~/.tin/extra-body-text)\n"
 msgstr ""
 
-#: src/attrib.c:591
+#: src/attrib.c:596
 msgid "#  from=STRING (just append wanted From:-line, don't use quotes)\n"
 msgstr ""
 
-#: src/attrib.c:592
+#: src/attrib.c:597
 msgid "#  news_quote_format=STRING\n"
 msgstr ""
 
-#: src/attrib.c:593
+#: src/attrib.c:598
 msgid "#  quote_chars=STRING (%%s, %%S for initials)\n"
 msgstr ""
 
-#: src/attrib.c:594
+#: src/attrib.c:599
 msgid "#  mime_types_to_save=STRING (eg. image/*,!image/bmp)\n"
 msgstr ""
 
-#: src/attrib.c:596
+#: src/attrib.c:601
 msgid "#  ispell=STRING\n"
 msgstr ""
 
-#: src/attrib.c:598
+#: src/attrib.c:603
 msgid "#  auto_select=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:599
+#: src/attrib.c:604
 msgid "#  auto_save=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:600
+#: src/attrib.c:605
 msgid "#  batch_save=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:601
+#: src/attrib.c:606
 msgid "#  delete_tmp_files=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:602
+#: src/attrib.c:607
 msgid "#  show_only_unread=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:603
+#: src/attrib.c:608
 msgid "#  thread_arts=NUM"
 msgstr ""
 
-#: src/attrib.c:610
+#: src/attrib.c:615
 msgid "#  show_author=NUM\n"
 msgstr ""
 
-#: src/attrib.c:616
+#: src/attrib.c:621
+msgid "#  show_info=NUM\n"
+msgstr ""
+
+#: src/attrib.c:627
 msgid "#  sort_art_type=NUM\n"
 msgstr ""
 
-#: src/attrib.c:634
+#: src/attrib.c:645
 msgid "#  sort_threads_type=NUM\n"
 msgstr ""
 
-#: src/attrib.c:639
+#: src/attrib.c:650
 msgid "#  post_proc_type=NUM\n"
 msgstr ""
 
-#: src/attrib.c:644
+#: src/attrib.c:655
 msgid "#  quick_kill_scope=STRING (ie. talk.*)\n"
 msgstr ""
 
-#: src/attrib.c:645
+#: src/attrib.c:656
 msgid "#  quick_kill_expire=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:646
+#: src/attrib.c:657
 msgid "#  quick_kill_case=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:647
+#: src/attrib.c:658
 msgid "#  quick_kill_header=NUM\n"
 msgstr ""
 
-#: src/attrib.c:648 src/attrib.c:655
+#: src/attrib.c:659 src/attrib.c:666
 msgid "#    0=subj (case sensitive) 1=subj (ignore case)\n"
 msgstr ""
 
-#: src/attrib.c:649 src/attrib.c:656
+#: src/attrib.c:660 src/attrib.c:667
 msgid "#    2=from (case sensitive) 3=from (ignore case)\n"
 msgstr ""
 
-#: src/attrib.c:650 src/attrib.c:657
+#: src/attrib.c:661 src/attrib.c:668
 msgid "#    4=msgid 5=lines\n"
 msgstr ""
 
-#: src/attrib.c:651
+#: src/attrib.c:662
 msgid "#  quick_select_scope=STRING\n"
 msgstr ""
 
-#: src/attrib.c:652
+#: src/attrib.c:663
 msgid "#  quick_select_expire=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:653
+#: src/attrib.c:664
 msgid "#  quick_select_case=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:654
+#: src/attrib.c:665
 msgid "#  quick_select_header=NUM\n"
 msgstr ""
 
-#: src/attrib.c:658
+#: src/attrib.c:669
 msgid "#  x_comment_to=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:659
+#: src/attrib.c:670
 msgid "#  fcc=STRING (eg. =mailbox)\n"
 msgstr ""
 
-#: src/attrib.c:660
+#: src/attrib.c:671
 msgid "#  tex2iso_conv=ON/OFF\n"
 msgstr ""
 
-#: src/attrib.c:662
+#: src/attrib.c:673
 msgid "#  mm_network_charset=supported_charset"
 msgstr ""
 
-#: src/attrib.c:669
+#: src/attrib.c:680
 msgid "#  undeclared_charset=STRING (default is US-ASCII)\n"
 msgstr ""
 
-#: src/attrib.c:671
+#: src/attrib.c:682
 msgid ""
 "#\n"
 "# Note that it is best to put general (global scoping)\n"
 msgstr ""
 
-#: src/attrib.c:672
+#: src/attrib.c:683
 msgid ""
 "# entries first followed by group specific entries.\n"
 "#\n"
 msgstr ""
 
-#: src/attrib.c:673
+#: src/attrib.c:684
 msgid ""
 "############################################################################"
 "\n"
 "\n"
 msgstr ""
 
-#: src/attrib.c:679
+#: src/attrib.c:690
 msgid "# include extra headers\n"
 msgstr ""
 
-#: src/attrib.c:687
+#: src/attrib.c:698
 msgid "# in *sources* set post process type to shar only\n"
 msgstr ""
 
-#: src/attrib.c:691
+#: src/attrib.c:702
 msgid "# in *binaries* do full post processing, remove tmp files\n"
 msgstr ""
 
-#: src/attrib.c:692
+#: src/attrib.c:703
 msgid "# and set Followup-To: poster\n"
 msgstr ""
 
@@ -230,7 +234,7 @@ msgstr ""
 #.
 #. * TODO: add to the right rule, give better explanation, -> lang.c
 #.
-#: src/filter.c:607 src/filter.c:615
+#: src/filter.c:608 src/filter.c:616
 msgid "Removed from the previous rule: "
 msgstr ""
 
@@ -582,7 +586,7 @@ msgstr ""
 msgid "Creating newsrc file...\n"
 msgstr ""
 
-#: src/lang.c:127 src/lang.c:1122
+#: src/lang.c:127 src/lang.c:1126
 msgid "Default"
 msgstr ""
 
@@ -880,7 +884,7 @@ msgstr ""
 msgid "Insecure permissions of %s (%o)"
 msgstr ""
 
-#: src/lang.c:199 src/newsrc.c:409
+#: src/lang.c:199 src/newsrc.c:410
 #, c-format
 msgid "Invalid response to GROUP command, %s"
 msgstr ""
@@ -1006,6 +1010,14 @@ msgid "  %s\t Answers will be directed t
 msgstr ""
 
 #: src/lang.c:227
+msgid "-- forwarded message --\n"
+msgstr ""
+
+#: src/lang.c:228
+msgid "-- end of forwarded message --\n"
+msgstr ""
+
+#: src/lang.c:229
 msgid ""
 "# Format:\n"
 "#   comment=STRING    Optional. Multiple lines allowed. Comments must be "
@@ -1036,735 +1048,745 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:248
+#: src/lang.c:250
 #, c-format
 msgid "Enter score for rule (default=%d): "
 msgstr ""
 
-#: src/lang.c:249
+#: src/lang.c:251
 #, c-format
 msgid "Enter the score weight (range 0 < score <= %d)"
 msgstr ""
 
 #. SCORE_MAX
-#: src/lang.c:250
+#: src/lang.c:252
 msgid "Full"
 msgstr ""
 
-#: src/lang.c:251
+#: src/lang.c:253
 msgid "Comment (optional)  : "
 msgstr ""
 
-#: src/lang.c:252
+#: src/lang.c:254
 msgid "Apply pattern to    : "
 msgstr ""
 
-#: src/lang.c:253
+#: src/lang.c:255
 msgid "From: line (ignore case)      "
 msgstr ""
 
-#: src/lang.c:254
+#: src/lang.c:256
 msgid "From: line (case sensitive)   "
 msgstr ""
 
-#: src/lang.c:256
+#: src/lang.c:258
 #, c-format
 msgid "%s%s: Unknown host.\n"
 msgstr ""
 
-#: src/lang.c:257
+#: src/lang.c:259
 msgid "global "
 msgstr ""
 
-#: src/lang.c:258
+#: src/lang.c:260
 #, c-format
 msgid "Please use %.100s instead"
 msgstr ""
 
-#: src/lang.c:259
+#: src/lang.c:261
+#, c-format
+msgid "%s is bogus"
+msgstr ""
+
+#: src/lang.c:262
 #, c-format
 msgid "Group %s is moderated. Continue?"
 msgstr ""
 
-#: src/lang.c:260
+#: src/lang.c:263
 msgid "groups"
 msgstr ""
 
-#: src/lang.c:261
+#: src/lang.c:264
+#, c-format
+msgid "Rereading %s..."
+msgstr ""
+
+#: src/lang.c:265
 msgid "Top Level Commands"
 msgstr ""
 
-#: src/lang.c:262
+#: src/lang.c:266
 msgid "Group Selection"
 msgstr ""
 
-#: src/lang.c:263
+#: src/lang.c:267
 msgid "group"
 msgstr ""
 
-#: src/lang.c:265
+#: src/lang.c:269
 msgid ""
 "One or more lines of comment. <CR> to add a line or proceed if line is empty."
 msgstr ""
 
-#: src/lang.c:266
+#: src/lang.c:270
 msgid "From: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:267
+#: src/lang.c:271
 msgid ""
 "Linecount of articles to be filtered. < for less, > for more, = for equal."
 msgstr ""
 
-#: src/lang.c:268
+#: src/lang.c:272
 msgid "Message-ID: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:269
+#: src/lang.c:273
 msgid "Subject: line to add to filter file. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:270
+#: src/lang.c:274
 msgid ""
 "Enter text pattern to filter if Subject: & From: lines are not what you want."
 msgstr ""
 
-#: src/lang.c:271
+#: src/lang.c:275
 msgid ""
 "Select where text pattern should be applied. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:272
+#: src/lang.c:276
 msgid ""
 "Expiration time in days for the entered filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:273
+#: src/lang.c:277
 msgid ""
 "Apply kill only to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:274
+#: src/lang.c:278
 msgid ""
 "Apply select to current group or all groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:275
+#: src/lang.c:279
 msgid "kill an article via a menu"
 msgstr ""
 
-#: src/lang.c:276
+#: src/lang.c:280
 msgid "auto-select (hot) an article via a menu"
 msgstr ""
 
-#: src/lang.c:277
+#: src/lang.c:281
 msgid "Browse URLs in article"
 msgstr ""
 
-#: src/lang.c:278
+#: src/lang.c:282
 msgid "0 - 9\t  display article by number in current thread"
 msgstr ""
 
-#: src/lang.c:279
+#: src/lang.c:283
 msgid "cancel (delete) current article; must have been posted by you"
 msgstr ""
 
-#: src/lang.c:280
+#: src/lang.c:284
 msgid "edit article (mail-groups only)"
 msgstr ""
 
-#: src/lang.c:281
+#: src/lang.c:285
 msgid "display first article in current thread"
 msgstr ""
 
-#: src/lang.c:282
+#: src/lang.c:286
 msgid "display first page of article"
 msgstr ""
 
-#: src/lang.c:283
+#: src/lang.c:287
 msgid "post followup to current article"
 msgstr ""
 
-#: src/lang.c:284
+#: src/lang.c:288
 msgid "post followup (don't copy text) to current article"
 msgstr ""
 
-#: src/lang.c:285
+#: src/lang.c:289
 msgid "post followup to current article quoting complete headers"
 msgstr ""
 
-#: src/lang.c:286
+#: src/lang.c:290
 msgid "display last article in current thread"
 msgstr ""
 
-#: src/lang.c:287
+#: src/lang.c:291
 msgid "display last page of article"
 msgstr ""
 
-#: src/lang.c:288
+#: src/lang.c:292
 msgid "mark rest of thread as read and advance to next unread"
 msgstr ""
 
-#: src/lang.c:289
+#: src/lang.c:293
 msgid "display next article"
 msgstr ""
 
-#: src/lang.c:290
+#: src/lang.c:294
 msgid "display first article in next thread"
 msgstr ""
 
-#: src/lang.c:291 src/lang.c:298 src/lang.c:357 src/lang.c:358
+#: src/lang.c:295 src/lang.c:302 src/lang.c:361 src/lang.c:362
 msgid "display next unread article"
 msgstr ""
 
-#: src/lang.c:292
+#: src/lang.c:296
 msgid "go to the article that this one followed up"
 msgstr ""
 
-#: src/lang.c:293
+#: src/lang.c:297
 msgid "display previous article"
 msgstr ""
 
-#: src/lang.c:294 src/lang.c:360
+#: src/lang.c:298 src/lang.c:364
 msgid "display previous unread article"
 msgstr ""
 
-#: src/lang.c:295
+#: src/lang.c:299
 msgid "quickly kill an article using defaults"
 msgstr ""
 
-#: src/lang.c:296
+#: src/lang.c:300
 msgid "quickly auto-select (hot) an article using defaults"
 msgstr ""
 
-#: src/lang.c:297
+#: src/lang.c:301
 msgid "return to group selection level"
 msgstr ""
 
-#: src/lang.c:299
+#: src/lang.c:303
 msgid "reply through mail to author"
 msgstr ""
 
-#: src/lang.c:300
+#: src/lang.c:304
 msgid "reply through mail (don't copy text) to author"
 msgstr ""
 
-#: src/lang.c:301
+#: src/lang.c:305
 msgid "reply through mail to author quoting complete headers"
 msgstr ""
 
-#: src/lang.c:302 src/lang.c:362
+#: src/lang.c:306 src/lang.c:366
 msgid "repost chosen article to another group"
 msgstr ""
 
-#: src/lang.c:303
+#: src/lang.c:307
 msgid "search backwards within this article"
 msgstr ""
 
-#: src/lang.c:304
+#: src/lang.c:308
 msgid "search forwards within this article"
 msgstr ""
 
-#: src/lang.c:305
+#: src/lang.c:309
 msgid "show article in raw-mode (including all headers)"
 msgstr ""
 
-#: src/lang.c:306
+#: src/lang.c:310
 msgid "skip next block of included text"
 msgstr ""
 
-#: src/lang.c:307
+#: src/lang.c:311
 msgid "toggle display of sections hidden by a form-feed (^L) on/off"
 msgstr ""
 
-#: src/lang.c:308
+#: src/lang.c:312
 msgid "toggle word highlighting on/off"
 msgstr ""
 
-#: src/lang.c:309
+#: src/lang.c:313
 msgid "toggle ROT-13 (basic decode) for current article"
 msgstr ""
 
-#: src/lang.c:310
+#: src/lang.c:314
 msgid "toggle tabwidth 4 <-> 8"
 msgstr ""
 
-#: src/lang.c:311
+#: src/lang.c:315
 msgid "toggle german TeX style decoding for current article"
 msgstr ""
 
-#: src/lang.c:312
+#: src/lang.c:316
 msgid "toggle display of uuencoded sections"
 msgstr ""
 
-#: src/lang.c:313
+#: src/lang.c:317
 msgid "View/save multimedia attachments"
 msgstr ""
 
-#: src/lang.c:314
+#: src/lang.c:318
 #, c-format
 msgid "report bug or comment via mail to %s"
 msgstr ""
 
-#: src/lang.c:315
+#: src/lang.c:319
 msgid "choose range of articles to be affected by next command"
 msgstr ""
 
-#: src/lang.c:316
+#: src/lang.c:320
 msgid "escape from command prompt"
 msgstr ""
 
-#: src/lang.c:317
+#: src/lang.c:321
 msgid "get help"
 msgstr ""
 
-#: src/lang.c:318
+#: src/lang.c:322
 msgid "display last article viewed"
 msgstr ""
 
-#: src/lang.c:319
+#: src/lang.c:323
 msgid "down one line"
 msgstr ""
 
-#: src/lang.c:320
+#: src/lang.c:324
 msgid "up one line"
 msgstr ""
 
-#: src/lang.c:321
+#: src/lang.c:325
 msgid "go to article chosen by Message-ID"
 msgstr ""
 
-#: src/lang.c:322
+#: src/lang.c:326
 msgid "mail article/thread/hot/pattern/tagged articles to someone"
 msgstr ""
 
-#: src/lang.c:323
+#: src/lang.c:327
 msgid "menu of configurable options"
 msgstr ""
 
-#: src/lang.c:324
+#: src/lang.c:328
 msgid "down one page"
 msgstr ""
 
-#: src/lang.c:325
+#: src/lang.c:329
 msgid "up one page"
 msgstr ""
 
-#: src/lang.c:326
+#: src/lang.c:330
 msgid "post (write) article to current group"
 msgstr ""
 
-#: src/lang.c:327
+#: src/lang.c:331
 msgid "post postponed articles"
 msgstr ""
 
-#: src/lang.c:328
+#: src/lang.c:332
 msgid "list articles posted by you (from posted file)"
 msgstr ""
 
-#: src/lang.c:329
+#: src/lang.c:333
 msgid "return to previous menu"
 msgstr ""
 
-#: src/lang.c:330
+#: src/lang.c:334
 msgid "quit tin immediately"
 msgstr ""
 
-#: src/lang.c:331
+#: src/lang.c:335
 msgid "redraw page"
 msgstr ""
 
-#: src/lang.c:332
+#: src/lang.c:336
 msgid "save article/thread/hot/pattern/tagged articles to file"
 msgstr ""
 
-#: src/lang.c:333
+#: src/lang.c:337
 msgid "save marked articles automatically without user prompts"
 msgstr ""
 
-#: src/lang.c:334
+#: src/lang.c:338
 msgid "search for articles by author backwards"
 msgstr ""
 
-#: src/lang.c:335
+#: src/lang.c:339
 msgid "search for articles by author forwards"
 msgstr ""
 
-#: src/lang.c:336
+#: src/lang.c:340
 msgid "search all articles for a given string (this may take some time)"
 msgstr ""
 
-#: src/lang.c:337
+#: src/lang.c:341
 msgid " \t  (searches are case-insensitive and wrap around to all articles)"
 msgstr ""
 
-#: src/lang.c:338
+#: src/lang.c:342
 msgid "search for articles by Subject line backwards"
 msgstr ""
 
-#: src/lang.c:339
+#: src/lang.c:343
 msgid "search for articles by Subject line forwards"
 msgstr ""
 
-#: src/lang.c:340
+#: src/lang.c:344
 msgid "repeat last search"
 msgstr ""
 
-#: src/lang.c:341
+#: src/lang.c:345
 msgid "tag current article for reposting/mailing/piping/printing/saving"
 msgstr ""
 
-#: src/lang.c:342
+#: src/lang.c:346
 msgid "toggle info message in last line (subject/description)"
 msgstr ""
 
-#: src/lang.c:343
+#: src/lang.c:347
 msgid "toggle inverse video"
 msgstr ""
 
-#: src/lang.c:344
+#: src/lang.c:348
 msgid "toggle mini help menu display"
 msgstr ""
 
-#: src/lang.c:345
+#: src/lang.c:349
 msgid "show version information"
 msgstr ""
 
-#: src/lang.c:346
+#: src/lang.c:350
 msgid "mark all articles as read and return to group selection menu"
 msgstr ""
 
-#: src/lang.c:347
+#: src/lang.c:351
 msgid "mark all articles as read and enter next group with unread articles"
 msgstr ""
 
-#: src/lang.c:348
+#: src/lang.c:352
 msgid "choose first thread in list"
 msgstr ""
 
-#: src/lang.c:349 src/lang.c:380
+#: src/lang.c:353 src/lang.c:384
 msgid "choose group by name"
 msgstr ""
 
-#: src/lang.c:350
+#: src/lang.c:354
 msgid "choose last thread in list"
 msgstr ""
 
-#: src/lang.c:351
+#: src/lang.c:355
 msgid "list articles within current thread (bring up Thread sub-menu)"
 msgstr ""
 
-#: src/lang.c:352
+#: src/lang.c:356
 msgid "mark article as unread"
 msgstr ""
 
-#: src/lang.c:353
+#: src/lang.c:357
 msgid "mark current thread or tagged threads as read"
 msgstr ""
 
-#: src/lang.c:354
+#: src/lang.c:358
 msgid "mark thread as unread"
 msgstr ""
 
-#: src/lang.c:355
+#: src/lang.c:359
 msgid "toggle display of all/selected articles"
 msgstr ""
 
-#: src/lang.c:356
+#: src/lang.c:360
 msgid "display next group"
 msgstr ""
 
-#: src/lang.c:359
+#: src/lang.c:363
 msgid "display previous group"
 msgstr ""
 
-#: src/lang.c:361 src/lang.c:409
+#: src/lang.c:365 src/lang.c:413
 msgid "read chosen article"
 msgstr ""
 
-#: src/lang.c:363
+#: src/lang.c:367
 msgid "toggle all selections (all articles)"
 msgstr ""
 
-#: src/lang.c:364
+#: src/lang.c:368
 msgid "select group (make \"hot\")"
 msgstr ""
 
-#: src/lang.c:365
+#: src/lang.c:369
 msgid "select thread"
 msgstr ""
 
-#: src/lang.c:366
+#: src/lang.c:370
 msgid "select threads if at least one unread article is selected"
 msgstr ""
 
-#: src/lang.c:367
+#: src/lang.c:371
 msgid "select threads that match user specified pattern"
 msgstr ""
 
-#: src/lang.c:368
+#: src/lang.c:372
 msgid "tag all parts of current multipart-message in order"
 msgstr ""
 
-#: src/lang.c:369
+#: src/lang.c:373
 msgid "0 - 9\t  choose thread by number"
 msgstr ""
 
-#: src/lang.c:370
+#: src/lang.c:374
 msgid "toggle limit number of articles to get, and reload"
 msgstr ""
 
-#: src/lang.c:371
+#: src/lang.c:375
 msgid "toggle display of all/unread articles"
 msgstr ""
 
-#: src/lang.c:372 src/lang.c:410
+#: src/lang.c:376 src/lang.c:414
 msgid "cycle the display of authors email address, real name, both or neither"
 msgstr ""
 
-#: src/lang.c:373
+#: src/lang.c:377
 msgid "toggle selection of thread"
 msgstr ""
 
-#: src/lang.c:374
+#: src/lang.c:378
 msgid "cycle through threading options available"
 msgstr ""
 
-#: src/lang.c:375
+#: src/lang.c:379
 msgid "undo all selections (all articles)"
 msgstr ""
 
-#: src/lang.c:376
+#: src/lang.c:380
 msgid "untag all tagged threads"
 msgstr ""
 
-#: src/lang.c:377
+#: src/lang.c:381
 msgid "mark all articles in group as read"
 msgstr ""
 
-#: src/lang.c:378
+#: src/lang.c:382
 msgid "mark all articles in group as read and move to next unread group"
 msgstr ""
 
-#: src/lang.c:379
+#: src/lang.c:383
 msgid "choose first group in list"
 msgstr ""
 
-#: src/lang.c:381
+#: src/lang.c:385
 msgid "0 - 9\t  choose group by number"
 msgstr ""
 
-#: src/lang.c:382
+#: src/lang.c:386
 msgid "choose range of groups to be affected by next command"
 msgstr ""
 
-#: src/lang.c:383
+#: src/lang.c:387
 msgid "choose last group in list"
 msgstr ""
 
-#: src/lang.c:384
+#: src/lang.c:388
 msgid "mark all articles in chosen group unread"
 msgstr ""
 
-#: src/lang.c:385
+#: src/lang.c:389
 msgid "move chosen group within list"
 msgstr ""
 
-#: src/lang.c:386
+#: src/lang.c:390
 msgid "choose next group with unread news"
 msgstr ""
 
-#: src/lang.c:387 src/lang.c:1169
+#: src/lang.c:391 src/lang.c:1173
 msgid "quit"
 msgstr ""
 
-#: src/lang.c:388
+#: src/lang.c:392
 msgid "quit without saving configuration changes"
 msgstr ""
 
-#: src/lang.c:389
+#: src/lang.c:393
 msgid "read chosen group"
 msgstr ""
 
-#: src/lang.c:390
+#: src/lang.c:394
 msgid "reset .newsrc (all available articles in groups marked unread)"
 msgstr ""
 
-#: src/lang.c:391
+#: src/lang.c:395
 msgid "search backwards for a group name"
 msgstr ""
 
-#: src/lang.c:392
+#: src/lang.c:396
 msgid " \t  (all searches are case-insensitive and wrap around)"
 msgstr ""
 
-#: src/lang.c:393
+#: src/lang.c:397
 msgid "search forwards for a group name"
 msgstr ""
 
-#: src/lang.c:394
+#: src/lang.c:398
 msgid "subscribe to chosen group"
 msgstr ""
 
-#: src/lang.c:395
+#: src/lang.c:399
 msgid "subscribe to groups that match pattern"
 msgstr ""
 
-#: src/lang.c:396
+#: src/lang.c:400
 msgid "reread active file to check for any new news"
 msgstr ""
 
-#: src/lang.c:397
+#: src/lang.c:401
 msgid "toggle display of group name only or group name plus description"
 msgstr ""
 
-#: src/lang.c:398
+#: src/lang.c:402
 msgid "toggle display to show all/unread subscribed groups"
 msgstr ""
 
-#: src/lang.c:399
+#: src/lang.c:403
 msgid "unsubscribe from chosen group"
 msgstr ""
 
-#: src/lang.c:400
+#: src/lang.c:404
 msgid "unsubscribe from groups that match pattern"
 msgstr ""
 
-#: src/lang.c:401
+#: src/lang.c:405
 msgid "sort the list of groups"
 msgstr ""
 
-#: src/lang.c:402
+#: src/lang.c:406
 msgid "toggle display to show all/subscribed groups"
 msgstr ""
 
-#: src/lang.c:403
+#: src/lang.c:407
 msgid "0 - 9\t  choose article by number"
 msgstr ""
 
-#: src/lang.c:404
+#: src/lang.c:408
 msgid "mark thread as read and return to group index page"
 msgstr ""
 
-#: src/lang.c:405
+#: src/lang.c:409
 msgid "mark thread as read and enter next unread thread or group"
 msgstr ""
 
-#: src/lang.c:406
+#: src/lang.c:410
 msgid "choose first article in list"
 msgstr ""
 
-#: src/lang.c:407
+#: src/lang.c:411
 msgid "choose last article in list"
 msgstr ""
 
-#: src/lang.c:408
+#: src/lang.c:412
 msgid ""
 "mark article or tagged articles as read and move cursor to next unread "
 "article"
 msgstr ""
 
-#: src/lang.c:411
+#: src/lang.c:415
 msgid ""
 "Display properties\n"
 "------------------"
 msgstr ""
 
-#: src/lang.c:412
+#: src/lang.c:416
 msgid ""
 "Miscellaneous\n"
 "-------------"
 msgstr ""
 
-#: src/lang.c:413
+#: src/lang.c:417
 msgid ""
 "Moving around\n"
 "-------------"
 msgstr ""
 
-#: src/lang.c:414
+#: src/lang.c:418
 msgid ""
 "Group/thread/article operations\n"
 "-------------------------------"
 msgstr ""
 
-#: src/lang.c:416
+#: src/lang.c:420
 msgid "Group Level Commands"
 msgstr ""
 
-#: src/lang.c:417
+#: src/lang.c:421
 msgid "Kill filter added"
 msgstr ""
 
-#: src/lang.c:418
+#: src/lang.c:422
 msgid "Auto-selection filter added"
 msgstr ""
 
-#: src/lang.c:419
+#: src/lang.c:423
 msgid "All parts tagged"
 msgstr ""
 
-#: src/lang.c:420
+#: src/lang.c:424
 msgid "Storing article for later posting"
 msgstr ""
 
-#: src/lang.c:421
+#: src/lang.c:425
 msgid "Please enter a valid character"
 msgstr ""
 
-#: src/lang.c:422
+#: src/lang.c:426
 #, c-format
 msgid "Missing part #%d"
 msgstr ""
 
-#: src/lang.c:423
+#: src/lang.c:427
 msgid "*** No postponed articles ***"
 msgstr ""
 
-#: src/lang.c:424
+#: src/lang.c:428
 msgid "Not a multi-part message"
 msgstr ""
 
-#: src/lang.c:425
+#: src/lang.c:429
 msgid "You are not subscribed to this group"
 msgstr ""
 
-#: src/lang.c:426
+#: src/lang.c:430
 msgid "No previous expression"
 msgstr ""
 
-#: src/lang.c:427
+#: src/lang.c:431
 msgid "Operation disabled in no-overwrite mode"
 msgstr ""
 
 #. TODO: replace hardcoded key-name in txt_info_postponed
-#: src/lang.c:429
+#: src/lang.c:433
 #, c-format
 msgid "%d postponed %s, reuse with ^O...\n"
 msgstr ""
 
-#: src/lang.c:430
+#: src/lang.c:434
 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:432
+#: src/lang.c:436
 #, c-format
 msgid "Save filename for %s/%s is a mailbox. Attachment not saved"
 msgstr ""
 
-#: src/lang.c:433
+#: src/lang.c:437
 msgid "TeX2Iso encoded article"
 msgstr ""
 
-#: src/lang.c:434
+#: src/lang.c:438
 msgid "incomplete "
 msgstr ""
 
 #. TODO: replace hardcoded key-names
-#: src/lang.c:436
+#: src/lang.c:440
 #, c-format
 msgid ""
 "\n"
@@ -1802,129 +1824,129 @@ msgid ""
 "Please send bug-reports/comments to %s with the 'R' command.\n"
 msgstr ""
 
-#: src/lang.c:452
+#: src/lang.c:456
 #, c-format
 msgid "Invalid  From: %s  line. Read the INSTALL file again."
 msgstr ""
 
-#: src/lang.c:453
+#: src/lang.c:457
 #, c-format
 msgid "Invalid  Sender:-header %s"
 msgstr ""
 
-#: src/lang.c:454
+#: src/lang.c:458
 msgid "Inverse video disabled"
 msgstr ""
 
-#: src/lang.c:455
+#: src/lang.c:459
 msgid "Inverse video enabled"
 msgstr ""
 
-#: src/lang.c:457
+#: src/lang.c:461
 #, c-format
 msgid "Missing definition for %s\n"
 msgstr ""
 
-#: src/lang.c:458
+#: src/lang.c:462
 #, c-format
 msgid "Invalid key definition '%s'\n"
 msgstr ""
 
-#: src/lang.c:459
+#: src/lang.c:463
 #, c-format
 msgid "Invalid keyname '%s'\n"
 msgstr ""
 
-#: src/lang.c:460
+#: src/lang.c:464
 #, c-format
 msgid "Key '%s' is defined for both %s%s and %s%s\n"
 msgstr ""
 
-#: src/lang.c:461
+#: src/lang.c:465
 #, c-format
-msgid "Kill From:     [%-*.*s] (y/n): "
+msgid "Kill From:     [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:462
+#: src/lang.c:466
 msgid "Kill Lines: (</>num): "
 msgstr ""
 
-#: src/lang.c:463
+#: src/lang.c:467
 msgid "Kill Article Menu"
 msgstr ""
 
-#: src/lang.c:464
+#: src/lang.c:468
 #, c-format
-msgid "Kill Msg-Id:   [%-*.*s] (f/l/o/n): "
+msgid "Kill Msg-Id:   [%s] (f/l/o/n): "
 msgstr ""
 
-#: src/lang.c:465
+#: src/lang.c:469
 msgid "Kill pattern scope  : "
 msgstr ""
 
-#: src/lang.c:466
+#: src/lang.c:470
 #, c-format
-msgid "Kill Subject:  [%-*.*s] (y/n): "
+msgid "Kill Subject:  [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:467
+#: src/lang.c:471
 msgid "Kill text pattern   : "
 msgstr ""
 
-#: src/lang.c:468
+#: src/lang.c:472
 msgid "Kill time in days   : "
 msgstr ""
 
-#: src/lang.c:470
+#: src/lang.c:474
 msgid "Last"
 msgstr ""
 
-#: src/lang.c:471
+#: src/lang.c:475
 msgid "-- Last response --"
 msgstr ""
 
-#: src/lang.c:472
+#: src/lang.c:476
 #, c-format
 msgid "Lines %s  "
 msgstr ""
 
-#: src/lang.c:474
+#: src/lang.c:478
 msgid "Message-ID: line              "
 msgstr ""
 
-#: src/lang.c:476
+#: src/lang.c:480
 msgid "mailbox "
 msgstr ""
 
-#: src/lang.c:477
+#: src/lang.c:481
 #, c-format
 msgid "Mail article(s) to [%.*s]> "
 msgstr ""
 
-#: src/lang.c:478
+#: src/lang.c:482
 #, c-format
 msgid "Mailing log to %s\n"
 msgstr ""
 
-#: src/lang.c:479
+#: src/lang.c:483
 msgid "Mail bug report..."
 msgstr ""
 
-#: src/lang.c:480
+#: src/lang.c:484
 #, c-format
 msgid "Mail BUG REPORT to %s?"
 msgstr ""
 
-#: src/lang.c:481
+#: src/lang.c:485
 msgid "Mailed"
 msgstr ""
 
-#: src/lang.c:482
+#: src/lang.c:486
 #, c-format
 msgid "Mailing to %s..."
 msgstr ""
 
-#: src/lang.c:483
+#: src/lang.c:487
 msgid ""
 "# [Mail/Save] active file. Format is like news active file:\n"
 "#   groupname  max.artnum  min.artnum  /dir\n"
@@ -1932,285 +1954,285 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:486
+#: src/lang.c:490
 #, c-format
 msgid "%s marked as unread"
 msgstr ""
 
-#: src/lang.c:487
+#: src/lang.c:491
 #, c-format
 msgid "Marked %d of %d tagged %s as read"
 msgstr ""
 
-#: src/lang.c:488
+#: src/lang.c:492
 #, c-format
 msgid "Mark all articles as read%s?"
 msgstr ""
 
-#: src/lang.c:489
+#: src/lang.c:493
 #, c-format
 msgid "Mark %s=tagged articles, %s=current article, %s=quit: "
 msgstr ""
 
-#: src/lang.c:490
+#: src/lang.c:494
 #, c-format
 msgid "Mark group %.*s as read?"
 msgstr ""
 
-#: src/lang.c:491
+#: src/lang.c:495
 #, c-format
 msgid "Mark thread as read%s?"
 msgstr ""
 
-#: src/lang.c:492
+#: src/lang.c:496
 #, c-format
 msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: "
 msgstr ""
 
-#: src/lang.c:493
+#: src/lang.c:497
 #, c-format
 msgid "Matching %s groups..."
 msgstr ""
 
-#: src/lang.c:494 src/lang.c:498
+#: 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:495
+#: 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:496
+#: 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:497
+#: src/lang.c:501
 #, c-format
 msgid "%s=search forwards; %s=search backwards; %s=quit"
 msgstr ""
 
-#: src/lang.c:499
+#: src/lang.c:503
 #, c-format
 msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"
 msgstr ""
 
-#: src/lang.c:500
+#: 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:501
+#: 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:502
+#: 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:503
+#: src/lang.c:507
 #, c-format
 msgid "<n>=set current to n; %s=next unread; %s=catchup; %s=display toggle"
 msgstr ""
 
-#: src/lang.c:504
+#: 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:505
+#: src/lang.c:509
 msgid "--More--"
 msgstr ""
 
-#: src/lang.c:506
+#: src/lang.c:510
 #, c-format
 msgid "Moving %s..."
 msgstr ""
 
-#: src/lang.c:508
+#: src/lang.c:512
 msgid ", name: "
 msgstr ""
 
-#: src/lang.c:509
+#: src/lang.c:513
 #, c-format
 msgid "Goto newsgroup [%s]> "
 msgstr ""
 
-#: src/lang.c:510
+#: src/lang.c:514
 msgid "newsgroups"
 msgstr ""
 
-#: src/lang.c:511
+#: src/lang.c:515
 #, c-format
 msgid "Position %s in group list (1,2,..,$) [%d]> "
 msgstr ""
 
-#: src/lang.c:512
+#: src/lang.c:516
 msgid "newsgroup"
 msgstr ""
 
-#: src/lang.c:513
+#: src/lang.c:517
 msgid "Try and save newsrc file again?"
 msgstr ""
 
-#: src/lang.c:514
+#: src/lang.c:518
 msgid "Warning: No newsgroups were written to your newsrc file. Save aborted."
 msgstr ""
 
-#: src/lang.c:515
+#: src/lang.c:519
 msgid "newsrc file saved successfully.\n"
 msgstr ""
 
-#: src/lang.c:516
+#: src/lang.c:520
 msgid "-- Next response --"
 msgstr ""
 
-#: src/lang.c:517
+#: src/lang.c:521
 #, c-format
 msgid "NNTP authorization password not found for %s"
 msgstr ""
 
-#: src/lang.c:518
+#: src/lang.c:522
 msgid "No  "
 msgstr ""
 
-#: src/lang.c:519
+#: src/lang.c:523
 msgid "*** No articles ***"
 msgstr ""
 
-#: src/lang.c:520
+#: src/lang.c:524
 msgid "No articles have been posted"
 msgstr ""
 
-#: src/lang.c:521
+#: src/lang.c:525
 msgid "*** No description ***"
 msgstr ""
 
-#: src/lang.c:522
+#: src/lang.c:526
 msgid "No filename"
 msgstr ""
 
-#: src/lang.c:523
+#: src/lang.c:527
 msgid "No group"
 msgstr ""
 
-#: src/lang.c:524
+#: src/lang.c:528
 msgid "*** No groups ***"
 msgstr ""
 
-#: src/lang.c:525
+#: src/lang.c:529
 msgid "No more groups to read"
 msgstr ""
 
-#: src/lang.c:526
+#: src/lang.c:530
 msgid "No last message"
 msgstr ""
 
-#: src/lang.c:527
+#: src/lang.c:531
 msgid "No mail address"
 msgstr ""
 
-#: src/lang.c:528
+#: src/lang.c:532
 msgid "No articles marked for saving"
 msgstr ""
 
-#: src/lang.c:529
+#: src/lang.c:533
 msgid "No match"
 msgstr ""
 
-#: src/lang.c:530
+#: src/lang.c:534
 msgid "No more groups"
 msgstr ""
 
-#: src/lang.c:531
+#: src/lang.c:535
 msgid "No newsgroups"
 msgstr ""
 
-#: src/lang.c:532
+#: src/lang.c:536
 msgid "No next unread article"
 msgstr ""
 
-#: src/lang.c:533
+#: src/lang.c:537
 msgid "No previous group"
 msgstr ""
 
-#: src/lang.c:534
+#: src/lang.c:538
 msgid "No previous unread article"
 msgstr ""
 
-#: src/lang.c:535
+#: src/lang.c:539
 msgid "No responses"
 msgstr ""
 
-#: src/lang.c:536
+#: src/lang.c:540
 msgid "No responses to list in current thread"
 msgstr ""
 
-#: src/lang.c:537
+#: src/lang.c:541
 msgid "No search string"
 msgstr ""
 
-#: src/lang.c:538
+#: src/lang.c:542
 msgid "No subject"
 msgstr ""
 
-#: src/lang.c:539
+#: src/lang.c:543
 #, c-format
 msgid "%s: Terminal must have clear to end-of-line (ce)\n"
 msgstr ""
 
-#: src/lang.c:540
+#: src/lang.c:544
 #, c-format
 msgid "%s: Terminal must have clear to end-of-screen (cd)\n"
 msgstr ""
 
-#: src/lang.c:541
+#: src/lang.c:545
 #, c-format
 msgid "%s: Terminal must have clearscreen (cl) capability\n"
 msgstr ""
 
-#: src/lang.c:542
+#: src/lang.c:546
 #, c-format
 msgid "%s: Terminal must have cursor motion (cm)\n"
 msgstr ""
 
-#: src/lang.c:543
+#: src/lang.c:547
 #, c-format
 msgid "%s: TERM variable must be set to use screen capabilities\n"
 msgstr ""
 
-#: src/lang.c:544
+#: src/lang.c:548
 #, c-format
 msgid "No viewer found for %s/%s\n"
 msgstr ""
 
-#: src/lang.c:545
+#: src/lang.c:549
 msgid "Newsgroup does not exist on this server"
 msgstr ""
 
-#: src/lang.c:546
+#: src/lang.c:550
 #, c-format
 msgid "Group %s not found in active file"
 msgstr ""
 
-#: src/lang.c:547
+#: src/lang.c:551
 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 
-#: src/lang.c:548
+#: src/lang.c:552
 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: "
 msgstr ""
 
-#: src/lang.c:549
+#: src/lang.c:553
 #, c-format
 msgid ""
 "# NNTP-server -> newsrc translation table and NNTP-server\n"
@@ -2227,311 +2249,311 @@ msgid ""
 "#\n"
 msgstr ""
 
-#: src/lang.c:556
+#: src/lang.c:560
 msgid "Only"
 msgstr ""
 
-#: src/lang.c:557
+#: src/lang.c:561
 #, c-format
 msgid "Option not enabled. Recompile with %s."
 msgstr ""
 
-#: src/lang.c:558
+#: src/lang.c:562
 msgid "Options Menu"
 msgstr ""
 
-#: src/lang.c:561
+#: src/lang.c:565
 #, c-format
 msgid "Error in regex: %s at pos. %d '%s'"
 msgstr ""
 
-#: src/lang.c:562
+#: src/lang.c:566
 #, c-format
 msgid "Error in regex: pcre internal error %d"
 msgstr ""
 
-#: src/lang.c:563
+#: src/lang.c:567
 #, c-format
 msgid "Error in regex: study - pcre internal error %s"
 msgstr ""
 
-#: src/lang.c:564
+#: src/lang.c:568
 msgid "Post a followup..."
 msgstr ""
 
 #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone
-#: src/lang.c:566
+#: src/lang.c:570
 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:569
+#: src/lang.c:573
 msgid "Posted articles history"
 msgstr ""
 
-#: src/lang.c:570
+#: src/lang.c:574
 #, c-format
 msgid "Post to newsgroup(s) [%s]> "
 msgstr ""
 
-#: src/lang.c:571
+#: src/lang.c:575
 msgid "-- post processing started --"
 msgstr ""
 
-#: src/lang.c:572
+#: src/lang.c:576
 msgid "-- post processing completed --"
 msgstr ""
 
-#: src/lang.c:573
+#: src/lang.c:577
 #, c-format
 msgid "Post subject [%s]> "
 msgstr ""
 
-#: src/lang.c:574
+#: src/lang.c:578
 msgid ""
 "# Summary of mailed/posted messages viewable by 'W' command from within "
 "tin.\n"
 msgstr ""
 
-#: src/lang.c:575
+#: src/lang.c:579
 msgid "Posting article..."
 msgstr ""
 
-#: src/lang.c:576
+#: src/lang.c:580
 msgid "Post postponed articles [%%.*s]? (%s/%s/%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:577
+#: src/lang.c:581
 #, c-format
 msgid "Hot %s"
 msgstr ""
 
-#: src/lang.c:578
+#: src/lang.c:582
 #, c-format
 msgid "Tagged %s"
 msgstr ""
 
-#: src/lang.c:579
+#: src/lang.c:583
 #, c-format
 msgid "Untagged %s"
 msgstr ""
 
-#: src/lang.c:580
+#: src/lang.c:584
 msgid "Processing mail messages marked for deletion."
 msgstr ""
 
-#: src/lang.c:581
+#: src/lang.c:585
 msgid "Processing saved articles marked for deletion."
 msgstr ""
 
-#: src/lang.c:582
+#: src/lang.c:586
 #, c-format
 msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: "
 msgstr ""
 
-#: src/lang.c:583
+#: src/lang.c:587
 msgid "Article unchanged, abort mailing?"
 msgstr ""
 
-#: src/lang.c:584
+#: src/lang.c:588
 #, c-format
 msgid "Do you want to see postponed articles (%d)?"
 msgstr ""
 
-#: src/lang.c:586
+#: src/lang.c:590
 msgid "Add quick kill filter?"
 msgstr ""
 
-#: src/lang.c:587
+#: src/lang.c:591
 msgid "Add quick selection filter?"
 msgstr ""
 
-#: src/lang.c:588
+#: src/lang.c:592
 msgid "Do you really want to quit?"
 msgstr ""
 
-#: src/lang.c:589
+#: src/lang.c:593
 msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%.*s]: "
 msgstr ""
 
-#: src/lang.c:590
+#: src/lang.c:594
 msgid "You have tagged articles in this group - quit anyway?"
 msgstr ""
 
-#: src/lang.c:591
+#: src/lang.c:595
 #, c-format
 msgid "%s=quit, %s=edit, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:592
+#: src/lang.c:596
 #, c-format
 msgid "%s=quit %s=edit %s=save kill description: "
 msgstr ""
 
-#: src/lang.c:593
+#: src/lang.c:597
 #, c-format
 msgid "%s=quit %s=edit %s=save select description: "
 msgstr ""
 
-#: src/lang.c:594
+#: src/lang.c:598
 msgid "Do you really want to quit without saving your configuration?"
 msgstr ""
 
-#: src/lang.c:597
+#: src/lang.c:601
 msgid "Invalid range - valid are '0-9.$' eg. 1-$"
 msgstr ""
 
-#: src/lang.c:598
+#: src/lang.c:602
 msgid "Do you want to abort this operation?"
 msgstr ""
 
-#: src/lang.c:599
+#: src/lang.c:603
 msgid "Do you want to exit tin immediately?"
 msgstr ""
 
-#: src/lang.c:600
+#: src/lang.c:604
 msgid "Read response> "
 msgstr ""
 
-#: src/lang.c:601
+#: src/lang.c:605
 msgid "Reading ('q' to quit)..."
 msgstr ""
 
-#: src/lang.c:602
+#: src/lang.c:606
 #, c-format
 msgid "Reading %sarticles..."
 msgstr ""
 
-#: src/lang.c:603
+#: src/lang.c:607
 #, c-format
 msgid "Reading %sattributes file...\n"
 msgstr ""
 
-#: src/lang.c:604
+#: src/lang.c:608
 #, c-format
 msgid "Reading %sconfig file...\n"
 msgstr ""
 
-#: src/lang.c:605
+#: src/lang.c:609
 msgid "Reading filter file...\n"
 msgstr ""
 
-#: src/lang.c:606
+#: src/lang.c:610
 #, c-format
 msgid "Reading %s groups..."
 msgstr ""
 
-#: src/lang.c:607
+#: src/lang.c:611
 msgid "Reading input history file...\n"
 msgstr ""
 
-#: src/lang.c:608
+#: src/lang.c:612
 msgid "Reading keymap file...\n"
 msgstr ""
 
-#: src/lang.c:609
+#: src/lang.c:613
 msgid "Reading groups from active file... "
 msgstr ""
 
-#: src/lang.c:610
+#: src/lang.c:614
 msgid "Reading groups from newsrc file... "
 msgstr ""
 
-#: src/lang.c:611
+#: src/lang.c:615
 msgid "Reading newsgroups file... "
 msgstr ""
 
-#: src/lang.c:612
+#: src/lang.c:616
 msgid "Reading newsrc file..."
 msgstr ""
 
-#: src/lang.c:613
+#: src/lang.c:617
 #, c-format
 msgid "Bogus group %s removed."
 msgstr ""
 
-#: src/lang.c:614
+#: src/lang.c:618
 #, c-format
 msgid "Error: rename %s to %s"
 msgstr ""
 
-#: src/lang.c:615
+#: src/lang.c:619
 msgid "Reply to author..."
 msgstr ""
 
-#: src/lang.c:616
+#: src/lang.c:620
 msgid "Repost"
 msgstr ""
 
-#: src/lang.c:617
+#: src/lang.c:621
 msgid "Reposting article..."
 msgstr ""
 
-#: src/lang.c:618
+#: src/lang.c:622
 #, c-format
 msgid "Repost article(s) to group(s) [%s]> "
 msgstr ""
 
-#: src/lang.c:619
+#: src/lang.c:623
 msgid "Reset newsrc?"
 msgstr ""
 
-#: src/lang.c:620
+#: src/lang.c:624
 msgid "Responses have been directed to the following newsgroups"
 msgstr ""
 
-#: src/lang.c:621
+#: src/lang.c:625
 #, c-format
 msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: "
 msgstr ""
 
-#: src/lang.c:622
+#: src/lang.c:626
 #, c-format
 msgid "RespNo %4d of %4d"
 msgstr ""
 
-#: src/lang.c:623
+#: src/lang.c:627
 msgid "Press <RETURN> to continue..."
 msgstr ""
 
-#: src/lang.c:625
+#: src/lang.c:629
 #, c-format
-msgid "Select From    [%-*.*s] (y/n): "
+msgid "Select From    [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:626
+#: src/lang.c:630
 msgid "Select Lines: (</>num): "
 msgstr ""
 
-#: src/lang.c:627
+#: src/lang.c:631
 msgid "Auto-select Article Menu"
 msgstr ""
 
-#: src/lang.c:628
+#: src/lang.c:632
 #, c-format
-msgid "Select Msg-Id  [%-*.*s] (f/l/o/n): "
+msgid "Select Msg-Id  [%s] (f/l/o/n): "
 msgstr ""
 
-#: src/lang.c:629
+#: src/lang.c:633
 msgid "Select pattern scope: "
 msgstr ""
 
-#: src/lang.c:630
+#: src/lang.c:634
 #, c-format
-msgid "Select Subject [%-*.*s] (y/n): "
+msgid "Select Subject [%s] (y/n): "
 msgstr ""
 
-#: src/lang.c:631
+#: src/lang.c:635
 msgid "Select text pattern : "
 msgstr ""
 
-#: src/lang.c:632
+#: src/lang.c:636
 msgid "Select time in days   : "
 msgstr ""
 
-#: src/lang.c:633
+#: src/lang.c:637
 #, c-format
 msgid ""
 "# %s server configuration file\n"
@@ -2545,219 +2567,219 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:639
+#: src/lang.c:643
 msgid "Showing unread groups only"
 msgstr ""
 
-#: src/lang.c:640
+#: src/lang.c:644
 msgid "Subject: line (ignore case)   "
 msgstr ""
 
-#: src/lang.c:641
+#: src/lang.c:645
 msgid "Subject: line (case sensitive)"
 msgstr ""
 
-#: src/lang.c:642
+#: src/lang.c:646
 msgid "Save"
 msgstr ""
 
-#: src/lang.c:643
+#: src/lang.c:647
 #, c-format
 msgid "Save '%s' (%s/%s)?"
 msgstr ""
 
-#: src/lang.c:644
+#: src/lang.c:648
 msgid "Save configuration before continuing?"
 msgstr ""
 
-#: src/lang.c:645
+#: src/lang.c:649
 msgid "Save filename> "
 msgstr ""
 
-#: src/lang.c:646
+#: src/lang.c:650
 msgid "Saved"
 msgstr ""
 
-#: src/lang.c:647
+#: src/lang.c:651
 #, c-format
 msgid "%4d unread (%4d hot) %s in %s\n"
 msgstr ""
 
-#: src/lang.c:648
+#: src/lang.c:652
 #, c-format
 msgid "Saved %s...\n"
 msgstr ""
 
-#: src/lang.c:649
+#: src/lang.c:653
 msgid "Nothing was saved"
 msgstr ""
 
-#: src/lang.c:650
+#: src/lang.c:654
 #, c-format
 msgid ""
 "\n"
 "%s %d %s from %d %s\n"
 msgstr ""
 
-#: src/lang.c:651
+#: src/lang.c:655
 #, c-format
 msgid "-- %s saved to %s%s --"
 msgstr ""
 
-#: src/lang.c:652
+#: src/lang.c:656
 #, c-format
 msgid "-- %s saved to %s - %s --"
 msgstr ""
 
-#: src/lang.c:653
+#: src/lang.c:657
 msgid "Saving..."
 msgstr ""
 
-#: src/lang.c:654
+#: src/lang.c:658
 #, c-format
 msgid "%s: Screen initialization failed"
 msgstr ""
 
-#: src/lang.c:655
+#: src/lang.c:659
 #, c-format
 msgid "%s: screen is too small\n"
 msgstr ""
 
-#: src/lang.c:656
+#: src/lang.c:660
 #, c-format
 msgid "screen is too small, %s is exiting\n"
 msgstr ""
 
-#: src/lang.c:657
+#: src/lang.c:661
 #, c-format
 msgid "Search backwards [%s]> "
 msgstr ""
 
-#: src/lang.c:658
+#: src/lang.c:662
 #, c-format
 msgid "Search body [%s]> "
 msgstr ""
 
-#: src/lang.c:659
+#: src/lang.c:663
 #, c-format
 msgid "Search forwards [%s]> "
 msgstr ""
 
-#: src/lang.c:660
+#: src/lang.c:664
 msgid "Searching..."
 msgstr ""
 
-#: src/lang.c:661
+#: src/lang.c:665
 #, c-format
 msgid "Searching article %d of %d ('q' to abort)..."
 msgstr ""
 
-#: src/lang.c:662
+#: src/lang.c:666
 msgid "Select article> "
 msgstr ""
 
-#: src/lang.c:663
+#: src/lang.c:667
 msgid ""
 "Select option number before text or use arrow keys and <CR>. 'q' to quit."
 msgstr ""
 
-#: src/lang.c:664
+#: src/lang.c:668
 msgid "Select group> "
 msgstr ""
 
-#: src/lang.c:665
+#: src/lang.c:669
 #, c-format
 msgid "Enter selection pattern [%s]> "
 msgstr ""
 
-#: src/lang.c:666
+#: src/lang.c:670
 msgid "Select thread > "
 msgstr ""
 
-#: src/lang.c:667
+#: src/lang.c:671
 #, c-format
 msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n"
 msgstr ""
 
-#: src/lang.c:668
+#: src/lang.c:672
 msgid "servers active-file"
 msgstr ""
 
-#: src/lang.c:669
+#: src/lang.c:673
 msgid "Cannot move into new newsgroups. Subscribe first..."
 msgstr ""
 
-#: src/lang.c:670
+#: src/lang.c:674
 msgid "<SPACE>"
 msgstr ""
 
-#: src/lang.c:671
+#: src/lang.c:675
 #, c-format
 msgid "Starting: (%s)"
 msgstr ""
 
-#: src/lang.c:672
+#: src/lang.c:676
 #, c-format
 msgid "List Thread (%d of %d)"
 msgstr ""
 
-#: src/lang.c:673
+#: src/lang.c:677
 #, c-format
 msgid "Thread (%.*s)"
 msgstr ""
 
-#: src/lang.c:674
+#: src/lang.c:678
 msgid "Enter wildcard subscribe pattern> "
 msgstr ""
 
-#: src/lang.c:675
+#: src/lang.c:679
 #, c-format
 msgid "subscribed to %d groups"
 msgstr ""
 
-#: src/lang.c:676
+#: src/lang.c:680
 #, c-format
 msgid "Subscribed to %s"
 msgstr ""
 
-#: src/lang.c:677
+#: src/lang.c:681
 msgid "Subscribing... "
 msgstr ""
 
-#: src/lang.c:678
+#: src/lang.c:682
 msgid "Repost or supersede article(s) [%%.*s]? (%s/%s/%s): "
 msgstr ""
 
-#: src/lang.c:679
+#: src/lang.c:683
 #, c-format
 msgid "Supersede article(s) to group(s) [%s]> "
 msgstr ""
 
-#: src/lang.c:680
+#: src/lang.c:684
 msgid "Superseding article ..."
 msgstr ""
 
-#: src/lang.c:681
+#: src/lang.c:685
 #, c-format
 msgid ""
 "\n"
 "Stopped. Type 'fg' to restart %s\n"
 msgstr ""
 
-#: src/lang.c:683
+#: src/lang.c:687
 #, c-format
 msgid "%d days"
 msgstr ""
 
-#: src/lang.c:684
+#: src/lang.c:688
 msgid "<TAB>"
 msgstr ""
 
-#: src/lang.c:685
+#: src/lang.c:689
 msgid "# Default action/prompt strings\n"
 msgstr ""
 
-#: src/lang.c:686
+#: src/lang.c:690
 msgid ""
 "# Defaults for quick (1 key) kill & auto-selection filters\n"
 "# header=NUM  0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n"
@@ -2768,262 +2790,262 @@ msgid ""
 "# expire=ON/OFF  ON=limit to default_filter_days OFF=don't ever expire\n"
 msgstr ""
 
-#: src/lang.c:699
+#: src/lang.c:703
 msgid ""
 "# If ON use print current subject or newsgroup description in the last line\n"
 msgstr ""
 
-#: src/lang.c:700
+#: src/lang.c:704
 msgid "# Host & time info used for detecting new groups (don't touch)\n"
 msgstr ""
 
-#: src/lang.c:701
+#: src/lang.c:705
 msgid "There is no news\n"
 msgstr ""
 
-#: src/lang.c:702
+#: src/lang.c:706
 msgid "Thread"
 msgstr ""
 
-#: src/lang.c:703
+#: src/lang.c:707
 msgid "Thread Level Commands"
 msgstr ""
 
-#: src/lang.c:704
+#: src/lang.c:708
 msgid "Thread deselected"
 msgstr ""
 
-#: src/lang.c:705
+#: src/lang.c:709
 msgid "Thread selected"
 msgstr ""
 
-#: src/lang.c:706
+#: src/lang.c:710
 msgid "threads"
 msgstr ""
 
-#: src/lang.c:707
+#: src/lang.c:711
 msgid "Thread range"
 msgstr ""
 
-#: src/lang.c:708
+#: src/lang.c:712
 msgid "thread"
 msgstr ""
 
-#: src/lang.c:709
+#: src/lang.c:713
 #, c-format
 msgid "Thread %4s of %4s"
 msgstr ""
 
-#: src/lang.c:710
+#: src/lang.c:714
 msgid "Threading articles..."
 msgstr ""
 
-#: src/lang.c:711
+#: src/lang.c:715
 #, c-format
 msgid "Toggled word highlighting %s"
 msgstr ""
 
-#: src/lang.c:712
+#: src/lang.c:716
 msgid "Toggled rot13 encoding"
 msgstr ""
 
-#: src/lang.c:713
+#: src/lang.c:717
 #, c-format
 msgid "Toggled german TeX encoding %s"
 msgstr ""
 
-#: src/lang.c:714
+#: src/lang.c:718
 #, c-format
 msgid "Toggled tab-width to %d"
 msgstr ""
 
-#: src/lang.c:715
+#: src/lang.c:719
 #, c-format
 msgid "%d Trying to dotlock %s"
 msgstr ""
 
-#: src/lang.c:716
+#: src/lang.c:720
 #, c-format
 msgid "%d Trying to lock %s"
 msgstr ""
 
-#: src/lang.c:717
+#: src/lang.c:721
 msgid "           h=help\n"
 msgstr ""
 
-#: src/lang.c:719
+#: src/lang.c:723
 msgid "Unlimited"
 msgstr ""
 
-#: src/lang.c:720
+#: src/lang.c:724
 msgid "Enter wildcard unsubscribe pattern> "
 msgstr ""
 
-#: src/lang.c:721
+#: src/lang.c:725
 #, c-format
 msgid "Error decoding %s : %s"
 msgstr ""
 
-#: src/lang.c:722
+#: src/lang.c:726
 msgid "No end."
 msgstr ""
 
-#: src/lang.c:723
+#: src/lang.c:727
 #, c-format
 msgid "%s successfully decoded."
 msgstr ""
 
-#: src/lang.c:724
+#: src/lang.c:728
 #, c-format
 msgid ""
 "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n"
 "\n"
 msgstr ""
 
-#: src/lang.c:725
+#: src/lang.c:729
 msgid "unread "
 msgstr ""
 
-#: src/lang.c:726
+#: src/lang.c:730
 #, c-format
 msgid "unsubscribed from %d groups"
 msgstr ""
 
-#: src/lang.c:727
+#: src/lang.c:731
 #, c-format
 msgid "Unsubscribed from %s"
 msgstr ""
 
-#: src/lang.c:728
+#: src/lang.c:732
 msgid "Unsubscribing... "
 msgstr ""
 
-#: src/lang.c:729
+#: src/lang.c:733
 msgid "Unthreading articles..."
 msgstr ""
 
-#: src/lang.c:730
+#: src/lang.c:734
 msgid "Updated"
 msgstr ""
 
-#: src/lang.c:731
+#: src/lang.c:735
 msgid "Updating"
 msgstr ""
 
-#: src/lang.c:732
+#: src/lang.c:736
 #, c-format
 msgid "Opening %s\n"
 msgstr ""
 
-#: src/lang.c:733
+#: src/lang.c:737
 msgid "No more URL's in this article"
 msgstr ""
 
-#: src/lang.c:734
+#: src/lang.c:738
 msgid "Use MIME display program for this message?"
 msgstr ""
 
-#: src/lang.c:735
+#: src/lang.c:739
 msgid "  -c       mark all news as read in subscribed newsgroups (batch mode)"
 msgstr ""
 
-#: src/lang.c:736
+#: src/lang.c:740
 msgid "  -Z       return status indicating if any unread news (batch mode)"
 msgstr ""
 
-#: src/lang.c:737
+#: src/lang.c:741
 msgid "  -q       don't check for new newsgroups"
 msgstr ""
 
-#: src/lang.c:738
+#: src/lang.c:742
 msgid "  -X       don't save any files on quit"
 msgstr ""
 
-#: src/lang.c:739
+#: src/lang.c:743
 msgid "  -d       don't show newsgroup descriptions"
 msgstr ""
 
-#: src/lang.c:740
+#: src/lang.c:744
 msgid "  -G limit get only limit articles/group"
 msgstr ""
 
-#: src/lang.c:741
+#: src/lang.c:745
 #, c-format
 msgid "  -H       help information about %s"
 msgstr ""
 
-#: src/lang.c:742
+#: src/lang.c:746
 msgid "  -h       this help message"
 msgstr ""
 
-#: src/lang.c:743
+#: src/lang.c:747
 #, c-format
 msgid "  -I dir   news index file directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:744
+#: src/lang.c:748
 msgid "  -u       update index files (batch mode)"
 msgstr ""
 
-#: src/lang.c:745
+#: src/lang.c:749
 #, c-format
 msgid "  -m dir   mailbox directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:746
+#: src/lang.c:750
 #, c-format
 msgid ""
 "\n"
 "Mail bug reports/comments to %s"
 msgstr ""
 
-#: src/lang.c:747
+#: src/lang.c:751
 msgid "  -N       mail new news to your posts (batch mode)"
 msgstr ""
 
-#: src/lang.c:748
+#: src/lang.c:752
 msgid "  -M user  mail new news to specified user (batch mode)"
 msgstr ""
 
-#: src/lang.c:749
+#: src/lang.c:753
 #, c-format
 msgid "  -f file  subscribed to newsgroups file [default=%s]"
 msgstr ""
 
-#: src/lang.c:750
+#: src/lang.c:754
 msgid "  -x       no posting mode"
 msgstr ""
 
-#: src/lang.c:751
+#: src/lang.c:755
 msgid "  -w       post an article and exit"
 msgstr ""
 
-#: src/lang.c:752
+#: src/lang.c:756
 msgid "  -o       post all postponed articles and exit"
 msgstr ""
 
-#: src/lang.c:753
+#: src/lang.c:757
 msgid "  -r       read news remotely from default NNTP server"
 msgstr ""
 
-#: src/lang.c:754
+#: src/lang.c:758
 msgid "  -R       read news saved by -S option"
 msgstr ""
 
-#: src/lang.c:755
+#: src/lang.c:759
 #, c-format
 msgid "  -s dir   save news directory [default=%s]"
 msgstr ""
 
-#: src/lang.c:756
+#: src/lang.c:760
 msgid "  -S       save new news for later reading (batch mode)"
 msgstr ""
 
-#: src/lang.c:757
+#: src/lang.c:761
 msgid "  -z       start if any unread news"
 msgstr ""
 
-#: src/lang.c:758
+#: src/lang.c:762
 #, c-format
 msgid ""
 "A Usenet reader.\n"
@@ -3031,37 +3053,37 @@ msgid ""
 "Usage: %s [options] [newsgroup[,...]]"
 msgstr ""
 
-#: src/lang.c:759
+#: src/lang.c:763
 msgid "  -v       verbose output for batch mode options"
 msgstr ""
 
-#: src/lang.c:760
+#: src/lang.c:764
 msgid "  -V       print version & date information"
 msgstr ""
 
-#: src/lang.c:761
+#: src/lang.c:765
 #, c-format
 msgid "%s only useful without batch mode operations\n"
 msgstr ""
 
-#: src/lang.c:762
+#: src/lang.c:766
 #, c-format
 msgid "%s only useful for batch mode operations\n"
 msgstr ""
 
-#: src/lang.c:764
+#: src/lang.c:768
 #, c-format
 msgid ""
 "\n"
 "%s%d out of range (0 - %d). Reset to 0"
 msgstr ""
 
-#: src/lang.c:765
+#: src/lang.c:769
 #, c-format
 msgid "View '%s' (%s/%s)?"
 msgstr ""
 
-#: src/lang.c:767
+#: src/lang.c:771
 #, c-format
 msgid ""
 "\n"
@@ -3069,33 +3091,33 @@ msgid ""
 "%-100s\n"
 msgstr ""
 
-#: src/lang.c:768
+#: src/lang.c:772
 msgid ""
 "\n"
 "Warning: article unchanged after editing\n"
 msgstr ""
 
-#: src/lang.c:769
+#: src/lang.c:773
 msgid ""
 "\n"
 "Warning: \"Subject:\" contains only whitespaces.\n"
 msgstr ""
 
-#: src/lang.c:770
+#: src/lang.c:774
 msgid ""
 "\n"
 "Warning: \"Subject:\" begins with \"Re: \" but there are no "
 "\"References:\".\n"
 msgstr ""
 
-#: src/lang.c:772
+#: src/lang.c:776
 msgid ""
 "\n"
 "Warning: Article has \"References:\" but \"Subject:\" does not begin\n"
 "         with \"Re: \" and does not contain \"(was:\".\n"
 msgstr ""
 
-#: src/lang.c:775
+#: src/lang.c:779
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -3109,7 +3131,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:779
+#: src/lang.c:783
 msgid ""
 "\n"
 "Warning: You are using a non-plain transfer encoding (such as base64 or\n"
@@ -3118,7 +3140,7 @@ msgid ""
 "         not be encoded properly.\n"
 msgstr ""
 
-#: src/lang.c:784
+#: src/lang.c:788
 #, c-format
 msgid ""
 "\n"
@@ -3128,7 +3150,7 @@ msgid ""
 "Read WHATSNEW, etc...\n"
 msgstr ""
 
-#: src/lang.c:786
+#: src/lang.c:790
 #, c-format
 msgid ""
 "\n"
@@ -3137,7 +3159,7 @@ msgid ""
 "Some values in your %s file may be ignored, others might have changed!\n"
 msgstr ""
 
-#: src/lang.c:789
+#: src/lang.c:793
 #, c-format
 msgid ""
 "Warning: tin wrote fewer groups to your\n"
@@ -3147,19 +3169,19 @@ msgid ""
 "before you start tin once again!\n"
 msgstr ""
 
-#: src/lang.c:793
+#: src/lang.c:797
 #, c-format
 msgid ""
 "\n"
 "Warning: Found %d '-- \\n' lines, this may confuse some people.\n"
 msgstr ""
 
-#: src/lang.c:794
+#: src/lang.c:798
 #, c-format
 msgid "Warning: Only %d out of %d articles were saved"
 msgstr ""
 
-#: src/lang.c:795
+#: src/lang.c:799
 #, c-format
 msgid ""
 "\n"
@@ -3170,49 +3192,49 @@ msgid ""
 "         possible.\n"
 msgstr ""
 
-#: src/lang.c:799
+#: src/lang.c:803
 #, c-format
 msgid ""
 "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? "
 msgstr ""
 
-#: src/lang.c:800
+#: src/lang.c:804
 msgid ""
 "\n"
 "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n"
 msgstr ""
 
-#: src/lang.c:801
+#: src/lang.c:805
 msgid "Writing attributes file..."
 msgstr ""
 
-#: src/lang.c:803
+#: src/lang.c:807
 #, c-format
 msgid "%d Responses"
 msgstr ""
 
-#: src/lang.c:805
+#: src/lang.c:809
 #, c-format
 msgid "Added %d %s"
 msgstr ""
 
-#: src/lang.c:806
+#: src/lang.c:810
 msgid "No unsubscribed groups to show"
 msgstr ""
 
-#: src/lang.c:807
+#: src/lang.c:811
 msgid "Showing subscribed to groups only"
 msgstr ""
 
-#: src/lang.c:808
+#: src/lang.c:812
 msgid "Yes "
 msgstr ""
 
-#: src/lang.c:809
+#: src/lang.c:813
 msgid "    You have mail\n"
 msgstr ""
 
-#: src/lang.c:814
+#: src/lang.c:818
 #, c-format
 msgid ""
 "\n"
@@ -3225,16 +3247,16 @@ msgid ""
 "         M)enu option.\n"
 msgstr ""
 
-#: src/lang.c:825
+#: src/lang.c:829
 #, c-format
 msgid "Redefined key %s '%s' -> '%s'\n"
 msgstr ""
 
-#: src/lang.c:826
+#: src/lang.c:830
 msgid "  -D       debug mode 1=NNTP 2=ALL"
 msgstr ""
 
-#: src/lang.c:830
+#: src/lang.c:834
 msgid ""
 "Read carefully!\n"
 "\n"
@@ -3251,11 +3273,11 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:839
+#: src/lang.c:843
 msgid "toggle color"
 msgstr ""
 
-#: src/lang.c:840
+#: src/lang.c:844
 msgid ""
 "# For color-adjust use the following numbers\n"
 "#  0-black       1-red         2-green        3-brown\n"
@@ -3268,351 +3290,351 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/lang.c:848
+#: src/lang.c:852
 msgid "  -a       toggle color flag"
 msgstr ""
 
-#: src/lang.c:852
+#: src/lang.c:856
 msgid ""
 "\n"
 "Error: Followup-To set to more than one newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:853
+#: src/lang.c:857
 #, c-format
 msgid ""
 "\n"
 "Error: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr ""
 
-#: src/lang.c:854
+#: src/lang.c:858
 #, c-format
 msgid ""
 "\n"
 "Error: \"%s\" is not a valid newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:856
+#: src/lang.c:860
 msgid ""
 "\n"
 "Warning: Followup-To set to more than one newsgroup!\n"
 msgstr ""
 
-#: src/lang.c:857
+#: src/lang.c:861
 #, c-format
 msgid ""
 "\n"
 "Warning: cross-posting to %d newsgroups and no Followup-To line!\n"
 msgstr ""
 
-#: src/lang.c:858
+#: src/lang.c:862
 #, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n"
 msgstr ""
 
-#: src/lang.c:859
+#: src/lang.c:863
 #, c-format
 msgid ""
 "\n"
 "Warning: \"%s\" is not a valid newsgroup at this site!\n"
 msgstr ""
 
-#: src/lang.c:863
+#: src/lang.c:867
 #, c-format
 msgid "%d files successfully written from %d articles. %d %s occurred."
 msgstr ""
 
-#: src/lang.c:864
+#: src/lang.c:868
 msgid "Missing parts."
 msgstr ""
 
-#: src/lang.c:865
+#: src/lang.c:869
 msgid "No beginning."
 msgstr ""
 
-#: src/lang.c:866
+#: src/lang.c:870
 msgid "No data."
 msgstr ""
 
-#: src/lang.c:867
+#: src/lang.c:871
 msgid "Unknown error."
 msgstr ""
 
-#: src/lang.c:869
+#: src/lang.c:873
 #, c-format
 msgid "\tChecksum of %s (%ld %s)"
 msgstr ""
 
-#: src/lang.c:873
+#: src/lang.c:877
 msgid "Reading mail active file... "
 msgstr ""
 
-#: src/lang.c:874
+#: src/lang.c:878
 msgid "Reading mailgroups file... "
 msgstr ""
 
-#: src/lang.c:878
+#: src/lang.c:882
 msgid "perform PGP operations on article"
 msgstr ""
 
-#: src/lang.c:879
+#: src/lang.c:883
 msgid "Add key(s) to public keyring?"
 msgstr ""
 
-#: src/lang.c:880
+#: src/lang.c:884
 #, c-format
 msgid "%s=encrypt, %s=sign, %s=both, %s=quit: "
 msgstr ""
 
-#: src/lang.c:881
+#: src/lang.c:885
 #, c-format
 msgid "%s=sign, %s=sign & include public key, %s=quit: "
 msgstr ""
 
-#: src/lang.c:882
+#: src/lang.c:886
 #, c-format
 msgid "PGP has not been set up (can't open %s)"
 msgstr ""
 
-#: src/lang.c:883
+#: src/lang.c:887
 msgid "Article not signed and no public keys found"
 msgstr ""
 
-#: src/lang.c:885
+#: src/lang.c:889
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:886
+#: src/lang.c:890
 msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%.*s]: "
 msgstr ""
 
-#: src/lang.c:887
+#: src/lang.c:891
 msgid ""
 "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr ""
 
-#: src/lang.c:889
+#: src/lang.c:893
 #, c-format
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:890
+#: src/lang.c:894
 msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%.*s]: "
 msgstr ""
 
-#: src/lang.c:891
+#: src/lang.c:895
 msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr ""
 
-#: src/lang.c:895
+#: src/lang.c:899
 #, c-format
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:896
+#: src/lang.c:900
 msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%.*s]: "
 msgstr ""
 
-#: src/lang.c:897
+#: src/lang.c:901
 msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr ""
 
-#: src/lang.c:899
+#: src/lang.c:903
 #, c-format
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: "
 msgstr ""
 
-#: src/lang.c:900
+#: src/lang.c:904
 msgid "%s=quit, %s=edit, %s=send [%%.*s]: "
 msgstr ""
 
-#: src/lang.c:901
+#: src/lang.c:905
 msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%.*s]: "
 msgstr ""
 
-#: src/lang.c:910
+#: src/lang.c:914
 msgid "Try cache_overview_files to speed up things.\n"
 msgstr ""
 
-#: src/lang.c:911
+#: src/lang.c:915
 msgid "Tin will use local index files instead.\n"
 msgstr ""
 
-#: src/lang.c:912
+#: src/lang.c:916
 msgid "Cannot find NNTP server name"
 msgstr ""
 
-#: src/lang.c:913
+#: src/lang.c:917
 #, c-format
 msgid "Connecting to %s:%d..."
 msgstr ""
 
-#: src/lang.c:914
+#: src/lang.c:918
 msgid "Disconnecting from server...\n"
 msgstr ""
 
-#: src/lang.c:915
+#: src/lang.c:919
 #, c-format
 msgid "Wrong newsgroup name in response of GROUP command, %s for %s"
 msgstr ""
 
-#: src/lang.c:916
+#: src/lang.c:920
 #, c-format
 msgid "Failed to connect to NNTP server %s. Exiting..."
 msgstr ""
 
-#: src/lang.c:917
+#: src/lang.c:921
 msgid "205  Closing connection"
 msgstr ""
 
-#: src/lang.c:918
+#: src/lang.c:922
 msgid "Your server does not support the NNTP XOVER or OVER command.\n"
 msgstr ""
 
-#: src/lang.c:919
+#: src/lang.c:923
 msgid "Connection to news server has timed out. Reconnect?"
 msgstr ""
 
-#: src/lang.c:920
+#: src/lang.c:924
 #, c-format
 msgid ""
 "Put the server name in the file %s,\n"
 "or set the environment variable NNTPSERVER"
 msgstr ""
 
-#: src/lang.c:921
+#: src/lang.c:925
 msgid "  -A       force authentication on connect"
 msgstr ""
 
-#: src/lang.c:922
+#: src/lang.c:926
 #, c-format
 msgid "  -g serv  read news from NNTP server serv [default=%s]"
 msgstr ""
 
-#: src/lang.c:923
+#: src/lang.c:927
 #, c-format
 msgid "  -p port  use port as NNTP port [default=%d]"
 msgstr ""
 
-#: src/lang.c:924
+#: src/lang.c:928
 msgid "  -Q       quick start. Same as -nqd"
 msgstr ""
 
-#: src/lang.c:925
+#: src/lang.c:929
 msgid "  -l       use only LIST instead of GROUP (-n) command"
 msgstr ""
 
-#: src/lang.c:926
+#: src/lang.c:930
 msgid "  -n       only read subscribed .newsrc groups from NNTP server"
 msgstr ""
 
-#: src/lang.c:928
+#: src/lang.c:932
 #, c-format
 msgid "%s/tcp: Unknown service.\n"
 msgstr ""
 
-#: src/lang.c:931
+#: src/lang.c:935
 msgid ""
 "\n"
 "socket or connect problem\n"
 msgstr ""
 
-#: src/lang.c:933
+#: src/lang.c:937
 #, c-format
 msgid ""
 "\n"
 "Connection to %s: "
 msgstr ""
 
-#: src/lang.c:934
+#: src/lang.c:938
 msgid "Giving up...\n"
 msgstr ""
 
-#: src/lang.c:937
+#: src/lang.c:941
 msgid ""
 "Your server does not have Xref: in its XOVER information.\n"
 "Tin will try to use XHDR XREF instead (slows down things a bit).\n"
 msgstr ""
 
-#: src/lang.c:940
+#: src/lang.c:944
 msgid "Your server does not have Xref: in its XOVER information.\n"
 msgstr ""
 
-#: src/lang.c:943
+#: src/lang.c:947
 #, c-format
 msgid "Can't open %s. Try %s -r to read news via NNTP.\n"
 msgstr ""
 
-#: src/lang.c:946
+#: src/lang.c:950
 msgid "  -Q       quick start. Same as -qd"
 msgstr ""
 
-#: src/lang.c:947
+#: src/lang.c:951
 msgid "  -l       read only active file instead of scanning spool (-n) command"
 msgstr ""
 
-#: src/lang.c:948
+#: src/lang.c:952
 msgid "  -n       only read subscribed .newsrc groups from spool"
 msgstr ""
 
-#: src/lang.c:949
+#: src/lang.c:953
 msgid "Your server does not have Xref: in its NOV-files.\n"
 msgstr ""
 
-#: src/lang.c:953
+#: src/lang.c:957
 msgid "Posting using external inews failed. Use built in inews instead?"
 msgstr ""
 
-#: src/lang.c:954
+#: src/lang.c:958
 msgid "It worked! Should I always use my built in inews from now on?"
 msgstr ""
 
-#: src/lang.c:962
+#: src/lang.c:966
 #, c-format
 msgid "%d %s printed"
 msgstr ""
 
-#: src/lang.c:963
+#: src/lang.c:967
 msgid "output article/thread/hot/pattern/tagged articles to printer"
 msgstr ""
 
-#: src/lang.c:964
+#: src/lang.c:968
 msgid "Print"
 msgstr ""
 
-#: src/lang.c:965
+#: src/lang.c:969
 msgid "Printing..."
 msgstr ""
 
-#: src/lang.c:969
+#: src/lang.c:973
 msgid "pipe article/thread/hot/pattern/tagged articles into command"
 msgstr ""
 
-#: src/lang.c:970
+#: src/lang.c:974
 msgid "No command"
 msgstr ""
 
-#: src/lang.c:971
+#: src/lang.c:975
 msgid "Pipe"
 msgstr ""
 
-#: src/lang.c:972
+#: src/lang.c:976
 #, c-format
 msgid "Pipe to command [%.*s]> "
 msgstr ""
 
-#: src/lang.c:973
+#: src/lang.c:977
 msgid "Piping..."
 msgstr ""
 
-#: src/lang.c:975
+#: src/lang.c:979
 msgid "Piping not enabled."
 msgstr ""
 
-#: src/lang.c:979
+#: src/lang.c:983
 #, c-format
 msgid ""
 "\n"
@@ -3622,7 +3644,7 @@ msgid ""
 "       newsgroup names.\n"
 msgstr ""
 
-#: src/lang.c:984
+#: src/lang.c:988
 #, c-format
 msgid ""
 "\n"
@@ -3631,7 +3653,7 @@ msgid ""
 "       Please write all newsgroups into a single line.\n"
 msgstr ""
 
-#: src/lang.c:989
+#: src/lang.c:993
 #, c-format
 msgid ""
 "\n"
@@ -3640,14 +3662,14 @@ msgid ""
 "         To avoid trouble please write all newsgroups into a single line.\n"
 msgstr ""
 
-#: src/lang.c:993
+#: src/lang.c:997
 #, c-format
 msgid ""
 "\n"
 "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n"
 msgstr ""
 
-#: src/lang.c:998
+#: src/lang.c:1002
 msgid ""
 "\n"
 "  If your article contains quoted text  please take some time to pare it "
@@ -3669,815 +3691,832 @@ msgid ""
 "  likely to ignore it completely.  It's a crowded net out there.\n"
 msgstr ""
 
-#: src/lang.c:1011
+#: src/lang.c:1015
 msgid "shell escape"
 msgstr ""
 
-#: src/lang.c:1012
+#: src/lang.c:1016
 #, c-format
 msgid "Shell Command (%s)"
 msgstr ""
 
-#: src/lang.c:1013
+#: src/lang.c:1017
 #, c-format
 msgid "Enter shell command [%s]> "
 msgstr ""
 
-#: src/lang.c:1017
+#: src/lang.c:1021
 #, c-format
 msgid "%s: Can't get entry for TERM\n"
 msgstr ""
 
-#: src/lang.c:1021
+#: src/lang.c:1025
 #, c-format
 msgid "Group %.*s ('q' to quit)..."
 msgstr ""
 
-#: src/lang.c:1023
+#: src/lang.c:1027
 #, c-format
 msgid "Group %.*s..."
 msgstr ""
 
-#: src/lang.c:1027
+#: src/lang.c:1031
 msgid "Server unavailable\n"
 msgstr ""
 
-#: src/lang.c:1033
+#: src/lang.c:1037
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; "
 "%s=post"
 msgstr ""
 
-#: src/lang.c:1034
+#: src/lang.c:1038
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1036
+#: src/lang.c:1040
 #, c-format
 msgid ""
 "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1037
+#: src/lang.c:1041
 #, c-format
 msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1041
+#: src/lang.c:1045
 #, c-format
 msgid ""
 "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1042
+#: src/lang.c:1046
 #, c-format
 msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1044
+#: src/lang.c:1048
 #, c-format
 msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1045
+#: src/lang.c:1049
 #, c-format
 msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post"
 msgstr ""
 
-#: src/lang.c:1051
+#: src/lang.c:1055
 msgid "Terminal does not support color"
 msgstr ""
 
-#: src/lang.c:1056
+#: src/lang.c:1060
 #, c-format
 msgid "Trying %s"
 msgstr ""
 
-#: src/lang.c:1070 src/lang.c:1095 src/lang.c:1111 src/refs.c:266
+#: src/lang.c:1074 src/lang.c:1099 src/lang.c:1115 src/lang.c:1294
+#: src/refs.c:266
 msgid "None"
 msgstr ""
 
-#: src/lang.c:1071
+#: src/lang.c:1075
 msgid "Subject"
 msgstr ""
 
-#: src/lang.c:1072
+#: src/lang.c:1076
 msgid "References"
 msgstr ""
 
-#: src/lang.c:1073
+#: src/lang.c:1077
 msgid "Both Subject and References"
 msgstr ""
 
-#: src/lang.c:1074
+#: src/lang.c:1078
 msgid "Multipart Subject"
 msgstr ""
 
-#: src/lang.c:1086 src/lang.c:1197
+#: src/lang.c:1090 src/lang.c:1201
 msgid "No"
 msgstr ""
 
-#: src/lang.c:1087 src/lang.c:1199
+#: src/lang.c:1091 src/lang.c:1203
 msgid "Yes"
 msgstr ""
 
-#: src/lang.c:1088
+#: src/lang.c:1092
 msgid "Hide All"
 msgstr ""
 
-#: src/lang.c:1096
+#: src/lang.c:1100
 msgid "Address"
 msgstr ""
 
-#: src/lang.c:1097
+#: src/lang.c:1101
 msgid "Full Name"
 msgstr ""
 
-#: src/lang.c:1098
+#: src/lang.c:1102
 msgid "Address and Name"
 msgstr ""
 
-#: src/lang.c:1105
+#: src/lang.c:1109
 msgid "Max"
 msgstr ""
 
-#: src/lang.c:1106
+#: src/lang.c:1110
 msgid "Sum"
 msgstr ""
 
-#: src/lang.c:1107
+#: src/lang.c:1111
 msgid "Average"
 msgstr ""
 
-#: src/lang.c:1112
+#: src/lang.c:1116
 msgid "Lines"
 msgstr ""
 
-#: src/lang.c:1113
+#: src/lang.c:1117
 msgid "Score"
 msgstr ""
 
-#: src/lang.c:1114
+#: src/lang.c:1118
 msgid "Lines & Score"
 msgstr ""
 
-#: src/lang.c:1123
+#: src/lang.c:1127
 msgid "Black"
 msgstr ""
 
-#: src/lang.c:1124
+#: src/lang.c:1128
 msgid "Red"
 msgstr ""
 
-#: src/lang.c:1125
+#: src/lang.c:1129
 msgid "Green"
 msgstr ""
 
-#: src/lang.c:1126
+#: src/lang.c:1130
 msgid "Brown"
 msgstr ""
 
-#: src/lang.c:1127
+#: src/lang.c:1131
 msgid "Blue"
 msgstr ""
 
-#: src/lang.c:1128
+#: src/lang.c:1132
 msgid "Pink"
 msgstr ""
 
-#: src/lang.c:1129
+#: src/lang.c:1133
 msgid "Cyan"
 msgstr ""
 
-#: src/lang.c:1130
+#: src/lang.c:1134
 msgid "White"
 msgstr ""
 
-#: src/lang.c:1131
+#: src/lang.c:1135
 msgid "Gray"
 msgstr ""
 
-#: src/lang.c:1132
+#: src/lang.c:1136
 msgid "Light Red"
 msgstr ""
 
-#: src/lang.c:1133
+#: src/lang.c:1137
 msgid "Light Green"
 msgstr ""
 
-#: src/lang.c:1134
+#: src/lang.c:1138
 msgid "Yellow"
 msgstr ""
 
-#: src/lang.c:1135
+#: src/lang.c:1139
 msgid "Light Blue"
 msgstr ""
 
-#: src/lang.c:1136
+#: src/lang.c:1140
 msgid "Light Pink"
 msgstr ""
 
-#: src/lang.c:1137
+#: src/lang.c:1141
 msgid "Light Cyan"
 msgstr ""
 
-#: src/lang.c:1138
+#: src/lang.c:1142
 msgid "Light White"
 msgstr ""
 
-#: src/lang.c:1146 src/lang.c:1203 src/lang.c:1217
+#: src/lang.c:1150 src/lang.c:1207 src/lang.c:1221
 msgid "Nothing"
 msgstr ""
 
-#: src/lang.c:1147
+#: src/lang.c:1151
 msgid "Mark"
 msgstr ""
 
-#: src/lang.c:1148
+#: src/lang.c:1152
 msgid "Space"
 msgstr ""
 
-#: src/lang.c:1155
+#: src/lang.c:1159
 msgid "Normal"
 msgstr ""
 
-#: src/lang.c:1156
+#: src/lang.c:1160
 msgid "Best highlighting"
 msgstr ""
 
-#: src/lang.c:1157
+#: src/lang.c:1161
 msgid "Underline"
 msgstr ""
 
-#: src/lang.c:1158
+#: src/lang.c:1162
 msgid "Reverse video"
 msgstr ""
 
-#: src/lang.c:1159
+#: src/lang.c:1163
 msgid "Blinking"
 msgstr ""
 
-#: src/lang.c:1160
+#: src/lang.c:1164
 msgid "Half bright"
 msgstr ""
 
-#: src/lang.c:1161
+#: src/lang.c:1165
 msgid "Bold"
 msgstr ""
 
-#: src/lang.c:1166
+#: src/lang.c:1170
 msgid "none"
 msgstr ""
 
-#: src/lang.c:1167
+#: src/lang.c:1171
 msgid "commands"
 msgstr ""
 
-#: src/lang.c:1168
+#: src/lang.c:1172
 msgid "select"
 msgstr ""
 
-#: src/lang.c:1170
+#: src/lang.c:1174
 msgid "commands & quit"
 msgstr ""
 
-#: src/lang.c:1171
+#: src/lang.c:1175
 msgid "commands & select"
 msgstr ""
 
-#: src/lang.c:1172
+#: src/lang.c:1176
 msgid "quit & select"
 msgstr ""
 
-#: src/lang.c:1173
+#: src/lang.c:1177
 msgid "commands & quit & select"
 msgstr ""
 
-#: src/lang.c:1198
+#: src/lang.c:1202
 msgid "Shell archive"
 msgstr ""
 
-#: src/lang.c:1204
+#: src/lang.c:1208
 msgid "Subject: (descending)"
 msgstr ""
 
-#: src/lang.c:1205
+#: src/lang.c:1209
 msgid "Subject: (ascending)"
 msgstr ""
 
-#: src/lang.c:1206
+#: src/lang.c:1210
 msgid "From: (descending)"
 msgstr ""
 
-#: src/lang.c:1207
+#: src/lang.c:1211
 msgid "From: (ascending)"
 msgstr ""
 
-#: src/lang.c:1208
+#: src/lang.c:1212
 msgid "Date: (descending)"
 msgstr ""
 
-#: src/lang.c:1209
+#: src/lang.c:1213
 msgid "Date: (ascending)"
 msgstr ""
 
-#: src/lang.c:1210 src/lang.c:1218
+#: src/lang.c:1214 src/lang.c:1222
 msgid "Score (descending)"
 msgstr ""
 
-#: src/lang.c:1211 src/lang.c:1219
+#: src/lang.c:1215 src/lang.c:1223
 msgid "Score (ascending)"
 msgstr ""
 
-#: src/lang.c:1212
+#: src/lang.c:1216
 msgid "Lines: (descending)"
 msgstr ""
 
-#: src/lang.c:1213
+#: src/lang.c:1217
 msgid "Lines: (ascending)"
 msgstr ""
 
-#: src/lang.c:1224
+#: src/lang.c:1228
 msgid "Always Keep"
 msgstr ""
 
-#: src/lang.c:1225
+#: src/lang.c:1229
 msgid "Always Remove"
 msgstr ""
 
-#: src/lang.c:1226
+#: src/lang.c:1230
 msgid "Mark with D on selection screen"
 msgstr ""
 
-#: src/lang.c:1231
+#: src/lang.c:1235
 msgid "Kill only unread arts"
 msgstr ""
 
-#: src/lang.c:1232
+#: src/lang.c:1236
 msgid "Kill all arts & show with K"
 msgstr ""
 
 #. TODO: s/K/art_marked_killed/
-#: src/lang.c:1233
+#: src/lang.c:1237
 msgid "Kill all arts and never show"
 msgstr ""
 
-#: src/lang.c:1238
+#: src/lang.c:1242
 msgid "Nothing special"
 msgstr ""
 
-#: src/lang.c:1239
+#: src/lang.c:1243
 msgid "Compress quotes"
 msgstr ""
 
-#: src/lang.c:1240
+#: src/lang.c:1244
 msgid "Quote signatures"
 msgstr ""
 
-#: src/lang.c:1241
+#: src/lang.c:1245
 msgid "Compress quotes, quote sigs"
 msgstr ""
 
-#: src/lang.c:1242
+#: src/lang.c:1246
 msgid "Quote empty lines"
 msgstr ""
 
-#: src/lang.c:1243
+#: src/lang.c:1247
 msgid "Compress quotes, quote empty lines"
 msgstr ""
 
-#: src/lang.c:1244
+#: src/lang.c:1248
 msgid "Quote sigs & empty lines"
 msgstr ""
 
-#: src/lang.c:1245
+#: src/lang.c:1249
 msgid "Comp. q., quote sigs & empty lines"
 msgstr ""
 
-#: src/lang.c:1283
+#: src/lang.c:1287
 msgid "no"
 msgstr ""
 
-#: src/lang.c:1284
+#: src/lang.c:1288
 msgid "with headers"
 msgstr ""
 
-#: src/lang.c:1285
+#: src/lang.c:1289
 msgid "without headers"
 msgstr ""
 
-#: src/lang.c:1290
+#: src/lang.c:1296 src/lang.c:1302
+msgid "NFKC"
+msgstr ""
+
+#: src/lang.c:1297
+msgid "NFKD"
+msgstr ""
+
+#: src/lang.c:1298
+msgid "NFC"
+msgstr ""
+
+#: src/lang.c:1299
+msgid "NFD"
+msgstr ""
+
+#: src/lang.c:1310
 msgid "Display Options"
 msgstr ""
 
-#: src/lang.c:1296
+#: src/lang.c:1316
 msgid "Color Options"
 msgstr ""
 
-#: src/lang.c:1302
+#: src/lang.c:1322
 msgid "Article-Limiting Options"
 msgstr ""
 
-#: src/lang.c:1308
+#: src/lang.c:1328
 msgid "Posting/Mailing Options"
 msgstr ""
 
-#: src/lang.c:1314
+#: src/lang.c:1334
 msgid "Saving/Printing Options"
 msgstr ""
 
-#: src/lang.c:1320
+#: src/lang.c:1340
 msgid "Expert Options"
 msgstr ""
 
-#: src/lang.c:1326
+#: src/lang.c:1346
 msgid "Filtering Options"
 msgstr ""
 
-#: src/lang.c:1331 src/lang.c:1357 src/lang.c:1363 src/lang.c:1370
-#: src/lang.c:1402 src/lang.c:1408 src/lang.c:1416 src/lang.c:1436
-#: src/lang.c:1511 src/lang.c:1673 src/lang.c:1679 src/lang.c:1685
-#: src/lang.c:1691 src/lang.c:1703 src/lang.c:1710 src/lang.c:1761
-#: src/lang.c:1770 src/lang.c:1776 src/lang.c:1782 src/lang.c:1788
-#: src/lang.c:1794 src/lang.c:1800 src/lang.c:1806 src/lang.c:1812
-#: src/lang.c:1818 src/lang.c:1824 src/lang.c:1830 src/lang.c:1836
-#: src/lang.c:1842 src/lang.c:1848 src/lang.c:1854 src/lang.c:1860
-#: src/lang.c:1866 src/lang.c:1872 src/lang.c:1878 src/lang.c:1884
-#: src/lang.c:1891 src/lang.c:1897 src/lang.c:1903 src/lang.c:1910
-#: src/lang.c:1921 src/lang.c:1927 src/lang.c:1933 src/lang.c:1939
-#: src/lang.c:1945 src/lang.c:1951 src/lang.c:1965 src/lang.c:1977
-#: src/lang.c:2011 src/lang.c:2063 src/lang.c:2070 src/lang.c:2076
-#: src/lang.c:2101 src/lang.c:2118 src/lang.c:2171 src/lang.c:2204
-#: src/lang.c:2224 src/lang.c:2259 src/lang.c:2268 src/lang.c:2293
-#: src/lang.c:2305
+#: src/lang.c:1351 src/lang.c:1377 src/lang.c:1383 src/lang.c:1390
+#: src/lang.c:1422 src/lang.c:1428 src/lang.c:1436 src/lang.c:1456
+#: src/lang.c:1531 src/lang.c:1693 src/lang.c:1699 src/lang.c:1705
+#: src/lang.c:1711 src/lang.c:1723 src/lang.c:1730 src/lang.c:1781
+#: src/lang.c:1790 src/lang.c:1796 src/lang.c:1802 src/lang.c:1808
+#: src/lang.c:1814 src/lang.c:1820 src/lang.c:1826 src/lang.c:1832
+#: src/lang.c:1838 src/lang.c:1844 src/lang.c:1850 src/lang.c:1856
+#: src/lang.c:1862 src/lang.c:1868 src/lang.c:1874 src/lang.c:1880
+#: src/lang.c:1886 src/lang.c:1892 src/lang.c:1898 src/lang.c:1904
+#: src/lang.c:1910 src/lang.c:1917 src/lang.c:1923 src/lang.c:1929
+#: src/lang.c:1936 src/lang.c:1947 src/lang.c:1953 src/lang.c:1959
+#: src/lang.c:1965 src/lang.c:1971 src/lang.c:1977 src/lang.c:1991
+#: src/lang.c:2003 src/lang.c:2037 src/lang.c:2089 src/lang.c:2096
+#: src/lang.c:2102 src/lang.c:2127 src/lang.c:2144 src/lang.c:2197
+#: src/lang.c:2230 src/lang.c:2250 src/lang.c:2285 src/lang.c:2294
+#: src/lang.c:2319 src/lang.c:2331 src/lang.c:2350
 msgid "<SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:1332
+#: src/lang.c:1352
 msgid "Show mini menu & posting etiquette :"
 msgstr ""
 
-#: src/lang.c:1333
+#: src/lang.c:1353
 msgid ""
 "# If ON show a mini menu of useful commands at each level\n"
 "# and posting etiquette after composing an article\n"
 msgstr ""
 
-#: src/lang.c:1338
+#: src/lang.c:1358
 msgid "Show short description for each newsgroup. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1339
+#: src/lang.c:1359
 msgid "Show description of each newsgroup :"
 msgstr ""
 
-#: src/lang.c:1340
+#: src/lang.c:1360
 msgid ""
 "# If ON show group description text after newsgroup name at\n"
 "# group selection level\n"
 msgstr ""
 
-#: src/lang.c:1345
+#: src/lang.c:1365
 msgid ""
 "Show Subject & From (author) fields in group menu. <SPACE> toggles & <CR> "
 "sets."
 msgstr ""
 
-#: src/lang.c:1346
+#: src/lang.c:1366
 msgid "In group menu, show author by      :"
 msgstr ""
 
-#: src/lang.c:1347
+#: src/lang.c:1367
 msgid ""
 "# Part of from field to display 0) none 1) address 2) full name 3) both\n"
 msgstr ""
 
-#: src/lang.c:1351
+#: src/lang.c:1371
 msgid "Draw -> or highlighted bar for selection. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1352
+#: src/lang.c:1372
 msgid "Draw -> instead of highlighted bar :"
 msgstr ""
 
-#: src/lang.c:1353
+#: src/lang.c:1373
 msgid "# If ON use -> otherwise highlighted bar for selection\n"
 msgstr ""
 
-#: src/lang.c:1358
+#: src/lang.c:1378
 msgid "Use inverse video for page headers :"
 msgstr ""
 
-#: src/lang.c:1359
+#: src/lang.c:1379
 msgid "# If ON use inverse video for page headers at different levels\n"
 msgstr ""
 
-#: src/lang.c:1364
+#: src/lang.c:1384
 msgid "Thread articles by                 :"
 msgstr ""
 
-#: src/lang.c:1365
+#: src/lang.c:1385
 msgid ""
 "# Thread articles on 0=(nothing) 1=(Subject) 2=(References) 3=(Both)\n"
 "# 4=(Multipart Subject).\n"
 msgstr ""
 
-#: src/lang.c:1371
+#: src/lang.c:1391
 msgid "Score of a thread                  :"
 msgstr ""
 
-#: src/lang.c:1372
+#: src/lang.c:1392
 msgid "# Thread score 0=(Max) 1=(Sum) 2=(Average)\n"
 msgstr ""
 
-#: src/lang.c:1376
+#: src/lang.c:1396
 msgid ""
 "Sort articles by Subject, From, Date or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1377
+#: src/lang.c:1397
 msgid "Sort articles by                   :"
 msgstr ""
 
-#: src/lang.c:1378
+#: src/lang.c:1398
 msgid ""
 "# Sort articles by 0=(nothing) 1=(Subject descend) 2=(Subject ascend)\n"
 "# 3=(From descend) 4=(From ascend) 5=(Date descend) 6=(Date ascend)\n"
 "# 7=(Score descend) 8=(Score ascend) 9=(Lines descend) 10=(Lines ascend).\n"
 msgstr ""
 
-#: src/lang.c:1384
+#: src/lang.c:1404
 msgid "Sort threads by Nothing or Score. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1385
+#: src/lang.c:1405
 msgid "Sort threads by                    :"
 msgstr ""
 
-#: src/lang.c:1386
+#: src/lang.c:1406
 msgid "# Sort thread by 0=(nothing) 1=(Score descend) 2=(Score ascend)\n"
 msgstr ""
 
-#: src/lang.c:1390
+#: src/lang.c:1410
 msgid ""
 "Put cursor at first/last unread art in groups. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1391
+#: src/lang.c:1411
 msgid "Goto first unread article in group :"
 msgstr ""
 
-#: src/lang.c:1392
+#: src/lang.c:1412
 msgid "# If ON put cursor at first unread art in group otherwise last art\n"
 msgstr ""
 
-#: src/lang.c:1396
+#: src/lang.c:1416
 msgid "Show all articles or only unread articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1397
+#: src/lang.c:1417
 msgid "Show only unread articles          :"
 msgstr ""
 
-#: src/lang.c:1398
+#: src/lang.c:1418
 msgid "# If ON show only new/unread articles otherwise show all.\n"
 msgstr ""
 
-#: src/lang.c:1403
+#: src/lang.c:1423
 msgid "Show only groups with unread arts  :"
 msgstr ""
 
-#: src/lang.c:1404
+#: src/lang.c:1424
 msgid "# If ON show only subscribed to groups that contain unread articles.\n"
 msgstr ""
 
-#: src/lang.c:1409
+#: src/lang.c:1429
 msgid "Filter which articles              :"
 msgstr ""
 
-#: src/lang.c:1410
+#: src/lang.c:1430
 msgid ""
 "# 0=(Only kill unread articles)\n"
 "# 1=(Kill all articles and show in threads marked with K)\n"
 "# 2=(Kill all articles and never show them).\n"
 msgstr ""
 
-#: src/lang.c:1417
+#: src/lang.c:1437
 msgid "Tab goes to next unread article    :"
 msgstr ""
 
-#: src/lang.c:1418
+#: src/lang.c:1438
 msgid ""
 "# If ON the TAB command will go to next unread article at article viewer "
 "level\n"
 msgstr ""
 
-#: src/lang.c:1422
+#: src/lang.c:1442
 msgid ""
 "Scrolling with <SPACE> past the end of an art. jumps to the next unread one."
 msgstr ""
 
-#: src/lang.c:1423
+#: src/lang.c:1443
 msgid "Space goes to next unread article  :"
 msgstr ""
 
-#: src/lang.c:1424
+#: src/lang.c:1444
 msgid ""
 "# If ON the SPACE command will go to next unread article at article viewer\n"
 "# level when the end of the article is reached (rn-style pager)\n"
 msgstr ""
 
-#: src/lang.c:1429
+#: src/lang.c:1449
 msgid ""
 "Scrolling with <PGDN>/<DOWN> past the end of an art. jumps to the unread one."
 msgstr ""
 
-#: src/lang.c:1430
+#: src/lang.c:1450
 msgid "PgDn goes to next unread article   :"
 msgstr ""
 
-#: src/lang.c:1431
+#: src/lang.c:1451
 msgid ""
 "# If ON the PGDN or DOWN command will go to next unread article when\n"
 "# pressed at end of message\n"
 msgstr ""
 
-#: src/lang.c:1437
+#: src/lang.c:1457
 msgid "List thread using right arrow key  :"
 msgstr ""
 
-#: src/lang.c:1438
+#: src/lang.c:1458
 msgid ""
 "# If ON automatically list thread when entering it using right arrow key.\n"
 msgstr ""
 
-#: src/lang.c:1442
+#: src/lang.c:1462
 msgid "Enter character to indicate deleted articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:1443
+#: src/lang.c:1463
 msgid "Character to show deleted articles :"
 msgstr ""
 
-#: src/lang.c:1444
+#: src/lang.c:1464
 msgid ""
 "# Character used to show that an art was deleted (default 'D')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:1449
+#: src/lang.c:1469
 msgid ""
 "Enter character to indicate articles in a range. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:1450
+#: src/lang.c:1470
 msgid "Character to show inrange articles :"
 msgstr ""
 
-#: src/lang.c:1451
+#: src/lang.c:1471
 msgid ""
 "# Character used to show that an art is in a range (default '#')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:1456
+#: src/lang.c:1476
 msgid ""
 "Enter character to indicate that article will return. <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 
-#: src/lang.c:1457
+#: src/lang.c:1477
 msgid "Character to show returning arts   :"
 msgstr ""
 
-#: src/lang.c:1458
+#: src/lang.c:1478
 msgid ""
 "# Character used to show that an art will return (default '-')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:1463
+#: src/lang.c:1483
 msgid ""
 "Enter character to indicate selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:1464
+#: src/lang.c:1484
 msgid "Character to show selected articles:"
 msgstr ""
 
-#: src/lang.c:1465
+#: src/lang.c:1485
 msgid ""
 "# Character used to show that an art was auto-selected (default '*')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:1470
+#: src/lang.c:1490
 msgid "Enter character to indicate recent articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:1471
+#: src/lang.c:1491
 msgid "Character to show recent articles  :"
 msgstr ""
 
-#: src/lang.c:1472
+#: src/lang.c:1492
 msgid ""
 "# Character used to show that an art is recent (default 'o')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:1477
+#: src/lang.c:1497
 msgid "Enter character to indicate unread articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:1478
+#: src/lang.c:1498
 msgid "Character to show unread articles  :"
 msgstr ""
 
-#: src/lang.c:1479
+#: src/lang.c:1499
 msgid ""
 "# Character used to show that an art is unread (default '+')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:1484
+#: src/lang.c:1504
 msgid "Enter character to indicate read articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:1485
+#: src/lang.c:1505
 msgid "Character to show read articles    :"
 msgstr ""
 
-#: src/lang.c:1486
+#: src/lang.c:1506
 msgid ""
 "# Character used to show that an art was read (default ' ')\n"
 "# _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:1491
+#: src/lang.c:1511
 msgid "Enter character to indicate killed articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:1492
+#: src/lang.c:1512
 msgid "Character to show killed articles  :"
 msgstr ""
 
-#: src/lang.c:1493
+#: src/lang.c:1513
 msgid ""
 "# Character used to show that an art was killed (default 'K')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:1498
+#: src/lang.c:1518
 msgid ""
 "Enter character to indicate read selected articles. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:1499
+#: src/lang.c:1519
 msgid "Character to show readselected arts:"
 msgstr ""
 
-#: src/lang.c:1500
+#: src/lang.c:1520
 msgid ""
 "# Character used to show that an art was selected before read (default ':')\n"
 "# kill_level must be set accordingly, _ is turned into ' '\n"
 msgstr ""
 
-#: src/lang.c:1505
+#: src/lang.c:1525
 msgid "Enter maximum length of newsgroup names displayed. <CR> sets."
 msgstr ""
 
-#: src/lang.c:1506
+#: src/lang.c:1526
 msgid "Max. length of group names shown   :"
 msgstr ""
 
-#: src/lang.c:1507
+#: src/lang.c:1527
 msgid "# Maximum length of the names of newsgroups displayed\n"
 msgstr ""
 
-#: src/lang.c:1512
+#: src/lang.c:1532
 msgid "Show lines/score in listings       :"
 msgstr ""
 
-#: src/lang.c:1513
+#: src/lang.c:1533
 msgid ""
 "# What informations should be displayed in article/thread listing\n"
 "# 0 = nothing, 1 = lines, 2 = score, 3 = lines & score\n"
 msgstr ""
 
-#: src/lang.c:1518
+#: src/lang.c:1538
 msgid ""
 "0 = full page scrolling, -1 = show previous last line as first on next page, "
 "-2 = half page"
 msgstr ""
 
-#: src/lang.c:1519
+#: src/lang.c:1539
 msgid "Number of lines to scroll in pager :"
 msgstr ""
 
-#: src/lang.c:1520
+#: src/lang.c:1540
 msgid ""
 "# Number of lines that cursor-up/down will scroll in article pager\n"
 "# eg, 1+ = line-by-line, 0 = page-by-page (traditional behavior),\n"
@@ -4485,28 +4524,28 @@ msgid ""
 "# -2 = half-page scrolling\n"
 msgstr ""
 
-#: src/lang.c:1527
+#: src/lang.c:1547
 msgid "Display signatures. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1528
+#: src/lang.c:1548
 msgid "Display signatures                 :"
 msgstr ""
 
-#: src/lang.c:1529
+#: src/lang.c:1549
 msgid "# If OFF don't show signatures when displaying articles\n"
 msgstr ""
 
-#: src/lang.c:1533
+#: src/lang.c:1553
 msgid ""
 "Display uuencoded data as tagged attachments. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1534
+#: src/lang.c:1554
 msgid "Display uue data as an attachment  :"
 msgstr ""
 
-#: src/lang.c:1535
+#: src/lang.c:1555
 msgid ""
 "# Handling of uuencoded data in the pager\n"
 "# 0 = display raw uuencoded data\n"
@@ -4516,30 +4555,30 @@ msgid ""
 "#     into a tag line.\n"
 msgstr ""
 
-#: src/lang.c:1544
+#: src/lang.c:1564
 msgid ""
 "Decode German style TeX umlaut codes to ISO. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1545
+#: src/lang.c:1565
 msgid "Display \"a as Umlaut-a             :"
 msgstr ""
 
-#: src/lang.c:1546
+#: src/lang.c:1566
 msgid ""
 "# If ON decode German style TeX umlaut codes to ISO and\n"
 "# show \"a as Umlaut-a, etc.\n"
 msgstr ""
 
-#: src/lang.c:1551 src/lang.c:1561
+#: src/lang.c:1571 src/lang.c:1581
 msgid "Space separated list of header fields"
 msgstr ""
 
-#: src/lang.c:1552
+#: src/lang.c:1572
 msgid "Display these header fields (or *) :"
 msgstr ""
 
-#: src/lang.c:1553
+#: src/lang.c:1573
 msgid ""
 "# Which news headers you wish to see. If you want to see _all_ the headers,\n"
 "# place an '*' as this value. This is the only way a wildcard can be used.\n"
@@ -4549,11 +4588,11 @@ msgid ""
 "# spaces. Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:1562
+#: src/lang.c:1582
 msgid "Do not display these header fields :"
 msgstr ""
 
-#: src/lang.c:1563
+#: src/lang.c:1583
 msgid ""
 "# Same as 'news_headers_to_display' except it denotes the opposite.\n"
 "# An example of using both options might be if you thought X- headers were\n"
@@ -4565,163 +4604,163 @@ msgid ""
 "# Not defining anything turns off this option.\n"
 msgstr ""
 
-#: src/lang.c:1573
+#: src/lang.c:1593
 msgid ""
 "Do you want to enable automatic handling of multipart/alternative articles?"
 msgstr ""
 
-#: src/lang.c:1574
+#: src/lang.c:1594
 msgid "Skip multipart/alternative parts   :"
 msgstr ""
 
-#: src/lang.c:1575
+#: src/lang.c:1595
 msgid "# If ON strip multipart/alternative messages automatically\n"
 msgstr ""
 
-#: src/lang.c:1580
+#: src/lang.c:1600
 msgid "A regex used to decide which lines to show in col_quote."
 msgstr ""
 
-#: src/lang.c:1581
+#: src/lang.c:1601
 msgid "Regex used to show quoted lines    :"
 msgstr ""
 
-#: src/lang.c:1582
+#: src/lang.c:1602
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted when viewing articles. Quoted lines are shown in col_quote.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:1588
+#: src/lang.c:1608
 msgid "A regex used to decide which lines to show in col_quote2."
 msgstr ""
 
-#: src/lang.c:1589
+#: src/lang.c:1609
 msgid "Regex used to show twice quoted l. :"
 msgstr ""
 
-#: src/lang.c:1590
+#: src/lang.c:1610
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted twice. Twice quoted lines are shown in col_quote2.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:1596
+#: src/lang.c:1616
 msgid "A regex used to decide which lines to show in col_quote3."
 msgstr ""
 
-#: src/lang.c:1597
+#: src/lang.c:1617
 msgid "Regex used to show >= 3 times q.l. :"
 msgstr ""
 
-#: src/lang.c:1598
+#: src/lang.c:1618
 msgid ""
 "# A regular expression that tin will use to decide which lines are\n"
 "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:1605
+#: src/lang.c:1625
 msgid "A regex used to decide which words to show in col_markslashes."
 msgstr ""
 
-#: src/lang.c:1606
+#: src/lang.c:1626
 msgid "Regex used to highlight /slashes/  :"
 msgstr ""
 
-#: src/lang.c:1607
+#: src/lang.c:1627
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '/' are to be shown in col_markslashes.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:1613
+#: src/lang.c:1633
 msgid "A regex used to decide which words to show in col_markstars."
 msgstr ""
 
-#: src/lang.c:1614
+#: src/lang.c:1634
 msgid "Regex used to highlight *stars*    :"
 msgstr ""
 
-#: src/lang.c:1615
+#: src/lang.c:1635
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '*' are to be shown in col_markstars.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:1621
+#: src/lang.c:1641
 msgid "A regex used to decide which words to show in col_markstroke."
 msgstr ""
 
-#: src/lang.c:1622
+#: src/lang.c:1642
 msgid "Regex used to highlight -strokes-  :"
 msgstr ""
 
-#: src/lang.c:1623
+#: src/lang.c:1643
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '-' are to be shown in col_markstroke.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:1629
+#: src/lang.c:1649
 msgid "A regex used to decide which words to show in col_markdash."
 msgstr ""
 
-#: src/lang.c:1630
+#: src/lang.c:1650
 msgid "Regex used to highlight _underline_:"
 msgstr ""
 
-#: src/lang.c:1631
+#: src/lang.c:1651
 msgid ""
 "# A regular expression that tin will use to decide which words\n"
 "# bounded by '_' are to be shown in col_markdash.\n"
 "# If you leave this blank, tin will use a built in default.\n"
 msgstr ""
 
-#: src/lang.c:1637
+#: src/lang.c:1657
 msgid "A regex used to find Subject prefixes to remove.  Use '|' as separator."
 msgstr ""
 
-#: src/lang.c:1638
+#: src/lang.c:1658
 msgid "Regex with Subject prefixes        :"
 msgstr ""
 
-#: src/lang.c:1639
+#: src/lang.c:1659
 msgid ""
 "# A regular expression that tin will use to find Subject prefixes\n"
 "# which will be removed before showing the header.\n"
 msgstr ""
 
-#: src/lang.c:1644
+#: src/lang.c:1664
 msgid "A regex used to find Subject suffixes to remove.  Use '|' as separator."
 msgstr ""
 
-#: src/lang.c:1645
+#: src/lang.c:1665
 msgid "Regex with Subject suffixes        :"
 msgstr ""
 
-#: src/lang.c:1646
+#: src/lang.c:1666
 msgid ""
 "# A regular expression that tin will use to find Subject suffixes\n"
 "# which will be removed when replying or posting followup.\n"
 msgstr ""
 
-#: src/lang.c:1651
+#: src/lang.c:1671
 msgid ""
 "Enter name and options for external MIME viewer, --internal for built-in "
 "viewer"
 msgstr ""
 
-#: src/lang.c:1652
+#: src/lang.c:1672
 msgid "MIME binary content viewer         :"
 msgstr ""
 
-#: src/lang.c:1653
+#: src/lang.c:1673
 msgid ""
 "# If --internal automatically use the built in MIME viewer for non-text\n"
 "# parts of articles.\n"
@@ -4730,365 +4769,373 @@ msgid ""
 "# for no automatic viewing\n"
 msgstr ""
 
-#: src/lang.c:1660
+#: src/lang.c:1680
 msgid "Confirm before starting non-text viewing program"
 msgstr ""
 
-#: src/lang.c:1661
+#: src/lang.c:1681
 msgid "Ask before using MIME viewer       :"
 msgstr ""
 
-#: src/lang.c:1662
+#: src/lang.c:1682
 msgid ""
 "# If ON tin will ask before using metamail to display MIME messages\n"
 "# this only happens if metamail_prog is set to something\n"
 msgstr ""
 
-#: src/lang.c:1667
+#: src/lang.c:1687
 msgid "Ask to mark groups read when quitting. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1668
+#: src/lang.c:1688
 msgid "Catchup read groups when quitting  :"
 msgstr ""
 
-#: src/lang.c:1669
+#: src/lang.c:1689
 msgid "# If ON ask user if read groups should all be marked read\n"
 msgstr ""
 
-#: src/lang.c:1674
+#: src/lang.c:1694
 msgid "Catchup group using left key       :"
 msgstr ""
 
-#: src/lang.c:1675
+#: src/lang.c:1695
 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n"
 msgstr ""
 
-#: src/lang.c:1680
+#: src/lang.c:1700
 msgid "Catchup thread by using left key   :"
 msgstr ""
 
-#: src/lang.c:1686
+#: src/lang.c:1706
 msgid "Which actions require confirmation :"
 msgstr ""
 
-#: src/lang.c:1687
+#: src/lang.c:1707
 msgid "# What should we ask confirmation for.\n"
 msgstr ""
 
-#: src/lang.c:1692
+#: src/lang.c:1712
 msgid "'Mark article read' ignores tags   :"
 msgstr ""
 
-#: src/lang.c:1693
+#: src/lang.c:1713
 msgid ""
 "# If ON the 'Mark article read' function marks only the current article.\n"
 msgstr ""
 
-#: src/lang.c:1697
+#: src/lang.c:1717
 msgid "Program to run to open URL's, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:1698
+#: src/lang.c:1718
 msgid "Program that opens URL's           :"
 msgstr ""
 
-#: src/lang.c:1699
+#: src/lang.c:1719
 msgid "# The program used to open URL's. The actual URL will be appended\n"
 msgstr ""
 
-#: src/lang.c:1704
+#: src/lang.c:1724
 msgid "Use mouse in xterm                 :"
 msgstr ""
 
-#: src/lang.c:1705
+#: src/lang.c:1725
 msgid "# If ON enable mouse key support on xterm terminals\n"
 msgstr ""
 
-#: src/lang.c:1711
+#: src/lang.c:1731
 msgid "Use scroll keys on keypad          :"
 msgstr ""
 
-#: src/lang.c:1712
+#: src/lang.c:1732
 msgid "# If ON enable scroll keys on terminals that support it\n"
 msgstr ""
 
-#: src/lang.c:1717
+#: src/lang.c:1737
 msgid "Enter maximum number of article to get. <CR> sets."
 msgstr ""
 
-#: src/lang.c:1718
+#: src/lang.c:1738
 msgid "Number of articles to get          :"
 msgstr ""
 
-#: src/lang.c:1719
+#: src/lang.c:1739
 msgid ""
 "# Number of articles to get (0=no limit), if negative sets maximum number\n"
 "# of already read articles to be read before first unread one\n"
 msgstr ""
 
-#: src/lang.c:1724
+#: src/lang.c:1744
 msgid "Enter number of days article is considered recent. <CR> sets."
 msgstr ""
 
-#: src/lang.c:1725
+#: src/lang.c:1745
 msgid "Article recentness time limit      :"
 msgstr ""
 
-#: src/lang.c:1726
+#: src/lang.c:1746
 msgid "# Number of days in which article is considered recent, (0=OFF)\n"
 msgstr ""
 
-#: src/lang.c:1730
+#: src/lang.c:1750
 msgid ""
 "WILDMAT for normal wildcards, REGEX for full regular expression matching."
 msgstr ""
 
-#: src/lang.c:1731
+#: src/lang.c:1751
 msgid "Wildcard matching                  :"
 msgstr ""
 
-#: src/lang.c:1732
+#: src/lang.c:1752
 msgid "# Wildcard matching 0=(wildmat) 1=(regex)\n"
 msgstr ""
 
-#: src/lang.c:1736
+#: src/lang.c:1756
 msgid "Enter minimal score before an article is marked killed. <CR> sets."
 msgstr ""
 
-#: src/lang.c:1737
+#: src/lang.c:1757
 msgid "Score limit (kill)                 :"
 msgstr ""
 
-#: src/lang.c:1738
+#: src/lang.c:1758
 msgid "# Score limit before an article is marked killed\n"
 msgstr ""
 
-#: src/lang.c:1742
+#: src/lang.c:1762
 msgid "Enter default score to kill articles. <CR> sets."
 msgstr ""
 
-#: src/lang.c:1743
+#: src/lang.c:1763
 msgid "Default score to kill articles     :"
 msgstr ""
 
-#: src/lang.c:1744
+#: src/lang.c:1764
 msgid "# Default score to kill articles\n"
 msgstr ""
 
-#: src/lang.c:1748
+#: src/lang.c:1768
 msgid "Enter minimal score before an article is marked hot. <CR> sets."
 msgstr ""
 
-#: src/lang.c:1749
+#: src/lang.c:1769
 msgid "Score limit (select)               :"
 msgstr ""
 
-#: src/lang.c:1750
+#: src/lang.c:1770
 msgid "# Score limit before an article is marked hot\n"
 msgstr ""
 
-#: src/lang.c:1754
+#: src/lang.c:1774
 msgid "Enter default score to select articles. <CR> sets."
 msgstr ""
 
-#: src/lang.c:1755
+#: src/lang.c:1775
 msgid "Default score to select articles   :"
 msgstr ""
 
-#: src/lang.c:1756
+#: src/lang.c:1776
 msgid "# Default score to select articles\n"
 msgstr ""
 
-#: src/lang.c:1762
+#: src/lang.c:1782
 msgid "Use slrnface to show ''X-Face:''s  :"
 msgstr ""
 
-#: src/lang.c:1763
+#: src/lang.c:1783
 msgid ""
 "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n"
 "# Only useful when running in an xterm.\n"
 msgstr ""
 
-#: src/lang.c:1771
+#: src/lang.c:1791
 msgid "Use ANSI color                     :"
 msgstr ""
 
-#: src/lang.c:1772
+#: src/lang.c:1792
 msgid "# If ON using ANSI-color\n"
 msgstr ""
 
-#: src/lang.c:1777
+#: src/lang.c:1797
 msgid "Standard foreground color          :"
 msgstr ""
 
-#: src/lang.c:1778
+#: src/lang.c:1798
 msgid "# Standard foreground color\n"
 msgstr ""
 
-#: src/lang.c:1783
+#: src/lang.c:1803
 msgid "Standard background color          :"
 msgstr ""
 
-#: src/lang.c:1784
+#: src/lang.c:1804
 msgid "# Standard-Background-Color\n"
 msgstr ""
 
-#: src/lang.c:1789
+#: src/lang.c:1809
 msgid "Color for inverse text (background):"
 msgstr ""
 
-#: src/lang.c:1790
+#: src/lang.c:1810
 msgid "# Color of background for inverse text\n"
 msgstr ""
 
-#: src/lang.c:1795
+#: src/lang.c:1815
 msgid "Color for inverse text (foreground):"
 msgstr ""
 
-#: src/lang.c:1796
+#: src/lang.c:1816
 msgid "# Color of foreground for inverse text\n"
 msgstr ""
 
-#: src/lang.c:1801
+#: src/lang.c:1821
 msgid "Color of text lines                :"
 msgstr ""
 
-#: src/lang.c:1802
+#: src/lang.c:1822
 msgid "# Color of text-lines\n"
 msgstr ""
 
-#: src/lang.c:1807
+#: src/lang.c:1827
 msgid "Color of mini help menu            :"
 msgstr ""
 
-#: src/lang.c:1808
+#: src/lang.c:1828
 msgid "# Color of mini help menu\n"
 msgstr ""
 
-#: src/lang.c:1813
+#: src/lang.c:1833
 msgid "Color of help text                 :"
 msgstr ""
 
-#: src/lang.c:1814
+#: src/lang.c:1834
 msgid "# Color of help pages\n"
 msgstr ""
 
-#: src/lang.c:1819
+#: src/lang.c:1839
 msgid "Color of status messages           :"
 msgstr ""
 
-#: src/lang.c:1820
+#: src/lang.c:1840
 msgid "# Color of messages in last line\n"
 msgstr ""
 
-#: src/lang.c:1825
+#: src/lang.c:1845
 msgid "Color of quoted lines              :"
 msgstr ""
 
-#: src/lang.c:1826
+#: src/lang.c:1846
 msgid "# Color of quote-lines\n"
 msgstr ""
 
-#: src/lang.c:1831
+#: src/lang.c:1851
 msgid "Color of twice quoted line         :"
 msgstr ""
 
-#: src/lang.c:1832
+#: src/lang.c:1852
 msgid "# Color of twice quoted lines\n"
 msgstr ""
 
-#: src/lang.c:1837
+#: src/lang.c:1857
 msgid "Color of =>3 times quoted line     :"
 msgstr ""
 
-#: src/lang.c:1838
+#: src/lang.c:1858
 msgid "# Color of >=3 times quoted lines\n"
 msgstr ""
 
-#: src/lang.c:1843
+#: src/lang.c:1863
 msgid "Color of article header lines      :"
 msgstr ""
 
-#: src/lang.c:1844
+#: src/lang.c:1864
 msgid "# Color of header-lines\n"
 msgstr ""
 
-#: src/lang.c:1849
+#: src/lang.c:1869
 msgid "Color of actual news header fields :"
 msgstr ""
 
-#: src/lang.c:1850
+#: src/lang.c:1870
 msgid "# Color of actual news header fields\n"
 msgstr ""
 
-#: src/lang.c:1855
+#: src/lang.c:1875
 msgid "Color of article subject lines     :"
 msgstr ""
 
-#: src/lang.c:1856
+#: src/lang.c:1876
 msgid "# Color of article subject\n"
 msgstr ""
 
-#: src/lang.c:1861
+#: src/lang.c:1881
 msgid "Color of response counter          :"
 msgstr ""
 
-#: src/lang.c:1862
+#: src/lang.c:1882
 msgid "# Color of response counter\n"
 msgstr ""
 
-#: src/lang.c:1867
+#: src/lang.c:1887
 msgid "Color of sender (From:)            :"
 msgstr ""
 
-#: src/lang.c:1868
+#: src/lang.c:1888
 msgid "# Color of sender (From:)\n"
 msgstr ""
 
-#: src/lang.c:1873
+#: src/lang.c:1893
 msgid "Color of help/mail sign            :"
 msgstr ""
 
-#: src/lang.c:1874
+#: src/lang.c:1894
 msgid "# Color of Help/Mail-Sign\n"
 msgstr ""
 
-#: src/lang.c:1879
+#: src/lang.c:1899
 msgid "Color of signatures                :"
 msgstr ""
 
-#: src/lang.c:1880
+#: src/lang.c:1900
 msgid "# Color of signature\n"
 msgstr ""
 
-#: src/lang.c:1885
+#: src/lang.c:1905
+msgid "Color of highlighted URLs          :"
+msgstr ""
+
+#: src/lang.c:1906
+msgid "# Color of highlighted URLs\n"
+msgstr ""
+
+#: src/lang.c:1911
 msgid "Color of highlighting with *stars* :"
 msgstr ""
 
-#: src/lang.c:1886
+#: src/lang.c:1912
 msgid ""
 "# Color of word highlighting. There are four possibilities\n"
 "# in articles: *stars*, /slashes/, _underdashes_ and -strokes-.\n"
 msgstr ""
 
-#: src/lang.c:1892
+#: src/lang.c:1918
 msgid "Color of highlighting with _dash_  :"
 msgstr ""
 
-#: src/lang.c:1898
+#: src/lang.c:1924
 msgid "Color of highlighting with /slash/ :"
 msgstr ""
 
-#: src/lang.c:1904
+#: src/lang.c:1930
 msgid "Color of highlighting with -stroke-:"
 msgstr ""
 
-#: src/lang.c:1911
+#: src/lang.c:1937
 msgid "Attr. of highlighting with *stars* :"
 msgstr ""
 
-#: src/lang.c:1912
+#: src/lang.c:1938
 msgid ""
 "# Attribute of word highlighting on mono terminals.\n"
 "# There are four possibilities in articles:\n"
@@ -5098,95 +5145,95 @@ msgid ""
 "# 3 - Reverse video, 4 - Blinking, 5 - Half bright, 6 - Bold\n"
 msgstr ""
 
-#: src/lang.c:1922
+#: src/lang.c:1948
 msgid "Attr. of highlighting with _dash_  :"
 msgstr ""
 
-#: src/lang.c:1928
+#: src/lang.c:1954
 msgid "Attr. of highlighting with /slash/ :"
 msgstr ""
 
-#: src/lang.c:1934
+#: src/lang.c:1960
 msgid "Attr. of highlighting with -stroke-:"
 msgstr ""
 
-#: src/lang.c:1940
+#: src/lang.c:1966
 msgid "URL highlighting in message body   :"
 msgstr ""
 
-#: src/lang.c:1941
+#: src/lang.c:1967
 msgid "# Enable URL highlighting?\n"
 msgstr ""
 
-#: src/lang.c:1946
+#: src/lang.c:1972
 msgid "Word highlighting in message body  :"
 msgstr ""
 
-#: src/lang.c:1947
+#: src/lang.c:1973
 msgid "# Enable word highlighting?\n"
 msgstr ""
 
-#: src/lang.c:1952
+#: src/lang.c:1978
 msgid "What to display instead of mark    :"
 msgstr ""
 
-#: src/lang.c:1953
+#: src/lang.c:1979
 msgid ""
 "# Should the leading and ending stars and dashes also be displayed,\n"
 "# even when they are highlighting marks?\n"
 "# 0 - no    1 - yes, display mark    2 - print a space instead\n"
 msgstr ""
 
-#: src/lang.c:1959
+#: src/lang.c:1985
 msgid "Enter column number to wrap article lines to in the pager. <CR> sets."
 msgstr ""
 
-#: src/lang.c:1960
+#: src/lang.c:1986
 msgid "Page line wrap column              :"
 msgstr ""
 
-#: src/lang.c:1961
+#: src/lang.c:1987
 msgid "# Wrap article lines at column\n"
 msgstr ""
 
-#: src/lang.c:1966
+#: src/lang.c:1992
 msgid "Wrap around threads on next unread :"
 msgstr ""
 
-#: src/lang.c:1967
+#: src/lang.c:1993
 msgid "# If ON wrap around threads on searching next unread article\n"
 msgstr ""
 
-#: src/lang.c:1971
+#: src/lang.c:1997
 msgid "Enter default mail address (and fullname). <CR> sets."
 msgstr ""
 
-#: src/lang.c:1972
+#: src/lang.c:1998
 msgid "Mail address (and fullname)        :"
 msgstr ""
 
-#: src/lang.c:1973
+#: src/lang.c:1999
 msgid "# User's mail address (and fullname), if not username@host (fullname)\n"
 msgstr ""
 
-#: src/lang.c:1978
+#: src/lang.c:2004
 msgid "Show empty Followup-To in editor   :"
 msgstr ""
 
-#: src/lang.c:1979
+#: src/lang.c:2005
 msgid "# If ON show empty Followup-To header when editing an article\n"
 msgstr ""
 
-#: src/lang.c:1983
+#: src/lang.c:2009
 msgid ""
 "Enter path/! command/--none to create your default signature. <CR> sets."
 msgstr ""
 
-#: src/lang.c:1984
+#: src/lang.c:2010
 msgid "Create signature from path/command :"
 msgstr ""
 
-#: src/lang.c:1985
+#: src/lang.c:2011
 msgid ""
 "# Signature path (random sigs)/file to be used when posting/replying\n"
 "# default_sigfile=file       appends file as signature\n"
@@ -5195,50 +5242,50 @@ msgid ""
 "# default_sigfile=--none     don't append a signature\n"
 msgstr ""
 
-#: src/lang.c:1992
+#: src/lang.c:2018
 msgid ""
 "Prepend signature with \"-- \" on own line. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1993
+#: src/lang.c:2019
 msgid "Prepend signature with \"-- \"       :"
 msgstr ""
 
-#: src/lang.c:1994
+#: src/lang.c:2020
 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n"
 msgstr ""
 
-#: src/lang.c:1998
+#: src/lang.c:2024
 msgid "Add signature when reposting articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:1999
+#: src/lang.c:2025
 msgid "Add signature when reposting       :"
 msgstr ""
 
-#: src/lang.c:2000
+#: src/lang.c:2026
 msgid "# If ON add signature to reposted articles\n"
 msgstr ""
 
-#: src/lang.c:2004
+#: src/lang.c:2030
 msgid "Enter quotation marks, %s or %S for author's initials."
 msgstr ""
 
-#: src/lang.c:2005
+#: src/lang.c:2031
 msgid "Characters used as quote-marks     :"
 msgstr ""
 
-#: src/lang.c:2006
+#: src/lang.c:2032
 msgid ""
 "# Characters used in quoting to followups and replies.\n"
 "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n"
 msgstr ""
 
-#: src/lang.c:2012
+#: src/lang.c:2038
 msgid "Quoting behavior                   :"
 msgstr ""
 
-#: src/lang.c:2013
+#: src/lang.c:2039
 msgid ""
 "# How quoting should be handled when following up or replying.\n"
 "# 0 = Nothing special\n"
@@ -5251,52 +5298,52 @@ msgid ""
 "# 7 = Compress quotes, quote signatures, quote empty lines\n"
 msgstr ""
 
-#: src/lang.c:2025 src/lang.c:2033 src/lang.c:2039
+#: src/lang.c:2051 src/lang.c:2059 src/lang.c:2065
 msgid ""
 "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name"
 msgstr ""
 
-#: src/lang.c:2026
+#: src/lang.c:2052
 msgid "Quote line when following up       :"
 msgstr ""
 
-#: src/lang.c:2027
+#: src/lang.c:2053
 msgid ""
 "# Format of quote line when mailing/posting/following-up an article\n"
 "# %%A Address    %%D Date   %%F Addr+Name   %%G Groupname   %%M Message-ID\n"
 "# %%N Full Name  %%C First Name   %%I Initials\n"
 msgstr ""
 
-#: src/lang.c:2034
+#: src/lang.c:2060
 msgid "Quote line when cross-posting      :"
 msgstr ""
 
-#: src/lang.c:2040
+#: src/lang.c:2066
 msgid "Quote line when mailing            :"
 msgstr ""
 
-#: src/lang.c:2045
+#: src/lang.c:2071
 msgid "If ON, include User-Agent: header. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2046
+#: src/lang.c:2072
 msgid "Insert 'User-Agent:'-header        :"
 msgstr ""
 
-#: src/lang.c:2047
+#: src/lang.c:2073
 msgid "# If ON include advertising User-Agent: header\n"
 msgstr ""
 
-#: src/lang.c:2051
+#: src/lang.c:2077
 msgid ""
 "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), <CR> to set."
 msgstr ""
 
-#: src/lang.c:2052
+#: src/lang.c:2078
 msgid "MM_CHARSET                         :"
 msgstr ""
 
-#: src/lang.c:2053
+#: src/lang.c:2079
 msgid ""
 "# Charset supported locally which is also used for MIME header and\n"
 "# Content-Type header.\n"
@@ -5306,27 +5353,27 @@ msgid ""
 "# mm_charset is considered not displayable and represented as '?'.\n"
 msgstr ""
 
-#: src/lang.c:2064
+#: src/lang.c:2090
 msgid "MM_NETWORK_CHARSET                 :"
 msgstr ""
 
-#: src/lang.c:2065
+#: src/lang.c:2091
 msgid "# Charset used for MIME (Content-Type) header in postings.\n"
 msgstr ""
 
-#: src/lang.c:2071
+#: src/lang.c:2097
 msgid "Mailbox format                     :"
 msgstr ""
 
-#: src/lang.c:2072
+#: src/lang.c:2098
 msgid "# Format of the mailbox.\n"
 msgstr ""
 
-#: src/lang.c:2077
+#: src/lang.c:2103
 msgid "MIME encoding in news messages     :"
 msgstr ""
 
-#: src/lang.c:2078
+#: src/lang.c:2104
 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"
@@ -5335,15 +5382,15 @@ msgid ""
 "# Russian charsets with a lot of 8bit characters.\n"
 msgstr ""
 
-#: src/lang.c:2086 src/lang.c:2107
+#: src/lang.c:2112 src/lang.c:2133
 msgid "Don't change unless you know what you are doing. <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2087
+#: src/lang.c:2113
 msgid "Use 8bit characters in news headers:"
 msgstr ""
 
-#: src/lang.c:2088
+#: src/lang.c:2114
 msgid ""
 "# If ON, 8bit characters in news headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -5351,28 +5398,28 @@ msgid ""
 "# parameter unless post_mime_encoding is 8bit as well.\n"
 msgstr ""
 
-#: src/lang.c:2095
+#: src/lang.c:2121
 msgid ""
 "Auto-view post-processed files <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2096
+#: src/lang.c:2122
 msgid "View post-processed files          :"
 msgstr ""
 
-#: src/lang.c:2097
+#: src/lang.c:2123
 msgid "# If set, post processed files will be opened in a viewer\n"
 msgstr ""
 
-#: src/lang.c:2102
+#: src/lang.c:2128
 msgid "MIME encoding in mail messages     :"
 msgstr ""
 
-#: src/lang.c:2108
+#: src/lang.c:2134
 msgid "Use 8bit characters in mail headers:"
 msgstr ""
 
-#: src/lang.c:2109
+#: src/lang.c:2135
 msgid ""
 "# If ON, 8bit characters in mail headers are NOT encoded.\n"
 "# default is OFF. Thus 8bit characters are encoded by default.\n"
@@ -5383,278 +5430,278 @@ msgid ""
 "# turn it ON unless you have some compelling reason.\n"
 msgstr ""
 
-#: src/lang.c:2119
+#: src/lang.c:2145
 msgid "Strip blanks from ends of lines    :"
 msgstr ""
 
-#: src/lang.c:2120
+#: src/lang.c:2146
 msgid ""
 "# If ON strip blanks from ends of lines for faster display on slow "
 "terminals.\n"
 msgstr ""
 
-#: src/lang.c:2125
+#: src/lang.c:2151
 msgid "If ON, use transliteration. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2126
+#: src/lang.c:2152
 msgid "Transliteration                    :"
 msgstr ""
 
-#: src/lang.c:2127
+#: src/lang.c:2153
 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:2134
+#: src/lang.c:2160
 msgid "Send you a carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2135
+#: src/lang.c:2161
 msgid "Send you a cc automatically        :"
 msgstr ""
 
-#: src/lang.c:2136
+#: src/lang.c:2162
 msgid ""
 "# If ON automatically put your name in the Cc: field when mailing an "
 "article\n"
 msgstr ""
 
-#: src/lang.c:2140
+#: src/lang.c:2166
 msgid ""
 "Send you a blind carbon copy automatically. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2141
+#: src/lang.c:2167
 msgid "Send you a blind cc automatically  :"
 msgstr ""
 
-#: src/lang.c:2142
+#: src/lang.c:2168
 msgid ""
 "# If ON automatically put your name in the Bcc: field when mailing an "
 "article\n"
 msgstr ""
 
-#: src/lang.c:2146
+#: src/lang.c:2172
 msgid "Enter address elements about which you want to be warned. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2147
+#: src/lang.c:2173
 msgid "Spamtrap warning address parts     :"
 msgstr ""
 
-#: src/lang.c:2148
+#: src/lang.c:2174
 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:2153
+#: src/lang.c:2179
 msgid "Enter default number of days a filter entry will be valid. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2154
+#: src/lang.c:2180
 msgid "No. of days a filter entry is valid:"
 msgstr ""
 
-#: src/lang.c:2155
+#: src/lang.c:2181
 msgid "# Number of days a short term filter will be active\n"
 msgstr ""
 
-#: src/lang.c:2159
+#: src/lang.c:2185
 msgid "Add posted articles to filter. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2160
+#: src/lang.c:2186
 msgid "Add posted articles to filter      :"
 msgstr ""
 
-#: src/lang.c:2161
+#: src/lang.c:2187
 msgid ""
 "# If ON add posted articles which start a new thread to filter for\n"
 "# highlighting follow-ups\n"
 msgstr ""
 
-#: src/lang.c:2165
+#: src/lang.c:2191
 msgid "The directory where articles/threads are to be saved in mailbox format."
 msgstr ""
 
-#: src/lang.c:2166
+#: src/lang.c:2192
 msgid "Mail directory                     :"
 msgstr ""
 
-#: src/lang.c:2167
+#: src/lang.c:2193
 msgid "# (-m) directory where articles/threads are saved in mailbox format\n"
 msgstr ""
 
-#: src/lang.c:2172
+#: src/lang.c:2198
 msgid "Save articles in batch mode (-S)   :"
 msgstr ""
 
-#: src/lang.c:2173
+#: src/lang.c:2199
 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:2178
+#: src/lang.c:2204
 msgid "The directory where you want articles/threads saved."
 msgstr ""
 
-#: src/lang.c:2179
+#: src/lang.c:2205
 msgid "Directory to save arts/threads in  :"
 msgstr ""
 
-#: src/lang.c:2180
+#: src/lang.c:2206
 msgid "# Directory where articles/threads are saved\n"
 msgstr ""
 
-#: src/lang.c:2184
+#: src/lang.c:2210
 msgid ""
 "Auto save article/thread by Archive-name: header. <SPACE> toggles & <CR> "
 "sets."
 msgstr ""
 
-#: src/lang.c:2185
+#: src/lang.c:2211
 msgid "Use Archive-name: header for save  :"
 msgstr ""
 
-#: src/lang.c:2186
+#: src/lang.c:2212
 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:2191
+#: src/lang.c:2217
 msgid ""
 "Mark saved articles/threads as read. <SPACE> toggles, <CR> sets, <ESC> "
 "cancels."
 msgstr ""
 
-#: src/lang.c:2192
+#: src/lang.c:2218
 msgid "Mark saved articles/threads as read:"
 msgstr ""
 
-#: src/lang.c:2193
+#: src/lang.c:2219
 msgid "# If ON mark articles that are saved as read\n"
 msgstr ""
 
-#: src/lang.c:2197
+#: src/lang.c:2223
 msgid "Do post processing (eg. extract attachments) for saved articles."
 msgstr ""
 
-#: src/lang.c:2198
+#: src/lang.c:2224
 msgid "Post process saved articles        :"
 msgstr ""
 
-#: src/lang.c:2199
+#: src/lang.c:2225
 msgid ""
 "# Perform post processing (saving binary attachments) from saved articles.\n"
 "# 0=(no) 1=(yes) 2=(extract shell archives (shar) only)\n"
 msgstr ""
 
-#: src/lang.c:2205
+#: src/lang.c:2231
 msgid "Process only unread articles       :"
 msgstr ""
 
-#: src/lang.c:2206
+#: src/lang.c:2232
 msgid ""
 "# If ON only save/print/pipe/mail unread articles (tagged articles "
 "excepted)\n"
 msgstr ""
 
-#: src/lang.c:2211
+#: src/lang.c:2237
 msgid "Print all or just part of header. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2212
+#: src/lang.c:2238
 msgid "Print all headers when printing    :"
 msgstr ""
 
-#: src/lang.c:2213
+#: src/lang.c:2239
 msgid ""
 "# If ON print all of article header otherwise just the important lines\n"
 msgstr ""
 
-#: src/lang.c:2217
+#: src/lang.c:2243
 msgid ""
 "The printer program with options that is to be used to print "
 "articles/threads."
 msgstr ""
 
-#: src/lang.c:2218
+#: src/lang.c:2244
 msgid "Printer program with options       :"
 msgstr ""
 
-#: src/lang.c:2219
+#: src/lang.c:2245
 msgid "# Print program with parameters used to print articles/threads\n"
 msgstr ""
 
-#: src/lang.c:2225
+#: src/lang.c:2251
 msgid "Force redraw after certain commands:"
 msgstr ""
 
-#: src/lang.c:2226
+#: src/lang.c:2252
 msgid ""
 "# If ON a screen redraw will always be done after certain external commands\n"
 msgstr ""
 
-#: src/lang.c:2230
+#: src/lang.c:2256
 msgid ""
 "Start editor with line offset. <SPACE> toggles, <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2231
+#: src/lang.c:2257
 msgid "Start editor with line offset      :"
 msgstr ""
 
-#: src/lang.c:2232
+#: src/lang.c:2258
 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:2237
+#: src/lang.c:2263
 msgid "Enter %E for editor, %F for filename, %N for line-number, <CR> to set."
 msgstr ""
 
-#: src/lang.c:2238
+#: src/lang.c:2264
 msgid "Invocation of your editor          :"
 msgstr ""
 
-#: src/lang.c:2239
+#: src/lang.c:2265
 msgid ""
 "# Format of editor line including parameters\n"
 "# %%E Editor  %%F Filename  %%N Linenumber\n"
 msgstr ""
 
-#: src/lang.c:2244
+#: src/lang.c:2270
 msgid ""
 "Enter name and options for external-inews, --internal for internal inews"
 msgstr ""
 
-#: src/lang.c:2245
+#: src/lang.c:2271
 msgid "External inews                     :"
 msgstr ""
 
-#: src/lang.c:2246
+#: src/lang.c:2272
 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:2250
+#: src/lang.c:2276
 msgid ""
 "Enter %M for mailer, %S for subject, %T for to, %F for filename, <CR> to set."
 msgstr ""
 
-#: src/lang.c:2251
+#: src/lang.c:2277
 msgid "Invocation of your mail command    :"
 msgstr ""
 
-#: src/lang.c:2252
+#: src/lang.c:2278
 msgid ""
 "# Format of mailer line including parameters\n"
 "# %%M Mailer  %%S Subject  %%T To  %%F Filename\n"
@@ -5662,11 +5709,11 @@ msgid ""
 "# ie. elm interactive          :    elm -i %%F -s \"%%S\" \"%%T\"\n"
 msgstr ""
 
-#: src/lang.c:2260
+#: src/lang.c:2286
 msgid "Use interactive mail reader        :"
 msgstr ""
 
-#: src/lang.c:2261
+#: src/lang.c:2287
 msgid ""
 "# Interactive mailreader:\n"
 "# 0 = no interactive mailreader\n"
@@ -5674,121 +5721,131 @@ msgid ""
 "# 2 = use interactive mailreader without headers in file\n"
 msgstr ""
 
-#: src/lang.c:2269
+#: src/lang.c:2295
 msgid "Remove ~/.article after posting    :"
 msgstr ""
 
-#: src/lang.c:2270
+#: src/lang.c:2296
 msgid "# If ON remove ~/.article after posting.\n"
 msgstr ""
 
-#: src/lang.c:2274
+#: src/lang.c:2300
 msgid "Filename for all posted articles, <CR> sets, no filename=do not save."
 msgstr ""
 
-#: src/lang.c:2275
+#: src/lang.c:2301
 msgid "Filename for posted articles       :"
 msgstr ""
 
-#: src/lang.c:2276
+#: src/lang.c:2302
 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:2281
+#: src/lang.c:2307
 msgid ""
 "Keep all failed articles in ~/dead.articles. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2282
+#: src/lang.c:2308
 msgid "Keep failed arts in ~/dead.articles:"
 msgstr ""
 
-#: src/lang.c:2283
+#: src/lang.c:2309
 msgid "# If ON keep all failed postings in ~/dead.articles\n"
 msgstr ""
 
-#: src/lang.c:2287
+#: src/lang.c:2313
 msgid "Do you want to strip unsubscribed groups from .newsrc"
 msgstr ""
 
-#: src/lang.c:2288
+#: src/lang.c:2314
 msgid "No unsubscribed groups in newsrc   :"
 msgstr ""
 
-#: src/lang.c:2289
+#: src/lang.c:2315
 msgid "# If ON strip unsubscribed groups from newsrc\n"
 msgstr ""
 
-#: src/lang.c:2294
+#: src/lang.c:2320
 msgid "Remove bogus groups from newsrc    :"
 msgstr ""
 
-#: src/lang.c:2295
+#: src/lang.c:2321
 msgid ""
 "# What to do with bogus groups in newsrc file\n"
 "# 0=(Keep) 1=(Remove) 2=(Highlight with D on selection screen).\n"
 msgstr ""
 
-#: src/lang.c:2299
+#: src/lang.c:2325
 msgid "Enter number of seconds until active file will be reread. <CR> sets."
 msgstr ""
 
-#: src/lang.c:2300
+#: src/lang.c:2326
 msgid "Interval in secs to reread active  :"
 msgstr ""
 
-#: src/lang.c:2301
+#: src/lang.c:2327
 msgid ""
 "# Time interval in seconds between rereading the active file (0=never)\n"
 msgstr ""
 
-#: src/lang.c:2306
+#: src/lang.c:2332
 msgid "Reconnect to server automatically  :"
 msgstr ""
 
-#: src/lang.c:2307
+#: src/lang.c:2333
 msgid ""
 "# If ON automatically reconnect to NNTP server if the connection is broken\n"
 msgstr ""
 
-#: src/lang.c:2311
+#: src/lang.c:2337
 msgid ""
 "Create local copies of NNTP overview files. <SPACE> toggles & <CR> sets."
 msgstr ""
 
-#: src/lang.c:2312
+#: src/lang.c:2338
 msgid "Cache NNTP overview files locally  :"
 msgstr ""
 
-#: src/lang.c:2313
+#: src/lang.c:2339
 msgid "# If ON, create local copies of NNTP overview files.\n"
 msgstr ""
 
-#: src/lang.c:2317
+#: src/lang.c:2343
 msgid "Enter format string. <CR> sets, <ESC> cancels."
 msgstr ""
 
-#: src/lang.c:2318
+#: src/lang.c:2344
 msgid "Format string for display of dates :"
 msgstr ""
 
-#: src/lang.c:2319
+#: src/lang.c:2345
 msgid "# Format string for date representation\n"
 msgstr ""
 
-#: src/main.c:590
+#: src/lang.c:2351
+msgid "Unicode normalization form         :"
+msgstr ""
+
+#: src/lang.c:2352
+msgid ""
+"# Unicode normalization form\n"
+"# 0 = None, 1 = NFKC, 2 = NFKD, 3 = NFC, 4 = NFD\n"
+msgstr ""
+
+#: src/main.c:586
 #, c-format
 msgid "Version: %s release %s (\"%s\") %s %s"
 msgstr ""
 
-#: src/main.c:593
+#: src/main.c:589
 #, c-format
 msgid "Version: %s release %s (\"%s\")"
 msgstr ""
 
-#: src/newsrc.c:432
+#: src/newsrc.c:433
 msgid "Unreachable?\n"
 msgstr ""
 
@@ -5818,20 +5875,9 @@ msgstr ""
 msgid "couldn't expand %s\n"
 msgstr ""
 
-#: src/post.c:1747
-#, c-format
-msgid "%s is bogus"
-msgstr ""
-
-#: src/post.c:1934
+#: src/post.c:1939
 #, c-format
 msgid "Posting: %.*s ..."
-msgstr ""
-
-#. TODO: -> lang.c
-#: src/post.c:4037
-#, c-format
-msgid "Rereading %s..."
 msgstr ""
 
 #. fp
diff -Nurp tin-1.7.2/src/Makefile.in tin-1.7.3/src/Makefile.in
--- tin-1.7.2/src/Makefile.in	Thu Sep 25 19:57:42 2003
+++ tin-1.7.3/src/Makefile.in	Sat Nov 29 22:30:24 2003
@@ -1,7 +1,7 @@
 # Source Makefile for tin
 # - for configuration options read the ../doc/INSTALL file.
 #
-# Updated: 2003-09-24
+# Updated: 2003-11-18
 #
 # Copyright (c) 1995-2003 Thomas E. Dickey <dickey@invisible-island.net>
 # All rights reserved.
@@ -112,6 +112,7 @@ HFILES	= \
 	$(INCDIR)/extern.h \
 	$(INCDIR)/keymap.h \
 	$(INCDIR)/menukeys.h \
+	$(INCDIR)/newsrc.h \
 	$(INCDIR)/nntplib.h \
 	$(INCDIR)/plp_snprintf.h \
 	$(INCDIR)/policy.h \
@@ -480,7 +481,8 @@ $(OBJDIR)/curses.o:		$(SRCDIR)/curses.c 
 				$(INCDIR)/tnntp.h
 $(OBJDIR)/cook.o:		$(SRCDIR)/cook.c $(TIN_DEP) \
 				$(INCDIR)/rfc2046.h
-$(OBJDIR)/debug.o:		$(SRCDIR)/debug.c $(TIN_DEP)
+$(OBJDIR)/debug.o:		$(SRCDIR)/debug.c $(TIN_DEP) \
+				$(INCDIR)/newsrc.h
 $(OBJDIR)/envarg.o:		$(SRCDIR)/envarg.c $(TIN_DEP)
 $(OBJDIR)/feed.o:		$(SRCDIR)/feed.c $(TIN_DEP) \
 				$(INCDIR)/menukeys.h \
@@ -525,6 +527,7 @@ $(OBJDIR)/misc.o:		$(SRCDIR)/misc.c $(TI
 				$(INCDIR)/rfc2046.h
 $(OBJDIR)/my_tmpfile.o:		$(SRCDIR)/my_tmpfile.c $(TIN_DEP)
 $(OBJDIR)/newsrc.o:		$(SRCDIR)/newsrc.c $(TIN_DEP) \
+				$(INCDIR)/newsrc.h \
 				$(INCDIR)/tnntp.h
 $(OBJDIR)/nntplib.o:		$(SRCDIR)/nntplib.c $(TIN_DEP) \
 				$(INCDIR)/tnntp.h
@@ -580,4 +583,5 @@ $(OBJDIR)/version.o:		$(SRCDIR)/version.
 				$(INCDIR)/version.h
 $(OBJDIR)/wildmat.o:		$(SRCDIR)/wildmat.c $(TIN_DEP)
 $(OBJDIR)/xface.o:		$(SRCDIR)/xface.c $(TIN_DEP)
-$(OBJDIR)/xref.o:		$(SRCDIR)/xref.c $(TIN_DEP)
+$(OBJDIR)/xref.o:		$(SRCDIR)/xref.c $(TIN_DEP) \
+				$(INCDIR)/newsrc.h
diff -Nurp tin-1.7.2/src/active.c tin-1.7.3/src/active.c
--- tin-1.7.2/src/active.c	Thu Sep 25 19:58:24 2003
+++ tin-1.7.3/src/active.c	Sat Nov 29 22:30:23 2003
@@ -786,9 +786,8 @@ match_group_list(
 	char *separator;
 	char pattern[HEADER_LEN];
 	size_t group_len, list_len;
-	t_bool accept, negate;
+	t_bool negate, accept = FALSE;
 
-	accept = FALSE;
 	list_len = strlen(group_list);
 	/*
 	 * walk through comma-separated entries in list
diff -Nurp tin-1.7.2/src/art.c tin-1.7.3/src/art.c
--- tin-1.7.2/src/art.c	Thu Oct 16 23:24:44 2003
+++ tin-1.7.3/src/art.c	Sat Nov 29 22:30:23 2003
@@ -3,7 +3,7 @@
  *  Module    : art.c
  *  Author    : I.Lea & R.Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2003-10-03
+ *  Updated   : 2003-11-18
  *  Notes     :
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
@@ -52,15 +52,12 @@
 #define SortBy(func)	qsort(arts, (size_t) top_art, sizeof(struct t_article), func);
 
 int top_art = 0;				/* # of articles in arts[] */
-#ifdef NNTP_ABLE
-	long head_next;
-#endif /* NNTP_ABLE */
 
 
 /*
  * Local prototypes
  */
-static FILE *open_art_header(long art);
+static FILE *open_art_header(long art, long *next);
 static FILE *open_xover_fp(struct t_group *group, const char *mode, long min, long max, t_bool local);
 static char *find_nov_file(struct t_group *group, int mode);
 static char *print_date(time_t secs);
@@ -72,7 +69,8 @@ static int from_comp(t_comptype p1, t_co
 static int global_get_multiparts(int aindex, MultiPartInfo **malloc_and_setme_info);
 static int global_look_for_multipart_info(int aindex, MultiPartInfo *setme, char start, char stop, int *offset);
 static int lines_comp(t_comptype p1, t_comptype p2);
-static int read_art_headers(struct t_group *group, long *top);
+static int read_art_headers(struct t_group *group, int total, long top);
+static int read_overview(struct t_group *group, long min, long max, long *top, t_bool local);
 static int score_comp(t_comptype p1, t_comptype p2);
 static int score_comp_base(t_comptype p1, t_comptype p2);
 static int subj_comp(t_comptype p1, t_comptype p2);
@@ -80,7 +78,6 @@ static int valid_artnum(long art);
 static long find_first_unread(struct t_group *group);
 static long setup_hard_base(struct t_group *group);
 static t_bool parse_headers(FILE *fp, struct t_article *h);
-static t_bool read_overview(struct t_group *group, long min, long max, long *top, int *expired, t_bool local);
 static t_compfunc eval_sort_arts_func(unsigned int sort_art_type);
 static void sort_base(unsigned int sort_threads_type);
 static void thread_by_subject(void);
@@ -322,8 +319,9 @@ index_group(
 	struct t_group *group)
 {
 	int i;
-	int expired;
-	int modified;
+	int changed = 0;				/* Count of articles whose overview has changed */
+	int respnum;
+	int total;
 	long last_read_article;
 	long min, max;
 	t_bool caching_xover;
@@ -388,8 +386,7 @@ index_group(
 	 * cache (if found) otherwise the private overview cache will be read
 	 */
 	caching_xover = (tinrc.cache_overview_files && xover_cmd && group->type == GROUP_TYPE_NEWS);
-
-	if (!read_overview(group, min, max, &last_read_article, &expired, caching_xover))
+	if ((changed = read_overview(group, min, max, &last_read_article, caching_xover)) == -1)
 		return FALSE;	/* user aborted indexing */
 
 	/*
@@ -397,16 +394,34 @@ index_group(
 	 * Only do this if the previous read_overview() was against private cache
 	 */
 	if ((last_read_article < max) && caching_xover) {
-		if (!read_overview(group, (last_read_article >= min) ? last_read_article + 1 : min, max, &last_read_article, &expired, FALSE))
+		min = (last_read_article >= min) ? last_read_article + 1 : min;
+
+		if ((changed += read_overview(group, min, max, &last_read_article, FALSE)) == -1)
 			return FALSE;	/* user aborted indexing */
 	} else
 		caching_xover = FALSE;
 
 	/*
+	 * Mark as UNTHREADED all articles that have been verified as valid
+	 * Get num of new arts to index so the user will have an idea of index time
+	 */
+	for (i = 0, total = 0; i < grpmenu.max; i++) {
+		if ((respnum = valid_artnum(base[i])) >= 0) {
+			arts[respnum].thread = ART_UNTHREADED;
+			continue;
+		}
+		if (base[i] <= last_read_article)		/* It is vital this test be done last */
+			continue;
+		total++;
+	}
+
+	/*
 	 * Add any articles to arts[] that are new or were killed
 	 */
-	if ((modified = read_art_headers(group, &last_read_article)) == -1)
-		return FALSE;		/* user aborted indexing */
+	if (total > 0) {
+		if ((changed += read_art_headers(group, total, last_read_article)) == -1)
+			return FALSE;		/* user aborted indexing */
+	}
 
 #ifdef DEBUG_NEWSRC
 	debug_print_comment("Before parse_unread_arts()");
@@ -427,7 +442,7 @@ index_group(
 	 */
 	for_each_art(i) {
 		if (arts[i].thread == ART_EXPIRED) {
-			expired = 1;
+			changed++;
 #ifdef DEBUG_NEWSRC
 			debug_print_comment("art.c: index_group() purging...");
 #endif /* DEBUG_NEWSRC */
@@ -437,8 +452,9 @@ index_group(
 
 	/*
 	 * Only rewrite the index if it has changed
+	 * TODO review the exact logic behind "|| caching_xover"
 	 */
-	if (expired || modified || caching_xover)
+	if (changed || caching_xover)
 		write_overview(group);
 
 	/*
@@ -462,7 +478,7 @@ index_group(
 	EndStopWatch();
 	PrintStopWatch();
 
-	if ((modified || filtered) && !batch_mode)
+	if ((changed > 0 || filtered) && !batch_mode)
 		clear_message();
 
 	return TRUE;
@@ -491,10 +507,14 @@ find_first_unread(
 
 /*
  * Open an article for reading just the header
+ * 'next' is used/updated with the next article number
+ * to optimise the number of 'HEAD' commands issued on
+ * groups with holes.
  */
 static FILE *
 open_art_header(
-	long art)
+	long art,
+	long *next)
 {
 	char buf[NNTP_STRLEN];
 #ifdef NNTP_ABLE
@@ -506,8 +526,8 @@ open_art_header(
 		 * This is a big win if the group has got holes in it (ie. if 000's
 		 * of articles have expired between active files min & max values).
 		 */
-		if (art < head_next)
-			return (FILE *) 0;
+		if (art < *next)
+			return NULL;
 
 		snprintf(buf, sizeof(buf), "HEAD %ld", art);
 		if ((fp = nntp_command(buf, OK_HEAD, NULL, 0)) != NULL)
@@ -515,12 +535,12 @@ open_art_header(
 
 		/*
 		 * HEAD failed, try to find NEXT
-		 *	Should return "223 artno message-id more text...."
+		 * Should return "223 artno message-id more text...."
 		 */
 		if (nntp_command("NEXT", OK_NOTEXT, buf, sizeof(buf)))
-			head_next = atoi(buf);		/* Set next art number */
+			*next = atoi(buf);		/* Set next art number */
 
-		return (FILE *) 0;
+		return NULL;
 	} else
 #endif /* NNTP_ABLE */
 	{
@@ -534,10 +554,8 @@ open_art_header(
  * Called after XOVER/local/private overview databases have been loaded
  * Read and parse in headers for any arts not already found (usually
  * new articles that have not been indexed yet)
- * Already present articles that pass valid_artnum() have their
- * ->thread set to ART_UNTHREADED, as do any new articles that are added.
- * 'top' is the current highest artnum read and is updated by this
- * function.
+ * Any new articles that are added have ->thread set to ART_UNTHREADED
+ * 'top' is the current highest artnum read
  *
  * Return values are:
  *   >0   Number of additional articles read in
@@ -547,62 +565,45 @@ open_art_header(
 static int
 read_art_headers(
 	struct t_group *group,
-	long *top)
+	int total,
+	long top)
 {
 	FILE *fp;
-	char buf[PATH_LEN];
+	char dir[PATH_LEN];
 	int i;
-	int respnum, total = 0;
 	int modified = 0;
 	long art;
+	long head_next = -1; /* Reset the next article number index (for when HEAD fails) */
 	t_bool res;
-	static char dir[PATH_LEN] = "";
 
 	/*
 	 * Change to groups spooldir to optimize fopen()'s on local articles
+	 * NB open_art_header() requires this
 	 */
 	if (!read_news_via_nntp || group->type != GROUP_TYPE_NEWS) {
+		char buf[PATH_LEN];
+
 		get_cwd(dir);
 		make_base_group_path(group->spooldir, group->name, buf);
 		my_chdir(buf);
 	}
 
-	/*
-	 * Count num of arts to index so the user has an idea of index time
-	 */
-	for (i = 0; i < grpmenu.max; i++) {
-		if (base[i] <= *top || valid_artnum(base[i]) >= 0)
-			continue;
-
-		total++;
-	}
-
-#ifdef NNTP_ABLE
-	/*
-	 * Reset the next article number index (for when HEAD fails)
-	 */
-	head_next = -1;
-#endif /* NNTP_ABLE */
-
-	for (i = 0; i < grpmenu.max; i++) {	/* for each article # */
+	for (i = 0; i < grpmenu.max; i++) {	/* for each article number */
 		art = base[i];
 
 		/*
-		 * Do we already have this article in our index? Change
-		 * arts[].thread from ART_EXPIRED to ART_UNTHREADED and skip
-		 * reading the header.
+		 * Skip articles that are below the low water mark or are
+		 * already present
 		 */
-		if ((respnum = valid_artnum(art)) >= 0) {
-			arts[respnum].thread = ART_UNTHREADED;
+		if (valid_artnum(art) >= 0)
 			continue;
-		}
-		if (art <= *top)
+		if (art <= top)
 			continue;
 
 		/*
 		 * Try and open the article
 		 */
-		if ((fp = open_art_header(art)) == NULL)
+		if ((fp = open_art_header(art, &head_next)) == NULL)
 			continue;
 
 		/*
@@ -624,14 +625,16 @@ read_art_headers(
 		}
 
 		if (!res) {
-			snprintf(buf, sizeof(buf), "FAILED parse_headers(%ld)", art);
 #ifdef DEBUG
+			char buf[PATH_LEN];
+
+			snprintf(buf, sizeof(buf), "FAILED parse_headers(%ld)", art);
 			debug_nntp("read_art_headers", buf);
 #endif /* DEBUG */
 			continue;
 		}
 
-		*top = arts[top_art].artnum;	/* used if arts are killed */
+		top = arts[top_art].artnum;	/* used if arts are killed */
 		top_art++;
 
 		if (++modified % MODULO_COUNT_NUM == 0)
@@ -639,7 +642,7 @@ read_art_headers(
 	}
 
 	/*
-	 * if !nntp change to previous dir before indexing started
+	 * Change back to previous dir before indexing started
 	 */
 	if (!read_news_via_nntp || group->type != GROUP_TYPE_NEWS)
 		my_chdir(dir);
@@ -1016,6 +1019,7 @@ make_threads(
 	find_base(group);
 }
 
+
 static t_compfunc
 eval_sort_arts_func(
 	unsigned int sort_art_type)
@@ -1256,11 +1260,11 @@ parse_headers(
 #endif /* DEBUG */
 /*
  * Read in an overview index file. Fields are separated by TAB.
- * return FALSE if the user aborted the read
+ * return the number of expired articles encountered or -1 if the user aborted
+ * the read
  * 'top' is set to the highest artnum read
- * 'expired' is set to the # of expired arts
- * If 'local' is set then always open local overview cache in
- * preference to using NNTP XOVER
+ * If 'local' is set then always open local overview cache in preference to
+ * using NNTP XOVER
  *
  * Format (mandatory as far as line count [RFC2980]):
  *	1. article number (ie. 183)                [mandatory]
@@ -1273,13 +1277,12 @@ parse_headers(
  *	8. Lines: line    (ie. 23)                 [mandatory]
  *	9. Xref: line     (ie. alt.test:389)       [optional]
  */
-static t_bool
+static int
 read_overview(
 	struct t_group *group,
 	long min,
 	long max,
 	long *top,
-	int *expired,
 	t_bool local)
 {
 	FILE *fp;
@@ -1288,19 +1291,18 @@ read_overview(
 	char art_full_name[HEADER_LEN];
 	char art_from_addr[HEADER_LEN];
 	unsigned int count;
+	int expired = 0;
 	long artnum;
 	struct t_article *art;
 #ifdef DEBUG
 	unsigned int oerror = 0;
 #endif /* DEBUG */
 
-	*expired = 0;
-
 	/*
 	 * open the overview file (whether it be local or via nntp)
 	 */
 	if ((fp = open_xover_fp(group, "r", min, max, local)) == NULL)
-		return TRUE;
+		return expired;
 
 	if (group->xmax > max)
 		group->xmax = max;
@@ -1333,7 +1335,7 @@ read_overview(
 		 * Check to make sure article in nov file has not expired in group
 		 */
 		if (artnum < group->xmin) {
-			(*expired)++;
+			expired++;
 			continue;
 		}
 
@@ -1440,15 +1442,15 @@ read_overview(
 		if (artnum % MODULO_COUNT_NUM == 0)
 			show_progress(mesg, artnum - min, max - min);
 
-		top_art++;
+		top_art++;				/* Basically this statement commits the article */
 	}
 
 	TIN_FCLOSE(fp);
 
 	if (tin_errno)
-		return FALSE;
+		return -1;
 
-	return TRUE;
+	return expired;
 }
 
 
diff -Nurp tin-1.7.2/src/attrib.c tin-1.7.3/src/attrib.c
--- tin-1.7.2/src/attrib.c	Sun Oct 12 17:44:45 2003
+++ tin-1.7.3/src/attrib.c	Fri Dec 19 15:35:57 2003
@@ -3,7 +3,7 @@
  *  Module    : attrib.c
  *  Author    : I. Lea
  *  Created   : 1993-12-01
- *  Updated   : 2003-10-12
+ *  Updated   : 2003-12-19
  *  Notes     : Group attribute routines
  *
  * Copyright (c) 1993-2003 Iain Lea <iain@bricbrac.de>
@@ -66,6 +66,7 @@ enum {
 	ATTRIB_SHOW_ONLY_UNREAD,
 	ATTRIB_THREAD_ARTS,
 	ATTRIB_SHOW_AUTHOR,
+	ATTRIB_SHOW_INFO,
 	ATTRIB_SORT_ART_TYPE,
 	ATTRIB_POST_PROC_TYPE,
 	ATTRIB_QUICK_KILL_HEADER,
@@ -152,6 +153,7 @@ set_default_attributes(
 	attributes->thread_arts = tinrc.thread_articles;
 	attributes->sort_art_type = tinrc.sort_article_type;
 	attributes->sort_threads_type = tinrc.sort_threads_type;
+	attributes->show_info = tinrc.show_info;
 	attributes->show_author = tinrc.show_author;
 	attributes->auto_save = tinrc.auto_save;
 	attributes->auto_select = FALSE;
@@ -332,6 +334,7 @@ read_attributes_file(
 						break;
 					}
 					MATCH_INTEGER("show_author=", ATTRIB_SHOW_AUTHOR, SHOW_FROM_BOTH);
+					MATCH_INTEGER("show_info=", ATTRIB_SHOW_INFO, SHOW_INFO_BOTH);
 					MATCH_BOOLEAN("show_only_unread=", ATTRIB_SHOW_ONLY_UNREAD);
 					MATCH_STRING("sigfile=", ATTRIB_SIGFILE);
 					MATCH_INTEGER("sort_art_type=", ATTRIB_SORT_ART_TYPE, SORT_ARTICLES_BY_LINES_ASCEND);
@@ -478,6 +481,8 @@ do_set_attrib(
 			SET_INTEGER(thread_arts);
 		case ATTRIB_SHOW_AUTHOR:
 			SET_INTEGER(show_author);
+		case ATTRIB_SHOW_INFO:
+			SET_INTEGER(show_info);
 		case ATTRIB_SORT_ART_TYPE:
 			SET_INTEGER(sort_art_type);
 		case ATTRIB_SORT_THREADS_TYPE:
@@ -613,6 +618,12 @@ write_attributes_file(
 		SHOW_FROM_ADDR, _(txt_show_from[SHOW_FROM_ADDR]),
 		SHOW_FROM_NAME, _(txt_show_from[SHOW_FROM_NAME]),
 		SHOW_FROM_BOTH, _(txt_show_from[SHOW_FROM_BOTH]));
+	fprintf(fp, _("#  show_info=NUM\n"));
+	fprintf(fp, "#    %d=%s, %d=%s, %d=%s, %d=%s\n",
+		SHOW_INFO_NOTHING, _(txt_show_info_type[SHOW_INFO_NOTHING]),
+		SHOW_INFO_LINES, _(txt_show_info_type[SHOW_INFO_LINES]),
+		SHOW_INFO_SCORE, _(txt_show_info_type[SHOW_INFO_SCORE]),
+		SHOW_INFO_BOTH, _(txt_show_info_type[SHOW_INFO_BOTH]));
 	fprintf(fp, _("#  sort_art_type=NUM\n"));
 	fprintf(fp, "#    %d=%s,\n",
 		SORT_ARTICLES_BY_NOTHING, _(txt_sort_a_type[SORT_ARTICLES_BY_NOTHING]));
@@ -753,6 +764,7 @@ write_attributes_file(
 		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));
@@ -843,6 +855,7 @@ dump_attributes(
 		fprintf(stderr, "\tsort_art_type=%d\n", group->attribute->sort_art_type);
 		fprintf(stderr, "\tsort_threads_type=%d\n", group->attribute->sort_threads_type);
 		fprintf(stderr, "\tshow_author=%d\n", group->attribute->show_author);
+		fprintf(stderr, "\tshow_info=%d\n", group->attribute->show_info);
 		fprintf(stderr, "\tpost_proc_type=%d\n", group->attribute->post_proc_type);
 		fprintf(stderr, "\tquick_kill_scope=%s\n", group->attribute->quick_kill_scope);
 		fprintf(stderr, "\tquick_kill_case=%s\n", print_boolean(group->attribute->quick_kill_case));
diff -Nurp tin-1.7.2/src/config.c tin-1.7.3/src/config.c
--- tin-1.7.2/src/config.c	Wed Oct  8 01:09:20 2003
+++ tin-1.7.3/src/config.c	Wed Dec 17 19:12:50 2003
@@ -3,7 +3,7 @@
  *  Module    : config.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2003-10-08
+ *  Updated   : 2003-12-17
  *  Notes     : Configuration file routines
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>
@@ -263,6 +263,9 @@ read_config_file(
 			if (match_color(buf, "col_signature=", &tinrc.col_signature, MAX_COLOR))
 				break;
 
+			if (match_color(buf, "col_urls=", &tinrc.col_urls, MAX_COLOR))
+				break;
+
 			if (match_color(buf, "col_markstar=", &tinrc.col_markstar, MAX_COLOR))
 				break;
 
@@ -537,6 +540,18 @@ read_config_file(
 			if (match_string(buf, "news_quote_format=", tinrc.news_quote_format, sizeof(tinrc.news_quote_format)))
 				break;
 
+#ifdef HAVE_UNICODE_NORMALIZATION
+#	ifdef HAVE_LIBICUUC
+			if (match_integer(buf, "normalization_form=", &tinrc.normalization_form, NORMALIZE_NFD))
+				break;
+#	else
+#		ifdef HAVE_LIBIDN
+			if (match_integer(buf, "normalization_form=", &tinrc.normalization_form, NORMALIZE_NFKC))
+				break;
+#		endif /* HAVE_LIBIDN */
+#	endif /* HAVE_LIBICUUC */
+#endif /* HAVE_UNICODE_NORMALIZATION */
+
 			break;
 
 		case 'p':
@@ -756,10 +771,8 @@ read_config_file(
 			break;
 
 		case 'w':
-			if (match_integer(buf, "wildcard=", &tinrc.wildcard, 2)) {
-				wildcard_func = (tinrc.wildcard) ? match_regex : wildmat;
+			if (match_integer(buf, "wildcard=", &tinrc.wildcard, 2))
 				break;
-			}
 
 			if (match_boolean(buf, "word_highlight=", &tinrc.word_highlight)) {
 				word_highlight = tinrc.word_highlight;
@@ -1202,6 +1215,9 @@ write_config_file(
 
 	fprintf(fp, _(txt_col_signature.tinrc));
 	fprintf(fp, "col_signature=%d\n\n", tinrc.col_signature);
+
+	fprintf(fp, _(txt_col_urls.tinrc));
+	fprintf(fp, "col_urls=%d\n\n", tinrc.col_urls);
 #endif /* HAVE_COLOR */
 
 #ifdef XFACE_ABLE
@@ -1287,6 +1303,11 @@ write_config_file(
 	fprintf(fp, _(txt_wildcard.tinrc));
 	fprintf(fp, "wildcard=%d\n\n", tinrc.wildcard);
 
+#ifdef HAVE_UNICODE_NORMALIZATION
+	fprintf(fp, _(txt_normalization_form.tinrc));
+	fprintf(fp, "normalization_form=%d\n\n", tinrc.normalization_form);
+#endif /* HAVE_UNICODE_NORMALIZATION */
+
 	fprintf(fp, _(txt_tinrc_filter));
 	fprintf(fp, "default_filter_kill_header=%d\n", tinrc.default_filter_kill_header);
 	fprintf(fp, "default_filter_kill_global=%s\n", print_boolean(tinrc.default_filter_kill_global));
@@ -1416,18 +1437,80 @@ fmt_option_prompt(
 	t_bool editing,
 	int option)
 {
+	char *buf;
 	int num = get_option_num(option);
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+	size_t size, wsize;
+	wchar_t *wbuf, *wbuf2;
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 
 	/*
 	 * TODO: make the open length (OPTION_WIDTH) cCOLS dependent
 	 *       requries changes in various prompt_*() functions (and lang.c)
 	 */
-	if (num) {
-		snprintf(dst, len, "%s %3d. %.*s: ", editing ? "->" : "  ", num,
-			OPTION_WIDTH, _(option_table[option].txt->opt));
+
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+	/* convert the option text to wchar_t */
+	wsize = mbstowcs(NULL, _(option_table[option].txt->opt), 0);
+	if (wsize != (size_t) (-1)) {
+		wbuf = my_malloc(sizeof(wchar_t) * (wsize + 1));
+		mbstowcs(wbuf, _(option_table[option].txt->opt), wsize + 1);
 	} else
-		snprintf(dst, len, "  %.*s", cCOLS - 3, _(option_table[option].txt->opt));
+		wbuf = NULL;
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+
+	if (num) {
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+		if (wsize != (size_t) (-1)) {
+			wbuf2 = my_malloc(sizeof(wchar_t) * (wsize + 1));
+			wcspart(wbuf2, wbuf, OPTION_WIDTH, wsize + 1, TRUE);
+			size = wcstombs(NULL, wbuf2, 0);
+			if (size != (size_t) (-1)) {
+				buf = my_malloc(size + 1);
+				wcstombs(buf, wbuf2, size + 1);
+			} else {
+				/* conversion failed, truncate original string */
+				buf = my_malloc(OPTION_WIDTH + 1);
+				snprintf(buf, OPTION_WIDTH + 1, "%.*s", OPTION_WIDTH, _(option_table[option].txt->opt));
+			}
+			free(wbuf2);
+		} else
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+		{
+			/* truncate original string */
+			buf = my_malloc(OPTION_WIDTH + 1);
+			snprintf(buf, OPTION_WIDTH + 1, "%.*s", OPTION_WIDTH, _(option_table[option].txt->opt));
+		}
+		snprintf(dst, len, "%s %3d. %s: ", editing ? "->" : "  ", num, buf);
+	} else {
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+		if (wsize != (size_t) (-1)) {
+			wbuf2 = my_malloc(sizeof(wchar_t) * (wsize + 1));
+			wcspart(wbuf2, wbuf, cCOLS - 3, wsize + 1, FALSE);
+			size = wcstombs(NULL, wbuf2, 0);
+			if (size != (size_t) (-1)) {
+				buf = my_malloc(size + 1);
+				wcstombs(buf, wbuf2, size + 1);
+			} else {
+				/* conversion failed, truncate original string */
+				buf = my_malloc(cCOLS - 3 + 1);
+				snprintf(buf, cCOLS - 3 + 1, "%.*s", cCOLS - 3, _(option_table[option].txt->opt));
+			}
+			free(wbuf2);
+		} else
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+		{
+			/* truncate original string */
+			buf = my_malloc(cCOLS - 3 + 1);
+			snprintf(buf, cCOLS - 3 + 1, "%.*s", cCOLS - 3, _(option_table[option].txt->opt));
+		}
+		snprintf(dst, len, "  %s", buf);
+	}
 
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+	FreeIfNeeded(wbuf);
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+	free(buf);
 	return dst;
 }
 
@@ -2012,10 +2095,6 @@ change_config_file(
 								group->attribute->show_author = tinrc.show_author;
 							break;
 
-						case OPT_WILDCARD:
-							wildcard_func = (tinrc.wildcard) ? match_regex : wildmat;
-							break;
-
 						case OPT_MAIL_MIME_ENCODING:
 						case OPT_POST_MIME_ENCODING:
 							mime_encoding = *(option_table[option].variable);
@@ -2141,6 +2220,8 @@ change_config_file(
 						 * case OPT_DEFAULT_SORT_ART_TYPE:
 						 * case OPT_MAILBOX_FORMAT:
 						 * case OPT_SHOW_INFO:
+						 * case OPT_NORMALIZATION_FORM:
+						 * case OPT_WILDCARD:
 						 *	break;
 						 */
 
@@ -2276,8 +2357,22 @@ change_config_file(
 							prompt_option_string(option);
 							FreeIfNeeded(strip_was_regex.re);
 							FreeIfNeeded(strip_was_regex.extra);
-							if (!strlen(tinrc.strip_was_regex))
-								STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX);
+							if (!strlen(tinrc.strip_was_regex)) {
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+								if (IS_LOCAL_CHARSET("UTF-8")) {
+#	if (defined(PCRE_MAJOR) && PCRE_MAJOR >= 4)
+									int i;
+
+									pcre_config(PCRE_CONFIG_UTF8, &i);
+									if (i)
+										STRCPY(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX);
+									else
+#	endif /* PCRE_MAJOR && PCRE_MAJOR >=4 */
+										STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX);
+								} else
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+									STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX);
+							}
 							compile_regex(tinrc.strip_was_regex, &strip_was_regex, 0);
 							break;
 
@@ -2886,7 +2981,7 @@ read_server_config(
 	else
 #endif /* NNTP_ABLE */
 	{
-		STRCPY(file, nntp_server);
+		STRCPY(file, quote_space_to_dash(nntp_server));
 	}
 	JOINPATH(serverdir, rcdir, file);
 	joinpath(file, serverdir, SERVERCONFIG_FILE);
diff -Nurp tin-1.7.2/src/debug.c tin-1.7.3/src/debug.c
--- tin-1.7.2/src/debug.c	Sun Oct  5 02:39:20 2003
+++ tin-1.7.3/src/debug.c	Thu Dec 11 13:43:36 2003
@@ -3,7 +3,7 @@
  *  Module    : debug.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2003-10-03
+ *  Updated   : 2003-12-11
  *  Notes     : debug routines
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>
@@ -40,6 +40,9 @@
 #endif /* !TIN_H */
 
 #if defined(DEBUG) || defined(DEBUG_NEWSRC)
+#	ifndef NEWSRC_H
+#		include "newsrc.h"
+#	endif /* !NEWSRC_H */
 #	ifndef TCURSES_H
 #		include "tcurses.h"
 #	endif /* !TCURSES_H */
@@ -379,22 +382,22 @@ debug_print_bitmap(
 
 void
 debug_print_newsrc(
-	struct t_newsrc *NewSrc,
+	struct t_newsrc *lnewsrc,
 	FILE *fp)
 {
 	int i, j;
 
 	fprintf(fp, "Newsrc: min=[%ld] max=[%ld] bitlen=[%ld] num_unread=[%ld] present=[%d]\n",
-		NewSrc->xmin, NewSrc->xmax, NewSrc->xbitlen,
-		NewSrc->num_unread, NewSrc->present);
+		lnewsrc->xmin, lnewsrc->xmax, lnewsrc->xbitlen,
+		lnewsrc->num_unread, lnewsrc->present);
 
 	fprintf(fp, "bitmap=[");
-	if (NewSrc->xbitlen && NewSrc->xbitmap) {
-		for (j = 0, i = NewSrc->xmin; i <= NewSrc->xmax; i++) {
+	if (lnewsrc->xbitlen && lnewsrc->xbitmap) {
+		for (j = 0, i = lnewsrc->xmin; i <= lnewsrc->xmax; i++) {
 			fprintf(fp, "%d",
-				(NTEST(NewSrc->xbitmap, i - NewSrc->xmin) == ART_READ ?
+				(NTEST(lnewsrc->xbitmap, i - lnewsrc->xmin) == ART_READ ?
 				ART_READ : ART_UNREAD));
-			if ((j++ % 8) == 7 && i < NewSrc->xmax)
+			if ((j++ % 8) == 7 && i < lnewsrc->xmax)
 				fprintf(fp, " ");
 		}
 	}
diff -Nurp tin-1.7.2/src/feed.c tin-1.7.3/src/feed.c
--- tin-1.7.2/src/feed.c	Mon Oct  6 02:27:40 2003
+++ tin-1.7.3/src/feed.c	Wed Dec 17 19:13:00 2003
@@ -3,7 +3,7 @@
  *  Module    : feed.c
  *  Author    : I. Lea
  *  Created   : 1991-08-31
- *  Updated   : 2003-08-12
+ *  Updated   : 2003-12-17
  *  Notes     : provides same interface to mail,pipe,print,save & repost commands
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>
@@ -708,18 +708,30 @@ feed_articles(
 
 		case iKeyFeedHot:		/* hot (auto-selected) articles */
 		case iKeyFeedPat:		/* pattern matched articles */
-			for_each_art(art) {
-				if (feed_type == iKeyFeedPat) {
-					if (!REGEX_MATCH(arts[art].subject, tinrc.default_pattern, TRUE))
+			{
+				struct regex_cache cache = { NULL, NULL };
+
+				if ((feed_type == iKeyFeedPat) && tinrc.wildcard && !(compile_regex(tinrc.default_pattern, &cache, PCRE_CASELESS)))
+					break;
+
+				for_each_art(art) {
+					if (feed_type == iKeyFeedPat) {
+						if (!match_regex(arts[art].subject, tinrc.default_pattern, &cache, TRUE))
+							continue;
+					} else if (!arts[art].selected)
 						continue;
-				} else if (!arts[art].selected)
-					continue;
 
-				if (tinrc.process_only_unread && arts[art].status == ART_READ)
-					continue;
+					if (tinrc.process_only_unread && arts[art].status == ART_READ)
+						continue;
 
-				arts[art].matched = TRUE;
-				counter.max++;
+					arts[art].matched = TRUE;
+					counter.max++;
+				}
+
+				if (tinrc.wildcard) {
+					FreeIfNeeded(cache.re);
+					FreeIfNeeded(cache.extra);
+				}
 			}
 
 			/* I think we nest like this to preserve any 'ordering' of the arts */
diff -Nurp tin-1.7.2/src/filter.c tin-1.7.3/src/filter.c
--- tin-1.7.2/src/filter.c	Fri Oct 17 18:41:29 2003
+++ tin-1.7.3/src/filter.c	Thu Dec  4 12:29:38 2003
@@ -3,7 +3,7 @@
  *  Module    : filter.c
  *  Author    : I. Lea
  *  Created   : 1992-12-28
- *  Updated   : 2003-10-17
+ *  Updated   : 2003-12-04
  *  Notes     : Filter articles. Kill & auto selection are supported.
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>
@@ -97,6 +97,7 @@ static struct t_filter_comment *copy_fil
 static t_bool add_filter_rule(struct t_group *group, struct t_article *art, struct t_filter_rule *rule, t_bool quick_filter_rule);
 static t_bool test_regex(const char *string, char *regex, t_bool nocase, struct regex_cache *cache);
 static void expand_filter_array(struct t_filters *ptr);
+static void fmt_filter_menu_prompt(char *dest, size_t dest_len, const char *fmt_str, int len, const char *text);
 static void free_filter_item(struct t_filter *ptr);
 static void print_filter_menu(void);
 static void set_filter(struct t_filter *ptr);
@@ -845,7 +846,26 @@ get_choice(
 		show_menu_help(help);
 
 	do {
-		MoveCursor(x, (int) strlen(prompt));
+		int y;
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+		size_t wsize;
+		wchar_t *wbuf;
+
+		wsize = mbstowcs(NULL, prompt, 0);
+		if (wsize != (size_t) (-1)) {
+			wbuf = my_malloc(sizeof(wchar_t) * (wsize + 1));
+			mbstowcs(wbuf, prompt, wsize + 1);
+			wconvert_to_printable(wbuf);
+			y = wcswidth(wbuf, wsize + 1);
+			if (y == -1) /* something went wrong, use wcslen() as fallback */
+				y = wcslen(wbuf);
+
+			free(wbuf);
+		} else
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+			y = (int) strlen(prompt);
+
+		MoveCursor(x, y);
 		my_fputs(argv[i], stdout);
 		my_flush();
 		CleartoEOLN();
@@ -918,6 +938,57 @@ refresh_filter_menu(
 
 
 /*
+ * a help function for filter_menu
+ * formats a menu option in a multibyte-safe way
+ *
+ * this function in closely tight to the way how the filter menu is build
+ */
+static void
+fmt_filter_menu_prompt(
+	char *dest,		/* where to store the resulting string */
+	size_t dest_len,	/* size of dest */
+	const char *fmt_str,	/* format string */
+	int len,		/* maximal len of the include string */
+	const char *text)	/* the include string */
+{
+	char *buf;
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+	size_t size, wsize;
+	wchar_t *wbuf, *wbuf2;
+
+	wsize = mbstowcs(NULL, text, 0);
+	if (wsize != (size_t) (-1)) {
+		wbuf = my_malloc(sizeof(wchar_t) * (wsize + 1));
+		/* make sure there is enough space for padding with ' ' */
+		wbuf2 = my_malloc(sizeof(wchar_t) * (wsize + len + 1));
+		mbstowcs(wbuf, text, wsize + 1);
+		wcspart(wbuf2, wbuf, len, wsize + len + 1, TRUE);
+		size = wcstombs(NULL, wbuf2, 0);
+		if (size != (size_t) (-1)) {
+			buf = my_malloc(size + 1);
+			wcstombs(buf, wbuf2, size + 1);
+		} else {
+			/* conversion failed, truncate original string */
+			buf = my_malloc(len + 1);
+			snprintf(buf, len + 1, "%-*.*s", len, len, text);
+		}
+
+		free(wbuf);
+		free(wbuf2);
+	} else
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+	{
+		buf = my_malloc(len + 1);
+		snprintf(buf, len + 1, "%-*.*s", len, len, text);
+	}
+	snprintf(dest, dest_len, fmt_str, buf);
+	free(buf);
+
+	return;
+}
+
+
+/*
  * Interactive filter menu so that the user can dynamically enter parameters.
  * Can be configured for kill or auto-selection screens.
  */
@@ -1003,11 +1074,10 @@ filter_menu(
 	len = cCOLS - 30;
 
 	snprintf(text_time, sizeof(text_time), _(txt_time_default_days), tinrc.filter_days);
-	snprintf(text_subj, sizeof(text_subj), ptr_filter_subj, len, len, art->subject);
+	fmt_filter_menu_prompt(text_subj, sizeof(text_subj), ptr_filter_subj, len, art->subject);
 	snprintf(text_score, sizeof(text_score), _(txt_filter_score), (type == FILTER_KILL ? -tinrc.score_kill : tinrc.score_select));
-	STRCPY(buf, art->from);
-	snprintf(text_from, sizeof(text_from), ptr_filter_from, len, len, buf);
-	snprintf(text_msgid, sizeof(text_msgid), ptr_filter_msgid, len - 4, len - 4, MSGID(art));
+	fmt_filter_menu_prompt(text_from, sizeof(text_from), ptr_filter_from, len, art->from);
+	fmt_filter_menu_prompt(text_msgid, sizeof(text_msgid), ptr_filter_msgid, len - 4, MSGID(art));
 
 	print_filter_menu();
 
diff -Nurp tin-1.7.2/src/group.c tin-1.7.3/src/group.c
--- tin-1.7.2/src/group.c	Thu Oct  9 17:07:02 2003
+++ tin-1.7.3/src/group.c	Fri Dec 19 15:37:34 2003
@@ -3,7 +3,7 @@
  *  Module    : group.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2003-10-09
+ *  Updated   : 2003-12-19
  *  Notes     :
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
@@ -806,19 +806,26 @@ group_page(
 			case iKeyGroupSelPattern:	/* select matching patterns */
 				{
 					char pat[128];
+					struct regex_cache cache = { NULL, NULL };
 
 					snprintf(mesg, sizeof(mesg), _(txt_select_pattern), tinrc.default_select_pattern);
 					if (!(prompt_string_default(mesg, tinrc.default_select_pattern, _(txt_info_no_previous_expression), HIST_SELECT_PATTERN)))
 						break;
 
-					if (STRCMPEQ(tinrc.default_select_pattern, "*"))	/* all */
-						strncpy(pat, tinrc.default_select_pattern, sizeof(pat));
-					else
+					if (STRCMPEQ(tinrc.default_select_pattern, "*")) {	/* all */
+						if (tinrc.wildcard)
+							STRCPY(pat, ".*");
+						else
+							strncpy(pat, tinrc.default_select_pattern, sizeof(pat));
+					} else
 						snprintf(pat, sizeof(pat), REGEX_FMT, tinrc.default_select_pattern);
 
+					if (tinrc.wildcard && !(compile_regex(pat, &cache, PCRE_CASELESS)))
+						break;
+
 					flag = FALSE;
 					for (n = 0; n < grpmenu.max; n++) {
-						if (!REGEX_MATCH(arts[base[n]].subject, pat, TRUE))
+						if (!match_regex(arts[base[n]].subject, pat, &cache, TRUE))
 							continue;
 
 						for_each_art_in_thread(i, n)
@@ -831,6 +838,10 @@ group_page(
 						show_group_title(TRUE);
 						update_group_page();
 					}
+					if (tinrc.wildcard) {
+						FreeIfNeeded(cache.re);
+						FreeIfNeeded(cache.extra);
+					}
 					break;
 				}
 
@@ -1123,11 +1134,11 @@ set_subj_from_size(
 	}
 
 	/* which information should be displayed? */
-	if (tinrc.show_info == SHOW_INFO_NOTHING)
+	if (CURR_GROUP.attribute && CURR_GROUP.attribute->show_info == SHOW_INFO_NOTHING)
 		len_subj += 11;
-	else if (tinrc.show_info == SHOW_INFO_LINES)
+	else if (CURR_GROUP.attribute && CURR_GROUP.attribute->show_info == SHOW_INFO_LINES)
 		len_subj += 6;
-	else if (tinrc.show_info == SHOW_INFO_SCORE)
+	else if (CURR_GROUP.attribute && CURR_GROUP.attribute->show_info == SHOW_INFO_SCORE)
 		len_subj += 5;
 }
 
@@ -1237,7 +1248,7 @@ build_sline(
 	 */
 	j = (sbuf.unread) ? next_unread(respnum) : respnum;
 
-	if (tinrc.show_info == SHOW_INFO_LINES || tinrc.show_info == SHOW_INFO_BOTH) {
+	if (curr_group->attribute->show_info == SHOW_INFO_LINES || curr_group->attribute->show_info == SHOW_INFO_BOTH) {
 		if (n > 1) { /* change this to (n > 0) if you do a n-- above */
 			if (arts[j].line_count != -1) {
 				char tmp_buffer[4];
@@ -1286,7 +1297,7 @@ build_sline(
 	wcspart(tmp_subj, tmp_subj2, len_subj - 12, ARRAY_SIZE(tmp_subj), TRUE);
 	wcspart(tmp_from, tmp_from2, len_from, ARRAY_SIZE(tmp_from), TRUE);
 
-	if (tinrc.show_info == SHOW_INFO_SCORE || tinrc.show_info == SHOW_INFO_BOTH) {
+	if (curr_group->attribute->show_info == SHOW_INFO_SCORE || curr_group->attribute->show_info == SHOW_INFO_BOTH) {
 		mbstowcs(format, "  %s %s %s%6d %-ls%s%-ls", ARRAY_SIZE(format) - 1);
 		swprintf(wbuffer, ARRAY_SIZE(wbuffer) - 1, format,
 			 tin_ltoa(i + 1, 4), new_resps, art_cnt, sbuf.score, tmp_subj,
@@ -1304,7 +1315,7 @@ build_sline(
 #else
 	arts_sub[len_subj - 12 + 1] = '\0';
 
-	if (tinrc.show_info == SHOW_INFO_SCORE || tinrc.show_info == SHOW_INFO_BOTH)
+	if (curr_group->attribute->show_info == SHOW_INFO_SCORE || curr_group->attribute->show_info == SHOW_INFO_BOTH)
 		snprintf(buffer, cCOLS + 1, "  %s %s %s%6d %-*.*s%s%-*.*s",
 			 tin_ltoa(i + 1, 4), new_resps, art_cnt, sbuf.score,
 			 len_subj - 12, len_subj - 12, arts_sub,
diff -Nurp tin-1.7.2/src/init.c tin-1.7.3/src/init.c
--- tin-1.7.2/src/init.c	Fri Oct  3 02:19:53 2003
+++ tin-1.7.3/src/init.c	Wed Dec 17 19:13:18 2003
@@ -3,7 +3,7 @@
  *  Module    : init.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2003-09-29
+ *  Updated   : 2003-12-17
  *  Notes     :
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>
@@ -58,6 +58,9 @@
  * local prototypes
  */
 static int read_site_config(void);
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+	static t_bool utf8_pcre(void);
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
 #ifdef HAVE_COLOR
 	static void preinit_colors(void);
 #endif /* HAVE_COLOR */
@@ -135,7 +138,6 @@ int xmouse, xrow, xcol;			/* xterm butto
 mode_t real_umask;
 pid_t process_id;			/* Useful to have around for .suffixes */
 
-t_bool (*wildcard_func) (const char *str, char *patt, t_bool icase);		/* Wildcard matching function */
 t_bool batch_mode;			/* update index files only mode */
 t_bool check_for_new_newsgroups;	/* don't check for new newsgroups */
 t_bool cmd_line;			/* batch / interactive mode */
@@ -318,6 +320,7 @@ struct t_config tinrc = {
 	0,		/* col_quote3 (initialised later) */
 	0,		/* col_response (initialised later) */
 	0,		/* col_signature (initialised later) */
+	0,		/* col_urls (initialised later) */
 	0,		/* col_subject (initialised later) */
 	0,		/* col_text (initialised later) */
 	0,		/* col_title (initialised later) */
@@ -410,7 +413,10 @@ struct t_config tinrc = {
 	FALSE,		/* use_slrnface */
 #endif /* XFACE_ABLE */
 	TRUE,		/* default_filter_select_global */
-	DEFAULT_DATE_FORMAT	/* date_format */
+	DEFAULT_DATE_FORMAT,	/* date_format */
+#ifdef HAVE_UNICODE_NORMALIZATION
+	NORMALIZE_NFKC		/* normalization form */
+#endif /* HAVE_UNICODE_NORMALIZATION */
 };
 
 #ifdef HAVE_COLOR
@@ -442,6 +448,7 @@ static const struct {
 	{ &tinrc.col_quote3,      4 },
 	{ &tinrc.col_response,    2 },
 	{ &tinrc.col_signature,   4 },
+	{ &tinrc.col_urls,       -1 },
 	{ &tinrc.col_subject,     6 },
 	{ &tinrc.col_text,       DFT_FORE },
 	{ &tinrc.col_title,       4 },
@@ -589,7 +596,6 @@ init_selfinfo(
 	reread_active_for_posted_arts = TRUE;
 	batch_mode = FALSE;
 	check_for_new_newsgroups = TRUE;
-	wildcard_func = wildmat;
 
 #ifdef HAVE_COLOR
 	preinit_colors();
@@ -908,8 +914,34 @@ postinit_regexp(
 	if (!strlen(tinrc.strip_re_regex))
 		STRCPY(tinrc.strip_re_regex, DEFAULT_STRIP_RE_REGEX);
 	compile_regex(tinrc.strip_re_regex, &strip_re_regex, PCRE_ANCHORED);
-	if (!strlen(tinrc.strip_was_regex))
-		STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX);
+
+	if (strlen(tinrc.strip_was_regex)) {
+		/*
+		 * try to be clever, if we still use the initial default value
+		 * convert it to our needs
+		 *
+		 * TODO: a global soultion
+		 */
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+			if (IS_LOCAL_CHARSET("UTF-8") && utf8_pcre()) {
+				if (!strcmp(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX))
+					STRCPY(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX);
+			} else {
+				if (!strcmp(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX))
+					STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX);
+			}
+#else
+			if (!strcmp(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX))
+				STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX);
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+	} else {
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+		if (IS_LOCAL_CHARSET("UTF-8") && utf8_pcre())
+			STRCPY(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX);
+		else
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+			STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX);
+	}
 	compile_regex(tinrc.strip_was_regex, &strip_was_regex, 0);
 
 #ifdef HAVE_COLOR
@@ -946,3 +978,19 @@ postinit_regexp(
 
 	compile_regex(SHAR_REGEX, &shar_regex, PCRE_ANCHORED);
 }
+
+
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+static t_bool
+utf8_pcre(
+	void)
+{
+	int i = 0;
+
+#	if (defined(PCRE_MAJOR) && PCRE_MAJOR >= 4)
+	(void) pcre_config(PCRE_CONFIG_UTF8, &i);
+#	endif /* PCRE_MAJOR && PCRE_MAJOR >= $*/
+
+	return (i ? TRUE: FALSE);
+}
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
diff -Nurp tin-1.7.2/src/lang.c tin-1.7.3/src/lang.c
--- tin-1.7.2/src/lang.c	Mon Sep 29 03:52:02 2003
+++ tin-1.7.3/src/lang.c	Tue Dec  9 09:46:19 2003
@@ -3,7 +3,7 @@
  *  Module    : lang.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2003-09-29
+ *  Updated   : 2003-12-09
  *  Notes     :
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>
@@ -224,6 +224,8 @@ constext txt_filter_rule_created[] = N_(
 constext txt_feed_pattern[] = N_("Enter pattern [%s]> ");
 constext txt_followup_newsgroups[] = N_("\nYou requested followups to your article to go to the following %s:\n");
 constext txt_followup_poster[] = N_("  %s\t Answers will be directed to you by mail.\n");
+constext txt_forwarded[] = N_("-- forwarded message --\n");
+constext txt_forwarded_end[] = N_("-- end of forwarded message --\n");
 constext txt_filter_file[] = N_("# Format:\n\
 #   comment=STRING    Optional. Multiple lines allowed. Comments must be placed\n\
 #                     at the beginning of a rule, or they will be moved to the\n\
@@ -256,8 +258,10 @@ constext txt_from_line_only_case[] = N_(
 constext txt_gethostbyname[] = N_("%s%s: Unknown host.\n");
 constext txt_global[] = N_("global ");
 constext txt_group_aliased[] = N_("Please use %.100s instead");
+constext txt_group_bogus[] = N_("%s is bogus");
 constext txt_group_is_moderated[] = N_("Group %s is moderated. Continue?");
 constext txt_group_plural[] = N_("groups");
+constext txt_group_rereading[] = N_("Rereading %s...");
 constext txt_group_select_com[] = N_("Top Level Commands");
 constext txt_group_selection[] = N_("Group Selection");
 constext txt_group_singular[] = N_("group");
@@ -458,12 +462,12 @@ constext txt_keymap_missing_key[] = N_("
 constext txt_keymap_invalid_key[] = N_("Invalid key definition '%s'\n");
 constext txt_keymap_invalid_name[] = N_("Invalid keyname '%s'\n");
 constext txt_keymap_conflict[] = N_("Key '%s' is defined for both %s%s and %s%s\n");
-constext txt_kill_from[] = N_("Kill From:     [%-*.*s] (y/n): ");
+constext txt_kill_from[] = N_("Kill From:     [%s] (y/n): ");
 constext txt_kill_lines[] = N_("Kill Lines: (</>num): ");
 constext txt_kill_menu[] = N_("Kill Article Menu");
-constext txt_kill_msgid[] = N_("Kill Msg-Id:   [%-*.*s] (f/l/o/n): ");
+constext txt_kill_msgid[] = N_("Kill Msg-Id:   [%s] (f/l/o/n): ");
 constext txt_kill_scope[] = N_("Kill pattern scope  : ");
-constext txt_kill_subj[] = N_("Kill Subject:  [%-*.*s] (y/n): ");
+constext txt_kill_subj[] = N_("Kill Subject:  [%s] (y/n): ");
 constext txt_kill_text[] = N_("Kill text pattern   : ");
 constext txt_kill_time[] = N_("Kill time in days   : ");
 
@@ -622,12 +626,12 @@ constext txt_resp_to_poster[] = N_("Resp
 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): ");
+constext txt_select_from[] = N_("Select From    [%s] (y/n): ");
 constext txt_select_lines[] = N_("Select Lines: (</>num): ");
 constext txt_select_menu[] = N_("Auto-select Article Menu");
-constext txt_select_msgid[] = N_("Select Msg-Id  [%-*.*s] (f/l/o/n): ");
+constext txt_select_msgid[] = N_("Select Msg-Id  [%s] (f/l/o/n): ");
 constext txt_select_scope[] = N_("Select pattern scope: ");
-constext txt_select_subj[] = N_("Select Subject [%-*.*s] (y/n): ");
+constext txt_select_subj[] = N_("Select Subject [%s] (y/n): ");
 constext txt_select_text[] = N_("Select text pattern : ");
 constext txt_select_time[] = N_("Select time in days   : ");
 constext txt_serverconfig_header[] = N_("# %s server configuration file\n\
@@ -1285,6 +1289,22 @@ constext *txt_interactive_mailers[] = {
 	N_("without headers")
 };
 
+#ifdef HAVE_UNICODE_NORMALIZATION
+constext *txt_normalization_forms[] = {
+	N_("None"),
+#	ifdef HAVE_LIBICUUC
+	N_("NFKC"),
+	N_("NFKD"),
+	N_("NFC"),
+	N_("NFD")
+#	else
+#		ifdef HAVE_LIBIDN
+	N_("NFKC")
+#		endif /* HAVE_LIBIDN */
+#	endif /* HAVE_LIBICUUC */
+};
+#endif /* HAVE_UNICODE_NORMALIZATION */
+
 struct opttxt txt_display_options = {
 	NULL,
 	N_("Display Options"),
@@ -1880,6 +1900,12 @@ struct opttxt txt_col_signature = {
 	N_("# Color of signature\n")
 };
 
+struct opttxt txt_col_urls = {
+	N_("<SPACE> toggles, <CR> sets, <ESC> cancels."),
+	N_("Color of highlighted URLs          :"),
+	N_("# Color of highlighted URLs\n")
+};
+
 struct opttxt txt_col_markstar = {
 	N_("<SPACE> toggles, <CR> sets, <ESC> cancels."),
 	N_("Color of highlighting with *stars* :"),
@@ -2318,3 +2344,12 @@ struct opttxt txt_date_format = {
 	N_("Format string for display of dates :"),
 	N_("# Format string for date representation\n")
 };
+
+#ifdef HAVE_UNICODE_NORMALIZATION
+struct opttxt txt_normalization_form = {
+	N_("<SPACE> toggles, <CR> sets, <ESC> cancels."),
+	N_("Unicode normalization form         :"),
+	N_("# Unicode normalization form\n\
+# 0 = None, 1 = NFKC, 2 = NFKD, 3 = NFC, 4 = NFD\n")
+};
+#endif /* HAVE_UNICODE_NORMALIZATION */
diff -Nurp tin-1.7.2/src/langinfo.c tin-1.7.3/src/langinfo.c
--- tin-1.7.2/src/langinfo.c	Sat Aug 23 01:58:41 2003
+++ tin-1.7.3/src/langinfo.c	Sun Dec  7 16:19:31 2003
@@ -41,12 +41,13 @@
 #	endif /* !TIN_H */
 #endif /* 0 */
 
-#ifndef HAVE_LANGINFO_CODESET
-#	define C_CODESET "US-ASCII"     /* Return this as the encoding of the
+#ifndef NO_LOCALE
+#	ifndef HAVE_LANGINFO_CODESET
+#		define C_CODESET "US-ASCII"     /* Return this as the encoding of the
 				  * C/POSIX locale. Could as well one day
 				  * become "UTF-8". */
 
-#	define digit(x) ((x) >= '0' && (x) <= '9')
+#		define digit(x) ((x) >= '0' && (x) <= '9')
 
 static char buf[16];
 
@@ -115,11 +116,19 @@ tin_nl_langinfo(
   }
   return C_CODESET;
 }
-#else
+#	else
 char *
 tin_nl_langinfo(
 	nl_item item)
 {
 	return nl_langinfo(item);
 }
-#endif /* !HAVE_LANGINFO_CODESET */
+#	endif /* !HAVE_LANGINFO_CODESET */
+#else
+static void no_langinfo(void);
+static void
+no_langinfo(	/* ANSI C requires non-empty source file */
+	void)
+{
+}
+#endif /* !NO_LOCALE */
diff -Nurp tin-1.7.2/src/mail.c tin-1.7.3/src/mail.c
--- tin-1.7.2/src/mail.c	Thu Oct 16 23:24:44 2003
+++ tin-1.7.3/src/mail.c	Sat Nov 29 22:30:23 2003
@@ -3,7 +3,7 @@
  *  Module    : mail.c
  *  Author    : I. Lea
  *  Created   : 1992-10-02
- *  Updated   : 2003-09-24
+ *  Updated   : 2003-11-18
  *  Notes     : Mail handling routines for creating pseudo newsgroups
  *
  * Copyright (c) 1992-2003 Iain Lea <iain@bricbrac.de>
@@ -467,13 +467,12 @@ grp_del_mail_art(
 	struct t_article *article)
 {
 
-	if (article->delete_it) {
-		art_mark_undeleted(article);
+	if (article->delete_it)
 		info_message(_(txt_art_undeleted));
-	} else {
-		art_mark_deleted(article);
+	else
 		info_message(_(txt_art_deleted));
-	}
+
+	article->delete_it = bool_not(article->delete_it);
 }
 
 
diff -Nurp tin-1.7.2/src/main.c tin-1.7.3/src/main.c
--- tin-1.7.2/src/main.c	Thu Oct  2 12:55:30 2003
+++ tin-1.7.3/src/main.c	Sat Nov 29 22:30:23 2003
@@ -3,7 +3,7 @@
  *  Module    : main.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2003-09-19
+ *  Updated   : 2003-11-18
  *  Notes     :
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
@@ -44,10 +44,6 @@
 #ifndef VERSION_H
 #	include "version.h"
 #endif /* !VERSION_H */
-
-#ifdef VMS
-	int debug;
-#endif /* VMS */
 
 signed long int read_newsrc_lines = -1;
 
diff -Nurp tin-1.7.2/src/misc.c tin-1.7.3/src/misc.c
--- tin-1.7.2/src/misc.c	Tue Oct  7 07:04:28 2003
+++ tin-1.7.3/src/misc.c	Tue Dec  9 09:46:30 2003
@@ -3,7 +3,7 @@
  *  Module    : misc.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2003-10-05
+ *  Updated   : 2003-12-09
  *  Notes     :
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
@@ -51,6 +51,14 @@
 #	include "rfc2046.h"
 #endif /* !RFC2046_H */
 
+#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 */
+
+
 /*
  * defines to control GNKSA-checks behavior:
  * - ENFORCE_RFC1034
@@ -72,7 +80,6 @@ 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 char *utf8_valid(char *line);
 	static t_bool buffer_to_local(char **line, int *max_line_len, const char *network_charset, const char *local_charset);
 #endif /* CHARSET_CONVERSION */
 #if (defined(MIME_STRICT_CHARSET) && !defined(NO_LOCALE)) || defined(CHARSET_CONVERSION)
@@ -990,24 +997,25 @@ get_author(
 	char *str,
 	size_t len)
 {
+	char *p = idna_decode(art->from);
 	int author;
 
 	author = ((thread && !show_subject) ? SHOW_FROM_BOTH : CURR_GROUP.attribute->show_author);
 
 	switch (author) {
 		case SHOW_FROM_ADDR:
-			strncpy(str, art->from, len);
+			strncpy(str, p, len);
 			break;
 
 		case SHOW_FROM_NAME:
-			strncpy(str, (art->name ? art->name : art->from), len);
+			strncpy(str, (art->name ? art->name : p), len);
 			break;
 
 		case SHOW_FROM_BOTH:
 			if (art->name)
-				snprintf(str, len, "%s <%s>", art->name, art->from);
+				snprintf(str, len, "%s <%s>", art->name, p);
 			else
-				strncpy(str, art->from, len);
+				strncpy(str, p, len);
 			break;
 
 		case SHOW_FROM_NONE:
@@ -1016,6 +1024,7 @@ get_author(
 			break;
 	}
 
+	free(p);
 	*(str + len) = '\0';				/* NULL terminate */
 }
 
@@ -3513,7 +3522,7 @@ strip_line(
 }
 
 
-#ifdef CHARSET_CONVERSION
+#if defined(CHARSET_CONVERSION) || defined(HAVE_UNICODE_NORMALIZATION)
 /*
  * 'check' a given UTF-8 strig and '?'-out illegal sequences
  * TODO: is this check complete?
@@ -3528,7 +3537,7 @@ strip_line(
  * UTF8-4          = %xF0 %x90-BF 2*UTF8-1 / %xF1-F3 3*UTF8-1 /
  *                   %xF4 %x80-8F 2*UTF8-1
  */
-static char *
+char *
 utf8_valid(
 	char *line)
 {
@@ -3649,7 +3658,34 @@ utf8_valid(
 	}
 	return line;
 }
-#endif /* CHARSET_CONVERSION */
+#endif /* CHARSET_CONVERSION || HAVE_UNICODE_NORMALIZATION */
+
+
+char *idna_decode(
+	char *in)
+{
+	char *out = my_strdup(in);
+
+#if defined(HAVE_LIBIDN) && defined(HAVE_IDNA_TO_UNICODE_LZLZ)
+	if (stringprep_check_version("0.3.0")) {
+		char *q, *r = NULL;
+
+		if ((q = strrchr(out, '@')))
+			q++;
+		else
+			q = out;
+#	ifdef HAVE_IDNA_USE_STD3_ASCII_RULES
+		if (!idna_to_unicode_lzlz(q, &r, IDNA_USE_STD3_ASCII_RULES))
+#	else
+		if (!idna_to_unicode_lzlz(q, &r, 0))
+#	endif /* HAVE_IDNA_USE_STD3_ASCII_RULES */
+			strcpy(q, r);
+		FreeIfNeeded(r);
+	}
+#endif /* HAVE_LIBIDN && HAVE_IDNA_TO_UNICODE_LZLZ */
+
+	return out;
+}
 
 
 #if 0
@@ -3682,3 +3718,5 @@ stat_article(
 	}
 }
 #endif /* 0 */
+
+
diff -Nurp tin-1.7.2/src/newsrc.c tin-1.7.3/src/newsrc.c
--- tin-1.7.2/src/newsrc.c	Thu Oct 16 23:24:44 2003
+++ tin-1.7.3/src/newsrc.c	Sat Nov 29 22:30:23 2003
@@ -3,7 +3,7 @@
  *  Module    : newsrc.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2003-09-24
+ *  Updated   : 2003-11-21
  *  Notes     : ArtCount = (ArtMax - ArtMin) + 1  [could have holes]
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
@@ -44,8 +44,9 @@
 #ifndef TNNTP_H
 #	include "tnntp.h"
 #endif /* !TNNTP_H */
-
-#define BITS_TO_BYTES(n)	((size_t) ((n + NBITS - 1) / NBITS))
+#ifndef NEWSRC_H
+#	include "newsrc.h"
+#endif /* !NEWSRC_H */
 
 static mode_t newsrc_mode = 0;
 
@@ -59,9 +60,9 @@ static char *parse_get_seq(char *seq, lo
 static int write_newsrc_line(FILE *fp, char *line);
 static t_bool create_newsrc(char *newsrc_file);
 static void auto_subscribe_groups(char *newsrc_file);
+static void get_subscribe_info(struct t_group *grp);
 static void parse_bitmap_seq(struct t_group *group, char *seq);
 static void print_bitmap_seq(FILE *fp, struct t_group *group);
-static void vGet1GrpArtInfo(struct t_group *grp);
 
 
 /*
@@ -357,7 +358,7 @@ backup_newsrc(
 	else
 #endif /* NNTP_ABLE */
 	{
-		STRCPY(filebuf, nntp_server);
+		STRCPY(filebuf, quote_space_to_dash(nntp_server));
 	}
 	JOINPATH(dirbuf, rcdir, filebuf);
 	joinpath(filebuf, dirbuf, OLDNEWSRC_FILE);
@@ -461,12 +462,15 @@ group_get_art_info(
 }
 
 
+/*
+ * Get and fixup (if needed) the counters for a newly subscribed group
+ */
 static void
-vGet1GrpArtInfo(
+get_subscribe_info(
 	struct t_group *grp)
 {
-	long lMinOld = grp->xmin;
-	long lMaxOld = grp->xmax;
+	long oldmin = grp->xmin;
+	long oldmax = grp->xmax;
 
 	group_get_art_info(grp->spooldir, grp->name, grp->type, &grp->count, &grp->xmax, &grp->xmin);
 
@@ -478,10 +482,10 @@ vGet1GrpArtInfo(
 		grp->newsrc.num_unread = grp->count;
 	}
 
-	if (grp->xmin != lMinOld || grp->xmax != lMaxOld) {
+	if (grp->xmin != oldmin || grp->xmax != oldmax) {
 		expand_bitmap(grp, 0);
 #ifdef DEBUG
-		my_printf(cCRLF "Min/Max DIFF %s old=[%ld-%ld] new=[%ld-%ld]", grp->name, lMinOld, lMaxOld, grp->xmin, grp->xmax);
+		my_printf(cCRLF "Min/Max DIFF %s old=[%ld-%ld] new=[%ld-%ld]", grp->name, oldmin, oldmax, grp->xmin, grp->xmax);
 		my_flush();
 #endif /* DEBUG */
 	}
@@ -539,7 +543,7 @@ subscribe(
 			if (sub_state == SUBSCRIBED) {
 				fprintf(newfp, "%s%c ", group->name, sub_state);
 				if (get_info) {
-					vGet1GrpArtInfo(group);
+					get_subscribe_info(group);
 					print_bitmap_seq(newfp, group);
 				} else /* we are not allowed to issue NNTP cmds during AUTOSUBSCRIBE loop */
 					fprintf(newfp, "1\n");
@@ -1390,16 +1394,15 @@ expand_bitmap(
 		debug_print_comment("expand_bitmap: group->newsrc.xbitmap == NULL");
 #endif /* DEBUG_NEWSRC */
 	} else if (need_full_copy) {
-		t_bitmap *newbitmap;
-		newbitmap = my_malloc(BITS_TO_BYTES(bitlen));
+		t_bitmap *newbitmap = my_malloc(BITS_TO_BYTES(bitlen));
 
 		/* Copy over old bitmap */
 		/* TODO: change to use shift */
 		for (tmp = group->newsrc.xmin; tmp <= group->newsrc.xmax; tmp++) {
-			if (NTEST(group->newsrc.xbitmap, tmp - group->newsrc.xmin))
-				NSET1(newbitmap, tmp - first);
-			else
+			if (NTEST(group->newsrc.xbitmap, tmp - group->newsrc.xmin) == ART_READ)
 				NSET0(newbitmap, tmp - first);
+			else
+				NSET1(newbitmap, tmp - first);
 		}
 
 		/* Mark earlier articles as read, updating num_unread */
@@ -1486,72 +1489,55 @@ art_mark(
 	struct t_article *art,
 	int flag)
 {
-	if (art != NULL) {
-		switch (flag) {
-			case ART_READ:
-				if (group != NULL) {
-					if (art->artnum >= group->newsrc.xmin && art->artnum <= group->newsrc.xmax)
-						NSET0(group->newsrc.xbitmap, art->artnum - group->newsrc.xmin);
+	if (art == NULL)
+		return;
+
+	switch (flag) {
+		case ART_READ:
+			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);
+				debug_print_bitmap(group, art);
 #endif /* DEBUG_NEWSRC */
-				}
-				if ((art->status == ART_UNREAD) || (art->status == ART_WILL_RETURN)) {
-					art_mark_xref_read(art);
+			}
+			if ((art->status == ART_UNREAD) || (art->status == ART_WILL_RETURN)) {
+				art_mark_xref_read(art);
 
-					if (group != NULL && group->newsrc.num_unread)
-						group->newsrc.num_unread--;
+				if (group != NULL && group->newsrc.num_unread)
+					group->newsrc.num_unread--;
 
-					art->status = ART_READ;
-				}
-				break;
+				art->status = ART_READ;
+			}
+			break;
 
-			case ART_UNREAD:
-			case ART_WILL_RETURN:
-				if (art->status == ART_READ) {
-					if (group != NULL)
-						group->newsrc.num_unread++;
+		case ART_UNREAD:
+		case ART_WILL_RETURN:
+			if (art->status == ART_READ) {
+				if (group != NULL)
+					group->newsrc.num_unread++;
 
-					art->status = flag;
-				}
-				if (group != NULL) {
-					if (art->artnum < group->newsrc.xmin)
-						expand_bitmap(group, art->artnum);
-					else {
-						NSET1(group->newsrc.xbitmap, art->artnum - group->newsrc.xmin);
+				art->status = flag;
+			}
+			if (group != NULL) {
+				if (art->artnum < group->newsrc.xmin)
+					expand_bitmap(group, art->artnum);
+				else {
+					NSET1(group->newsrc.xbitmap, art->artnum - group->newsrc.xmin);
 #ifdef DEBUG_NEWSRC
-						debug_print_bitmap(group, art);
+					debug_print_bitmap(group, art);
 #endif /* DEBUG_NEWSRC */
-					}
 				}
-				break;
+			}
+			break;
 
-			default:
-				break;
-		}
+		default:
+			break;
 	}
 }
 
 
 void
-art_mark_deleted(
-	struct t_article *art)
-{
-	if (art != NULL)
-		art->delete_it = TRUE;
-}
-
-
-void
-art_mark_undeleted(
-	struct t_article *art)
-{
-	if (art != NULL)
-		art->delete_it = FALSE;
-}
-
-
-void
 set_default_bitmap(
 	struct t_group *group)
 {
@@ -1581,8 +1567,8 @@ void
 newsrc_test_harness(
 	void)
 {
+	FILE *fp = NULL;
 	char seq[20000];
-	FILE *fp;
 	int i;
 	int retry = 10; /* max. retrys */
 	long rng_min, rng_max;
@@ -1637,7 +1623,7 @@ newsrc_test_harness(
 
 		debug_print_newsrc(&group.newsrc, stderr);
 
-		if (!retry)
+		if (!retry || !fp)
 			error_message(_(txt_cannot_create_uniq_name));
 		else {
 			fgets(seq, (int) sizeof(seq), fp);
@@ -1698,7 +1684,8 @@ set_bitmap_range_unread(
 		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);
+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);
diff -Nurp tin-1.7.2/src/nntplib.c tin-1.7.3/src/nntplib.c
--- tin-1.7.2/src/nntplib.c	Fri Oct  3 02:25:13 2003
+++ tin-1.7.3/src/nntplib.c	Thu Dec 11 13:43:48 2003
@@ -3,7 +3,7 @@
  *  Module    : nntplib.c
  *  Author    : S. Barber & I. Lea
  *  Created   : 1991-01-12
- *  Updated   : 2003-09-14
+ *  Updated   : 2003-12-11
  *  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
@@ -30,7 +30,7 @@
 #endif /* VMS */
 
 /* Copy of last NNTP command sent, so we can retry it if needed */
-char last_put[NNTP_STRLEN];
+static char last_put[NNTP_STRLEN];
 
 char *nntp_server = NULL;
 constext *xover_cmd = NULL;
@@ -958,6 +958,7 @@ close_server(
  * - OVER
  * - LISTGROUP
  * - LIST OVERVIEW.FMT
+ * - STARTTLS
  *
  * Sets up: have_list_extensions, xover_cmd, (xhdr_cmd)
  */
diff -Nurp tin-1.7.2/src/page.c tin-1.7.3/src/page.c
--- tin-1.7.2/src/page.c	Thu Oct 16 23:50:19 2003
+++ tin-1.7.3/src/page.c	Wed Dec 17 19:13:26 2003
@@ -3,7 +3,7 @@
  *  Module    : page.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2003-10-11
+ *  Updated   : 2003-12-17
  *  Notes     :
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
@@ -48,6 +48,12 @@
 #	include "rfc2046.h"
 #endif /* !RFC2046_H */
 
+#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 */
 
 /*
  * PAGE_HEADER is the size in lines of the article page header
@@ -1094,13 +1100,25 @@ print_message_page(
 		 */
 		if (tinrc.url_highlight) {
 			if (curr->flags & C_URL)
+#ifdef HAVE_COLOR
+				highlight_regexes(i + scroll_region_top, &url_regex, use_color ? tinrc.col_urls : -1);
+#else
 				highlight_regexes(i + scroll_region_top, &url_regex, -1);
+#endif /* HAVE_COLOR */
 
 			if (curr->flags & C_MAIL)
+#ifdef HAVE_COLOR
+				highlight_regexes(i + scroll_region_top, &mail_regex, use_color ? tinrc.col_urls : -1);
+#else
 				highlight_regexes(i + scroll_region_top, &mail_regex, -1);
+#endif /* HAVE_COLOR */
 
 			if (curr->flags & C_NEWS)
+#ifdef HAVE_COLOR
+				highlight_regexes(i + scroll_region_top, &news_regex, use_color ? tinrc.col_urls : -1);
+#else
 				highlight_regexes(i + scroll_region_top, &news_regex, -1);
+#endif /* HAVE_COLOR */
 		}
 
 		/*
@@ -1522,11 +1540,16 @@ draw_page_header(
 	 *       split up note_h->from and use that instead as it might
 	 *       be different _if_ the overviews are broken
 	 */
-	if (arts[this_resp].name)
-		snprintf(buf, line_len, "%s <%s>", arts[this_resp].name, arts[this_resp].from);
-	else {
-		strncpy(buf, arts[this_resp].from, line_len);
-		buf[line_len - 1] = '\0';
+	{
+		char *p = idna_decode(arts[this_resp].from);
+
+		if (arts[this_resp].name)
+			snprintf(buf, line_len, "%s <%s>", arts[this_resp].name, p);
+		else {
+			strncpy(buf, p, line_len);
+			buf[line_len - 1] = '\0';
+		}
+		free(p);
 	}
 
 	if (mbstowcs(wbuf, buf, line_len) == (size_t) (-1))
@@ -1839,7 +1862,7 @@ load_article(
 	note_fp = pgart.cooked;
 	artline = pgart.cookl;
 	artlines = pgart.cooked_lines;
-	search_line = -1;
+	search_line = 0;
 	rotate = 0;			/* normal mode, not rot13 */
 	reveal_ctrl_l = FALSE;
 	reveal_ctrl_l_lines = -1;	/* all ^L's active */
@@ -2160,7 +2183,7 @@ info_pager(
 	int ch;
 	int offset;
 
-	search_line = -1;
+	search_line = 0;
 	info_file = info_fh;
 	info_title = title;
 	curr_info_line = 0;
diff -Nurp tin-1.7.2/src/pgp.c tin-1.7.3/src/pgp.c
--- tin-1.7.2/src/pgp.c	Sat Aug 23 01:58:41 2003
+++ tin-1.7.3/src/pgp.c	Sat Nov 29 22:30:23 2003
@@ -3,7 +3,7 @@
  *  Module    : pgp.c
  *  Author    : Steven J. Madsen
  *  Created   : 1995-05-12
- *  Updated   : 2003-03-13
+ *  Updated   : 2003-11-24
  *  Notes     : PGP support
  *
  * Copyright (c) 1995-2003 Steven J. Madsen <steve@erinet.com>
@@ -87,7 +87,7 @@
 #		define CHECK_SIGN	"%s %s --no-batch --decrypt <%s %s"
 #		define ADD_KEY		"%s %s --no-batch --import %s"
 #		define APPEND_KEY	"%s %s --no-batch --armor --output %s --export %s"
-#		define LOCAL_USER	"--local-user %s"
+/* #		define LOCAL_USER	"--local-user %s" */
 #		define DO_ENCRYPT	\
 "%s %s --textmode --armor --no-batch --output %s.asc --recipient %s --encrypt %s", \
 PGPNAME, pgpopts, pt, mailto, pt
diff -Nurp tin-1.7.2/src/post.c tin-1.7.3/src/post.c
--- tin-1.7.2/src/post.c	Thu Oct 16 03:04:11 2003
+++ tin-1.7.3/src/post.c	Sat Nov 29 22:30:24 2003
@@ -3,7 +3,7 @@
  *  Module    : post.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2003-10-15
+ *  Updated   : 2003-11-21
  *  Notes     : mail/post/replyto/followup/repost & cancel articles
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>
@@ -368,7 +368,7 @@ msg_add_header(
 					for (p = text; *p && (*p == ' ' || *p == '\t'); p++)
 						;
 					new_text = my_strdup(p);
-					ptr = strchr(new_text, '\n');
+					ptr = strrchr(new_text, '\n');
 					if (ptr)
 						*ptr = '\0';
 
@@ -387,7 +387,7 @@ msg_add_header(
 				for (p = text; *p && (*p == ' ' || *p == '\t'); p++)
 					;
 				new_text = my_strdup(p);
-				ptr = strchr(new_text, '\n');
+				ptr = strrchr(new_text, '\n');
 				if (ptr)
 					*ptr = '\0';
 
@@ -406,11 +406,16 @@ msg_write_headers(
 {
 	int i;
 	int wrote = 1;
+	char *p;
 
 	for (i = 0; i < MAX_MSG_HEADERS; i++) {
 		if (msg_headers[i].name) {
 			fprintf(fp, "%s: %s\n", msg_headers[i].name, BlankIfNull(msg_headers[i].text));
-			wrote++;
+			p = msg_headers[i].text;
+			do {
+				wrote++;
+				p = strchr(++p, '\n');
+			} while (p);
 		}
 	}
 	fputc('\n', fp);
@@ -1744,7 +1749,7 @@ check_moderated(
 		 * Generally only bogus groups should have no attributes
 		 */
 		if (group->bogus) {
-			error_message(_("%s is bogus"), groupname); /* TODO: -> lang.c */
+			error_message(_(txt_group_bogus), groupname);
 			return NULL;
 		}
 
@@ -2916,11 +2921,9 @@ mail_to_someone(
 		return ret_code;
 
 	rewind(artinfo->raw);
-	/* TODO: -> lang.c */
-	fprintf(fp, "-- forwarded message --\n");
+	fprintf(fp, _(txt_forwarded));
 	copy_fp(artinfo->raw, fp);
-	/* TODO: -> lang.c */
-	fprintf(fp, "-- end of forwarded message --\n");
+	fprintf(fp, _(txt_forwarded_end));
 
 	if (INTERACTIVE_NONE == tinrc.interactive_mailer)
 		msg_write_signature(fp, TRUE, &CURR_GROUP);
@@ -3697,20 +3700,22 @@ static void
 msg_add_x_headers(
 	const char *headers)
 {
-	FILE *fp;
+	FILE *fp = NULL;
 	char *ptr;
 	char file[PATH_LEN];
 	char line[HEADER_LEN];
+	char **x_hdrs = NULL;
+	int num_x_hdrs = 0;
+	t_bool a_pipe = FALSE;
+	int i;
 
 	if (!headers)
 		return;
 
-	if (headers[0] != '/' && headers[0] != '~') {
+	if (headers[0] != '/' && headers[0] != '~' && headers[0] != '!') {
 		strcpy(line, headers);
-		ptr = strchr(line, ':');
-		if (ptr) {
-			*ptr = '\0';
-			ptr++;
+		if ((ptr = strchr(line, ':')) != NULL) {
+			*ptr++ = '\0';
 			if (*ptr == ' ' || *ptr == '\t') {
 				msg_add_header(line, ptr);
 				return;
@@ -3724,19 +3729,48 @@ msg_add_x_headers(
 		if (!strfpath(headers, file, sizeof(file), &CURR_GROUP))
 			strcpy(file, headers);
 
-		if ((fp = fopen(file, "r")) != NULL) {
-			while (fgets(line, (int) sizeof(line), fp) != NULL) {
-				if (line[0] != '\n' && line[0] != '#') {
-					ptr = strchr(line, ':');
-					if (ptr) {
-						*ptr = '\0';
-						ptr++;
-					}
-					msg_add_header(line, ptr);
+#ifndef DONT_HAVE_PIPING
+		if (file[0] == '!') {
+			if ((fp = popen(file + 1, "r")) == NULL)
+				return;
+			else
+				a_pipe = TRUE;
+		}
+#endif /* !DONT_HAVE_PIPING */
+		if (!a_pipe && ((fp = fopen(file, "r")) == NULL))
+			return;
+
+		while (fgets(line, (int) sizeof(line), fp) != NULL) {
+			if (line[0] != '\n' && line[0] != '#') {
+				if (line[0] != ' ' && line[0] != '\t') {
+					x_hdrs = my_realloc(x_hdrs, (num_x_hdrs + 1) * sizeof(char *));
+					x_hdrs[num_x_hdrs] = my_malloc(strlen(line) + 1);
+					strcpy(x_hdrs[num_x_hdrs++], line);
+				} else {
+					if (!num_x_hdrs) /* folded line, but no previous header */
+						continue;
+					i = strlen(x_hdrs[num_x_hdrs - 1]);
+					x_hdrs[num_x_hdrs - 1] = my_realloc(x_hdrs[num_x_hdrs - 1], i + strlen(line) + 1);
+					strcpy(x_hdrs[num_x_hdrs - 1] + i, line);
 				}
 			}
-			fclose(fp);
 		}
+
+		if (num_x_hdrs) {
+			for (i = 0; i < num_x_hdrs; i++) {
+				if ((ptr = strchr(x_hdrs[i], ':')) != NULL) {
+					*ptr++ = '\0';
+					msg_add_header(x_hdrs[i], ptr);
+				}
+				free(x_hdrs[i]);
+			}
+			free(x_hdrs);
+		}
+
+		if (a_pipe)
+			pclose(fp);
+		else
+			fclose(fp);
 	}
 }
 
@@ -4033,8 +4067,7 @@ reread_active_after_posting(
 				if (group->subscribed && group->art_was_posted) {
 					group->art_was_posted = FALSE;
 
-					/* TODO: -> lang.c */
-					wait_message(0, _("Rereading %s..."), group->name);
+					wait_message(0, _(txt_group_rereading), group->name);
 					old_min = group->xmin;
 					old_max = group->xmax;
 					group_get_art_info(group->spooldir, group->name, group->type, &group->count, &group->xmax, &group->xmin);
diff -Nurp tin-1.7.2/src/prompt.c tin-1.7.3/src/prompt.c
--- tin-1.7.2/src/prompt.c	Wed Oct 15 20:38:31 2003
+++ tin-1.7.3/src/prompt.c	Tue Dec  2 21:18:38 2003
@@ -3,7 +3,7 @@
  *  Module    : prompt.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2003-09-12
+ *  Updated   : 2003-12-02
  *  Notes     :
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>
@@ -261,7 +261,7 @@ prompt_list(
 	int size)
 {
 	int ch, var_orig;
-	int i;
+	int i, offset;
 	int adjust = (strcasecmp(_(list[0]), _(txt_default)) == 0);
 	size_t width = 0;
 
@@ -279,7 +279,27 @@ prompt_list(
 	cursoron();
 
 	do {
-		MoveCursor(row, col + (int) strlen(_(prompt_text)));
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+		size_t len;
+
+		len = mbstowcs(NULL, _(prompt_text), 0);
+		if (len != (size_t) (-1)) {
+			wchar_t *wbuf = my_malloc(sizeof(wchar_t) * (len + 1));
+
+			mbstowcs(wbuf, _(prompt_text), len + 1);
+			wconvert_to_printable(wbuf);
+			offset = wcswidth(wbuf, len + 1);
+			if (offset == -1) {
+				/* something went wrong, use wcslen as fallback */
+				offset = (int) wcslen(wbuf);
+			}
+
+			free(wbuf);
+		} else
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+			offset = (int) strlen(_(prompt_text));
+
+		MoveCursor(row, col + offset);
 		if ((ch = (char) ReadCh()) == ' ') {
 
 			/*
diff -Nurp tin-1.7.2/src/regex.c tin-1.7.3/src/regex.c
--- tin-1.7.2/src/regex.c	Mon Oct  6 02:31:21 2003
+++ tin-1.7.3/src/regex.c	Wed Dec 17 19:13:35 2003
@@ -3,7 +3,7 @@
  *  Module    : regex.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 1997-02-21
- *  Updated   : 2003-04-03
+ *  Updated   : 2003-12-17
  *  Notes     : Regular expression subroutines
  *  Credits   :
  *
@@ -46,53 +46,56 @@
 /*
  * See if pattern is matched in string. Return TRUE or FALSE
  * if icase=TRUE then ignore case in the compare
+ * if a precompiled regex is provided it will be used instead of pattern
+ *
+ * If you use match_regex() with full regexes within a loop you should always
+ * provide a precompiled error because if the compilation of the regex fails
+ * an error message will be display on each execution of match_regex()
  */
 t_bool
 match_regex(
 	const char *string,
 	char *pattern,
+	struct regex_cache *cache,
 	t_bool icase)
 {
-	const char *errmsg;
 	int error;
-	pcre *re;
-	t_bool ret = FALSE;
+	struct regex_cache tmp_cache = { NULL, NULL };
+	struct regex_cache *ptr_cache;
 
-	mesg[0] = '\0';
+	if (!tinrc.wildcard)	/* wildmat matching */
+		return wildmat(string, pattern, icase);
 
-	/*
-	 * Compile the expression internally.
-	 */
-	if ((re = pcre_compile(pattern, (icase ? PCRE_CASELESS : 0), &errmsg, &error, NULL)) == NULL) {
-		snprintf(mesg, sizeof(mesg), _(txt_pcre_error_at), errmsg, error, pattern);
-		return FALSE;
+	/* full regexes */
+	if (cache != NULL && cache->re != NULL)
+		ptr_cache = cache;	/* use the provided regex cache */
+	else {
+		/* compile the regex internally */
+		if (!compile_regex(pattern, &tmp_cache, (icase ? PCRE_CASELESS : 0)))
+			return FALSE;
+		ptr_cache = &tmp_cache;
 	}
 
-	/*
-	 * Since we are running the compare only once,
-	 * we don't need to use pcre_study() to improve
-	 * performance
-	 */
+	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);
 
+		return TRUE;
+	}
+
+#if 0
 	/*
-	 * Only a single compare is needed to see if a match exists
-	 *
-	 * pcre_exec(precompile pattern, hints pointer, string to match,
-	 *           length of string (string may contain '\0', but not in
-	 *           our case), startoffset, options,
-	 *           vector of offsets to be filled,
-	 *           number of elements in offsets);
-	 *
+	 * match_regex() is mostly used within loops and we don't want to display
+	 * an error message on each call
 	 */
-	if ((error = pcre_exec(re, NULL, string, strlen(string), 0, 0, NULL, 0)) >= 0)
-		ret = TRUE;
-	else {
-		if (error != PCRE_ERROR_NOMATCH)
-			snprintf(mesg, sizeof(mesg), _(txt_pcre_error_num), error);
-	}
+	if (error != PCRE_ERROR_NOMATCH)
+		error_message(_(txt_pcre_error_num), error);
+#endif /* 0 */
 
-	free(re);
-	return ret;
+	FreeIfNeeded(tmp_cache.re);
+	FreeIfNeeded(tmp_cache.extra);
+
+	return FALSE;
 }
 
 
@@ -106,15 +109,27 @@ compile_regex(
 	int options)
 {
 	const char *regex_errmsg = 0;
-	int regex_errpos;
+	int regex_errpos, my_options = options;
+
+#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) && (defined(PCRE_MAJOR) && PCRE_MAJOR >= 4)
+	if (IS_LOCAL_CHARSET("UTF-8")) {
+		int i;
+
+		pcre_config(PCRE_CONFIG_UTF8, &i);
+		if (i)
+			my_options |= PCRE_UTF8;
+	}
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE && PCRE_MAJOR && PCRE_MAJOR >= 4*/
 
-	if ((cache->re = pcre_compile(regex, options, &regex_errmsg, &regex_errpos, NULL)) == NULL)
+	if ((cache->re = pcre_compile(regex, my_options, &regex_errmsg, &regex_errpos, NULL)) == NULL)
 		error_message(_(txt_pcre_error_at), regex_errmsg, regex_errpos, regex);
 	else {
 		cache->extra = pcre_study(cache->re, 0, &regex_errmsg);
-		if (regex_errmsg != NULL)
+		if (regex_errmsg != NULL) {
+			/* we failed, clean up */
+			FreeAndNull(cache->re);
 			error_message(_(txt_pcre_error_text), regex_errmsg);
-		else
+		} else
 			return TRUE;
 	}
 	return FALSE;
diff -Nurp tin-1.7.2/src/rfc2046.c tin-1.7.3/src/rfc2046.c
--- tin-1.7.2/src/rfc2046.c	Thu Sep 25 19:59:58 2003
+++ tin-1.7.3/src/rfc2046.c	Sat Nov 29 22:30:24 2003
@@ -3,7 +3,7 @@
  *  Module    : rfc2046.c
  *  Author    : Jason Faultless <jason@altarstone.com>
  *  Created   : 2000-02-18
- *  Updated   : 2003-09-24
+ *  Updated   : 2003-11-18
  *  Notes     : RFC 2046 MIME article parsing
  *
  * Copyright (c) 2000-2003 Jason Faultless <jason@altarstone.com>
@@ -896,6 +896,13 @@ parse_multipart_article(
 				if (*line == '\0') {		/* End of MIME headers */
 					state = M_BODY;
 					curr_part->offset = ftell(artinfo->raw);
+
+					if (curr_part->type == TYPE_MULTIPART) {	/* Complex multipart article */
+						int ret;
+
+						if ((ret = parse_multipart_article(infile, artinfo, curr_part, depth + 1, show_progress_meter)) != 0)
+							return ret;							/* User abort or EOF reached */
+					}
 					break;
 				}
 
@@ -906,15 +913,7 @@ parse_multipart_article(
 				unfold_header(line);
 				if ((ptr = parse_header(line, "Content-Type", FALSE, FALSE))) {
 					parse_content_type(ptr, curr_part);
-
-					if (curr_part->type == TYPE_MULTIPART) {	/* Complex multipart article */
-						int ret;
-
-						if ((ret = parse_multipart_article(infile, artinfo, curr_part, depth + 1, show_progress_meter)) != 0)
-							return ret;							/* User abort or EOF reached */
-						else
-							break;
-					}
+					break;
 				}
 				if ((ptr = parse_header(line, "Content-Transfer-Encoding", FALSE, FALSE))) {
 					curr_part->encoding = parse_content_encoding(ptr);
diff -Nurp tin-1.7.2/src/screen.c tin-1.7.3/src/screen.c
--- tin-1.7.2/src/screen.c	Sun Sep 21 14:57:05 2003
+++ tin-1.7.3/src/screen.c	Sat Nov 29 22:30:24 2003
@@ -220,7 +220,7 @@ center_line(
 
 	len = strlen(buffer);
 #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)
-	if (mbstowcs(wbuffer, buffer, ARRAY_SIZE(wbuffer)) != (size_t)(-1)) {
+	if (mbstowcs(wbuffer, buffer, ARRAY_SIZE(wbuffer)) != (size_t) (-1)) {
 		wbuffer[ARRAY_SIZE(wbuffer) - 1] = (wchar_t) '\0';
 		if ((width = wcswidth(wbuffer, ARRAY_SIZE(wbuffer))) > 0)
 			len = width;
diff -Nurp tin-1.7.2/src/search.c tin-1.7.3/src/search.c
--- tin-1.7.2/src/search.c	Mon Oct  6 02:31:50 2003
+++ tin-1.7.3/src/search.c	Wed Dec 17 19:13:42 2003
@@ -3,7 +3,7 @@
  *  Module    : search.c
  *  Author    : I. Lea & R. Skrenta
  *  Created   : 1991-04-01
- *  Updated   : 2003-09-15
+ *  Updated   : 2003-12-17
  *  Notes     :
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>, Rich Skrenta <skrenta@pbm.com>
@@ -69,7 +69,7 @@ int srch_lineno = -1;
  */
 static int srch_offsets[6];
 static int srch_offsets_size = ARRAY_SIZE(srch_offsets);
-static struct regex_cache srch_regex;
+static struct regex_cache search_regex = { NULL, NULL };
 
 
 /*
@@ -113,6 +113,17 @@ get_search_pattern(
 
 	stow_cursor();
 
+#ifdef HAVE_UNICODE_NORMALIZATION
+	/* normalize search pattern */
+	if (IS_LOCAL_CHARSET("UTF-8")) {
+		char *tmp;
+
+		tmp = normalize(def);
+		my_strncpy(def, tmp, LEN);
+		free(tmp);
+	}
+#endif /* HAVE_UNICODE_NORMALIZATION */
+
 	if (tinrc.wildcard) {			/* ie, not wildmat() */
 		strcpy(def, quote_wild_whitespace(def));
 		return def;
@@ -137,12 +148,15 @@ search_config(
 	int current,
 	int last)
 {
-	char *buf;
+	char *pattern, *buf;
 	int n;
 	int incr;
 	int result = current;
 
-	if (!(buf = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), tinrc.default_search_config, HIST_CONFIG_SEARCH)))
+	if (!(pattern = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), tinrc.default_search_config, HIST_CONFIG_SEARCH)))
+		return result;
+
+	if (tinrc.wildcard && !(compile_regex(pattern, &search_regex, PCRE_CASELESS)))
 		return result;
 
 	incr = forward ? 1 : -1;
@@ -156,13 +170,27 @@ search_config(
 			if (n > last)
 				n = 0;
 		}
-		if (REGEX_MATCH(_(option_table[n].txt->opt), buf, TRUE)) {
+#ifdef HAVE_UNICODE_NORMALIZATION
+		if (IS_LOCAL_CHARSET("UTF-8"))
+			buf = normalize(_(option_table[n].txt->opt));
+		else
+#endif /* HAVE_UNICODE_NORMALIZATION */
+			buf = my_strdup(_(option_table[n].txt->opt));
+
+		if (match_regex(buf, pattern, &search_regex, TRUE)) {
 			result = n;
+			free(buf);
 			break;
 		}
+
 		n += incr;
+		free(buf);
 	} while (n != current);
 	clear_message();
+	if (tinrc.wildcard) {
+		FreeAndNull(search_regex.re);
+		FreeAndNull(search_regex.extra);
+	}
 	return result;
 }
 
@@ -190,6 +218,9 @@ search_active(
 	if (!(buf = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), tinrc.default_search_group, HIST_GROUP_SEARCH)))
 		return -1;
 
+	if (tinrc.wildcard && !(compile_regex(buf, &search_regex, PCRE_CASELESS)))
+		return -1;
+
 	i = selmenu.curr;
 
 	do {
@@ -210,11 +241,19 @@ search_active(
 		} else
 			ptr = active[my_group[i]].name;
 
-		if (REGEX_MATCH(ptr, buf, TRUE)) {
+		if (match_regex(ptr, buf, &search_regex, TRUE)) {
+			if (tinrc.wildcard) {
+				FreeAndNull(search_regex.re);
+				FreeAndNull(search_regex.extra);
+			}
 			return i;
 		}
 	} while (i != selmenu.curr);
 
+	if (tinrc.wildcard) {
+		FreeAndNull(search_regex.re);
+		FreeAndNull(search_regex.extra);
+	}
 	info_message(MATCH_MSG);
 	return -1;
 }
@@ -232,7 +271,7 @@ body_search(
 	int i,
 	char *searchbuf)
 {
-	char *line;
+	char *line, *tmp;
 	t_openartinfo artinfo;
 
 	switch (art_open(TRUE, &arts[i], curr_group, &artinfo, FALSE)) {
@@ -258,9 +297,16 @@ body_search(
 	 */
 	snprintf(mesg, sizeof(mesg), _(txt_searching_body), ++curr_cnt, total_cnt);
 	show_progress(mesg, curr_cnt, total_cnt);
-	while ((line = tin_fgets(artinfo.cooked, FALSE)) != NULL) {
+	while ((tmp = tin_fgets(artinfo.cooked, FALSE)) != NULL) {
+#ifdef HAVE_UNICODE_NORMALIZATION
+		if (IS_LOCAL_CHARSET("UTF-8"))
+			line = normalize(tmp);
+		else
+#endif /* HAVE_UNICODE_NORMALIZATION */
+			line = my_strdup(tmp);
+
 		if (tinrc.wildcard) {
-			if (pcre_exec(srch_regex.re, srch_regex.extra, line, strlen(line), 0, 0, srch_offsets, srch_offsets_size) != PCRE_ERROR_NOMATCH) {
+			if (pcre_exec(search_regex.re, search_regex.extra, line, strlen(line), 0, 0, srch_offsets, srch_offsets_size) != PCRE_ERROR_NOMATCH) {
 				srch_lineno = i;
 				art_close(&pgart);		/* Switch the pager over to matched art */
 				pgart = artinfo;
@@ -268,6 +314,7 @@ body_search(
 				if (debug == 2)
 					fprintf(stderr, "art_switch(%p = %p)\n", (void *) &pgart, (void *) &artinfo);
 #endif /* DEBUG */
+				free(line);
 
 				return 1;
 			}
@@ -276,10 +323,12 @@ body_search(
 				srch_lineno = i;
 				art_close(&pgart);		/* Switch the pager over to matched art */
 				pgart = artinfo;
+				free(line);
 				return 1;
 			}
 		}
 		i++;
+		free(line);
 	}
 
 	if (tin_errno != 0) {			/* User abort */
@@ -302,15 +351,32 @@ author_search(
 	int i,
 	char *searchbuf)
 {
-	char buf[LEN];
-	char *ptr = buf;
+	char *buf, *tmp;
 
 	if (arts[i].name == NULL)
-		ptr = arts[i].from;
-	else
-		snprintf(buf, sizeof(buf), "%s <%s>", arts[i].name, arts[i].from);
+		tmp = my_strdup(arts[i].from);
+	else {
+		size_t len = strlen(arts[i].from) + strlen(arts[i].name) + 4;
+
+		tmp = my_malloc(len);
+		snprintf(tmp, len, "%s <%s>", arts[i].name, arts[i].from);
+	}
+
+#ifdef HAVE_UNICODE_NORMALIZATION
+	if (IS_LOCAL_CHARSET("UTF-8")) {
+		buf = normalize(tmp);
+		free(tmp);
+	} else
+#endif /* HAVE_UNICODE_NORMALIZATION */
+		buf = tmp;
+
+	if (match_regex(buf, searchbuf, &search_regex, TRUE)) {
+		free(buf);
+		return 1;
+	}
 
-	return (REGEX_MATCH(ptr, searchbuf, TRUE)) ? 1 : 0;
+	free(buf);
+	return 0;
 }
 
 
@@ -323,7 +389,22 @@ subject_search(
 	int i,
 	char *searchbuf)
 {
-	return (REGEX_MATCH(arts[i].subject, searchbuf, TRUE)) ? 1 : 0;
+	char *buf;
+
+#ifdef HAVE_UNICODE_NORMALIZATION
+	if (IS_LOCAL_CHARSET("UTF-8")) {
+		buf = normalize(arts[i].subject);
+	} else
+#endif /* HAVE_UNICODE_NORMALIZATION */
+		buf = my_strdup(arts[i].subject);
+
+	if (match_regex(buf, searchbuf, &search_regex, TRUE)) {
+		free(buf);
+		return 1;
+	}
+
+	free(buf);
+	return 0;
 }
 
 
@@ -337,13 +418,19 @@ search_group(
 	char *searchbuff,
 	int (*search_func) (int i, char *searchbuff))
 {
-	int i;
+	int i, ret;
 
 	if (grpmenu.curr < 0) {
 		info_message(_(txt_no_arts));
 		return -1;
 	}
 
+	/*
+	 * precompile if we're using full regex
+	 */
+	if (tinrc.wildcard && !(compile_regex(searchbuff, &search_regex, PCRE_CASELESS)))
+		return -1;
+
 	i = current_art;
 
 	do {
@@ -359,7 +446,13 @@ search_group(
 		if (CURR_GROUP.attribute->show_only_unread && arts[i].status != ART_UNREAD)
 			continue;
 
-		switch (search_func(i, searchbuff)) {
+		ret = search_func(i, searchbuff);
+		if (tinrc.wildcard && (ret == 1 || ret == -1)) {
+			/* we will exit soon, clean up */
+			FreeAndNull(search_regex.re);
+			FreeAndNull(search_regex.extra);
+		}
+		switch (ret) {
 			case 1:								/* Found */
 				clear_message();
 				return i;
@@ -369,6 +462,10 @@ search_group(
 		}
 	} while (i != current_art);
 
+	if (tinrc.wildcard) {
+		FreeAndNull(search_regex.re);
+		FreeAndNull(search_regex.extra);
+	}
 	info_message(_(txt_no_match));
 	return -1;
 }
@@ -421,27 +518,21 @@ search_article(
 	int reveal_ctrl_l_lines,
 	FILE *fp)
 {
-	char *pattern, *ptr;
-	int i;
-	struct regex_cache srch;
+	char *pattern, *ptr, *tmp;
+	int i = start_line;
+	t_bool wrap = FALSE;
 
 	if (!(pattern = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), tinrc.default_search_art, HIST_ART_SEARCH)))
 		return FALSE;
 
-	if (tinrc.wildcard && !(compile_regex(pattern, &srch, PCRE_CASELESS)))
+	if (tinrc.wildcard && !(compile_regex(pattern, &search_regex, PCRE_CASELESS)))
 		return -1;
 
 	srch_lineno = -1;
-	i = start_line;
 
 	forever {
-		if (forward) {
-			if (++i == lines)
-				break;
-		} else {
-			if (--i < 0)
-				break;
-		}
+		if (i == start_line && wrap)
+			break;
 
 		/*
 		 * TODO: consider not searching some line types?
@@ -453,23 +544,56 @@ search_article(
 		if ((line[i].flags&C_CTRLL) && i > reveal_ctrl_l_lines)
 			break;
 
-		ptr = tin_fgets(fp, FALSE);
+		tmp = tin_fgets(fp, FALSE);
+
+#ifdef HAVE_UNICODE_NORMALIZATION
+		if (IS_LOCAL_CHARSET("UTF-8"))
+			ptr = normalize(tmp);
+		else
+#endif /* HAVE_UNICODE_NORMALIZATION */
+			ptr = my_strdup(tmp);
 
 		if (tinrc.wildcard) {
-			if (pcre_exec(srch.re, srch.extra, ptr, strlen(ptr), 0, 0,
+			if (pcre_exec(search_regex.re, search_regex.extra, ptr, strlen(ptr), srch_offsets[1], 0,
 								srch_offsets, srch_offsets_size) != PCRE_ERROR_NOMATCH) {
 				srch_lineno = i;
+				FreeAndNull(search_regex.re);
+				FreeAndNull(search_regex.extra);
+				free(ptr);
 				return i;
 			}
 		} else {
 			if (wildmatpos(ptr, pattern, TRUE, srch_offsets, srch_offsets_size)) {
 				srch_lineno = i;
+				free(ptr);
 				return i;
 			}
 		}
+		free(ptr);
+
+		if (forward) {
+			if (i >= lines - 1) {
+				i = 0;
+				wrap = TRUE;
+			} else
+				i++;
+		} else {
+			if (i <= 0) {
+				i = lines - 1;
+				wrap = TRUE;
+			} else
+				i--;
+		}
+
+		/* search at the beginning of the line */
+		srch_offsets[1] = 0;
 	}
 
 	info_message(_(txt_no_match));
+	if (tinrc.wildcard) {
+		FreeAndNull(search_regex.re);
+		FreeAndNull(search_regex.extra);
+	}
 	return -1;
 }
 
@@ -516,12 +640,6 @@ search_body(
 				total_cnt++;
 		}
 	}
-
-	/*
-	 * Pre-compile if we're using full regex
-	 */
-	if (tinrc.wildcard && !(compile_regex(buf, &srch_regex, PCRE_CASELESS)))
-		return -1;
 
 	srch_lineno = -1;
 	return search_group(1, current_art, buf, body_search);
diff -Nurp tin-1.7.2/src/string.c tin-1.7.3/src/string.c
--- tin-1.7.2/src/string.c	Thu Oct  9 17:07:23 2003
+++ tin-1.7.3/src/string.c	Tue Dec  9 10:03:03 2003
@@ -3,7 +3,7 @@
  *  Module    : string.c
  *  Author    : Urs Janssen <urs@tin.org>
  *  Created   : 1997-01-20
- *  Updated   : 2003-10-09
+ *  Updated   : 2003-12-09
  *  Notes     :
  *
  * Copyright (c) 1997-2003 Urs Janssen <urs@tin.org>
@@ -38,6 +38,20 @@
 #ifndef TIN_H
 #	include "tin.h"
 #endif /* !TIN_H */
+#ifdef HAVE_UNICODE_NORMALIZATION
+#	ifdef HAVE_LIBICUUC
+#		if defined(HAVE_UNICODE_UNORM_H) && !defined(UNORM_H)
+#			include <unicode/unorm.h>
+#		endif /* HAVE_UNICODE_UNORM_H && !UNORM_H */
+#		if defined(HAVE_UNICODE_USTRING_H) && !defined(USTRING_H)
+#			include <unicode/ustring.h>
+#		endif /* HAVE_UNICODE_USTRING_H && !USTRING_H */
+#	else
+#		if defined(HAVE_LIBIDN) && defined(HAVE_STRINGPREP_H) && !defined(_STRINGPREP_H)
+#			include <stringprep.h>
+#		endif /* HAVE_LIBIDN && HAVE_STRINGPREP_H && !_STRINGPREP_H */
+#	endif /* HAVE_LIBICUUC */
+#endif /* HAVE_UNICODE_NORMALIZATION */
 
 /*
  * this file needs some work
@@ -801,4 +815,107 @@ my_wcsdup(
 	memcpy(ptr, wstr, sizeof(wchar_t) * len);
 	return (wchar_t *) ptr;
 }
-#endif /* MULTIBYTE_ABLE && !NOLOCALE */
+#endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+
+
+#ifdef HAVE_UNICODE_NORMALIZATION
+/*
+ * unicode normalization
+ *
+ * str: the string to normalize (must be UTF-8)
+ * returns the normalized string
+ * if the normalization failed a copy of the original string will be returned
+ *
+ * don't forget to free() the allocated memory if not needed anymore
+ */
+char *
+normalize(
+	const char *str)
+{
+	char *buf, *tmp;
+
+	/* make sure str is valid UTF8 */
+	tmp = my_strdup(str);
+	utf8_valid(tmp);
+
+	if (tinrc.normalization_form == NORMALIZE_NONE) /* normalization is disabled */
+		return tmp;
+
+#	ifdef HAVE_LIBICUUC
+	{ /* ICU */
+		int32_t buf_len, ustr_len, needed, norm_len;
+		UChar *ustr, *norm;
+		UErrorCode status = U_ZERO_ERROR;
+		UNormalizationMode mode;
+
+		switch (tinrc.normalization_form) {
+			case NORMALIZE_NFD:
+				mode = UNORM_NFD;
+				break;
+
+			case NORMALIZE_NFC:
+				mode = UNORM_NFC;
+				break;
+
+			case NORMALIZE_NFKD:
+				mode = UNORM_NFKD;
+				break;
+
+			case NORMALIZE_NFKC:
+			default:
+				mode = UNORM_NFKC;
+		}
+
+		/* convert to UTF-16 which is used internally by ICU */
+		u_strFromUTF8(NULL, 0, &needed, tmp, (int32_t) strlen(tmp), &status);
+		status = U_ZERO_ERROR;		/* reset status */
+		ustr_len = needed + 1;
+		ustr = (UChar *) my_malloc(sizeof(UChar) * ustr_len);
+		u_strFromUTF8(ustr, ustr_len, &needed, tmp, (int32_t) strlen(tmp), &status);
+		if (U_FAILURE(status)) {
+			/* something went wrong, return the original string (as valid UTF8) */
+			free(ustr);
+			return tmp;
+		}
+
+		needed = unorm_normalize(ustr, -1, mode, 0 , NULL, 0, &status);
+		status = U_ZERO_ERROR;		/* reset status */
+		norm_len = needed + 1;
+		norm = (UChar *) my_malloc(sizeof(UChar) * norm_len);
+		needed = unorm_normalize(ustr, -1, mode, 0 , norm, norm_len, &status);
+		if (U_FAILURE(status)) {
+			/* something went wrong, return the original string (as valid UTF8) */
+			free(ustr);
+			free(norm);
+			return tmp;
+		}
+
+		/* convert back to UTF-8 */
+		u_strToUTF8(NULL, 0, &needed, norm, -1, &status);
+		status = U_ZERO_ERROR;		/* reset status */
+		buf_len = needed + 1;
+		buf = my_malloc(buf_len);
+		u_strToUTF8(buf, buf_len, &needed, norm, -1, &status);
+		if (U_FAILURE(status)) {
+			/* something went wrong, return the original string (as valid UTF8) */
+			free(buf);
+			buf = tmp;
+		}
+
+		free(ustr);
+		free(norm);
+		return buf;
+	}
+#	else
+#		ifdef HAVE_LIBIDN
+	/* libidn */
+
+	buf = stringprep_utf8_nfkc_normalize(tmp, -1);
+	if (buf == NULL) /* normalization failed, return the original string (as valid UTF8) */
+		buf = tmp;
+
+	return buf;
+#		endif /* HAVE_LIBIDN */
+#	endif /* HAVE_LIBICUUC */
+}
+#endif /* HAVE_UNICODE_NORMALIZATION */
diff -Nurp tin-1.7.2/src/thread.c tin-1.7.3/src/thread.c
--- tin-1.7.2/src/thread.c	Thu Oct  9 17:07:34 2003
+++ tin-1.7.3/src/thread.c	Fri Dec 19 15:38:32 2003
@@ -3,7 +3,7 @@
  *  Module    : thread.c
  *  Author    : I. Lea
  *  Created   : 1991-04-01
- *  Updated   : 2003-10-09
+ *  Updated   : 2003-12-19
  *  Notes     :
  *
  * Copyright (c) 1991-2003 Iain Lea <iain@bricbrac.de>
@@ -156,17 +156,17 @@ build_tline(
 	 * Add the number of lines and/or the score if enabled
 	 * (inside "[,]", 1+4[+1+6]+1+2 chars total)
 	 */
-	if (tinrc.show_info != SHOW_INFO_NOTHING) { /* add [ */
+	if (curr_group->attribute->show_info != SHOW_INFO_NOTHING) { /* add [ */
 		strcat(buffer, "[");
 		rest_of_line--;
 	}
 
-	if (tinrc.show_info == SHOW_INFO_LINES || tinrc.show_info == SHOW_INFO_BOTH) { /* add lines */
+	if (curr_group->attribute->show_info == SHOW_INFO_LINES || curr_group->attribute->show_info == SHOW_INFO_BOTH) { /* add lines */
 		strcat(buffer, ((art->line_count != -1) ? tin_ltoa(art->line_count, 4): "   ?"));
 		rest_of_line -= 4;
 	}
 
-	if (tinrc.show_info == SHOW_INFO_SCORE || tinrc.show_info == SHOW_INFO_BOTH) {
+	if (curr_group->attribute->show_info == SHOW_INFO_SCORE || curr_group->attribute->show_info == SHOW_INFO_BOTH) {
 		if (tinrc.show_info == SHOW_INFO_BOTH) { /* insert a separator if show lines and score */
 			strcat(buffer, ",");
 			rest_of_line--;
@@ -175,7 +175,7 @@ build_tline(
 		rest_of_line -= 6;
 	}
 
-	if (tinrc.show_info != SHOW_INFO_NOTHING) { /* add closing ] and two spaces */
+	if (curr_group->attribute->show_info != SHOW_INFO_NOTHING) { /* add closing ] and two spaces */
 		strcat(buffer, "]  ");
 		rest_of_line -= 3;
 	}
diff -Nurp tin-1.7.2/src/tincfg.tbl tin-1.7.3/src/tincfg.tbl
--- tin-1.7.2/src/tincfg.tbl	Mon Sep 29 03:54:36 2003
+++ tin-1.7.3/src/tincfg.tbl	Tue Dec  9 09:47:37 2003
@@ -2,7 +2,7 @@
 ;   Module    : tincfg.tbl
 ;   Author    : Thomas E. Dickey
 ;   Created   : 1996-11-01
-;   Updated   : 2003-09-29
+;   Updated   : 2003-12-09
 ;   Notes     : #defines and structs for config.c
 ;
 ; Copyright (c) 1996-2003 Thomas E. Dickey <dickey@invisible-island.net>
@@ -123,6 +123,7 @@
 	col_from			txt_colors	MAX_COLOR+1
 	col_title			txt_colors	MAX_COLOR+1
 	col_signature			txt_colors	MAX_COLOR+1
+	col_urls			txt_colors	MAX_COLOR+1
 #endif
 	url_highlight			OPT_ON_OFF
 	word_highlight			OPT_ON_OFF
@@ -216,3 +217,13 @@
 #endif
 	url_handler			OPT_STRING
 	date_format			OPT_STRING
+#ifdef HAVE_UNICODE_NORMALIZATION
+#	ifdef HAVE_LIBICUUC
+		normalization_form		txt_normalization_forms NORMALIZE_NFD+1
+#	else
+#		ifdef HAVE_LIBIDN
+			normalization_form		txt_normalization_forms 2
+		#endif
+#	endif
+#endif
+	
diff -Nurp tin-1.7.2/src/xref.c tin-1.7.3/src/xref.c
--- tin-1.7.2/src/xref.c	Mon Oct  6 02:33:15 2003
+++ tin-1.7.3/src/xref.c	Sat Nov 29 22:30:24 2003
@@ -3,7 +3,7 @@
  *  Module    : xref.c
  *  Author    : I. Lea & H. Brugge
  *  Created   : 1993-07-01
- *  Updated   : 2003-09-29
+ *  Updated   : 2003-11-18
  *  Notes     :
  *
  * Copyright (c) 1993-2003 Iain Lea <iain@bricbrac.de>
@@ -38,15 +38,9 @@
 #ifndef TIN_H
 #	include "tin.h"
 #endif /* !TIN_H */
-
-/* dbmalloc checks memset() parameters, so we'll use it to check the assignments */
-#ifdef USE_DBMALLOC
-#	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)
-#else
-#	define BIT_OR(n, b, mask)	n[NOFFSET(b)] |= mask
-#	define BIT_AND(n, b, mask)	n[NOFFSET(b)] &= mask
-#endif /* USE_DBMALLOC */
+#ifndef NEWSRC_H
+#	include "newsrc.h"
+#endif /* !NEWSRC_H */
 
 /*
  * local prototypes
diff -Nurp tin-1.7.2/tin.spec tin-1.7.3/tin.spec
--- tin-1.7.2/tin.spec	Sun Sep 21 04:49:57 2003
+++ tin-1.7.3/tin.spec	Sat Nov 29 22:30:21 2003
@@ -1,6 +1,6 @@
 Name: tin
 Summary: tin - an easy-to-use USENET news reader
-Version: 1.7.2
+Version: 1.7.3
 Release: 1
 Copyright: BSD
 Group: Applications/News
