xterm-39.patch.txt

XFree86 3.2Xl - xterm patch #39 - 1997/5/24 - T.Dickey
 
This patch does the following:
 
        + integrate the 16-color change for 'xterm'
 
        + minor fixes/clarification of tgetent in terminfo vs termcap to
          'resize'
 
(both changes also modify the configure script)
 
--------------------------------------------------------------------------------
 XFree86-3.2Xl-patch/xc/doc/specs/xterm/ctlseqs.ms               |   28 
 XFree86-3.2Xl-patch/xc/programs/Xserver/hw/xfree86/doc/RELNOTES |    6 
 XFree86-3.2Xl-patch/xc/programs/xterm/aclocal.m4                |   33 
 XFree86-3.2Xl-patch/xc/programs/xterm/charproc.c                |   34 
 XFree86-3.2Xl-patch/xc/programs/xterm/configure                 |  443 +++++-----
 XFree86-3.2Xl-patch/xc/programs/xterm/configure.in              |   25 
 XFree86-3.2Xl-patch/xc/programs/xterm/ptyx.h                    |   23 
 XFree86-3.2Xl-patch/xc/programs/xterm/resize.c                  |   11 
 XFree86-3.2Xl-patch/xc/programs/xterm/terminfo                  |   16 
 XFree86-3.2Xl-patch/xc/programs/xterm/xtermcfg.hin              |    3 
 XFree86-3.2Xl/xc/programs/xterm/XTerm-col.ad                    |only
 11 files changed, 396 insertions, 226 deletions
--------------------------------------------------------------------------------
diff -u -r XFree86-3.2Xl/xc/doc/specs/xterm/ctlseqs.ms XFree86-3.2Xl-patch/xc/doc/specs/xterm/ctlseqs.ms
--- XFree86-3.2Xl/xc/doc/specs/xterm/ctlseqs.ms Wed Jan  8 18:18:35 1997
+++ XFree86-3.2Xl-patch/xc/doc/specs/xterm/ctlseqs.ms   Sat May 24 12:13:52 1997
@@ -298,7 +298,8 @@
 .ds RH VT100 Mode
 .LP
 Most of these control sequences are standard VT102 control sequences,
-but there is support for later DEC VT terminals (i.e., VT220 and VT320), too.
+but there is support for later DEC VT terminals (i.e., VT220 and VT320),
+as well as ISO 6429 and \fIaixterm\fP color controls.
 VT102 features not supported are
 double size characters and blinking characters.
 There are additional control sequences to provide
