xterm-73.patch.txt

XFree86 3.9Ag - xterm patch #73 - 1998/4/25 - T.Dickey <dickey@clark.net>
 
This patch does the following:
 
        + implements a print-window facility for xterm.  Though useful in
          itself, I added it as part of some debugging which I am doing.
          (Occasionally during an exposure event xterm fails to restore the
          proper colors for highlighted text, and printing the screen will
          show the internal states nicely).
 
          The print facility now also displays the color information.
          (I will probably make this a resource).
 
        + modified the xterm-16color terminfo description to use the setaf and
          setab strings, which is a little more efficient (requested by Stephen
          Marley).
 
        + reduced some clutter of the ifdef/includes (e.g., stdlib.h, unistd.h,
          errno) making the configure script test for these.
 
          I removed the symbols Size_t and Time_t, since they no longer serve
          a useful purpose.
 
        + added some debugging traces to show the initial screen size,
          and the success/failure of the ioctl calls pass handle window
          resizing events to the application (for Clint Olsen).
 
          I also modified the trace code to produce two files since some
          of the information is produced by the child process.  So now
          they are Trace-parent.out and Trace-child.out
 
        + updated configure test for ANSI compiler options to handle a
          special case for HP-UX 10.x (reported by Clint Olsen).
 
# ------------------------------------------------------------------------------
#  Tekproc.c      |   15 -
#  XTerm.ad       |    1 
#  aclocal.m4     |   78 +++++++
#  button.c       |    6 
#  charproc.c     |   74 +++---
#  configure      |  585 ++++++++++++++++++++++++++++++++-----------------------
#  configure.in   |    9 
#  data.h         |    5 
#  input.c        |    2 
#  main.c         |   55 ++---
#  menu.c         |   29 ++
#  menu.h         |    7 
#  misc.c         |   20 -
#  os2main.c      |   14 -
#  print.c        |   64 ++++--
#  proto.h        |    7 
#  ptyx.h         |   18 +
#  resize.c       |    2 
#  screen.c       |   21 -
#  scrollbar.c    |    7 
#  terminfo       |   30 +-
#  testxmc.c      |    6 
#  trace.c        |    6 
#  trace.h        |    3 
#  util.c         |    6 
#  version.h      |    2 
#  xterm.h        |   34 ++-
#  xterm.log.html |   36 +++
#  xterm.man      |    7 
#  xtermcfg.hin   |   15 +
#  30 files changed, 717 insertions, 447 deletions
# ------------------------------------------------------------------------------
Index: Tekproc.c
--- xterm-72+/Tekproc.c Mon Mar 23 00:53:54 1998
+++ xterm-73/Tekproc.c  Sat Apr 25 11:05:34 1998
@@ -71,7 +71,6 @@
 
 #include <stdio.h>
 #include <ctype.h>
-#include <errno.h>
 #include <setjmp.h>
 #include <signal.h>
 
@@ -83,12 +82,9 @@
 #include "menu.h"
 
 #ifdef X_NOT_STDC_ENV
-extern int errno;
-#define Time_t long
-extern Time_t time ();
+extern time_t time ();
 #else
 #include <time.h>
-#define Time_t time_t
 #endif
 
 #ifdef MINIX
@@ -116,13 +112,6 @@
 
 extern jmp_buf Tekend;
 
-#ifndef X_NOT_STDC_ENV
-#include <stdlib.h>
-#else
-extern char *malloc();
-extern long time();            /* included in <time.h> by Xos.h */
-#endif
-
 #define DefaultGCID XGContextFromGC(DefaultGC(screen->display, DefaultScreen(screen->display)))
 
 /* Tek defines */
