--- /dev/null	Sun Mar 13 14:59:14 1994
+++ ./GNUmakefile	Sat Feb 21 18:41:48 1998
@@ -0,0 +1,30 @@
+# %%% copyright-cmetz-97
+# This software is Copyright 1997 by Craig Metz, All Rights Reserved.
+# The Inner Net License Version 2 applies to this software.
+# You should have received a copy of the license with this software. If
+# you didn't get a copy, you may request one from <license@inner.net>.
+#
+
+ifndef CONFIG_DIR
+CONFIG_DIR=/usr/inet6/lib/
+endif
+
+include $(CONFIG_DIR)GNUmakefile.inc
+
+CFLAGS+=$(DINET6) $(DIPSEC)
+
+all:
+	if [ ! -f Makefile.autoconf ]; then sh ./configure --enable-termcap --prefix=$(DESTDIR) --sbindir=$(DESTDIR)$(USR_SBINDIR); fi
+	$(MAKE) -f Makefile.autoconf XCFLAGS="$(CFLAGS)" XLIBS="$(LOADLIBES)" $@
+
+install:
+	if [ ! -f Makefile.autoconf ]; then sh ./configure --enable-termcap --prefix=$(DESTDIR) --sbindir=$(DESTDIR)$(USR_SBINDIR); fi
+	$(MAKE) -f Makefile.autoconf XCFLAGS="$(CFLAGS)" XLIBS="$(LOADLIBES)" all
+	./inst s
+
+clean:
+	if [ -f Makefile.autoconf ]; then $(MAKE) -f Makefile.autoconf $@; fi
+
+realclean:
+	if [ -f Makefile.autoconf ]; then $(MAKE) -f Makefile.autoconf clean; fi
+	-rm Makefile.autoconf xmakefile config.status config.log config.h nnconfig.h
--- Makefile.in	Sat Sep  7 07:08:07 1996
+++ Makefile.in	Sat Feb 21 18:41:23 1998
@@ -20,14 +20,14 @@
 
 CC = 		@CC@
 CPP =		@CPP@
-CFLAGS = 	@CFLAGS@
-LDFLAGS = 	@LDFLAGS@ @LIBS@
+CFLAGS = 	@CFLAGS@ $(XCFLAGS)
+LDFLAGS = 	@LDFLAGS@ @LIBS@ $(XLIBS)
 
 
 SHELL = /bin/sh
 
 all: ymakefile
-	$(MAKE) $(MFLAGS) -f ymakefile all
+	$(MAKE) LDFLAGS="$(LDFLAGS) -Luulib -luu" -f ymakefile all
 
 touch: ymakefile
 	$(MAKE) -f ymakefile -t all
@@ -44,7 +44,7 @@
 client: ymakefile
 	$(MAKE) $(MFLAGS) -f ymakefile client
 
-ymakefile: Makefile xmakefile config.h
+ymakefile: Makefile.autoconf xmakefile config.h
 	cp xmakefile MF.c
 	$(CPP) -DCOMPILER="$(CC)" -DPREPROC="$(CPP)" \
 	       -DLDEBUG="$(LDFLAGS)" \
--- /dev/null	Sun Mar 13 14:59:14 1994
+++ ./README.ipv6	Sat Feb 21 18:42:45 1998
@@ -0,0 +1,20 @@
+IPv6 Support Patch for nn-tk 16.3
+=================================
+
+  This program has been modified to support IPv6. Please see the notices on
+individual files for the copyrights and licenses that apply to the changes.
+This package REQUIRES that the inet6-apps package be installed first. That
+package also contains more documentation and the actual license notices
+referenced in the copyright notice.
+
+History
+=======
+
+1	Initial release. Added a README ;)
+
+Pre-History
+===========
+
+nn-tk 16.2
+
+1	Initial release.
--- configure	Tue Feb  4 10:18:18 1997
+++ configure	Sat Feb 21 18:41:24 1998
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.10 
+# Generated automatically using autoconf version 2.12 
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
@@ -55,6 +55,8 @@
 # Initialize some other variables.
 subdirs=
 MFLAGS= MAKEFLAGS=
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
 
 ac_prev=
 for ac_option
@@ -336,7 +338,7 @@
     verbose=yes ;;
 
   -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.10"
+    echo "configure generated by autoconf version 2.12"
     exit 0 ;;
 
   -with-* | --with-*)
@@ -438,11 +440,14 @@
 done
 
 # NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+# Only set these to C if already set.  These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
 if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -rf conftest* confdefs.h
@@ -504,6 +509,7 @@
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
 ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
 
 if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
   # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
@@ -520,11 +526,12 @@
 
 
 