@@ -621,7 +622,32 @@
   \*(Ps = \*4\*6 \(-> Set background color to Cyan
   \*(Ps = \*4\*7 \(-> Set background color to White
   \*(Ps = \*4\*9 \(-> Set background color to default (original).
+.sp
+If 16-color support is compiled, the following apply.
+Assume that \fIxterm\fP's resources
+are set so that the ISO color codes are the first 8 of a set of 16.
+Then the \fIaixterm\fP colors are the bright versions of the ISO colors:
+  \*(Ps = \*9\*0 \(-> Set foreground color to Black
+  \*(Ps = \*9\*1 \(-> Set foreground color to Red
+  \*(Ps = \*9\*2 \(-> Set foreground color to Green
+  \*(Ps = \*9\*3 \(-> Set foreground color to Yellow
+  \*(Ps = \*9\*4 \(-> Set foreground color to Blue
+  \*(Ps = \*9\*5 \(-> Set foreground color to Magenta
+  \*(Ps = \*9\*7 \(-> Set foreground color to Cyan
+  \*(Ps = \*9\*7 \(-> Set foreground color to White
+  \*(Ps = \*1\*0\*0 \(-> Set background color to Black
+  \*(Ps = \*1\*0\*1 \(-> Set background color to Red
+  \*(Ps = \*1\*0\*2 \(-> Set background color to Green
+  \*(Ps = \*1\*0\*3 \(-> Set background color to Yellow
+  \*(Ps = \*1\*0\*4 \(-> Set background color to Blue
+  \*(Ps = \*1\*0\*5 \(-> Set background color to Magenta
+  \*(Ps = \*1\*0\*6 \(-> Set background color to Cyan
+  \*(Ps = \*1\*0\*7 \(-> Set background color to White
+.sp
+If \fIxterm\fP is compiled with the 16-color support disabled, it supports
+the following, from \fIrxvt\fP:
   \*(Ps = \*1\*0\*0 \(-> Set foreground and background color to default
+.sp
 .
 .IP \\*(Cs\\*(Ps\\*s\\*n
 Device Status Report (DSR)
diff -u -r XFree86-3.2Xl/xc/programs/Xserver/hw/xfree86/doc/RELNOTES XFree86-3.2Xl-patch/xc/programs/Xserver/hw/xfree86/doc/RELNOTES
--- XFree86-3.2Xl/xc/programs/Xserver/hw/xfree86/doc/RELNOTES   Sat May 24 16:06:53 1997
+++ XFree86-3.2Xl-patch/xc/programs/Xserver/hw/xfree86/doc/RELNOTES     Sat May 24 15:18:21 1997
@@ -435,10 +435,14 @@
      while selection is active, and missing state changes in the VT100 emula-
      tion.
 
-   o Xterm's memory requirements for colour have been reduced.
+   o Xterm's memory requirements for colour have been reduced.  The color
+     resource file is merged with the regular resource file to reduce
+     installation problems.
 
    o Emulation of VT220 soft-reset, and non-DEC REP (repeat) control sequence
      has been added to xterm.
+
+   o Xterm now recognizes control sequences for 16 colors (from aixterm).
 
    o xset includes support for the DPMS extension.
 
Only in XFree86-3.2Xl/xc/programs/xterm: XTerm-col.ad
diff -u -r XFree86-3.2Xl/xc/programs/xterm/aclocal.m4 XFree86-3.2Xl-patch/xc/programs/xterm/aclocal.m4
--- XFree86-3.2Xl/xc/programs/xterm/aclocal.m4  Fri May 23 14:31:46 1997
+++ XFree86-3.2Xl-patch/xc/programs/xterm/aclocal.m4    Sat May 24 14:47:52 1997
@@ -155,7 +155,8 @@
 AC_CACHE_VAL(cf_cv_func_tgetent,[
 cf_save_LIBS="$LIBS"
 cf_cv_func_tgetent=no
-for cf_termlib in termcap termlib curses
+cf_TERMLIB="termcap termlib ncurses curses"
+for cf_termlib in $cf_TERMLIB
 do
        LIBS="$cf_save_LIBS -l$cf_termlib"
        AC_TRY_RUN([
@@ -168,18 +169,32 @@
        buffer[0] = 0;
        tgetent(buffer, "vt100");
        exit(buffer[0] == 0); }],
-       [cf_cv_func_tgetent=$cf_termlib
+       [cf_cv_func_tgetent=yes
         break],
-       [AC_TRY_LINK([],[tgetent(0, 0)],[break])],
-       [echo trying link
-        AC_TRY_LINK([],[tgetent(0, 0)],
-               [cf_cv_func_tgetent=$cf_termlib
-                break],
-               [echo link failed
-                LIBS="$cf_save_LIBS"])])
+       [cf_cv_func_tgetent=no],
+       [cf_cv_func_tgetent=no])
 done
+# If there was no workable (termcap) version, maybe there is a terminfo version
+if test $cf_cv_func_tgetent = no ; then
+       for cf_termlib in $cf_TERMLIB
+       do
+               AC_TRY_LINK([],[tgetent(0, 0)],
+                       [cf_cv_func_tgetent=$cf_termlib
+                        break],
+                       [LIBS="$cf_save_LIBS"])
+       done
+fi
 ])
 AC_MSG_RESULT($cf_cv_func_tgetent)
+# If we found any sort of tgetent, check for the termcap.h file.  If this is
+# linking against ncurses, we'll trigger the ifdef in resize.c that turns the
+# termcap stuff back off.
+if test $cf_cv_func_tgetent != no ; then
+       AC_CHECK_HEADERS(termcap.h)
+       if test $cf_cv_func_tgetent != yes ; then
+               AC_DEFINE(USE_TERMINFO)
+       fi
+fi
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Test for availability of useful gcc __attribute__ directives to quiet
diff -u -r XFree86-3.2Xl/xc/programs/xterm/charproc.c XFree86-3.2Xl-patch/xc/programs/xterm/charproc.c
--- XFree86-3.2Xl/xc/programs/xterm/charproc.c  Fri May 23 14:31:46 1997
+++ XFree86-3.2Xl-patch/xc/programs/xterm/charproc.c    Sat May 24 12:13:52 1997
@@ -328,6 +328,7 @@
  */
 
 /* Defaults */
+static  Boolean        defaultCOLORMODE   = DFT_COLORMODE;
 static  Boolean        defaultFALSE       = FALSE;
 static  Boolean        defaultTRUE        = TRUE;
 static  int    defaultIntBorder   = DEFBORDER;
@@ -688,7 +689,7 @@
        XtRString, "XtDefaultForeground"},
 {XtNcolorMode, XtCColorMode, XtRBoolean, sizeof(Boolean),
        XtOffsetOf(XtermWidgetRec, screen.colorMode),
-       XtRBoolean, (XtPointer) &defaultFALSE},
+       XtRBoolean, (XtPointer) &defaultCOLORMODE},
 {XtNcolorULMode, XtCColorMode, XtRBoolean, sizeof(Boolean),
        XtOffsetOf(XtermWidgetRec, screen.colorULMode),
        XtRBoolean, (XtPointer) &defaultFALSE},
@@ -836,6 +837,11 @@
                        fg = COLOR_BD;
        }
 
+       /* This implements the IBM PC-style convention of 8-colors, with one
+        * bit for bold, thus mapping the 0-7 codes to 8-15.  It won't make
+        * much sense for 16-color applications, but we keep it to retain
+        * compatiblity with ANSI-color applications.
+        */
        if ((fg >= 0) && (fg < 8) && (term->flags & BOLD))
                fg |= 8;
 
@@ -1469,10 +1475,36 @@
                                          SGR_Background(-1);
                                        })
                                        break;
+                                case 90:
+                                case 91:
+                                case 92:
+                                case 93:
+                                case 94:
+                                case 95:
+                                case 96:
+                                case 97:
+                                       if_OPT_AIX_COLORS(screen,{
+                                         term->sgr_foreground = (param[row] - 90 + 8);
+                                         setExtendedFG();
+                                       })
+                                       break;
                                 case 100:
+#if !OPT_AIX_COLORS
                                        if_OPT_ISO_COLORS(screen,{
                                          reset_SGR_Foreground();
                                          SGR_Background(-1);
+                                       })
+                                       break;
+#endif
+                                case 101:
+                                case 102:
+                                case 103:
+                                case 104:
+                                case 105:
+                                case 106:
+                                case 107:
+                                       if_OPT_AIX_COLORS(screen,{
+                                         SGR_Background(param[row] - 100 + 8);
                                        })
                                        break;
                                }
diff -u -r XFree86-3.2Xl/xc/programs/xterm/configure XFree86-3.2Xl-patch/xc/programs/xterm/configure
--- XFree86-3.2Xl/xc/programs/xterm/configure   Fri May 23 14:31:46 1997
+++ XFree86-3.2Xl-patch/xc/programs/xterm/configure     Sat May 24 14:47:59 1997
@@ -22,6 +22,10 @@
 ac_help="$ac_help
   --disable-ansi-color    disable ANSI color (default: on)"
 ac_help="$ac_help
+  --disable-16-color      disable 16-color support (default: on)"
+ac_help="$ac_help
+  --enable-color-mode     set default colorMode resource  (default: off)"
+ac_help="$ac_help
   --enable-trace          set to enable debugging traces (default: off)"
 ac_help="$ac_help
   --disable-vt52          disable VT52 emulation (default: on)"
@@ -564,7 +568,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:568: checking for $ac_word" >&5
+echo "configure:572: 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
@@ -593,7 +597,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:597: checking for $ac_word" >&5
+echo "configure:601: 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
@@ -641,7 +645,7 @@
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:645: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:649: 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.
@@ -651,11 +655,11 @@
 cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 655 "configure"
+#line 659 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:663: \"$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
@@ -675,12 +679,12 @@
   { 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:679: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:683: 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:684: checking whether we are using GNU C" >&5
+echo "configure:688: 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
@@ -689,7 +693,7 @@
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:693: \"$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:697: \"$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
@@ -704,7 +708,7 @@
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=
   echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:708: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:712: 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
@@ -732,7 +736,7 @@
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:736: checking how to run the C preprocessor" >&5
+echo "configure:740: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -747,13 +751,13 @@
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 751 "configure"
+#line 755 "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:757: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:761: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -764,13 +768,13 @@
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 768 "configure"
+#line 772 "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:774: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:778: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -794,13 +798,13 @@
 
 if test $ac_cv_prog_gcc = yes; then
     echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:798: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:802: 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 804 "configure"
+#line 808 "configure"
 #include "confdefs.h"
 #include <sgtty.h>
 Autoconf TIOCGETP
@@ -818,7 +822,7 @@
 
   if test $ac_cv_prog_gcc_traditional = no; then
     cat > conftest.$ac_ext <<EOF
-#line 822 "configure"
+#line 826 "configure"
 #include "confdefs.h"
 #include <termio.h>
 Autoconf TCGETA
@@ -869,7 +873,7 @@
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:873: checking for a BSD compatible install" >&5
+echo "configure:877: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -921,9 +925,9 @@
 
 ###    checks for UNIX variants that set C preprocessor variables
 echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:925: checking for AIX" >&5
+echo "configure:929: checking for AIX" >&5
 cat > conftest.$ac_ext <<EOF
-#line 927 "configure"
+#line 931 "configure"
 #include "confdefs.h"
 #ifdef _AIX
   yes
@@ -945,7 +949,7 @@
 
 
 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:949: checking for POSIXized ISC" >&5
+echo "configure:953: checking for POSIXized ISC" >&5
 if test -d /etc/conf/kconfig.d &&
   grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
 then
@@ -967,17 +971,17 @@
 
 ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
-echo "configure:971: checking for minix/config.h" >&5
+echo "configure:975: checking for minix/config.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 976 "configure"
+#line 980 "configure"
 #include "confdefs.h"
 #include <minix/config.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:981: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:985: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1016,57 +1020,15 @@
 
 
 ###    checks for header files
-for ac_hdr in \
-       termcap.h \
-       
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1026: 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 1031 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1036: \"$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
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
- 
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
 
 ###    checks for typedefs
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1065: checking for ANSI C header files" >&5
+echo "configure:1027: 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 1070 "configure"
+#line 1032 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1074,7 +1036,7 @@
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1040: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1091,7 +1053,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 1095 "configure"
+#line 1057 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1109,7 +1071,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 1113 "configure"
+#line 1075 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1130,7 +1092,7 @@
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1134 "configure"
+#line 1096 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1141,7 +1103,7 @@
 exit (0); }
 
 EOF
-if { (eval echo configure:1145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -1165,12 +1127,12 @@
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1169: checking for size_t" >&5
+echo "configure:1131: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1174 "configure"
+#line 1136 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1198,12 +1160,12 @@
 fi
 
 echo $ac_n "checking for time_t""... $ac_c" 1>&6
-echo "configure:1202: checking for time_t" >&5
+echo "configure:1164: checking for time_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1207 "configure"
+#line 1169 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1239,12 +1201,12 @@
        
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1243: checking for $ac_func" >&5
+echo "configure:1205: 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 1248 "configure"
+#line 1210 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1267,7 +1229,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:1271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -1295,7 +1257,7 @@
 if test ".$ac_cv_func_memmove" != .yes ; then
        if test $ac_cv_func_bcopy = yes ; then
                echo $ac_n "checking if bcopy does overlapping moves""... $ac_c" 1>&6
-echo "configure:1299: checking if bcopy does overlapping moves" >&5
+echo "configure:1261: checking if bcopy does overlapping moves" >&5
                if eval "test \"`echo '$''{'cf_cv_good_bcopy'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1304,7 +1266,7 @@
   cf_cv_good_bcopy=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 1308 "configure"
+#line 1270 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1317,7 +1279,7 @@
 }
                
 EOF
-if { (eval echo configure:1321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   cf_cv_good_bcopy=yes
 else
@@ -1351,41 +1313,22 @@
 
 
 echo $ac_n "checking for workable tgetent function""... $ac_c" 1>&6
-echo "configure:1355: checking for workable tgetent function" >&5
+echo "configure:1317: checking for workable tgetent function" >&5
 if eval "test \"`echo '$''{'cf_cv_func_tgetent'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cf_save_LIBS="$LIBS"
 cf_cv_func_tgetent=no
-for cf_termlib in termcap termlib curses
+cf_TERMLIB="termcap termlib ncurses curses"
+for cf_termlib in $cf_TERMLIB
 do
        LIBS="$cf_save_LIBS -l$cf_termlib"
        if test "$cross_compiling" = yes; then
-  echo trying link
-        cat > conftest.$ac_ext <<EOF
-#line 1368 "configure"
-#include "confdefs.h"
-
-int main() {
-tgetent(0, 0)
-; return 0; }
-EOF
-if { (eval echo configure:1375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  cf_cv_func_tgetent=$cf_termlib
-                break
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  echo link failed
-                LIBS="$cf_save_LIBS"
-fi
-rm -f conftest*
+  cf_cv_func_tgetent=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 1389 "configure"
+#line 1332 "configure"
 #include "confdefs.h"
 
 /* terminfo implementations ignore the buffer argument, making it useless for
@@ -1398,51 +1341,112 @@
        tgetent(buffer, "vt100");
        exit(buffer[0] == 0); }
 EOF
-if { (eval echo configure:1402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
-  cf_cv_func_tgetent=$cf_termlib
+  cf_cv_func_tgetent=yes
         break
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
   rm -fr conftest*
-  cat > conftest.$ac_ext <<EOF
-#line 1411 "configure"
+  cf_cv_func_tgetent=no
+fi
+rm -fr conftest*
+fi
+
+done
+# If there was no workable (termcap) version, maybe there is a terminfo version
+if test $cf_cv_func_tgetent = no ; then
+       for cf_termlib in $cf_TERMLIB
+       do
+               cat > conftest.$ac_ext <<EOF
+#line 1364 "configure"
 #include "confdefs.h"
 
 int main() {
 tgetent(0, 0)
 ; return 0; }
 EOF
-if { (eval echo configure:1418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
-  break
+  cf_cv_func_tgetent=$cf_termlib
+                        break
 else
   echo "configure: failed program was:" >&5
   cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  LIBS="$cf_save_LIBS"
 fi
 rm -f conftest*
+       done
 fi
-rm -fr conftest*
+
 fi
 
+echo "$ac_t""$cf_cv_func_tgetent" 1>&6
+# If we found any sort of tgetent, check for the termcap.h file.  If this is
+# linking against ncurses, we'll trigger the ifdef in resize.c that turns the
+# termcap stuff back off.
+if test $cf_cv_func_tgetent != no ; then
+       for ac_hdr in termcap.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1396: 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 1401 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1406: \"$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
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+ 
+else
+  echo "$ac_t""no" 1>&6
+fi
 done
 
-fi
+       if test $cf_cv_func_tgetent != yes ; then
+               cat >> confdefs.h <<\EOF
+#define USE_TERMINFO 1
+EOF
 
-echo "$ac_t""$cf_cv_func_tgetent" 1>&6
+       fi
+fi
 
 
 ###    checks for structures
 
 ###    checks for compiler characteristics
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1441: checking for working const" >&5
+echo "configure:1445: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1446 "configure"
+#line 1450 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1491,7 +1495,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:1495: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1499: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -1512,7 +1516,7 @@
 fi
 
 echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:1516: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:1520: checking for ${CC-cc} option to accept ANSI C" >&5
 if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1529,7 +1533,7 @@
 do
        CFLAGS="$cf_save_CFLAGS $cf_arg"
        cat > conftest.$ac_ext <<EOF
-#line 1533 "configure"
+#line 1537 "configure"
 #include "confdefs.h"
 
 #ifndef CC_HAS_PROTOS
@@ -1544,7 +1548,7 @@
 struct s2 {int (*f) (double a);};
 ; return 0; }
 EOF
-if { (eval echo configure:1548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ansi_cc="$cf_arg"; break
 else
@@ -1571,7 +1575,7 @@
 # Uses ac_ vars as temps to allow command line to override cache and checks.
 # --without-x overrides everything else, but does not touch the cache.
 echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:1575: checking for X" >&5
+echo "configure:1579: checking for X" >&5
 
 # Check whether --with-x or --without-x was given.
 if test "${with_x+set}" = set; then
@@ -1633,12 +1637,12 @@
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 1637 "configure"
+#line 1641 "configure"
 #include "confdefs.h"
 #include <$x_direct_test_include>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1642: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1646: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1707,14 +1711,14 @@
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1711 "configure"
+#line 1715 "configure"
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if { (eval echo configure:1718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   LIBS="$ac_save_LIBS"
 # We can link X programs with no special library path.
@@ -1820,17 +1824,17 @@
     case "`(uname -sr) 2>/dev/null`" in
     "SunOS 5"*)
       echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:1824: checking whether -R must be followed by a space" >&5
+echo "configure:1828: checking whether -R must be followed by a space" >&5
       ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
       cat > conftest.$ac_ext <<EOF
-#line 1827 "configure"
+#line 1831 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:1834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_R_nospace=yes
 else
@@ -1846,14 +1850,14 @@
       else
        LIBS="$ac_xsave_LIBS -R $x_libraries"
        cat > conftest.$ac_ext <<EOF
-#line 1850 "configure"
+#line 1854 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:1857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_R_space=yes
 else
@@ -1885,7 +1889,7 @@
     # libraries were built with DECnet support.  And karl@cs.umb.edu says
     # the Alpha needs dnet_stub (dnet does not exist).
     echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:1889: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:1893: checking for dnet_ntoa in -ldnet" >&5
 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1893,7 +1897,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1897 "configure"
+#line 1901 "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
@@ -1904,7 +1908,7 @@
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:1908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1912: \"$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
@@ -1926,7 +1930,7 @@
 
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
       echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:1930: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:1934: checking for dnet_ntoa in -ldnet_stub" >&5
 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1934,7 +1938,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet_stub  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1938 "configure"
+#line 1942 "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
@@ -1945,7 +1949,7 @@
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:1949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1953: \"$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
@@ -1974,12 +1978,12 @@
     # The nsl library prevents programs from opening the X display
     # on Irix 5.2, according to dickey@clark.net.
     echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:1978: checking for gethostbyname" >&5
+echo "configure:1982: checking for gethostbyname" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1983 "configure"
+#line 1987 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -2002,7 +2006,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2010: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
@@ -2023,7 +2027,7 @@
 
     if test $ac_cv_func_gethostbyname = no; then
       echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:2027: checking for gethostbyname in -lnsl" >&5
+echo "configure:2031: 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
@@ -2031,7 +2035,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2035 "configure"
+#line 2039 "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
@@ -2042,7 +2046,7 @@
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:2046: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2050: \"$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
@@ -2072,12 +2076,12 @@
     # -lsocket must be given before -lnsl if both are needed.
     # We assume that if connect needs -lnsl, so does gethostbyname.
     echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:2076: checking for connect" >&5
+echo "configure:2080: checking for connect" >&5
 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2081 "configure"
+#line 2085 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -2100,7 +2104,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_connect=yes"
 else
@@ -2121,7 +2125,7 @@
 
     if test $ac_cv_func_connect = no; then
       echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:2125: checking for connect in -lsocket" >&5
+echo "configure:2129: checking for connect in -lsocket" >&5
 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2129,7 +2133,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2133 "configure"
+#line 2137 "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
@@ -2140,7 +2144,7 @@
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:2144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2148: \"$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
@@ -2164,12 +2168,12 @@
 
     # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
     echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:2168: checking for remove" >&5
+echo "configure:2172: checking for remove" >&5
 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2173 "configure"
+#line 2177 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
@@ -2192,7 +2196,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2196: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_remove=yes"
 else
@@ -2213,7 +2217,7 @@
 
     if test $ac_cv_func_remove = no; then
       echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:2217: checking for remove in -lposix" >&5
+echo "configure:2221: checking for remove in -lposix" >&5
 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2221,7 +2225,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2225 "configure"
+#line 2229 "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
@@ -2232,7 +2236,7 @@
 remove()
 ; return 0; }
 EOF
-if { (eval echo configure:2236: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2240: \"$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
@@ -2256,12 +2260,12 @@
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:2260: checking for shmat" >&5
+echo "configure:2264: checking for shmat" >&5
 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2265 "configure"
+#line 2269 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
@@ -2284,7 +2288,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_shmat=yes"
 else
@@ -2305,7 +2309,7 @@
 
     if test $ac_cv_func_shmat = no; then
       echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:2309: checking for shmat in -lipc" >&5
+echo "configure:2313: checking for shmat in -lipc" >&5
 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2313,7 +2317,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lipc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2317 "configure"
+#line 2321 "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
@@ -2324,7 +2328,7 @@
 shmat()
 ; return 0; }
 EOF
-if { (eval echo configure:2328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2332: \"$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
@@ -2357,7 +2361,7 @@
   # libraries we check for below, so use a different variable.
   #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
   echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:2361: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:2365: checking for IceConnectionNumber in -lICE" >&5
 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2365,7 +2369,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lICE  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2369 "configure"
+#line 2373 "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
@@ -2376,7 +2380,7 @@
 IceConnectionNumber()
 ; return 0; }
 EOF
-if { (eval echo configure:2380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2384: \"$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
@@ -2406,7 +2410,7 @@
 
 
 echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:2410: checking for XOpenDisplay in -lX11" >&5
+echo "configure:2414: checking for XOpenDisplay in -lX11" >&5
 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2414,7 +2418,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2418 "configure"
+#line 2422 "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
@@ -2425,7 +2429,7 @@
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:2429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2433: \"$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
@@ -2446,7 +2450,7 @@
 fi
 
 echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6
-echo "configure:2450: checking for XtAppInitialize in -lXt" >&5
+echo "configure:2454: checking for XtAppInitialize in -lXt" >&5
 ac_lib_var=`echo Xt'_'XtAppInitialize | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2454,7 +2458,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2458 "configure"
+#line 2462 "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
@@ -2465,7 +2469,7 @@
 XtAppInitialize()
 ; return 0; }
 EOF
-if { (eval echo configure:2469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2473: \"$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
@@ -2497,17 +2501,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2501: checking for $ac_hdr" >&5
+echo "configure:2505: 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 2506 "configure"
+#line 2510 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2515: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2534,7 +2538,7 @@
 done
 
 echo $ac_n "checking for XmuClientWindow in -lXmu""... $ac_c" 1>&6
-echo "configure:2538: checking for XmuClientWindow in -lXmu" >&5
+echo "configure:2542: checking for XmuClientWindow in -lXmu" >&5
 ac_lib_var=`echo Xmu'_'XmuClientWindow | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2542,7 +2546,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXmu  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2546 "configure"
+#line 2550 "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
@@ -2553,7 +2557,7 @@
 XmuClientWindow()
 ; return 0; }
 EOF
-if { (eval echo configure:2557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2561: \"$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
@@ -2581,7 +2585,7 @@
 fi
 
 echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6
-echo "configure:2585: checking for XextCreateExtension in -lXext" >&5
+echo "configure:2589: checking for XextCreateExtension in -lXext" >&5
 ac_lib_var=`echo Xext'_'XextCreateExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2589,7 +2593,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXext  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2593 "configure"
+#line 2597 "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
@@ -2600,7 +2604,7 @@
 XextCreateExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:2604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2608: \"$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
@@ -2621,7 +2625,7 @@
 fi
 
 echo $ac_n "checking for XawSimpleMenuAddGlobalActions in -lXaw""... $ac_c" 1>&6
-echo "configure:2625: checking for XawSimpleMenuAddGlobalActions in -lXaw" >&5
+echo "configure:2629: checking for XawSimpleMenuAddGlobalActions in -lXaw" >&5
 ac_lib_var=`echo Xaw'_'XawSimpleMenuAddGlobalActions | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2629,7 +2633,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXaw $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2633 "configure"
+#line 2637 "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
@@ -2640,7 +2644,7 @@
 XawSimpleMenuAddGlobalActions()
 ; return 0; }
 EOF
-if { (eval echo configure:2644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2648: \"$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
@@ -2667,7 +2671,7 @@
 LIBS="$LIBS $X_EXTRA_LIBS"
 
 echo $ac_n "checking if we should use imake to help""... $ac_c" 1>&6
-echo "configure:2671: checking if we should use imake to help" >&5
+echo "configure:2675: checking if we should use imake to help" >&5
 # Check whether --enable-imake or --disable-imake was given.
 if test "${enable_imake+set}" = set; then
   enableval="$enable_imake"
@@ -2692,7 +2696,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:2696: checking for $ac_word" >&5
+echo "configure:2700: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_IMAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2770,7 +2774,7 @@
 # macros do not work well enough to actually use the Makefile for a build, but
 # the definitions are usable (probably).
 echo $ac_n "checking for compiler options known to imake""... $ac_c" 1>&6
-echo "configure:2774: checking for compiler options known to imake" >&5
+echo "configure:2778: checking for compiler options known to imake" >&5
 if eval "test \"`echo '$''{'cf_cv_imake_cflags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2816,7 +2820,7 @@
 
 
 echo $ac_n "checking for default terminal-id""... $ac_c" 1>&6
-echo "configure:2820: checking for default terminal-id" >&5
+echo "configure:2824: checking for default terminal-id" >&5
 # Check whether --with-terminal-id or --without-terminal-id was given.
 if test "${with_terminal_id+set}" = set; then
   withval="$with_terminal_id"
@@ -2837,7 +2841,7 @@
 
 ###    checks for optional features
 echo $ac_n "checking if you want ANSI color""... $ac_c" 1>&6
-echo "configure:2841: checking if you want ANSI color" >&5
+echo "configure:2845: checking if you want ANSI color" >&5
 # Check whether --enable-ansi-color or --disable-ansi-color was given.
 if test "${enable_ansi_color+set}" = set; then
   enableval="$enable_ansi_color"
@@ -2859,9 +2863,54 @@
 EOF
 
 
+echo $ac_n "checking if you want 16 colors like aixterm""... $ac_c" 1>&6
+echo "configure:2868: checking if you want 16 colors like aixterm" >&5
+# Check whether --enable-16-color or --disable-16-color was given.
+if test "${enable_16_color+set}" = set; then
+  enableval="$enable_16_color"
+  test "$enableval" != no && enableval=yes
+  if test "$enableval" != "yes" ; then
+    enable_16_color=no 
+  else
+    enable_16_color=yes
+  fi
+else
+  enableval=yes 
+  enable_16_color=yes
+  
+fi
+
+echo "$ac_t""$enable_ansi_color" 1>&6
+test $enable_16_color = no && cat >> confdefs.h <<\EOF
+#define OPT_AIX_COLORS 0
+EOF
+
+
+echo $ac_n "checking for default color-mode""... $ac_c" 1>&6
+echo "configure:2891: checking for default color-mode" >&5
+# Check whether --enable-color-mode or --disable-color-mode was given.
+if test "${enable_color_mode+set}" = set; then
+  enableval="$enable_color_mode"
+  test "$enableval" != yes && enableval=no
+  if test "$enableval" != "no" ; then
+    default_colormode=$withval 
+  else
+    default_colormode=FALSE
+  fi
+else
+  enableval=no 
+  default_colormode=FALSE
+  
+fi
+
+echo "$ac_t""$default_colormode" 1>&6
+cat >> confdefs.h <<EOF
+#define DFT_COLORMODE $default_colormode
+EOF
+
 
 echo $ac_n "checking if you want debugging traces""... $ac_c" 1>&6
-echo "configure:2865: checking if you want debugging traces" >&5
+echo "configure:2914: checking if you want debugging traces" >&5
 # Check whether --enable-trace or --disable-trace was given.
 if test "${enable_trace+set}" = set; then
   enableval="$enable_trace"
@@ -2888,7 +2937,7 @@
 fi
 
 echo $ac_n "checking if you want VT52 emulation""... $ac_c" 1>&6
-echo "configure:2892: checking if you want VT52 emulation" >&5
+echo "configure:2941: checking if you want VT52 emulation" >&5
 # Check whether --enable-vt52 or --disable-vt52 was given.
 if test "${enable_vt52+set}" = set; then
   enableval="$enable_vt52"
@@ -2912,7 +2961,7 @@
 
 if test -n "$GCC" ; then
 echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6
-echo "configure:2916: checking if you want to turn on gcc warnings" >&5
+echo "configure:2965: checking if you want to turn on gcc warnings" >&5
 # Check whether --enable-warnings or --disable-warnings was given.
 if test "${enable_warnings+set}" = set; then
   enableval="$enable_warnings"
@@ -2951,9 +3000,9 @@
 if test -n "$GCC"
 then
        echo "checking for gcc __attribute__ directives" 1>&6
-echo "configure:2955: checking for gcc __attribute__ directives" >&5
+echo "configure:3004: checking for gcc __attribute__ directives" >&5
        cat > conftest.$ac_ext <<EOF
-#line 2957 "configure"
+#line 3006 "configure"
 #include "confdefs.h"
 #include "conftest.h"
 #include "conftest.i"
@@ -2991,7 +3040,7 @@
 EOF
                        ;;
                esac
-               if { (eval echo configure:2995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+               if { (eval echo configure:3044: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
                        test -n "$verbose" && echo "$ac_t""... $cf_attribute" 1>&6
                        cat conftest.h >>confdefs.h
 #              else
@@ -3005,11 +3054,11 @@
 
 
                cat > conftest.$ac_ext <<EOF
-#line 3009 "configure"
+#line 3058 "configure"
 int main(int argc, char *argv[]) { return argv[argc-1] == 0; }
 EOF
                echo "checking for gcc warning options" 1>&6
-echo "configure:3013: checking for gcc warning options" >&5
+echo "configure:3062: checking for gcc warning options" >&5
        cf_save_CFLAGS="$CFLAGS"
        cf_warn_CFLAGS="-W -Wall"
        for cf_opt in \
@@ -3025,7 +3074,7 @@
                Wstrict-prototypes
        do
                CFLAGS="$cf_save_CFLAGS $cf_warn_CFLAGS -$cf_opt"
-               if { (eval echo configure:3029: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+               if { (eval echo configure:3078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
                        test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
                        cf_warn_CFLAGS="$cf_warn_CFLAGS -$cf_opt"
                        test "$cf_opt" = Wcast-qual && cf_warn_CFLAGS="$cf_warn_CFLAGS -DXTSTRINGDEFINES"
diff -u -r XFree86-3.2Xl/xc/programs/xterm/configure.in XFree86-3.2Xl-patch/xc/programs/xterm/configure.in
--- XFree86-3.2Xl/xc/programs/xterm/configure.in        Fri May 23 14:31:46 1997
+++ XFree86-3.2Xl-patch/xc/programs/xterm/configure.in  Sat May 24 12:28:29 1997
@@ -45,9 +45,6 @@
 AC_MINIX
 
 ###    checks for header files
-AC_CHECK_HEADERS( \
-       termcap.h \
-       )
 
 ###    checks for typedefs
 AC_TYPE_SIZE_T
@@ -111,13 +108,21 @@
 AC_MSG_RESULT($enable_ansi_color)
 test $enable_ansi_color = no && AC_DEFINE(OPT_ISO_COLORS,0)
 
-dnl AC_MSG_CHECKING(for default terminal-id)
-dnl CF_ARG_ENABLE(color-mode,
-dnl    [  --enable-color-mode     set default colorMode resource ],
-dnl    [default_colormode=$withval],
-dnl    [default_colormode=vt100])
-dnl AC_MSG_RESULT($default_colormode)
-dnl AC_DEFINE(DFT_COLORMODE,$default_colormode)
+AC_MSG_CHECKING(if you want 16 colors like aixterm)
+CF_ARG_DISABLE(16-color,
+       [  --disable-16-color      disable 16-color support],
+       [enable_16_color=no],
+       [enable_16_color=yes])
+AC_MSG_RESULT($enable_ansi_color)
+test $enable_16_color = no && AC_DEFINE(OPT_AIX_COLORS,0)
+
+AC_MSG_CHECKING(for default color-mode)
+CF_ARG_ENABLE(color-mode,
+       [  --enable-color-mode     set default colorMode resource ],
+       [default_colormode=$withval],
+       [default_colormode=FALSE])
+AC_MSG_RESULT($default_colormode)
+AC_DEFINE_UNQUOTED(DFT_COLORMODE,$default_colormode)
 
 AC_MSG_CHECKING(if you want debugging traces)
 CF_ARG_ENABLE(trace,
diff -u -r XFree86-3.2Xl/xc/programs/xterm/ptyx.h XFree86-3.2Xl-patch/xc/programs/xterm/ptyx.h
--- XFree86-3.2Xl/xc/programs/xterm/ptyx.h      Fri May 23 14:31:46 1997
+++ XFree86-3.2Xl-patch/xc/programs/xterm/ptyx.h        Sat May 24 12:13:52 1997
@@ -288,18 +288,28 @@
 
 /***====================================================================***/
 
-#ifndef OPT_ISO_COLORS
-#define OPT_ISO_COLORS  1 /* true if xterm is configured with ISO colors */
+#ifndef OPT_AIX_COLORS
+#define OPT_AIX_COLORS  1 /* true if xterm is configured with AIX (16) colors */
 #endif
 
 #define OPT_BLINK_CURS  0 /* FIXME: do this later (96/7/31) */
 
+#ifndef OPT_ISO_COLORS
+#define OPT_ISO_COLORS  1 /* true if xterm is configured with ISO colors */
+#endif
+
 #ifndef OPT_VT52_MODE
 #define OPT_VT52_MODE   1 /* true if xterm supports VT52 emulation */
 #endif
 
 /***====================================================================***/
 
+#if OPT_AIX_COLORS && !OPT_ISO_COLORS
+fixme: You must have ANSI/ISO colors to support AIX colors
+#endif
+
+/***====================================================================***/
+
 #if OPT_ISO_COLORS
 #define if_OPT_ISO_COLORS(screen, code) if(screen->colorMode) code
 #define TERM_COLOR_FLAGS (term->flags & (FG_COLOR|BG_COLOR))
@@ -322,10 +332,19 @@
 #define COLOR_15       15
 #define COLOR_BD       16
 #define COLOR_UL       17
+#ifndef DFT_COLORMODE
+#define DFT_COLORMODE FALSE    /* default colorMode resource */
+#endif
 #else
 #define if_OPT_ISO_COLORS(screen, code) /* nothing */
 #define TERM_COLOR_FLAGS 0
 #endif /* OPT_ISO_COLORS */
+
+#if OPT_AIX_COLORS
+#define if_OPT_AIX_COLORS(screen, code) if(screen->colorMode) code
+#else
+#define if_OPT_AIX_COLORS(screen, code) /* nothing */
+#endif
 
        /* the number of pointers per row in 'ScrnBuf' */
 #if OPT_ISO_COLORS
diff -u -r XFree86-3.2Xl/xc/programs/xterm/resize.c XFree86-3.2Xl-patch/xc/programs/xterm/resize.c
--- XFree86-3.2Xl/xc/programs/xterm/resize.c    Sat May 24 16:06:53 1997
+++ XFree86-3.2Xl-patch/xc/programs/xterm/resize.c      Sat May 24 12:13:52 1997
@@ -245,11 +245,11 @@
 static char *strindex PROTO((char *s1, char *s2));
 #if !defined(NO_TERMCAP_H)
 #include <termcap.h>
-#if defined(linux) && defined(NCURSES_VERSION)
-                               /* The tgetent emulation function in
-                                   ncurses (1.9.9e) ignores the buffer, so
-                                   TERMCAP can't be set from it.  Instead,
-                                   just use terminfo. */
+#if defined(NCURSES_VERSION)
+       /* The tgetent emulation function in SVr4-style curses implementations
+        * (e.g., ncurses) ignores the buffer, so TERMCAP can't be set from it. 
+        * Instead, just use terminfo.
+        */
 #undef USE_TERMCAP
 #include <curses.h>
 #endif
@@ -377,6 +377,7 @@
            else
                setname = "setenv TERM xterm;\n";
        }
+       termcap[0] = 0; /* ...just in case we've accidentally gotten terminfo */
        if(tgetent (termcap, env) <= 0) {
            fprintf(stderr, "%s: Can't get entry \"%s\"\n",
                    myname, env);
diff -u -r XFree86-3.2Xl/xc/programs/xterm/terminfo XFree86-3.2Xl-patch/xc/programs/xterm/terminfo
--- XFree86-3.2Xl/xc/programs/xterm/terminfo    Wed Jan  8 18:18:35 1997
+++ XFree86-3.2Xl-patch/xc/programs/xterm/terminfo      Sat May 24 12:13:52 1997
@@ -168,6 +168,22 @@
        rep=%p1%c\E[%p2%{1}%-%db,
        use=xterm,
 #
+# Foreground 0-15 maps (with toggles) into 30-37 & 90-97
+# Background 0-15 maps (with toggles) into 40-47 & 100-107
+# We should not have to suppress setaf/setab, however ncurses selects these
+# if they're set, ignoring setf/setb (will be fixed in 4.2).  SVr4 curses
+# does not use more than 8 colors anyway, so using 16 colors is either for
+# terminfo-level applications or via ncurses.
+xterm-16color|xterm with 16 colors,
+       colors#16,
+       ncv#32,
+       pairs#256,
+       setab@,
+       setaf@,
+       setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m,
+       setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m,
+       use=xterm,
+#
 # Compatible with the R6 xterm
 xterm-r6|xterm-old|xterm X11R6 version,
        am,
diff -u -r XFree86-3.2Xl/xc/programs/xterm/xtermcfg.hin XFree86-3.2Xl-patch/xc/programs/xterm/xtermcfg.hin
--- XFree86-3.2Xl/xc/programs/xterm/xtermcfg.hin        Fri May 23 14:31:46 1997
+++ XFree86-3.2Xl-patch/xc/programs/xterm/xtermcfg.hin  Sat May 24 13:33:13 1997
@@ -30,14 +30,17 @@
 /* This is a template for <xtermcfg.h> */
 
 #undef CC_HAS_PROTOS   /* CF_ANSI_CC */
+#undef DFT_COLORMODE   /* AC_ARG_WITH(default-color-mode) */
 #undef DFT_DECID       /* AC_ARG_WITH(default-terminal-id) */
 #undef HAVE_STRERROR   /* AC_CHECK_FUNCS(strerror) */
 #undef HAVE_TERMCAP_H  /* AC_CHECK_HEADERS(termcap.h) */
+#undef OPT_AIX_COLORS  /* CF_ARG_DISABLE(16-color) */
 #undef OPT_ISO_COLORS  /* CF_ARG_DISABLE(ansi-color) */
 #undef OPT_TRACE       /* CF_ARG_ENABLE(trace) */
 #undef OPT_VT52_MODE   /* CF_ARG_DISABLE(vt52) */
 #undef USE_MY_MEMMOVE  /* CF_FUNC_MEMMOVE */
 #undef USE_OK_BCOPY    /* CF_FUNC_MEMMOVE */
+#undef USE_TERMINFO    /* CF_FUNC_TGETENT */
 #undef const           /* AC_CONST */
 #undef size_t          /* AC_TYPE_SIZE_T */
 #undef time_t          /* AC_CHECK_TYPE(time_t, long) */