@@ -1728,7 +1717,7 @@
 {
        register TScreen *screen = &term->screen;
        register struct tm *tp;
-       Time_t l;
+       time_t l;
        char buf[32];
        int pid;
 #ifndef HAVE_WAITPID
Index: XTerm.ad
--- xterm-72+/XTerm.ad  Tue Oct 14 21:40:58 1997
+++ xterm-73/XTerm.ad   Fri Apr 24 05:57:55 1998
@@ -19,6 +19,7 @@
 *mainMenu*securekbd*Label:  Secure Keyboard
 *mainMenu*allowsends*Label:  Allow SendEvents
 *mainMenu*logging*Label:  Log to File
+*mainMenu*print*Label:  Print Window
 *mainMenu*redraw*Label:  Redraw Window
 *mainMenu*8-bit control*Label: 8-Bit Controls
 *mainMenu*backarrow key*Label: Backarrow Key
Index: aclocal.m4
--- xterm-72+/aclocal.m4        Sat Mar 28 07:19:24 1998
+++ xterm-73/aclocal.m4 Sat Apr 25 10:58:06 1998
@@ -41,7 +41,13 @@
 # HP-UX                        -Aa -D_HPUX_SOURCE
 # SVR4                 -Xc
 # UnixWare 1.2         (cannot use -Xc, since ANSI/POSIX clashes)
-for cf_arg in "-DCC_HAS_PROTOS" "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xc
+for cf_arg in "-DCC_HAS_PROTOS" \
+       "" \
+       -qlanglvl=ansi \
+       -std1 \
+       "-Aa -D_HPUX_SOURCE +e" \
+       "-Aa -D_HPUX_SOURCE" \
+       -Xc
 do
        CFLAGS="$cf_save_CFLAGS $cf_arg"
        AC_TRY_COMPILE(
@@ -127,6 +133,50 @@
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl Check for data that is usually declared in <stdio.h> or <errno.h>
+dnl $1 = the name to check
+AC_DEFUN([CF_CHECK_ERRNO],
+[
+AC_MSG_CHECKING([declaration of $1])
+AC_CACHE_VAL(cf_cv_dcl_$1,[
+    AC_TRY_COMPILE([
+#if HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#include <stdio.h>
+#include <sys/types.h>
+#include <errno.h> ],
+    [long x = (long) $1],
+    [eval 'cf_cv_dcl_'$1'=yes'],
+    [eval 'cf_cv_dcl_'$1'=no]')])
+eval 'cf_result=$cf_cv_dcl_'$1
+AC_MSG_RESULT($cf_result)
+
+# It's possible (for near-UNIX clones) that the data doesn't exist
+AC_CACHE_VAL(cf_cv_have_$1,[
+if test $cf_result = no ; then
+    eval 'cf_result=DECL_'$1
+    CF_UPPER(cf_result,$cf_result)
+    AC_DEFINE_UNQUOTED($cf_result)
+    AC_MSG_CHECKING([existence of $1])
+        AC_TRY_LINK([
+#undef $1
+extern long $1;
+],
+            [$1 = 2],
+            [eval 'cf_cv_have_'$1'=yes'],
+            [eval 'cf_cv_have_'$1'=no'])
+        eval 'cf_result=$cf_cv_have_'$1
+        AC_MSG_RESULT($cf_result)
+else
+    eval 'cf_cv_have_'$1'=yes'
+fi
+])
+eval 'cf_result=HAVE_'$1
+CF_UPPER(cf_result,$cf_result)
+eval 'test $cf_cv_have_'$1' = yes && AC_DEFINE_UNQUOTED($cf_result)'
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl You can always use "make -n" to see the actual options, but it's hard to
 dnl pick out/analyze warning messages when the compile-line is long.
 dnl
@@ -158,6 +208,12 @@
 AC_SUBST(ECHO_CC)
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl Check if 'errno' is declared in <errno.h>
+AC_DEFUN([CF_ERRNO],
+[
+CF_CHECK_ERRNO(errno)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl Check for memmove, or a bcopy that can handle overlapping copy.  If neither
 dnl is found, add our own version of memmove to the list of objects.
 AC_DEFUN([CF_FUNC_MEMMOVE],
@@ -485,6 +541,26 @@
        fi
 fi
 AC_SUBST(IMAKE_CFLAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl    On both Ultrix and CLIX, I find size_t defined in <stdio.h>
+AC_DEFUN([CF_SIZE_T],
+[
+AC_MSG_CHECKING(for size_t in <sys/types.h> or <stdio.h>)
+AC_CACHE_VAL(cf_cv_type_size_t,[
+       AC_TRY_COMPILE([
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#include <stdio.h>],
+               [size_t x],
+               [cf_cv_type_size_t=yes],
+               [cf_cv_type_size_t=no])
+       ])
+AC_MSG_RESULT($cf_cv_type_size_t)
+test $cf_cv_type_size_t = no && AC_DEFINE(size_t, unsigned)
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Check for the declaration of fd_set.  Some platforms declare it in
Index: button.c
--- xterm-72+/button.c  Sun Jan 11 11:57:36 1998
+++ xterm-73/button.c   Sat Apr 25 09:33:42 1998
@@ -38,12 +38,6 @@
 
 #include <X11/Xatom.h>
 
-#ifndef X_NOT_STDC_ENV
-#include <stdlib.h>
-#else
-extern char *malloc();
-#endif
-
 #include <stdio.h>
 
 #ifdef MINIX
Index: charproc.c
--- xterm-72+/charproc.c        Fri Apr 17 19:33:16 1998
+++ xterm-73/charproc.c Sat Apr 25 10:51:07 1998
@@ -73,7 +73,6 @@
 #endif
 
 #include <stdio.h>
-#include <errno.h>
 #include <setjmp.h>
 #include <ctype.h>
 
@@ -90,14 +89,8 @@
 #include "error.h"
 #include "menu.h"
 #include "main.h"
+#include "xterm.h"
 
-#ifndef X_NOT_STDC_ENV
-#include <stdlib.h>
-#else
-extern char *malloc();
-extern char *realloc();
-extern void exit();
-#endif
 #ifndef NO_ACTIVE_ICON
 #include <X11/Shell.h>
 #endif /* NO_ACTIVE_ICON */
@@ -117,8 +110,6 @@
 #endif
 #endif
 
-#include "xterm.h"
-
 extern jmp_buf VTend;
 extern XtermWidget term;
 extern Widget toplevel;
@@ -411,42 +402,43 @@
 ";
 
 static XtActionsRec actionsList[] = {
-    { "bell",            HandleBell },
-    { "create-menu",     HandleCreateMenu },
-    { "ignore",                  HandleIgnore },
-    { "insert",                  HandleKeyPressed },  /* alias for insert-seven-bit */
-    { "insert-seven-bit", HandleKeyPressed },
-    { "insert-eight-bit", HandleEightBitKeyPressed },
-    { "insert-selection", HandleInsertSelection },
-    { "keymap",          HandleKeymapChange },
-    { "popup-menu",      HandlePopupMenu },
-    { "secure",                  HandleSecure },
-    { "select-start",    HandleSelectStart },
-    { "select-extend",   HandleSelectExtend },
-    { "select-end",      HandleSelectEnd },
-    { "select-set",      HandleSelectSet },
-    { "select-cursor-start",     HandleKeyboardSelectStart },
-    { "select-cursor-end",       HandleKeyboardSelectEnd },
-    { "set-vt-font",     HandleSetFont },
-    { "start-extend",    HandleStartExtend },
-    { "start-cursor-extend",     HandleKeyboardStartExtend },
-    { "string",                  HandleStringEvent },
-    { "scroll-forw",     HandleScrollForward },
-    { "scroll-back",     HandleScrollBack },
+    { "bell",                  HandleBell },
+    { "create-menu",           HandleCreateMenu },
+    { "ignore",                HandleIgnore },
+    { "insert",                HandleKeyPressed },  /* alias for insert-seven-bit */
+    { "insert-seven-bit",      HandleKeyPressed },
+    { "insert-eight-bit",      HandleEightBitKeyPressed },
+    { "insert-selection",      HandleInsertSelection },
+    { "keymap",                HandleKeymapChange },
+    { "popup-menu",            HandlePopupMenu },
+    { "secure",                HandleSecure },
+    { "select-start",          HandleSelectStart },
+    { "select-extend",         HandleSelectExtend },
+    { "select-end",            HandleSelectEnd },
+    { "select-set",            HandleSelectSet },
+    { "select-cursor-start",   HandleKeyboardSelectStart },
+    { "select-cursor-end",     HandleKeyboardSelectEnd },
+    { "set-vt-font",           HandleSetFont },
+    { "start-extend",          HandleStartExtend },
+    { "start-cursor-extend",   HandleKeyboardStartExtend },
+    { "string",                HandleStringEvent },
+    { "scroll-forw",           HandleScrollForward },
+    { "scroll-back",           HandleScrollBack },
     /* menu actions */
     { "allow-send-events",     HandleAllowSends },
     { "set-visual-bell",       HandleSetVisualBell },
 #ifdef ALLOWLOGGING
     { "set-logging",           HandleLogging },
 #endif
-    { "redraw",                        HandleRedraw },
+    { "print",                         HandlePrint },
+    { "redraw",                HandleRedraw },
     { "send-signal",           HandleSendSignal },
     { "quit",                  HandleQuit },
     { "set-8-bit-control",     Handle8BitControl },
     { "set-backarrow",         HandleBackarrow },
     { "set-sun-function-keys", HandleSunFunctionKeys },
     { "set-scrollbar",         HandleScrollbar },
-    { "set-jumpscroll",                HandleJumpscroll },
+    { "set-jumpscroll",        HandleJumpscroll },
     { "set-reverse-video",     HandleReverseVideo },
     { "set-autowrap",          HandleAutoWrap },
     { "set-reversewrap",       HandleReverseWrap },
@@ -454,17 +446,17 @@
     { "set-appcursor",         HandleAppCursor },
     { "set-appkeypad",         HandleAppKeypad },
     { "set-scroll-on-key",     HandleScrollKey },
-    { "set-scroll-on-tty-output",      HandleScrollTtyOutput },
+    { "set-scroll-on-tty-output", HandleScrollTtyOutput },
     { "set-allow132",          HandleAllow132 },
-    { "set-cursesemul",                HandleCursesEmul },
-    { "set-marginbell",                HandleMarginBell },
+    { "set-cursesemul",        HandleCursesEmul },
+    { "set-marginbell",        HandleMarginBell },
     { "set-altscreen",         HandleAltScreen },
     { "soft-reset",            HandleSoftReset },
     { "hard-reset",            HandleHardReset },
     { "clear-saved-lines",     HandleClearSavedLines },
 #if OPT_TEK4014
     { "set-terminal-type",     HandleSetTerminalType },
-    { "set-visibility",                HandleVisibility },
+    { "set-visibility",        HandleVisibility },
     { "set-tek-text",          HandleSetTekText },
     { "tek-page",              HandleTekPage },
     { "tek-reset",             HandleTekReset },
@@ -981,7 +973,7 @@
 {
        /* Buffer for processing strings (e.g., OSC ... ST) */
        static Char *string_area;
-       static Size_t string_size, string_used;
+       static size_t string_size, string_used;
 
 #if OPT_VT52_MODE
        static Bool vt52_cup = FALSE;
@@ -2630,7 +2622,7 @@
             { XtNiconName, (XtArgVal) &icon_name }
     };
 
-    TRACE((stderr,"HandleMapUnmap event %d\n", event->type))
+    TRACE(("event %d\n", event->type))
 
     switch( event->type ){
     case MapNotify:
@@ -3425,7 +3417,7 @@
 SwitchBufPtrs(screen)
     register TScreen *screen;
 {
-    Size_t len = ScrnPointers(screen, screen->max_row + 1);
+    size_t len = ScrnPointers(screen, screen->max_row + 1);
 
     memcpy ( (char *)screen->save_ptr, (char *)screen->visbuf,   len);
     memcpy ( (char *)screen->visbuf,   (char *)screen->altbuf,   len);
Index: configure
--- xterm-72+/configure Fri Apr 17 20:36:12 1998
+++ xterm-73/configure  Sat Apr 25 10:58:18 1998
@@ -1061,15 +1061,95 @@
 
 
 ###    checks for header files
+for ac_hdr in stdlib.h unistd.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1069: 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 1074 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1079: \"$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 size_t in <sys/types.h> or <stdio.h>""... $ac_c" 1>&6
+echo "configure:1109: checking for size_t in <sys/types.h> or <stdio.h>" >&5
+if eval "test \"`echo '$''{'cf_cv_type_size_t'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+       cat > conftest.$ac_ext <<EOF
+#line 1115 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#include <stdio.h>
+int main() {
+size_t x
+; return 0; }
+EOF
+if { (eval echo configure:1128: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  cf_cv_type_size_t=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  cf_cv_type_size_t=no
+fi
+rm -f conftest*
+       
+fi
+
+echo "$ac_t""$cf_cv_type_size_t" 1>&6
+test $cf_cv_type_size_t = no && cat >> confdefs.h <<\EOF
+#define size_t unsigned
+EOF
+
+
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1068: checking for ANSI C header files" >&5
+echo "configure:1148: 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 1073 "configure"
+#line 1153 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1077,7 +1157,7 @@
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1161: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1094,7 +1174,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 1098 "configure"
+#line 1178 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1112,7 +1192,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 1116 "configure"
+#line 1196 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1133,7 +1213,7 @@
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1137 "configure"
+#line 1217 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1144,7 +1224,7 @@
 exit (0); }
 
 EOF
-if { (eval echo configure:1148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -1167,46 +1247,13 @@
 
 fi
 
-echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1172: 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 1177 "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 "size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
-  rm -rf conftest*
-  ac_cv_type_size_t=yes
-else
-  rm -rf conftest*
-  ac_cv_type_size_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_size_t" 1>&6
-if test $ac_cv_type_size_t = no; then
-  cat >> confdefs.h <<\EOF
-#define size_t unsigned
-EOF
-
-fi
-
 echo $ac_n "checking for time_t""... $ac_c" 1>&6
-echo "configure:1205: checking for time_t" >&5
+echo "configure:1252: 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 1210 "configure"
+#line 1257 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1243,12 +1290,12 @@
        
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1247: checking for $ac_func" >&5
+echo "configure:1294: 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 1252 "configure"
+#line 1299 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1271,7 +1318,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:1275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -1299,7 +1346,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:1303: checking if bcopy does overlapping moves" >&5
+echo "configure:1350: 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
@@ -1308,7 +1355,7 @@
   cf_cv_good_bcopy=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 1312 "configure"
+#line 1359 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1321,7 +1368,7 @@
 }
                
 EOF
-if { (eval echo configure:1325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   cf_cv_good_bcopy=yes
 else
@@ -1355,7 +1402,7 @@
 
 
 echo $ac_n "checking for full tgetent function""... $ac_c" 1>&6
-echo "configure:1359: checking for full tgetent function" >&5
+echo "configure:1406: checking for full tgetent function" >&5
 if eval "test \"`echo '$''{'cf_cv_lib_tgetent'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1369,7 +1416,7 @@
   echo "cross-compiling, cannot verify if a termcap/tgetent is present in $cf_termlib" 1>&5
 else
   cat > conftest.$ac_ext <<EOF
-#line 1373 "configure"
+#line 1420 "configure"
 #include "confdefs.h"
 
 /* terminfo implementations ignore the buffer argument, making it useless for
@@ -1383,7 +1430,7 @@
        tgetent(buffer, "vt100");
        exit(buffer[0] == 0); }
 EOF
-if { (eval echo configure:1387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   echo "yes, there is a termcap/tgetent in $cf_termlib" 1>&5
         cf_cv_lib_tgetent="-l$cf_termlib"
@@ -1414,17 +1461,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1418: checking for $ac_hdr" >&5
+echo "configure:1465: 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 1423 "configure"
+#line 1470 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1428: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1475: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1457,7 +1504,7 @@
         # validate values for the TERM environment variable given to
         # child processes.
        echo $ac_n "checking for partial tgetent function""... $ac_c" 1>&6
-echo "configure:1461: checking for partial tgetent function" >&5
+echo "configure:1508: checking for partial tgetent function" >&5
 if eval "test \"`echo '$''{'cf_cv_lib_part_tgetent'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1466,14 +1513,14 @@
        for cf_termlib in $cf_TERMLIB ; do
                LIBS="$cf_save_LIBS -l$cf_termlib"
                cat > conftest.$ac_ext <<EOF
-#line 1470 "configure"
+#line 1517 "configure"
 #include "confdefs.h"
 
 int main() {
 tgetent(0, 0)
 ; return 0; }
 EOF
-if { (eval echo configure:1477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "there is a terminfo/tgetent in $cf_termlib" 1>&5
                         cf_cv_lib_part_tgetent="-l$cf_termlib"
@@ -1496,17 +1543,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1500: checking for $ac_hdr" >&5
+echo "configure:1547: 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 1505 "configure"
+#line 1552 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1510: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1557: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1546,13 +1593,13 @@
 ###    checks for structures
 
 echo $ac_n "checking for declaration of fd_set""... $ac_c" 1>&6
-echo "configure:1550: checking for declaration of fd_set" >&5
+echo "configure:1597: checking for declaration of fd_set" >&5
 if eval "test \"`echo '$''{'cf_cv_type_fd_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 1556 "configure"
+#line 1603 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -1560,7 +1607,7 @@
 fd_set x
 ; return 0; }
 EOF
-if { (eval echo configure:1564: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1611: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_type_fd_set=sys/types.h
 else
@@ -1568,7 +1615,7 @@
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 1572 "configure"
+#line 1619 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -1577,7 +1624,7 @@
 fd_set x
 ; return 0; }
 EOF
-if { (eval echo configure:1581: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1628: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_type_fd_set=sys/select.h
 else
@@ -1600,14 +1647,108 @@
 fi
 
 
+###    checks for external data
+
+
+echo $ac_n "checking declaration of errno""... $ac_c" 1>&6
+echo "configure:1655: checking declaration of errno" >&5
+if eval "test \"`echo '$''{'cf_cv_dcl_errno'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+    cat > conftest.$ac_ext <<EOF
+#line 1661 "configure"
+#include "confdefs.h"
+
+#if HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#include <stdio.h>
+#include <sys/types.h>
+#include <errno.h> 
+int main() {
+long x = (long) errno
+; return 0; }
+EOF
+if { (eval echo configure:1674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  eval 'cf_cv_dcl_'errno'=yes'
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval 'cf_cv_dcl_'errno'=no'
+fi
+rm -f conftest*
+fi
+
+eval 'cf_result=$cf_cv_dcl_'errno
+echo "$ac_t""$cf_result" 1>&6
+
+# It's possible (for near-UNIX clones) that the data doesn't exist
+if eval "test \"`echo '$''{'cf_cv_have_errno'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+if test $cf_result = no ; then
+    eval 'cf_result=DECL_'errno
+    
+cf_result=`echo $cf_result | tr '[a-z]' '[A-Z]'`
+
+    cat >> confdefs.h <<EOF
+#define $cf_result 1
+EOF
+
+    echo $ac_n "checking existence of errno""... $ac_c" 1>&6
+echo "configure:1704: checking existence of errno" >&5
+        cat > conftest.$ac_ext <<EOF
+#line 1706 "configure"
+#include "confdefs.h"
+
+#undef errno
+extern long errno;
+
+int main() {
+errno = 2
+; return 0; }
+EOF
+if { (eval echo configure:1716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval 'cf_cv_have_'errno'=yes'
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval 'cf_cv_have_'errno'=no'
+fi
+rm -f conftest*
+        eval 'cf_result=$cf_cv_have_'errno
+        echo "$ac_t""$cf_result" 1>&6
+else
+    eval 'cf_cv_have_'errno'=yes'
+fi
+
+fi
+
+eval 'cf_result=HAVE_'errno
+
+cf_result=`echo $cf_result | tr '[a-z]' '[A-Z]'`
+
+eval 'test $cf_cv_have_'errno' = yes && cat >> confdefs.h <<EOF
+#define $cf_result 1
+EOF
+'
+
+
+
 ###    checks for compiler characteristics
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1606: checking for working const" >&5
+echo "configure:1747: 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 1611 "configure"
+#line 1752 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1656,7 +1797,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:1660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1801: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -1678,7 +1819,7 @@
 
 
 echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:1682: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:1823: 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
@@ -1692,11 +1833,17 @@
 # HP-UX                        -Aa -D_HPUX_SOURCE
 # SVR4                 -Xc
 # UnixWare 1.2         (cannot use -Xc, since ANSI/POSIX clashes)
-for cf_arg in "-DCC_HAS_PROTOS" "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xc
+for cf_arg in "-DCC_HAS_PROTOS" \
+       "" \
+       -qlanglvl=ansi \
+       -std1 \
+       "-Aa -D_HPUX_SOURCE +e" \
+       "-Aa -D_HPUX_SOURCE" \
+       -Xc
 do
        CFLAGS="$cf_save_CFLAGS $cf_arg"
        cat > conftest.$ac_ext <<EOF
-#line 1700 "configure"
+#line 1847 "configure"
 #include "confdefs.h"
 
 #ifndef CC_HAS_PROTOS
@@ -1712,7 +1859,7 @@
        struct s2 {int (*f) (double a);};
 ; return 0; }
 EOF
-if { (eval echo configure:1716: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ansi_cc="$cf_arg"; break
 else
@@ -1741,53 +1888,13 @@
 
 ###    checks for system services and user specified options
 
-for ac_hdr in unistd.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1749: 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 1754 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1759: \"$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
-
 echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:1786: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:1893: 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 1791 "configure"
+#line 1898 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -1803,7 +1910,7 @@
 s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 ; return 0; }
 EOF
-if { (eval echo configure:1807: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1914: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_sys_wait_h=yes
 else
@@ -1829,7 +1936,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:1833: checking for X" >&5
+echo "configure:1940: checking for X" >&5
 
 
 # Check whether --with-x or --without-x was given.
@@ -1892,12 +1999,12 @@
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 1896 "configure"
+#line 2003 "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:1901: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2008: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1966,14 +2073,14 @@
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1970 "configure"
+#line 2077 "configure"
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if { (eval echo configure:1977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2084: \"$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.
@@ -2073,7 +2180,7 @@
        # FIXME: modify the library lookup in autoconf to
        # allow _s.a suffix ahead of .a
        echo $ac_n "checking for open in -lc_s""... $ac_c" 1>&6
-echo "configure:2077: checking for open in -lc_s" >&5
+echo "configure:2184: checking for open in -lc_s" >&5
 ac_lib_var=`echo c_s'_'open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2081,7 +2188,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lc_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2085 "configure"
+#line 2192 "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
@@ -2092,7 +2199,7 @@
 open()
 ; return 0; }
 EOF
-if { (eval echo configure:2096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2203: \"$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
@@ -2109,7 +2216,7 @@
   echo "$ac_t""yes" 1>&6
   LIBS="-lc_s $LIBS"
        echo $ac_n "checking for gethostname in -lbsd""... $ac_c" 1>&6
-echo "configure:2113: checking for gethostname in -lbsd" >&5
+echo "configure:2220: checking for gethostname in -lbsd" >&5
 ac_lib_var=`echo bsd'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2117,7 +2224,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2121 "configure"
+#line 2228 "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
@@ -2128,7 +2235,7 @@
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:2132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2239: \"$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
@@ -2145,7 +2252,7 @@
   echo "$ac_t""yes" 1>&6
   LIBS="-lbsd $LIBS"
        echo $ac_n "checking for gethostname in -lnsl_s""... $ac_c" 1>&6
-echo "configure:2149: checking for gethostname in -lnsl_s" >&5
+echo "configure:2256: checking for gethostname in -lnsl_s" >&5
 ac_lib_var=`echo nsl_s'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2153,7 +2260,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2157 "configure"
+#line 2264 "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
@@ -2164,7 +2271,7 @@
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:2168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2275: \"$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
@@ -2181,7 +2288,7 @@
   echo "$ac_t""yes" 1>&6
   LIBS="-lnsl_s $LIBS"
        echo $ac_n "checking for XOpenDisplay in -lX11_s""... $ac_c" 1>&6
-echo "configure:2185: checking for XOpenDisplay in -lX11_s" >&5
+echo "configure:2292: checking for XOpenDisplay in -lX11_s" >&5
 ac_lib_var=`echo X11_s'_'XOpenDisplay | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2189,7 +2296,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lX11_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2193 "configure"
+#line 2300 "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
@@ -2200,7 +2307,7 @@
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:2204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2311: \"$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
@@ -2217,7 +2324,7 @@
   echo "$ac_t""yes" 1>&6
   LIBS="-lX11_s $LIBS"
        echo $ac_n "checking for XtAppInitialize in -lXt_s""... $ac_c" 1>&6
-echo "configure:2221: checking for XtAppInitialize in -lXt_s" >&5
+echo "configure:2328: checking for XtAppInitialize in -lXt_s" >&5
 ac_lib_var=`echo Xt_s'_'XtAppInitialize | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2225,7 +2332,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXt_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2229 "configure"
+#line 2336 "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
@@ -2236,7 +2343,7 @@
 XtAppInitialize()
 ; return 0; }
 EOF
-if { (eval echo configure:2240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2347: \"$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
@@ -2277,7 +2384,7 @@
        ;;
 *)
        echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:2281: checking for socket in -lsocket" >&5
+echo "configure:2388: 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
@@ -2285,7 +2392,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2289 "configure"
+#line 2396 "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
@@ -2296,7 +2403,7 @@
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:2300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2407: \"$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
@@ -2324,7 +2431,7 @@
 fi
 
        echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
-echo "configure:2328: checking for gethostname in -lnsl" >&5
+echo "configure:2435: checking for gethostname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2332,7 +2439,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2336 "configure"
+#line 2443 "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
@@ -2343,7 +2450,7 @@
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:2347: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2454: \"$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
@@ -2394,17 +2501,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:2398: checking whether -R must be followed by a space" >&5
+echo "configure:2505: 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 2401 "configure"
+#line 2508 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_R_nospace=yes
 else
@@ -2420,14 +2527,14 @@
       else
        LIBS="$ac_xsave_LIBS -R $x_libraries"
        cat > conftest.$ac_ext <<EOF
-#line 2424 "configure"
+#line 2531 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_R_space=yes
 else
@@ -2459,7 +2566,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:2463: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:2570: 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
@@ -2467,7 +2574,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2471 "configure"
+#line 2578 "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
@@ -2478,7 +2585,7 @@
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:2482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2589: \"$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
@@ -2500,7 +2607,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:2504: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:2611: 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
@@ -2508,7 +2615,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet_stub  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2512 "configure"
+#line 2619 "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
@@ -2519,7 +2626,7 @@
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:2523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2630: \"$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
@@ -2548,12 +2655,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:2552: checking for gethostbyname" >&5
+echo "configure:2659: 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 2557 "configure"
+#line 2664 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -2576,7 +2683,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
@@ -2597,7 +2704,7 @@
 
     if test $ac_cv_func_gethostbyname = no; then
       echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:2601: checking for gethostbyname in -lnsl" >&5
+echo "configure:2708: 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
@@ -2605,7 +2712,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2609 "configure"
+#line 2716 "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
@@ -2616,7 +2723,7 @@
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:2620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2727: \"$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
@@ -2646,12 +2753,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:2650: checking for connect" >&5
+echo "configure:2757: 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 2655 "configure"
+#line 2762 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -2674,7 +2781,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_connect=yes"
 else
@@ -2695,7 +2802,7 @@
 
     if test $ac_cv_func_connect = no; then
       echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:2699: checking for connect in -lsocket" >&5
+echo "configure:2806: 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
@@ -2703,7 +2810,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2707 "configure"
+#line 2814 "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
@@ -2714,7 +2821,7 @@
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:2718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2825: \"$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
@@ -2738,12 +2845,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:2742: checking for remove" >&5
+echo "configure:2849: 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 2747 "configure"
+#line 2854 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
@@ -2766,7 +2873,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_remove=yes"
 else
@@ -2787,7 +2894,7 @@
 
     if test $ac_cv_func_remove = no; then
       echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:2791: checking for remove in -lposix" >&5
+echo "configure:2898: 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
@@ -2795,7 +2902,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2799 "configure"
+#line 2906 "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
@@ -2806,7 +2913,7 @@
 remove()
 ; return 0; }
 EOF
-if { (eval echo configure:2810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2917: \"$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
@@ -2830,12 +2937,12 @@
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:2834: checking for shmat" >&5
+echo "configure:2941: 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 2839 "configure"
+#line 2946 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
@@ -2858,7 +2965,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_shmat=yes"
 else
@@ -2879,7 +2986,7 @@
 
     if test $ac_cv_func_shmat = no; then
       echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:2883: checking for shmat in -lipc" >&5
+echo "configure:2990: 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
@@ -2887,7 +2994,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lipc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2891 "configure"
+#line 2998 "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
@@ -2898,7 +3005,7 @@
 shmat()
 ; return 0; }
 EOF
-if { (eval echo configure:2902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3009: \"$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
@@ -2931,7 +3038,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:2935: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:3042: 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
@@ -2939,7 +3046,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lICE  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2943 "configure"
+#line 3050 "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
@@ -2950,7 +3057,7 @@
 IceConnectionNumber()
 ; return 0; }
 EOF
-if { (eval echo configure:2954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3061: \"$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
@@ -2977,7 +3084,7 @@
        LDFLAGS="$LDFLAGS $X_LIBS"
        CFLAGS="$CFLAGS $X_CFLAGS"
        echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:2981: checking for XOpenDisplay in -lX11" >&5
+echo "configure:3088: 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
@@ -2985,7 +3092,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2989 "configure"
+#line 3096 "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
@@ -2996,7 +3103,7 @@
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:3000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3107: \"$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
@@ -3017,7 +3124,7 @@
 fi
 
        echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6
-echo "configure:3021: checking for XtAppInitialize in -lXt" >&5
+echo "configure:3128: 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
@@ -3025,7 +3132,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3029 "configure"
+#line 3136 "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
@@ -3036,7 +3143,7 @@
 XtAppInitialize()
 ; return 0; }
 EOF
-if { (eval echo configure:3040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3147: \"$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
@@ -3092,17 +3199,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3096: checking for $ac_hdr" >&5
+echo "configure:3203: 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 3101 "configure"
+#line 3208 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3106: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3213: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3152,17 +3259,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3156: checking for $ac_hdr" >&5
+echo "configure:3263: 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 3161 "configure"
+#line 3268 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3166: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3273: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3190,7 +3297,7 @@
 
 
 echo $ac_n "checking for XmuClientWindow in -lXmu""... $ac_c" 1>&6
-echo "configure:3194: checking for XmuClientWindow in -lXmu" >&5
+echo "configure:3301: 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
@@ -3198,7 +3305,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXmu  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3202 "configure"
+#line 3309 "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
@@ -3209,7 +3316,7 @@
 XmuClientWindow()
 ; return 0; }
 EOF
-if { (eval echo configure:3213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3320: \"$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
@@ -3236,7 +3343,7 @@
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for XmuClientWindow in -lXmu_s""... $ac_c" 1>&6
-echo "configure:3240: checking for XmuClientWindow in -lXmu_s" >&5
+echo "configure:3347: checking for XmuClientWindow in -lXmu_s" >&5
 ac_lib_var=`echo Xmu_s'_'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
@@ -3244,7 +3351,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXmu_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3248 "configure"
+#line 3355 "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
@@ -3255,7 +3362,7 @@
 XmuClientWindow()
 ; return 0; }
 EOF
-if { (eval echo configure:3259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3366: \"$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
@@ -3286,7 +3393,7 @@
 
 
 echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6
-echo "configure:3290: checking for XextCreateExtension in -lXext" >&5
+echo "configure:3397: 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
@@ -3294,7 +3401,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXext  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3298 "configure"
+#line 3405 "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
@@ -3305,7 +3412,7 @@
 XextCreateExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:3309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3416: \"$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
@@ -3327,7 +3434,7 @@
 
 
 echo $ac_n "checking for XawSimpleMenuAddGlobalActions in -l$cf_x_athena""... $ac_c" 1>&6
-echo "configure:3331: checking for XawSimpleMenuAddGlobalActions in -l$cf_x_athena" >&5
+echo "configure:3438: checking for XawSimpleMenuAddGlobalActions in -l$cf_x_athena" >&5
 ac_lib_var=`echo $cf_x_athena'_'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
@@ -3335,7 +3442,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-l$cf_x_athena  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3339 "configure"
+#line 3446 "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
@@ -3346,7 +3453,7 @@
 XawSimpleMenuAddGlobalActions()
 ; return 0; }
 EOF
-if { (eval echo configure:3350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3457: \"$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
@@ -3366,7 +3473,7 @@
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for XawSimpleMenuAddGlobalActions in -l${cf_x_athena}_s""... $ac_c" 1>&6
-echo "configure:3370: checking for XawSimpleMenuAddGlobalActions in -l${cf_x_athena}_s" >&5
+echo "configure:3477: checking for XawSimpleMenuAddGlobalActions in -l${cf_x_athena}_s" >&5
 ac_lib_var=`echo ${cf_x_athena}_s'_'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
@@ -3374,7 +3481,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-l${cf_x_athena}_s $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3378 "configure"
+#line 3485 "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
@@ -3385,7 +3492,7 @@
 XawSimpleMenuAddGlobalActions()
 ; return 0; }
 EOF
-if { (eval echo configure:3389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3496: \"$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
@@ -3426,12 +3533,12 @@
        
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3430: checking for $ac_func" >&5
+echo "configure:3537: 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 3435 "configure"
+#line 3542 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3454,7 +3561,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:3458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3480,7 +3587,7 @@
 
 
 echo $ac_n "checking if we should use imake to help""... $ac_c" 1>&6
-echo "configure:3484: checking if we should use imake to help" >&5
+echo "configure:3591: 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
@@ -3505,7 +3612,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:3509: checking for $ac_word" >&5
+echo "configure:3616: 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
@@ -3637,7 +3744,7 @@
 
 
 echo $ac_n "checking for default terminal-id""... $ac_c" 1>&6
-echo "configure:3641: checking for default terminal-id" >&5
+echo "configure:3748: 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
@@ -3658,7 +3765,7 @@
 
 
 echo $ac_n "checking for default terminal-type""... $ac_c" 1>&6
-echo "configure:3662: checking for default terminal-type" >&5
+echo "configure:3769: checking for default terminal-type" >&5
 
 # Check whether --with-terminal-type or --without-terminal-type was given.
 if test "${with_terminal_type+set}" = set; then
@@ -3676,7 +3783,7 @@
 
 ###    checks for optional features
 echo $ac_n "checking if you want active-icons""... $ac_c" 1>&6
-echo "configure:3680: checking if you want active-icons" >&5
+echo "configure:3787: checking if you want active-icons" >&5
 
 # Check whether --enable-active-icon or --disable-active-icon was given.
 if test "${enable_active_icon+set}" = set; then
@@ -3702,7 +3809,7 @@
 fi
 
 echo $ac_n "checking if you want ANSI color""... $ac_c" 1>&6
-echo "configure:3706: checking if you want ANSI color" >&5
+echo "configure:3813: 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
@@ -3726,7 +3833,7 @@
 
 
 echo $ac_n "checking if you want 16 colors like aixterm""... $ac_c" 1>&6
-echo "configure:3730: checking if you want 16 colors like aixterm" >&5
+echo "configure:3837: 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
@@ -3750,7 +3857,7 @@
 
 
 echo $ac_n "checking if you want bold colors mapped like IBM PC""... $ac_c" 1>&6
-echo "configure:3754: checking if you want bold colors mapped like IBM PC" >&5
+echo "configure:3861: checking if you want bold colors mapped like IBM PC" >&5
 
 # Check whether --enable-bold-color or --disable-bold-color was given.
 if test "${enable_bold_color+set}" = set; then
@@ -3774,7 +3881,7 @@
 
 
 echo $ac_n "checking if you want color-mode enabled by default""... $ac_c" 1>&6
-echo "configure:3778: checking if you want color-mode enabled by default" >&5
+echo "configure:3885: checking if you want color-mode enabled by default" >&5
 
 # Check whether --enable-color-mode or --disable-color-mode was given.
 if test "${enable_color_mode+set}" = set; then
@@ -3798,7 +3905,7 @@
 
 
 echo $ac_n "checking if you want support for color highlighting""... $ac_c" 1>&6
-echo "configure:3802: checking if you want support for color highlighting" >&5
+echo "configure:3909: checking if you want support for color highlighting" >&5
 
 # Check whether --enable-highlighting or --disable-highlighting was given.
 if test "${enable_highlighting+set}" = set; then
@@ -3822,7 +3929,7 @@
 
 
 echo $ac_n "checking if you want support for doublesize characters""... $ac_c" 1>&6
-echo "configure:3826: checking if you want support for doublesize characters" >&5
+echo "configure:3933: checking if you want support for doublesize characters" >&5
 
 # Check whether --enable-doublechars or --disable-doublechars was given.
 if test "${enable_doublechars+set}" = set; then
@@ -3846,7 +3953,7 @@
 
 
 echo $ac_n "checking if you want support for input-method""... $ac_c" 1>&6
-echo "configure:3850: checking if you want support for input-method" >&5
+echo "configure:3957: checking if you want support for input-method" >&5
 
 # Check whether --enable-input-method or --disable-input-method was given.
 if test "${enable_input_method+set}" = set; then
@@ -3872,7 +3979,7 @@
 fi
 
 echo $ac_n "checking if you want support for internationalization""... $ac_c" 1>&6
-echo "configure:3876: checking if you want support for internationalization" >&5
+echo "configure:3983: checking if you want support for internationalization" >&5
 
 # Check whether --enable-i18n or --disable-i18n was given.
 if test "${enable_i18n+set}" = set; then
@@ -3898,7 +4005,7 @@
 fi
 
 echo $ac_n "checking if you want support for logging""... $ac_c" 1>&6
-echo "configure:3902: checking if you want support for logging" >&5
+echo "configure:4009: checking if you want support for logging" >&5
 
 # Check whether --enable-logging or --disable-logging was given.
 if test "${enable_logging+set}" = set; then
@@ -3922,7 +4029,7 @@
 EOF
 
        echo $ac_n "checking if you want to allow logging via a pipe""... $ac_c" 1>&6
-echo "configure:3926: checking if you want to allow logging via a pipe" >&5
+echo "configure:4033: checking if you want to allow logging via a pipe" >&5
        
 # Check whether --enable-logfile-exec or --disable-logfile-exec was given.
 if test "${enable_logfile_exec+set}" = set; then
@@ -3949,7 +4056,7 @@
 fi
 
 echo $ac_n "checking if you want support for right-scrollbar""... $ac_c" 1>&6
-echo "configure:3953: checking if you want support for right-scrollbar" >&5
+echo "configure:4060: checking if you want support for right-scrollbar" >&5
 
 # Check whether --enable-rightbar or --disable-rightbar was given.
 if test "${enable_rightbar+set}" = set; then
@@ -3975,7 +4082,7 @@
 fi
 
 echo $ac_n "checking if you want check for redundant name-change""... $ac_c" 1>&6
-echo "configure:3979: checking if you want check for redundant name-change" >&5
+echo "configure:4086: checking if you want check for redundant name-change" >&5
 
 # Check whether --enable-samename or --disable-samename was given.
 if test "${enable_samename+set}" = set; then
@@ -3999,7 +4106,7 @@
 
 
 echo $ac_n "checking if you want support for tek4014""... $ac_c" 1>&6
-echo "configure:4003: checking if you want support for tek4014" >&5
+echo "configure:4110: checking if you want support for tek4014" >&5
 
 # Check whether --enable-tek4014 or --disable-tek4014 was given.
 if test "${enable_tek4014+set}" = set; then
@@ -4029,7 +4136,7 @@
 fi
 
 echo $ac_n "checking if you want VT52 emulation""... $ac_c" 1>&6
-echo "configure:4033: checking if you want VT52 emulation" >&5
+echo "configure:4140: checking if you want VT52 emulation" >&5
 
 # Check whether --enable-vt52 or --disable-vt52 was given.
 if test "${enable_vt52+set}" = set; then
@@ -4053,7 +4160,7 @@
 
 
 echo $ac_n "checking if you want -ziconbeep option""... $ac_c" 1>&6
-echo "configure:4057: checking if you want -ziconbeep option" >&5
+echo "configure:4164: checking if you want -ziconbeep option" >&5
 
 # Check whether --enable-ziconbeep or --disable-ziconbeep was given.
 if test "${enable_ziconbeep+set}" = set; then
@@ -4078,7 +4185,7 @@
 
 # development/testing aids
 echo $ac_n "checking if you want debugging traces""... $ac_c" 1>&6
-echo "configure:4082: checking if you want debugging traces" >&5
+echo "configure:4189: checking if you want debugging traces" >&5
 
 # Check whether --enable-trace or --disable-trace was given.
 if test "${enable_trace+set}" = set; then
@@ -4107,7 +4214,7 @@
 
 
 echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6
-echo "configure:4111: checking if you want to see long compiling messages" >&5
+echo "configure:4218: checking if you want to see long compiling messages" >&5
 
 # Check whether --enable-echo or --disable-echo was given.
 if test "${enable_echo+set}" = set; then
@@ -4147,7 +4254,7 @@
 
 
 echo $ac_n "checking if you want magic cookie emulation""... $ac_c" 1>&6
-echo "configure:4151: checking if you want magic cookie emulation" >&5
+echo "configure:4258: checking if you want magic cookie emulation" >&5
 
 # Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
 if test "${enable_xmc_glitch+set}" = set; then
@@ -4176,7 +4283,7 @@
 
 if test -n "$GCC" ; then
 echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6
-echo "configure:4180: checking if you want to turn on gcc warnings" >&5
+echo "configure:4287: 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
@@ -4216,9 +4323,9 @@
 if test -n "$GCC"
 then
        echo "checking for gcc __attribute__ directives" 1>&6
-echo "configure:4220: checking for gcc __attribute__ directives" >&5
+echo "configure:4327: checking for gcc __attribute__ directives" >&5
        cat > conftest.$ac_ext <<EOF
-#line 4222 "configure"
+#line 4329 "configure"
 #include "confdefs.h"
 #include "conftest.h"
 #include "conftest.i"
@@ -4256,7 +4363,7 @@
 EOF
                        ;;
                esac
-               if { (eval echo configure:4260: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+               if { (eval echo configure:4367: \"$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
@@ -4273,11 +4380,11 @@
 if test -n "$GCC"
 then
                cat > conftest.$ac_ext <<EOF
-#line 4277 "configure"
+#line 4384 "configure"
 int main(int argc, char *argv[]) { return argv[argc-1] == 0; }
 EOF
                echo "checking for gcc warning options" 1>&6
-echo "configure:4281: checking for gcc warning options" >&5
+echo "configure:4388: checking for gcc warning options" >&5
        cf_save_CFLAGS="$CFLAGS"
        EXTRA_CFLAGS="-W -Wall"
        cf_warn_CONST=""
@@ -4295,7 +4402,7 @@
                Wstrict-prototypes $cf_warn_CONST
        do
                CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-               if { (eval echo configure:4299: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+               if { (eval echo configure:4406: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
                        test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
                        EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
                        test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
Index: configure.in
--- xterm-72+/configure.in      Fri Apr 17 20:32:45 1998
+++ xterm-73/configure.in       Sat Apr 25 10:54:44 1998
@@ -3,7 +3,7 @@
 dnl
 dnl ---------------------------------------------------------------------------
 dnl 
-dnl Copyright 1997 by Thomas E. Dickey <dickey@clark.net>
+dnl Copyright 1997,1998 by Thomas E. Dickey <dickey@clark.net>
 dnl 
 dnl                         All Rights Reserved
 dnl 
@@ -44,9 +44,10 @@
 AC_MINIX
 
 ###    checks for header files
+AC_CHECK_HEADERS(stdlib.h unistd.h)
 
 ###    checks for typedefs
-AC_TYPE_SIZE_T
+CF_SIZE_T
 AC_CHECK_TYPE(time_t, long)
 
 ###    checks for library functions
@@ -62,13 +63,15 @@
 ###    checks for structures
 CF_TYPE_FD_SET
 
+###    checks for external data
+CF_ERRNO
+
 ###    checks for compiler characteristics
 AC_CONST
 CF_ANSI_CC_CHECK
 
 ###    checks for system services and user specified options
 
-AC_CHECK_HEADERS(unistd.h)
 AC_HEADER_SYS_WAIT
 
 CF_X_TOOLKIT
Index: data.h
--- xterm-72+/data.h    Fri Apr 17 19:36:17 1998
+++ xterm-73/data.h     Sat Apr 25 10:43:01 1998
@@ -25,6 +25,9 @@
  * SOFTWARE.
  */
 
+#ifndef included_data_h
+#define included_data_h 1
+
 #if XtSpecificationRelease >= 6 && !defined(NO_XPOLL_H)
 #include <X11/Xpoll.h>
 #else
@@ -114,3 +117,5 @@
 #define        XkbBI_MarginBell                10
 #define        XkbBI_CursorStuck               11
 #endif
+
+#endif /* included_data_h */
Index: input.c
--- xterm-72+/input.c   Sat Mar 28 07:19:24 1998
+++ xterm-73/input.c    Sat Apr 25 10:51:07 1998
@@ -283,7 +283,7 @@
 StringInput (screen, string, nbytes)
     register TScreen   *screen;
     register char *string;
-    Size_t nbytes;
+    size_t nbytes;
 {
        int     pty     = screen->respond;
 
Index: main.c
--- xterm-72+/main.c    Fri Apr 17 20:13:41 1998
+++ xterm-73/main.c     Sat Apr 25 12:12:47 1998
@@ -75,6 +75,7 @@
 
 #include "version.h"
 #include "ptyx.h"
+
 #include <X11/StringDefs.h>
 #include <X11/Shell.h>
 
@@ -85,9 +86,11 @@
 
 #include <pwd.h>
 #include <ctype.h>
+
 #include "data.h"
 #include "error.h"
 #include "menu.h"
+#include "xterm.h"
 
 #ifdef AMOEBA
 #include <amoeba.h>
@@ -344,16 +347,12 @@
 #endif
 
 #include <stdio.h>
-#include <errno.h>
 #include <setjmp.h>
 
 #ifdef X_NOT_STDC_ENV
-extern int errno;
-#define Time_t long
-extern Time_t time ();
+extern time_t time ();
 #else
 #include <time.h>
-#define Time_t time_t
 #endif
 
 #ifdef hpux
@@ -457,27 +456,13 @@
 #endif
 #endif
 
-#ifndef X_NOT_POSIX
-#include <unistd.h>
-#else
+#ifdef X_NOT_POSIX
 extern long lseek();
 #if defined(USG)
 extern unsigned sleep();
 #else
 extern void sleep();
 #endif
-#endif
-
-#ifndef X_NOT_STDC_ENV
-#include <stdlib.h>
-#else
-extern char *malloc();
-extern char *calloc();
-extern char *realloc();
-extern char *getenv();
-extern void exit();
-#endif
-#ifdef X_NOT_POSIX
 extern char *ttyname();
 #endif
 
@@ -485,8 +470,6 @@
 extern char *ptsname();
 #endif
 
-#include "xterm.h"
-
 int switchfb[] = {0, 2, 1, 3};
 
 extern int tgetent PROTO((char *ptr, char *name));
@@ -604,7 +587,7 @@
 static int override_tty_modes = 0;
 struct _xttymodes {
     char *name;
-    Size_t len;
+    size_t len;
     int set;
     char value;
 } ttymodelist[] = {
@@ -2468,6 +2451,7 @@
                char* ptyname;
                char* ptynameptr = 0;
 #endif
+               TRACE_CHILD;
 
 #ifdef USE_USG_PTYS
 #if defined(SYSV) && defined(i386) && !defined(SVR4)
@@ -2999,7 +2983,7 @@
 #endif /* AMOEBA */
 
 #ifdef Lynx
-{
+       {
        struct termio   t;
        if (ioctl(0, TCGETA, &t) >= 0)
        {
@@ -3007,7 +2991,7 @@
                t.c_oflag |= OPOST;
                ioctl(0, TCSETA, &t);
        }
-}
+       }
 #endif
 
 #ifdef UTMP
@@ -3087,10 +3071,10 @@
                utmp.ut_pid = getpid();
 #if defined(SVR4) || defined(SCO325) || (defined(linux) && __GLIBC__ >= 2)
                utmp.ut_session = getsid(0);
-               utmp.ut_xtime = time ((Time_t *) 0);
+               utmp.ut_xtime = time ((time_t *) 0);
                utmp.ut_tv.tv_usec = 0;
 #else
-               utmp.ut_time = time ((Time_t *) 0);
+               utmp.ut_time = time ((time_t *) 0);
 #endif
 
                /* write out the entry */
@@ -3141,7 +3125,7 @@
                                               sizeof(utmp.ut_host));
 #endif
                                /* cast needed on Ultrix 4.4 */
-                               time((Time_t*)&utmp.ut_time);
+                               time((time_t*)&utmp.ut_time);
                                lseek(i, (long)(tslot * sizeof(struct utmp)), 0);
                                write(i, (char *)&utmp, sizeof(struct utmp));
                                close(i);
@@ -3298,10 +3282,14 @@
 
                /* need to reset after all the ioctl bashing we did above */
 #if defined(TIOCSSIZE) && (defined(sun) && !defined(SVR4))
-               ioctl  (0, TIOCSSIZE, &ts);
+               i = ioctl (0, TIOCSSIZE, &ts);
+               TRACE(("spawn TIOCSSIZE %dx%d return %d\n", ts.ts_lines, ts.ts_cols, i))
 #else  /* not old SunOS */
 #ifdef TIOCSWINSZ
-               ioctl (0, TIOCSWINSZ, (char *)&ws);
+               i = ioctl (0, TIOCSWINSZ, (char *)&ws);
+               TRACE(("spawn TIOCSWINSZ %dx%d return %d\n", ws.ws_row, ws.ws_col, i))
+#else
+               TRACE(("spawn cannot tell pty its size\n"))
 #endif /* TIOCSWINSZ */
 #endif /* sun */
 
@@ -3895,11 +3883,11 @@
                    utptr->ut_type = DEAD_PROCESS;
 #if defined(SVR4) || defined(SCO325) || (defined(linux) && __GLIBC__ >= 2)
                    utmp.ut_session = getsid(0);
-                   utmp.ut_xtime = time ((Time_t *) 0);
+                   utmp.ut_xtime = time ((time_t *) 0);
                    utmp.ut_tv.tv_usec = 0;
 #else
                    *utptr->ut_user=0;
-                   utptr->ut_time = time((Time_t *) 0);
+                   utptr->ut_time = time((time_t *) 0);
 #endif
                    (void) pututline(utptr);
 #ifdef WTMP
@@ -3983,7 +3971,7 @@
 {
 #ifndef USE_SYSV_ENVVARS
        register char *ptr1, *ptr2;
-       register Size_t i;
+       register size_t i;
        register int li_first = 0;
        register char *temp;
 
@@ -4225,6 +4213,7 @@
     int pid;
     int sig;
 {
+    TRACE(("kill_process_group(pid=%d, sig=%d)\n", pid, sig))
 #ifndef AMOEBA
 #ifndef X_NOT_POSIX
     return kill (-pid, sig);
Index: menu.c
--- xterm-72+/menu.c    Sun Jan 25 09:19:53 1998
+++ xterm-73/menu.c     Fri Apr 24 06:04:54 1998
@@ -52,9 +52,6 @@
 Arg menuArgs[2] = {{ XtNleftBitmap, (XtArgVal) 0 },
                   { XtNsensitive, (XtArgVal) 0 }};
 
-#ifdef ALLOWLOGGING
-static void do_logging PROTO_XT_CALLBACK_ARGS;
-#endif
 static void do_8bit_control    PROTO_XT_CALLBACK_ARGS;
 static void do_allow132        PROTO_XT_CALLBACK_ARGS;
 static void do_allowsends      PROTO_XT_CALLBACK_ARGS;
@@ -72,6 +69,7 @@
 static void do_jumpscroll      PROTO_XT_CALLBACK_ARGS;
 static void do_kill            PROTO_XT_CALLBACK_ARGS;
 static void do_marginbell      PROTO_XT_CALLBACK_ARGS;
+static void do_print           PROTO_XT_CALLBACK_ARGS;
 static void do_quit            PROTO_XT_CALLBACK_ARGS;
 static void do_redraw          PROTO_XT_CALLBACK_ARGS;
 static void do_reversevideo    PROTO_XT_CALLBACK_ARGS;
@@ -87,9 +85,15 @@
 static void do_terminate       PROTO_XT_CALLBACK_ARGS;
 static void do_visualbell      PROTO_XT_CALLBACK_ARGS;
 static void do_vtfont          PROTO_XT_CALLBACK_ARGS;
+
+#ifdef ALLOWLOGGING
+static void do_logging         PROTO_XT_CALLBACK_ARGS;
+#endif
+
 #ifndef NO_ACTIVE_ICON
 static void do_activeicon      PROTO_XT_CALLBACK_ARGS;
 #endif /* NO_ACTIVE_ICON */
+
 #if OPT_TEK4014
 static void do_tekcopy         PROTO_XT_CALLBACK_ARGS;
 static void do_tekhide         PROTO_XT_CALLBACK_ARGS;
@@ -119,6 +123,7 @@
 #ifdef ALLOWLOGGING
     { "logging",       do_logging,     NULL },
 #endif
+    { "print",         do_print,       NULL },
     { "redraw",                do_redraw,      NULL },
     { "line1",         NULL,           NULL },
     { "8-bit control", do_8bit_control, NULL },
@@ -496,6 +501,14 @@
 }
 #endif
 
+static void do_print (gw, closure, data)
+    Widget gw GCC_UNUSED;
+    XtPointer closure GCC_UNUSED, data GCC_UNUSED;
+{
+    xtermPrintScreen ();
+}
+
+
 static void do_redraw (gw, closure, data)
     Widget gw GCC_UNUSED;
     XtPointer closure GCC_UNUSED, data GCC_UNUSED;
@@ -1078,6 +1091,16 @@
                   params, *param_count, w, (XtPointer)0, (XtPointer)0);
 }
 #endif
+
+/* ARGSUSED */
+void HandlePrint(w, event, params, param_count)
+    Widget w;
+    XEvent *event GCC_UNUSED;
+    String *params GCC_UNUSED;
+    Cardinal *param_count GCC_UNUSED;
+{
+    do_print(w, (XtPointer)0, (XtPointer)0);
+}
 
 /* ARGSUSED */
 void HandleRedraw(w, event, params, param_count)
Index: menu.h
--- xterm-72+/menu.h    Mon Dec 29 12:22:34 1997
+++ xterm-73/menu.h     Fri Apr 24 06:04:28 1998
@@ -63,8 +63,10 @@
 extern void HandleCursesEmul       PROTO_XT_ACTIONS_ARGS;
 extern void HandleHardReset        PROTO_XT_ACTIONS_ARGS;
 extern void HandleJumpscroll       PROTO_XT_ACTIONS_ARGS;
+extern void HandleLogging          PROTO_XT_ACTIONS_ARGS;
 extern void HandleMarginBell       PROTO_XT_ACTIONS_ARGS;
 extern void HandlePopupMenu        PROTO_XT_ACTIONS_ARGS;
+extern void HandlePrint            PROTO_XT_ACTIONS_ARGS;
 extern void HandleQuit             PROTO_XT_ACTIONS_ARGS;
 extern void HandleRedraw           PROTO_XT_ACTIONS_ARGS;
 extern void HandleReverseVideo     PROTO_XT_ACTIONS_ARGS;
@@ -84,10 +86,6 @@
 extern void HandleTekReset         PROTO_XT_ACTIONS_ARGS;
 extern void HandleVisibility       PROTO_XT_ACTIONS_ARGS;
 
-#ifdef ALLOWLOGGING
-extern void HandleLogging          PROTO_XT_ACTIONS_ARGS;
-#endif
-
 extern void DoSecureKeyboard PROTO((Time tp));
 
 /*
@@ -104,6 +102,7 @@
 #ifdef ALLOWLOGGING
     mainMenu_logging,
 #endif
+    mainMenu_print,
     mainMenu_redraw,
     mainMenu_line1,
     mainMenu_8bit_ctrl,
Index: misc.c
--- xterm-72+/misc.c    Fri Apr 17 19:37:32 1998
+++ xterm-73/misc.c     Sat Apr 25 11:50:52 1998
@@ -38,7 +38,6 @@
 #include <signal.h>
 #include <ctype.h>
 #include <pwd.h>
-#include <errno.h>
 
 #include <X11/Xatom.h>
 #include <X11/cursorfont.h>
@@ -75,13 +74,6 @@
 extern jmp_buf Tekend;
 extern jmp_buf VTend;
 
-#ifndef X_NOT_STDC_ENV
-#include <stdlib.h>
-#else
-extern char *malloc();
-extern char *getenv();
-#endif
-
 extern Widget toplevel;                /* used in 'ChangeGroup()' */
 
 #if OPT_TEK4014
@@ -880,7 +872,7 @@
 void
 do_dcs(dcsbuf, dcslen)
 Char *dcsbuf;
-Size_t dcslen;
+size_t dcslen;
 {
        register TScreen *screen = &term->screen;
        char *cp = (char *)dcsbuf;
@@ -1328,7 +1320,9 @@
 register char *var, *value;
 {
        register int envindex = 0;
-       register Size_t len = strlen(var);
+       register size_t len = strlen(var);
+
+       TRACE(("Setenv(var=%s, value=%s)\n", var, value))
 
        while (environ [envindex] != NULL) {
            if (strncmp (environ [envindex], var, len) == 0) {
@@ -1341,9 +1335,7 @@
            envindex ++;
        }
 
-#ifdef DEBUG
-       if (debug) fputs ("expanding env\n", stderr);
-#endif /* DEBUG */
+       TRACE(("...expanding env to %d\n", envindex+1))
 
        environ [envindex] = (char *) malloc ((unsigned)len + strlen (value) + 1);
        (void) strcpy (environ [envindex], var);
@@ -1359,7 +1351,7 @@
 register char  *s1, *s2;
 {
        register char   *s3;
-       Size_t s2len = strlen (s2);
+       size_t s2len = strlen (s2);
 
        while ((s3=strchr(s1, *s2)) != NULL) {
                if (strncmp(s3, s2, s2len) == 0)
Index: os2main.c
--- xterm-72+/os2main.c Fri Apr 17 20:15:59 1998
+++ xterm-73/os2main.c  Sat Apr 25 11:00:00 1998
@@ -68,6 +68,7 @@
 
 #include "version.h"
 #include "ptyx.h"
+
 #include <X11/StringDefs.h>
 #include <X11/Shell.h>
 
@@ -80,9 +81,11 @@
 
 #include <pwd.h>
 #include <ctype.h>
+
 #include "data.h"
 #include "error.h"
 #include "menu.h"
+#include "xterm.h"
 
 #include <sys/termio.h>
 
@@ -96,24 +99,13 @@
 #include <sys/param.h> /* for NOFILE */
 
 #include <stdio.h>
-#include <errno.h>
 #include <setjmp.h>
 
 #include <time.h>
-#define Time_t time_t
 
 #include <signal.h>
-#include <sys/wait.h>
-
-#define SIGNAL_T void
-#define SIGNAL_RETURN return
-
-#include <unistd.h>
-#include <stdlib.h>
 
 extern char *strindex ();
-
-#include "xterm.h"
 
 int switchfb[] = {0, 2, 1, 3};
 
Index: print.c
--- xterm-72+/print.c   Sun Jan 11 11:57:36 1998
+++ xterm-73/print.c    Sat Apr 25 10:51:07 1998
@@ -53,9 +53,8 @@
 static void charToPrinter PROTO((int chr));
 static void printCursorLine PROTO((void));
 static void printLine PROTO((int row, int chr));
-static void printPage PROTO((void));
 static void send_CharSet PROTO((int row));
-static void send_SGR PROTO((unsigned attr));
+static void send_SGR PROTO((unsigned attr, int fg, int bg));
 static void stringToPrinter PROTO((char * str));
 
 static FILE *Printer;
@@ -81,9 +80,18 @@
        Char *a = SCRN_BUF_ATTRS(screen, row);
        Char attr = *a & SGR_MASK;
        int last = screen->max_col;
+       int col;
+#if OPT_ISO_COLORS && OPT_PRINT_COLORS
+       register Char *fb = 0;
+#endif
+       int fg = -1, last_fg = -1;
+       int bg = -1, last_bg = -1;
 
        TRACE(("printLine(row=%d, chr=%d)\n", row, chr))
 
+       if_OPT_ISO_COLORS(screen,{
+               fb = SCRN_BUF_COLOR(screen, row);
+       })
        while (last > 0) {
                if ((a[last-1] & CHARDRAWN) == 0)
                        last--;
@@ -92,28 +100,40 @@
        }
        if (last) {
                send_CharSet(row);      /* FIXME: is this needed? */
-               send_SGR(0);
-               while (last--) {
-                       if (((*a & SGR_MASK) != attr) && *c) {
-                               send_SGR(attr = (*a & SGR_MASK));
+               send_SGR(0,-1,-1);
+               for (col = 0; col < last; col++) {
+#if OPT_PRINT_COLORS
+                       if_OPT_ISO_COLORS(screen,{
+                               fg = (a[col] & FG_COLOR) ? extract_fg(fb[col], a[col]) : -1;
+                               bg = (a[col] & BG_COLOR) ? extract_bg(fb[col]) : -1;
+                       })
+#endif
+                       if ((((a[col] & SGR_MASK) != attr)
+#if OPT_PRINT_COLORS
+                           || (last_fg != fg) || (last_bg != bg)
+#endif
+                           )
+                        && c[col]) {
+                               attr = (a[col] & SGR_MASK);
+                               last_fg = fg;
+                               last_bg = bg;
+                               send_SGR(attr, fg, bg);
                        }
-                       charToPrinter(*c ? *c : ' ');
-                       c++;
-                       a++;
+                       charToPrinter(c[col] ? c[col] : ' ');
                }
-               send_SGR(0);
+               send_SGR(0,-1,-1);
        }
        charToPrinter('\r');
        charToPrinter(chr);
 }
 
-static void printPage()
+void xtermPrintScreen()
 {
        register TScreen *screen = &term->screen;
        int top = screen->printer_extent ? 0 : screen->top_marg;
        int bot = screen->printer_extent ? screen->max_row : screen->bot_marg;
 
-       TRACE(("printPage, rows %d..%d\n", top, bot))
+       TRACE(("xtermPrintScreen, rows %d..%d\n", top, bot))
 
        while (top <= bot)
                printLine(top++, '\n');
@@ -147,8 +167,10 @@
 #endif /* OPT_DEC_CHRSET */
 }
 
-static void send_SGR(attr)
+static void send_SGR(attr, fg, bg)
        unsigned attr;
+       int fg;
+       int bg;
 {
        char msg[80];
        strcpy(msg, "\033[0");
@@ -160,6 +182,14 @@
                strcat(msg, ";5");
        if (attr & INVERSE)     /* typo? DEC documents this as invisible */
                strcat(msg, ";7");
+#if OPT_PRINT_COLORS
+       if (bg >= 0) {
+               sprintf(msg + strlen(msg), ";%d", (bg < 8) ? (40 + bg) : (92 + bg));
+       }
+       if (fg >= 0) {
+               sprintf(msg + strlen(msg), ";%d", (fg < 8) ? (30 + fg) : (82 + fg));
+       }
+#endif
        strcat(msg, "m");
        stringToPrinter(msg);
 }
@@ -222,7 +252,7 @@
                switch (param) {
                case -1:
                case  0:
-                       printPage();
+                       xtermPrintScreen();
                        break;
                case  4:
                        screen->printer_controlmode = 0;
@@ -283,8 +313,8 @@
        };
 
        static Char bfr[10];
-       static Size_t length;
-       Size_t n;
+       static size_t length;
+       size_t n;
 
        TRACE(("In printer:%d\n", chr))
 
@@ -302,7 +332,7 @@
        case 'i':
                bfr[length++] = chr;
                for (n = 0; n < sizeof(tbl)/sizeof(tbl[0]); n++) {
-                       Size_t len = Strlen(tbl[n].seq);
+                       size_t len = Strlen(tbl[n].seq);
 
                        if (length == len
                         && Strcmp(bfr, tbl[n].seq) == 0) {
Index: proto.h
--- xterm-72+/proto.h   Wed Jan 10 12:27:01 1996
+++ xterm-73/proto.h    Sat Apr 25 10:56:10 1998
@@ -36,11 +36,4 @@
 #define SIGNAL_RETURN return
 #endif
 
-#undef  Size_t
-#ifndef X_NOT_STDC_ENV
-#define Size_t size_t
-#else
-#define Size_t int
-#endif
-
 #endif/*included_proto_h*/
Index: ptyx.h
--- xterm-72+/ptyx.h    Fri Apr 17 19:38:28 1998
+++ xterm-73/ptyx.h     Sat Apr 25 12:10:46 1998
@@ -26,6 +26,9 @@
  * SOFTWARE.
  */
 
+#ifndef included_ptyx_h
+#define included_ptyx_h 1
+
 /* ptyx.h */
 /* @(#)ptyx.h  X10/6.6 11/10/86 */
 
@@ -313,10 +316,6 @@
 #define OPT_ISO_COLORS  1 /* true if xterm is configured with ISO colors */
 #endif
 
-#ifndef OPT_PC_COLORS
-#define OPT_PC_COLORS   1 /* true if xterm supports PC-style (bold) colors */
-#endif
-
 #ifndef OPT_HIGHLIGHT_COLOR
 #define OPT_HIGHLIGHT_COLOR 1 /* true if xterm supports color highlighting */
 #endif
@@ -325,6 +324,14 @@
 #define OPT_SAME_NAME   1 /* suppress redundant updates of title, icon, etc. */
 #endif
 
+#ifndef OPT_PC_COLORS
+#define OPT_PC_COLORS   1 /* true if xterm supports PC-style (bold) colors */
+#endif
+
+#ifndef OPT_PRINT_COLORS
+#define OPT_PRINT_COLORS 1 /* true if we print color information */
+#endif
+
 #ifndef OPT_SUNPC_KBD
 #define OPT_SUNPC_KBD  1 /* true if xterm supports Sun/PC keyboard map */
 #endif
@@ -455,6 +462,7 @@
 #include "trace.h"
 #else
 #define TRACE(p) /*nothing*/
+#define TRACE_CHILD /*nothing*/
 #endif
 
 /***====================================================================***/
@@ -1059,3 +1067,5 @@
 #endif
 #define        I_SIGNAL        0x02
 #define        I_TEK           0x04
+
+#endif /* included_ptyx_h */
Index: resize.c
--- xterm-72+/resize.c  Mon Mar 23 00:53:54 1998
+++ xterm-73/resize.c   Sat Apr 25 10:51:07 1998
@@ -570,7 +570,7 @@
 register char *s1, *s2;
 {
        register char *s3;
-       Size_t s2len = strlen (s2);
+       size_t s2len = strlen (s2);
 
        while ((s3 = strchr(s1, *s2)) != NULL)
        {
Index: screen.c
--- xterm-72+/screen.c  Sun Jan 25 09:19:53 1998
+++ xterm-73/screen.c   Sat Apr 25 11:39:50 1998
@@ -36,16 +36,8 @@
 #include "ptyx.h"
 #include "error.h"
 #include "data.h"
-
 #include "xterm.h"
 
-#ifndef X_NOT_STDC_ENV
-#include <stdlib.h>
-#else
-extern Char *calloc(), *malloc(), *realloc();
-extern void free();
-#endif
-
 #include <stdio.h>
 #include <signal.h>
 #ifdef SVR4
@@ -161,7 +153,7 @@
        register ScrnBuf base;
        register Char *tmp;
        register int i, j, k, minrows;
-       register Size_t mincols;
+       register size_t mincols;
        Char *oldbuf;
        int move_down = 0, move_up = 0;
        size_t entries = MAX_PTRS * nrow;
@@ -485,7 +477,7 @@
        int col = screen->cur_col;
        register Char *ptr = BUF_CHARS(sb, row);
        register Char *attrs = BUF_ATTRS(sb, row);
-       register Size_t nbytes = (size - n - col);
+       register size_t nbytes = (size - n - col);
        int wrappedbit = ScrnTstWrapped(screen, row);
 
        memcpy (ptr   + col, ptr   + col + n, nbytes);
@@ -779,6 +771,7 @@
     int width, height;
     unsigned *flags;
 {
+       int code;
        int rows, cols;
        int border = 2 * screen->border;
        int move_down_by;
@@ -906,7 +899,8 @@
        /* Set tty's idea of window size */
        ts.ts_lines = rows;
        ts.ts_cols = cols;
-       ioctl (screen->respond, TIOCSSIZE, &ts);
+       code = ioctl (screen->respond, TIOCSSIZE, &ts);
+       TRACE(("return %d from TIOCSSIZE %dx%d\n", code, rows, cols))
 #ifdef SIGWINCH
        if(screen->pid > 1) {
                int     pgrp;
@@ -922,7 +916,8 @@
        ws.ws_col = cols;
        ws.ws_xpixel = width;
        ws.ws_ypixel = height;
-       ioctl (screen->respond, TIOCSWINSZ, (char *)&ws);
+       code = ioctl (screen->respond, TIOCSWINSZ, (char *)&ws);
+       TRACE(("return %d from TIOCSWINSZ %dx%d\n", code, rows, cols))
 #ifdef notdef  /* change to SIGWINCH if this doesn't work for you */
        if(screen->pid > 1) {
                int     pgrp;
@@ -931,6 +926,8 @@
                    kill_process_group(pgrp, SIGWINCH);
        }
 #endif /* SIGWINCH */
+#else
+       TRACE(("ScreenResize cannot do anything to pty\n"))
 #endif /* TIOCSWINSZ */
 #endif /* sun */
        return (0);
Index: scrollbar.c
--- xterm-72+/scrollbar.c       Mon Mar 23 00:53:54 1998
+++ xterm-73/scrollbar.c        Sat Apr 25 09:32:37 1998
@@ -32,13 +32,6 @@
 
 #include "ptyx.h"              /* gets Xt headers, too */
 
-#ifndef X_NOT_STDC_ENV
-#include <stdlib.h>
-#else
-extern Char *realloc();
-extern Char *calloc();
-#endif
-
 #include <stdio.h>
 #include <ctype.h>
 #include <X11/Xatom.h>
Index: terminfo
--- xterm-72+/terminfo  Sun Apr  5 23:48:23 1998
+++ xterm-73/terminfo   Sat Apr 25 15:12:30 1998
@@ -11,9 +11,9 @@
 #      be disabled via titeInhibit, making that resource not function as
 #      intended on systems with terminfo.
 #
-# We could have used ich=\E[%p1%d@, ich1=\E[@, which work with ncurses, but
-# that is not standard behavior.  If they are set, then SVr4 vi (e.g., Solaris
-# 2.6) emits both smir/rmir and ich1.
+# We could have used ich1=\E[@, which works with ncurses, but that is not
+# standard behavior.  If it is set, then SVr4 vi (e.g., Solaris 2.6) emits
+# both smir/rmir and ich1.
 #
 # The xterm-r6 entry does not define acsc, which is probably an error (but
 # it matches the X11R5 to X11R6.3 distributions).
@@ -307,16 +307,28 @@
 #
 # 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.
+#
+# Originally I suppressed setaf/setab, since ANSI specifies only 8 colors, but
+# Stephen Marley persuaded me to allow the "ANSI" color controls to extend to
+# 16 colors.  (Note that ncurses 4.2 uses setf/setb from this description;
+# however 4.3 will select either according to their availability).  - T.Dickey
+#
+# 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@,
+       setab=\E[
+               %?%p1%{8}%<
+                       %t%p1%{40}%+
+                       %e%p1%{92}%+
+               %;%dm,
+       setaf=\E[
+               %?%p1%{8}%<
+                       %t%p1%{30}%+
+                       %e%p1%{82}%+
+               %;%dm,
        setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa
                %?%ga%{1}%=
                        %t4
Index: testxmc.c
--- xterm-72+/testxmc.c Tue Jul 29 15:13:30 1997
+++ xterm-73/testxmc.c  Sat Apr 25 09:32:45 1998
@@ -90,12 +90,6 @@
 
 #include <X11/Xos.h>
 
-#ifndef X_NOT_STDC_ENV
-#include <stdlib.h>
-#else
-extern char *malloc();
-#endif
-
 #include "ptyx.h"
 #include "data.h"
 #include "xterm.h"
Index: trace.c
--- xterm-72+/trace.c   Wed Aug 27 06:48:32 1997
+++ xterm-73/trace.c    Sat Apr 25 12:12:00 1998
@@ -48,6 +48,8 @@
 #include <varargs.h>
 #endif
 
+char *trace_who = "parent";
+
 void
 #if    ANSI_VARARGS
 Trace(char *fmt, ...)
@@ -63,7 +65,9 @@
        va_list ap;
 
        if (!fp) {
-               fp = fopen("Trace.out", "w");
+               char name[BUFSIZ];
+               sprintf(name, "Trace-%s.out", trace_who);
+               fp = fopen(name, "w");
                if (fp != 0) {
 #if HAVE_UNISTD_H
                        time_t now;
Index: trace.h
--- xterm-72+/trace.h   Tue Jun  3 16:05:50 1997
+++ xterm-73/trace.h    Sat Apr 25 12:11:25 1998
@@ -42,4 +42,7 @@
        ;
 #define TRACE(p) Trace p;
 
+extern char    *trace_who;
+#define TRACE_CHILD trace_who = "child"
+
 #endif /* included_trace_h */
Index: util.c
--- xterm-72+/util.c    Sat Mar 28 07:19:24 1998
+++ xterm-73/util.c     Sat Apr 25 09:32:52 1998
@@ -34,12 +34,6 @@
 
 #include <stdio.h>
 
-#ifndef X_NOT_STDC_ENV
-#include <stdlib.h>
-#else
-extern char *malloc();
-#endif
-
 #include "ptyx.h"
 #include "data.h"
 #include "error.h"
Index: version.h
--- xterm-72+/version.h Fri Apr 17 19:48:00 1998
+++ xterm-73/version.h  Fri Apr 24 20:30:23 1998
@@ -6,4 +6,4 @@
  * version of xterm has been built.  The number in parentheses is my patch
  * number (T.Dickey).
  */
-#define XTERM_VERSION "XFree86 3.9Ag(72)"
+#define XTERM_VERSION "XFree86 3.9Ag(73)"
Index: xterm.h
--- xterm-72+/xterm.h   Sun Apr  5 23:48:23 1998
+++ xterm-73/xterm.h    Sat Apr 25 11:05:12 1998
@@ -24,18 +24,45 @@
 
 #ifndef X_NOT_POSIX
 #define HAVE_WAITPID 1
-#define HAVE_STDLIB_H 1
 #define HAVE_SYS_WAIT_H 1
+#define HAVE_UNISTD_H 1
 #endif
 
+#ifndef X_NOT_STDC_ENV
+#define HAVE_STDLIB_H 1
+#define DECL_ERRNO 1
+#define size_t int
+#define time_t long
 #endif
 
+#endif /* HAVE_CONFIG_H */
+
 /***====================================================================***/
 
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#else
+extern char *calloc();
+extern char *getenv();
+extern char *malloc();
+extern char *realloc();
+extern void exit();
+extern void free();
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
 #ifdef HAVE_SYS_WAIT_H
 #include <sys/wait.h>
 #endif
 
+#include <errno.h>
+#ifdef DECL_ERRNO
+extern int errno;
+#endif
+
 /*
  * FIXME:  Toggling logging from xterm hangs under Linux 2.0.29 with libc5 if
  * we use 'waitpid()', while 'wait()' seems to work properly.
@@ -131,7 +158,7 @@
 
 /* input.c */
 extern void Input PROTO((TKeyboard *keyboard, TScreen *screen, XKeyEvent *event, Bool eightbit));
-extern void StringInput PROTO((TScreen *screen, char *string, Size_t nbytes));
+extern void StringInput PROTO((TScreen *screen, char *string, size_t nbytes));
 
 /* main.c */
 extern int main PROTO((int argc, char **argv));
@@ -176,7 +203,7 @@
 extern void SysError PROTO((int i));
 extern void VisualBell PROTO((void));
 extern void creat_as PROTO((int uid, int gid, char *pathname, int mode));
-extern void do_dcs PROTO((Char *buf, Size_t len));
+extern void do_dcs PROTO((Char *buf, size_t len));
 extern void do_osc PROTO((Char *buf, int len));
 extern void do_xevents PROTO((void));
 extern void end_tek_mode PROTO((void));
@@ -200,6 +227,7 @@
 extern int xtermPrinterControl PROTO((int chr));
 extern void xtermAutoPrint PROTO((int chr));
 extern void xtermMediaControl PROTO((int param, int private));
+extern void xtermPrintScreen PROTO((void));
 
 /* screen.c */
 extern Bool non_blank_line PROTO((ScrnBuf sb, int row, int col, int len));
Index: xterm.log.html
--- xterm-72+/xterm.log.html    Fri Apr 17 20:54:01 1998
+++ xterm-73/xterm.log.html     Sat Apr 25 18:04:06 1998
@@ -41,6 +41,7 @@
 xc/programs/Xserver/hw/xfree86).
 
 <UL>
+<LI><A HREF="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag and 3.3.2</A>
 <LI><A HREF="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag and 3.3.2</A>
 <LI><A HREF="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag and 3.3.2</A>
 <LI><A HREF="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af and 3.3.2</A>
@@ -114,6 +115,41 @@
 <LI><A HREF="#xterm_02">Patch #2 - 1996/1/7</A>
 <LI><A HREF="#xterm_01">Patch #1 - 1996/1/6</A>
 </UL>
+
+<H1><A NAME="xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag and 3.3.2</A></H1>
+
+This patch does the following:
+<ul>
+       <li>implements a print-window facility for xterm.  Though useful in
+         itself, I added it as part of some debugging which I am doing.
+         (Occasionally during an exposure event xterm fails to restore the
+         proper colors for highlighted text, and printing the screen will
+         show the internal states nicely).
+<p>
+         The print facility now also displays the color information.
+         (I will probably make this a resource).
+
+       <li>modified the xterm-16color terminfo description to use the setaf and
+         setab strings, which is a little more efficient (requested by Stephen
+         Marley).
+
+       <li>reduced some clutter of the ifdef/includes (e.g., stdlib.h, unistd.h,
+         errno) making the configure script test for these.
+<p>
+         I removed the symbols Size_t and Time_t, since they no longer serve
+         a useful purpose.
+
+       <li>added some debugging traces to show the initial screen size,
+         and the success/failure of the ioctl calls pass handle window
+         resizing events to the application (for Clint Olsen).
+<p>
+         I also modified the trace code to produce two files since some
+         of the information is produced by the child process.  So now
+         they are Trace-parent.out and Trace-child.out
+
+       <li>updated configure test for ANSI compiler options to handle a
+         special case for HP-UX 10.x (reported by Clint Olsen).
+</ul>
 
 <H1><A NAME="xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag and 3.3.2</A></H1>
 
Index: xterm.man
--- xterm-72+/xterm.man Thu Apr 16 06:16:53 1998
+++ xterm-73/xterm.man  Fri Apr 24 20:29:02 1998
@@ -1144,6 +1144,9 @@
 .B "logging (\fPclass\fB SmeBSB)"
 This entry invokes the \fBlogging(toggle)\fP action.
 .TP 8
+.B "print (\fPclass\fB SmeBSB)"
+This entry invokes the \fBprint()\fP action.
+.TP 8
 .B "redraw (\fPclass\fB SmeBSB)"
 This entry invokes the \fBredraw()\fP action.
 .TP 8
@@ -1697,6 +1700,10 @@
 This action displays the specified popup menu.  Valid names (case is 
 significant) include:  \fImainMenu\fP, \fIvtMenu\fP, \fIfontMenu\fP, 
 and \fItekMenu\fP.
+.TP 8
+.B "print()"
+This action prints the window and is also invoked by the
+\fIprint\fP entry in \fImainMenu\fP.
 .TP 8
 .B "quit()"
 This action sends a SIGHUP to the subprogram and exits.  It is also invoked
Index: xtermcfg.hin
--- xterm-72+/xtermcfg.hin      Mon Mar 23 00:53:54 1998
+++ xterm-73/xtermcfg.hin       Sat Apr 25 10:22:32 1998
@@ -4,7 +4,7 @@
 
 /************************************************************
 
-Copyright 1997 by Thomas E. Dickey <dickey@clark.net>
+Copyright 1997,1998 by Thomas E. Dickey <dickey@clark.net>
 
                         All Rights Reserved
 
@@ -27,30 +27,35 @@
 
 ********************************************************/
 
+#ifndef included_xtermcfg_h
+#define included_xtermcfg_h 1
+
 /* This is a template for <xtermcfg.h> */
 
-#undef ALLOWLOGGING    /* CF_ARG_ENABLE(enable-logging) */
 #undef ALLOWLOGFILEEXEC        /* CF_ARG_ENABLE(enable-logfile-exec) */
+#undef ALLOWLOGGING    /* CF_ARG_ENABLE(enable-logging) */
 #undef CC_HAS_PROTOS   /* CF_ANSI_CC */
+#undef DECL_ERRNO      /* CF_ERRNO */
 #undef DFT_COLORMODE   /* AC_ARG_WITH(default-color-mode) */
 #undef DFT_DECID       /* AC_ARG_WITH(default-terminal-id) */
 #undef DFT_TERMTYPE    /* AC_ARG_WITH(default-term-type) */
+#undef HAVE_STDLIB_H   /* AC_CHECK_HEADERS(stdlib.h) */
 #undef HAVE_STRERROR   /* AC_CHECK_FUNCS(strerror) */
 #undef HAVE_SYS_WAIT_H /* AC_HEADER_SYS_WAIT */
 #undef HAVE_TERMCAP_H  /* AC_CHECK_HEADERS(termcap.h) */
 #undef HAVE_UNISTD_H   /* AC_CHECK_HEADERS(unistd.h) */
 #undef HAVE_WAITPID    /* AC_CHECK_FUNCS(waitpid) */
-#undef HAVE_XKBSTDBELL /* AC_CHECK_FUNCS(XkbStdBell) */
 #undef HAVE_X11_DECKEYSYM_H /* AC_CHECK_HEADERS(X11/DECkeysym.h) */
 #undef HAVE_X11_XPOLL_H        /* AC_CHECK_HEADERS(X11/Xpoll.h) */
+#undef HAVE_XKBSTDBELL /* AC_CHECK_FUNCS(XkbStdBell) */
 #undef NO_ACTIVE_ICON  /* CF_ARG_DISABLE(active-icon) */
 #undef OPT_AIX_COLORS  /* CF_ARG_DISABLE(16-color) */
 #undef OPT_DEC_CHRSET  /* CF_ARG_DISABLE(doublechars) */
+#undef OPT_HIGHLIGHT_COLOR /* CF_ARG_DISABLE(highlighting) */
 #undef OPT_I18N_SUPPORT        /* CF_ARG_DISABLE(i18n) */
 #undef OPT_INPUT_METHOD        /* CF_ARG_DISABLE(input-method) */
 #undef OPT_ISO_COLORS  /* CF_ARG_DISABLE(ansi-color) */
 #undef OPT_PC_COLORS   /* CF_ARG_DISABLE(pc-color) */
-#undef OPT_HIGHLIGHT_COLOR /* CF_ARG_DISABLE(highlighting) */
 #undef OPT_TEK4014     /* CF_ARG_DISABLE(tek4014) */
 #undef OPT_TRACE       /* CF_ARG_ENABLE(trace) */
 #undef OPT_VT52_MODE   /* CF_ARG_DISABLE(vt52) */
@@ -86,3 +91,5 @@
 #if !HAVE_XKBSTDBELL
 #define NO_XKBSTDBELL  /* IRIX 6.2 incorrectly defines XKB in imake */
 #endif
+
+#endif /* included_xtermcfg_h */