-for ac_prog in $CCC c++ g++ gcc CC cxx
+for ac_prog in $CCC c++ g++ gcc CC cxx cc++
 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:535: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -554,7 +561,53 @@
 test -n "$CXX" || CXX="gcc"
 
 
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:566: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 576 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  ac_cv_prog_cxx_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cxx_cross=no
+  else
+    ac_cv_prog_cxx_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cxx_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
+if test $ac_cv_prog_cxx_works = no; then
+  { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:606: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
+cross_compiling=$ac_cv_prog_cxx_cross
+
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+echo "configure:611: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -563,7 +616,7 @@
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:567: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:620: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -571,29 +624,34 @@
 fi
 
 echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+
 if test $ac_cv_prog_gxx = yes; then
   GXX=yes
-  if test "${CXXFLAGS+set}" != set; then
-    echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_prog_gxx_g'+set}'`\" = set"; then
+  ac_test_CXXFLAGS="${CXXFLAGS+set}"
+  ac_save_CXXFLAGS="$CXXFLAGS"
+  CXXFLAGS=
+  echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+echo "configure:635: checking whether ${CXX-g++} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   echo 'void f(){}' > conftest.cc
 if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
-  ac_cv_prog_gxx_g=yes
+  ac_cv_prog_cxx_g=yes
 else
-  ac_cv_prog_gxx_g=no
+  ac_cv_prog_cxx_g=no
 fi
 rm -f conftest*
 
 fi
 
-echo "$ac_t""$ac_cv_prog_gxx_g" 1>&6
-    if test $ac_cv_prog_gxx_g = yes; then
-      CXXFLAGS="-g -O"
-    else
-      CXXFLAGS="-O"
-    fi
+echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
+  if test "$ac_test_CXXFLAGS" = set; then
+    CXXFLAGS="$ac_save_CXXFLAGS"
+  elif test $ac_cv_prog_cxx_g = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-O2"
   fi
 else
   GXX=
@@ -605,6 +663,7 @@
 # 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:667: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -635,6 +694,7 @@
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:698: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -663,6 +723,7 @@
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:727: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -709,7 +770,47 @@
   test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
 fi
 
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:775: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 785 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  ac_cv_prog_cc_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cc_cross=no
+  else
+    ac_cv_prog_cc_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:809: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:814: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -718,7 +819,7 @@
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:722: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:823: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -726,29 +827,34 @@
 fi
 
 echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
 if test $ac_cv_prog_gcc = yes; then
   GCC=yes
-  if test "${CFLAGS+set}" != set; then
-    echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_prog_gcc_g'+set}'`\" = set"; then
+  ac_test_CFLAGS="${CFLAGS+set}"
+  ac_save_CFLAGS="$CFLAGS"
+  CFLAGS=
+  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:838: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   echo 'void f(){}' > conftest.c
 if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
-  ac_cv_prog_gcc_g=yes
+  ac_cv_prog_cc_g=yes
 else
-  ac_cv_prog_gcc_g=no
+  ac_cv_prog_cc_g=no
 fi
 rm -f conftest*
 
 fi
 
-echo "$ac_t""$ac_cv_prog_gcc_g" 1>&6
-    if test $ac_cv_prog_gcc_g = yes; then
-      CFLAGS="-g -O"
-    else
-      CFLAGS="-O"
-    fi
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+  if test "$ac_test_CFLAGS" = set; then
+    CFLAGS="$ac_save_CFLAGS"
+  elif test $ac_cv_prog_cc_g = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-O2"
   fi
 else
   GCC=
@@ -756,6 +862,7 @@
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:866: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -770,33 +877,37 @@
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 774 "configure"
+#line 881 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:780: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:887: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 789 "configure"
+#line 898 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:795: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:904: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   CPP=/lib/cpp
 fi
@@ -812,6 +923,7 @@
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
+echo "configure:927: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -832,7 +944,8 @@
 fi
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-set dummy ${MAKE-make}; ac_make=$2
+echo "configure:948: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -874,6 +987,7 @@
 # Extract the first word of "tclsh", so it can be a program name with args.
 set dummy tclsh; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:991: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_tclsh'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -918,6 +1032,7 @@
 found=0
 for f in $dirs ; do
     echo $ac_n "checking for tclConfig.sh in $f""... $ac_c" 1>&6
+echo "configure:1036: checking for tclConfig.sh in $f" >&5
     if test -f "$f/tclConfig.sh" ; then
 	nn_cv_path_tcl_config=$f
 	found=1
@@ -932,12 +1047,14 @@
 . $nn_cv_path_tcl_config/tclConfig.sh
 
 echo $ac_n "checking for tcl version""... $ac_c" 1>&6
+echo "configure:1051: checking for tcl version" >&5
 echo "$ac_t"""$TCL_VERSION"" 1>&6
 
 LD_FLAGS=$TCL_LD_FLAGS
 TCL_LIB="$TCL_LIB_SPEC $TCL_LIBS"
 
 echo "checking for TCL header file" 1>&6
+echo "configure:1058: checking for TCL header file" >&5
 dirs="$TCL_PREFIX/include $TCL_PREFIX/include/tcl /usr/local/include /usr/local/include/tcl"
 for i in $dirs ; do
     if test -r $i/tcl.h; then
@@ -956,6 +1073,7 @@
 # Extract the first word of "wish", so it can be a program name with args.
 set dummy wish; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1077: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_wish'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1000,6 +1118,7 @@
 found=0
 for f in $dirs ; do
     echo $ac_n "checking for tkConfig.sh in $f""... $ac_c" 1>&6
+echo "configure:1122: checking for tkConfig.sh in $f" >&5
     if test -f "$f/tkConfig.sh" ; then
 	nn_cv_path_tk_config=$f
 	found=1
@@ -1014,6 +1133,7 @@
 . $nn_cv_path_tk_config/tkConfig.sh
 
 echo $ac_n "checking for tk version""... $ac_c" 1>&6
+echo "configure:1137: checking for tk version" >&5
 echo "$ac_t"""$TK_VERSION"" 1>&6
 
 dirs="$TK_PREFIX/include $TK_PREFIX/include/tcl $TK_PREFIX/include/tk /usr/local/include /usr/local/include/tcl /usr/local/include/tk"
@@ -1032,9 +1152,10 @@
 #----------------------------------------------------------
 
 echo $ac_n "checking for inews""... $ac_c" 1>&6
+echo "configure:1156: checking for inews" >&5
 inews_not_set=1
 INEWS_PATH="\"/usr/local/lib/nn/inews\""
-dirs="/lib /usr/lib /usr/local /usr/local/lib /usr/local/news /usr/lib/news"
+dirs="/lib /usr/lib /usr/bin /usr/local /usr/local/lib /usr/local/news /usr/lib/news"
 for i in $dirs ; do
     if test -r $i/inews; then
         INEWS_PATH="\"$i/inews\""
@@ -1049,6 +1170,7 @@
 #------------------------------------------------------------
 
 echo $ac_n "checking for exmh directory""... $ac_c" 1>&6
+echo "configure:1174: checking for exmh directory" >&5
 dirs="/lib /usr/lib /usr/local /usr/local/lib"
 for i in $dirs ; do
   for j in $i/exmh*; do
@@ -1069,23 +1191,25 @@
 # zero arguments. So use our own code.
 #
 echo $ac_n "checking for strerror""... $ac_c" 1>&6
+echo "configure:1195: checking for strerror" >&5
 cat > conftest.$ac_ext <<EOF
-#line 1074 "configure"
+#line 1197 "configure"
 #include "confdefs.h"
 
 char *blubb() { return (char *) strerror (42); }
 
-int main() { return 0; }
-int t() {
+int main() {
 
 (void) blubb();
 
 ; return 0; }
 EOF
-if { (eval echo configure:1086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   have_strerror=yes
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define strerror _FP_strerror
@@ -1094,29 +1218,31 @@
 have_strerror=no
 fi
 rm -f conftest*
-
 echo "$ac_t""$have_strerror" 1>&6
 #------------------------------------------------------------
 
 if test "$use_termcap" != "1" ; then
-  ac_safe=`echo "tinfo.h" | tr './\055' '___'`
+  ac_safe=`echo "tinfo.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for tinfo.h""... $ac_c" 1>&6
+echo "configure:1228: checking for tinfo.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 1109 "configure"
+#line 1233 "configure"
 #include "confdefs.h"
 #include <tinfo.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1114: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1238: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 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
@@ -1129,24 +1255,27 @@
   echo "$ac_t""no" 1>&6
 fi
  
-  ac_safe=`echo "term.h" | tr './\055' '___'`
+  ac_safe=`echo "term.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for term.h""... $ac_c" 1>&6
+echo "configure:1261: checking for term.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 1139 "configure"
+#line 1266 "configure"
 #include "confdefs.h"
 #include <term.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1144: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1271: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 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
@@ -1167,30 +1296,32 @@
   fi
 fi
 
-echo $ac_n "checking for -lcursesX""... $ac_c" 1>&6
-ac_lib_var=`echo cursesX'_'wmove | tr './+\055' '__p_'`
+echo $ac_n "checking for wmove in -lcursesX""... $ac_c" 1>&6
+echo "configure:1301: checking for wmove in -lcursesX" >&5
+ac_lib_var=`echo cursesX'_'wmove | 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="-lcursesX  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1179 "configure"
+#line 1309 "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 wmove();
 
-int main() { return 0; }
-int t() {
+int main() {
 wmove()
 ; return 0; }
 EOF
-if { (eval echo configure:1191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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
@@ -1200,7 +1331,8 @@
 fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo cursesX | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+    ac_tr_lib=HAVE_LIB`echo cursesX | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
   cat >> confdefs.h <<EOF
 #define $ac_tr_lib 1
 EOF
@@ -1212,30 +1344,32 @@
 fi
 
 if test "$ac_cv_lib_cursesX_wmove" = "no"; then
-  echo $ac_n "checking for -lcurses""... $ac_c" 1>&6
-ac_lib_var=`echo curses'_'wrefresh | tr './+\055' '__p_'`
+  echo $ac_n "checking for wrefresh in -lcurses""... $ac_c" 1>&6
+echo "configure:1349: checking for wrefresh in -lcurses" >&5
+ac_lib_var=`echo curses'_'wrefresh | 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="-lcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1224 "configure"
+#line 1357 "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 wrefresh();
 
-int main() { return 0; }
-int t() {
+int main() {
 wrefresh()
 ; return 0; }
 EOF
-if { (eval echo configure:1236: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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
@@ -1245,7 +1379,8 @@
 fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo curses | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+    ac_tr_lib=HAVE_LIB`echo curses | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
   cat >> confdefs.h <<EOF
 #define $ac_tr_lib 1
 EOF
@@ -1257,30 +1392,32 @@
 fi
 
   if test "$ac_cv_lib_curses_wrefresh" = "no"; then
-    echo $ac_n "checking for -lncurses""... $ac_c" 1>&6
-ac_lib_var=`echo ncurses'_'wclear | tr './+\055' '__p_'`
+    echo $ac_n "checking for wclear in -lncurses""... $ac_c" 1>&6
+echo "configure:1397: checking for wclear in -lncurses" >&5
+ac_lib_var=`echo ncurses'_'wclear | 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="-lncurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1269 "configure"
+#line 1405 "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 wclear();
 
-int main() { return 0; }
-int t() {
+int main() {
 wclear()
 ; return 0; }
 EOF
-if { (eval echo configure:1281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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
@@ -1290,7 +1427,8 @@
 fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo ncurses | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+    ac_tr_lib=HAVE_LIB`echo ncurses | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
   cat >> confdefs.h <<EOF
 #define $ac_tr_lib 1
 EOF
@@ -1303,30 +1441,32 @@
 
   fi
 fi
-echo $ac_n "checking for -ltinfo""... $ac_c" 1>&6
-ac_lib_var=`echo tinfo'_'restartterm | tr './+\055' '__p_'`
+echo $ac_n "checking for restartterm in -ltinfo""... $ac_c" 1>&6
+echo "configure:1446: checking for restartterm in -ltinfo" >&5
+ac_lib_var=`echo tinfo'_'restartterm | 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="-ltinfo  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1315 "configure"
+#line 1454 "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 restartterm();
 
-int main() { return 0; }
-int t() {
+int main() {
 restartterm()
 ; return 0; }
 EOF
-if { (eval echo configure:1327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1465: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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
@@ -1336,7 +1476,8 @@
 fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo tinfo | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+    ac_tr_lib=HAVE_LIB`echo tinfo | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
   cat >> confdefs.h <<EOF
 #define $ac_tr_lib 1
 EOF
@@ -1347,30 +1488,32 @@
   echo "$ac_t""no" 1>&6
 fi
 
-echo $ac_n "checking for -lsocket""... $ac_c" 1>&6
-ac_lib_var=`echo socket'_'socket | tr './+\055' '__p_'`
+echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
+echo "configure:1493: 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
 else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1359 "configure"
+#line 1501 "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 socket();
 
-int main() { return 0; }
-int t() {
+int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:1371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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
@@ -1380,7 +1523,8 @@
 fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo socket | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+    ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
   cat >> confdefs.h <<EOF
 #define $ac_tr_lib 1
 EOF
@@ -1391,30 +1535,32 @@
   echo "$ac_t""no" 1>&6
 fi
 
-echo $ac_n "checking for -lnsl""... $ac_c" 1>&6
-ac_lib_var=`echo nsl'_'gethostbyname | tr './+\055' '__p_'`
+echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
+echo "configure:1540: 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
 else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1403 "configure"
+#line 1548 "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 gethostbyname();
 
-int main() { return 0; }
-int t() {
+int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:1415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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
@@ -1424,7 +1570,8 @@
 fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo nsl | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+    ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
   cat >> confdefs.h <<EOF
 #define $ac_tr_lib 1
 EOF
@@ -1436,30 +1583,32 @@
 fi
 
 if test "$use_terminfo" != "1"; then
-  echo $ac_n "checking for -ltermcap""... $ac_c" 1>&6
-ac_lib_var=`echo termcap'_'tgoto | tr './+\055' '__p_'`
+  echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
+echo "configure:1588: 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
 else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1448 "configure"
+#line 1596 "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 tgoto();
 
-int main() { return 0; }
-int t() {
+int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:1460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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
@@ -1469,7 +1618,8 @@
 fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo termcap | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+    ac_tr_lib=HAVE_LIB`echo termcap | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
   cat >> confdefs.h <<EOF
 #define $ac_tr_lib 1
 EOF
@@ -1485,34 +1635,35 @@
 ac_header_dirent=no
 for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
 do
-ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
+echo "configure:1641: checking for $ac_hdr that defines DIR" >&5
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1495 "configure"
+#line 1646 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
-int main() { return 0; }
-int t() {
+int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:1504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=no"
 fi
 rm -f conftest*
-
 fi
 if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | tr 'abcdedfghijklmnopqrstuvwxyz./\055' 'ABCDEDFGHIJKLMNOPQRSTUVWXYZ___'`
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
   cat >> confdefs.h <<EOF
 #define $ac_tr_hdr 1
 EOF
@@ -1523,30 +1674,32 @@
 done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
-echo $ac_n "checking for -ldir""... $ac_c" 1>&6
-ac_lib_var=`echo dir'_'opendir | tr './+\055' '__p_'`
+echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
+echo "configure:1679: checking for opendir in -ldir" >&5
+ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1535 "configure"
+#line 1687 "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 opendir();
 
-int main() { return 0; }
-int t() {
+int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:1547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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
@@ -1562,30 +1715,32 @@
 fi
 
 else
-echo $ac_n "checking for -lx""... $ac_c" 1>&6
-ac_lib_var=`echo x'_'opendir | tr './+\055' '__p_'`
+echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
+echo "configure:1720: checking for opendir in -lx" >&5
+ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1574 "configure"
+#line 1728 "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 opendir();
 
-int main() { return 0; }
-int t() {
+int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:1586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:1739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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
@@ -1602,38 +1757,13 @@
 
 fi
 
-# If we cannot run a trivial program, we must be cross compiling.
-echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_c_cross=yes
-else
-cat > conftest.$ac_ext <<EOF
-#line 1615 "configure"
-#include "confdefs.h"
-main(){return(0);}
-EOF
-{ (eval echo configure:1619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
-  ac_cv_c_cross=no
-else
-  ac_cv_c_cross=yes
-fi
-fi
-rm -fr conftest*
-fi
-
-echo "$ac_t""$ac_cv_c_cross" 1>&6
-cross_compiling=$ac_cv_c_cross
-
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+echo "configure:1762: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1637 "configure"
+#line 1767 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1641,13 +1771,15 @@
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1645: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1775: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
   ac_cv_header_stdc=yes
 else
   echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   ac_cv_header_stdc=no
 fi
@@ -1656,7 +1788,7 @@
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1660 "configure"
+#line 1792 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1674,7 +1806,7 @@
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1678 "configure"
+#line 1810 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1694,8 +1826,8 @@
 if test "$cross_compiling" = yes; then
   :
 else
-cat > conftest.$ac_ext <<EOF
-#line 1699 "configure"
+  cat > conftest.$ac_ext <<EOF
+#line 1831 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1706,15 +1838,19 @@
 exit (0); }
 
 EOF
-{ (eval echo configure:1710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
+if { (eval echo configure:1842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
   :
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
   ac_cv_header_stdc=no
 fi
-fi
 rm -fr conftest*
 fi
+
+fi
 fi
 
 echo "$ac_t""$ac_cv_header_stdc" 1>&6
@@ -1726,11 +1862,12 @@
 fi
 
 echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
+echo "configure:1866: checking for sys/wait.h that is POSIX.1 compatible" >&5
 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1734 "configure"
+#line 1871 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -1740,22 +1877,22 @@
 #ifndef WIFEXITED
 #define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
 #endif
-int main() { return 0; }
-int t() {
+int main() {
 int s;
 wait (&s);
 s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 ; return 0; }
 EOF
-if { (eval echo configure:1751: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1887: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_sys_wait_h=yes
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   ac_cv_header_sys_wait_h=no
 fi
 rm -f conftest*
-
 fi
 
 echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6
@@ -1768,24 +1905,27 @@
 
 for ac_hdr in fcntl.h limits.h memory.h malloc.h sgtty.h stat.h string.h stdlib.h strings.h sys/file.h sys/ioctl.h sys/stat.h syslog.h termios.h termio.h unistd.h stdarg.h varargs.h cursesX.h ncurses.h
 do
-ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1911: 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 1778 "configure"
+#line 1916 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1783: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1921: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 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
@@ -1793,7 +1933,7 @@
 fi
 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | tr 'abcdefghijklmnopqrstuvwxyz./\055' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ___'`
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
   cat >> confdefs.h <<EOF
 #define $ac_tr_hdr 1
 EOF
@@ -1805,19 +1945,21 @@
 
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
+echo "configure:1949: checking for off_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1813 "configure"
+#line 1954 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
 #include <stdlib.h>
+#include <stddef.h>
 #endif
 EOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "off_t" >/dev/null 2>&1; then
+  egrep "off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
   rm -rf conftest*
   ac_cv_type_off_t=yes
 else
@@ -1836,19 +1978,21 @@
 fi
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
+echo "configure:1982: checking for pid_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1844 "configure"
+#line 1987 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
 #include <stdlib.h>
+#include <stddef.h>
 #endif
 EOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "pid_t" >/dev/null 2>&1; then
+  egrep "pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
   rm -rf conftest*
   ac_cv_type_pid_t=yes
 else
@@ -1867,28 +2011,29 @@
 fi
 
 echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
+echo "configure:2015: checking whether struct tm is in sys/time.h or time.h" >&5
 if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1875 "configure"
+#line 2020 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <time.h>
-int main() { return 0; }
-int t() {
+int main() {
 struct tm *tp; tp->tm_sec;
 ; return 0; }
 EOF
-if { (eval echo configure:1884: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2028: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_struct_tm=time.h
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   ac_cv_struct_tm=sys/time.h
 fi
 rm -f conftest*
-
 fi
 
 echo "$ac_t""$ac_cv_struct_tm" 1>&6
@@ -1901,11 +2046,12 @@
 
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
+echo "configure:2050: checking for uid_t in sys/types.h" >&5
 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1909 "configure"
+#line 2055 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -1934,14 +2080,15 @@
 fi
 
 echo $ac_n "checking type of array argument to getgroups""... $ac_c" 1>&6
+echo "configure:2084: checking type of array argument to getgroups" >&5
 if eval "test \"`echo '$''{'ac_cv_type_getgroups'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
   ac_cv_type_getgroups=cross
 else
-cat > conftest.$ac_ext <<EOF
-#line 1945 "configure"
+  cat > conftest.$ac_ext <<EOF
+#line 2092 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Rendell for this test.  */
@@ -1966,17 +2113,21 @@
 }
 
 EOF
-{ (eval echo configure:1970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
+if { (eval echo configure:2117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
     ac_cv_type_getgroups=gid_t
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
   ac_cv_type_getgroups=int
 fi
-fi
 rm -fr conftest*
+fi
+
 if test $ac_cv_type_getgroups = cross; then
         cat > conftest.$ac_ext <<EOF
-#line 1980 "configure"
+#line 2131 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 EOF
@@ -2001,12 +2152,13 @@
 
 if test $ac_cv_prog_gcc = yes; then
     echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
+echo "configure:2156: checking whether ${CC-cc} needs -traditional" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
     ac_pattern="Autoconf.*'x'"
   cat > conftest.$ac_ext <<EOF
-#line 2010 "configure"
+#line 2162 "configure"
 #include "confdefs.h"
 #include <sgtty.h>
 Autoconf TIOCGETP
@@ -2024,7 +2176,7 @@
 
   if test $ac_cv_prog_gcc_traditional = no; then
     cat > conftest.$ac_ext <<EOF
-#line 2028 "configure"
+#line 2180 "configure"
 #include "confdefs.h"
 #include <termio.h>
 Autoconf TCGETA
@@ -2046,14 +2198,15 @@
 fi
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_func_memcmp'+set}'`\" = set"; then
+echo "configure:2202: checking for 8-bit clean memcmp" >&5
+if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
-  ac_cv_func_memcmp=no
+  ac_cv_func_memcmp_clean=no
 else
-cat > conftest.$ac_ext <<EOF
-#line 2057 "configure"
+  cat > conftest.$ac_ext <<EOF
+#line 2210 "configure"
 #include "confdefs.h"
 
 main()
@@ -2063,25 +2216,30 @@
 }
 
 EOF
-{ (eval echo configure:2067: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
-  ac_cv_func_memcmp=yes
+if { (eval echo configure:2220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+  ac_cv_func_memcmp_clean=yes
 else
-  ac_cv_func_memcmp=no
-fi
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  ac_cv_func_memcmp_clean=no
 fi
 rm -fr conftest*
 fi
 
-echo "$ac_t""$ac_cv_func_memcmp" 1>&6
-test $ac_cv_func_memcmp = no && LIBOBJS="$LIBOBJS memcmp.o"
+fi
+
+echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
+test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
+echo "configure:2238: 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 2085 "configure"
+#line 2243 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -2094,20 +2252,20 @@
 void (*signal ()) ();
 #endif
 
-int main() { return 0; }
-int t() {
+int main() {
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:2103: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2260: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   ac_cv_type_signal=int
 fi
 rm -f conftest*
-
 fi
 
 echo "$ac_t""$ac_cv_type_signal" 1>&6
@@ -2116,15 +2274,16 @@
 EOF
 
 
-echo $ac_n "checking for strcoll""... $ac_c" 1>&6
-if eval "test \"`echo '$''{'ac_cv_func_strcoll'+set}'`\" = set"; then
+echo $ac_n "checking for working strcoll""... $ac_c" 1>&6
+echo "configure:2279: checking for working strcoll" >&5
+if eval "test \"`echo '$''{'ac_cv_func_strcoll_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
-  ac_cv_func_strcoll=no
+  ac_cv_func_strcoll_works=no
 else
-cat > conftest.$ac_ext <<EOF
-#line 2128 "configure"
+  cat > conftest.$ac_ext <<EOF
+#line 2287 "configure"
 #include "confdefs.h"
 #include <string.h>
 main ()
@@ -2134,18 +2293,22 @@
 	strcoll ("123", "456") >= 0);
 }
 EOF
-{ (eval echo configure:2138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
-  ac_cv_func_strcoll=yes
+if { (eval echo configure:2297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+  ac_cv_func_strcoll_works=yes
 else
-  ac_cv_func_strcoll=no
-fi
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  ac_cv_func_strcoll_works=no
 fi
 rm -fr conftest*
 fi
 
-echo "$ac_t""$ac_cv_func_strcoll" 1>&6
-if test $ac_cv_func_strcoll = yes; then
+fi
+
+echo "$ac_t""$ac_cv_func_strcoll_works" 1>&6
+if test $ac_cv_func_strcoll_works = yes; then
   cat >> confdefs.h <<\EOF
 #define HAVE_STRCOLL 1
 EOF
@@ -2153,11 +2316,12 @@
 fi
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
+echo "configure:2320: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2161 "configure"
+#line 2325 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -2167,8 +2331,7 @@
     builtin and then its argument prototype would still apply.  */
 char vprintf();
 
-int main() { return 0; }
-int t() {
+int main() {
 
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
@@ -2181,16 +2344,18 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:2348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_func_vprintf=no"
 fi
 rm -f conftest*
-
 fi
+
 if eval "test \"`echo '$ac_cv_func_'vprintf`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   cat >> confdefs.h <<\EOF
@@ -2203,11 +2368,12 @@
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
+echo "configure:2372: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2211 "configure"
+#line 2377 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -2217,8 +2383,7 @@
     builtin and then its argument prototype would still apply.  */
 char _doprnt();
 
-int main() { return 0; }
-int t() {
+int main() {
 
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
@@ -2231,16 +2396,18 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:2400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_func__doprnt=no"
 fi
 rm -f conftest*
-
 fi
+
 if eval "test \"`echo '$ac_cv_func_'_doprnt`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   cat >> confdefs.h <<\EOF
@@ -2257,11 +2424,12 @@
 truncate uname ualarm siginterrupt opendir
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2428: 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 2265 "configure"
+#line 2433 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2271,8 +2439,7 @@
     builtin and then its argument prototype would still apply.  */
 char $ac_func();
 
-int main() { return 0; }
-int t() {
+int main() {
 
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
@@ -2285,16 +2452,18 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+if { (eval echo configure:2456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=no"
 fi
 rm -f conftest*
-
 fi
+
 if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
   echo "$ac_t""yes" 1>&6
     ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
@@ -2313,6 +2482,7 @@
 # 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:2486: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_mailx_path'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2353,6 +2523,7 @@
 # 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:2527: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_shell_path'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2390,29 +2561,30 @@
 
 
 echo $ac_n "checking for job control/SIGSTP ""... $ac_c" 1>&6
+echo "configure:2565: checking for job control/SIGSTP " >&5
 if eval "test \"`echo '$''{'nn_cv_sys_jc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2398 "configure"
+#line 2570 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
 #endif
-int main() { return 0; }
-int t() {
+int main() {
 int x = signal(SIGSTP, SIG_DFL)
 ; return 0; }
 EOF
-if { (eval echo configure:2408: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2579: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   nn_cv_sys_jc=no
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   nn_cv_sys_jc=yes
 fi
 rm -f conftest*
-
 fi
 
 echo "$ac_t""$nn_cv_sys_jc" 1>&6
@@ -2424,29 +2596,30 @@
 fi
 
 echo $ac_n "checking for window resizing/SIGWINCH ""... $ac_c" 1>&6
+echo "configure:2600: checking for window resizing/SIGWINCH " >&5
 if eval "test \"`echo '$''{'nn_cv_sys_resize'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2432 "configure"
+#line 2605 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
 #endif
-int main() { return 0; }
-int t() {
+int main() {
 int x = signal(SIGWINCH, SIG_DFL)
 ; return 0; }
 EOF
-if { (eval echo configure:2442: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2614: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   nn_cv_sys_resize=no
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   nn_cv_sys_resize=yes
 fi
 rm -f conftest*
-
 fi
 
 echo "$ac_t""$nn_cv_sys_resize" 1>&6
@@ -2458,7 +2631,7 @@
 fi
 
 cat > conftest.$ac_ext <<EOF
-#line 2462 "configure"
+#line 2635 "configure"
 #include "confdefs.h"
 #include <curses.h>
 EOF
@@ -2474,58 +2647,60 @@
 
 
 echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
+echo "configure:2651: checking whether byte ordering is bigendian" >&5
 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_bigendian=unknown
 # See if sys/param.h defines the BYTE_ORDER macro.
 cat > conftest.$ac_ext <<EOF
-#line 2484 "configure"
+#line 2658 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
-int main() { return 0; }
-int t() {
+int main() {
 
 #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
  bogus endian macros
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:2496: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2669: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   # It does; now see whether it defined to BIG_ENDIAN or not.
 cat > conftest.$ac_ext <<EOF
-#line 2500 "configure"
+#line 2673 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
-int main() { return 0; }
-int t() {
+int main() {
 
 #if BYTE_ORDER != BIG_ENDIAN
  not big endian
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:2512: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2684: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_bigendian=yes
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
   rm -rf conftest*
   ac_cv_c_bigendian=no
 fi
 rm -f conftest*
-
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
 fi
 rm -f conftest*
-
 if test $ac_cv_c_bigendian = unknown; then
 if test "$cross_compiling" = yes; then
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
-cat > conftest.$ac_ext <<EOF
-#line 2529 "configure"
+  cat > conftest.$ac_ext <<EOF
+#line 2704 "configure"
 #include "confdefs.h"
 main () {
   /* Are we little or big endian?  From Harbison&Steele.  */
@@ -2538,15 +2713,19 @@
   exit (u.c[sizeof (long) - 1] == 1);
 }
 EOF
-{ (eval echo configure:2542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
+if { (eval echo configure:2717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
   ac_cv_c_bigendian=no
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
   ac_cv_c_bigendian=yes
 fi
-fi
 rm -fr conftest*
 fi
+
+fi
 fi
 
 echo "$ac_t""$ac_cv_c_bigendian" 1>&6
@@ -2558,14 +2737,15 @@
 fi
 
 echo $ac_n "checking size of char""... $ac_c" 1>&6
+echo "configure:2741: checking size of char" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_char'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
-cat > conftest.$ac_ext <<EOF
-#line 2569 "configure"
+  cat > conftest.$ac_ext <<EOF
+#line 2749 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -2576,15 +2756,19 @@
   exit(0);
 }
 EOF
-{ (eval echo configure:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
+if { (eval echo configure:2760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
   ac_cv_sizeof_char=`cat conftestval`
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
   ac_cv_sizeof_char=0
 fi
-fi
 rm -fr conftest*
 fi
+
+fi
 echo "$ac_t""$ac_cv_sizeof_char" 1>&6
 cat >> confdefs.h <<EOF
 #define SIZEOF_CHAR $ac_cv_sizeof_char
@@ -2592,14 +2776,15 @@
 
 
 echo $ac_n "checking size of short""... $ac_c" 1>&6
+echo "configure:2780: checking size of short" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
-cat > conftest.$ac_ext <<EOF
-#line 2603 "configure"
+  cat > conftest.$ac_ext <<EOF
+#line 2788 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -2610,15 +2795,19 @@
   exit(0);
 }
 EOF
-{ (eval echo configure:2614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
+if { (eval echo configure:2799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
   ac_cv_sizeof_short=`cat conftestval`
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
   ac_cv_sizeof_short=0
 fi
-fi
 rm -fr conftest*
 fi
+
+fi
 echo "$ac_t""$ac_cv_sizeof_short" 1>&6
 cat >> confdefs.h <<EOF
 #define SIZEOF_SHORT $ac_cv_sizeof_short
@@ -2626,14 +2815,15 @@
 
 
 echo $ac_n "checking size of long""... $ac_c" 1>&6
+echo "configure:2819: checking size of long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
-cat > conftest.$ac_ext <<EOF
-#line 2637 "configure"
+  cat > conftest.$ac_ext <<EOF
+#line 2827 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -2644,15 +2834,19 @@
   exit(0);
 }
 EOF
-{ (eval echo configure:2648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
+if { (eval echo configure:2838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
   ac_cv_sizeof_long=`cat conftestval`
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
   ac_cv_sizeof_long=0
 fi
-fi
 rm -fr conftest*
 fi
+
+fi
 echo "$ac_t""$ac_cv_sizeof_long" 1>&6
 cat >> confdefs.h <<EOF
 #define SIZEOF_LONG $ac_cv_sizeof_long
@@ -2660,14 +2854,15 @@
 
 
 echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6
+echo "configure:2858: checking size of unsigned long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
-cat > conftest.$ac_ext <<EOF
-#line 2671 "configure"
+  cat > conftest.$ac_ext <<EOF
+#line 2866 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -2678,15 +2873,19 @@
   exit(0);
 }
 EOF
-{ (eval echo configure:2682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
+if { (eval echo configure:2877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
   ac_cv_sizeof_unsigned_long=`cat conftestval`
 else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
   ac_cv_sizeof_unsigned_long=0
 fi
-fi
 rm -fr conftest*
 fi
+
+fi
 echo "$ac_t""$ac_cv_sizeof_unsigned_long" 1>&6
 cat >> confdefs.h <<EOF
 #define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long
@@ -2755,11 +2954,25 @@
 # --recheck option to rerun configure.
 #
 EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
 (set) 2>&1 |
-  sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
-  >> confcache
+  case `(ac_space=' '; set) 2>&1` in
+  *ac_space=\ *)
+    # `set' does not quote correctly, so add quotes (double-quote substitution
+    # turns \\\\ into \\, and sed turns \\ into \).
+    sed -n \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
 if cmp -s $cache_file confcache; then
   :
 else
@@ -2814,7 +3027,7 @@
     echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
     exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.10"
+    echo "$CONFIG_STATUS generated by autoconf version 2.12"
     exit 0 ;;
   -help | --help | --hel | --he | --h)
     echo "\$ac_cs_usage"; exit 0 ;;
@@ -2824,7 +3037,7 @@
 
 ac_given_srcdir=$srcdir
 
-trap 'rm -fr `echo "Makefile inews/Makefile  nnconfig.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+trap 'rm -fr `echo "Makefile.autoconf:Makefile.in inews/Makefile  nnconfig.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
 cat >> $CONFIG_STATUS <<EOF
 
@@ -2868,20 +3081,56 @@
 
 CEOF
 EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+  if test $ac_beg -gt 1; then
+    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+  else
+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+  fi
+  if test ! -s conftest.s$ac_file; then
+    ac_more_lines=false
+    rm -f conftest.s$ac_file
+  else
+    if test -z "$ac_sed_cmds"; then
+      ac_sed_cmds="sed -f conftest.s$ac_file"
+    else
+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+    fi
+    ac_file=`expr $ac_file + 1`
+    ac_beg=$ac_end
+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
+  fi
+done
+if test -z "$ac_sed_cmds"; then
+  ac_sed_cmds=cat
+fi
+EOF
+
 cat >> $CONFIG_STATUS <<EOF
 
-CONFIG_FILES=\${CONFIG_FILES-"Makefile inews/Makefile "}
+CONFIG_FILES=\${CONFIG_FILES-"Makefile.autoconf:Makefile.in inews/Makefile "}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile]", defaulting infile="outfile.in".
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
   case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
        ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
   *) ac_file_in="${ac_file}.in" ;;
   esac
 
-  # Adjust relative srcdir, etc. for subdirectories.
+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
 
   # Remove last slash and all that follows it.  Not all systems have dirname.
   ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
@@ -2905,6 +3154,7 @@
     top_srcdir="$ac_dots$ac_given_srcdir" ;;
   esac
 
+
   echo creating "$ac_file"
   rm -f "$ac_file"
   configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
@@ -2913,13 +3163,15 @@
 # $configure_input" ;;
   *) ac_comsub= ;;
   esac
+
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
   sed -e "$ac_comsub
 s%@configure_input@%$configure_input%g
 s%@srcdir@%$srcdir%g
 s%@top_srcdir@%$top_srcdir%g
-" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
 fi; done
-rm -f conftest.subs
+rm -f conftest.s*
 
 # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
 # NAME is the cpp macro being defined and VALUE is the value it is being given.
@@ -2940,11 +3192,17 @@
 ac_eC=' '
 ac_eD='%g'
 
-CONFIG_HEADERS=${CONFIG_HEADERS-"nnconfig.h"}
+if test "${CONFIG_HEADERS+set}" != set; then
+EOF
+cat >> $CONFIG_STATUS <<EOF
+  CONFIG_HEADERS="nnconfig.h"
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+fi
 for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile]", defaulting infile="outfile.in".
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
   case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
        ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
   *) ac_file_in="${ac_file}.in" ;;
   esac
@@ -2952,7 +3210,8 @@
   echo creating $ac_file
 
   rm -f conftest.frag conftest.in conftest.out
-  cp $ac_given_srcdir/$ac_file_in conftest.in
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  cat $ac_file_inputs > conftest.in
 
 EOF
 
@@ -2980,8 +3239,6 @@
 
 # Break up conftest.vals because some shells have a limit on
 # the size of here documents, and old seds have small limits too.
-# Maximum number of lines to put in a single here document.
-ac_max_here_lines=12
 
 rm -f conftest.tail
 while :
@@ -3023,7 +3280,11 @@
   fi
 fi; done
 
+EOF
+cat >> $CONFIG_STATUS <<EOF
 
+EOF
+cat >> $CONFIG_STATUS <<\EOF
 
 exit 0
 EOF
--- configure.in	Wed Feb 26 05:51:01 1997
+++ configure.in	Sat Feb 21 18:41:25 1998
@@ -271,7 +271,7 @@
   AC_MSG_WARN()
 fi
 
-AC_OUTPUT(Makefile inews/Makefile )
+AC_OUTPUT(Makefile.autoconf:Makefile.in inews/Makefile )
 
 cd uulib
 ./configure
--- nntp.c	Fri Jan  9 04:49:34 1998
+++ nntp.c	Sat Feb 21 18:41:25 1998
@@ -1,4 +1,14 @@
 /*
+%%% portions-copyright-cmetz-97
+Portions of this software are Copyright 1997 by Craig Metz, All Rights
+Reserved. The Inner Net License Version 2 applies to these portions of
+the software.
+You should have received a copy of the license with this software. If
+you didn't get a copy, you may request one from <license@inner.net>.
+
+*/
+
+/*
  * nntp module for nn.
  *
  * The original taken from the nntp 1.5 clientlib.c
@@ -39,6 +49,9 @@
 /* This is necessary due to the definitions in m-XXX.h */
 #include <netinet/in.h>
 
+#if INET6
+#include "support.h"
+#endif /* INET6 */
 
 
 /* nntp.c */
@@ -87,7 +100,9 @@
 
 #if !defined(__FreeBSD__) && !defined(__NetBSD__)
 import int sys_nerr;
+#ifndef __linux__
 import char *sys_errlist[];
+#endif /* __linux__ */
 #endif
 extern void nn_exitmsg();
 extern void sys_error();
@@ -332,9 +347,54 @@
  * the -r interval is) are not that bad.  Dave Olson, SGI
  */
 
+#if INET6
+int trying_callback(struct sockaddr *sa)
+{
+  char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];
+
+  if (getnameinfo(sa, NRL_SA_LEN(sa), hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV)) {
+    msg("getnameinfo failed\n");
+    return -1;
+  };
+
+  msg("Trying %s.%s...", hbuf, sbuf);
+  return 0;
+};
+
+int error_callback(char *myname, char *message)
+{
+  msg(message);
+  return 0;
+};
+#endif /* INET6 */
+
 static int
 get_socket()
 {
+#if INET6
+  struct addrinfo req, *ai;
+  int i;
+
+  memset(&req, 0, sizeof(struct addrinfo));
+  req.ai_socktype = SOCK_STREAM;
+
+  if (i = getaddrinfo(nntp_server, "nntp", &req, &ai)) {
+    sys_warning("getaddrinfo %s.nntp: %s(%d)", nntp_server, gai_strerror(i), i);
+    return -1;
+  };
+
+#if NETSEC
+  i = inner_connect(ai, request, requestlen, &trying_callback, &error_callback, NULL, NULL);
+#else /* NETSEC */
+  i = inner_connect(ai, NULL, 0, &trying_callback, &error_callback, NULL, NULL);
+#endif /* NETSEC */
+  freeaddrinfo(ai);
+  if (i < 0) {
+    sys_warning("Giving up on NNTP server %s!", nntp_server);
+    return -1;
+  };
+  return i;
+#else /* INET6 */
     int s;
     struct sockaddr_in sin;
     struct servent *getservbyname(), *sp;
@@ -410,6 +470,7 @@
     (void) close(s);
     sys_warning("Connection to %s failed: %s", nntp_server, syserr());
     return -1;
+#endif /* INET6 */
 }
 
 /*
--- inews/Makefile	Mon Aug 18 21:18:56 1997
+++ inews/Makefile	Sat Feb 21 18:41:26 1998
@@ -11,14 +11,14 @@
 # General definitions here which apply to all -- form -DDEF
 DEFS	= -DFOR_NN
 # Link libraries -- form -lLIB
-LIBS	= ../hostname.o -lcurses 
+LIBS	= ../hostname.o -ltermcap -lnsl 
 # Lint definitions -- same as DEFS, but form -D DEF
 LDEFS	= -D lint -D FOR_NN
 # Lint libraries -- same as LIBS, but form -l LIB
 LLIBS	=
 # Set to -g for debugging, -O for optimise, or both if compiler handles it
 # DEBUG	= -O
-CFLAGS	= -g -O $(DEFS) -I.. -I../conf
+CFLAGS	= -g -O2 $(DEFS) -I.. -I../conf
 
 SRCS	= inews.c clientlib.c version.c
 OBJS	= inews.o clientlib.o version.o
--- man/nn.1	Fri Jul 18 02:11:33 1997
+++ man/nn.1	Sat Feb 21 18:41:27 1998
@@ -1,6141 +0,0 @@
-.\" BEGINPART A
-.TH NN 1 "Release 6.5"
-.\" (c) Copyright 1988, 1990, Kim F. Storm.  All rights reserved.
-.\"
-.\" NOTICE:  Some versions of the -man package may have problems with
-.\" =======  the @ characters in this manual.  Fix your man package by
-.\"          substituting ALL occurrences of the @ character in
-.\"          tmac.an (or perhaps tmac.an.new) by a BEL (^G) character.
-.\"
-.UC 4
-.SH NAME
-nn, nn-tk \- efficient net news interface (No News is good news)
-.SH SYNOPSIS
-.B nn
-[ \fIoptions\fP ] [ \fInewsgroup\fP  |  +\fIfolder\fP  |  \fIfile\fP ]...
-.br
-.B nn
--g [ -r ]
-.br
-.B nn
--a0 [ \fInewsgroup\fP ]...
-.br
-also
-.B nn-tk
-.SH DESCRIPTION
-Net news is a world-wide information exchange service covering
-numerous topics in science and every day life.  Topics are organized
-in \fInews\ groups\fP, and these groups are open for everybody to post
-\fIarticles\fP on a subject related to the topic of the group.
-.LP
-\fINn\fP is a `point-and-shoot' net news interface program, or a
-\fInews reader\fP for short (not to be confused with the \fIhuman\fP
-news reader).  When you use \fInn\fP, you can decide which of the many
-news groups you are interested in, and you can unsubscribe to those
-which don't interest you.  \fInn\fP will let you read the new (and
-old) articles in each of the groups you subscribe to using a menu
-based article selection prior to reading the articles in the news
-group.
-.PP
-When a news group is entered, \fInn\fP will locate all the presently
-unread articles in the group, and extract their sender, subject, and
-other relevant information.  This information is then rearranged,
-sorted, and marked in various ways to give it a pleasant format when
-it is presented on the screen.
-.PP
-When the article menu appears on the screen, \fInn\fP will be in a
-mode called \fBselection mode\fP.  In this mode, the articles which
-seems to be interesting can be selected by single keystrokes (using
-the keys a-z and 0-9).  When all the interesting articles among the
-ones presently displayed have been selected, the space bar is hit,
-which causes \fInn\fP to enter reading mode.
-.PP
-In \fBreading mode\fP, each of the selected articles will be presented.
-You use the \fBspace bar\fP to go on to the next page of
-the current article, or to the next article.  Of course, there are
-all sorts of commands to scroll text up and down, skip to the next
-article, responding to an article, decrypt an article, and so on.
-.PP
-When all the selected articles in the current group have been read,
-the last hit on the space bar will cause \fInn\fP will continue to the
-next group with unread articles, and enter selection mode on that group.
-.PP
-\fINN\fP can (if compiled for it) to read news via NNTP as well
-as local news files.
-.SH NN-TK
-The TCL/TK code provides a GUI interface with command menus and
-buttons. 
-.RS
-The features include:
-.IP
-the use of the mouse to select articles
-.IP
-a scrolling panel for displaying articles
-.IP
-a panel displaying the article thread structure
-.IP
-group selection using either of scrolling panel or cascading menus.
-.IP
-group sequence modification via the group list
-.IP
-.RE
-.RS
-If EXMH is available then there is also:
-.IP
-an internal editor for posting items
-.IP
-the ability to send and read MIME and PGP messages
-.IP
-the ability to view HTML inline (EXMH 2.0)
-.IP
-the ability to turn URL's into buttons for
-passing to a WWW browser.
-.RE
-.SH FREQUENTLY USED OPTIONS
-\fInn\fP accepts a lot of command line options, but here only the
-frequently used options are described.  Options can also be set
-permanently by including appropriate \fIvariable\fP settings in the
-\fIinit\fP file described later.  All options are described in the
-section on Command Line Options towards the end of this manual.
-.LP
-The frequently used command line options are:
-.TP
-\-\fBa0\fP
-Catch up on unread articles and groups.  See the section "Catch up"
-below.
-.TP
-\-\fBA\fP
-Don't read active file, instead use the .newsrc file
-for the list of groups, this can be useful for slow NNTP connections.
-.TP
-\-\fBg\fP
-Prompt for the name of a news group or folder to be entered (with
-completion).
-.TP
-\-\fBr\fP
-Used with \-\fBg\fP to repeatedly prompt for groups to enter.
-.TP
-\-\fBl\fP\fIN\fP
-Print only the first \fIN\fP lines of the first page of each article
-before prompting to continue.  This is useful on slow terminals and
-modem lines to be able to see the first few lines of longer articles.
-.TP
-\-\fBs\fP\fIWORD\fP
-Collect only articles which contain the string
-.I WORD
-in their subject (case is ignored).  This is normally combined with
-the -x and -m options to find all articles on a specific subject.
-.TP
-\-\fBs/\fP\fIregexp\fP
-Collect only articles whose subject matches the regular expression
-.IR regexp .
-This is normally combined with the -x and -m options to find all
-articles on a specific subject.
-.TP
-\-\fBn\fP\fIWORD\fP or \-\fBn/\fP\fIregexp\fP
-Same as \-\fBs\fP except that it matches on the sender's name
-instead of the article's subject.
-This is normally combined with the -x and -m options to find all
-articles from a specific author.  It cannot be mixed with the
-\-\fBs\fP option!
-.TP
-\-\fBi\fP
-Normally searches with \-\fBn\fP and \-\fBs\fP are case independent.
-Using this option, the case becomes significant.
-.TP
-\-\fBm\fP
-Merge all articles into one `meta group' instead of showing
-them one group at a time.  This is normally used together with the -x
-and -s options to get all the articles on a specific subject presented
-on a single menu (when you don't care about which group they belong
-to).  When -m is used, no articles will be marked as read.
-.TP
-\-\fBR\fP host
-Connect to the specified NNTP server
-.TP
-\-\fBx\fP[\fIN\fP]
-Present (or scan) all (or the last \fIN\fP) unread as well as
-read articles.  When this option is used, \fInn\fP will
-.I never
-mark unread articles as read (i.e. .newsrc is not updated).
-.TP
-\-\fBX\fP
-Read/scan unsubscribed groups also.  Most useful when looking for
-a specific subject in \fBall\fP groups, e.g.
-.nf
-	nn -mxX -sSubject all
-.fi
-.TP
-\fInews.group\fP  or  \fIfile\fP  or  \fI+folder\fP
-If none of these arguments are given, all subscribed news groups will
-be used.  Otherwise, only the specified news groups and/or files will
-be collected and presented.  In specifying a news groups, the
-following `meta notation' can be used:
-.br
-If the news group ends with a
-\&`.' (or `.all'), all subgroups of the news group will be collected,
-e.g.
-.nf
-	comp.sources.
-.fi
-If a news group starts with a `.' (or `all.'), all the matching
-subgroups will be collected, e.g.
-.nf
-	\&.sources.unix
-.fi
-The argument `all' identifies all (subscribed) news groups.
-.SH COMMAND INPUT
-In general, \fInn\fP commands consist of one or two key-strokes, and \fInn\fP
-reacts instantly to the commands you give it; you don't have to enter
-.B return
-after each command (except where explicitly stated).
-.LP
-Some commands have more serious effects than others, and therefore
-\fInn\fP
-requests you to confirm the command.  You confirm by hitting the
-the
-.B y
-key, and reject by hitting the
-.B n
-key.  Some `trivial' requests may also be confirmed simply by hitting
-.B space.
-For example, to confirm the creation of a save file, just hit
-.B space,
-but if one or more directories also have to be created, you must enter
-.B y.
-.LP
-Many commands will require that you enter a line of text, e.g. a file
-name or a shell command.  If you enter
-.B space
-as the first character on a line, the line will be
-filled with a default value (if one is defined).  For example, the
-default value for a file name is the last file name you have entered,
-and the default shell command is your previous shell command.  You can
-edit this default value as well as a directly typed text, using the
-following editing commands.  The \fBerase\fP,
-\fBkill\fP, and \fBinterrupt\fP keys are the keys
-defined by the current tty settings.  On systems without job control,
-the
-.B suspend
-key will be
-.B control-Z
-while it is the current suspend character on system with job control.
-.TP
-.B erase
-.br
-Delete the last character on the line.
-.TP
-\fBdelete-word\fP   (normally ^W)
-.br
-Delete the last word or component of the input.
-.TP
-.B kill
-.br
-Delete all characters on the line.
-.TP
-\fBinterrupt\fP  and  \fBcontrol-G\fP
-.br
-Cancel the command which needs the input.
-.TP
-\fBsuspend\fP
-Suspend \fInn\fP if supported by the system.  Otherwise, spawn an
-interactive shell.
-.TP
-.B return
-.br
-Terminate the line, and continue with the command.
-.LP
-\fBRelated variables\fP:
-erase-key, flow-control, flush-typeahead, help-key, kill-key, word-key.
-.SH BASIC COMMANDS
-There are numerous commands in \fInn\fP, and most of them can be invoked
-by a single keystroke.  The descriptions in this manual are based on
-the standard bindings of the commands to the keys, but it is possible
-to customize these using the
-.B map
-command described later.  For each of the keystroke commands described
-in this manual, the corresponding command name will also be shown in
-curly braces, e.g. {\fBcommand\fP}.
-.LP
-The following commands work in both selection
-mode and in reading mode.  The notation ^X means `control X':
-.TP
-\&\fB?\fP	{\fBhelp\fP}
-Help.  Gives a one page overview of the commands available in the
-current mode.
-.TP
-\&\fB^L\fP	{\fBredraw\fP}
-Redraw screen.
-.TP
-\&\fB^R\fP	{\fBredraw\fP}
-Redraw screen (Same as ^L).
-.TP
-\&\fB^P\fP	{\fBmessage\fP}
-Repeat the last message shown on the message line.  The command can be
-repeated to successively show previous messages (the maximum number of
-saved messages is controlled via the \fBmessage-history\fP variable.)
-.TP
-\&\fB!\fP	{\fBshell\fP}
-Shell escape.  The user is prompted for a command which is executed
-by your favorite shell (see the
-.B shell
-variable).  Shell escapes are described in detail later on.
-.TP
-\&\fBQ\fP	{\fBquit\fP}
-Quit \fInn\fP.  When you use this command, you neither lose unread
-articles in the
-current group nor the selections you might have made (unless the
-articles are expired in the meantime of course).
-.TP
-\&\fBV\fP	{\fBversion\fP}
-Print release and version information.
-.TP
-\fB:\fP\fIcommand\fP  {\fBcommand\fP}
-Execute the \fIcommand\fP by name.  This form can be used to invoke
-any of \fInn\fP's commands, also those which cannot be bound to a key
-(such as \fB:coredump\fP), or those which are not bound to a key by
-default (such as \fBpost\fP and \fBunshar\fP).
-.LP
-\fBRelated and basic variables\fP:
-backup, backup-suffix, confirm-auto-quit, expert, mail,
-message-history,
-new-group-action, newsrc, quick-count.
-.SH SELECTION MODE
-In selection mode, the screen is divided into four parts: the header
-line showing the name of the news group and the number of articles,
-the menu lines which show the collected articles - one article
-per line, the prompt line where you enter commands, and the message
-line where \fInn\fP prints various messages to you.
-.LP
-Each menu line begins with an \fIarticle id\fP which is a unique
-letter (or digit if your screen can show more than 26 menu lines).  To
-select an articles for reading, you simply enter the corresponding
-\fIid\fP, and the menu line will be high-lighted to indicate that the
-article is selected.  When you have selected all the interesting
-articles on the present menu, you simply hit \fBspace\fP.
-.LP
-If there are more articles collected for the current group than could
-be presented on one screenfull of text, you will
-be presented with the next portion of articles to select from.  When
-you have had the opportunity to select among all the articles in the
-group, hitting \fBspace\fP will enter reading mode.
-.LP
-If no articles have been selected in the current group, hitting
-\fBspace\fP will enter selection mode on the next news group, or exit
-\fInn\fP if the current group was the last news group with unread
-articles. It is thus possible to go through ALL unread articles
-(without reading any of them) just by hitting \fBspace\fP a few times.
-.LP
-The articles will be presented on the menu using one of the following
-layouts:
-.sp 0.5v
-.TP
-0:
-\fIx Name.........  Subject.............. +123\fP
-.TP
-1:
-\fIx Name.........   123  Subject..............\fP
-.TP
-2:
-\fIx 123  Subject...................................\fP
-.TP
-3:
-\fIx Subject...........................................\fP
-.TP
-4:
-\fIx    Subject........................................\fP
-.LP
-Here \fIx\fP is the letter or digit that must be entered to select the
-article, \fIName\fP is the real name of the sender (or the mail
-address if the real name cannot be found), \fISubject\fP is the
-contents of the "Subject:" line in the article, and \fI123\fP is the number
-of lines in the article.
-.LP
-Layout 0 and 1 are just two ways to present the same information,
-while layout 2 and 3 are intended for groups whose articles have very
-long subject lines, e.g. comp.sources.
-.PP
-Layout 4 is a hybrid between layout 1 and 3.  It will normally use
-layout 1, but it will use layout 3 (with a little indentation) for
-menu lines where the subject is longer than the space available with
-layout 1.
-.LP
-Layout 1 is the default layout, and an alternative menu line layout is
-selected using the \-\fBL\fP option or by setting the
-.B layout
-variable.  Once \fInn\fP is started the layout can be changed at any
-time using the \fB"\fP key {\fBlayout\fP}.
-.LP
-The \fIName\fP is limited to 16 characters, and to make maximum use of
-this space, \fInn\fP will perform a series of simplifications on the
-name, e.g. changing first names into initials, removing domain names
-from mail addresses (if the real name is not found) etc.  It does a
-good job, but some people on the net put weird things into the From:
-field (or actually into their password file) which result in \fInn\fP
-producing quite cryptic, and sometimes funny "names".
-.LP
-One a usual 80 column terminal, the \fISubject\fP is limited to about
-60 characters (75 in layout 3) and is thus only an approximation to
-the actual subject line which may be much longer.  To get as much out
-of this space, \fIRe:\fP prefixes (in various forms) are recognized
-and replaced by a single \&`>' character (see the \fBre-layout\fP
-variable).
-.PP
-Since articles are sorted according to the subject, two or more
-adjacent articles may share the same subject (ignoring any `>'s).  In
-this case, only the first article will show the subject of the
-article; the rest will only show the `>' character in the subject
-field (or a `-' if there is no `>' at the beginning of the line).  A
-typical menu will thus only show each subject once, saving a lot of
-time in scanning the news articles.
-.LP
-If \fIconsolidated menus\fP (see section below) are enabled, adjacent
-articles sharing the same subject will be shown with a \fIsingle\fP
-line on the menu corresponding to the \fIfirst\fP of the articles.
-The number of articles with the same subject will be shown as a
-bracketed number in front of the subject, e.g. with layout 1:
-.nf
-	\fIx Name.........   123  [4] Subject..............\fP
-.fi
-For further information see the section on consolidated menus below.
-.LP
-\fBRelated variables\fP:
-collapse-subject, columns, confirm-entry, confirm-entry-limit,
-entry-report-limit, fsort, kill, layout, limit, lines, long-menu,
-re-layout, repeat, slow-mode, sort, sort-mode, split,
-subject-match-limit, subject-match-offset, subject-match-parts,
-subject-match-minimum.
-.SH NN-TK USE
-\fINN-TK\fP follows the \fINN\fP reading method where all the desired articles of
-each group are selected and then read, all the normal \fINN\fP keys and
-commands can be used. The left mouse button can be used for selecting
-articles and dragged to select a range of articles. The PAGE buttons
-are the equivalent of SPACE key and provides paging through groups,
-subject and articles reading any selected articles.
-.BR
-The right mouse button is used for the immediate reading of
-selected articles
-.LP
-The mouse button usage
-.TP
-Dragging Mouse-button-2 will scroll text windows, entries
-and lists.
-.br
-Mouse-button-2 in an entry field will paste in the X selection
-.br
-Drag Mouse-button-1 for selection, dragging it outside the widget
-scrolls the widget
-.br
-Shift-Mouse-button-1 will extend the selection
-.br
-EMACS commands work on entry and text areas 
-.SH NN-TK MAIN WINDOW
-.LP
-The main window is divided into the article menu and article display,
-with the group list window optionally attached to left side.
-.PP
-For a lot of nn functions that require a dialog a popup will
-appear at the top of the main menu and provide text based
-interaction, it also provides progress reporting for various
-activities such a decoding uuencoded articles. Some functions
-such as posting have their own specialized popups.
-.PP
-The are small square handles on the borders between the panels and
-these can be dragged with the left mouse button to change the relative
-size of the panels. These changes can be save with the "Save window
-geometry" menu option, the exception is the border between the article
-display and group menu panels, those changes will only be saved if the
-middle mouse button is used to do the dragging.
-.TP
-\fBARTICLE SELECTION\fP
-Articles can be selected either by normal nn methods (the
-characters a-z 0-9) or by the left mouse button. Dragging 
-with the button depressed selects a range of articles.
-.br
-The right mouse button selects an article and goes into
-immediate read mode
-.TP
-\fBTOP ROW\fP
-The top row of buttons (apart from quit) are popup menus.
-.RS
-.IP Groups
-cascading menus of all news groups. 
-.RS
-.RE
-.IP Setup	
-nn-tk configuration menu 
-.RS
-.IP "Save Window Geometry"
-save the size/position of any currently
-displayed windows 
-.IP "Key bindings"
-Set the key bindings for the EXMH simple
-editor and Entry widget
-.IP "Exmh option"
-set the EXMH options. Help available by clicking on the labels
-.RS
-.IP "Simple Editor"
-options for the internal editor
-.IP MIME
-Multi-purpose Internet Mail Extension  processing options
-.IP WWW
-options for calling WWW browsers
-.IP "FS Box"
-options for file requester used with internal editor
-.IP "PGP interface"
-configuring the use of PGP for encrypted messages
-.RE	
-.IP "NN-TK General"
-config options. Help is displayed on top panel when mouse is
-on an item.
-.IP "NN-TK Group List"
-options to do with the group list
-.IP "NN-TK Group Cascade Menu"
-options to do with cascading group menus
-.IP "NN variables"
-alter nn variables, these changes are stored
-in ~/.nn/tk-init-nn and override the settings
-in ~/.nn/init. These variables are divided into 
-a number of groups, also (all) is to access all the
-nn variables and the (modified) for just those
-that are different from the default
-.RE
-.IP "user command menu"
-define labels and commands for USER menu
-.IP "Color group list"
-allows entries in the group list to be colored
-if they match specified strings.
-.RS
-.RE
-.IP article 
-functions related to single articles
-.RS
-.IP "Post news"
-Post a news article
-.IP "Followup news"
-Followup a news article
-.IP "Mail article"
-Mail a news article to someone
-.IP "Mail reply"
-Reply to a news article via mail
-.IP "Process articles"
-.RS
-.IP "Turn URLs into Buttons"
-Scan the news item and turn anything that looks like a URL
-into buttons that call up a WWW browser to fetch that item.
-.IP "Treat selection as URL"
-Pass the current selection to a WWW browser
-.IP "View using PGP"
-Process the current article with PGP to decode or verify
-signature
-.IP "decode, patch, print, unshar"
-Pass the article for the given processing
-.RE
-.IP "Save articles"
-Save the article to a file
-.IP misc
-Misc functions that can be applied to an article
-.RE
-.IP menu    
-functions related to article selection menu
-.RS
-.IP "sort type"
-Sort the article menu according to various criteria
-.IP "consolidated menu"
-Collapse/expand all items with the same subject to/from
-a  single menu item
-.IP "menu mode"
-various nn function do with the article menu
-.IP "menu misc"
-misc nn functions
-.RE
-.IP functs  
-.RS
-.IP "reload groups"
-Update the groups list by rereading the active file
-.IP "make window"
-Popup the folder window or the group list if it is
-a separate window.
-.IP "define Kill/Select"
-Article auto kill/select setup. This puts up an option
-for editing the kill file plus a menu of short-cuts 
-applying to the current article and group, the menu is
-defined in nn-defaults and has entries like "kill all 
-articles in the current group with less than 100 lines"
-.LP
-For editing the group file a panel is poped up 
-containing the kill file entries, these can be deleted, added
-to or edited using a window that is a GUI interface to the 
-fields in the kill file entry.
-.IP "cancel articles"
-Cancel articles you have sent
-.IP "unsubscribe group"
-.IP "previous message"
-Display previous nn error messages
-.RE
-.IP USER	
-user definable menu
-.IP info
-Various information and help functions
-.RS
-.IP "nn-tk Help"
-nn-tk specific help items
-.IP "nn Help"
-general nn help items
-.IP "show info"
-various nn information items
-.IP "Compose key sequences"
-Description of sequences for entering non ASCII characters
-using the internal editor
-.IP "Man"
-Access the nn man page as a set of news items
-.RE	
-.RE
-.TP
-\fBTOP MODE LINE\fP
-As well as displaying NN group information this line can also be
-configured to display NNTP transfer information (compressed_prompt
-NN-TK config option).
-.TP
-\fBMIDDLE MODE LINE\fP
-As well as displaying NN article information this line can also
-be configured to display the NN user prompts. The middle mouse
-button can be used to pased the current X selection into this
-line where it will act as if it had been typed in.
-.TP
-\fBMIDDLE ROW\fP
-The middle row of buttons are related to the articles menu panel
-.RS
-.IP PrevG
-return to previous group read
-.IP <
-previous page of article menu
-.IP =
-return to article selection menu mode
-.IP >
-next page of article menu
-.IP read/skip
-read items if any have been selected otherwise
-skip group
-.IP nextG
-leave group while not marking the articles as read
-.IP PAGE
-same as the NN space key, pages through articles, 
- pages through article menu, if at end do a read/skip
-.RE
-.TP
-\fBNOTE\fP
-This version of NN is still somewhat modal, if there is a dark highlighted
-article in the the article menu NN is in reading mode, otherwise it is in
-article selection mode. The = button goes from article mode to menu mode.
-It is generally not necessary
-.TP
-\fBBOTTOM ROW\fP
-The bottom row of buttons deal with the article display.
-.RS
-.IP Opts
-This is a menu for toggling some options temporarily
-.RS
-.IP "Mono font"
-Use a mono-space font for displaying the article
-.IP "Ballon Help"
-Turn on Balloon Help for the buttons
-.IP "Prefetch articles"
-Turn on article and group information prefetching
-.RE
-.IP "Searching panel"
-Search the articles backwards or forwards 
-.IP leave
-Leave the current article marked as still unread.
-.IP n-subj
-skip articles in with current subject
-.IP previous
-previous article
-.IP next
-skip current article
-.IP PAGE
-as above
-.IP ALL
-This button is created if the article is longer than the configured
-length for displaying at once or it has page breaks in it, pressing
-it causes the entire article to be displayed.
-.RE
-.SH NN-TK Thread Display
-	This panel displays the tree of articles in discussion
-threads created by followups to previous articles. Each article
-is represented by a box containing the initials of the sender.
-The article currently being read has its box filled in.
-.PP
-	The thread structure is worked out from the References:
-headers. \fINN-TK\fP attempts to reconstruct the thread structure
-even if some of the earlier articles have expired. Articles for
-which there is no information are shown as empty boxes, articles
-that are excluded for reasons such as kill files are shown as boxes
-with dashes in them. Selected articles are indicated by a thicker
-border on the box.
-.PP
-	The left mouse button can be used to toggle the selected
-state of an article by clicking on the box. Dragging the left 
-mouse button will produce green box which selects all articles
-in the box. Dragging the right mouse button will produce a red
-box which unselects all articles in the box.
-.PP
-	\fINN-TK\fP usually doesn't retrieve the information for articles
-that have already been read, so these don't appear in the thread
-display.
-.PP
-.SH NN-TK Group List
-        Mouse button 1 is used to select the group to jump to, this
-pops up a menu which has options for jumping to the group, jumping
-while marking the current group as read, jumping and displaying all
-articles etc. Jumping can be canceled with ^G.
-.PP
-        The first column of numbers indicates the number of unread
-articles in each group. If the \fINN-TK\fP option group_list_all is set
-there is a second number in parentheses which is the total number
-of articles in the group, read or unread. The red N indicates a
-new group, the blue U an unsubscribed group and a green | indicates
-the groups who's sequence is set via the modify panel.
-.PP
-        The modify button brings up the group list modify panel. The
-text entry with the forward and backward buttons is used to search
-the group list.
-.PP
-.SH NN-TK Modify Group List
-        This panel allows the group list to be used for subscribing and
-unsubscribing and also changing the group order.
-.IP "Manipulate Selection"
-        The groups in the group list can be selected with mouse button 1.
-The Select button will select all groups who's names contain the string
-in the text field. The Clear Selection button will unselect all groups.
-.IP Subscription
-        The Subscribe button subscribes to all selected groups the 
-unSubscribe button unsubscribes all selected groups.
-.IP "Clear new"
-        This clears the newgroup status of a group
-.IP "Move Groups"
-        Mouse button 3 can be used to paste the selected groups to a
-different position in the group list (see \fINN\fP variable newsrc-sequence).
-The Put First button moves the selected groups to the start of the group
-list. The Put Last button moves the selected groups to the end of the
-group list. The Put Before button moves the selected group to before
-the first groups who's name is matched by the contents of the entry.
-.RE
-.SH NN-TK SEDIT
-This is the EXMH built-in editor, \fBsedit\fP, it has a dozen or so commonly used editing
-operations bound to keystrokes.  These are Emacs-like, but
-you can change them from within the editor through the "Key bindings" dialog
-available under the main "Setup" menu.
-In addition, the editor has a number of buttons and menu entries
-used to manipulate your draft messages.
-.IP Abort
-This deletes the draft message and removes the editor window.
-.IP Help
-This button brings up a window with a short explanation of the editor.
-
-.IP Sign
-This appends your ~/.signature file to the draft.
-If this file is instead an executable script or program, it is
-executed in order to generate the signature.
-.IP Sign...
-If you have multiple files that match the ~/.signature* pattern,
-the Sign button is replaced with a menu of possibilities.
-If you choose the autoSign Simple Editor Preference, then this menu
-is used to choose which signature file (or program) is used when
-automatically signing the message as it gets posted.
-.IP Send
-When you are done with the message, click Send.  
-.IP Text...
-This menu is used to add bold, italic, underline, etc. to your messages.
-This results in a MIME message of type text/enriched.  The formatting
-commands are supposed to be palatable to a non-MIME reader, but
-you may want to take this into consideration.  If you disable the
-"Format mail" setting (described below), the looks are discarded
-before sending the message.
-.IP More...
-This menu contains a few entries for less common operations.  They are:
-.IP "Keep on send"
-This is a checkbox menu item that is off (un-highlighted) by default.
-If selected it prevents the editor window from disappearing after you
-send or abort a message.  This is useful if you'd like to compose
-a few similar messages.  (I also use it to debug the enriched text formatter.)
-.IP "Format mail"
-This is a checkbox menu item that is enabled (highlighted) by default.
-Formatting means to break long lines (> 80 characters).  This
-is done as the file is saved, not as you type.  So, while the Tk text
-widget does line wrapping while you enter text, \fBsedit\fP does not
-break these lines until you go to send the message.  \fBIf you insert a file
-into a message that has critical formatting, you may want to disable the
-Format option.\fP
-.IP "Quote Printable"
-If this is selected, then any text MIME parts are run through
-the quoted-printable encoder to wrap up 8-bit characters in
-a 7-bit safe encoding.  The Quoted Printable default
-preference setting under Simple Editor can be set to
-automatic, never, or always.  In automatic mode, quoting is enabled
-when you enter a Compose key sequence to generate an 8-bit character.
-.IP "Insert File..."
-This brings up a dialog box that lets you insert a file into the message.
-.IP "Insert Part..."
-This is similar to Insert File, except that it creates a MIME multipart message
-structure to wrap up the inserted file.
-It tries to determine the type of the file based on
-\fBnametemplate\fP entries in the metamail mailcap description file.
-It presents a dialog that lets you override the type,
-add a Content-Description, and choose an encoding
-for the file.  When you insert the first Part of a message
-you are asked whether or not to save the existing message
-body.  If you save it, it becomes the text/plain first part of the multipart
-message.
-.IP "Insert External..."
-This sets up an Message/External-Body MIME message part.  This is useful
-for sending around pointers to files available via FTP or on your
-local file system.
-.IP "Insert PGP Keys..."
-Insert your PGP keys into the mail message..
-.IP "Spell..."
-This runs the UNIX spell command over the draft body and puts the results
-into a second pane inside the editor window.  That's all - nothing fancy.
-.IP "Find SEL"
-This searches the draft for the current X selection.  The intent is that
-you select misspelled words in the output of the spell command and use
-this menu entry to locate them in the draft. 
-.IP "Save Buffer"
-This saves the editor buffer into a file in your drafts folder.
-Most likely you really want the "Keep on Send" function instead
-of Save, because that function preserves the draft after you send
-it, while ordinarily (in spite of "Save") MH will rename the draft
-after you send it.
-.IP "Mime Preview"
-This displays the message as it will appear when an exmh user
-receives it.  A detached top-level window is used, as with
-message Clip.
-.IP "PGP..."
-This is a menu of options that use the Pretty Good Privacy package to
-to encryption and authentication.  An explanation of PGP is beyond
-the scope of this manual.  This works by inserting a header into your
-message that indicates what action to do.  The actual encryption or whatever
-is done after you hit the Send button.  If you use an external
-editor you can insert the headers in that, and exmh will run
-your message through PGP for you when you send it.  The four
-supported headers are:
-.DS
-pgp-action: signclear
-pgp-action: signbinary
-pgp-action: encrypt
-pgp-action: encryptsign
-.DE
-.SH ARTICLE ATTRIBUTES
-While \fInn\fP is running and between invocations, \fInn\fP associates
-an \fIattribute\fP with each
-article on your system.  These attributes are used to differentiate
-between read and unread articles, selected articles, articles marked
-for later treatment, etc.  Depending on how \fInn\fP is configured,
-these attributes can be saved between invocations of \fInn\fP, or some
-of them may only be used while \fInn\fP is running.
-.LP
-The attribute is shown on the
-menu using either a single character following the \fIarticle id\fP
-or by high-lighting the menu line, depending on the attribute and the
-capabilities of the terminal.  You can also change the attributes to
-your own taste (see the \fBattributes\fP variable).
-.LP
-The attribute of an article can be changed explicitly using the
-selection mode commands described below, or it will change
-automatically for example when you have read or saved a selected
-article.
-If a command may change any article attributes, it will be noted in
-the description of the command.  The following descriptions of the
-attributes will only mention the most important commands that may set
-(or preserve) the attribute.
-.LP
-The following attributes may be associated with an article:
-.TP
-.B read
-Menu attribute "." - indicates that the article has been read or saved.
-When you leave the group, these articles will be marked permanently
-read, and are not presented the next time you enter the group.
-.TP
-.B seen
-Menu attribute "," - indicates that the article is unread, but that it
-has been \fIpresented\fP on a menu.  Depending on how \fInn\fP is
-configured, these articles will automatically be marked \fIread\fP
-when you leave the group, they may remain \fIseen\fP, or they may just
-be \fIunread\fP the next time you enter the group (see the
-\fBauto-junk-seen\fP, \fBconfirm-junk-seen\fP, and
-\fBretain-seen-status\fP variables).
-.sp 0.5v
-Only the commands \fBcontinue\fP (\fBspace\fP) and \fBread-skip\fP
-(\fBX\fP) will mark \fIunread\fP articles on the current (or all) menu
-pages as \fIseen\fP when they are used.  Other commands that scroll
-through the menu pages or enter reading mode will let unread articles
-remain unread.
-.TP
-.B unread
-Menu attribute " " - indicates an unread article.  These articles were
-unread when you entered the group, and they may remain unread when you
-leave the group, unless they have been marked \fIseen\fP by the command
-that you used to leave the group or enter reading mode.
-.TP
-.B selected
-Menu line high-lighted (or menu attribute "*") - indicates that you have
-selected the article.  If you leave the group, the selected articles
-will remain selected the next time you enter the group.  When you have
-read a selected article, the attribute will automatically change to
-\fIread\fP.
-.TP
-.B auto-selected
-These articles have the same appearance as \fIselected\fP articles on
-the menu, and the only difference is that these articles have been
-selected automatically via the auto-selection facility rather than
-manually by you.  Very few commands differentiate between these
-attributes and if they do, it is explicitly stated in this manual.
-The main difference is that these articles are only marked as
-\fIunread\fP when you leave the group (supposing they will also be
-auto-selected the next the group is entered).  This simplifies the
-house-keeping between invocations of \fInn\fP.
-.TP
-.B leave
-Menu attribute "+" - indicates that the article is marked for later
-treatment by the \fBleave-article\fP (\fBl\fP) command.  These
-articles may be selected (on demand) when you have read all selected
-articles in a group.  However, if you do not select them then
-immediately, they are stored as the \fBleave-next\fP attribute
-described below.
-.TP
-.B leave-next
-Menu attribute "=" - indicates that the article is marked for later
-treatment by the \fBleave-next\fP (\fBL\fP) command.  This is a
-permanent attribute, which will remain on the article until you either
-read the article, change the attribute, or it is expired.  So
-assigning this attribute to an article will effectively keep it unread
-until \fIyou\fP do something.  If the variable \fBselect-leave-next\fP
-is set, \fInn\fP will ask whether these articles should be
-\fBselected\fP on entry to a group (but naturally, doing so will
-change the \fBleave-next\fP attribute to \fBselect\fP).
-.TP
-.B canceled
-Menu attribute "#" - indicates that the article has been canceled.
-This is mainly useful when tidying a folder; it is set by the
-\fBcancel\fP (\fBC\fP) command, and can be cleared by any command that
-change attributes, e.g. you can select and deselect the article.
-.TP
-.B killed
-Menu attribute "!" - indicates that the article has been killed (e.g.
-by the \fBK\fP {\fBkill-select\fP} command).  Killed articles are
-immediately removed from the menu, so you should not normally see
-articles with this attribute.  If you do, report it as a bug!
-.LP
-The attributes are saved in two files: .newsrc (\fIread\fP articles)
-and .nn/select (other attributes).  Plain \fIunread\fP articles are
-saved by not occurring in either of these files.  Both files are
-described in more detail later on.
-.LP
-\fBRelated variables\fP:
-attributes, auto-junk-seen, confirm-junk-seen, retain-seen-status,
-select-leave-next.
-.SH SELECTION MODE COMMANDS
-The primary purpose of the selection mode is of course to select the
-articles to be read, but numerous other commands may also be
-performed in this mode: saving of articles in files, replying and
-following up on articles, mailing/forwarding articles, shell escapes
-etc.
-.PP
-As described above, the \fIselected\fP articles are marked either by
-showing the corresponding menu line in standout mode (reverse video),
-or if the terminal does not have this capability by placing an
-asterisk (*) after the selection letter or digit.
-.LP
-Most commands which are used to select articles will work as toggle
-commands.  If the article is not already selected, the
-\fIselected\fPattribute on the article(s), independent on the previous
 attribute.  Otherwise, the article(s) will be \fIdeselected\fP and
-marked \fIunread\fP.  Consequently, any article can be marked
-\fIunread\fP simply be selecting and deselecting it.
-.LP
-During selection, the cursor will normally be placed on the article
-following the last article whose attribute was changed (initially the
-first article).  The article pointed out by the cursor is called the
-\fIcurrent article\fP, and the following commands work relative to the
-current article and cursor position.
-.TP
-\&\fBabc...z 01..9\fP  {\fIarticle N\fP}
-The article with the given identification letter or digit is
-selected or deselected.  The following article becomes the current
-article.  If the variable \fBauto-select-subject\fP is set, all
-articles with the same subject as the given article are selected.
-.TP
-\&\fB.\fP	{\fBselect\fP}
-Select or deselect the current article and move the cursor to the next
-article.
-.TP
-\&\fB,\fP	{\fBline+1\fP}
 Move the cursor to the next article.  You can use the \fIdown arrow\fP
-as well.
-.TP
-\&\fB/\fP	{\fBline-1\fP}
-Move cursor to previous article.  You can use the \fIup arrow\fP
-as well.
-.TP
-\&\fB*\fP	{\fBselect-subject\fP}
-Select or deselect all articles with same subject as current
-article.  This will work across several menu pages if necessary.
-.TP
-\&\fB-\fP\fIx\fP	{\fBselect-range\fP}
-Select or deselect the range of articles between the current article
-and the article specified by \fIx\fP.  For example you can select all
-articles from \fIe\fP to \fIk\fP by simply typing \fBe-k\fP.
-.LP
-The following commands may change the attributes on all articles on
-the current menu page, or on all articles on all menu pages.
-.TP
-\&\fB@\fP	{\fBselect-invert\fP}
-.br
-Reverse selections.  All selected articles on the current page are
-deselected, and vice-versa.  (Use the \fBfind\fP command to select all
-articles.)
-.TP
-\&\fB~\fP	{\fBunselect-all\fP}
-Deselect all \fIauto-selected\fP articles in the group (this works
-across all menu pages).  If the command is executed twice, the
-\fIselected\fP articles will also be deselected.
-.TP
-\&\fB+\fP	{\fBselect-auto\fP}
-Perform auto-selections in the group (see the section on "auto
-kill/select" below).
-.TP
-\&\fB=\fP	{\fBfind\fP}
-Prompts for a regular expression, and selects all articles on the menu
-(all pages) which matches the regular expression.  Depending on the
-variable \fBselect-on-sender\fP matching is performed against the
-subject (default) or the sender of the articles.  An empty
-answer (\fB= return\fP) will reuse the previous expression.
-Example:  The command \fB= . return\fP will select \fIall\fP articles
-in the group.
-.TP
-\&\fBJ\fP	{\fBjunk-articles\fP}
-This is a very versatile command which can be used to perform all
-sorts of attribute changes, either on individual articles, all
-articles on the current menu page, all articles with a specific
-attribute, or all available articles.  To access all the functions of
-this command, the \fBJ\fP key may have to be hit up to four times,
-to loop through different one-line menus.  The full functionality of
-the \fBjunk-articles\fP command is described in a separate section
-below.
-.TP
-\&\fBL\fP	{\fBleave-next\fP}
-This is a specialized version of the generic \fBJ\fP
-{\fBjunk-articles\fP} command to set the \fIleave-next\fP attribute on
-a subset of the articles on the menu.  It is also described further
-below.
-.LP
-The following commands move between the pages belonging to the same
-news group when there are more articles than will fit on a single
-page.  These commands will not change any article attributes.
-.TP
-\&\fB>\fP	{\fBpage+1\fP}
-Goto next menu page.
-.TP
-\&\fB<\fP	{\fBpage-1\fP}
-Goto previous menu page, or to last menu page if on first menu page.
-.TP
-\&\fB$\fP	{\fBpage=$\fP}
-Goto last menu page.
-.TP
-\&\fB^\fP	{\fBpage=1\fP}
-Goto first menu page.
-.LP
-The following commands are used to enter reading mode for the selected
-articles, and to move between news groups (in selection mode).  They
-may change article attributes if noted below.
-.TP
-\&\fBspace\fP	{\fBcontinue\fP}
-Continue to next menu page, or if on last menu page, read the selected
-articles.  If no articles have been selected, continue to the next news
-group.  The \fIunread\fP articles on the current menu page will
-automatically be marked \fIseen\fP.
-.TP
-\&\fBreturn\fP	{\fBcontinue-no-mark\fP}
 Identical to the \fBcontinue\fP command, except that the \fIunread\fP
-articles on the current menu page will remain \fIunread\fP.
-(The
-.B newline
-key has the same effect).
-.TP
-\&\fBZ\fP	{\fBread-return\fP}
-Enter reading mode
-.I immediately
-with the currently selected articles.  When all
-articles have been read, return to selection mode in the
-.I current
-group.  It will mark \fIselected\fP articles \fIread\fP as they are
-read, but \fIunread\fP articles are not normally changed (can be
-controlled with the variable \fBmarked-by-read-return\fP.)
-.TP
-\&\fBX\fP	{\fBread-skip\fP}
-Mark all \fIunmarked\fP articles \fIseen\fP on all menu pages (or the
-pages defined by the \fBmarked-by-read-skip\fP variable), and enter
-reading mode \fIimmediately\fP with the currently selected articles.
-As the selected articles are read, they are marked \fIread\fP.  When
-all selected articles have been read, \fInn\fP will enter selection
-mode in the \fInext\fP news group.  \fBWhen no articles are selected,
-it goes directly to the next group\fP.  This can be used to skip all
-the articles in a large news group without having to go through all
-the menu pages.
-.LP
-If you don't want to read the current group now, but want to keep it
-for later, you can use the following commands which will only mark
-\fIseen\fP and \fIread\fP articles as read.  Currently selected
-articles will still be selected the next time you enter the group.
-None of these commands will change any attributes themselves (by default).
-.TP
-\&\fBN\fP	{\fBnext-group\fP}
-Go forward to the next group in the presentation sequence.  If the
-variable \fBmarked-by-next-group\fP is set articles on the menu can
-optionally be marked \fIseen\fP
-.TP
-\&\fBP\fP	{\fBprevious\fP}
-Go back to the previous group.  This command will enter selection mode
-on the last active group (two P commands in sequence will bring you to
-the current group).  If there are still some \fIunread\fP articles in
-the group, only those articles will be shown.  Otherwise, all the
-articles which were unread when \fInn\fP was invoked will be shown
-marked with the \fIread\fP attribute (which can be changed as usual).
-.LP
-As described in the "Article Attributes" section, the \fIread\fP and
-\fIseen\fP articles will normally be marked read when you leave the
-group, and these articles are not shown the next time you enter the
-group.
-.LP
-In all releases prior to release 6.4, it was impossible to have
-individual articles in a group marked \fIunread\fP when you left a
-group, and the default behavior of release 6.4 onwards will closely
-match the traditional behavior.  This means that the \fIseen\fP and
-\fIread\fP articles are treated alike for most practical purposes
-with the default variable settings.
-.LP
-If you don't like \fInn\fP to silently mark the \fIseen\fP articles
-read, you can \fIset\fP the variable \fBconfirm-junk-seen\fP to get
-\fInn\fP to prompt you for confirmation before doing this, or you can
-\fIunset\fP the variable \fBauto-junk-seen\fP to simply keep the seen
-articles for the next time you enter the group.  You then have to use
-the \fBJ\fP {\fBjunk-articles\fP} to mark articles read.
-.LP
-Using \fBreturn\fP {\fBcontinue-no-mark\fP} will also allow you to keep
-articles \fIunread\fP rather than marking them \fIseen\fP when
-scrolling through the menu pages and entering reading mode.  If this
-is your preferred reading style, you can remap \fBspace\fP to this
-command.
-.LP
-Other commands
-.TP
-\& {\fBreload\fP}
-Update group information by rereading active file
-.LP
-\fBRelated variables\fP:
-auto-junk-seen, auto-preview-mode, auto-select-subject, case-fold-search,
-confirm-auto-quit, confirm-entry, confirm-junk-seen,
-marked-by-next-group, marked-by-read-return, marked-by-read-skip,
-retain-seen-status, select-on-sender.
-.SH CONSOLIDATED MENUS
-Normally, \fInn\fP will use one menu line for each article, so if
-there are many articles with identical subjects, each menu page will
-only contain a few different subjects.  To have each subject occur
-only once on the menu, \fInn\fP can operate with consolidated menus by
-setting the variable \fBconsolidated-menu\fP.
-.LP
-When consolidated menus are used, \fInn\fP operates with two kinds of
-subjects: open and closed.
-.LP
-An \fIopen subject\fP is a subject which is shown in the traditional way
-with one menu line for each article with the given subject.  In other
-words, when consolidated menus are not used, all subjects are open (by
-default).
-.LP
-A \fIclosed subject\fP is a multi-article subject which is presented
-by a single menu line.  This line will be the normal menu line for the
-first (oldest) article with the subject, but with the subject field
-annotated with a bracketed number showing the number of articles with
-that subject, e.g.
-.sp 0.5v
-.nf
-	a Kim F. Storm     12  [4] Future plans for nn
-	b.Kim F. Storm     43  [3] More plans for nn
-.fi
-.sp 0.5v
-In this example, there are four unread articles with subject `a' of
-which the first is posted by me and has 12 lines.  The rest of the
-articles are hidden, and will only be shown on request.  The `.'
-marker on subject `b' shows that all three articles within that
-subject have been read (or seen).
-.LP
-To select (or deselect) ALL the articles within a closed subject,
-simply select the article shown on the menu; this will automatically
-select (or deselect) the rest (see auto-select-closed).  When all the
-unread articles within a closed subject are selected, the menu line
-will be high-lighted.
-.LP
-If you want to view the individual articles in a subject (maybe to
-select individual articles), you can open the subject with the
-commands:
-.TP
-\fB(x\fP
-Open subject \fIx\fP on menu.
-.TP
-\fB((\fP
-Open current subject.
-.LP
-When you have completed viewing the opened subject, you can close it
-again using the commands:
-.TP
-\fB)x\fP
-Close subject \fIx\fP on menu (\fIx\fP is any article with the subject).
-.TP
-\fB))\fP
-Close current subject.
-.LP
-In the basic layout of the menu line for a closed subject as shown
-above, ALL articles in the closed subject are supposed to be either:
-.TP
-\fIunread\fP
-The menu line is \fInot\fP high-lighted.
-.TP
-\fIselected\fP
-Menu line is fully high-lighted (if all UNREAD are selected).
-.TP
-\fBread/seen\fP
-There is a `.' (read attribute) following the article id.
-.LP
-If neither of these cases apply, i.e. there is a mixture of unread,
-selected, and seen/read articles, the bracketed number will have one
-of the following formats:
-.TP
-[U:T]
-There are U unread articles of T total (U<T).
-.TP
-[S/T]
-There are S selected articles of T total (S<U=T).
-.TP
-[S/U:T]
-There are S selected of U unread of T total (S<U<T).
-.LP
-If there are any selected articles (S>0), the information between the
-brackets will be high-lighted (to show that something is selected, but
-not all the unread articles).
-.LP
-\fBNotice\fP:  Consolidated menus only work with the `subject', 
-`thread-lexical'and `lexical' sorting methods.
-.LP
-Variables related to consolidated menus are:
-auto-select-closed,
-consolidated-menu,
-counter-delim-left, counter-delim-right,
-counter-padding,
-save-closed-mode.
-.SH THE JUNK-ARTICLES AND LEAVE-NEXT COMMANDS
-The \fBJ\fP {\fBjunk-articles\fP} command is a very flexible command
-which can perform all sorts of attribute changes, either on individual
-articles, all articles on the current menu page, all articles with a
-specific attribute, or all available articles.
-.LP
-To access all the functions of this command, the \fBJ\fP key may have
-to be hit up to four times, to loop through different one-line menus:
-.TP
-\fBMark Read\fP
-This submenu allows you to mark articles \fIread\fP.
-.TP
-\fBUnmark\fP
-This submenu allows you to mark articles \fIunread\fP.
-.TP
-\fBSelect\fP
-This submenu allows you to select articles based on their attribute.
-.TP
-\fBKill\fP
-This submenu allows you to mark articles \fIread\fP and remove them
-from the menu based on their attribute.
-.LP
-The \fBL\fP {\fBleave-next\fP} command is an extension of the \fBJ\fP
-command with a fifth menu:
-.TP
-\fBLeave\fP
-This menu allows you to mark articles for later handling with the
-\fIleave-next\fP attribute which will keep the article unread until
-you explicitly change the attribute (e.g. by reading it) or it is
-expired.
-.LP
-For each of these submenus, \fInn\fP will list the most plausible
-choices you may use, but all of the following answers can be used at
-all submenus.  When you have entered a choice, \fInn\fP will afterward
-ask whether the change should be made to all menu pages or only the
-current page.
-.TP
-\fBJ\fP
-Show next submenu.
-.TP
-\fBL\fP
-Change attribute on all \fIleave\fP articles.
-.TP
-\fBN\fP
-Change attribute on all \fIleave-next\fP articles.
-.TP
-\fBR\fP
-Change attribute on all \fIread\fP articles.
-.TP
-\fBS\fP
-Change attribute on all \fIseen\fP articles.
-.TP
-\fBU\fP
-Change attribute on all unmarked (i.e. \fIunread\fP) articles.
-.TP
-\fBA\fP
-Change attribute on \fIall\fP articles no matter their current attribute.
-.TP
-\fB*\fP
-Change attribute on all \fIselected\fP articles on \fIthe current\fP page.
-.TP
-\fB+\fP
-Change attribute on all \fIselected\fP articles on \fIall\fP pages.
-.TP
-\fBa-z0-9\fP
-Change attribute on one or more specific articles on the current page.
-You end the list of articles by a \fBspace\fP or by using one of the
-other choices described above.
-.TP
-\fB.\fP
-Change attribute on \fIcurrent\fP article.
-.TP
-\fB, /\fP
-Move the current article down or up the menu without changing any
-attributes.
-.SH READING MODE COMMANDS
-In reading mode, the \fIselected\fP articles are presented one page at
-a time.  To get the next page of an article, simply hit \fBspace\fP,
-and when you are on the last page of an article, hit \fBspace\fP to
-get to the next selected article.  Articles are normally marked read
-when you go to the next article, while going back to the menu,
-quitting \fInn\fP, etc. will retain the attribute on the current
-article.
-.LP
-When you are on the last page of the last article, hit \fBspace\fP to
-enter selection mode on the next group (or the current group if
-reading mode was entered using the \fBZ\fP command).
-.LP
-To read an article, the following text scrolling commands are
-available:
-.TP
-\&\fBspace\fP	{\fBcontinue\fP}
-Scroll \fIone page forward\fP or continue with the next article or
-group as described above.
-.TP
-\&\fBbackspace / delete\fP  {\fBpage-1\fP}
-Go \fIone page backwards\fP in article.
-.TP
-\&\fBd\fP	{\fBpage+1/2\fP}
-Scroll one \fIhalf page forward\fP.
-.TP
-\&\fBu\fP	{\fBpage-1/2\fP}
-Go one \fIhalf page backwards\fP.
-.TP
-\&\fBreturn\fP	{\fBline+1\fP}
-Scroll \fIone line forward\fP in the article.
-.TP
-\&\fBtab\fP	{\fBskip-lines\fP}
-Skip over lines starting with the same character as the last line on
-the current page.  This is useful to skip over included text or to the
-next file in a shell archive.
-.TP
-\&\fB^\fP	{\fBpage=1\fP}
-Move to the \fIfirst page\fP (excluding the header) of the article.
-.TP
-\&\fB$\fP	{\fBpage=$\fP}
-Move to the \fIlast page\fP of the article.
-.TP
-\&\fBg\fP\fIN\fP	{\fBline=@\fP}
-Move to line \fIN\fP in the article.
-.TP
-\&\fB/\fP\fIregexp\fP	{\fBfind\fP}
-Search forward for text matching the regular expression \fIregexp\fP
-in the article.  If a matching text is found, it will be high-lighted.
-.TP
-\&\fB.\fP	{\fBfind-next\fP}
-Repeat search for last regular expression.
-.TP
-\&\fBh\fP	{\fBpage=0\fP}
-Show the \fIheader\fP of the article, and continue from the top of the
-article.
-.TP
-\&\fBH\fP	{\fBfull-digest\fP}
-If the current article is extracted from a digest, show the entire
-digest article including its header.
-Another \fBH\fP command will return to the current subarticle.
-.TP
-\&\fBD\fP	{\fBrot13\fP}
-Turn \fIrot13\fP (caesar) decryption on and off for the current
-article, and redraw current page.  If the article is saved while it is
-decrypted on the screen, it will be saved in decrypted form as well!
-.TP
-\&\fBc\fP	{\fBcompress\fP}
-Turn compression on and off for the current article and redraw current
-page.  With compression turned on, multiple spaces and tabs are shown
-as a single space.  This makes it much easier to read right justified
-text which separate words with several spaces.  (See also the
-\fBcompress\fP variable)
-.LP
-The following commands are used to move among the selected articles.
-.TP
-\&\fBn\fP	{\fBnext-article\fP}
-Move to next selected article.  This command skips the rest of the
-current article, marks it \fIread\fP, and jumps directly to the first
-page of the next selected article (or to the next group if it was the
-last selected article).
-.TP
-\&\fBl\fP	{\fBleave-article\fP}
-Mark the current article with the \fIleave\fP attribute and continue
-with the next selected article.  When all the selected articles
-in the current group have been read, these \fIleft over\fP articles
-can be automatically selected and shown once more, or the treatment
-can be postponed to the next time you enter the group.
-  This is particularly useful if you see an article
-which you may want to respond to unless one the following articles is
-already saying what you intended to say.
-.TP
-\&\fBL\fP	{\fBleave-next\fP}
-Mark the current article with the \fIleave-next\fP attribute and
-continue with the next selected article.
-.TP
-\&\fBp\fP	{\fBprevious\fP}
-Goto previous article.
-.TP
-\&\fBk\fP	{\fBnext-subject\fP}
-Kill subject.  Skips rest of current article, and all following
-articles with the same subject.  The skipped articles are marked
-\fIread\fP.  To kill a subject permanently use the \fBK\fP command.
-.TP
-\&\fB*\fP	{\fBselect-subject\fP}
-Show next article with \fIsame\fP subject (even if it is not
-selected).  This command will \fIselect\fP all following articles with
-the same subject as the current article
-(similar to the `*' command in selection mode).  This can be used to
-select only the first article on a subject in selection mode, and then
-select all follow-ups in reading mode if you find the article
-interesting.
-.TP
-\&\fBa\fP	{\fBadvance-article\fP}
-Goto the following article on the menu even if it is not selected.
-This command skips the rest of the current article
-and jumps directly to the first page of the next article (it will not skip
-to the next group if it is the last article).  The attribute on the
-current article will be restored, except for the \fIunread\fP
-attribute which will be changed to \fIseen\fP.
-.TP
-\&\fBb\fP	{\fBback-article\fP}
-Goto the article before current article on the menu even if it is not
-selected.  This is similar to the \fBa\fP command, except for the
-direction.
-.LP
-The following commands perform an
-immediate return from reading mode to selection mode in
-the
-.I current
-group or skip to the next group.
-.TP
-\&\fB=\fP	{\fBgoto-menu\fP}
-Return to selection mode in the current group (think of = as the
-\&"icon" of the selection menu).  The articles read so far will be
-marked \fIread\fP.
-.TP
-\&\fBN\fP	{\fBnext-group\fP}
-Skip the rest of the \fIselected\fP and \fIunread\fP articles in the
-current group and go directly to the next group.  Only the \fIread\fP
-(and \fIseen\fP) articles in the current group are marked as read.
-.TP
-\&\fBX\fP	{\fBread-skip\fP}
-Mark \fIall\fP articles in the current group as read and go directly
-to the next group.  (You will be asked to confirm this command.)
-.LP
-\fBRelated variables\fP:
-case-fold-search, charset, compress, data-bits, date, header-lines,
-mark-overlap, monitor, overlap, scroll-clear-page, stop,
-trusted-escape-codes, wrap-header-margin.
-.SH PREVIEWING ARTICLES IN SELECTION MODE
-In selection mode, it is possible to read a specific article on the
-menu without entering reading mode for all the selected articles on
-the menu.  Using the commands described below will enter reading mode
-for one article only, and then return to the menu mode immediately
-after (depending on the setting of the \fBpreview-continuation\fP
-variable).
-.PP
-If there are more than 5 free lines at the bottom of the menu screen,
-\fInn\fP will use that space to show the article (a minimal preview
-window can be permanently allocated with the
-.B window
-variable).  Otherwise,
-the screen will be cleared to show the article.
-.PP
-After previewing an article, it will be marked read (if the
-\fBpreview-mark-read\fP variable is set), and the following article
-will become the current article.
-.TP
-\&\fB%\fP\fIx\fP	{\fBpreview\fP}
-Preview article
-.IR x .
-.TP
-\&\fB%%\fP	{\fBpreview\fP}
-Preview the current article.
-.LP
-When the article is being shown, the following reading mode commands
-are very useful:
-.TP
-\&\fB=\fP	{\fBgoto-menu\fP}
-Skip the rest of the current article, and return to menu mode.
-.TP
-\&\fBn\fP	{\fBnext-article\fP}
-Skip the rest of the current article, and \fIpreview the next article\fP.
-.TP
-\&\fBl\fP	{\fBleave-article\fP}
-Mark the article as \fIselected\fP (!) on the menu for handling later
-on.  Then skip the rest of the current article, and preview the next
-article.
-.TP
-\&\fB%\fP\fIy\fP	{\fBpreview\fP}
-Preview article
-.I y .
-.LP
-If the variable \fBauto-preview-mode\fP is set, just hitting the
-article id in menu mode will enter preview mode on the specified
-article.
-.LP
-\fBRelated variables\fP:
-auto-preview-mode, min-window, preview-continuation,
-preview-mark-read, window.
-.SH SAVING ARTICLES
-The following commands are used to save articles in files, unpack
-archives, decode binaries, etc.  It is possible to use the commands in
-both reading mode to save the current article and in selection mode to
-save one or more articles on the menu.
-.LP
-The saved articles will be \fIappended\fP to the specified file(s)
-followed by an empty line each.  Both files and directories will be
-created as needed.  When an article has been saved in a file, a
-message reporting the number of lines saved will be shown if the
-\fBsave-report\fP variable is set (default on).
-.TP
-\&\fBS\fP	{\fBsave-full\fP}
-Save articles including the full article header.
-.TP
-\&\fBO\fP	{\fBsave-short\fP}
-Save articles with a short header
-containing only the name of the sender, the subject, and the posting
-date of the article.
-.TP
-\&\fBW\fP	{\fBsave-body\fP}
-Write article
-.I without
-a header.
-.TP
-\&\fB:print\fP	{\fBprint\fP}
-Print article.  Instead of a file name,
-this command will prompt for the print command to which the current
-article will be piped.  The default print command is specified at
-compile time, but it can be changed by setting the
-.B printer
-variable.  The output will be identical to that of the
-.B O
-command.
-.TP
-\&\fB:patch\fP	{\fBpatch\fP}
-Send articles through \fBpatch\fP(1) (or the program defined in the
-\fBpatch-command\fP variable).  Instead of a file name, you will be
-prompted for the name of a directory in which you want the patch
-command to be executed.  \fInn\fP will then pipe the body of the
-article through the patch command.
-  The output from the patch process will be shown on the screen and
-also appended to a file named \fIPatch.Result\fP in the patch directory.
-.TP
-\&\fB:unshar\fP	{\fBunshar\fP}
-Unshar articles.  You will be prompted for the name of a directory in
-which you want \fInn\fP to unshar the articles.  \fInn\fP will then
-pipe the proper parts of the article body into a Bourne Shell whose
-working directory will be set to the specified directory.
-  During the unpacking, the normal output from the unshar process will
-appear on the screen, and the menu or article text will be redrawn when
-the process is finished.
-  The output is also appended to a file named \fIUnshar.Result\fP in
-the unshar directory.
-  The file specified in \fBunshar-header-file\fP (default
 "Unshar.Headers") in the unshar directory will
-contain the header and initial text (before the shar data) from the
-article.  You can use the `G' {\fBgoto-group\fP} command to look at
 the Unshar.Headers file.
-.TP
-\&\fB:decode\fP	{\fBdecode\fP}
-Decode \fIuuencoded\fP articles into binary files.  You will be
-prompted for the name of a directory in which you want \fInn\fP to
-place the decoded binary files (the file names are taken from the
-uuencoded data).
-  \fInn\fP will combine several articles into single files as needed,
-and you can even decode unrelated packages (into the same directory)
-with one \fBdecode\fP command.
-  To be able to decode a binary file which spans several articles,
-\fInn\fP may have to \fIignore\fP lines which fail the normal sanity checks
-on uuencoded data instead of treating them as \fItransmission errors\fP.
-Consequently, it is strongly recommended to check the resulting
-decoded file using the checksum which is normally contained in the
-original article.  (Actually, you are also supposed to do this after
-decoding with a stand-alone uudecode program).
-  The header and initial information in the decoded articles are saved
-in the file specified in \fBdecode-header-file\fP (default
 "Decode.Headers") in the same directory as the decoded files.
-  If \fBdecode-skip-prefix\fP is non-null, \fB:decode\fP will attempt
-to ignore up to that many characters on each line to find the encoded data.
-This is particularly useful in some binaries groups where files are
-both uuencoded and packed with shar; \fInn\fP will ignore the prefix
-added to each line by shar, and thus be able to unshar, concatenate,
-and decode multi-part postings automatically.
-.TP
-\&\fB:deview\fP	{\fBdeview\fP}
-This decodes uuencoded, xxencoded, MIME and BinHex encoded articles.
-You will be prompted for the name of a directory in which you want 
-\fInn\fP to place the decoded binary files (the file names are taken 
-from the encoded data).
-  \fInn\fP will combine several articles into single files as needed,
-and you can even decode unrelated packages (into the same directory)
-with one \fBdeview\fP command.
-  The \fBdeview\fP command processes the articles and then prompts
-for each file whether to decode it or not, the \fBdeview-noprompt\fP
-variable can be used to turn off this prompting.
-  This is a superior replacement for :decode
-.LP
-In reading mode, the following keys can also be used to invoke the
-save commands:
-.TP
-.B s
-Same as
-.BR S .
-.TP
-.B o
-Same as
-.BR O .
-.TP
-.B w
-Same as
-.BR W .
-.TP
-.B P
-Same as
-.BR :print .
-.LP
-The save commands will prompt for a file name which is expanded
-according to the rules described in the section on file name expansion
-below.  For each group, it is possible to specify a default save file
-in the init file, either in connection with the group presentation
-sequence or in a separate \fBsave-files\fP section (see below).
-If a default save file is specified for the group, \fInn\fP will show
-this on the prompt line when it prompts for the file name.  You can
-edit this name as usual, but if you kill the entire name immediately,
-\fInn\fP will replace the default name with the last file name you
-entered.  If you kill this as well, \fInn\fP will leave you with a
-blank line.
-.LP
-If the
-.B quick-save
-variable is set, \fInn\fP will only prompt for a save file name when
-the current article is inside a folder; otherwise, the default save
-file defined in the init file will be used unconditionally.
-.LP
-If the file (and directories in the path) does not exist,
-\fInn\fP
-will ask whether the file (and the directories) should be created.
-.LP
-If the file name contains an asterisk, e.g.
-.nf
-	part*.shar
-.fi
-\fInn\fP will save each of the articles in uniquely named files
-constructed by replacing the asterisk by numbers from the sequence 1,
-2, 3, etc.  The format of the string that replaces the * can be
-changed with the \fBsave-counter\fP variable, and the first number to
-use can be changed via \fBsave-counter-offset\fP.
-.PP
-In \fIselection\fP mode, \fInn\fP will prompt you for the identifier
-of one or more articles you want to save.  When you don't want to save
-more articles, just hit \fBspace\fP.  The saved articles will be
-marked \fIread\fP.
-.LP
-If you enter an asterisk `*' when you are prompted for an article to
-save, \fInn\fP will automatically save all the \fIselected\fP articles
-on the \fIcurrent\fP menu page and mark them \fIread\fP.
-.LP
-Likewise, if you enter a plus `+', \fInn\fP will save all the selected
-articles on \fIall\fP menu pages and mark them \fIread\fP.
-.LP
-This is very useful to unpack an entire package using the
-\fB:unshar\fP and \fB:decode\fP commands.  It can also be used in
-combination with the \fIsave selected articles\fP feature to save a
-selection of articles in separate, successively numbered files.  But do
-not confuse these two concepts!  The
-.B S*
-and
-.B S+
-commands can be used to save the selected articles in a single file as
-well as in separate files, and the \fIsave in separate files\fP
-feature can be used also when saving individual articles, either in
-the selection mode, or in the article reading mode.
-.LP
-When articles are saved in a file with a full or partial header, any
-header lines in the
-.I body
-of the article will be escaped by a tilde (e.g. ~From: ...) to enable
-\fInn\fP to split the folder into separate articles.
-The escape string can be redefined via the
-\fBembedded-header-escape\fP variable.
-.LP
-Articles can optionally be saved in MAIL or MMDF compatible format by
-setting the \fBmail-format\fP and \fBmmdf-format\fP variables.
-These variables only specify the format used when creating a new folder,
-while appending to an existing folder will be done in the format of the
-folder (unless \fBfolder-format-check\fP is false).
-.LP
-\fBRelated variables\fP:
-confirm-append, confirm-create, decode-header-file,
-decode-skip-prefix, default-save-file, folder-save-file,
-edit-patch-command, edit-print-command, edit-unshar-command, folder,
-folder-format-check,
-mail-format, mmdf-format, patch-command, printer, quick-save,
-save-counter, save-counter-offset, save-report,
-suggest-default-save, unshar-command, unshar-header-file.
-.SH FOLDER MAINTENANCE
-When more than one article is saved in a folder, \fInn\fP is able to
-split the folder, and each article in the folder can be treated like
-a separate article.
-.LP
-This means that you can save, decode, reply, follow-up, etc. just as
-with the original article.
-.LP
-You can also \fIcancel\fP (delete) individual articles in a folder
-using the normal \fBC\fP {\fBcancel\fP} command described later.
-When you quit from the folder, you will then be given the option to
-remove the canceled articles from the folder.
-.LP
-The original folder is saved in a file named `BackupFolder~' in the
-\&.nn directory (see the \fBbackup-folder-path\fP variable) by
-renaming or copying the old folder as appropriate.
-When the folder
-has been compressed, the backup folder will be removed unless the
-variable \fBkeep-backup-folder\fP is set.
-.LP
-If all articles in a folder are canceled, the folder will be removed
-or truncated to zero length (whatever is allowed by directory and file
-permissions).
-In this case no backup folder is retained even when
-\fBkeep-backup-folder\fP is set!
-.LP
-If the variable \fBtrace-folder-packing\fP is set, \fInn\fP will show
-which articles are kept and which are removed as the folder is
-rewritten.
-.LP
-Folders are rewritten in the format of the original folder, i.e. the
-\fBmail-format\fP and \fBmmdf-format\fP variables are ignored.
-.LP
-\fBRelated variables\fP:
-backup-folder-path,
-keep-backup-folder,
-trace-folder-packing.
-.\" ENDPART A
-.\" BEGINPART B
-.SH FILE NAME EXPANSION
-When the save commands prompts for a file name, the following file
-name expansions are performed on the file name you enter:
-.TP
-\fB+\fP\fIfolder\fP
-The
-.B +
-is replaced by the contents of the
-.B folder
-variable (default value "~/News/") resulting in the name of a file in the
-.I folder
-.IR directory .
-Examples:
-.nf
-	+emacs, +nn, +sources/shar/nn
-.fi
-.TP
-\fB+\fP
-A single plus is replaced by the expansion of the file name contained in the
-.B default-save-file
-variable (or by \fBfolder-save-file\fP when saving from a folder).
-.TP
-\fB~/\fP\fIfile\fP
-The
-.B ~
-is replaced by the contents of the environment variable HOME, i.e. the
-path name of your home directory.
-Examples:
-.nf
-	~/News/emacs, ~/News/nn, ~/src/shar/nn
-.fi
-.TP
-\fB~\fP\fIuser\fP\fB/\fP\fIfile\fP
-The \fB~\fP\fIuser\fP part is replaced by the \fIuser\fP's home
-directory as defined in the /etc/passwd file.
-.TP
-\fB|\fP\fIcommand-line\fP
-Instead of writing to a file, the articles are piped to the given
-shell (/bin/sh) command-line.  Each save or write command will create a
-separate pipe, but all articles saved or written in one command (in
-selection mode) are given
-as input to the same shell command.  Example:
-.nf
-	| pr | lp
-.fi
-This will print the articles on the printer after they have been piped
-through pr.
-    It is possible to create separate pipes for each saved article by
-using a double pipe symbol in the beginning of the command, e.g.
-.nf
-	|| cd ~/src/nn ; patch
-.fi
-.LP
-The following symbols are expanded in a file name or command:
-.TP
-.B $F
-will be expanded to the name of the current group with the periods
-replaced by slashes, e.g. rec/music/synth.
-.TP
-.B $G
-will be expanded to the name of the current group.
-.TP
-.B $L
-will be expanded to the \fIlast component\fP of the name of the
-current group.  You may use this to create default save file names
-like +src/$L in the comp.sources groups.
-.TP
-.B $N
-will be expanded to the (local) article number, e.g. 1099.  In
-selection mode it is only allowed at the end of the file name!
-.TP
-.B $(VAR)
-is replaced by the string value of the environment variable \fIVAR\fP.
-.LP
-Using these symbols, a simple naming scheme for `default folder name' is
-.B +$G
-which will use the group name as folder name.  Another possibility is
-.BR +$F/$N .
-.LP
-As mentioned above, you can also instruct \fInn\fP to save a series of
-files in separate, unique files.  All that is required is that the
-file name contains an asterisk, e.g.
-.nf
-	+src/hype/part*.shar
-.fi
-This will cause each of the articles to be saved in separate, unique
-files named part1.shar, part2.shar, and so on, always choosing a part
-number that results in a unique file name (i.e. if part1.shar did
-already exist, the first article would be saved in part2.shar, the
-next in part3.shar, and so on).
-.LP
-\fBRelated variables\fP:
-default-save-file, folder, folder-save-file, save-counter, save-counter-offset.
-.SH FILE AND GROUP NAME COMPLETION
-When entering a file name or a news group name, a simple
-.B completion
-feature is available using the \fBspace\fP, \fBtab\fP, and \fB?\fP keys.
-.LP
-Hitting \fBspace\fP anywhere during input will complete the
-.I current
-.I component
-of the file name or group name with the
-.I first
-available possibility.
-.LP
-If this possibility is not the one you want, keep on hitting
-.B space
-until it appears.
-.LP
-When the right completion has appeared, you can just continue typing
-the file or group name, or you can hit
-.B tab
-to fix the current component, and get the
-.I first
-possibility for the next component, and then use
-.B space
-to go through the other possible completions.
-.LP
-The
-.B ?
-key will produce a list of the possible
-.I completions
-of the current component.  If the list is too long for the available
-space on screen, the key can be repeated to get the next part of the
-list.
-.LP
-The current completion can be deleted with the
-.B erase
-key.
-.LP
-The default value for a file name is the last file name you have
-entered, so if you enter a
-.B space
-as the first character after the prompt, the last file name will be
-repeated (and you can edit it if you like).  In some cases, a string
-will already be written for you in the prompt line, and to get the
-default value in these cases, use the \fBkill\fP key.  This also means
-that if you neither want the initial value, nor the default value, you
-will have to hit the \fBkill\fP twice to get a clean prompt line.
-.LP
-\fBRelated variables\fP:
-comp1-key, comp2-key, help-key, suggest-default-save.
-.SH POSTING AND RESPONDING TO ARTICLES
-In both selection mode and reading mode you can post new articles,
-post follow-ups to articles, send replies to the author of an article,
-and you can send mail to another user with the option of including an
-article in the letter.  In reading mode, a response is made to the
-current article, while in selection mode you will be prompted for an
-article to respond to.
-.LP
-The following commands are available (the lower-case equivalents are
-also available in reading mode):
-.TP
-\&\fBR\fP	{\fBreply\fP}
-Reply through mail to the author of the article.  This is the preferred
-way to respond to an article unless you think your reply is of general
-interest.
-.TP
-\&\fBF\fP	{\fBfollow\fP}
-Follow-up with an article in the same newsgroup (unless an alternative
-group is specified in the article header).
-The distribution of the follow-up is normally the same as the original
-article, but this can be modified via the \fBfollow-distribution\fP
-variable.
-.TP
-\&\fBM\fP	{\fBmail\fP}
-Mail a letter or
-.I forward
-an article to a single recipient.
-In selection mode, you will be prompted for an article to include
-in your letter, and in reading mode you will be asked if the current
-article should be included in the letter.
-You will then be prompted for the recipient of the letter (default
-recipient is yourself)
-and the subject of the letter (if an article is included, you may hit
-.B space
-to get the default subject which is the subject of the included article).
-  The header of the article is only included in the posted letter if
-it is forwarded (i.e. not edited), or if the variable
-\fBinclude-full-header\fP is set.
-.TP
-\&\fB:post\fP	{\fBpost\fP}
-Post a new article to any newsgroup.  This command will prompt you for
-a
-.I comma-separated
-list of newsgroups to post to (you cannot enter a space because
-.B space
-is used for group name completion as described below).
-  If you enter \fB?\fP {\fBhelp-key\fP} as the first key, \fInn\fP
-will show you a list of all available news groups and their purpose.
-While paging through this list, you can enter \fBq\fP to quit looking
-at the list.  You can also enter \fB/\fP followed by a regular
-expression (typically a single word) which will cause \fInn\fP to show
-a (much shorter) list containing only the lines matching the regular
-expression.
-   Normally, you will be prompted for the distribution of the article
-with the default take from \fBdefault-distribution\fP, but this can be
-changed via the \fBpost-distribution\fP variable.
-.LP
-Generally, \fInn\fP will construct a file with a suitable header, optionally
-include a copy of the article in the file with each non-empty line
-prefixed by a `>' character (except in mail mode), and invoke an
-editor of your choice (using the EDITOR environment variable) on this
-file, positioning you on the first line of the body of the article (if
-it knows the editor).
-.PP
-When you have completed editing the message, it will compare it to the
-unedited file, and if they are identical (i.e. you did not make any
-changes to the file), or it is empty, the operation is canceled.
-Otherwise you will be prompted for an action to take on the
-constructed article (enter first letter followed by \fBreturn\fP, or
-just \fBreturn\fP to take the default action):
-.sp 0.5v
-.nf
-    a)bort c)c e)dit h)old i)spell m)ail p)ost r)eedit s)end v)iew w)rite 7)bit
-    Action: (post article)
-.fi
-.sp 0.5v
-You now have the opportunity to perform one of the following actions:
-.LP
-.in +2m
-.ta 5m
-.\"ta 4 9
-\fBa\fP	throw the response away (will ask for confirmation),
-.br
-\fBc\fP	mail a copy of a \fIfollow-up\fP to the poster of the article,
-.br
-\fBe\fP	edit the file again,
-.br
-\fBh\fP	hold response for later completion,
-.br
-\fBi\fP	run an (interactive) \fBspell-checker\fP on the text,
-.br
-\fBm\fP	mail a (blind) copy to a specified recipient,
-.br
-\fBn\fP	same as \fBa\fPbort (\fIno\fP don't post),
-.br
-\fBp\fP	post article (same as \fBs\fPend),
-.br
-\fBr\fP	throw away the edited text and edit the original text,
-.br
-\fBs\fP	send the article or letter,
-.br
-\fBv\fP	view the article (through the \fBpager\fP),
-.br
-\fBw\fP	append it to a file (before you send it),
-.br
 \fBy\fP	confirm \fIdefault answer\fP (e.g. \fIyes\fP post it), or
-.br
-\fB7\fP	strip the high-order bit from all characters in the message
-.in -2m
-.DT
-.LP
-If you have selected a 7-bit character set (this is determined by the
-values of the \fBcharset\fP and \fBdata-bits\fP variables), \fInn\fP
-will not allow you to post an article or send a letter whose body
-contains characters with the high-order bit set. It will warn you after
-you have first edited the message and disable the c)c, m)ail,
-p)ost, s)end and y)es actions. You can then either e)dit the message
-to delete those characters, use 7)bit to strip the high-order bits,
-a)bort the message, or h)old it and select an 8-bit character set from
-\fInn\fP.
-.LP
-To complete an unfinished response saved by the h)old command, simply
-enter any response action, e.g. \fBR\fP {\fBreply\fP}.  This will
-notice the unfinished response and ask you whether you want to
-complete it now.  Only one unfinished response can exist at a time.
-Notice that the $A environment variable may no longer be valid as a
-path to the original article when the response is completed.
-.LP
-If your message contains 8-bit characters, the \fBcharset\fP variable
-is not set to "unknown" and the message does not already have a
-\fBMIME-Version\fP or \fBContent-\fP\fIXXX\fP header, \fInn\fP will add
-the following headers to your message before sending it:
-.sp 0.5v
-.nf
-	MIME-Version: 1.0
-	Content-Type: text/plain; charset=\fIcharset\fP
-	Content-Transfer-Encoding: 8bit
-.fi
-.sp 0.5v
-It must be noted that sending 8-bit characters over the current news
-and mail networks is risky at best; although large parts of the network
-will pass through such characters unchanged, high-order bits may occasionally
-be stripped. Although the MIME standard provides solutions for this by
-encoding the characters, this is not yet supported by \fInn\fP.
-Adding the above headers is an interim solution that is compatible with
-current practice and is much better than just sending the message without
-any hints about the character set used.
-.LP
-\fBRelated variables\fP:
-append-signature-mail, append-signature-post, charset, data-bits,
-default-distribution, follow-distribution, post-distribution,
-edit-response-check, editor, include-art-id, include-full-header,
-included-mark, mail-header, mail-record, mail-script, mailer,
-mailer-pipe-input, news-header, news-record, news-script,
-orig-to-include-mask, pager, query-signature,
-record, response-check-pause, response-default-answer,
-save-counter, save-counter-offset, save-report, spell-checker.
-.SH JUMPING TO OTHER GROUPS
-By default \fInn\fP will present the news groups in a predefined
-sequence (see the section on Presentation Sequence later on).
-To override this sequence and have a look at any other group the
-.B G
-{\fBgoto-group\fP} command available in both selection and reading
-mode enables you to move freely between all the newsgroups.
-.LP
-Furthermore, the
-.B G
-command enables you to open folders and other files, to read old
-articles you have read before, and to grep for a specific subject in a
-group.
-.PP
-It is important to notice that normally the goto command is recursive,
-i.e. a new \fImenu level\fP is created when the specified group or
-folder is presented, and when it has been read, \fInn\fP will continue
-the activity in the group that was presented before the goto command
-was executed.  However, if there are unread articles in the target
-group you can avoid entering a new menu level by using the
-.B j
-reply described below.  The current menu level (i.e. number of nested
-goto commands) will be shown in the prompt line as "<N>" (in reverse
-video).
-.PP
-The goto command is very powerful, but unfortunately also a little bit
-tricky at first sight, because the facilities it provides depend on
-the context in which the command is used.
-.PP
-When executed, the goto command will prompt you for the name of the
-newsgroup, folder, or file to open.  It will use the first letter
-you enter to distinguish these three possibilities:
-.TP
-.B return
-An empty answer is equivalent to the current newsgroup.
-.TP
-\fIletter\fP
-The answer is taken to be the name of a newsgroup.
-If a news group with the given name does not exist, \fInn\fP will
-treat the answer as a regular expression and locate the first group
-in the presentation sequence (or among all groups) whose name matches
-the expression.
-.TP
-.I +
-.br
-The answer is taken to be the name of a folder.  If only `+' is
-entered, it is equivalent to the default save file for the current
-group.
-.TP
-\fI\&/ or ./ or ~/\fP
-The answer is taken to be the name of a file, either relative to the
-current directory, relative to your home directory, or an absolute
-path name for the file.
-.TP
-.B %
-In reading mode, this reply corresponds to reading the current article
-(and splitting it as a digest).  In selection mode, it will prompt for
-an article on the menu to read.
-.TP
-.B @
-This choice is equivalent to the archive file for the current group.
-.TP
-\fB=\fP and \fInumber\fP
-These answers are equivalent to the same answers described below
-applied to the current group (e.g. \fBG return =\fP and \fBG =\fP are
-equivalent).
-.LP
-Specifying a folder, a file, or an article (with \fB%\fP) will cause
-\fInn\fP to treat the file like a digest and split it into separate
-articles (not physically!)  which are then presented on a menu in the
-usual way, allowing you to read or save individual subarticles from
-the folder.
-.LP
-When you enter a group name, \fInn\fP will ask you how many articles
-in the group you want to see on the menu.  You can give the following
-answers:
-.TP
-.I a number N
-In this case you will get the newest N articles in the group, or if
-you specified the current group (by hitting \fBreturn\fP to the group
-name prompt or entering the number directly), you will get that many
-\fIextra\fP articles included on the same menu (without creating a new
-menu level).
-.TP
-.B j
-This answer can only be given if there are unread articles in the
-group.  It will instruct nn to jump directly to the specified group in
-the presentation sequence \fIwithout\fP creating a new menu level.
-.TP
-.B u
-This instructs \fInn\fP to present the \fIunread\fP articles in the
-group (if there are any).  If you have already read the group (in the
-current invocation of \fInn\fP), the \fBu\fP answer will instruct
-\fInn\fP to present the articles that were unread when you entered
-\fInn\fP.
-.TP
-.B a
-This instruct \fInn\fP to present \fBall\fP articles in the group.
-.TP
-\fBs\fP\fIword\fP or \fB=\fP\fIword\fP
-This instructs \fInn\fP to search \fIall\fP articles in the groups,
-but only present the articles containing the word \fIword\fP in the
-subject.  Notice that case is ignored when searching for the word in
-the subject lines.
-.TP
-\fBn\fP\fIword\fP
-Same as the \fBs\fP form except that it searched for articles where
-the sender \fIname\fP matches \fIword\fP.
-.TP
-\fBe\fP\fIword\fP
-Same as the \fBs\fP form except that it Searched for articles where
-\fIeither\fP the subject or the sender name matches \fIword\fP.
-.TP
-\fIword\fP = \fB/\fP\fIregexp\fP
-When the first character of the \fIword\fP specified with the \fBs\fP,
-\fBn\fP, and \fBe\fP forms is a slash `/', the rest of the input is
-interpreted as a regular expression to search for.  Notice that
-regular expression matching is case insensitive when
-\fBcase-fold-search\fP is set (default).
-.TP
-.B return
-The meaning of an empty answer depends on the context: if there are
-unread articles in the specified group the unread articles will be
-presented, otherwise \fIall\fP articles in the group will be included
-in the menu.
-.LP
-If you specified the current group, and the menu already contains all
-the available articles, \fInn\fP will directly prompt for a word to
-search for in the subject of all articles (the prompt will be an equal
-sign.)
-.LP
-When the goto command creates a new menu level, \fInn\fP will not
-perform auto kill or selection in the group.  You can use the \fB+\fP
-command in menu mode to perform the auto-selections.
-.LP
-There are three commands in the goto family:
-.TP
-\&\fBG\fP	{\fBgoto-group\fP}
-This is the general goto command described above.
-.TP
-\&\fBB\fP	{\fBback-group\fP}
-Backup one or more groups.  You can hit this key one or more times to
-go back in the groups already presented (including those without new
-articles); when you have found the group you are looking for, hit
-\fBspace\fP to enter it.
-.TP
-\&\fBA\fP	{\fBadvance-group\fP}
-Advance one or more groups.  This command is similar to the \fBB\fP
-command, but operates in the opposite direction.
-.TP
-\&\fBN\fP	{\fBnext-group\fP}
-When used within an \fBA\fP or \fBB\fP command, it skips forward to
-the next group in the sequence with unread articles or which has
-previously been visited.
-.TP
-\&\fBP\fP	{\fBprevious\fP}
-When used within an \fBA\fP or \fBB\fP command, it skips backwards to
-the preceding group in the sequence with unread articles or which has
-previously been visited.
-.LP
-Once you have entered an \fBA\fP or \fBB\fPcommand, you can freely mix
-the \fBA\fP, \fBB\fP, \fBP\fP, and \fBN\fP commands to find the group
-you want, and you can also use the \fBG\fP command to be prompted for
-a group name.
-.LP
-To show the use of the goto command some typical examples on
-its use are given below:
-.sp
-.nf
-.I "Present the unread articles in the dk.general group"
-.sp 0.5v
- 	\fBG\fP dk.general \fBreturn\fP \fBu\fP
-.sp
-.I "Jump directly to the gnu.emacs group and continue from there"
-.sp 0.5v
- 	\fBG\fP gnu.emacs \fBreturn\fP \fBj\fP
-.sp
-.I "Include the last 10 READ articles in the current group menu"
-.sp 0.5v
- 	\fBG\fP 10 \fBreturn\fP
-.sp
-.I "Find all articles in rec.music.misc on the subject Floyd"
-.sp 0.5v
- 	\fBG\fP rec.music.misc \fBreturn\fP
- 	\fB=\fP floyd \fBreturn\fP
-.sp 0.5v
-.sp
-.I "Open the folder +nn"
-.sp 0.5v
- 	\fBG\fP +nn \fBreturn\fP
-.sp
-.I "Split current article as a digest (in reading mode)"
-.sp 0.5v
- 	\fBG\fP \fB%\fP
-
-.fi
-.LP
-\fBRelated variables\fP:
-case-fold-search, default-save-file, folder-save-file
-.SH AUTOMATIC KILL AND SELECTION
-When there is a subject or an author which you are either very
-interested in, or find completely uninteresting, you can easily
-instruct \fInn\fP to \fIauto-select\fP or \fIauto-kill\fP articles
-with specific subjects or from specific authors.  These instructions
-are stored in a \fIkill file\fP, and the most common types of entries
-can be created using the following command:
-.TP
-\&\fBK\fP	{\fBkill-select\fP}
-Create an entry in your personal kill file.  The contents of the entry
-is specified during a short dialog that is described in details below.
-This command is available in both selection and reading mode.
-.LP
-Entries in the kill file may apply to a single newsgroup or to all
-newsgroups.  Furthermore, entries may be permanent or they may be
-expired a given number of days after their entry.
-.LP
-To increase performance, \fInn\fP uses a compiled version of the kill
-file which is read in when \fInn\fP is invoked.  The compiled kill
-file will automatically be updated if the normal kill file has been
-modified.
-.LP
-The following dialog is used to build the kill file entry:
-.TP
-\fIAUTO (k)ill or (s)elect (CR => Kill subject 30 days)\fP
-If you simply want \fInn\fP to kill all articles with the subject of
-the current article (in reading mode) or a specific article (which
-\fInn\fP will prompt for in selection mode), just hit \fBreturn\fP.
-This will cause \fInn\fP to create an entry in the kill file to kill
-the current (or specified) subject in the current group for a period
-of 30 days (which should be enough for the discussion to die out).
-.sp 0.5v
-You can control the default kill period, or change it into a "select"
-period via the \fBdefault-kill-select\fP variable.
-.sp 0.5v
-If this "default behavior" is not what you want, just answer either
-\fIk\fP or \fIs\fP to kill or select articles, respectively, which
-will bring you on to the rest of the questions.
-.TP
-\fIAUTO SELECT on (s)ubject, (n)ame or >(c)ount crossposts (s)\fP
-(The \fISELECT\fP will be substituted with \fIKILL\fP depending on the
-previous answer).  Here you specify whether you want the kill or
-select to depend on the subject of the article (\fBs\fP or
-\fBspace\fP), or on the name of the author (\fBn\fP) or articles
-with greater than a specified numeb of crossposts.
-.TP
-\fISELECT NAME:\fP
-(Again \fISELECT\fP may be substituted with \fIKILL\fP and
-\fISUBJECT\fP  or 
-\fI>Crosspost\fP may replace \fINAME\fP).  You must now enter a name (or
-subject or number) to select (or kill).  In reading mode, you may just hit
-\fBreturn\fP (or \fB%\fP) to use the name (or subject) of the current
-article.  In selection mode, you can use the name (or subject) from an
-article on the menu by answering with \fB%\fP followed by the
-corresponding article identifier.
-.sp 0.5v
-When the name or subject is taken from an article (the current or one
-from the menu), \fInn\fP will only select or kill articles where the
-name or subject matches the original name or subject exactly including
-case.
-.sp 0.5v
-If the first character typed at the prompt is a slash `/', the rest of
-the line is used as a \fIregular expression\fP which is used to match
-the name or subject (case \fIin\fPsensitive).
-.sp 0.5v
-Otherwise, \fInn\fP will select or kill articles which \fIcontain\fP
-the specified string anywhere in the name or subject (ignoring case).
-.TP
-\fISELECT in (g)roup `dk.general' or in (a)ll groups  (g)\fP
-You must now specify whether the selection or kill should apply to the
-current group only (\fBg\fP or \fBspace\fP) or to all groups (\fBa\fP).
-.TP
-\fILifetime of entry in days (p)ermanent  (30)\fP
-You can now specify the lifetime of the entry, either by entering a
-number specifying the number of days the entry should be active, or
-\fBp\fP to specify the entry as a permanent entry.  An empty reply is
-equivalent to 30 days.
-.TP
-\fICONFIRM SELECT ....\fP
-Finally, you will be asked to confirm the entry, and you should
-especially note the presence or absence of the word \fBexact\fP which
-specify whether an exact match applies for the entry.
-.LP
-\fBRelated variables\fP:
-default-kill-select, kill.
-.SH THE FORMAT OF THE KILL FILE
-The kill file consists of one line for each entry.  Empty lines and
-lines starting with a # character are ignored.  \fInn\fP automatically
-places a # character in the first position of expired entries when it
-compiles the kill file.  You can then edit the kill file manually from
-time to time to clean out these entries.
-.LP
-Each line has the following format
-.nf
-	[\fIexpire time\fP :] [\fIgroup name\fP] : \fIflags\fP : \fIstring\fP [: \fIstring\fP]...
-.fi
-.LP
-Permanent entries have no \fIexpire time\fP (in which case the colon
-is omitted as well!).  Otherwise, the \fIexpire time\fP defines the
-time (as a time_t value) when the entry should be expired.
-.LP
-The \fIgroup name\fP field can have three forms:
-.TP
-\fInews.group.name\fP
-If it is the name of a single news group (e.g. comp.unix), 
-the entry applies to that group only.
-.TP
-\fB/\fP\fIregular expression\fP
-If it starts with a slash `/' followed by a \fIregular expression\fP
-(e.g. /^news\e..*), the entry applies to all groups whose name are
-matched by the regular expression.
-.TP
-\fIempty\fP
-An empty group field will apply the entry to \fIall\fP groups.
-.LP
-The \fIflags\fP field consists of a list of characters which
-identifies the type of entry, and the interpretation of each
-\fIstring\fP field.  When used, the flag characters must be used in
-the order in which they are described below:
-.TP
-\fB~\fP	(optional)
-.br
-When this flag is present on any of the entries for a specific group,
-it causes all entries which \fIare not auto-selected\fP to be killed.
-This is a simple way to say: I'm interested in this and that, but
-nothing else.
-.TP
-\fB+\fP	or \fB!\fP (optional)
-.br
-Specify an auto-select \fB+\fP or an auto-kill \fB!\fP entry,
-respectively.  If neither are used, the article is neither selected
-nor killed which is useful in combination with the `\fB~\fP' flag.
-.TP
-\fB>\fP (optional)
-When used with a subject (flag \fBs\fP), the kill entry only matches
-follow-ups to that subject (i.e. where the Subject: line starts with
-Re:).  For example, to kill all "Re:"'s in rec.humor use the following
-kill entry: rec.humor:!>s/:.
-.TP
-\fB<\fP (optional)
-When used with a subject (flag \fBs\fP), the kill entry only matches
-base articles with that subject (i.e. where the Subject: line does not
-start with Re:).  For example, to kill all articles asking for help
-(but not follow-ups) in the tex group, add this to your kill file:
-.nf
-	comp.text.tex:!s</:^HELP
-.fi
-.TP
-One of \fBnsfcClLa\fP  (mandatory)
-.RS
-.LP
-Specify what the string applies to:
-.TP
-\fBn\fP 
-Matches part of the name of the sender of the article
-.TP
-\fBs\fP 
-Matches part of he subject of the article
-.TP
-\fBf\fP 
-Matches part of the full from line of the article
-.TP
-\fBc\fP 
-If the article is crossposted to less than N groups
-.TP
-\fBC\fP 
-If the article is crossposted to more than N groups
-.TP
-\fBl\fP 
-If the article is less than N lines
-.TP
-\fBL\fP 
-If the article is more than N lines
-.TP
-\fBa\fP 
-The string is ignored (but must be present), and the entry
-applies to articles with a non-empty References: line.
-.RE
-.LP
-.TP
-\fB/\fP (optional)
-.br
-Specifies that the corresponding \fIstring\fP is a \fBregular expression\fP
-which the sender or subject is matched against.  If not specified, a simple
-string match is performed using the given \fIstring\fP.
-.TP
-\fB=\fP (optional)
-.br
-Specifies that the match against the name or subject is \fIcase
-sensitive\fP.  Furthermore, when regular expression matching
-is \fInot\fP used, the name or subject must be of the same length
-of the \fIstring\fP to match.
-Otherwise, the match will be case insensitive, and a \fIstring\fP may
-occur anywhere in the name or subject to match.
-.TP
-\fB|\fP or \fB&\fP (mandatory if multiple strings)
-.br
-If more than one string is specified, the set of \fIflags\fP
-corresponding to each \fIstring\fP must be separated by either an
-\fIor operator\fP `\fB|\fP' or an \fIand operator\fP `\fB&\fP'.  The
-and operator has a higher precedence than the or operator, e.g.  a
-complex match expression \fIa|b&c|d\fP will succeed if either of
 \fIa\fP, \fIb&c\fP, or \fId\fP matches.
-.LP
-The \fIstring\fP field in the entry is the name, subject or regular
-expression that will be matched against the name or subject of each
-article in the group (or all groups).  Colons and backslashes must be
-escaped with a backslash in the string.
-.LP
-Example 1:  Auto-select articles from `Tom Collins' (exact) on subject
-`News' in all groups:
-.sp 0.5v
-    :+n=&s:Tom Collins:News
-.sp
-Example 2:  Kill all articles which are neither from `Tom' or `Eve' in
-some.group.  Select only articles from Eve:
-.sp 0.5v
-    some.group:~n:Tom
-.br
-    some.group:+n:Eve
-.sp
-The second example can also be written as a single entry with an or
-operator (in this case, the select/kill attribute only applies to the succeeding strings):
-.br
-    some.group:~n|+n:Tom:Eve
-.LP
-To remove expired entries, to "undo" a \fBK\fP command, and to make
-the more advanced entries with more than one string, you will have to
-edit the kill file manually.  To recompile the file, you can use the
-\fB:compile\fP command.  When you invoke \fInn\fP, it will also
-recompile the kill file if the compiled version is out of dat.
-.SH SHELL ESCAPES
-The
-.B !
-commands available in selection and reading mode are identical in
-operation (with one exception).  When you enter the shell escape
-command, you will be prompted for a shell command.  This command will
-be fed to the shell specified in the \fBshell\fP variable (default
-loaded from the SHELL environment variable or /bin/sh) after the
-following substitutions have been performed on the command:
-.TP
-\fIFile name expansion\fP
-The earlier described file name expansions will be performed on all
-arguments.
-.TP
-.B $G
-will be substituted with the name of the current news group.
-.TP
-.B $L
-will be substituted with the \fIlast component\fP of the name of the
-current news group.
-.TP
-.B $F
-will be substituted with the name of the current news group with the
-periods replaced by slashes.
-.TP
-.B $N
-will be substituted with the (local) article number (only defined in
-reading mode).
-.TP
-.B $A
-is replaced by the full path name of the file containing the current article
-(only defined in reading mode).
-.TP
-.B %
-Same as $A.
-.TP
-.B $(VAR)
-is replaced by the string value of the environment variable \fIVAR\fP.
-.LP
-When the shell command is completed, you will be asked to hit any key
-to continue.  If you hit the
-.B !
-key again, you will be prompted for a new shell command.  Any other
-key will redraw the screen and return you to the mode you came from.
-.LP
-\fBRelated variables\fP:
-shell, shell-restrictions.
-.SH MISCELLANEOUS COMMANDS
-Below are more useful commands which are available in both
-selection and reading modes.
-.TP
-\&\fBU\fP	{\fBunsub\fP}
-Unsubscribe to the current group.  You will not see this group
-any more unless you explicitly request it.  If the variable
-\fBunsubscribe-mark-read\fP is set, all articles in the group will be
-marked read when you unsubscribe.
-  If the variable \fBkeep-unsubscribed\fP is not set, the group will
-be removed from .newsrc.  If you are not subscribing to the group, you
-will be given the possibility to \fIresubscribe\fP to the group!  This
-may be used in connection with the \fBG\fP command to resubscribe a
-group.
-.TP
-\&\fBC\fP	{\fBcancel\fP}
-Cancel (delete) an article in the current group or folder.  Canceling
-articles in a folder will cause the folder to be rewritten when it is
-closed.  In selection mode, you will be prompted for the identifier of
-the article to cancel.  Normal users can only cancel their own
-articles.
-See also the section on folder maintenance.
-.TP
-\&\fBY\fP	{\fBoverview\fP}
-Provide an overview of the groups with unread articles.
-.TP
-\&\fB"\fP	{\fBlayout\fP}
-Change menu layout in selection mode.  The menu will be redrawn using
-the next layout (cycling through ..., 2, 3, 4, 0, 1, ...)
-.LP
-Most of the commands in \fInn\fP are bound to a key and can be activated
-by a single keystroke.  However, there are a few commands that
-cannot be bound to a key directly.
-.LP
-As shown in the keystroke command descriptions, all commands have a
-name, and it is possible to activate a command by name with the
-\fIextended command\fP key (\fB:\fP).  Hitting this key will prompt
-you for the name of a command (and parameters).  For example, an
-alternative to hitting the \fBR\fP key to reply to an article is to
-enter the extended command \fB:reply\fP followed by \fBreturn\fP.  The
-\fB:post\fP and \fB:unshar\fP commands described earlier can also be
-bound to a key.  The complete list of commands which can be bound to
-keys is provided in the section on Key Mappings below.
-.LP
-The following extended commands \fIcannot\fP be bound to a key, mainly
-because they require additional parameters on the prompt line, or
-because it should not be possible to activate them too easily.
-.TP
-\fB:bug\fP
-Prepare and send a bug report to the nn-bugs mailing address.
-.TP
 \fB:cd\fP [ \fIdirectory\fP ]
-Change current working directory.  If the directory argument is not provided,
-\fInn\fP will prompt for it.
-.TP
-\fB:clear\fP
-Clear the screen (without redraw).  This may be useful at the
-beginning of the init file (possibly guarded by "on program nn"), or
-in some macros.
-.TP
-\fB:compile\fP
-Recompile the \fIkill\fP file.  This is not necessary under normal
-operation since \fInn\fP automatically compiles the file on start-up
-if it has changed, but it can be used if you modify the kill file
-while \fInn\fP is suspended.
-.TP
-\fB:coredump\fP
-Abort with a core dump.  For debugging purposes only.
-.TP
-\fB:define\fP \fImacro\fP
-Define macro number \fImacro\fP as described in the Macro Definition
-section below.  If \fImacro\fP is omitted, the next free macro number
-will be chosen.
-.TP
-\fB:dump\fP \fItable\fP
-Same as the \fB:show\fP command described below.
-.TP
-\fB:help\fP [ \fIsubject\fP ]
-Provide online help on the specified subject.  If you omit the
-subject, a list of the available topics will be given.
-.TP
-\fB:load\fP [ \fIfile\fP ]
-Load the specified \fIfile\fP.  If the \fIfile\fP argument is omitted,
-the init file is reloaded.
-The \fBsequence\fP part (if present) is ignored.
-.TP
-\fB:local\fP \fIvariable\fP [ \fIvalue\fP ]
-Make the variable local to the current group.  Subsequent changes to
-the variable will only be effective until the current group is left.
-If a value is specified, it will be assigned to the local variable.
-To assign a new value to a boolean variable, the values \fBon\fP and
-\fBoff\fP must be used.
-.TP
-\fB:lock\fP \fIvariable\fP
-Lock the specified \fIvariable\fP so it cannot be modified.
-.TP
-\fB:man\fP
-Call up the online manual.  The manual is presented as a normal folder
-with the program name in the `From' field and the section title in the
-\&`subject' field.  All the normal commands related to a folder works
-for the online manual as well, e.g. you can save and print sections of
-the manual.
-.TP
-\fB:map\fP \fIarguments\fP
-This is the command used for binding commands to the keys.  It is
-fully described in the Key Mapping section below.
-.TP
 \fB:mkdir\fP [ \fIdirectory\fP ]
-Create the directory (and the directories in its path).  It will
-prompt for at directory name if the argument is omitted.
-.TP
-\fB:motd\fP
-Show the \fImessage of the day\fP (maintained by the news
-administrator in the file "motd" in the lib directory.  This file is
-automatically displayed on start-up whenever it changes if the
-\fBmotd\fP variable is set.
-.TP
-\fB:pwd\fP
-Print path name of current working directory on message line.
-.TP
-\fB:q\fP
-Has no effect besides redrawing the screen if necessary.  If an
-extended command (one which is prefixed by a :) produces any output
-requiring the screen to be redrawn, the screen will not be redrawn
-immediately if the variable \fBdelay-redraw\fP is set (useful on
-slow terminals).  Instead another \fB:\fP prompt is shown to allow you
-to enter a new extended command immediately.  It is sufficient to hit
-.B return
-to redraw the screen, but it has been my experience that entering
-.B q return
-in this situation happens quite often, so it was made a no-op.
-.TP
-\fB:q!\fP
-Quit \fInn\fP without updating the \fB.newsrc\fP file.
-.TP
-\fB:Q\fP
-Quit \fInn\fP.  This is equivalent to the normal
-.B Q
-command.
-.TP
-\fB:rmail\fP
-Open your mailbox (see the \fBmail\fP variable) as a folder to
-read the incoming messages.  This is \fInot\fP a full mail interface
-(depending on the nn configuration, you may not be able to delete
-messages, add cc: on replies, etc), but it can give
-you a quick glance at new mail without leaving \fInn\fP.
-.TP
-\fB:set\fP \fIvariable\fP [ \fIvalue\fP ]
-Set a boolean variable to true or assign the value to a string or
-integer variable.  The
-.B :set
-command is described in details in the section on VARIABLES.
-.TP
-\fB:sh\fP
-Suspend \fInn\fP, or if that is not possible, spawn an interactive shell.
-.TP
-\fB:show groups\fP \fImode\fP
-Show the total number or the number of unread articles in the current
-group, depending on \fImode\fP: \fBall\fP (list the number of unread
-articles in all groups including groups which you have unsubscribed
-to), \fBtotal\fP (list the total number of articles in all existing
-groups), \fBsequence\fP (list unread groups in presentation sequence
-order), \fBsubscr\fP (list all subscribed
-groups), \fBunsub\fP (list unsubscribed groups only).  Any other
-\fImode\fP results in a listing of the number of unread articles in
-all subscribed groups including those you have suppressed with the `!'
-symbol in the group presentation sequence.  To get just the currently
-unread groups in the presentation sequence, use the `Y'
-{\fBoverview\fP} command.
-.TP
-\fB:show kill\fP
-Show the kill entries that applies to the current group and to all groups.
-.TP
-\fB:show rc\fP [ \fIgroup\fP ]
-Show the .newsrc and select file entries for the current or the
-specified group.
-.TP
-\fB:show map\fP [ \fImode\fP ]
-Show the key bindings in the current or specified mode.
-.TP
-\fB:sort\fP [ \fImode\fP ]
-Reorder the articles on the menu according to \fImode\fP or if omitted
-to the default \fBsort-mode\fP.  The following sorting modes are
-available:
-.br
-\fBarrival\fP: list articles by local article number which
-will be the same as the order in which they
-arrived on the system (unless groups are merged),
-.br
-\fBsubject\fP: articles with identical
-subjects are grouped and ordered after age of the oldest article in
-the group,
-.br
-\fBlexical\fP: subjects in lexicographical order,
-.br
-\fBage\fP: articles ordered after posting date only,
-.br
-\fBsender\fP: articles ordered after sender's name.
-.br
-\fBthread-lexical\fP: articles ordered by thread, threads by subject.
-.br
-\fBthread-date\fP: articles ordered by thread, threads by date.
-.TP
-\fB:tk\fP \fIcommands\fP
-Call a set of TK commands (nn-tk)
-.TP
-\fB:toggle\fP \fIvariable\fP
-Toggle a boolean variable.
-.TP
-\fB:unread\fP [ \fIgroup\fP ] [ \fIarticles\fP ]
-Mark the current (or specified) group as unread.  If the
-\fIarticles\fP argument is omitted, the number of unread articles in
-the group will be set to the number of unread articles when \fInn\fP
-was invoked.  Otherwise, the argument specifies the number of unread
-articles.
-.TP
-\fB:unset\fP \fIvariable\fP
-Set a boolean variable to false or clear an integer variable.
-.TP
-\fB:x\fP
-Quit \fInn\fP and \fBmark\fP all articles in the current group as
-\fIread\fP!
-.LP
-\fBRelated variables\fP:
-backup, bug-report-address, delay-redraw, keep-unsubscribed,
-unsubscribe-mark-read, mail, pager, sort-mode.
-.\" ENDPART B
-.\" BEGINPART C
-.SH CATCH UP
-If you have not read news for some time, there are probably more news
-than you can cope with.  Using the option \-\fBa0\fP \fInn\fP will put
-you into \fBcatch-up mode\fP.
-.LP
-The first question you will get is whether to catch up interactively
-or automatically.  If you instruct \fInn\fP to catch up automatically,
-it will simply mark all articles in all groups as read, thus bringing
-you \fIcompletely up-to-date\fP.
-.LP
-If you choose the interactive mode, \fInn\fP will locate all groups
-with unread articles, and for each group it will prompt you for an
-action to take on the group.  An action is selected using a single
-letter followed by \fBreturn\fP.  The following actions are available:
-.TP
-.B y
-Mark all articles as read in current group.
-.TP
-.B n
-Do not update group (this is the default action if you just hit
-\fBreturn\fP).
-.TP
-.B r
-Enter reading mode to read the group.
-.TP
-.B U
-Unsubscribe to the group.
-.TP
-.B ?
-Give a list of actions.
-.TP
-.B q
-Quit.
-When you quit, \fInn\fP will ask whether the
-rest of the groups should be updated unconditionally or whether they
-should remain unread.
-.SH NNTP
-With NOV it is possible to compile \fInn\fP as a pure NNTP client. The default 
-NNTP server is defined in /usr/lib/nntp_server, but this can be overridden
-by setting the NNTPSERVER environment variable or by using the -R command
-option or the -D option. If the NNTP server is set to the local host or 
-doesn't exist reading is done using local files.
-.PP
-If NNTP is being used over a slow line it is possible to speed up
-initialization by setting the nn variable \fBnew-group-action\fP to less
-than 3 to stop the active.times file being read and setting 
-\fBshow-purpose-mode\fP to 0 to stop the newsgroups files being read. 
-.PP
-If even faster startup is required the -A command option will stop \fINN\fP
-reading the active file via NNTP but it will instead use the .newsrc 
-file to provide a list of newsgroups, this is the equivalent of setting
-the \fBdont-read-active\fP variable. The \fBdont-do-new-groups\fP variable
-speeds things up slightly by ignoring new groups. In this mode information
-about a number of groups is read at once, the variable \fBnntp-group-readahead\fP
-controls how many groups this information is read for (if it is set to a
-too high value, say 1000, it is counter productive and may cause problems).
-The number of unread articles for groups that have not been read 
-ahead is not displayed.
-.PP
-\fBUsername and Password:\fP
-To use the INN 1.4 authinfo feature create
-\fB~/.nn/authinfo\fP with the following contents:
-.PP
-username-on-server password-on-server
-.PP
-If the -D parameter is used to specify an alternate host name the
-file read is \fB~/.nn/authinfo-host.name\fP
-.SH NNTP PREFETCHING
-\fINN\fP will cache a small number articles and group infomation
-entries.
-.PP
-\fINN\fP will do prefetching of articles and group information, 
-a fairly simple algorithm is used, start prefetching the 
-information for the next  group
-when selecting articles for the current group, start prefetching
-the next article when reading the current one.
-Prefetching is done via a separate program (nnprefetch) which
-communicates with \fINN\fP  via pipes and loads the cache.
-
-.SH NN-TK OPTIONS
-The value of these options can be set via the \fInn-tk\fP options menu 
-entries in the SETUP menu, these changes are stored in the tk-config
-file in the users .nn directory.
-.PP
-These options have their defaults defined in nn-defaults in the nn lib
-directory. This global nn-defaults file entries are overridden by the
-local tk-config file.
-.TP
-\fBGENERAL\fP
-.RS
-.IP menu_min
-The minimum size of the subjects panel on the main window. the size
-when reading article
-.IP menu_max
-The maximum size of the subjects panel on the main window, the size
-when selecting articles. If meuu_max equals menu_min NN won't try
-to vary the size of the panels.
-.IP horizontal_scrollbars
-When to show horizontal scroll bars for article display and group list,
-either always (2), never (0) or only the contents of the panel is larger than
-the display area (1).
-.IP default_article_lines
-The number of lines in an article that are displayed by default,
-this is to speed up the loading of articles
-.IP mono_font
-Whether to display articles in mono space font by default
-.IP middle_button_pos
-Where to place the middle row of buttons on the main screen, whether
-above the selection panel (1), between the panels (0) or bellow the article
-panel (2).
-.IP mime_handling
-Under what circumstances to pass articles to EXMH for MIME handling or
-other reasons, the options are never (0), all except text/plain (1), 
-all MIME articles (3) or all articles (4).
-.IP scan_uri
-If set automatically scan each article for anything that looks like
-World Wide Web URL's and turn them into buttons display them in a
-web browser.
-.IP nntp_progress
-Display progress of nntp transfer for .overview and active
-files ever N lines, 0 means never
-display it.
-.IP nntp_progress_a
-Display progress of nntp transfer for article files ever N lines, 
-0 means never
-display it.
-.IP cprompt_delay
-The delay in seconds before displaying the Cancel button for NNTP transfers,
-this is so that it doesn't flash on and off for quick transfers.
-.IP compressed_prompt	
-Sets whether to use popups or mode lines or both for displaying prompts 
-and information. Options are popup only (0), both prompt line and popup (1) or
-mode line only (2) . The mode line prompts may not give all the information
-that was available with the popups.
-.IP separate_prompt
-If set the nn prompt window is a separate window brought up when needed,
-if it's not set there a three prompt lines at the bottom of the main
-window.If compressed prompt is set to 2 then this is not used.
-.IP xterm_path
-Path for executing xterm
-.RE
-.TP
-\fBGROUP LIST\fP
-.RS
-.IP thread_height
-Specifies height of thread display panel, if set to 0 the thread panel
-won't appear.
-.IP group_list_all
-Display the total number articles in each group instead of just 
-the number of unread articles
-.IP group_list_read
-Display  groups with no unread articles in them
-.IP group_list_unsub
-Display groups that are  unsubscribed
-.IP group_list_width
-Set the width of group list
-.IP group_menu_max		
-Maximum number of articles to display in group list at one time
-.IP single_main
-Put the group list into the main menu window instead of as
-a separate window
-.RE
-.TP
-\fBGROUP CASCADING MENUS\fP
-.RS
-.IP mk_group_menu
-Generate the group cascading menus at startup instead of when required,
-this slows down startup
-.IP group_menu_read
-Include groups with no unread articles in the menus
-.IP group_menu_unsub
-Include unsubscribed groups in the menus
-.IP group_menu_length
-Length of the columns in the group menu display
-.RE
-.TP
-\fBBalloon help\fP
-.RS
-.IP balloon_on
-Display the balloon help messages
-.IP balloon_start_delay
-The delay in milli-seconds between the mouse pointer moving over a
-button and the balloon help being displayed
-.IP balloon_destroy_delay
-The delay in milli-seconds until the balloon help is deleted again.
-.IP balloon_number
-The number of times a balloon help message for a particular button 
-is displayed.
-.RE
-.SH NN-TK NN-DEFAULTS
-The \fBnn-defaults\fP file is in X resource format, it contains the defaults 
-for the various \fInn-tk\fP options. It also contains resources
-setting other aspects of the interface such as colors, fonts
-and adjustments to the \fIEXMH\fP interface. The resources can also
-be set in the X server.
-.PP
-The \fBsplit_group\fP variable controls which of the group cascading
-menus is split up by the first character to reduce their length.
-.PP
-The file is installed in the \fInn\fP lib directory but it can
-be overridden by a local \fBnn-defaults\fP file in \fB.nn\fP.
-
-
-.SH VARIABLES AND OPTIONS
-It is possible to control the behavior of \fInn\fP through the
-setting (and unsetting) of the variables described below.  There are
-several ways of setting variables:
-.br
-\- Through command line options when \fInn\fP is invoked.
-.br
-\- Through \fIassignments\fP on the command line when \fInn\fP is invoked.
-.br
-\- Through global \fBset\fP commands in the init file.
-.br
-\- Through \fBset\fP or \fBlocal\fP commands executed from entry macros.
-.br
-\- Through the \fB:set\fP extended command when you run \fInn\fP.
-.br
-\- Through the \fInn-tk\fP \fBNN Variables\fP menu item which produces
-a panel for setting the value of these variables.
-.LP
-There are four types of variables:
-.br
-\- Boolean variables
-.br
-\- Integer variables
-.br
-\- String variables
-.br
-\- Key variables
-.LP
-Boolean variables control a specific function in \fInn\fP, e.g.
-whether the current time is shown in the prompt line.  A boolean
-variable is set to
-.B true
-with the command
-.nf
-	\fBset\fP \fIvariable\fP
-.fi
-and it is set to
-.B false
-with either of the following (equivalent) commands:
-.nf
-	\fBunset\fP \fIvariable\fP
-	\fBset no\fP\fIvariable\fP
-.fi
-.LP
-You can also toggle the value of a boolean variable using the command:
-.nf
-	\fBtoggle\fP \fIvariable\fP
-.fi
-.LP
-For example:
-.nf
-	\fBset\fP time
-	\fBunset\fP time
-	\fBset\fP notime
-	\fBtoggle\fP time
-.fi
-.LP
-Integer variables control an amount e.g. the size of the preview
-window, or the maximum number of articles to read in each group.  They
-are set with the following command:
-.nf
-	\fBset\fP \fIvariable value\fP
-.fi
-In some cases, not setting an integer value has a special meaning,
-for example, not having a minimal preview window or reading all
-articles in the groups no matter how many there are.  The special
-meaning can be re-established by the following command:
-.nf
-	\fBunset\fP \fIvariable\fP
-.fi
-For example:
-.nf
-	\fBset\fP window 7
-	\fBunset\fP limit
-.fi
-.LP
-String variables may specify directory names, default values for
-prompts, etc.  They are set using the command
-.nf
-	\fBset\fP \fIvariable string\fP
-.fi
-Normally, the \fIstring\fP value assigned to the \fIvariable\fP
-value starts at the first non-blank character after the variable name
-and ends with the last non-blank character (excluding comments) on the
-line.  To include leading or trailing blanks, or the comment start
-symbol, #, in the string they must be escaped using a backslash `\e',
-e.g. to set \fBincluded-mark\fP to the string " # ", the following
-assignment can be used:
-.sp 0.5v
-.nf
-	set included-mark  \e\ \e#\e\ \ \ # blank-#-blank
-.fi
-.sp 0.5v
-To include a backslash in the string, it must be duplicated `\e\e'.
-A backslash may also be used to include the following special
-characters in the string: \ea=alarm, \eb=backspace, \ee=escape,
-\ef=form-feed, \en=new-line, \er=return, \et=tab.
-.LP
-Key variables control the keys used to control special functions
-during user input such as line editing and completion.  They are set
-using the command
-.nf
-	\fBset\fP \fIvariable key-name\fP
-.fi
-.LP
-A variable can be \fIlocked\fP which makes further modification of the
-variable impossible:
-.nf
-	\fBlock\fP \fIvariable\fP
-.fi
-This can be used in the \fIsetup\fP init file which is loaded
-unconditionally to enforce local conventions or restrictions.  For
-example, to fix the \fBincluded-mark\fP variable to the string ">",
-the following commands can be placed in the setup file:
-.nf
-	\fBset\fP included-mark >
-	\fBlock\fP included-mark
-.fi
-.LP
-The current variable settings can be shown with the
-.B :set
-command:
-.TP
-\fB:set\fP (without arguments)
-This will give a listing of the variables which have been set in
-either the init file or interactively.
-.TP
-\fB:set all\fP
-This will give a listing of all variables.  Modified variables will be
-marked with a `*' and \fIlocal\fP variables will be marked with a `>'.
-A locked variable is marked with a `!'.
-.TP
-\fB:set /\fP\fIregexp\fP
-This will give a listing of all variables whose name matches the given
-regular expression.
-.TP
-\fB:set\fP \fIpartial-name\fP \fBspace\fP
-The \fBspace\fP (\fBcomp1-key\fP) key will complete the variable name
-as usual, but as a side effect it will display the variable's current
-value in the message line.
-.LP
-Variables are global by default, but a local instantiation of the
-variable can be created using the \fB:local\fP command.  The local
-variable will overlay the global variable as long as the current group
-is active, i.e. the global variable will be used again when you exit
-the current group.  The initial value of the local variable will be
-the same as the global variable, unless a new value is specified in
-the \fB:local\fP command:
-.sp 0.5v
-.nf
-	\fB:local\fP \fIvariable\fP [ \fIvalue\fP ]
-.fi
-.sp 0.5v
-.LP
-The following variables are available:
-.TP
-\fBalso-full-digest\fP	(boolean, default false)
-When a digest is split, the digest itself is not normally included on
-the menu, and as such the initial administrative information is not
-available.  Setting \fBalso-full-digest\fP will cause the (unsplit)
-digest to be included on the menu.  These articles are marked with a @
-at the beginning of the subject.
-.TP
-\fBalso-subgroups\fP	(boolean, default true)
-When set, a group name in the presentation sequence will also cause
-all the subgroups of the group to be included, for example, comp.unix
-will also include comp.unix.questions, etc.  When \fBalso-subgroups\fP
-is not set, subgroups are only included if the group name is followed
-by a `.' in which case the main group is \fInot\fP included, i.e.
-`comp.unix' is not included when `comp.unix.' is specified in the
-presentation sequence, and vice-versa.  Following a group name by an
-asterisk `*', e.g. comp.unix*, will include the group as well as all
-subgroups independently of the setting of \fBalso-subgroups\fP.
-.TP
-\fBappend-signature-mail\fP	(boolean, default false)
-When false, it is assumed that the .signature file is automatically
-appended to responses sent via E-mail.  If true, .signature will be
-appended to the letter (see query-signature).
-.TP
-\fBappend-signature-post\fP	(boolean, default false)
-When false, it is assumed that the .signature file is automatically
-appended to posted articles.  If true, .signature will explicitly be
-appended to posted articles (see query-signature).
-.TP
-\fBattributes\fP \fIsymbols\fP	(string, default ....)
-Each element in this string represents a symbol used to represent an
-article attribute when displayed on the screen.  See the section on
-Marking Articles and Attributes.
-.TP
-\fBauto-junk-seen\fI	(boolean, default true)
-When set, articles which have the \fIseen attribute\fP (,) will be marked
-read when the current group is left.  If not set, these articles will
-still be either unread or marked seen the next time the group is
-entered (see also \fBconfirm-junk-seen\fP and \fBretain-seen-status\fI).
-.TP
-\fBauto-preview-mode\fP		(boolean, default false)
-Enables \fIAuto Preview Mode\fP.  In this mode, selecting an article
-on the menu using its article id (letter a-z) will enter preview mode
-on that article immediately.  Furthermore, the `n' {\fBnext-article\fP}
-command will preview the next article on the menu only if it has the
-same subject as the current article; otherwise, it will return to the
-menu with the cursor placed on the next article.  The \fBcontinue\fP
-command at the end of the article and the `=' {\fBgoto-menu\fP}
-returns to the menu immediately as usual.
-.TP
-\fBauto-read-mode-limit\fP \fIN\fP	(integer, default 0)
-When operating in \fIauto reading mode\fP, \fInn\fP will
-\fIauto-select\fP all unread articles in the group, skip the
-article selection phase, and enter reading mode directly after
-entry to the group.
-  Auto reading mode is disabled when \fBauto-read-mode-limit\fP is
-zero; it is activated unconditionally if the value is negative, and
-conditionally if the value is greater than zero and the number of
-unread articles in the current group does not exceed the given value.
-.TP
-\fBauto-select-closed\fP \fImode\fP	(integer, default 1)
-Normally, selecting a \fIclosed subject\fP (usually in consolidated
-menu mode) will select (or deselect) all \fIunread\fP articles with
-the given subject (or all articles if they are all read).  This
-behavior can be changed via the value of this variable as follows:
-.nf
-0: select only the first article with the subject (shown on menu).
-1: select only the unread articles with the subject.
-2: select all available articles with the subject.
-.fi
-.TP
-\fBauto-select-rw\fP	(boolean, default false)
-If set, a subject of an article read or posted is automatically 
-used for subsequent auto-selecting (if not already selected).
-This is the most efficient way to see your own posts automatically.
-.TP
-\fBauto-select-subject\fP	(boolean, default false)
-When set, selecting an article from the menu using the article id
-(a-z), all articles on the menu with the same subject will
-automatically be selected as well.
-.TP
-\fBbackup\fP	(boolean, default true)
-When set, a copy of the initial .newsrc and select files will save be
-the first time they are changed.  \fInn\fP remembers the initial
-contents of these files internally, so the backup variable can be set
-any time if not set on start-up.
-.TP
-\fBbackup-folder-path\fP \fIfile\fP	(string, default "BackupFolder~")
-When removing deleted articles from a folder, this variable defines
-the name of the file where a (temporary) copy of the original folder
-is saved.  If the \fIfile\fP name doesn't contain a `/', the file will
-be located in the .nn directory.  Otherwise the file name is used
-directly as the relative or full path name of the backup file.
-If possible, the old folder will be renamed to the backup folder name;
-otherwise the old folder is copied to the backup folder.
-.TP
-\fBbackup-suffix\fP \fIsuffix\fP	(string, default ".bak")
-The suffix appended to file names to make the corresponding backup
-file name (see \fBbackup\fP).
-.TP
-\fBbug-report-address\fP \fIaddress\fP	(string, default nn-bugs@dkuug.dk)
-The mail address to which bug reports created with the \fB:bug\fP
-command are sent.
-.TP
-\fBcase-fold-search\fP		(boolean, default true)
-When set, string and regular expression matching will be case
-independent.  This is related to all commands matching on names or
-subjects, except in connection with auto-kill and auto-select where
-the individual kill file entries specifies this property.
-.TP
-\fBcharset\fP \fIcharset\fP	(string, default "us-ascii")
-The character set in use on your terminal. Legal values are "us-ascii",
-"iso-8859-\fIX\fP", where \fIX\fP is a nonzero digit, and "unknown".
-Setting this variable also sets the \fBdata-bits\fP variable to the default
-bit width of the character set (7 for "us-ascii" and "unknown", 8 for the
-"iso-8859-\fIX\fP" sets).
-.sp 0.5v
-The value of this variable also determines whether \fInn\fP allows
-8-bit characters in the body of articles being posted and letters
-being mailed (unless the value is "unknown", in which case this is
-determined by the value of the \fBdata-bits\fP variable).
-If necessary, \fInn\fP will add extra headers to the 
-message indicating its the character set.
-.TP
-\fBcheck-db-update-time\fP \fIH\fP	(integer, default 12)
-When non-zero, \fInn\fP will issue a warning if the database has not
-been updated in the last \fIH\fP hours.  The warning will tell you
-whether no news has arrived (feed broken?).
-.TP
-\fBcheck-group-access\fP	(boolean, default false)
-When set, \fInn\fP will perform a check on the readability of a
-group's readability before showing the menu for that group.  Normally,
-this is not necessary since all users traditionally have access to all
-news groups.  Setting (and locking) this variable may be used to limit
-access to a news group via the permissions and ownership of the
-group's spool directory (this will only work for non-NNTP sites).
-.TP
-\fBcollapse-subject\fP \fIoffset\fP	(integer, default 25)
-When set (non-negative), subject lines which are too long to be
-presented in full on the menus will be "collapsed" by removing a
-sufficient number of characters from the subject starting at the given
-\fIoffset\fP in the subject.  This is useful in source groups where
-the "Part (01/10)" string sometimes disappears from the menu.  When
-not set (or negative), the subjects are truncated.
-.TP
-\fBcolumns\fP \fIcol\fP	(integer, default screen width)
-This variable contains the screen width i.e. character positions per
-line.
-.TP
-\fBcomp1-key\fP \fIkey\fP	(key, default \fBspace\fP)
-The key which gives the first/next completion, and the default value
-when \fInn\fP is prompting for a string, e.g. a file name.
-.TP
-\fBcomp2-key\fP \fIkey\fP	(key, default \fBtab\fP)
-The key which ends the current completion and gives the first
-completion for the next component
-when \fInn\fP is prompting for a string, e.g. a file name.
-.TP
-\fBcompress\fP		(boolean, default false)
-This variable controls whether text compression (see the
-\fBcompress\fP command) is turned on or off when an article is
-shown.  The compression is still toggled for the current article with
-the \fBcompress\fP command key.
-.TP
-\fBconfirm-append\fP		(boolean, default false)
-When set, \fInn\fP will ask for confirmation before appending an
-article to an existing file (see also \fBconfirm-create\fP).
-.TP
-\fBconfirm-auto-quit\fP		(boolean, default false)
-When set, \fInn\fP will ask for confirmation before quitting after
-having read the last group.  If not confirmed, \fInn\fP will recycle
-the presentation sequence looking for groups that were skipped with
-the `N' {\fBnext-group\fP} command.  But it will not look for new
-articles arrived since the invocation of \fInn\fP.
-.TP
-\fBconfirm-create\fP		(boolean, default true)
-When set, \fInn\fP will ask for confirmation before creating a new
-file or directory when saving or unpacking an article (see also
-\fBconfirm-append\fP).
-.TP
-\fBconfirm-entry\fP		(boolean, default false)
-When set, \fInn\fP will ask for confirmation before entering a group
-with more than \fBconfirm-entry-limit\fP unread articles (on the first
-menu level).  It is useful on slow terminals if you don't want to wait
-until \fInn\fP has drawn the first menu to be able to skip the group.
-  Answering no to the "Enter?" prompt will cause \fInn\fP to skip to
-the next group without marking the current group as read.  If you
-answer by hitting \fBinterrupt\fP, \fInn\fP will ask the question
-"Mark as read?" which allows you to mark the current group as read
-before going to the next group.  If this second question is also
-answered by hitting \fBinterrupt\fP, \fInn\fP will quit immediately.
-.TP
-\fBconfirm-entry-limit\fP \fIarticles\fP	(integer, default 0)
-Specifies the minimum number of unread articles in a group for which
-the \fBconfirm-entry\fP functionality is activated.
-.TP
-\fBconfirm-junk-seen\fP		(boolean, default false)
-When set, \fInn\fP will require confirmation before marking seen
-articles as read when \fBauto-junk-seen\fP is set.
-.TP
-\fBconfirm-messages\fP		(boolean, default false)
-In some cases, \fInn\fP will sleep one second (or more) when it has shown a
-message to the user, e.g. in connection with macro debugging.  Setting
-.B confirm-messages
-will cause \fInn\fP to
-\fIwait\fP for you to confirm all messages by hitting any
-key.  (It will show the symbol <> to indicate that it is awaiting
-confirmation.)
-.TP
-\fBconsolidated-manual\fP	(boolean, default false)
-When set, the \fIonline manual\fP will be presented with one
-menu line for each \fIprogram\fP in the \fInn\fP package.
-.TP
-\fBconsolidated-menu\fP		(boolean, default false)
-When set, \fInn\fP will automatically \fIclose\fP all multi-article
-subjects on entry to a group, so that each subject only occur once on
-the menu page.
-.TP
-\fBcounter-delim-left\fP	(string, default "[")
-The delimiter string output to the left of the article counter in a
-closed subject's menu line.
-.TP
-\fBcounter-delim-right\fP	(string, default "] ")
-The delimiter string output to the right of the article counter in a
-closed subject's menu line.
-.TP
-\fBcounter-padding\fP \fIpad\fP		(integer, default 5)
-On a consolidated menu, the subjects may not be very well aligned
-because the added [...] counters have varying length.  To (partially)
-remedy this, all counters (and subjects without counters) are prefixed
-by up to \fIpad\fP spaces to get better alignment.  Increasing it
-further may yield practically perfect alignment at the cost of less
-space for the subject itself.
-.TP
-\fBcross-filter-seq\fP		(boolean, default true)
-When set, cross posted articles will be presented in the first
-possible group, i.e. according to the current presentation sequence
-(\fIcross\fP-post \fIfilter\fPing on \fIseq\fPuence).  The article is
-automatically marked read in the other cross posted groups unless you
-unsubscribe to the first group in which it was shown before reading
-the other groups.  Likewise, it is sufficient to leave the article
-unread in the first group to keep it for later handling.
-  If not set, cross-postings are shown in the first group occurring on
-the Newsgroups: line which the user subscribes to (i.e. you let the
-poster decide which group is most appropriate to read his posting).
-.TP
-\fBcross-post\fP		(boolean, default false)
-Normally, \fInn\fP will only show cross-posted articles in the first
-subscribed group on the Newsgroups: line.  When
-.B cross-post
-is set, \fInn\fP will show cross-posted articles in all subscribed
-groups to which they are posted.
-.TP
-\fBdata-bits\fP \fIbits\fP	(integer, default 7)
-When set to 7, \fInn\fP will display characters with the 8th bit set
-using a meta-notation \fBM-\fP\fI7bit-char\fP.  If set to 8, these
-characters are sent directly to the screen (unless \fBmonitor\fP is
-set). Setting the \fBcharset\fP variable also sets this variable to the
-default bit width of character set.
-.sp 0.5v
-It also controls whether keyboard input is 7 or 8 bits, and thus
-whether key maps contain 127 or 255 entries.  See the key mapping
-section for more details.
-.sp 0.5v
-If the \fBcharset\fP has value "unknown", the value of \fBdata-bits\fP
-also determines whether \fInn\fP allows 8-bit characters in the body of
-articles being posted and letters being mailed (this is normally
-determined directly by the \fBcharset\fP variable).
-.TP
-\fBdate\fP		(boolean, default true)
-If set \fInn\fP will show the article posting date when articles are
-read.
-.TP
-\fBdebug\fP \fImask\fP	(integer, default 0)
-Look in the source if you are going to use this.
-.TP
 \fBdecode-header-file\fP \fIfile\fP	(string, default "Decode.Headers")
-The name of the file in which the header and initial text of articles
-decoded with the \fB:decode\fP command is saved.  Unless the file name
-starts with a `/', the file will be created in the same directory as
-the decoded files.  The information is not saved if this variable is
-not set.
-.TP
-\fBdecode-skip-prefix\fP \fIN\fP	(integer, default 2)
-When non-null, the \fB:decode\fP command will automatically skip
-\fIupto\fP \fIN\fP characters at the beginning of each line to find
-valid uuencoded data.  This allows \fInn\fP to automatically decode
-(multi-part) postings which are both uuencoded and packed with shar.
-.TP
 \fBdefault-distribution\fP \fIdistr\fP	(string, default "world")
-The distribution to use as the default suggestion when posting
-articles using the \fBfollow\fP and \fBpost\fP commands if the
-corresponding \fBfollow-distribution\fP or \fBpost-distribution\fP
-variable contains the \fBdefault\fP option.
-.TP
-\fBdefault-kill-select\fP \fI[1]days\fP	(number, default 30)
-Specifies the default action for the \fBK\fP {\fBkill-select\fP}
-command if the first prompt is answered by \fBreturn\fP.  It contains
-the number of days to keep the kill or select entry in the kill file
 (1-99 days).  If it has the value \fIdays\fP+100 (e.g. 130), it
-denotes that the default action is to \fIselect\fP rather than kill on
-the subject for the specified period.
-.TP
-\fBdefault-save-file\fP \fIfile\fP	(string, default +$F)
-The default save file used when saving articles in news groups where
-no save file has been specified in the init file (either in a
-\fBsave-files\fP section or in the presentation sequence).
-It can also be specified using the abbreviation "+" as the file name
-when prompted for a file name even in groups with their own save file.
-.TP
-\fBdelay-redraw\fP		(boolean, default false)
-Normally, \fInn\fP will redraw the screen after extended
-commands (:cmd) that clear the screen.  When \fBdelay-redraw\fP is set
-\fInn\fP will prompt for another extended command instead of redrawing
-the screen (hit \fBreturn\fP to redraw).
-\fBdeview-nopromtp\fP		(boolean, default false)
-Turn off per file prompting in the :deview command
-.TP
-\fBdont-do-new-groups\fP		(boolean, default true)
-If not reading the active file, ignore new groups
-.TP
-\fBdont-read-active\fP		(boolean, default false)
-Don't read the active file at startup, instead use the active file
-for the list of groups. Can be useful for slow NNTP connections.
-.TP
-\fBecho-prefix-key\fP		(boolean, default true)
-When true, hitting a prefix key (see the section on key mapping below)
-will cause the prefix key to be echoed in the message line to indicate
-that another key is expected.
-.TP
-\fBedit-patch-command\fP	(boolean, default true)
-When true, the \fB:patch\fP command will show the current
-\fBpatch-command\fP and give you a chance to edit it before applying
-it to the articles.
-.TP
-\fBedit-print-command\fP	(boolean, default true)
-When true, the \fBprint\fP command will show the current \fBprinter\fP
-command and give you a chance to edit it before printing the articles.
-Otherwise the articles are just printed using the current \fBprinter\fP
-command.
-.TP
-\fBedit-response-check\fP	(boolean, default true)
-When editing a response to an article, it normally does not have any
-meaning to send the initial file prepared by \fInn\fP unaltered, since
-it is either empty or only contains included material.  When this
-variable is set, exiting the editor without having changed the file
-will automatically abort the response action without confirmation.
-.TP
-\fBedit-unshar-command\fP	(boolean, default false)
-When true, the \fB:unshar\fP command will show the current
-\fBunshar-command\fP and give you a chance to edit it before applying
-it to the articles.
-.TP
-\fBeditor\fP \fIcommand\fP	(string, default not set)
-When set, it will override the current EDITOR environment variable
-when editing responses and new articles.
-.TP
-\fBembedded-header-escape\fP \fIstring\fP	(string, default '~')
-When saving an article to a file, header lines embedded in the body of
-the article are escaped using this string to make it possible for
-\fInn\fP to split the folder correctly afterwards.
 Header lines are not escaped if this variable is not set.
-.TP
-\fBenter-last-read-mode\fP \fImode\fP	(integer, default 1)
-Normally, \fInn\fP will remember which group is active when you quit,
-and offer to jump directly to this group when you start \fInn\fP the
-next time.  This variable is used to control this behavior.  The
-following \fImode\fP values are recognized:
-.nf
-0: Ignore the remembered group (r.g.).
-1: Enter r.g. if the group is unread (with user confirmation)
-2: Enter r.g. or first unread group after it in the sequence (w/conf).
-3: Enter r.g. if the group is unread (no confirmation)
-4: Enter r.g. or first unread group after it in the sequence (no conf).
-.fi
-.TP
-\fBentry-report-limit\fP \fIarticles\fP	(integer, default 300)
-Normally, \fInn\fP will just move the cursor to the upper left corner
-of the screen while it is reading articles from the database on
-entry to a group.  For large groups this may take more than a fraction
-of a second, and \fInn\fP can then report what it is doing.  If
-it must read more articles than the number specified by this variable,
-\fInn\fP will report which group and how many articles it is reading.
-.TP
-\fBerase-key\fP \fIkey\fP	(key, default tty erase key)
-The key which erases the last input character
-when \fInn\fP is prompting for a string, e.g. a file name.
-.TP
-\fBexpert\fP		(boolean, default false)
-If set \fInn\fP will use slightly shorter prompts (e.g. not tell you
-that ? will give you help), and be a bit less verbose in a few other
-cases (e.g. not remind you that posted articles are not available
-instantly).
-.TP
-\fBexpired-message-delay\fP \fIpause\fP	(integer, default 1)
-If a selected article is found to have been expired, \fInn\fP will
-normally give a message about this and sleep for a number of seconds
-specified by this variable.  Setting this variable to zero will still
-make \fInn\fP give the message without sleeping afterwards.  Setting
-it to -1 will cause the message not to be shown at all.
-.TP
-\fBflow-control\fP	(boolean, default true)
-When set, \fInn\fP will turn on xon/xoff flow-control before writing
-large amounts of text to the screen.  This should guard against
-lossage of output, but in some network configurations it has had the
-opposite effect, losing several lines of the output.  This variable
-is always true on systems with CBREAK capabilities which can do single
-character reads without disabling flow control.
-.TP
-\fBflush-typeahead\fP	(boolean, default false)
-When true, \fInn\fP will flush typeahead prior to reading commands
-from the keyboard.  It will not flush typeahead while reading
-parameters for a command, e.g. file names etc.
-.TP
 \fBfolder\fP \fIdirectory\fP	(string, default ~/News)
-The full pathname of the
-.I folder directory
-which will replace the + in folder names.  It will be initialized from
-the FOLDER environment variable if it is not set in the
-.I init
-file.
-.TP
-\fBfolder-format-check\fP	(boolean, default true)
-When saving an article with a full or partial header in an existing
-folder, \fInn\fP will check the format of the folder to be able to
-append the article in the proper format.  If this variable is not set,
-folders are assumed to be in the format specified via the
-\fBmmdf-format\fP and \fBmail-format\fP variables, and articles are
-saved in that format without checking.  Otherwise, the \fB*-format\fP
-variables are only used to determine the format for \fInew\fP folders.
-.TP
-\fBfolder-save-file\fP \fIfile\fP	(string, default not set)
-The default save file used when saving articles \fIfrom\fP a folder.
-.TP
-\fBfollow-distribution\fP \fIwords\fP	(string, default see below)
-This variable controls how the Distribution: header is constructed for
-a follow-up to an original article.  Its value is a list of
-\fIwords\fP selected from the following list:
-.sp 0.5v
-[ [ \fBalways\fP ] \fBsame\fP ] [ \fBask\fP ]
 [ \fBdefault\fP | \fIdistribution\fP ]
-.sp 0.5v
-This is interpreted in two steps:
-.br
-- First the default distribution is determined.  If \fBsame\fP is
-specified and the original article has a Distribution: header, that
-header is used.  Else if \fBdefault\fP is specified (or
 \fIdistribution\fP is omitted), the value of
-\fBdefault-distribution\fP is used.  And finally, if only a
 \fIdistribution\fP (any word) is specified that is used as the default.
-.br
-- Then if \fBask\fP is specified, the user will be asked to confirm
-the default distribution or provide another distribution.  However, if
-\fBalways\fP (and \fBsame\fP) is specified, and the default was taken
-from the original article's distribution, the original distribution is
-used \fIwithout\fP confirmation.
-.br
-The default value of \fBfollow-distribution\fP is \fBalways\fP
-\fBsame\fP \fBdefault\fP, i.e. use either the original distribution or
-the \fBdefault-distribution\fP without confirmation in either case.
-.TP
-\fBfrom-line-parsing\fP \fIstrictness\fP	(integer, default 2)
-Specifies how strict \fInn\fP must parse a "From " line in a folder to
-recognize it as a mail format message separator line.  The following
-strictness values determine whether a line starting with "From " will
-be recognized as a separator line:
-.nf
-	0: Always.
-	1: Line must have at least 8 fields.
-	2: Line must contain a valid date and time (ctime style).
-.fi
-.TP
-\fBfsort\fP		(boolean, default true)
-When set, folders are sorted alphabetically according to the subject
-(and age).
-Otherwise, the articles in
-a folder will be presented in the sequence in which they were saved.
-.TP
-\fBguard-double-slash\fP	(boolean, default false)
-Normally, when entering a file name, entering two slashes `//' in a
-row (or following a slash by a plus `/+') will cause \fInn\fP to
-erase the entire line and replace it with the `/' (or `+').  On some
-systems, two slashes are used in network file names, and on those
-systems \fBguard-double-slash\fP can be set; that will cause \fInn\fP
-to require \fIthree\fP slashes in a row to clear the input.
-.TP
-\fBheader-lines\fP \fIlist\fP	(string, no default)
-When set, it determines the list of header fields that are shown when
-an article is read instead of the normal one line header showing the
-author and subject.  See the full description in the section on
 Customized Article Headers below.
-.TP
-\fBhelp-key\fP \fIkey\fP	(key, default \fB?\fP)
-The key which ends the current completion and gives a list of possible
-completions for the next component
-when \fInn\fP is prompting for a string, e.g. a file name.
-.TP
-\fBignore-re\fP		(boolean, default false)
-If set, articles with subjects already seen in a previous
-invocation of nn or another newsreader - and not auto-selected -
-are automatically killed.  A great way to read even less news!
-.TP
-\fBignore-xon-xoff\fP		(boolean, default false)
-Normally, \fInn\fP will ignore ^S and ^Q in the input from the
-terminal (if they are not handled in the tty driver).  Setting this
-variable will treat these characters as normal input.
-.TP
-\fBinclude-art-id\fP		(boolean, default false)
-The first line in a response with included material normally reads
-\&"...somebody... writes:" without a reference to the specific article
-from which the quotation was taken (this is found in the References:
-line).  When this variable is set, the line will also include the
-article id of the referenced article: "In ...article... ... writes:".
-.TP
-\fBinclude-full-header\fP	(boolean, default false)
-When set, the \fBmail\fP (M) command will always include the full
-header of the original article.  If it is not set, it only includes
-the header when the article is forwarded without being edited.
-.TP
-\fBinclude-mark-blank-lines\fP	(boolean, default false)
-When set, the \fBincluded-mark\fP is placed on blank lines in included
-articles.  Otherwise, blank lines are left blank (to make it easy to
-delete whole paragraphs with `d}' in vi and `C-@ M-] C-W' in emacs).
-.TP
-\fBincluded-mark\fP \fIstring\fP	(string, default ">")
-This string is prefixed to all lines in the original article that are
-included in a reply or a follow-up.  (Now you have the possibility to
-change it, but please don't.  Lines with a mixture of prefixes like
-.br
-   : orig-> <> } ] #- etc.
-.br
-are very difficult to comprehend.  Let's all use the standard folks!
-(And hack inews if it is the 50% rule that bothers you.)
-.TP
-\fBinews\fP \fIshell-command\fP	(string, default "INEWS_PATH -h")
-The program which is invoked by \fInn\fP to deliver an article to the
-news transport.  The program will be given a complete article
-including a header containing the newsgroups to which the article is
-to be posted.  See also \fBinews-pipe-input\fP.  It is \fInot\fP used
-when canceling an article!
-.TP
-\fBinews-pipe-input\fP		(boolean, default true)
-When set, the article to be posted will be piped into the \fBinews\fP
-program.  Otherwise, the file containing the article will be given as
-the first (and only) argument to the \fBinews\fP command.
-.TP
-\fBinitial-newsrc-file\fP \fIfile\fP	(string, default '.defaultnewsrc')
-Defines the name of a file which is used as the initial .newsrc file
-for new users.  The name may be a full path name, or as the default a
-file name which will be looked for in a number of places:
-in the standard news lib directory (where it can be shared with other
-news readers),
-in nn's lib directory,
-and in the database directory.
-Groups which are not present in the initial .newsrc file will be
-automatically unsubscribed provided \fBnew-group-action\fP is set to a
-value allowing unsubscribed groups to be omitted from .newsrc.
-.TP
-\fBkeep-backup-folder\fP	(boolean, default false)
-When set, the backup folder (see \fBbackup-folder-path\fP) created
-when removing deleted articles from a folder is not removed.
-Notice that a backup folder is not created if all articles are removed
-from a folder!
-.TP
-\fBkeep-unsubscribed\fP		(boolean, default true)
-When set, unsubscribed groups are kept in .newsrc.  If not set,
-\fInn\fP will automatically remove all unsubscribed from .newsrc if
-\fBtidy-newsrc\fP is set.  See also \fBunsubscribe-mark-read\fP.
-.TP
-\fBkill\fP		(boolean, default true)
-If set, \fInn\fP performs automatic kill and selection based on the
-.I kill
-file.
-.TP
-\fBkill-debug\fP		(boolean, default false)
-When set, \fInn\fP will display a trace of the auto-kill/select
-process on entry to a group.
-It is automatically turned off if `q' is entered as the answer to a
-"hit any key" prompt during the debug output.
-.TP
-\fBkill-key\fP \fIkey\fP	(key, default tty kill key)
-The key which deletes the current line
-when \fInn\fP is prompting for a string, e.g. a file name.
-.TP
-\fBkill-reference-count\fP \fIN\fP	(integer, default 0)
-When this variable is non-zero, all articles which have \fIN\fP or
-more references on the References: line (corresponding to the number
-of >>'s on the menu line) will be auto-killed if they are not
-auto-selected (or preserved) via an entry in the kill file.  It should
-probably not be used globally for all groups, but can be set on a
-per-group via the entry macros.
-.TP
-\fBlayout\fP \fInumber\fP	(integer, default 1)
-Set the menu layout.  The argument must be a number between 0 and 4.
-.TP
-\fBlimit\fP \fImax-articles\fP	(integer, default infinite)
-.I Limit
-the maximum number of articles presented in each group to
-.I max-articles.
-The default is to present
-.I all
-unread articles no matter how many there are.  Setting this variable,
-only the most recent
-.I max-articles
-articles will be presented, but all the articles will still be marked
-as read.  This is useful to get up-to-date quickly if you have not
-read news for a longer period.
-.TP
-\fBlines\fP \fIlin\fP	(integer, default screen height)
-This variable contains the screen height i.e. number of lines.
-.TP
-\fBlong-menu\fP		(boolean, default false)
-If set \fInn\fP will not put an empty line after the header line and
-an empty line before the prompt line; this gives you two extra menu
-lines.
-.TP
-\fBmacro-debug\fP	(boolean, default false)
-If set \fInn\fP will trace the execution of all macros.  Prior to the
-execution of each command or operation in a macro, it will show the
-name of the command or the input string or key stroke at the bottom of
-the screen.
-.TP
-\fBmail\fP \fIfile\fP	(string, default not set)
-\fIfile\fP must be a full path name of a file.  If defined, \fInn\fP will
-check for arrival of new mail every minute or so by looking at the
-specified file.
-.TP
-\fBmail-alias-expander\fP \fIprogram\fP	(string, default not set)
-When set, aliases used in mail responses may be expanded by the
-specified \fIprogram\fP.  The program will be given the completed
-response in a file as its only argument, and the aliases should be
-expanded directly in this file (of course the \fIprogram\fP may use
-temporary files and other means to expand the aliases as long the the
-result is stored in the provided file).
-.br
-Notice: currently there are no alias expanders delivered with \fInn\fP.
-.br
-Warning: Errors in the expansion process may lead to the response
-not being sent.
-.TP
-\fBmail-format\fP	(boolean, default false)
-When set, \fInn\fP will save articles in a format that is compatible
-with normal mail folders.
-Unless \fBfolder-format-check\fP is false, it is only used to specify
-the format used when new folders are created.
-This variable is ignored if \fBmmdf-format\fP is set.
-.TP
-\fBmail-header\fP \fIheaders\fP	(string, default not set)
-The \fIheaders\fP string specifies one or more extra header lines
-(separated by semi-colons `;') which are added to the header of mail
-sent from \fInn\fP using the \fBreply\fP and \fBmail\fP commands.  For
-example:
-.nf
-	set mail-header Reply-To: storm@texas.dk;Organization: TI - DK
-.fi
-To include a semicolon `;' in a header, precede it by a backslash (which
-must be doubled because of the conventions for entering strings).
-.TP
-\fBmail-record\fP \fIfile\fP	(string, default not set)
-\fIfile\fP must be a full path name of a file.  If defined, all replies and
-mail will be saved in this file in standard
-.I mailbox
-format, i.e. you can use you favorite mailer (and \fInn\fP) to look at
-the file.
-.TP
-\fBmail-script\fP \fIfile\fP	(string, default not set)
-When set, \fInn\fP will use the specified file instead of the standard
-\fIaux\fP script when executing the \fBreply\fP and \fBmail\fP
-commands.
-.TP
-\fBmailer\fP \fIshell-command\fP	(string, default REC_MAIL)
-The program which is invoked by \fInn\fP to deliver a message to the
-mail transport.  The program will be given a complete mail message
-including a header containing the recipient's address.  See also
-\fBmailer-pipe-input\fP.
-.TP
-\fBmailer-pipe-input\fP		(boolean, default true)
-When set, the message to be sent will be piped into the \fBmailer\fP
-program.  Otherwise, the file containing the message will be given as
-the first (and only) argument to the \fBmailer\fP command.
-.TP
-\fBmarked-by-next-group\fP \fIN\fP	(integer, default 0)
-Specifies the amount of (unmarked) articles on the menu marked
-\fIseen\fP by the \fBN\fP {\fBnext-group\fP} command in selection
-mode.  See \fBmarked-by-read-skip\fP for possible values of \fIN\fP.
-.TP
-\fBmarked-by-read-return\fP \fIN\fP	(integer, default 0)
-Specifies the amount of (unmarked) articles on the menu marked
-\fIseen\fP by the \fBZ\fP {\fBread-return\fP} command in selection
-mode.  See \fBmarked-by-read-skip\fP for possible values of \fIN\fP.
-.TP
-\fBmarked-by-read-skip\fP \fIN\fP	(integer, default 4)
-Specifies the amount of (unmarked) articles on the menu marked
-\fIseen\fP by the \fBX\fP {\fBread-skip\fP} command in selection mode.
-The following values of \fIN\fP are recognized:
-.nf
-	0:  No articles are marked seen
-	1:  Current page is marked seen
-	2:  Previous pages are marked seen
-	3:  Previous and current pages are marked seen
-	4:  All pages are marked seen
-.fi
-.TP
-\fBmark-overlap\fP	(boolean, default false)
-When set, \fInn\fP will draw a line (using the underline capabilities
-of the terminal if possible) to indicate the end of the overlap (see the
-\fBoverlap\fP variable).
-.TP
-\fBmark-overlap-shading\fP	(boolean, default false)
-When set, \fInn\fP will \fIshade\fP overlapping lines (see the
-\fBoverlap\fP variable) using the attributes defined by the
-\fBshading-on\fP and \fBshading-off\fP variables (of if not set, with
-the underline attribute).  This is typically used to give overlapping
-lines a different color on terminals which have this capability.
-.TP
-\fBmenu-spacing\fP \fImode\fP	(integer, default 0)
-When \fImode\fP is a non-zero number as described below, \fInn\fP will
-add blank lines between the lines on the menu to increase readability
-at the cost of presenting fewer articles on each page.  The following
-values of \fImode\fP are recognized:
-.nf
-0: Don't add blank lines between menu lines.
 1: Add a blank line between articles with \fIdifferent\fP subjects.
-2: Add a blank line between \fIall\fP articles.
-.fi
-.TP
-\fBmerge-report-rate\fP \fIrate\fP	(integer, default 1)
-When \fInn\fP is invoked with the -m option (directly or via
-\fInngrap\fP), a status report of the merging process is displayed and
-updated on the screen every \fIrate\fP seconds.  The report contains
-the time used so far and an estimate of the time needed to complete
-the merge.
-.TP
-\fBmessage-history\fP \fIN\fP	(integer, default 15)
-Specifies the maximum number, \fIN\fP, of older messages which can be
-recalled with the \fB^P\fP {\fBmessage\fP} command.
-.TP
-\fBmin-window\fP \fIsize\fP	(integer, default 7)
-When the \fBwindow\fP variable is not set, \fInn\fP will clear the
-screen to preview an article if there are less than \fIsize\fP unused
-lines at the bottom of the menu screen.
-.TP
-\fBmmdf-format\fP	(boolean, default false)
-When set, \fInn\fP will save articles in MMDF format.
-Unless \fBfolder-format-check\fP is false, it is only used to specify
-the format used when new folders are created.
-.TP
-\fBmonitor\fP		(boolean, default false)
-When set, \fInn\fP will show
-.I all
-characters in the received messages using a "cat -v" like format.
-Otherwise, only the printable characters are shown (default).
-.TP
-\fBmotd\fP		(boolean, default true)
-When set, \fInn\fP will display the \fImessage of the day\fP on
-start-up if it has changed since it was last shown.  The message is
-taken from the file "motd" in the lib directory.  It can also be shown
-(again) using the \fB:motd\fP command.
-.TP
-\fBmulti-key-guard-time\fP \fItimeout\fP	(integer, default 2)
-When reading a multi-key sequence from the keyboard, \fInn\fP will
-expect the characters constituting the multi-key to arrive "quickly"
-after each other.  When a partial multi-key sequence is read,
-\fInn\fP will wait (at least) \fItimeout\fP tenths of a second for
-each of the following characters to arrive to complete the multi-key
-sequence.  If the multi-key sequence is \fInot\fP completed within
-this period, \fInn\fP will read the partial multi-key sequence as
-individual characters instead.  This way it is still possible to use
-for example the ESC key on a terminal with vt100 like arrow keys.
-When \fInn\fP is used via an rlogin connection, you may have to
-increase the timeout to get reliable recognition of multi-keys.
-.TP
-\fBnew-group-action\fP \fIaction\fP	(integer, default 3)
-This variable controls how new groups are treated by \fInn\fP.  It is
-an integer variable, and the following values can be used.  Some of
-these actions (marked with an *) will only work when
-\fBkeep-unsubscribed\fP is set, since the presence of a group in
-\&.newsrc is the only way to recognize it as an old group. If
-options 0, 1 or 2 are chosen the file \fBactive.times\fP is not
-read.
-.sp 0.5v
-\fB0\fP)  Ignore groups which are not in \&.newsrc.  This will obviously
-include new groups.
-.sp 0.5v
-\fB1\fP*)  Groups not in \&.newsrc are considered to be new, and are
-inserted at the beginning of the \&.newsrc file.
-.sp 0.5v
-\fB2\fP*)  Groups not in \&.newsrc are considered to be new, and are
-appended to the end of the \&.newsrc file.
-.sp 0.5v
-\fB3\fP)  New groups are recognized via a time-stamp saved in the
-file \&.nn/LAST and in the database, i.e. it is not dependent on the
-groups currently in \&.newsrc.  The new groups are automatically
-appended to \&.newsrc with subscription.  Old groups not present in
-\&.newsrc will be considered to be unsubscribed.
-.sp 0.5v
-\fB4\fP)  As \fB3\fP, but the user is asked to confirm that the new
-group should be appended to \&.newsrc.  If rejected, the group will not
-be appended to \&.newsrc, and thus be regarded as unsubscribed.
-.sp 0.5v
-\fB5\fP)  As \fB4\fP, except that the information is stored in a
-format compatible with the \fIrn\fP news reader (\&.rnlast).  This needs
-to be tested!
-.TP
-\fBnew-style-read-prompt\fP	(boolean, default true)
-When set, the reading mode prompt line includes the group name and the
-number of selected articles in the group.
-.TP
-\fBnewsrc-sequence\fP (integer, default 0)
-This determines how the group sequence is handled.
-.br
-\fB0\fP - the group sequence is determined by the SEQUENCE directive
-in the \fBinit\fP file. The .newsrc sequence is only used when
-the RC directive appears in the \fBinit\fP file. The order of .newsrc 
-file is preserved.
-.br
-\fB1\fP - the group sequence is still determined as above but
-the .newsrc file is written in group sequence order. This means
-that the part of the group sequence corresponding to the RC can
-be edited  via the \fINN-TK\fP group list but the rest is determined
-in the \fBinit\fP sequence. The RC:groupname form is useful
-here.
-.br
-\fB2\fP - the group sequence is determined totally by the .newsrc
-sequence and the .newsrc is written out in group sequence order.
-This means  that the entire group sequence can be edited using
-the \fINN-TK\fP group list.
-.TP
-\fBnews-header\fP \fIheaders\fP	(string, default not set)
-The \fIheaders\fP string specifies one or more extra header lines
-(separated by semi-colons `;') which are added to the header of
-articles posted from \fInn\fP using the \fBfollow\fP and \fBpost\fP
-commands.  See \fBmail-header\fP for an example.
-.TP
-\fBnews-record\fP \fIfile\fP	(string, default not set)
-Save file for follow-ups and postings.  Same rules and format as the
-\fBmail-record\fP variable.
-.TP
-\fBnews-script\fP \fIfile\fP	(string, default not set)
-When set, \fInn\fP will use the specified file instead of the standard
-\fIaux\fP script when executing the \fBfollow\fP and \fBpost\fP
-commands.
-.TP
-\fBnewsrc\fP \fIfile\fP (string, default "~/.newsrc") Specifies the
-file used by \fInn\fP to register which groups and articles have been
-read.  The default setting corresponds to the \&.newsrc file used by
-other news readers.  Notice that \fInn\fP release 6.4 onwards
 \fIdoes allow\fP individual articles to be marked unread, and some
-articles marked unread, and thus no longer messes up \&.newsrc for
-other news readers!
-.TP
 \fBnntp-cache-dir\fP \fIdirectory\fP	(string, default "~/.nn")
-When NNTP is used, \fInn\fP needs to store articles and group 
-information temporarily on
-disk.  This variable specifies which directory \fInn\fP will use to
-hold these files.  The default value may be changed during
-configuration.  This variable can only be set in the init file.
-.TP
-\fBnntp-cache-size\fP \fIsize\fP	(integer, default 10, maximum 10)
-Specifies the number of temporary files in the nntp cache. Also
-sets the number of items of group information cached. The
-default and maximum values may be changed during configuration.
-.TP
-\fBnntp-debug\fP	(boolean, default false)
-When set, a trace of the nntp related traffic is displayed in the
-message line on the screen.
-.TP
-\fBnntp-group-readahead\fP	(integer, default 50)
-If not reading active file, read ahead info on this 
-many groups.
-.TP
-\fBold\fP [\fImax-articles\fP]	(integer, default not set)
-When
-.B old
-is set, \fInn\fP will present (or scan) all (or the last
-\fImax-articles\fP) unread as well as
-read articles.  While
-.B old
-is set, \fInn\fP will
-.I never
-mark any unread articles as read.
-.TP
-\fBorig-to-include-mask\fP \fIN\fP	(integer, default 3)
-When replying to an article, \fInn\fP will include some of the header
-lines which may be used to construct a proper mail address for the
-poster of the original article.  These addresses are placed on
-\fIOrig-To:\fP lines in the reply header and will automatically be
-removed before the letter is sent.  This variable specifies which
-headers from the article are included; its value \fIN\fP is the sum of
-the following values:
-.nf
-	1: \fIReply-To:\fP
-	2: \fIFrom:\fP
-	4: \fIPath:\fP
-.fi
-.TP
-\fBoverlap\fP \fIlines\fP	(integer, default 2)
-Specifies the number of overlapping lines from one page to the next
-when paging through an article in reading mode.
-The last line from the previous page
-will be underlined if the terminal has that capability.
-.TP
-\fBpager\fP \fIshell-command\fP		(string, default $PAGER)
-This is the pager used by the \fB:admin\fP command (and \fInnadmin\fP)
 when it executes certain commands, e.g. grepping in the Log file.
-.TP
-\fBpatch-command\fP \fIshell-command\fP	(string, default "patch -p0")
-This is the command which is invoked by the \fB:patch\fP command.
-.TP
-\fBpost-distribution\fP \fIwords\fP	(string, default see below)
-This variable controls how the Distribution: header is constructed
-when posting an original article.  Its value is a list of
-\fIwords\fP selected from the following list:
-.sp 0.5v
 [ \fBask\fP ] [ \fBdefault\fP | \fIdistribution\fP ]
-.sp 0.5v
-This is interpreted in two steps:
-.br
-- First the default distribution is determined.  If \fBdefault\fP is
 specified (or \fIdistribution\fP is omitted), the value of
-\fBdefault-distribution\fP is used.  Otherwise, the specified
 \fIdistribution\fP (any word) is used as the default.
-.br
-- Then if \fBask\fP is specified, the user will be asked to confirm
-the default distribution or provide another distribution.
-.br
-The default value of \fBpost-distribution\fP is \fBask\fP
-\fBdefault\fP, i.e. use the \fBdefault-distribution\fP with
-confirmation from the user.
-.TP
-\fBprefetch\fP 	(boolean, default true)
-When set, prefetch the next article or group information while the
-while the current article is being read, this is done with a separate
-process (nnprefetch).
-.TP
-\fBprefetch-article-max\fP \fInumber\fP	(integer, default 600)
-Only prefech the articles if they are less than \fInumber\fP
-lines long, this is the stop a slow line being clogged up with
-long prefetches
-.TP
-\fBprefetch-debug\fP 	(boolean, default false)
-When set, display debugging infomation about prefetching.
-.TP
-\fBprefetch-group-max\fP \fInumber\fP	(integer, default 360)
-Only prefech the group information if there are less than \fInumber\fP
-articles to fetch the information for, this is the stop a slow line 
-being clogged up with long prefetches.
-.TP
-\fBpreview-continuation\fP \fIcond\fP	(integer, default 12)
-This variable determines on what terms the following article should be
-automatically shown when previewing an article, and the
-\fBnext-article\fP command is used, or \fBcontinue\fP is used at the
-end of the article.  The following values
-can be used:
-.br
-\fB0\fP \- never show the next article (return to the menu).
-.br
-\fB1\fP \- always show the next article (use 'q' to return to the menu).
-.br
-\fB2\fP \- show the next article if it has the same subject as the
-current article, else return to the menu.
-.br
-The value should be the \fIsum\fP of two values: one for the action
-after using \fBcontinue\fP on the last page of the article, and one
-for the action performed when the \fBnext-article\fP command is used
-\fImultiplied by 10\fP.
-.TP
-\fBpreview-mark-read\fP		(boolean, default true)
-When set, previewing an article will mark the article as read.
-.TP
-\fBprevious-also-read\fP	(boolean, default true)
-When set, going back to the previously read group with \fBP\fP
-{\fBprevious\fP} will include articles read in the current invocation
-of \fInn\fP even if there are still unread articles in the group.
-.TP
-\fBprint-header-lines\fP \fIfields\fP	(string, default "FDGS")
-Specifies the list of header fields that are output when
-an article is printed via the \fB:print\fP command and
-\fBprint-header-type\fP is 1 (short header).  The \fIfields\fP 
-specification is described
 in the section on Customized Article Headers below.
-.TP
-\fBprint-header-type\fP \fIN\fP	(integer, default 1)
-Specifies what kind of header is printed by the \fB:print\fP command,
-corresponding to the three \fBsave-*\fP commands: \fI0\fP prints only
-the article body (no header), \fI1\fP prints a short header,
-and \fI2\fP prints the full article header.
-.TP
-\fBprinter\fP \fIshell-command\fP	(string, default is system dep.)
-This is the default value for the
-.B print
-command.  It should include an option which prevents the spooler from
-echoing a job-id or similar to the terminal to avoid problems with
-screen handling (e.g. lp -s on System V).
-.TP
-\fBquery-signature\fP		(boolean, default ...)
-Will cause \fInn\fP to require confirmation before appending
-the \&.signature file to out-going mail or news if the corresponding
-\fBappend-sig-\fP... variable is set.
-.TP
-\fBquick-count\fP	(boolean, default true)
-When set, calculating the total number of unread articles at start-up
-is done by simple subtracting the first unread article number from the
-total number of articles in each group.  This is very fast, and fairly
-accurate but it may be a bit too large.  If not set, each line in
-\&.newsrc will be interpreted to count every unread article, thus giving
-a very accurate number.  This variable is also used by \fInncheck\fP.
-.TP
-\fBquick-save\fP	(boolean, default false)
-When set, \fInn\fP will not prompt for a file name when an article is
-saved (unless it belongs to a folder).
-Instead it uses the save file specified for the current group in the
-init file or the default save file.
-.TP
-\fBre-layout\fP \fIN\fP		(integer, default 0)
-Normally on the menu, \fInn\fP will prefix the subject a number of
-`>'s corresponding to the depth of references on the thread
-tree.  The \fBre-layout\fP variable may be set to use a different
-prefix on the subjects:
-.nf
-	0:  One `>' per reference is shown (default).
-	1:  A single `>' is shown if the Subject contains Re:.
-	2:  The number of references is shown as `n>'
-	3:  A single Re: is shown.
-	4:  If any references use layout 0, else layout 1.
-.fi
-.TP
-\fBre-layout-read\fP \fIN\fP	(integer, default -1)
-When the \fBheader-lines\fP variable is not set, or contains the "*"
-field specifier, a line similar to the menu line will be used as the
-header of the article in reading mode, including the sender's name and
-the article's subject.  When this variable is negative, the subject
-on this header line will be prefixed according to the \fBre-layout\fP
-variable.  Otherwise, it will define the format of the "Re:" prefix to
-be used instead of the \fBre-layout\fP used on the menu.
-.TP
-\fBread-return-next-page\fP	(boolean, default false)
-When set, the \fBZ\fP {\fBread-return\fP} command will return to the
-\fInext\fP menu page rather than the current menu page.
-.TP
-\fBrecord\fP \fIfile\fP	(string, no default)
-Setting this
-.I pseudo
-variable will set both the \fBmail-record\fP and the
-\fBnews-record\fP variables to the specified pathname.
-.TP
-\fBrepeat\fP		(boolean, default false)
-When set, \fInn\fP will not eliminate duplicated subject lines on
-menus (I cannot imagine why anyone should want that, but....)
-.TP
-\fBrepeat-group-query\fP	(boolean, default false)
-When set, invoking \fInn\fP with the \fB\-g\fP option will always
-repeat the query for a group to enter until you quit explicitly.
-(Same as setting the \fB\-r\fP option permanently).
-.TP
-\fBreport-cost\fP		(boolean, default true)
-This variable is ignored unless \fInn\fP is running with accounting
-enabled (see \fInnacct\fP).  When set, \fInn\fP will report the cost
-of the current session and the total on exit.
-.TP
-\fBresponse-check-pause\fP \fIpause\fP	(integer, default 2)
-Specifies the number of seconds to wait after posting an article to
-see whether the action *might* have failed.  Some commands run in the
-background and may thus not have completed during this period, so even
-when \fInn\fP says "Article posted", it may still fail (in which case
-you are informed via mail).
-.TP
-\fBresponse-default-answer\fP \fIaction\fP	(string, default "send")
-The default action to be taken when hitting \fBreturn\fP to the
-"response action" prompt  (abort, edit, send, view, write).  If it is
-unset, no default action is defined.
-.TP
-\fBretain-seen-status\fP	(boolean, default false)
-Normally, seen articles will just be unread the next time the group is
-entered (unless they were marked read by \fBauto-junk-seen\fP).  If
-\fBretain-seen-status\fP is set, the seen attribute on the articles
-will survive to the next time the group is entered.  (This is not
-recommended because it may result in very large select files).
-.TP
-\fBretry-on-error\fP \fItimes\fP	(integer, default 0)
-When set, \fInn\fP will try the specified number of \fItimes\fP to
-open an article before reporting that the article does not exist
-any more.  This may be necessary in some network environments.
-.TP
-\fBsave-closed-mode\fP \fImode\fP	(integer, default 13)
-When saving an article in selection mode (i.e. by selecting it from
-the menu), \fInn\fP will simply save the specified article if the
-article's subject is \fIopen\fP.  When the selected menu entry is a
-closed subject, the \fBsave-closed-mode\fP variable determines how
-many articles among the closed articles should be saved:
-.nf
-0: save root article (the one on the menu) only
-1: save selected articles within subject
-2: save unread (excl selected) articles within subject
-3: save selected+unread articles within subject
-4: save all articles within subject
-.fi
-If `10' is added to the above values, \fInn\fP will not save the
-selected subject immediately; instead it will ask which articles
-to save using the above value as the default answer.
-.TP
-\fBsave-counter\fP \fIformat\fP	(string, default "%d")
-This is the printf-format which \fInn\fP uses to create substitution
-string for the trailing * in save file names.  You can set this to
-more complex formats if you like, but be sure that it will produce
-different strings for different numbers.  An alternative format which
-seems to be popular is ".%02d" .
-.TP
-\fBsave-counter-offset\fP \fIN\fP	(integer, default 0)
-Normally, file names created with the \fIpart.*\fP form will
-substitute the \fI*\fP with successive numbers starting from one.
-Setting this variable will cause these numbers to start from \fIN\fP+1.
-.TP
-\fBsave-header-lines\fP \fIfields\fP	(string, default "FDNS")
-Specifies the list of header fields that are saved when
-an article is saved via the \fBO\fP {\fBsave-short\fP} command.
-The \fIfields\fP specification is described
 in the section on Customized Article Headers below.
-.TP
-\fBsave-report\fP	(boolean, default true)
-When set, a message reporting the number of lines written is shown
-after saving an article.  Since messages are shown for a few seconds,
-this may slow down the saving of many articles (e.g. using the
-.B S*
-command).
-.TP
-\fBscroll-clear-page\fP		(boolean, default true)
-Determines whether \fInn\fP clears the screen before showing each new
-page of an article.
-.TP
-\fBscroll-last-lines\fP \fIN\fP		(integer, default 0)
-Normally, \fInn\fP will show each new page of an article from the top
-of the screen (with proper marking of the overlap).  When this
-variable is set to a negative value, \fInn\fP will scroll the text of
-the new pages from the bottom of the screen instead.  If it is set to a
-positive value, \fInn\fP will show pages from the top as usual, but
-switch to scrolling when there are \fIless than\fP the specified
-number of lines left in the article.
-.TP
-\fBselect-leave-next\fP		(boolean, default false)
-When set, you will be asked whether to select articles with the
-\fBleave-next\fP attribute on entry to a group with left over
-articles.
-.TP
-\fBselect-on-sender\fP		(boolean, default false)
-Specifies whether the \fBfind\fP (=) command in article selection mode
-will match on the subject or the sender.
-.TP
-\fBshading-on\fP \fIcode\fP...	(control string, default not set)
-Specifies the escape code to be sent to the terminal to cause
-"shading" of the following output to the screen.  This is used if the
-\fBmark-overlap-shading\fP is set, and by the `+' attribute in the
-\fBheader-lines\fP variable.
-.TP
-\fBshading-off\fP \fIcode\fP...	(control string, default not set)
-Specifies the escape code to be sent to the terminal to turn off the
-shading defined by \fBshading-on\fP.  Shading will typically
-be done by changing the foreground color to change, e.g.
-.sp 0.5v
-.nf
-	on term ti924-colour
-		set shading-on  ^[ [ 3 2 m
-		set shading-off ^[ [ 3 7 m
-		set mark-overlap-shading
-		unset mark-overlap
-	end
-.fi
-.TP
-\fBshell\fP \fIprogram\fP	(string, default $SHELL)
-The shell program used to execute shell escapes.
-.TP
-\fBshell-restrictions\fP	(boolean, default false)
-When set (in the init file), \fInn\fP will not allow the user to
-invoke the shell in any way, including saving on pipes.  It also
-prevents the user from changing certain variables containing commands.
-.TP
-\fBshow-purpose-mode\fP \fIN\fP		(integer, default 1)
-Normally, \fInn\fP will show the purpose of a group the first time it
-is read, provided a purpose is known.  Setting this variable, this
-behavior can be changed as follows:
-.nf
-	0:  Never show the purpose.
-	1:  Show the purpose for new groups only.
-	2:  Show the purpose for all groups.
-.fi
-.TP
-\fBsilent\fP		(boolean, default false)
-When set, \fInn\fP wont print the logo or "No News" if there are no
-unread articles.  Only useful to set in the init file or with the
-.B \-Q
-option.
-.TP
-\fBslow-mode\fP		(boolean, default false)
-When set, \fInn\fP will cut down on the screen output to give better
-response time at low speed.
-Normally, \fInn\fP will use standout mode (if possible) to mark
-selected articles on the menu, but when \fBslow-mode\fP is set, \fInn\fP will
-just put an asterisk `*' next to the article identifier on selected
-articles.  Also when \fBslow-mode\fP is set \fInn\fP will avoid
-redrawing the screen in the following cases:  After a \fBgoto-group\fP
-command an empty menu is shown (hit \fBspace\fP to make it appear),
-and after responding to an article, only the prompt line is shown (use
-^L to redraw the screen).  To avoid redrawing the screen after an
-extended command, set the \fBdelay-redraw\fP variable as well.
-.TP
-\fBslow-speed\fP \fIspeed\fP	(integer, default 1200)
-If the terminal is running at this baud rate or lower, the \fBon
-slow\fP (see the section on init files) condition will be true, and
-the \fBon fast\fP will be false (and vice-versa).
-.TP
-\fBsort\fP		(boolean, default true)
-When set, \fInn\fP will sort articles according to the current
-\fBsort-mode\fP on entry to a group.  Otherwise, articles will be
-presented in order of arrival.
-If not set on entry to a menu for merged groups, the articles from
-each group will be kept together on the menu.  If \fBsort\fP is unset
-while merged groups are presented on the menu, the articles will be
-reordered by local article number (which may not keep articles from
-the same group together).
-.TP
-\fBsort-mode\fP \fImode\fP	(integer, default 1)
-The default sort algorithm used `thread-lexical'. It is a numeric 
-value corresponding to one of the sorting methods described in 
-connection with the :sort command:
-.nf
-	0 \- arrival (ordered by article number)
-	1 \- subject (subjects ordered after age of first article)
-	2 \- lexical (subjects in lexicographical order)
-	3 \- age (articles ordered after posting date only)
-	4 \- sender (articles ordered after sender's name)
-	5 \- thread-lexical (articles ordered by thread and threads
-                             by subject)
-	6 \- thread-date (articles ordered by thread and threads
-                             by date)
-.fi
-.TP
-\fBspell-checker\fP \fIshell-command\fP	(string, default not set)
-When set, responses can be checked for spelling mistakes via the
-(i)spell action.  The command to perform the spelling is given the
-file containing the full article including header as its only
-argument.  If the spell checker can fix spelling mistakes, it must
-apply the changes directly to this file.
-.TP
-\fBsplit\fP		(boolean, default true)
-When set, digests will automatically and silently be split into
-sub-articles which are then handled transparently as normal articles.
-Otherwise, digests are presented as one article (which you can split
-on demand with the
-.B G
-command).
-.TP
-\fBstop\fP \fIlines\fP	(integer, default not set)
-When
-.B stop
-is set, \fInn\fP will only show the first \fIlines\fP lines of the
-of each article
-before prompting you to continue.  This is useful on slow terminals and
-modem lines to be able to see the first few lines of longer articles
-(and skipping the rest with the
-.B n
-command).
-.TP
-\fBsubject-match-limit\fP \fIlength\fP	(integer, default 256)
-Subjects will be considered identical if their first \fIlength\fP
-characters match.  Setting this uncritically to a low value may
-cause unexpected results!
-.TP
-\fBsubject-match-offset\fP \fIoffset\fP	(integer, default 0)
-When set to a positive number, that many characters at the beginning
-of the subject will be ignored when comparing subjects for ordering
-and equality purposes.
-.TP
-\fBsubject-match-parts\fP	(boolean, default false)
-When set, two subjects will be considered equal if they are identical
-up to the first (differing) digit.  Together with the
-\fBsubject-match-offset\fP variable, this can be used in source groups
-where the subject often has a format like:
-.sp 0.5v
-.nf
-	vXXXXXX: Name of the package (Part 01/04)
-.fi
-.sp 0.5v
-Setting \fBsubject-match-offset\fP to 8 and \fBsubject-match-parts\fP
-to true will make \fInn\fP consider all four parts of the package
-having the same subject (and thus be selectable with `*').
-.sp 0.5
-Notice that changing the \fBsubject-match-\fP... variables manually
-will not have an immediate effect.  To reorder the menu, an explicit
-\fB:sort\fP command must be performed.  These variables are mainly
-intended to be set using the \fB:local\fP command in \fBon entry\fP
-macros for source and binary groups (entry macros are evaluated before
-the menu is collected and sorted).
-.TP
-\fBsubject-match-minimum\fP \fIcharacters\fP	(integer, default 4)
-When set to a positive number, that many characters at the beginning
-of the subject must match before the subject-match-parts option comes
-into affect.  This is important, because the part matching causes the
-rest of the line to be ignored after the first digit pair is
-discovered.  This begins after any subject-match-offset has been
-applied. 
-.TP
-\fBsuggest-default-save\fP	(boolean, default true)
-When set, \fInn\fP will present the \fBdefault-save-file\fP when
-prompting for a save file name in a group without a specific save
-file, or \fBfolder-save-file\fP when saving from a folder.  When not
-set, no file name is presented, and to use the default
-save file, a single + must be specified.
-.TP
-\fBtidy-newsrc\fP		(boolean, default false)
-When set, \fInn\fP will automatically remove lines from .newsrc which
-represent groups not found in the active file or unsubscribed groups
-if \fBkeep-unsubscribed\fP is not set.
-.TP
-\fBtime\fP		(boolean, default true)
-When set, \fInn\fP will show the current time in the prompt line.
-This is useful on systems without a
-.I sysline (1)
-utility.
-TP
-\fBtk-debug\fP		 (boolean, default false)
-Display calls from the NN C code to TCL code for debugging.
-.TP
-\fBtool-mode\fP	(boolean, default false)
-If there is no new news check periodically for it.
-.TP
-\fBtool-update-delay\fP	(int, default 60)
-Period to delay between each check for new news in tool mode
-.TP
-\fBtrace-folder-packing\fP	(boolean, default true)
-When set, a trace of the retained and deleted messages is printed when
-a folder is rewritten.
-.TP
-\fBtrusted-escape-codes\fP \fIcodes\fP	(string, default none)
-When set to a list of one or more characters, \fInn\fP will trust and
-output \fIescape\fP characters in an article if it is followed by one
-of the characters in the list.  For example, to switch to or from
-kanji mode, control codes like "\fIesc\fP\ $" and "\fIesc\fP\ (\ J"
-may be present in the text.  To allow these codes, use the following
-command:
-.sp 0.5v
-.nf
-	set trusted-escape-codes ($
-.fi
-.sp 0.5v
-You can also set it to \fBall\fP to pass all escape codes through to
-the screen.  Notice that \fInn\fP thinks all characters (including
-\fIesc\fP) output to the screen as occupy one column.
-.TP
-\fBunshar-command\fP \fIshell-command\fP	(string, default "/bin/sh")
-This is the command which is invoked by the \fBunshar\fP command.
-.TP
 \fBunshar-header-file\fP \fIfile\fP	(string, default "Unshar.Headers")
-The name of the file in which the header and initial text of articles
-unpacked with the \fB:unshar\fP command is saved.  Unless the file name
-starts with a `/', the file will be created in the same directory as
-the unpacked files.  The information is not saved if this variable is
-not set.  Setting it to "Unshar.Result" will cause the headers and the
-results from the unpacking process to be merged in a meaningful way
-(unless \fBmmdf-format\fP is set).
-.TP
-\fBunsubscribe-mark-read\fP	(boolean, default true)
-When set, unsubscribing to a group will automatically mark all current
-articles read; this is recommended to keep the size of .newsrc down.
-Otherwise, unread articles in the unsubscribe groups are kept in
-\&.newsrc.  If \fBkeep-unsubscribed\fP is false, this variable has no
-effect.
-.TP
-\fBupdate-frequency\fP		(integer, default 1)
-Specifies how many changes need to be done to the .newsrc or select
-files before they are written back to disk.  The default setting
-causes .newsrc to be updated every time a group has been read.
-.TP
-\fBuse-path-in-from\fP		(boolean, default false)
-When \fBmail-format\fP is set, saved articles will be preceded by a
-specially formatted \&"From\ " line:
-.nf
-	From origin date
-.fi
-Normally, the origin will be the name of the news group where the
-article appeared, but if \fBuse-path-in-from\fP is set, the contents
-of the "Path:" header will be used as the origin.
-.TP
-\fBuse-selections\fP		(boolean, default true)
-When set, \fInn\fP uses the selections and other article attributes
-saved last time \fInn\fP was used.  If not set, \fInn\fP ignores the
-select file.
-.TP
-\fBvisible-bell\fP	(boolean, default true)
-When set, \fInn\fP will flash the screen instead of "ringing the
-bell" if the visible bell (flash) capability is defined in the
-termcap/terminfo database.
-.TP
-\fBwindow\fP \fIsize\fP	(integer, default not set)
-When set, \fInn\fP will reserve the last \fIsize\fP lines of the menu
-screen for a preview window.  If not set, \fInn\fP will clear the
-screen to preview an article if there are less than \fBmin-window\fP
-lines at the
-bottom of the screen.  As a side effect, it can also be used to reduce
-the size of the menus, which may be useful on slow terminals.
-.TP
-\fBword-key\fP \fIkey\fP	(key, default ^W)
-The key which erases the last input component or word
-when \fInn\fP is prompting for a string, e.g. the last name in a path
-name.
-.TP
-\fBwrap-header-margin\fP \fIsize\fP	(integer, default 6)
-When set (non-negative), the customized header fields specified in
-\fBheader-lines\fP will be split across several lines if they don't
-fit on one line.  When \fIsize\fP is greater than zero, lines will be
-split at the first space occurring in the last \fIsize\fP columns of
-the line.  If not set (or negative), long header lines will be
-truncated if they don't fit on a single line.
-.\" ENDPART C
-.\" BEGINPART D
-.SH CUSTOMIZED ARTICLE HEADER PRESENTATION
-Normally, \fInn\fP will just print a (high-lighted) single line header
-containing the author, subject, and date (optional) of the article
-when it is read.
-.LP
-By setting the
-.B header-lines
-variable as described below, it is possible to get a more informative
-multi line header with optional high-lighting and underlining.
-.LP
-The
-.B header-lines
-variable is set to a list of header line identifiers, and the
-customized headers will then contain exactly these header lines
-\fIin the specified order\fP.
-.LP
-The same specifications are also used by the \fB:print\fP and
-\fBsave-short\fP commands via the \fBprint-header-lines\fP and
-\fBsave-header-lines\fP variables.
-.LP
-The following header line identifiers are recognized in the
-\fBheader-lines\fP,
-\fBprint-header-lines\fP, 
-and \fBsave-header-lines\fP variables:
-.LP
-.in +8n
-.ta 5m
-.\"ta 4 9
-.br
-\fBA\fP	Approved:
-.br
-\fBa\fP	Spool-File:	(path of spool file containing the article)
-.br
-\fBB\fP	Distribution:
-.br
-\fBC\fP	Control:
-.br
-\fBD\fP	Date:
-.br
-\fBE\fP	Content-transfer-encoding:
-.br
-\fBd\fP	Date-Received:
-.br
-\fBF\fP	From:
-.br
-\fBf\fP	Sender:
-.br
-\fBG\fP	Newsgroup:	(current group)
-.br
-\fBg\fP	Newsgroup:	(current group if cross-posted or merged)
-.br
 \fBI\fP	Message-Id:
-.br
-\fBK\fP	Keywords:
-.br
-\fBL\fP	Lines:
-.br
-\fBM\fP	Mime-Version:
-.br
-\fBN\fP	Newsgroups:
-.br
-\fBn\fP	Newsgroups:   (but only if cross posted)
-.br
-\fBO\fP	Organization:
-.br
-\fBP\fP	Path:
-.br
-\fBR\fP	Reply-To:
-.br
-\fBS\fP	Subject:
-.br
-\fBT\fP	Content-Type:
-.br
-\fBv\fP	Save-File:	(the default save file for this article)
-.br
-\fBW\fP	Followup-To:
-.br
-\fBX\fP	References:
-.br
-\fBx\fP	Back-References:
-.br
-\fBY\fP	Summary:
-.in -8n
-.DT
-.LP
-The 'G' and 'g' fields will include the local article number if it is
-known, e.g.
-.nf
-	Newsgroup: news.software.nn/754
-.fi
-.LP
-The following special symbols are recognized in the \fBheader-lines\fP
-variable (and ignored otherwise):
-.LP
-Preceding the identifier with an equal sign "=" or an underscore "_"
-will cause the header field contents to be high-lighted or underlined.
-.LP
-A plus sign "+" will use the shading attribute defined by
-\fBshading-on\fP and \fBshading-off\fP to high-light the field
-contents.  If no shading attribute is defined it will underline the
-field instead.
-.LP
-Including an asterisk "*" in the list will produce the standard one
-line header at that point.
-.LP
-Example:  The following setting of the
-.B header-lines
-variable will show the author (underlined), organization, posting
-date, and subject (high-lighted) when articles are read:
-.sp 0.5v
-.nf
-	set header-lines _FOD=S
-.fi
-.SH COMMAND LINE OPTIONS
-Some of the command line options have already been described, but
-below we provide a complete list of the effect of each option by
-showing the equivalent
-.BR set ,
-.BR unset ,
-or
-.B toggle
-command.
-.LP
-Besides the options described below, you can set \fIany\fP of
-\fInn\fP's variables directly on the command line via an argument of
-the following format:
-.sp 0.5v
-.nf
-	variable=value
-.fi
-.sp 0.5v
-To set or unset a boolean variable, the value can be specified as
-\fIon\fP or \fIoff\fP (\fIt\fP and \fIf\fP will also work).
-.LP
-Notice that the init files are read \fIbefore\fP the options are
-parsed (unless you use the \-\fBI\fP option).  Therefore, the options
-which are related to boolean variables set in the init file will
-toggle the value set there, rather than the default value.
-Consequently, the meaning of the options are also user-defined.
-.LP
-The explanations below describe the effect related to the default
-setting of the variables, with the `reverse' effect in square
-brackets.
-.TP
-\-\fBa\fP\fIN\fP	{\fBset limit\fP \fIN\fP}
-.I Limit
-the maximum number of articles presented in each group to
-.I N.
-This is useful to get up-to-date quickly if you have not
-read news for a longer period.
-.TP
-\-\fBa0\fP
-Mark
-.I all
-unread articles as read.  See the full explanation at the beginning of
-this manual.
-.TP
-\-\fBA\fP
-Don't read active file, instead use the .newsrc file
-for the list of groups, this can be useful for slow NNTP connections.
-.TP
-\-\fBB\fP	{\fBtoggle backup\fP}
-Do not [do] backup the rc file.
-.TP
-\-\fBd\fP	{\fBtoggle split\fP}
-Do not [do] split digests into separate articles.
-.TP
-\-\fBD\fP server-name
-Connect to the specified NNTP server and also incorporate the
-server name in the NN status files so that it is easy to use
-multilple NNTP servers. For example with -D host.net .newsrc 
-becomes \&.newsrc-host.net.
-.TP
-\-\fBf\fP	{\fBtoggle fsort\fP}
-Do not [do] sort folders according to the subject (present the
-articles in a folder in the sequence in which they were saved).
-.TP
-\-\fBg\fP
-Prompt for the name of a news group or folder to be entered
-.TP
-\-\fBi\fP	{\fBtoggle case-fold-search\fP}
-Normally searches with \-\fBn\fP and \-\fBs\fP are case independent.
-Using this option, the case becomes significant.
-.TP
-\-\fBI\fP
-Do not read the init file.  This must be the first option!!
-The global \fIsetup\fP file is still read.
-.TP
-\-\fBI\fP\fIfile-list\fP
-Specifies an alternate list of init files to be loaded instead of the
-standard global and private init files.  The list is a comma-separated
-list of file names.  Names which does not contain a `/' are looked for
-in the ~/.nn directory.  An empty element in the list is interpreted
-as the global init file.  The list of init files must
-\fInot\fP be separated from the \fB\-I\fP option by blanks, and it
-must be the first option.  Example:  The default behavior corresponds
-to using -I,init (first the global file, then the file ~/.nn/init).
-The global \fIsetup\fP file is still read as the first init file
-independently of the -I option used.
-.TP
-\-\fBk\fP	{\fBtoggle kill\fP}
-Do not [do] perform automatic kill and selection of articles.
-.TP
-\-\fBl\fP\fIN\fP	{\fBset stop\fP \fIN\fP}
-Stop after printing the first \fIN\fP lines of each article.
-This is useful on slow terminals.
-.TP
-\-\fBL\fP[\fIf\fP]	{\fBset layout\fP \fIf\fP}
-Select alternative menu layout
-.IR f
-(0 to 4).
-If
-.I f
-is omitted, menu layout 3 is selected.
-.TP
-\-\fBm\fP	{\fIno corresponding variable\fP}
-Merge all articles into one `meta group' instead of showing
-them one group at a time.  When -m is used, no articles will be marked
-as read.
-.TP
-\-\fBn\fP\fIWORD\fP
-Collect only articles which contain the string \fIWORD\fP in the
-sender's name (case is ignored).  If \fIWORD\fP
-starts with a slash `/', the rest of the argument is used as a
-\fIregular expression\fP instead of a fixed string.
-.TP
-\-\fBN\fP	{\fIno corresponding variable\fP}
-Disable updating of the rc file.  This includes not recording that
-groups have been read or unsubscribed to (although \fInn\fP will think
-so until you quit).
-.TP
-\-\fBq\fP	{\fBtoggle sort\fP}
-Do not [do] sort the articles (q means quick, but it isn't
-any quicker in practice!)
-.TP
-\-\fBQ\fP	{\fBtoggle silent\fP}
-Quiet mode - don't [do] print the logo or "No News" messages.
-.TP
-\-\fBr\fP	{\fBtoggle repeat-group-query\fP}
-Make \-\fBg\fP repeat query for a group to enter.
-.TP
-\-\fBR\fP server-name
-Connect to the specified NNTP server
-.TP
-\-\fBs\fP\fIWORD\fP
-Collect only articles which contain the string
-.I WORD
-in their subject (case is ignored).  If
-.I WORD
-starts with a slash `/', the rest of the argument is used as a
-\fIregular expression\fP instead of a fixed string.
-.TP
-\-\fBS\fP	{\fBtoggle repeat\fP}
-Do not [do] eliminate duplicated subject lines on menus.
-.TP
-\-\fBT\fP	{\fBtoggle time\fP}
-Do not [do] show the current time in the prompt line.
-.TP
-\-\fBw\fP[\fIN\fP]	{\fBset window\fP \fIN\fP}
-Reserve \fIN\fP lines of the menu screen for a preview window.  If
-\fIN\fP is omitted, the preview window is set to 5 lines.
-.TP
-\-\fBW\fP	{\fBtoggle confirm-messages\fP}
-[Don't] Wait for confirmation on all messages.
-.TP
-\-\fBx\fP[\fIN\fP]	{\fBset old N\fP}
-Present (or scan) all (or the last \fIN\fP) unread as well as
-read articles.  This will
-.I never
-mark unread articles as read.
-.TP
-\-\fBX\fP	{\fIno corresponding variable\fP}
-Read/scan unsubscribed groups also.  Most useful when looking for
-a specific subject in all groups, e.g.
-.br
-   nn -mxX -sSubject all
-.br
-.SH MACRO DEFINITIONS
-Practically any combination of commands and key strokes can be defined
-as a macro which can be bound to a single key in menu and/or reading mode.
-.LP
-The macro definition must specify a sequence of commands and key
-strokes as if they were typed directly from the keyboard.  For
-example, a string specifying a file name must follow a save command.
-This manual does not give a complete specification of all the input
-required by the various commands; it is recommended to execute the
-desired command sequence from the keyboard prior to defining the macro
-to get the exact requirements of each command.
-.LP
-Although it is possible to define temporary macros interactively using the
-.B :define
-command, macro definitions are normally placed in the
-.I init
-file.  Macros are numbered from 0 to 100, i.e. it is possible to define
-a total of 101 different macros (implicit macros defined with the
-\fBmap\fP command uses internal numbers from 101 to 200).
-.LP
-To define macro number \fIM\fP, the following construction is used
-(the line breaks are mandatory):
-.nf
-	\fBdefine\fP \fIM\fP
-		\fIbody\fP
-	\fBend\fP
-.fi
-.LP
-The \fIbody\fP consists of a sequence of \fItokens\fP separated by
-white space (blanks or newlines).  However, certain \fItokens\fP
-continue to the end of the current line.
-.LP
-The following \fItokens\fP may occur in the macro \fIbody\fP:
-.TP
-.I Comments
-Empty lines and text following a # character (preceded by white space)
-is ignored.
-.TP
-.I Command Names
-Any command name listed in the key mapping section can be included in
-a macro causing that command to be invoked when the macro is executed.
-.TP
-.I Extended Commands
-All the extended commands which can be executed through the
-.B command
-command (normally bound to the : key) can also be executed in a macro.
-An extended command starts with a colon (:) and continues to the
-end of the current line.  Example:
-.nf
-	:show groups total
-.fi
-.TP
-.I Key Strokes
-A key stroke (which is normally mapped into a command depending on the
-current mode) is specified as a key name enclosed in single quotes.
-Examples (A-key, left arrow key, RETURN key):
-.nf
-	'A'  'left'  '^M'
-.fi
-.TP
-.I Shell Commands
-External commands can be invoked as part of a macro execution.  There
-are two forms of shell command invocations available depending on
-whether a command \fImay\fP produce output or require user input, or
-it is \fIguaranteed\fP to complete without input or output to the
-terminal.  The difference is that in the latter case, \fInn\fP does
-not prepare the terminal to be used by another program.  When the
-command completes, the screen is \fInot\fP redrawn
-automatically; you should use the \fBredraw\fP command to do that.
-The the forms are:
-.sp 0.5v
-.nf
-	:!echo this command uses the terminal
-	:!!echo this command does not > /tmp/file
-.fi
-.TP
-.I Strings
-Input to commands prompting for a string, e.g. a file name, can be
-specified in a macro as a double quoted string.  Example (save without
-prompting for a file name):
-.nf
-	\fBsave-short\fP "+$G"
-.fi
-.TP
-.I Conditionals
-Conditionals may occur anywhere in a macro; a conditional is evaluated
-when the macro is executed, and if the condition is false \fIthe rest
-of the current line is ignored\fP.  The following conditionals are available:
-.nf
-	\fB?menu\fP	True in menu mode
-	\fB?show\fP	True in reading mode
-	\fB?folder\fP	True when looking at a folder
-	\fB?group\fP	True when looking at a news group
-	\fB?yes\fP	Query user, true if answer is yes
-	\fB?no\fP	Query user, true if answer is no
-.fi
-Example (stop macro execution if user rejects to continue):
-.nf
-	\fBprompt\fP "continue? " \fB?no break\fP
-.fi
-.sp 0.5v
-In addition to these conditionals, it is possible to test the current
-value of boolean and integer variables using the following form:
-.nf
-	\fB?\fP\fIvariable\fP\fB=\fP\fIvalue\fP
-.fi
-This conditional will be true (1) if the variable is an integer variable
-whose current value is the one specified, or (2) if the variable is a
-boolean variable which is either \fBon\fP or \fBoff\fP.  Examples:
-.nf
-	?layout=3 :set layout 1
-	?monitor=on  break
-	?sort=off :sort age
-.fi
-.TP
-.B break
-Terminate macro execution completely.  This includes nested macros.
-Example (stop if looking at a folder):
-.nf
-	\fB?folder\fP \fBbreak\fP
-.fi
-.TP
-.B return
-Terminate execution of current macro.  If the current macro is called
-from another macro, execution of that macro continues immediately.
-.TP
-.B input
-Query the user for a key stroke or a string, for example a file name.
-Example (prompt the user for a file name in the usual way):
-.nf
-	\fBsave-short\fP \fBinput\fP
-.fi
-.TP
-.B yes
-Confirm unconditionally \fIif\fP a command requires confirmation.  It
-is ignored if the command does not require confirmation.  Example
-(confirm creation of new files):
-.nf
-	\fBsave-short\fP "+$G" \fByes\fP
-.fi
-.TP
-.B no
-Terminate execution of current macro \fIif\fP a command requires
-confirmation; otherwise ignore it.  If neither \fByes\fP nor \fBno\fP
-is specified when a command requires confirmation, the user must
-answer the question as usual \- if the user confirms the action
-execution continues normally; otherwise the execution of the current
-macro is terminated.  Example (do not create new files):
-.nf
-	\fBsave-short\fP "+$L/misc" \fBno\fP
-.fi
-.TP
-\fBprompt\fP \fIstring\fP
-Print the \fIstring\fP in the prompt line (highlighted).  The string
-must be enclosed in double quotes.  Example:
-.nf
-	\fBprompt\fP "Enter recipient name"
-.fi
-When the macro terminates, the original prompt shown on entry to the
-macro will automatically be redrawn.  If this is not desirable (e.g.
-if the macro goes from selection to reading mode), the redrawing of
-the prompt can be disabled by using a \fBprompt\fP command with an
-empty \fIstring\fP ("").  Example:
-.nf
-	\fBprompt\fP "Enter reading mode?" # old prompt is saved
-	?no return # and old prompt is restored
-	read-skip       # changes the prompt
-	\fBprompt\fP "" # so forget old prompt
-.fi
-.TP
-\fBecho\fP \fIstring\fP
-Display the \fIstring\fP in the prompt line for a short period.  Example:
-.nf
-	?show \fBecho\fP "Cannot be used in reading mode" break
-.fi
-.TP
-\fBputs\fP \fIstring-to-end-of-line\fP
-The rest of the line is output directly to the terminal without
-interpretation.
-.TP
-\fBmacro\fP \fIM\fP
-Invoke macro number \fIM\fP.  The maximum macro nesting level is five
-(also catches macro loops).
-.LP
-I use the following macro to quickly save all the selected files in a
-file whose name is entered as usual.  It also works in reading mode
-(saving just the current article).
-.nf
-	\fBdefine\fP 1
-		:unset save-report
-		save-short input yes
-		?menu '+'
-		:set save-report
-	\fBend\fP
-.fi
-.SH KEY MAPPINGS
-The descriptions of the keys and commands provided in this manual
-reflects the default key mappings in \fInn\fP.  However, you can
-easily change these mappings to match your personal demands, and it is
-also possible to remap keys depending on the terminal in use.
-Permanent remapping of keys must be done through the
-.I init
-file, while temporary changes (for the duration of the current
-invocation of \fInn\fP) can be made with the
-.B :map
-command.
-.LP
-The binding and mapping of keys are controlled by four tables:
-.TP
-.B The multikey definition table
-This table is used for mapping multicharacter key sequences into
-single characters.  By default the table contains the mappings for the
-four cursor keys, and there is room for 10 user-defined multikeys.
-The fourteen multikeys are named:
-.BR up ,
-.BR down ,
-.BR right ,
-.BR left
-(the four arrow keys), and
-.BR #0
-through
-.BR #9
-for the user-defined keys.
-.sp 0.5v
-Multikey #\fIi\fP (where \fIi\fP is a digit or an arrow key name) is
-defined using the following command:
-.sp 0.5v
-.nf
-	\fBmap #\fP\fIi\fP \fIkey-sequence\fP
-.fi
-.sp 0.5v
-where the
-.I sequence
-is a list of 7-bit character names (see below) separated by spaces.
-For example, if the HOME key sends the sequence ESC [ H, you can
-define multikey #0 to be the home key using the command:
-.sp 0.5v
-.nf
-	map #0 ^[ [ H
-.fi
-.TP
-.B The input key mapping table
-All characters that are read from the keyboard will be mapped through
-the input mapping table.  Consequently, you can globally remap one key
-to produce any other key value.  By default all keys are mapped into
-themselves.
-.sp 0.5v
-An entry in the input key mapping table to map \fIinput-key\fP into
-\fInew-key\fP is made with the command
-.sp 0.5v
-.nf
-	\fBmap key\fP \fIinput-key\fP \fInew-key\fP
-.fi
-.sp 0.5v
-For example, to make your ESC key function as
-.B interrupt
-you can use the command
-.sp 0.5v
-.nf
-	map key ^[ ^G
-.fi
-.TP
-.B The selection mode key binding table
-This table defines for each key which command should be invoked when
-that key is pressed in selection mode, i.e. when the article menu is
-shown.  The command to bind a
-.I key
-to a
-.I command
-in selection mode is:
-.sp 0.5v
-.nf
-	\fBmap menu\fP \fIkey command\fP
-.fi
-.sp 0.5v
-For example, to have the HOME key defined as multikey #0 above bound
-to the
-.B select
-command, the following command is used:
-.sp 0.5v
-.nf
-	map menu #0 select
-.fi
-.sp 0.5v
-To remap a key to select a specific article on the menu (which the `a'
-through `z' keys do by default), the \fIcommand\fP must be specified
-as `\fBarticle\fP \fIN\fP' where \fIN\fP is the entry number on the
-menu counted from zero (i.e. a=0, b=1, ..., z=25, 0=26, ..., 9=35).
-For example, to map `J' to select article `j', the following
-command is used:
-.sp 0.5v
-.nf
-	map menu J article 9
-.fi
-.TP
-.B The reading mode key binding table
-This table defines for each key which command should be invoked when
-that key is pressed in reading mode, i.e. when the article text is
-shown.  The command to bind a
-.I key
-to a
-.I command
-in reading mode is:
-.sp 0.5v
-.nf
-	\fBmap show\fP \fIkey command\fP
-.fi
-.LP
-In addition to the direct mappings described above, the following
-variations of the \fBmap\fP command are available:
-.TP
-.B User defined keymaps
-Additional keymaps can be defined using the command
-.sp 0.5v
-.nf
-	\fBmake map\fP \fInewmap\fP
-.fi
-.sp 0.5v
-This will create a new keymap which can initialized using normal
-\fBmap\fP commands, e.g.
-.sp 0.5v
-.nf
-	\fBmap\fP \fInewmap key command\fP 
-.fi
-.sp 0.5v
-To activate a user-defined keymap, it must be bound to a \fIprefix key\fP:
-.sp 0.5v
-.nf
-	\fBmap\fP \fIbase-map prefix-key\fP \fBprefix\fP \fInewmap\fP
-.fi
-.sp 0.5v
-When used, the prefix key itself does not activate a command, but
-instead it require another key to be entered and then execute the
-command bound to that key in the keymap which is bound to the prefix key.
-  For example, to let the key sequence "^X i" execute macro number 10 in
-both modes, the following commands can be used:
-.sp 0.5v
-.nf
-	make map ctl-x
-	map ctl-x i macro 10
-	map both ^X prefix ctl-x
-.fi
-.TP
-.B Mapping keys in both modes
-Using the pseudo-keymap `both', it is possible to map a key to a
-command in both selection and reading mode at once.  For example, to
-map the home key to macro number 5 in both modes, the following
-command can be used:
-.sp 0.5v
-.nf
-	map both #0 macro 5
-.fi
-.TP
-.B Aliasing
-A key can also be mapped directly to the command currently bound to
-another key.  Later remapping of the other key will not change the
-mapping of the `aliased' key.  This is done using the following command:
-.sp 0.5v
-.nf
-	map \fIkeymap new-key\fP \fBas\fP \fIold-key\fP
-.fi
-.TP
-.B Binding macros to keys
-A previously defined macro can be bound to a key using the command:
-.sp 0.5v
-.nf
-	map \fIkeymap key\fP \fBmacro\fP \fImacro-number\fP
-.fi
-.TP
-.B Implicit macro definitions
-An implicit macro can also be defined directly in connection with the
-\fBmap\fP command:
-.sp 0.5v
-.nf
-	map \fIkeymap key\fP \fB(\fP
-	\fIbody\fP...
-	\fB)\fP
-.fi
-.LP
-Keys and character names are specified using the following notation:
-.TP
-.I C
-A single printable character represents the key or character itself.
-.TP
-\fB^\fP\fIC\fP
-This notation represents a control key or character.
-DEL is written as \fB^?\fP
-.TP
-\fI125\fP, \fI0175\fP, \fI0x7D\fP
-Characters and keys can be specified by their ordinal value in
-decimal, octal, and hexadecimal notation.
-.TP
-\fBup\fP, \fBdown\fP, \fBright\fP, \fBleft\fP
-These names represent the cursor keys.
-.TP
-\fB#0\fP  through  \fB#9\fP
-These symbols represent the ten user-defined multikeys.
-.LP
-If the variable \fBdata-bits\fP is 7, key maps can specify binding of
-all keys in the range 0x00 to 0x7F, and the 8th bit will be stripped
-in all keyboard input.
-If the variable \fBdata-bits\fP is 8, the 8th bit is not cleared, and
-key maps are extended to allow binding of keys in the range 0xA0 to
-0xFE (corresponding to the national characters defined by the ISO 8859
-character sets).
-Binding commands to these keys can be done either by using their
-numeric value, or directly specifying the 8 bit character in the map
-command, e.g.
-.sp 0.5v
-.nf
-	map menu 0xC8 macro 72
-	map key \o'\(aae' %
-.fi
-.LP
-To show the current contents of the four tables, the following
-versions of the \fB:map\fP command are available:
-.TP
-.B :map
-Show the current mode's key bindings.
-.TP
-.B :map menu
-Show the selection mode key bindings.
-.TP
-.B :map show
-Show the reading mode key bindings.
-.TP
-.B :map #
-Show the multikey definition table.
-.TP
-.B :map key
-Show the input key mapping table.
-.SH STANDARD KEY BINDINGS
-Below is a list of all the commands that can be bound to keys, either
-in selection mode, in reading mode, or both.  For each command the
-default command key bindings in both modes are shown.
-If the key is not bound in one of the modes, but it can be bound, the
-corresponding part will just be empty.  If the command cannot be bound
-in one of the modes, that mode will contain the word \fBnix\fP.
-.LP
-.in +8n
-.ta \w'continue-no-mark'u+5m +\w'Selection_mode'u+3m
-.\"ta 4 26 42
-.br
-\fIFunction	Selection mode	Reading mode\fP
-.br
-\fBadvance-article\fP	\fBnix\fP 	a
-.br
-\fBadvance-group\fP	A 	A
-.br
-\fBarticle\fP \fIN\fP	a-z0-9 	\fBnix\fP
-.br
-\fBback-article\fP	\fBnix\fP 	b
-.br
-\fBback-group\fP	B 	B
-.br
-\fBcancel\fP	C 	C
-.br
-\fBcommand\fP	:  	:
-.br
-\fBcompress\fP	\fBnix\fP 	c
-.br
-\fBcontinue\fP	\fBspace\fP 	\fBspace\fP
-.br
-\fBcontinue-no-mark\fP	\fBreturn\fP 	\fBnix\fP
-.br
-\fBdecode\fP
-.br
-\fBfind\fP	= 	/
-.br
-\fBfind-next\fP	\fBnix\fP 	.
-.br
-\fBfollow\fP	F 	fF
-.br
-\fBfull-digest\fP	\fBnix\fP 	H
-.br
-\fBgoto-group\fP	G 	G
-.br
-\fBgoto-menu\fP	\fBnix\fP 	= Z
-.br
-\fBhelp\fP	? 	?
-.br
-\fBjunk-articles\fP	J 	\fBnix\fP
-.br
-\fBkill-select\fP	K 	K
-.br
-\fBlayout\fP	" 	\fBnix\fP
-.br
-\fBleave-article\fP	\fBnix\fP 	l
-.br
-\fBleave-next\fP	L 	L
-.br
-\fBline+1\fP	,  \fBdown\fP 	\fBreturn\fP
-.br
-\fBline-1\fP	/ 	\fBnix\fP
-.br
-\fBline=@\fP	\fBnix\fP 	g
-.br
-\fBmacro\fP \fIM\fP
-.br
-\fBmail\fP	M 	m M
-.br
-\fBmessage\fP	^P 	^P
-.br
-\fBnext-article\fP	\fBnix\fP 	n
-.br
-\fBnext-group\fP	N 	N
-.br
-\fBnext-subject\fP	\fBnix\fP 	k
-.br
-\fBnil\fP
-.br
-\fBoverview\fP	Y 	Y
-.br
-\fBpage+1\fP	> 	\fBnix\fP
-.br
-\fBpage+1/2\fP	\fBnix\fP 	d
-.br
-\fBpage-1\fP	< 	\fBdelete  backspace\fP
-.br
-\fBpage-1/2\fP	\fBnix\fP 	u
-.br
-\fBpage=0\fP	\fBnix\fP 	h
-.br
-\fBpage=1\fP	^ 	^
-.br
-\fBpage=$\fP	$ 	$
-.br
-\fBpatch\fP
-.br
-\fBpost\fP
-.br
-\fBpreview\fP	% 	%
-.br
-\fBprevious\fP	P 	p
-.br
-\fBprint\fP		P
-.br
-\fBquit\fP	Q 	Q
-.br
-\fBread-return\fP	Z 	\fBnix\fP
-.br
-\fBread-skip\fP	X 	X
-.br
-\fBredraw\fP	^L ^R 	^L ^R
-.br
-\fBreply\fP	R 	r R
-.br
-\fBrot13\fP	\fBnix\fP 	D
-.br
-\fBsave-body\fP	W 	w W
-.br
-\fBsave-full\fP	S 	s S
-.br
-\fBsave-short\fP	O 	o O
-.br
-\fBselect\fP	. 	\fBnix\fP
-.br
-\fBselect-auto\fP	+ 	\fBnix\fP
-.br
-\fBselect-invert\fP	@ 	\fBnix\fP
-.br
-\fBselect-range\fP	- 	\fBnix\fP
-.br
-\fBselect-subject\fP	* 	*
-.br
-\fBshell\fP	! 	!
-.br
-\fBskip-lines\fP	\fBnix\fP 	\fBtab\fP
-.br
-\fBunselect-all\fP	~ 	\fBnix\fP
-.br
-\fBunshar\fP
-.br
-\fBunsub\fP	U 	U
-.br
-\fBversion\fP	V 	V
-.in -8n
-.DT
-.LP
-See the descriptions of the default bindings for a description of the
-commands.  The pseudo command
-.B nil
-is used to
-.I unbind
-a key.
-.SH THE INIT FILES
-The
-.I init
-files are used to customize \fInn\fP's behavior to local conventions
-and restrictions and to satisfy each user's personal taste.
-.br
-Normally, \fInn\fP reads upto four init files on start-up if they
-exist (all init files are optional):
-.TP
-$LIB/\fBsetup\fP
-A system-wide file located in the library directory.  This file is
-\fIalways\fP loaded before any other init file (even when the
-\-\fBI\fP option is specified).  It cannot contain a group
-presentation sequence.
-.TP
-$LIB/\fBinit\fP
-Another system-wide (global) init file located in the library
-directory.  This file may be ignored via the \-\fBI\fP option.
-.TP
-~/.nn/\fBinit\fP
-The private init file located in the user's \&\fI.nn\fP directory.
-It is read after the global init file to allow the user to change the
-default setup.
-.TP
-~/.nn/\fBtk-init-nn\fP
-Another private init file located in the user's \&\fI.nn\fP directory,
-this one is managed using the \fInn-tk\fP setup menu and overrides any values
-set it ~/.nn/\fBinit\fP. It should be noted that once a value is
-changed using \fInn-tk\fP it writes the value of all variables
-that have been changed from their builtin defaults to ~/.nn/\fBtk-init-nn\fP,
-so that all variable changing from then on should be done via the
-\fInn-tk\fP setup menu.
-.LP
-The init file is parsed one line at a time.  If a line ends with a
-backslash `\e', the backslash is ignored, and the following line is
-appended to the current line.
-.LP
-The init file may contain the following types of commands (and data):
-.TP
-.B Comments
-Empty lines and lines with a # character as the first non-blank
-character are ignored.  Except where # has another meaning defined by
-the command syntax (e.g. multi-keys are named #\fIn\fP), trailing
-comments on input lines are ignored.
-.TP
-.B Variable settings
-You can
-.B set
-(or
-.BR unset )
-all the variables described earlier to change
-nn's behavior permanently.  The
-.B set
-and
-.B unset
-commands you can use in the init file have exactly the same format as
-the
-.B :set
-and
-.B :unset
-commands described earlier (except that the : prefix is omitted.)
-.sp 0.5v
-Variables can also be locked via the \fBlock\fP command; this is
-typically done in the \fIsetup\fP file to enforce local policies.
-.TP
-.B Key mappings
-You can use all the versions of the
-.B map
-command in the init file.
-.TP
-.B Macro Definitions
-You can define sequences of commands and key strokes using the
-\fBdefine\fP...\fBend\fP construction,
-which can then be
-bound to single keys with the
-.B map
-command.
-.TP
-.B Load terminal specific files
-You can load a terminal specific file using the
-.sp 0.5v
-.nf
-	\fBload\fP \fIfile\fP
-.fi
-.sp 0.5v
-The character
-.B @
-in the
-.I file
-will be replaced by the terminal type defined in the TERM environment
-variable.  \fInn\fP silently ignores the
-.B load
-command if the file does not exist (so you don't have to have a
-specific init file for terminals which does not require remapping).
-If the file is not specified by an absolute pathname, it must reside
-in your ~/.nn directory.  Examples:
-.nf
-	# load local customizations
-	load /usr/lib/nninit
-	# load personal terminal specific customizations
-	load init.@
-.fi
-.TP
-.B Switch to loading a different init file
-You can skip the rest of the current init file and start loading a
-different init file with the following command:
-.sp 0.5v
-.nf
-	\fBchain\fP \fIfile\fP
-.fi
-.sp 0.5v
-If this occur in the private or global init file, the chained init
-file may contain a sequence part which will replace the private or
-global presentation sequence respectively.
-.TP
-.B Stop loading current init file
-You can skip the rest of the current init file with the following
-command:
-.sp 0.5v
-.nf
-	\fBstop\fP
-.fi
-.TP
-.B Give error messages and/or terminate
-If an error is detected in the init file, the following commands can be
-used to print an error message and/or terminate execution:
-.sp 0.5v
-.nf
-\fBerror\fP \fIfatal error message\fP...
-.fi
-	Print the message and terminate execution.
-.sp 0.5v
-.nf
-\fBecho\fP \fIwarning message\fP...
-.fi
-	Print the message and continue.
-.sp 0.5v
-.nf
-\fBexit\fP [ \fIstatus\fP ]
-.fi
-	Terminate \fInn\fP with the specified exit status or 0 if omitted.
-.TP
-.B Change working directory of nn
-You can use the
-.B cd
-command to change the working directory whenever you enter \fInn\fP.
-Example:
-.nf
-	# Use folder directory as working directory inside \fInn\fP
-	cd ~/News
-.fi
-.TP
-.B Command groups
-The init file can contain groups of commands which are executed under
-special conditions.  The command groups are described in the section
-on command groups below.
-.TP
-.B One or more save-files sections
-A \fBsave-files\fP section is used to assign default save files to
-specific groups:
-.sp 0.5v
-.nf
-	\fBsave-files\fP
-	  \fIgroup-name (pattern)\fP \fIfile-name\fP
-	  ...
-	\fBend\fP
-.fi
-.sp 0.5v
-The group name (patterns) and save file names are specified in the
-same way as in the presentation sequence (see below).  Example:
-.nf
-	\fBsave-files\fP
-	  news*  +news/$L
-	  comp.sources*  /u/src/$L/
-	\fBend\fP
-.fi
-.TP
-.B The news group presentation sequence
-The
-.I last
-part of the init file may specify the sequence in which you want the
-news groups to be presented.  This part starts with the command
-.B sequence
-and continues to the end of the init file.
-.LP
-Both init files may contain a presentation sequence.  In this case,
-the global sequence is \fIappended\fP to the private sequence.
-.SH COMMAND GROUPS
-Command groups may only occur in the init file, and they provide a way
-to have series of commands executed at certain points during news reading.
-.LP
-In release 6.4 onwards, these possibilities are still rather
-rudimentary, and a mixture of normal init file syntax and macro syntax
-is used depending on whether the command group is only executed on
-start-up or several times during the \fInn\fP session.
-.LP
-A command group begins with the word \fBon\fP and
-ends with the word \fBend\fP.  The following command groups are
-conditionally executed during the parsing of the init file if the
-specified \fIcondition\fP is true.  They may also have an optional
-\fBelse\fP part which is executed if the \fIcondition\fP is false:
-.sp 0.5v
-.nf
-	\fBon\fP \fIcondition\fP
-		commands
-	[ \fBelse\fP
-		commands ]
-	\fBend\fP
-.fi
-.LP
-The following conditional command groups may be used in the init file
-to be executed at start-up:
-.TP
-\fBon [\fP \fItest\fP \fB]\fP
-The commands (init file syntax) in the group are executed only if the
-specified \fItest\fP is true.
-A shell is spawned to execute the command "[ \fItest\fP ]", so all the
-options of the \fBtest\fP(1) command is available.  For example, to
-unset the flow-control variable if the tty is a pseudo-tty, the
-following conditional can be used:
-.nf
-	on [ -n "`tty | grep ttyp`" ]
-		unset flow-control
-	end
-.fi
-.TP
-\fBon !\fP\fIshell command\fP
-The command group is executed if the given \fIshell command\fP exits
-with 0 status (success).
-Care should be taken that the command does not produce any
-output, e.g. by redirecting its output to /dev/null.  For example, to
-prevent people from reading news if load is above a specific level,
-the following conditional might be placed in the global setup file.
-.nf
-	on !load-above 5
-		error load is too high, try again later.
-	end
-.fi
-.TP
-\fBon `\fP\fIshell command\fP\|\fB`\fP \fIstring\fP...
-The command group is executed if the \fIfirst output line\fP from
-executing the specified \fIshell command\fP is listed among the
-specified \fIstring\fP values.  The \fIshell command\fP can be omitted
-on subsequent occurrences of this conditional, in which case
-the output from the last \fBshell command\fP is used.
-For example, the following conditional
-can be used to switch to an init file which has a limited sequence for
-news reading during working hours, evenings, and nights:
-.nf
-	on `date +%H` 9 10 11 12 13 14 15 16
-		chain init.work
-	end
-	on `` 17 18 19 20 21
-		chain init.evening
-	else
-		chain init.night
-	end
-.fi
-.TP
-\fBon ``\fP \fIstring\fP...
-This is equivalent to the previous form except that instead of
-executing a shell command, the output from the previous 
-.TP
-\fBon $\fP\fIvariable\fP [ \fIvalue\fP ]
-If no \fIvalue\fP strings are specified, the command group is executed
-if the given \fIvariable\fP is defined in the environment.  Otherwise,
-the command group is executed only if the value of the \fIvariable\fP
-occur in the \fIvalue\fP list.  For example, if you want \fInn\fP to
-look for mail in whatever $MAIL is set to - if it is set - you can use
-the following code:
-.nf
-	on $MAIL
-		set mail $(MAIL)
-	end
-.fi
-.TP
-\fBon slow\fP
-.br
-The commands (init file syntax) in the group are executed only if the
-current terminal output speed is less than or equal to the baud rate
-set in the \fBslow-speed\fP variable.  This can be used to optimize
-the user-interface for slow terminals by setting suitable variables:
-.sp 0.5v
-.nf
-	\fBon slow\fP
-		set confirm-entry
-		set slow-mode
-		set delay-redraw
-		unset visible-bell
-		set compress
-		unset header-lines
-		set stop 5
-		set window 10
-	\fBend\fP
-.fi
-.TP
-\fBon fast\fP
-.br
-Same as \fBon slow\fP except that the commands are only executed when
-the terminal is running at a speed above the \fBslow-speed\fP value.
-.TP
-\fBon term\fP \fIterm-type\fP...
-.br
-The commands are executed if one of the \fIterm-type\fP names is
-identical to value of the TERM environment variable.
-.TP
-\fBon host\fP \fIhost-name\fP...
-.br
-The commands are executed if the local host's name occur in the
-\fIhost-name\fP list.
-.TP
-\fBon program\fP \fIprogram-name\fP...
-.br
-The commands are executed if the current program (\fInn\fP,
-\fInncheck\fP, etc) in the \fIprogram-name\fP list.
-.LP
-The following \fBon\fP command groups are really macros which may be
-executed during \fInn\fP's normal processing, and as such they cannot
-have an \fBelse\fP part.
-.TP
-\fBon entry\fP [ \fIgroup list\fP ]
-.br
-These commands (macro format!) are executed every time \fInn\fP enters a
-news group.  If a group list is not specified, the commands are
-associated with all groups which don't have its own entry macro
-specified in the group sequence.  Otherwise, the entry macro will be
-associated with the groups in the list.  The group list is specified
-using the meta-notations described in the presentation sequence section.
-.sp 0.5v
-\fIAll\fP `:' commands at the beginning of the
-command group are executed \fIbefore\fP \fInn\fP collects the articles
-in the group, so it is possible to set or unset variables like
-\fBcross-post\fP and \fBauto-read-mode\fP before any articles are
-collected and the menu is (not) shown.
-  The non-`:' commands, and `:' commands that follows a command of
-another type will be executed immediately \fIafter\fP the first menu
-page is presented.  The execution of a `:' command can be postponed by
-using a double `::' as the command prefix.
-.sp 0.5v
-.nf
-	\fBon entry\fP comp.sources* alt.sources
-		:set cross-post on   # set before collection
-		:local auto-read-mode on   # set before showing menu
-		::unset cross-post   # set after collection
-	\fBend\fP
-.fi
-.TP
-\fBon start-up\fP
-.br
-These `:' commands (macro format!) are executed on start-up just
-before \fInn\fP enters the first news group.  However, postponed
-commands (i.e. non-`:' commands) will not be executed until the first
-group is shown (it works like an entry macro).
-.SH GROUP PRESENTATION SEQUENCE
-News groups are normally presented in the sequence defined in the
-system-wide
-.B init
-file in \fInn\fP's library directory.
-.LP
-You can personalize the presentation sequence
-by specifying an alternative sequence in the private
-.I init
-file.
-The sequence in the private init file is used
-.I before
-the global presentation sequence, and need only
-describe the deviations from the default presentation sequence.
-.LP
-The presentation sequence must start with the word
-.nf
-	\fBsequence\fP
-.fi
-followed by a list of the news group names in the order you want them
-to be presented.
-The group names must be separated by white space.
-The sequence list must be the \fIlast\fP part of the
-init file (the parsing of commands from the init file stops when the
-word \fBsequence\fP is encountered).
-.LP
-You may use a full group name like "comp.unix.questions", or just the
-name of a main group or subgroup, e.g. "comp" or "comp.unix".
-However, if "comp" precedes "comp.unix.questions" in the list, this
-subgroup will be placed in the normal alphabetic sequence during the
-collection of all the "comp" groups.
-.LP
-Groups which are not explicitly mentioned in any of the sequence files
-will be placed after the mentioned groups, unless `!!' is used and it
-has not been disabled (as described below).
-.LP
-Each group name may be followed by a file or folder name (must start
-with either of `/' `~' or `+') which will specify the default save file
-for that group (and its subgroups).  A single `+' following the group
-name is an abbreviation for the last save file name used.
-For example, the following two sequences are equivalent:
-.nf
-	group1 +file group2 +file group3 +file
-	group1 +file group2 + group3 +
-.fi
-.LP
-When an article is saved, the default save name will be used as the
-initial contents of the file name prompt for further editing.  It
-therefore does not need to be be a complete file name (unless you use
-the quick save mode).
-.LP
-Each group name may also be associated
-with a so-called \fBentry action\fP.  This is basically an (unnamed)
-macro which is invoked on entry to the group (following the same rules
-as the `on entry' command group related to :set and :unset commands).
-.LP
-The entry action begins with a left parenthesis `\fB(\fP' and ends
-with a right parenthesis `\fB)\fP' on an otherwise empty line:
-.sp 0.5v
-.nf
-	comp.sources. +src/$L/ (
-		:set cross-post
-	)
-.fi
-.sp 0.5v
-The last entry action can be repeated by specifying an empty set of
-parenthesis, e.g.
-.sp 0.5v
-.nf
-	comp.unix. +unix ()
-.fi
-.sp 0.5v
-The entry action of a preceding group in the sequence can be
-associated with the current group(s) by specifying the name of the
-group in the parentheses instead of the commands, e.g.
-.sp 0.5v
-.nf
-	comp.unix. +unix (comp.sources.unix)
-.fi
-.sp 0.5v
-A macro can also be associated with the entry action by specifying its
-number in the same way as the group name above, e.g.
-.sp 0.5v
-.nf
-	rec.music. +music (30)
-.fi
-.sp 0.5v
-Notice that it is the
-\fIcurrent\fP definition of the macro which is associated with the
-group, so if the macro is later redefined with the `:define' command,
-it will not have any effect on the entry action.
-.LP
-Group names can be specified using the following notations:
-.TP
-group.name
-Append the group (if it exists) to the presentation sequence list.  If
-\fBalso-subgroups\fP is set (default), all subscribed subgroups of the
-group will be included as well (if there are any).  Examples: "comp",
-"comp.unix", "comp.unix.questions".  If the group does not exits (e.g.
-"comp"), the subgroups will be included even when \fBalso-subgroups\fP
-is not set, i.e. "comp" is equivalent to "comp.".
-.TP
-group.name.
-Append the subgroups of the specified group to the presentation
-sequence.  The group itself (if it exists) is not included.
-Examples: "comp.", "comp.unix.".
-.TP
-.group.name
-Append the groups whose name ends with the specified name to the
-sequence.  Example: ".test".
-.TP
-group.name*
-Append the group and its subgroups to the presentation sequence list
-(even when \fBalso-subgroups\fP is not set).  Example: "comp.unix*".
-.LP
-The following meta notation can be used in a sequence file.  The
-group.name can be specified using any of the forms described above:
-.TP
-\&! groups
-Completely ignore the group or groups specified
-unless they are already in the presentation sequence (i.e. has been
-explicitly mentioned earlier in the sequence).
-.TP
-\&!:\fIcode\fP groups
-Ignore a selection of groups based on the given \fIcode\fP letter (see
-below), unless they are already included in the sequence.  Notice that
-these forms \fIonly\fP excludes groups from the
 presentation sequence, i.e. they \fIdo not\fP include the remaining
-groups at this point; that must be done explicitly elsewhere.
-.TP
-\&!:U groups
-Ignore unsubscribed groups, i.e. if they are neither new, nor present
-and subscribed in \&.newsrc.
-This is useful to ignore a whole hierarchy except for a
-few groups which are explicitly mentioned in \&.newsrc and still see
-new groups as they are created.
-.TP
-\&!:X groups
-Ignore unsubscribed \fIand\fP new groups, i.e. if they are not
-currently present and subscribed in \&.newsrc.
-This is useful to ignore a whole hierarchy except for a
-few groups which are explicitly mentioned in \&.newsrc.  New groups in
-the hierarchy are ignored unless `NEW' occurs earlier in the sequence.
-.TP
-\&!:O groups
-Ignore old groups, i.e. \fIunless\fP they are new.  This is useful to
-ignore a whole hierarchy but still see new groups which are created in
-the hierarchy (it might become interesting some day).  Individual
-groups can still be included in the sequence if they are specified
-before the `!:O' entry.
-.TP
-\&!:N groups
-Ignore new groups in the hierarchy.
-.TP
-\&!!
-Stop building the presentation sequence.  This eliminates all groups
-that are not already in the presentation sequence.
-.TP
-\fBNEW\fP
-This is a pseudo group name which matches all \fInew\fP groups; you
-could place this symbol early in your presentation sequence to see new
-groups `out of sequence' (to attract your attention to them).
-.TP
-\fBRC\fP
-This is a pseudo group name which matches all groups occurring in the
-\&.newsrc file.  It will cause the groups in .newsrc to be appended to
-the presentation sequence in the sequence in which they are listed in
-\&.newsrc.
-.TP
-\fBRC:\fP\fInumber\fP
-Similar to the \fBRC\fP entry, but limited to the first \fInumber\fP
-lines of the .newsrc file.  Example: RC:10 (use 10 lines of .newsrc).
-.TP
-\fBRC:\fP\fIstring\fP
-Similar to the \fBRC\fP entry, but limited to the lines up to (and
-including) the first line (i.e. group) starting with the given
-\fIstring\fP.  For example:  RC:alt.sources
-.TP
-\&< group.name
-Place the group (and its subgroups) at the beginning of the
-presentation sequence.  Notice that each `<' entry will place the
-group(s) at the beginning of the current sequence, i.e. < A < B < C
-will generate the sequence C B A.
-.TP
-\&> group.name
-Place the group (and its subgroups) after all other groups that are
-and will be entered into the presentation sequence.
-.TP
-\&@
-Disable the `!!' command.  This can be included in the personal
-presentation sequence if the global
-.B sequence
-file contains a !! entry (see example 1 below).
-.TP
-\&% .... %
-Starts and ends a region of the sequence where it is possible to
-include groups which has been eliminated earlier.  This may be useful
-to alter the sequence of some groups, e.g. to place comp.sources.bugs
-after all other source groups, the following sequence can be used:
-.sp 0.5v
-! comp.sources.bugs comp.sources* % comp.sources.bugs %
-.LP
-.sp 0.5v
-.B Example 1:
-In a company where ordinary users only should read the local
-news groups, and ignore the rest (including new news groups which are
-otherwise always subscribed to initially), can use the following
-global presentation sequence:
-.sp 0.5v
-.nf
-	general
-	follow
-	! local.test
-	local
-	!!
-.fi
-.sp 0.5v
-The "expert" users in the company must put the
-.B @
-command somewhere
-in their private sequence to avoid losing news groups which they have
-not explicitly mentioned in their init file.
-.sp
-.B Example 2:
-This is the global sequence for systems with
-heavy news addicts who setup their own sequences anyway.
-.sp 0.5v
-.nf
-	# all must read the general news first
-	< general
-.sp 0.5v
-	# test is test, and junk is junk,
-	# so it is placed at the very end
-	> test
-	> .test
-	> junk
-.sp 0.5v
-	# this is the standard sequence which everybody may
-	# change to their own liking
-	local	# our local groups
-	dk	# the Danish groups
-	eunet.general # to present it before eunet.followup
-	eunet	# the other European groups
-	comp	# the serious groups
-	news	# news on news
-	sci	# other serious groups
-	rec	# not really that important (don't quote me)
-	misc	# well, it must be somewhere
-.sp 0.5v
-	# the groups that are not listed above goes here
-.fi
-.sp 0.5v
-Notice the use of comments in the sequence where they are allowed at
-the end of non-empty lines as well.
-.sp
-.B Example 3:
-My own presentation sequence (in the init file) simply
-lists my favourite groups and the corresponding default save files:
-.sp 0.5v
-.nf
-   \fBsequence\fP
-	!:U alt*  # ignore unsubscribed alt groups
-	news.software.nn +nn
-	comp.sys.ti* +ti/$L
-	NEW  # show new groups here
-	news*
-	rec.music.synth +synth/
-	comp.emacs*,gnu.emacs +emacs/misc
-	comp.risks +risks
-	eunet.sources +src/unix/
-	comp.sources* +src/$L/
-.fi
-.sp 0.5v
-The presentation sequence is not used when \fInn\fP is called with one or
-more news group names on the command line; it is thus possible to read
-ignored groups (on explicit request) without changing the init file.
-(Of course, you can also use the
-.B G
-command to read ignored groups).
-.SH MERGING NEWS GROUPS
-The third example above contains the following line:
-.sp 0.5v
-.nf
-	comp.emacs*,gnu.emacs +emacs/misc
-.fi
-.sp 0.5v
-This is the syntax used to \fImerge\fP groups.  When two or more
-groups are merged, all new articles in these groups are presented
-together as if they were one group.  To merge groups, their names must
-be listed together in the sequence, and only separated by a single
-comma.  To merge the groups resulting from a single group pattern
-(e.g. comp.emacs*), the group pattern must be followed by a comma and
-a blank (e.g. comp.emacs*, ...).
-.LP
-Merged groups are presented as the first group in the "list", and the
-word "MERGED" will be shown after the group name.  The \fBY\fP
-{\fBoverview\fP} command will still show merged groups as individual
-groups, but they will be annotated with the symbol `&' on the first of
-the groups, and a `+' on the rest of the groups.
-.LP
-In the current version, the concept of the \fIcurrent group\fP in
-connection with merged groups is a bit fuzzy.  This should only be
-noticeable with the \fBG\fP command, which will take the most recently
-used group among the merged groups as the current group.  So things
-like \fBG = ...\fP may not always work as expected.
-.SH ENVIRONMENT
-The following environment variables are used by \fInn\fP:
-.LP
-.BR EDITOR .
-The editor invoked when editing replies, follow-ups, and composing
-mail.  \fInn\fP knows about the following editors:
 \fIvi\fP, \fIded\fP, \fIGNU emacs\fP, and \fImicro-emacs\fP,
-and will try to position the cursor on the first line following the
-header, i.e. after the blank line which must not be deleted!  If an
-article has been included, the cursor is placed on the first line of
-the included text (to allow you to delete sections easily).
-.LP
-.BR LOGNAME .
-This is taken as the login name of the current user.  It is used by
-\fInn\fP to return failed mail.  If it is not defined, \fInn\fP will
-use the value of USER, or if that is not defined either, \fInn\fP will
-use the call `who am i' to get this information.  If all attempts
-fail, the failed mail is dropped in the bit bucket.
-.LP
-.BR PAGER .
-This is used as the initial value of the \fBpager\fP variable.
-.LP
-.BR SHELL .
-This is the shell which is spawned if the system cannot suspend
-\fInn\fP, and it will be used to execute the shell escapes.
-.LP
-.BR TERM .
-The terminal type.
-.SH FILES
-.DT
-.nr tW \w'~/.nn/KILL.COMP'
-.nr tX \w'/usr/lib/nntp-server'
-.if \n(tWu>\n(tXu .nr tX \n(tWu
-.ta \n(tWu+3m
-.\"ta 0 22
-~/.newsrc	The record of read articles.
-.br
-~/.nn/select	The record of selected and seen articles.
-.br
-~/.nn/init	Personal configuration and presentation sequence.
-.br
-~/.nn/kill	The automatic kills and selections.
-.br
-~/.nn/KILL.COMP	The compiled kill file.
-.br
-~/.nn/LAST	The time stamp of the last news group we have seen.
-.br
-~/.nn/NEXTG	Active group last time \fInn\fP was quit.
-.br
-~/.nn/.param	Parameter file for the aux script
-.br
-$lib/setup	System-wide setup - always read first.
-.br
-$lib/init	System-wide setup and presentation sequence.
-.br
-$lib/aux	The response edit and send script.
-.br
-$lib/routes	Mapping rules for mail addresses (on non-domain systems).
-.br
-$db/*	The news data base.
-.br
-/etc/termcap	Terminal data base [BSD].
-.br
-/usr/lib/terminfo/*	Terminal data base [SysV].
-.br
-/usr/lib/nntp-server	Name of remote nntp server.
-.sp 0.5v
-.DT
-The name $lib and $db are the directories used for the auxiliary files
-and the news data base respectively.  Their name and location is
-defined at compile time.  Common choices are /usr/local/lib/nn or
-/usr/lib/news/nn for $lib and /usr/spool/nn or /usr/spool/news/.nn for
-$db.
-.SH SEE ALSO
-Other netnews documentation.
-.br
-RFC 1341, MIME (Multipurpose Internet Mail Extensions)
-.br
-nncheck(1), nngoback(1), nngrab(1), nngrep(1), nnpost(1), nntidy(1)
-.br
-nnadmin(1M), nnusage(1M), nnspew(8)
-.SH AUTHOR
-Kim F. Storm, Texas Instruments A/S, Denmark
-.br
-E-mail: storm@texas.dk  (but see the addresses below)
-.LP
-The NNTP support was designed and implemented by Ren\o'\(aae' Seindal,
-Institute of Datalogy, University of Copenhagen, Denmark.
-.LP
-Bugs and fixes, suggestions, ideas, critique, etc. can be sent to
-the following address:
-.nf
-	nn-bugs@dkuug.dk
-.fi
-.LP
-The news.software.nn group is used for discussion on all subjects
-related to the nn news reader.  This includes, but is not limited to,
-questions, answers, ideas, hints, information from the development
-group, patches, etc.
-.\" ENDPART D
--- uulib/config.status	Mon Aug 18 21:19:07 1997
+++ uulib/config.status	Sat Feb 21 18:41:28 1998
@@ -2,7 +2,7 @@
 # Generated automatically by configure.
 # Run this file to recreate the current configuration.
 # This directory was configured as follows,
-# on host eleusis.ucs.uwa.edu.au:
+# on host lust:
 #
 # ./configure 
 #
