xterm-66.patch.txt

XFree86 3.9Ad, 3.3.1d - xterm patch #66 - 1998/2/16 - T.Dickey <dickey@clark.net>
 
This fixes the problem reported with failure to build the resize program (BSDI,
OSF/1) due to not having <termcap.h>, by changing the ifdef to one that would
be set only if the file exists (not currently specified, except by the
standalone configure script).  We do not really need to include <termcap.h> to
build, but only for a clean compile, since it may declare the tgetent()
prototype.
 
I also updated the man-page for resize, since I had recently noticed that
it can be used to resize xterm using the "Sun" control sequences option.
 
--------------------------------------------------------------------------------
 Imakefile               |    4 
 resize.c                |    8 
 resize.man              |   18 
 version.h               |    2 
 xterm-66/xterm.log.html | 1558 ++++++++++++++++++++++++++++++++++++++++++++++
 xtermcfg.hin            |    4 
 6 files changed, 1577 insertions, 17 deletions
--------------------------------------------------------------------------------
Index: Imakefile
--- xterm-65+/Imakefile Sun Oct 26 16:05:57 1997
+++ xterm-66/Imakefile  Mon Feb 16 17:06:38 1998
@@ -57,10 +57,6 @@
       FEATURE_DEFINES = -DDEBUG -DALLOWLOGGING
 #endif
 
-#if defined(NetBSDArchitecture) || defined(OpenBSDArchitecture) || (defined(FreeBSDArchitecture) && (OSMajorVersion < 2)) || (defined(SunArchitecture) && !defined(SVR4Architecture)) || defined(i386Sco325Architecture)
- TERMCAPDEFINES = -DNO_TERMCAP_H
-#endif
-
  OSMAJORVERSION = OSMajorVersion
  OSMINORVERSION = OSMinorVersion
 
Index: resize.c
--- xterm-65+/resize.c  Mon Dec 29 12:22:34 1997
+++ xterm-66/resize.c   Mon Feb 16 17:31:40 1998
@@ -87,7 +87,6 @@
 #define USE_SYSV_UTMP
 #else
 #define USE_TERMCAP
-#define NO_TERMCAP_H
 #endif
 #else /* else not SYSV */
 #define USE_TERMCAP
@@ -166,9 +165,10 @@
 
 #define        EMULATIONS      2
 #define        SUN             1
-#define        TIMEOUT         10
 #define        VT100           0
 
+#define        TIMEOUT         10
+
 #define        SHELL_UNKNOWN   0
 #define        SHELL_C         1
 #define        SHELL_BOURNE    2
@@ -251,7 +251,7 @@
 
 #ifdef USE_TERMCAP
 static char *strindex PROTO((char *s1, char *s2));
-#if !defined(NO_TERMCAP_H)
+#if HAVE_TERMCAP_H
 #include <termcap.h>
 #if defined(NCURSES_VERSION)
        /* The tgetent emulation function in SVr4-style curses implementations
@@ -263,7 +263,7 @@
 #endif
 #else
 #include <curses.h>
-#endif /* ! NO_TERMCAP_H  */
+#endif /* HAVE_TERMCAP_H  */
 #endif
 
 /*
Index: resize.man
--- xterm-65+/resize.man        Sun Nov 16 13:09:00 1997
+++ xterm-66/resize.man Mon Feb 16 18:06:50 1998
@@ -1,4 +1,6 @@
 .\" $TOG: resize.man /main/13 1997/11/04 20:58:24 kaleb $
+.\" $XFree86$
+.\" updated by Thomas Dickey <dickey@clark.net> for XFree86, Februrary 1998.
 .TH RESIZE 1 "Release 6.4" "X Version 11"
 .SH NAME
 resize \- set TERMCAP and terminal settings to current xterm window size
@@ -47,9 +49,20 @@
 .TP 8
 .B \-s \fR[\fIrows columns\fP]
 This option indicates that Sun console escape sequences will be used 
-instead of the special \fIxterm\fP escape code.  If \fIrows\fP and
+instead of the VT100-style \fIxterm\fP escape codes.
+If \fIrows\fP and
 \fIcolumns\fP are given, \fIresize\fP will ask the \fIxterm\fP to resize
 itself.  However, the window manager may choose to disallow the change.
+.sp
+Note that the Sun console escape sequences are recognized
+by XFree86 \fIxterm\fP and
+by \fIdtterm\fP.
+The \fIresize\fP program may be installed as \fIsunsize\fP,
+which causes makes it assume the \fB\-s\fP option.
+.sp
+The \fIrows\fP and
+\fIcolumns\fP arguments must appear last; though they are normally
+associated with the \fB\-s\fP option, they are parsed separately.
 .SH FILES
 .TP 15
 /etc/termcap
@@ -67,6 +80,3 @@
 See
 .IR X (1)
 for a complete copyright notice.
-.SH BUGS
-The \fB\-u\fP or \fB\-c\fP must appear to the left of \fB\-s\fP if both are 
-specified.
Index: version.h
--- xterm-65+/version.h Sat Feb  7 08:42:36 1998
+++ xterm-66/version.h  Mon Feb 16 17:12:28 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.9Ad(64)"
+#define XTERM_VERSION "XFree86 3.9Ad(66)"
Index: xterm.log.html
--- /dev/null   Sun Jul 17 19:46:18 1994
+++ xterm-66/xterm.log.html     Mon Feb 16 18:53:41 1998
@@ -0,0 +1,1558 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!--
+ *****************************************************************************
+ * Copyright 1997,1998 by Thomas E. Dickey (dickey@clark.net)                *
+ * All Rights Reserved.                                                      *
+ *                                                                           *
+ * Permission to use, copy, modify, and distribute this software and its     *
+ * documentation for any purpose and without fee is hereby granted, provided *
+ * that the above copyright notice appear in all copies and that both that   *
+ * copyright notice and this permission notice appear in supporting          *
+ * documentation, and that the name of the above listed copyright holder(s)  *
+ * not be used in advertising or publicity pertaining to distribution of the *
+ * software without specific, written prior permission.                      *
+ *                                                                           *
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD  *
+ * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND *
+ * FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE *
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES         *
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN     *
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   *
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.            *
+ *****************************************************************************
+  $XFree86$
+  -->
+<HTML>
+<HEAD>
+<TITLE>XTERM - Change Log</TITLE>
+<LINK REV=MADE HREF="mailto:dickey@clark.net">
+</HEAD>
+<BODY>
+<HR>
+Copyright 1997,1998 by Thomas E. Dickey
+<HR>
+<H1>Contents</H1>
+This file contains a list of the changes that I have made for XFree86 xterm,
+from the notes that I add when submitting a patch.
+<P>
+You should note that other changes have been made as well, by other people,
+to fix bugs and correct ifdef's for portability.  All of these are summarized
+in the XFree86 CHANGELOG (found in the unbundled tree,
+xc/programs/Xserver/hw/xfree86).
+
+<UL>
+<LI><A HREF="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad and 3.3.1d</A>
+<LI><A HREF="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad and 3.3.1c</A>
+<LI><A HREF="#xterm_64">Patch #64 - 1998/2/8 - XFree86 3.9Ad</A>
+<LI><A HREF="#xterm_63">Patch #63 - 1998/2/5 - XFree86 3.9Ad</A>
+<LI><A HREF="#xterm_62">Patch #62 - 1998/1/23 - XFree86 3.9Ac</A>
+<LI><A HREF="#xterm_61">Patch #61 - 1998/1/17 - XFree86 3.9Ac</A>
+<LI><A HREF="#xterm_60">Patch #60 - 1998/1/10 - XFree86 3.9Ab</A>
+<LI><A HREF="#xterm_59">Patch #59 - 1998/1/5 - XFree86 3.9Ab</A>
+<LI><A HREF="#xterm_58">Patch #58 - 1998/1/3 - XFree86 3.9Ab</A>
+<LI><A HREF="#xterm_57">Patch #57 - 1997/12/26 - XFree86 3.9Aa</A>
+<LI><A HREF="#xterm_56">Patch #56 - 1997/11/28 - XFree86 3.9x</A>
+<LI><A HREF="#xterm_55">Patch #55 - 1997/11/25 - XFree86 3.9x</A>
+<LI><A HREF="#xterm_54">Patch #54 - 1997/10/17 - XFree86 3.9s</A>
+<LI><A HREF="#xterm_53">Patch #53 - 1997/10/12 - XFree86 3.9r</A>
+<LI><A HREF="#xterm_52">Patch #52 - 1997/9/29 - XFree86 3.9q</A>
+<LI><A HREF="#xterm_51">Patch #51 - 1997/9/15 - XFree86 3.9p</A>
+<LI><A HREF="#xterm_50">Patch #50 - 1997/8/22 - XFree86 3.9m</A>
+<LI><A HREF="#xterm_49">Patch #49 - 1997/8/10 - XFree86 3.9k</A>
+<LI><A HREF="#xterm_48">Patch #48 - 1997/7/26 - XFree86 3.9j</A>
+<LI><A HREF="#xterm_47">Patch #47 - 1997/7/13 - XFree86 3.9i</A>
+<LI><A HREF="#xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</A>
+<LI><A HREF="#xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</A>
+<LI><A HREF="#xterm_44">Patch #44 - 1997/6/22 - XFree86 3.9g</A>
+<LI><A HREF="#xterm_43">Patch #43 - 1997/6/10 - XFree86 3.9d</A>
+<LI><A HREF="#xterm_42">Patch #42 - 1997/6/8 - XFree86 3.2Xl</A>
+<LI><A HREF="#xterm_41">Patch #41 - 1997/5/28 - XFree86 3.2Xl</A>
+<LI><A HREF="#xterm_40">Patch #40 - 1997/5/26 - XFree86 3.2Xl</A>
+<LI><A HREF="#xterm_39">Patch #39 - 1997/5/24 - XFree86 3.2Xl</A>
+<LI><A HREF="#xterm_38">Patch #38 - 1997/5/22 - XFree86 3.2Xh</A>
+<LI><A HREF="#xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</A>
+<LI><A HREF="#xterm_36">Patch #36 - 1997/1/16 - XFree86 3.2r</A>
+<LI><A HREF="#xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</A>
+<LI><A HREF="#xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</A>
+<LI><A HREF="#xterm_33">Patch #33 - 1996/11/24 - XFree86 3.2</A>
+<LI><A HREF="#xterm_32">Patch #32 - 1996/11/21 - XFree86 3.2</A>
+<LI><A HREF="#xterm_31">Patch #31 - 1996/11/16 - XFree86 3.2</A>
+<LI><A HREF="#xterm_30">Patch #30 - 1996/11/16 - XFree86 3.2</A>
+<LI><A HREF="#xterm_29">Patch #29 - 1996/9/15 - XFree86 3.1.2Gb</A>
+<LI><A HREF="#xterm_28">Patch #28 - 1996/8/31 - XFree86 3.1.2F</A>
+<LI><A HREF="#xterm_27">Patch #27 - 1996/8/21 - XFree86 3.1.2Ek</A>
+<LI><A HREF="#xterm_26">Patch #26 - 1996/8/20 - XFree86 3.1.2Ei</A>
+<LI><A HREF="#xterm_25">Patch #25 - 1996/8/18 - XFree86 3.1.2Ei</A>
+<LI><A HREF="#xterm_24">Patch #24 - 1996/8/11 - XFree86 3.1.2Ee</A>
+<LI><A HREF="#xterm_23">Patch #23 - 1996/7/31 - XFree86 3.1.2Ec</A>
+<LI><A HREF="#xterm_22">Patch #22 - 1996/7/26 - XFree86 3.1.2Ec</A>
+<LI><A HREF="#xterm_21">Patch #21 - 1996/7/24 - XFree86 3.1.2Ec</A>
+<LI><A HREF="#xterm_20">Patch #20 - 1996/7/24 - XFree86 3.1.2Ec</A>
+<LI><A HREF="#xterm_19">Patch #19 - 1996/7/21 - XFree86 3.1.2Ec</A>
+<LI><A HREF="#xterm_18">Patch #18 - 1996/7/18 - XFree86 3.1.2Ec</A>
+<LI><A HREF="#xterm_17">Patch #17 - 1996/7/2 - XFree86 3.1.2Eb</A>
+<LI><A HREF="#xterm_16">Patch #16 - 1996/6/25 - XFree86 3.1.2Ea</A>
+<LI><A HREF="#xterm_15">Patch #15 - 1996/5/29 - XFree86 3.1.2E</A>
+<LI><A HREF="#xterm_14">Patch #14 - 1996/5/12 - XFree86 3.1.2Dj</A>
+<LI><A HREF="#xterm_13">Patch #13 - 1996/4/23 - XFree86 3.1.2Df</A>
+<LI><A HREF="#xterm_12">Patch #12 - 1996/3/16 - XFree86 3.1.2Dc</A>
+<LI><A HREF="#xterm_11">Patch #11 - 1996/3/5 - XFree86 3.1.2Db</A>
+<LI><A HREF="#xterm_10">Patch #10 - 1996/2/14 - XFree86 3.1.2Cd</A>
+<LI><A HREF="#xterm_09">Patch #9 - 1996/2/10 - XFree86 3.1.2Cb</A>
+<LI><A HREF="#xterm_08">Patch #8 - 1996/2/9 - XFree86 3.1.2Cb</A>
+<LI><A HREF="#xterm_07">Patch #7 - 1996/1/28 - XFree86 3.1.2n</A>
+<LI><A HREF="#xterm_06">Patch #6 - 1996/1/8</A>
+<LI><A HREF="#xterm_05">Patch #5 - 1996/1/7</A>
+<LI><A HREF="#xterm_04">Patch #4 - 1996/1/7</A>
+<LI><A HREF="#xterm_03">Patch #3 - 1996/1/7</A>
+<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_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad and 3.3.1d</A></H1>
+
+This fixes the problem reported with failure to build the <EM>resize</EM>
+program (BSDI, OSF/1) due to not having &lt;termcap.h&gt;, by changing the
+ifdef to one that would be set only if the file exists (not currently
+specified, except by the standalone configure script).  We do not really need
+to include &lt;termcap.h&gt; to build, but only for a clean compile, since it
+may declare the tgetent() prototype.
+
+I also updated the man-page for <EM>resize</EM>, since I had recently noticed
+that it can be used to resize <EM>xterm</EM> using the "Sun" control sequences
+option.
+
+<H1><A NAME="xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad and 3.3.1c</A></H1>
+
+This is a small patch to xterm's 8-bit terminal description.  I noticed
+while testing ncurses that I had specified the wrong (VT100-style) codes
+for the F1-F4.  Xterm only uses VT220-style function keys in 8-bit mode.
+
+<H1><A NAME="xterm_64">Patch #64 - 1998/2/8 - XFree86 3.9Ad</A></H1>
+
+This fixes the following problems with xterm:
+<UL>
+       <LI>save/restore the ANSI foreground and background colors with the other
+         visible attributes in the save-cursor and restore-cursor operations. 
+         This works around a problem with vim, which apparently assumed that
+         switching between the normal and alternate screens resets the colors
+         (reported by Jim Battle &lt;jb@chromatic.com&gt;).
+<P>
+         It would be nice to implement save/restore cursor as a stack (and
+         solve this type of problem completely), but that would lead to
+         incompatibility with applications which assume they are running with a
+         VT100 or VT220.
+
+       <LI>corrects behavior of a restore-cursor operation which does not
+         follow a save-cursor (it is supposed to set the character sets
+         to a known initial state).
+
+       <LI>extends the sunKeyboard resource (and menu toggle) to modify the
+         home, end and delete keys on a Sun or PC editing keypad, making them
+         generate codes compatible with DEC VT220's Find, Select and Remove
+         keys.
+
+       <LI>corrects a length in checking command-line options, which caused the
+         "-help" message to not work when X was not running.
+
+       <LI>adds some detail to the man-page (requested by Jason Bacon
+         &lt;acadix@execpc.com&gt;)
+         
+       <LI>modify the standalone configure script to ignore the broken nsl and
+         socket libraries on IRIX 6.2 (the ones on 5.2 also are broken, so
+         this change just widens the check for the system version number).
+</UL>
+
+<H1><A NAME="xterm_63">Patch #63 - 1998/2/5 - XFree86 3.9Ad</A></H1>
+
+This is another patch from Bjorn Helgaas &lt;helgaas@rsn.hp.com&gt;, which I've
+reviewed (and learned some).  Following are his notes:
+<P>
+I poked around some more and finally got xterm-62 to build and run
+cleanly on HP-UX 10.20.  Here are the patches.  They look sort of
+ugly, so here's a little explanation:
+<UL>
+        <LI>aclocal.m4: Removed side effects from the AC_CACHE_VAL
+        commands in CF_FUNC_TGETENT.  Previously, LIBS was set inside
+        AC_CACHE_VAL, which worked fine the first time configure was
+        run, but failed if there were cached values.
+
+        <LI>aclocal.m4: Added temporary setting of LIBS before
+        AC_TRY_LINK in CF_FUNC_TGETENT.  Previously, the last value set
+        by the AC_TRY_RUN loop was used, so only -lcurses was checked.
+
+        <LI>configure.in: Added temporary setting of CPPFLAGS before
+        AC_CHECK_HEADERS for X11 files.  Previously &lt;X11/DECkeysym.h&gt;
+        and &lt;X11/Xpoll.h&gt; were found only if they were in the compiler's
+        default include directories, even if `--x-includes=DIR' had been
+        used or AC_PATH_XTRA had found them elsewhere.
+</UL>
+The problem on HP-UX was that we were linking with -lcurses rather than
+-ltermcap due to the second bullet above, and apparently something in
+HP-UX curses is broken.  This seems very strange, because the only thing
+used is tgetent, which should affect any tty/pty configuration, but I
+lost interest in tracking down the exact problem.
+
+<H1><A NAME="xterm_62">Patch #62 - 1998/1/23 - XFree86 3.9Ac</A></H1>
+
+This is a patch mostly by Bjorn Helgaas &lt;helgaas@dhc.net&gt; (I added the
+os2main.c change, and a little of the documentation).  From Bjorn's
+description:
+<UL>
+       <LI>If you use the "-hc &lt;color&gt;" option or set the "highlightColor"
+         resource, text is highlighted by changing only the background color,
+         rather than using reverse video.  I find this easier to read,
+         especially when selecting multi-colored text, and it is similar to
+         the way netscape shows selections.
+
+       <LI>Most of the code changes are under "#if OPT_HIGHLIGHT_COLOR".  The
+         principal exception is in screen.c, where I added a couple calls to
+         resetXtermGC().  This seems like it could be a bug even without
+         the color highlighting changes (though I don't pretend to understand
+         all the logic).
+</UL>
+
+<H1><A NAME="xterm_61">Patch #61 - 1998/1/17 - XFree86 3.9Ac</A></H1>
+
+This patch modifies the reset behavior of xterm slightly:
+<UL>
+       <LI>change the terminfo entry so that rs1 (one of the strings used by
+         the 'reset' program) does a hard reset rather than switching
+         character sets.  This is more in accord with other terminal
+         descriptions.
+
+       <LI>modifies the treatment of hard reset by the xterm program to
+         reset the saved lines.
+
+       <LI>corrects hard reset by also resetting user-defined keys (DECUDK).
+</UL>
+
+<H1><A NAME="xterm_60">Patch #60 - 1998/1/10 - XFree86 3.9Ab</A></H1>
+
+This fixes some minor bugs and adds new functionality:
+<UL>
+       <LI>add support for blinking text.
+<UL>
+         <LI>This does not actually cause the
+         text to flash, but text with the blink attribute can be displayed
+         in color, using new resources colorBL and colorBLMode.
+
+         <LI>If colors are not used, the blinking text will be displayed as
+         before (just like bold).  The main purpose of this is to make
+         applications work properly when they assume the emulator supports
+         blinking text.
+
+         <LI>I did this by moving the per-cell LINEWRAPPED flag to a per-line
+         flag, to make room for the new BLINK flag.  There were no per-line
+         flags, so this changes a lot of logic.
+</UL>
+
+       <LI>corrected missing save-cursor logic in the handling of SGR 1048
+         (the new control sequence I added in patch #54, 1997/10/17). 
+         Reported by Darren Hiebert.
+
+       <LI>flush the output of the transparent printing after each line
+         Reported by Tomas Vanhala &lt;vanhala@ling.helsinki.fi&gt;.
+
+       <LI>correct the modes that are affected by save/restore cursor by adding
+         WRAPAROUND and PROTECTED.
+
+       <LI>corrected placement of one of the XSync calls that I added in patch
+         #51, 1997/9/15, which had the side-effect of writing on the window
+         border when the xterm was resizing from 132 to 80 columns.
+
+       <LI>work around an incompatibility of the XKB definition used in xterm
+         versus that symbol from IRIX 6.2's imake definitions (by adjusting
+         the standalone configure script).
+</UL>
+
+<H1><A NAME="xterm_59">Patch #59 - 1998/1/5 - XFree86 3.9Ab</A></H1>
+
+My last patch has an off-by-one error in the comparison for argc.  Douglas
+Kosovic &lt;douglask@dstc.edu.au&gt; showed me where (he got a core dump). 
+Also, I think this explains Clint Olsen's problem, but the symptoms were more
+subtle (EINVAL for a system call if the -display option is omitted).
+
+<H1><A NAME="xterm_58">Patch #58 - 1998/1/3 - XFree86 3.9Ab</A></H1>
+
+This patch does the following:
+<UL>
+       <LI>implement logic to permit xterm to work with proportional fonts.
+<UL>
+         <LI>Thomas Wolff
+         &lt;Thomas.Wolff@sietec.de&gt;
+         requested this (but it isn't exactly what he's asking
+         for - that's a more involved task).
+
+         <LI>I chose to do this by rendering the characters on a fixed pitch,
+         because it would not be useful for existing applications to display
+         varying numbers of characters on each line.
+
+         <LI>Except that this forces the display to be wider, it works reasonably
+         well.  A couple of special cases (reverse + colorBD, for example)
+         do not display with proper colors, since the inter-character gaps
+         are painted with the background.
+</UL>
+
+       <LI>added a version number to the program (several people have requested
+         this).
+
+       <LI>make the -version and -help options interpreted before the program
+         attempts to open the display.
+
+       <LI>minor reorganization of the man-page (ordered the options, resources
+         and translations alphabetically - and eliminated some duplication).
+
+       <LI>corrected a misspelled filename in Makefile.in, and added a lint
+         rule.
+
+       <LI>updated the configure script to correct behavior when it cannot
+         find imake, as well as to fix the IRIX+gcc build (conflict with
+         /usr/include).
+
+       <LI>regenerated the configure script with a newer patch to autoconf
+         that fixes a problem with environment space vs the configure --help
+         message.
+</UL>
+<H1><A NAME="xterm_57">Patch #57 - 1997/12/26 - XFree86 3.9Aa</A></H1>
+
+This patch is mostly concerned with the standalone configure script; a few
+minor corrections are added:
+<UL>
+       <LI>add configure option --disable-tek4014, to allow xterm to be built
+         without the tek4014 emulation.
+
+       <LI>add configure option --with-terminal-type, to allow xterm to be
+         compiled with default $TERM value other than "xterm" (e.g.,
+         "xterm-16color") -- requested by Stephen Marley &lt;stephen@memex.com&gt;.
+
+       <LI>fix a typo in the configure --help message -- reported by Darren
+         Hiebert &lt;darren@hmi.com&gt;.
+
+       <LI>review diffs between main.c and os2main.c, to make them more alike.
+         (applies some minor bugfixes to OS/2's version).
+
+       <LI>add missing quotes in memmove/bcopy configure test
+</UL>
+
+
+<H1><A NAME="xterm_56">Patch #56 - 1997/11/28 - XFree86 3.9x</A></H1>
+
+This patch is based on analysis by Arfst Ludwig &lt;arfst@luxor.IN-Berlin.DE&gt;,
+who reported:
+<dl>
+<P>
+       Setting the following resources xterm (all current versions) receives a
+       segmentation fault on &lt;Btn2Up&gt; after scrolling:
+<PRE>
+         *XTerm*VT100*translations:    #override \
+             ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
+             Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
+             ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
+             Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
+</PRE>
+       (The above resources intention is to be able to paste the latest
+       selection even if the xterm was cleared.)
+<P>
+       And here is how it works (and a fix!):  The widget given to the action
+       handler as first argument is not guaranteed to be a XtermWidget (it can
+       be the ScrollbarWidget).  Instead of accessing the widget's member
+       directly XtDisplay gives the required pointer in a safe way.
+</dl>
+I noticed that this was not the only instance (by reading the code, and testing
+with his example), and extended the solution to check the widget-class to
+ensure that it is indeed xterm's widget class before attempting to use it in
+the context of translations.
+
+<H1><A NAME="xterm_55">Patch #55 - 1997/11/25 - XFree86 3.9x</A></H1>
+
+This fixes the segmentation violation noted by Rogier Wolff about a month
+ago.  He'd set xterm to 400 (rows) by 150 columns, which broke because there
+were limited buffers (200 rows) used for juggling data when adding or deleting
+lines and for switching between alternate and normal screens.  I replaced this
+by an allocated buffer.
+<P>
+The bug is simple to test if you set titeInhibit false.
+
+<H1><A NAME="xterm_54">Patch #54 - 1997/10/17 - XFree86 3.9s</A></H1>
+
+This patch does the following:
+<UL>
+       <LI>correct a minor placement problem with the right scrollbar.
+
+       <LI>implement a new set of control sequences for switching between the
+         normal and alternate VT100 screens.  These work around the older
+         sequences limitation that required modification of the runtime
+         $TERMCAP to cooperate with the titeInhibit resource (that can't work
+         with terminfo).  I do this by moving all of the functionality of the
+         rmcur terminfo capability into the control sequences.
+
+       <LI>implement the alternate-screen menu entry
+</UL>
+
+<H1><A NAME="xterm_53">Patch #53 - 1997/10/12 - XFree86 3.9r</A></H1>
+
+This patch adds a fix and implements a new feature (as well as some minor
+typos):
+<UL>
+       <LI>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a problem
+         with the wait call with the logging option.  It hung when the logfile
+         was opened as a command-line option.  I fixed this by moving the
+         StartLogging() call down past the place where I'd reset the setuid
+         mode.  So the logfile is opened as the real user, without having
+         to fork.
+
+       <LI>Michael Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt; sent
+         me a patch which implements right-scrollbars for xterm.  I used that
+         as a starting point, renamed the command-line options and reduced
+         the number of ifdef's.
+</UL>
+
+<H1><A NAME="xterm_52">Patch #52 - 1997/9/29 - XFree86 3.9q</A></H1>
+
+This patch addresses bugs and requests reported by
+<UL>
+       <LI>Bob Maynard &lt;rmaynard@montana.com&gt;,
+       <LI>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,
+       <LI>JCHANDRA@Inf.COM (JCHANDRA),
+       <LI>Michael Schroeder &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,
+       <LI>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;
+</UL>
+
+Some of the changes are interrelated (it was an unusually busy week).
+<UL>
+
+       <LI>change the default resource value for colorMode to true, matching
+         the Xterm.ad file.
+
+       <LI>correct behavior of 'ech' control, making the default and 0
+         parameters erase one character rather than to the end of line
+         (reported by Michael Schroeder).
+
+       <LI>add resource boldColors, command-line options +pc and -pc and
+         configure-script option to specify behavior of xterm's mapping bold
+         colors 0 through 7 to colors 8 through 15.
+         (request by Pablo Ariel Kohan).
+
+       <LI>add resource colorAttrMode to specify whether colorULMode and
+         colorBDMode can override the ANSI colors
+         (from a problem report by Clint Olsen).
+
+       <LI>correct a conflict between colorULMode/colorBDMode versus ANSI
+         colors, where exposure events would occasionally pick up the
+         former (e.g., colorBD) rather than ANSI colors.  Testing the
+         colorAttrMode made this apparent, though it has been in the
+         code since 3.2A (patch #35 in Jan 1997).
+
+       <LI>correct two problems with the optional logging support.  On Linux
+         at least, the waitpid call in creat_as hangs when the logging is
+         toggled from the popup menu.  Also, the mktemp template has the wrong
+         number of X's (since X11R5!).  Fixed the waitpid problem by
+         exploiting the fact that the setuid behavior is reset before the
+         popup menus are available.
+         (reported by Jayachandran C.).
+
+       <LI>add configure script options for building with the Xaw3d and neXtaw
+         libraries.
+
+       <LI>correct CF_IMAKE_CFLAGS standalone configure script macro, so that it
+         will pick up $(ALLDEFINES) rather than $(STD_DEFINES).  This is
+         needed to make scrollbars work on Linux, since that uses narrow
+         prototypes.
+         (reported by Bob Maynard).
+
+       <LI>various minor updates to configure-script macros.
+</UL>
+
+<H1><A NAME="xterm_51">Patch #51 - 1997/9/15 - XFree86 3.9p</A></H1>
+
+Most of this patch is related to the standalone configure script, though
+there are fixes/enhancements as well:
+<UL>
+       <LI>add a new resource sunKeyboard, with associated command-line
+         option and menu-toggle that allows using a normal Sun or PC
+         keyboard to generated the complete DEC-style function keys
+         and keypad.
+
+       <LI>correct a reversed foreground/background test in the control
+         sequence that replies with the current SGR settings.
+
+       <LI>correct, by invoking XSync, a display problem that caused the
+         program to not properly update newly exposed areas when a font
+         change or 80/132 resize request was not completely accepted.
+
+       <LI>restructured autoconf macros (I made a library of all of the
+         macros across the complicated configure scripts I'm working on).
+
+       <LI>use the autoconf config.guess and config.sub scripts to better
+         identify the host-os.
+
+       <LI>improve the configure script that uses 'imake' as a fallback for
+         definitions.
+
+       <LI>correct several instances of unsigned/signed mixed expressions.
+</UL>
+
+I've tested the configure script on Linux, SunOS 4.1.3, Solaris 2.5.1,
+IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but the last run properly
+as well).
+
+<H1><A NAME="xterm_50">Patch #50 - 1997/8/22 - XFree86 3.9m</A></H1>
+
+This is a collection of small fixes, and a couple of minor enhancements:
+<UL>
+       <LI>plug a security hole in the implementation of Media Copy (print)
+         by invoking setuid just before the main loop.
+
+       <LI>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX, which allows
+         the program to process SIGWINCH events (this is a bug in X11R6.3)  
+
+       <LI>add state-table entries for VT52 emulation to enter/exit keypad
+         application mode.
+
+       <LI>disable the popup-menu entry for 8-bit controls when the terminal-id
+         is less than 200 (e.g., VT52 or VT100).
+
+       <LI>ensure that the popup-menu entry for 8-bit controls is updated when
+         the application enables/disables this mode, including the response
+         to a full-reset.
+
+       <LI>implement VT300 DECBKM feature: set interpretation of the backarrow
+         key to either backspace or delete.  The initial setting is via
+         resource; it can also be modified in the main popup menu.
+
+       <LI>implement VTxxx KAM (ISO AM), which allows a keyboard to be locked
+         (i.e., the terminal discards input).
+
+       <LI>implement VTxxx SRM, which is used to control local echoing of
+         input on the terminal.
+
+       <LI>add terminfo and termcap entries for xterm-8bit, a variation of
+         the xterm description that uses 8-bit control characters.
+
+       <LI>add fallback definitions for Imakefile to allow it to work on some
+         X11R5 systems that have no SpecialCObjectRule or ProgramTargetName
+         macros.
+
+       <LI>add .c.o and .c.i rules to standalone Makefile.in
+
+       <LI>correct order of -lXmu and -lXext in standalone configure script.
+
+       <LI>add configure script options to allow selective disabling of
+         active-icon, input-method and i18n code (mainly for users with X11R5
+         or an incomplete X11R6 configuration).
+
+       <LI>change menu-indices from #define's to enum values, thereby making
+         it work better with the ifdef's for logging and active-icon (the
+         X11R6.3 active-icon code is incorrectly ifdef'd; this corrects an
+         error introduced by incorporating that code).
+
+       <LI>correct minor compile errors in the configuration where active-icon
+         is not used.
+
+       <LI>add configure option to suppress echoing of long compiler commands
+
+       <LI>correct spelling of decTerminalID in configure script help message
+
+       <LI>use gcc __attribute__((unused)) to quiet warnings about unused
+         parameters when compiling with -W (to make it simpler to find the
+         real problems).
+</UL>
+
+<H1><A NAME="xterm_49">Patch #49 - 1997/8/10 - XFree86 3.9k</A></H1>
+
+This patch implements the VT100/VT220 Media Copy (i.e., print-screen) control
+sequences.
+
+<H1><A NAME="xterm_48">Patch #48 - 1997/7/26 - XFree86 3.9j</A></H1>
+
+This patch does the following (all but the first affect only the standalone
+configure script):
+<UL>
+       <LI>minor correction to positioning of underlines for small (e.g., 5x8)
+         font size.
+       <P>
+         The existing behavior allowed underlines to be drawn outside the
+         character-cell, so they weren't cleared properly under some
+         circumstances.
+
+       <LI>adds more special-case tokens to the standalone configure script's
+         imake-option filter (e.g., "&&", since a "make -n main.o" on my IRIX
+         system uses that shell construct).
+
+       <LI>adds a '--enable-logging' option for the standalone configure script.
+
+       <LI>adds check and ifdef's for the standalone configure script to allow
+         for building on platforms with X11R6, which lacks Xpoll.h (introduced
+         in X11R6.1).
+</UL>
+
+<H1><A NAME="xterm_47">Patch #47 - 1997/7/13 - XFree86 3.9i</A></H1>
+
+This patch does the following
+<UL>
+       <LI>corrects an indexing error in the doublesize character logic
+         (button.c) that caused core dump (this was reported by J.  Wunsch).
+       <LI>corrects the logic of ShowCursor when it is painting in a doublesize
+         cell (charproc.c).
+       <LI>corrects, according to vttest, the behavior when switching to
+         doublesize characters and back again (doublechr.c).
+       <LI>adds cbt (back_tab) to the terminfo description (this was something
+         that I'd overlooked as applicable to curses optimization last
+         summer).
+       <LI>corrects, for the standalone xmc test, the logic for disabling xmc.
+</UL>
+
+<H1><A NAME="xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</A></H1>
+
+This is a patch to provide test-support for some work I'm doing on ncurses.  It
+does not modify the normal configuration of xterm; the code is compiled if the
+standalone configure option "--enable-xmc-glitch" is specified.
+
+<H1><A NAME="xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</A></H1>
+
+This fixes the problem reported with xterm's cursor color versus the background
+(the second chunk in this patch) and also removes some duplicate initialization
+of the cursor GC's.  If the cursor color at startup is the same as the
+background, then xterm will use the reverse GC, ignoring the setting of the
+colorMode resource.
+
+<H1><A NAME="xterm_44">Patch #44 - 1997/6/22 - XFree86 3.9g</A></H1>
+
+This implements the first part of the VT100 doublesize characters for xterm,
+as well as fixing a handful of bugs:
+<UL>
+       <LI>the doublesize character support uses the normal font (using scaled
+         fonts will be another patch) with blanks to simulate doublesize
+         characters.  This patch does most of the global changes that'll be
+         required.  I've hidden most of the details in macros and ifdefs so
+         it's easy to configure out (part of the patch is a configure option
+         for that purpose).
+
+       <LI>corrected limits in DeleteChar() function -- it's always ignored the
+         size of the left border and scrollbar.  I noticed this when working
+         on the doublesize characters since the glitch was doubled in size
+         (i.e., it wrapped some garbage around the right margin).
+
+       <LI>corrected 'memmove()' logic, for standalone builds (it referenced a
+         malloc wrapper from my development library).
+
+       <LI>add a check for HideCursor() to prevent repeated screen updates
+         (which can cause a spurious cursor glitch to appear, e.g., during
+         scrolling).  I noticed this with the 3.2A version (but only a few
+         weeks ago, when I started working on this patch).
+</UL>
+
+<H1><A NAME="xterm_43">Patch #43 - 1997/6/10 - XFree86 3.9d</A></H1>
+
+Here's a fix for two problems:
+<UL>
+       <LI>modify handling of tgetent results in xterm and resize programs to
+         make them tolerant of missing termcap file, or unknown terminal name.
+         In this scheme, an explicit "-tn" option will succeed, overriding
+         the fallback list.
+
+       <LI>a nit in the configure script (log extra information to help diagnose
+         which case of the test-compile of tgetent was used).
+</UL>
+
+<H1><A NAME="xterm_42">Patch #42 - 1997/6/8 - XFree86 3.2Xl</A></H1>
+
+Bram Moolenaar reported that the cursor color changed unexpectedly while
+scrolling.  The cause was that it used the same GC's as the logic that draws
+the ANSI colors.  The bug only appears if the cursorColor resource isn't set,
+and has been present since the initial implementation early last year.  (The
+same bug also appears in rxvt ;-).  Here's a fix.
+
+<H1><A NAME="xterm_41">Patch #41 - 1997/5/28 - XFree86 3.2Xl</A></H1>
+
+Some nits found by Darren Hiebert (missing part of install-rule, incorrect
+assignment for --enable-color-mode option).
+
+<H1><A NAME="xterm_40">Patch #40 - 1997/5/26 - XFree86 3.2Xl</A></H1>
+
+Patch for the configure script's logic for obtaining imake predefined
+symbols.
+
+<H1><A NAME="xterm_39">Patch #39 - 1997/5/24 - XFree86 3.2Xl</A></H1>
+
+This patch does the following:
+<UL>
+       <LI>integrate the 16-color change for 'xterm'
+
+       <LI>minor fixes/clarification of tgetent in terminfo vs termcap to
+         'resize'
+</UL>
+
+(both changes also modify the configure script)
+
+<H1><A NAME="xterm_38">Patch #38 - 1997/5/22 - XFree86 3.2Xh</A></H1>
+
+This implements a simple configuration script with autoconf (to which I'll
+add more options later).  It does the following:
+<UL>
+       <LI>configures xterm to build with X11R5 (at least on SunOS 4.1, Solaris
+         2.4, possibly IRIX - sorry network was down today, but I did test
+         an earlier version yesterday).
+
+       <LI>enables/disables the configuration ifdefs for ANSI color and VT52
+         emulation.
+</UL>
+It does not make tests for the things that imake does (that's another project),
+instead it uses a hybrid of the autoconf tests for libraries and adds imake's
+compiler options (which are necessary in some cases to get main.c to compile).
+
+<H1><A NAME="xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</A></H1>
+
+This corrects a minor, but annoying error in the vt220 emulation: the DECUDK
+is only supposed to be interpreted for _shifted_ function keys.
+
+<H1><A NAME="xterm_36">Patch #36 - 1997/1/16 - XFree86 3.2r</A></H1>
+
+This corrects something that I overlooked in patch #27 (21-aug-1996), which is
+that when trimming the region to be repainted for the highlightSelection
+resource of xterm, I still have to paint the background past the highlighted
+region.  This only happens when I first do a selection in a window that's
+partly off-screen, then move the window on-screen.
+
+<H1><A NAME="xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</A></H1>
+
+This patch does the following:
+<UL>
+       <LI>combines the coding for foreground and background colors into a
+         single byte, reducing the memory required to store saved-lines in
+         color.  (I'll take back that byte in a following patch to use to
+         ensure the character-set, so there's no long-term decrease in memory
+         use).
+
+       <LI>modifies the PF1-PF4 coding in termcap/terminfo.  Because xterm is
+         still by default emulating vt100, the function key codes are
+         vt100-compatible (I overlooked this in patch #31).
+
+         I also reformatted the whole terminfo file into a single-column,
+         for consistency.
+
+       <LI>adds an interim xterm-vt220 description to accommodate the old and new
+         styles of function-keys (though probably it'd be better to drop the
+         old-style altogether).
+</UL>
+
+<H1><A NAME="xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</A></H1>
+
+This patch does the following:
+<UL>
+       <LI>implement DECSTR (soft terminal reset).  The biggest diff is due to
+         adding another state table (note that there's only one useful state
+         here, but it's only 256 bytes rather than 1k as it would have been
+         before I reduced the size of state entries).
+
+       <LI>some minor tidying up (e.g., signed/unsigned use bitcpy, MODE_DECCKM,
+         resetColor, resetCharsets).  More is done in patch #35.
+</UL>
+
+I got the description of DECSTR from a vt420 user's manual.  I'll do some
+testing with vttest to ensure that there's nothing else to do than what was
+documented.
+
+<H1><A NAME="xterm_33">Patch #33 - 1996/11/24 - XFree86 3.2</A></H1>
+
+This adds to the reset-fix by Matthieu Herrb &lt;Mathieu.Herrb@mipnet.fr&gt; a
+small change to make xterm able to output 8-bit characters in VT100 mode. 
+
+Applications that run on real VT100's don't do that anyway, and this feature
+should be removed sometime after finishing off the VT220 emulation (VT220's can
+do 8-bit characters).  That would be a good time to change the default
+terminal-id to 220.
+
+<H1><A NAME="xterm_32">Patch #32 - 1996/11/21 - XFree86 3.2</A></H1>
+
+This implements the REP (repeat) control for xterm.  That isn't part of the DEC
+VTxxx series, but is defined in ISO 6429.  (Note that the base xterm terminal
+description is <EM>not</EM> changed -- I added a variant, "xterm-rep").
+
+<H1><A NAME="xterm_31">Patch #31 - 1996/11/16 - XFree86 3.2</A></H1>
+
+This implements vt52 emulation in xterm (ifdef'd so it can be removed).
+I've been using it for testing for the past month or so.
+
+<H1><A NAME="xterm_30">Patch #30 - 1996/11/16 - XFree86 3.2</A></H1>
+
+From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis Auroux), missing reset to
+ground state.  I checked through the rest of <EM>that</EM> table and found another,
+in the unimplemented MC (screen print).
+
+<H1><A NAME="xterm_29">Patch #29 - 1996/9/15 - XFree86 3.1.2Gb</A></H1>
+
+This patch does the following:
+<UL>
+       <LI>corrects the restoration of color for bold/underline color mode
+
+       <LI>adds a resource 'decTerminalID' to control the reporting level of
+         xterm (e.g., VT100, VT220).
+
+       <LI>uses the new resource to implement/correct the DA1, DA2 and
+         DECRPTUI reports.
+
+       <LI>change valid-response code in DECRQSS from 0 to 1 (the manual says 0,
+         but the VT420 terminal I've been testing on says 1).
+</UL>
+
+All of these changes are based on vttest 2.6
+<P>
+(Most of the volume in the patch is to add 2 more state tables for parsing
+the 2nd/3rd device-attribute controls).
+
+<H1><A NAME="xterm_28">Patch #28 - 1996/8/31 - XFree86 3.1.2F</A></H1>
+
+This patch corrects the following reported by Roland Rosenfeld
+&lt;roland@spinnaker.rhein.de&gt;:
+<UL>
+       <LI>handle SGR 22, 24 and 25 in combination with colorUL and colorBD
+         resources.  Also noted & fixed reset of colored underline/bold
+         with SGR 0.
+
+       <LI>a typo in the termcap (missing '['), from 3.1.2Dj (my error)
+</UL>
+
+Roland also complained that he couldn't use box characters with
+<PRE>
+       -adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
+</PRE>
+but that's a known xterm limitation (the box characters must be part of the
+font, in the first 32 locations).
+
+<H1><A NAME="xterm_27">Patch #27 - 1996/8/21 - XFree86 3.1.2Ek</A></H1>
+
+This patch fixes one of my long-term gripes:  xterm's selection doesn't clearly
+show what's being selected (as per David's request, it's controlled by a
+resource, which defaults to the older behavior).
+
+<H1><A NAME="xterm_26">Patch #26 - 1996/8/20 - XFree86 3.1.2Ei</A></H1>
+
+Here's a patch to fix a problem with xterm's cut/paste and another to modify
+the appearance of the highlighting while selecting.  (The changes are
+independent, so you can see if the change to screen.c is desirable).
+
+<H1><A NAME="xterm_25">Patch #25 - 1996/8/18 - XFree86 3.1.2Ei</A></H1>
+
+Here's a correction for two minor bugs that I picked up in testing, plus
+some lint (from Solaris 2.5) where NULL was used incorrectly:
+<UL>
+       <LI>make the second alternate font the same as the first (that's what
+         vt420 and dtterm do)
+
+       <LI>corrected DECSCL report when DECSCL hasn't been set (i.e., don't
+         return a '60').
+</UL>
+
+<H1><A NAME="xterm_24">Patch #24 - 1996/8/11 - XFree86 3.1.2Ee</A></H1>
+
+This patch does several things.  In effect, xterm can (I think) do a reasonably
+good job of emulating vt220 and vt320 terminals (as well as it was doing
+vt100, at any rate ;-).
+<P>
+It does NOT do:
+<UL>
+       <LI>soft fonts
+
+       <LI>rigel or sixel graphics
+</UL>
+<P>
+Anyway, I:
+<UL>
+
+       <LI>added ECH, CPL, CNL, SU, SD, CBT, CHT controls
+
+       <LI>added popup-menu for switching between DEC and Sun function keys.
+         (corrected alignment err wrt logging entry at that point).
+
+       <LI>make xterm recognize both 8-bit and 7-bit controls (including
+         popup menu for switching modes).
+
+       <LI>add user-definable function keys (aka DECUDK)
+
+       <LI>support concealed text
+
+       <LI>support protected text (both ISO compatible and DEC compatible -
+         that's not the same thing, btw), with SPA, EPA, DECSCA, DECSED,
+         DECSEL controls.
+
+       <LI>implement DECSCL.
+</UL>
+<P>
+I'll be continuing to test this patch for a while, but don't expect to add any
+new functionality (it passes all of the current tests I've built in vttest, but
+I need to make more tests)..
+
+<H1><A NAME="xterm_23">Patch #23 - 1996/7/31 - XFree86 3.1.2Ec</A></H1>
+
+This removes the blinking cursor I added last week (for performance reasons). 
+Time-permitting, I'll revisit this after 3.2 is released (there <EM>will</EM> be more
+work after XFree86 3.2, I assume).
+
+<H1><A NAME="xterm_22">Patch #22 - 1996/7/26 - XFree86 3.1.2Ec</A></H1>
+
+I looked more closely at my "double-negative" and realized that I had been
+confused by the default color scheme (black on white) in combination with
+reverse video.  However, I did see that the original_fg and original_bg data
+weren't really used - so I removed that logic.
+<P>
+Also:
+<UL>
+       <LI>during initialization, check if ANSI colors are set with non fg/bg
+         values, disable color mode if not.  This makes xterm tolerant of
+         applications that allocate the whole color map.
+
+       <LI>implemented blinking cursor (default is <EM>off</EM>)
+</UL>
+
+<H1><A NAME="xterm_21">Patch #21 - 1996/7/24 - XFree86 3.1.2Ec</A></H1>
+
+This patch does the following:
+<UL>
+       <LI>fixes some minor typography in the control-sequences documentation
+         (it didn't occur to me til I'd sent the last patch that I could use
+         ghostview for previewing the troff output ;-)
+
+       <LI>adjusts the shell's background color in ReverseVideo so that flicker
+         in resizing is reduced
+
+       <LI>adds an ifdef OPT_ISO_COLORS to allow configuring xterm without
+         the ISO color support (saves a lot of memory)
+
+       <LI>used that ifdef to isolate/modify logic so that if the user doesn't
+         have the colorMode enabled, then ISO color support is disabled (saving
+         memory).
+       <P>
+         (If anyone needs numbers, I had savedLines set to 2000, and found
+         a reduction from ~700k to ~400k of allocated memory, according to
+         Purify).
+</UL>
+
+<H1><A NAME="xterm_20">Patch #20 - 1996/7/24 - XFree86 3.1.2Ec</A></H1>
+
+This documents the changes in control sequences for window operations that
+I added in my previous patch.  I'm testing another patch that allows the
+user to use less memory if colors aren't needed.
+
+<H1><A NAME="xterm_19">Patch #19 - 1996/7/21 - XFree86 3.1.2Ec</A></H1>
+
+This patch does the following:
+<UL>
+       <LI>fixes the core dump that I reported on IRIX 5.2 (in main.c)
+       <P>
+         (it's worth noting that this bug exists in X11R6.1, so I'd like
+         to assume that someone's already submitted a fix to X Consortium...)
+
+       <LI>change the interpretation of zero rows or columns in a resize-window
+         request to use the root window's size (looking more carefully at
+         dtterm, that seems to be what it does).
+
+       <LI>change some memmove calls to memcpy for slightly better performance.
+         (also, a couple of memset calls to bzero - Quantify says bzero runs
+         20% faster, I assume because there's one less argument).
+
+       <LI>interpret character sets 1 and 2 (so that vttest gives a reasonable
+         result) Both rxvt and dtterm do something equivalent.
+
+       <LI>fix a minor memory leak in the logic that retrieves the window or
+         icon names (Purify found this for me while I ran vttest).
+</UL>
+
+<H1><A NAME="xterm_18">Patch #18 - 1996/7/18 - XFree86 3.1.2Ec</A></H1>
+
+This implements the following:
+<UL>
+       <LI>escape sequences that act like the CDE dtterm's window operations
+         (though I have implemented the default width and height -- I've seen
+         a rather buggy dtterm running that seems to treat width=0 or height=0
+         literally -- maybe that's a feature, not a bug?)
+
+       <LI>minor tweak to the screen-repainting when resizing (I still cannot
+         entirely get rid of flicker).
+
+       <LI>still more fixes to terminfo & termcap (I corrected my error for
+         the hpa code and added some other stuff by comparing to ncurses'
+         description and rxvt's).
+
+       <LI>a tweak to the patch by Michael Rohleder for the color translation
+
+       <LI>re-order attribute codes to allow later implementation of protected
+         fields (dtterm supposedly does this; it's probably more useful than
+         blinking or invisible text -- that uses up all of the available bits
+         without changing the attribute scheme radically).
+</UL>
+
+<H1><A NAME="xterm_17">Patch #17 - 1996/7/2 - XFree86 3.1.2Eb</A></H1>
+
+This patch implements for xterm several minor features from ISO 6429 which are
+useful for terminfo applications.  The HPA and VPA control sequences allow
+cursor movement along a row or column, cutting down a little on the characters
+transmitted.  The other codes allow resetting specific graphic rendition
+attributes without modifying the other attributes.
+
+(now if someone just had time to implement blinking cursors...)
+
+<H1><A NAME="xterm_16">Patch #16 - 1996/6/25 - XFree86 3.1.2Ea</A></H1>
+
+Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks ago that I'd missed
+some of the background coloring in xterm.  I investigated, and found that while
+I'd picked up on the clear-to-bottom and clear-to-end-of-line operations, I'd
+overlooked the insert/delete lines.  Just so I wouldn't overlook any more of
+these, I updated a copy of vttest to test ISO colors and bce (background color
+erase).  This patch introduces a new function, ClearCurBackground, whose calls
+replace the direct XClearArea calls that I'd overlooked.
+
+(There's also a few compiler warnings fixed, etc ;-)
+
+<H1><A NAME="xterm_15">Patch #15 - 1996/5/29 - XFree86 3.1.2E</A></H1>
+
+This fixes the problem reported by David Dawes, by making the 50msec select
+timeout for the Xaw3d arrow scrollbar a resource.  (I made it a boolean for a
+variety of reasons -- to make it a number, you'd need an additional resource,
+to avoid breaking the logic).
+
+<H1><A NAME="xterm_14">Patch #14 - 1996/5/12 - XFree86 3.1.2Dj</A></H1>
+
+This patch brings the termcap and terminfo descriptions for xterm up to date.
+I made the following changes:
+<UL>
+       <LI>reformatted the terminfo description in a single-column (this is ok
+         for terminfo, and will simplify future patches -- can't do that for
+         termcap, since it would impact buffer requirements on some systems).
+
+       <LI>omitted obsolete features in termcap to save a little space (bs, pt)
+
+       <LI>added color capabilities to termcap (ut, Co, NC, op, AB, AF)
+
+       <LI>corrected some capabilities (vi, ve)
+
+       <LI>added 'st' (set tab)
+
+       <LI>reduced function keys in termcap for 'xterm' to 12 because color
+         capabilities makes that description larger than 1023 characters.
+
+       <LI>created new termcap name 'xtermm' (monochrome) to match the terminfo
+         list, and make that description have 20 function keys.
+
+       <LI>added corresponding color capabilities to terminfo (bce, colors,
+         pairs, op, ncv, setab, setaf)
+
+       <LI>corrected corresponding capabilities in terminfo (civis, cnorm,
+         rmcup, smcup)
+
+       <LI>added capabilities (el1, hts)
+
+       <LI>in both, corrected home/end keys to match the code correction made
+         by Thomas Mueller in 3.1.2Bk
+         
+         =&gt; (I'm still considering modifying the code & description to match
+             the rxvt program).
+</UL>
+
+<H1><A NAME="xterm_13">Patch #13 - 1996/4/23 - XFree86 3.1.2Df</A></H1>
+
+This corrects my earlier changes for colors - the inner border of the xterm was
+getting painted with the wrong color, since I'd moved the call to set the
+background into the logic that tracks SGR information.
+
+<H1><A NAME="xterm_12">Patch #12 - 1996/3/16 - XFree86 3.1.2Dc</A></H1>
+
+This corrects a memory leak in xterm that happens whenever one switches fonts.
+
+<H1><A NAME="xterm_11">Patch #11 - 1996/3/5 - XFree86 3.1.2Db</A></H1>
+
+This patch corrects the behavior of the ANSI colors in xterm when reverse
+video is used, as well as some other lesser sins:
+<UL>
+       <LI>button.c
+<UL>
+               <LI>(compiler warnings: shadowing of 'time', redundant cast)
+</UL>
+
+       <LI>charproc.c
+<UL>
+               <LI>renamed screen.colors[] array to screen.Acolors[] to more
+               easily distinguish the non-ANSI colors from the ANSI colors.
+
+               <LI>moved logic of SGR_Save() into VTInitialize, getting rid of
+               local private variables original_fg and original_bg.
+
+               <LI>moved some logic into getXtermForeground and getXtermBackground
+               from SGR_Foreground, SGR_Background, etc.
+
+               <LI>corrected misleading 'row' to 'col' in case for CUF, CUB
+               sequences.
+</UL>
+
+       <LI>ctlseqs.ms
+       <LI>xterm.man
+<UL>
+               <LI>(correct a misconception which I'd added that the color0
+               through color6 resource values apply to non-ANSI colors)
+</UL>
+
+       <LI>ptyx.h
+<UL>
+               <LI>added original_fg, original_bg to TScreen structure.
+</UL>
+
+       <LI>scrollbar.c
+<UL>
+               <LI>(compiler warnings: redundant cast)
+</UL>
+
+       <LI>util.c
+<UL>
+               <LI>new functions getXtermForeground and getXtermBackground replace
+               the macros GET_FG and GET_BG, with the added functionality of
+               checking for the reverse-video status of xterm.
+
+               <LI>in ReverseVideo, swap the SGR foreground and background colors
+               also.
+</UL>
+</UL>
+
+<H1><A NAME="xterm_10">Patch #10 - 1996/2/14 - XFree86 3.1.2Cd</A></H1>
+
+I observed an occasional glitch in the xterm's color behavior; a clear to end
+of line would get a color that had been used in a program that supposedly reset
+colors.  I traced this down to the way xterm was modifying colors of GC's on
+the fly; it didn't restore the original color of the GC, even though it would
+later be used in functions (such as ClearRight) that assumed (my error) that
+the GC would have the current foreground or background color.
+<P>
+I fixed this by resetting the GC's colors with a new function 'resetXtermGC()',
+and direct calls on SGR_Foreground/SGR_Background, as appropriate and using a
+new function 'updatedXtermGC()' to encapsulate the logic that modifies the GC's
+color.  (I also removed some commented-out code that was trying to do this --
+the problem was a little more obscure).
+
+<H1><A NAME="xterm_09">Patch #9 - 1996/2/10 - XFree86 3.1.2Cb</A></H1>
+
+This patch fixes the remaining problems that I had making xterm run with x11r5,
+as well as a couple of other bugs.  It follows my patch from yesterday, that
+added ifdef's for some of the input-method resources.
+<UL>
+       <LI>corrected ifdef's that suppress the input-method code (doesn't
+         exist in my x11r5, and xterm works adequately without it).
+
+       <LI>corrected fallback definition for 'Select()' macro (oops: I'd
+         copied the wrong text...)
+
+       <LI>moved the declarations for the fd_set variables to data.[ch]
+
+       <LI>corrected an ifdef in resize.c (sunos 4.x doesn't have termcap.h)
+
+       <LI>corrected (in main.c) some unused/orphaned variables.
+</UL>
+
+<H1><A NAME="xterm_08">Patch #8 - 1996/2/9 - XFree86 3.1.2Cb</A></H1>
+
+This is mostly a documentation patch for xterm.  It describes the color control
+sequences in more detail, and documents some other features of xterm that
+aren't described elsewhere.
+<P>
+I've also added a couple of ifdef's to fix (part of) the problem that I'm
+working on (making the program work properly on x11r5, where I'm doing memory
+testing -- I have a "good" version from mid-January, but my resync version
+doesn't work properly on x11r5).  I'm not done with <EM>that</EM> yet.
+
+<H1><A NAME="xterm_07">Patch #7 - 1996/1/28 - XFree86 3.1.2n</A></H1>
+
+I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF).  I've got an S3 card.
+<P>
+This fixes the following in the 3.1.2n xterm:
+<UL>
+       <LI>initialize cur_foreground, cur_background in charproc.c (Purify
+         told me they weren't initialized).
+
+       <LI>add interpretation of codes 39, 49, to reset background and
+         foreground to default value (I'm told that ISO 6429 does this; but I
+         don't have a written reference -- yet -- can anyone help here?). 
+         Anyway, rxvt does it, and it'll solve my remaining color management
+         problems.
+
+       <LI>shadowing of 'time' in menu.c
+
+       <LI>'Cardinal' vs 'int' in scrollbar.c
+
+       <LI>several changes to permit compile with X11R5 (the system that I've
+         got Purify on won't be upgraded to X11R6 for a long time).
+</UL>
+<P>
+I built this version (with a minor nit that I'll patch soon) on SunOS 4.1.3 so
+that I can test it some more with Purify.
+<P>
+<EM>btw</EM>:
+the changes made in Xpoll.h won't work on some older systems, because
+       fd_set isn't a defined type (I've got one machine at least that this
+       applies to).
+
+<H1><A NAME="xterm_06">Patch #6 - 1996/1/8</A></H1>
+
+This patch does all of the SGR foreground/background fixes (i.e., clearing the
+screen after an SGR color is set causes that color to be used in the foreground
+and/or background).  If the FG_COLOR and/or BG_COLOR flags aren't set, then the
+xterm foreground and background default to the window's values.  This usage is
+consistent with various types of hardware (especially the IBM PC), and is also
+used in rxvt.
+<UL>
+       <LI>charproc.c:
+<UL>
+               <LI>add/use new macros GET_FG, GET_BG - n/c.
+
+               <LI>add/use new functions SGR_Foreground() and SGR_Background()
+                 to set corresponding colors in GC's, and to retain sense of
+                 "original" colors.
+
+                 <P>
+                 =&gt; This makes redundant some of the corresponding logic
+                    in HideCursor to set the foreground and background,
+                    but I left it in since it <EM>may</EM> be fixing an unrelated
+                    requirement.
+
+               <LI>set GC's in LoadNewFont() according to whether the SGR fg/bg
+                 colors are active.
+
+                 <P>
+                 =&gt; This fixes some glitches in the accompanying resize,
+                    that leaves parts of the window in the original
+                    background color.
+</UL>
+
+       <LI>screen.c:
+<UL>
+               <LI>modified ClearBufRows() to use the SGR fg/bg colors if
+                 they're set.
+
+               <LI>added function ScrnClearLines(), used this to replace
+                 portions of ScrnInsertLine() and ScrnDeleteLine().
+                 The new function uses the SGR fg/bg colors if they're
+                 set.
+                 
+                 <P>
+                 =&gt; Otherwise, selection after an index or reverse index will
+                    paint the wrong colors.
+
+               <LI>modified ScrnDeleteChar() and ScrnInsertChar()
+                 to use SGR fg/bg colors.
+</UL>
+
+       <LI>util.c:
+<UL>
+               <LI>modified ClearRight() so that if either of the SGR fg/bg
+                 colors is set, we don't bzero the attributes and color
+                 arrays, but instead fill them with the appropriate codes.
+
+               <LI>modified ClearLeft to use SGR fg/bg colors.
+</UL>
+</UL>
+
+<H1><A NAME="xterm_05">Patch #5 - 1996/1/7</A></H1>
+
+This patch modifies the object code, by replacing indexing expressions with
+temporary variables with the full indexing expression.  At first glance, this
+seems inefficient (it did to me ;-), until remembering comments made in the
+compilers newsgroups that trying to "help" the compiler doesn't really work
+that well.  A good optimizing compiler can do a better job than the programmer
+can.  (There's a moral in the use of 'register' variables also, but I won't fix
+those...).
+<P>
+Anyway, the revised code generates a smaller object...
+<UL>
+<LI>charproc.c:
+<UL>
+<LI>recode index expressions in ShowCursor() and HideCursor()
+                 using SCRN_BUF_xxxxS macros - changes object.
+
+<LI>replace constant '4' by MAX_PTRS - n/c.
+</UL>
+
+<LI>ptyx.h:
+<UL>
+<LI>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
+                 macros, to pick up references to ScrnBuf data directly, and
+                 added MAX_PTRS symbol to pick up those '4' constants strewn
+                 about the code - n/c.
+</UL>
+
+<LI>screen.c:
+<UL>
+<LI>recode index expressions in ScreenWrite() using
+                 SCRN_BUF_xxxxS macros - changes object.
+
+<LI>replace constant '4' by MAX_PTRS - n/c.
+
+<LI>use macros BUF_CHARS, BUF_ATTRS - n/c.
+
+<LI>cast calloc to 'Char *' to fix compiler warning on IRIX - n/c
+</UL>
+
+<LI>scrollbar.c:
+<UL>
+<LI>replace constant '4' by MAX_PTRS - n/c.
+
+<LI>cast calloc to 'Char *' to fix compiler warning on IRIX - n/c
+</UL>
+</UL>
+
+<H1><A NAME="xterm_04">Patch #4 - 1996/1/7</A></H1>
+When setting up for this phase, I saw that you'd corrected the bug that I found
+in ClearLeft.  I decided to make this series of patches anyway, since
+readability never hurt (and there's the potential for finding another bug while
+reviewing this set).
+<UL>
+<LI>button.c:
+<UL>
+<LI>use SCRN_BUF_xxxxS macros - n/c
+</UL>
+<LI>charproc.c:
+<UL>
+<LI>use SCRN_BUF_xxxxS macros - n/c
+</UL>
+<LI>ptyx.h:
+<UL>
+<LI>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
+                 SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four
+                 arrays that are derived from screen-&gt;buf.
+</UL>
+<LI>screen.c:
+<UL>
+<LI>use SCRN_BUF_xxxxS macros - n/c
+</UL>
+<LI>util.c:
+<UL>
+<LI>use SCRN_BUF_xxxxS macros - n/c
+</UL>
+</UL>
+<H1><A NAME="xterm_03">Patch #3 - 1996/1/7</A></H1>
+
+This is my third (and final cleanup) patch for xterm.  It gets rid of the
+unused stuff, and converts several functions to static (thereby reducing their
+scope).
+<P>
+At this point, the only compile warnings I've got (on Linux) are those about
+the select arguments (int vs fd_set type), and a missing declaration for
+waitpid.  Those both are hard to get right without autoconfigure.
+<P>
+The next patches will address the functional changes...
+<UL>
+<LI>Tekproc.c:
+<UL>
+<LI>changed several functions to 'static' that aren't used
+outside this module -- changes object
+</UL>
+<LI>charproc.c:
+<UL>
+<LI>changed several functions to 'static' that aren't used
+outside this module -- changes object
+<LI>deleted unused function unparsefputs -- changes object.
+</UL>
+<LI>main.c:
+<UL>
+<LI>changed several functions to 'static' that aren't used
+outside this module -- changes object
+<LI>ifdef'd out unused function 'consolepr()' -- changes object
+<LI>removed unused variable 'dummy_tio' -- changes object
+<LI>moved variable 'discipline' to quiet unused-warning -- changes object
+</UL>
+<LI>main.h:
+<UL>
+<LI>deleted unused definition of DEFBORDERWIDTH - n/c
+</UL>
+<LI>misc.c:
+<UL>
+<LI>changed several functions to 'static' that aren't used
+outside this module -- changes object
+<LI>provide dummy return statements for xerror and xioerror to
+quiet compiler warnings -- changes object
+</UL>
+<LI>ptyx.h:
+<UL>
+<LI>change sbuf_address and abuf_address to 'Char *' - n/c
+</UL>
+<LI>resize.c:
+<UL>
+<LI>changed several functions to 'static' that aren't used outside this module
+-- changes object
+</UL>
+<LI>screen.c:
+<UL>
+<LI>remove unnecessary 'Char **' casts - n/c
+</UL>
+<LI>util.c:
+<UL>
+<LI>changed several functions to 'static' that aren't used outside this module
+-- changes object
+</UL>
+</UL>
+<H1><A NAME="xterm_02">Patch #2 - 1996/1/7</A></H1>
+This is my second patch to xterm.  It corrects most of the gcc warnings (except
+for some that are due to X header files ;-).  I compared objects to keep track
+of the changes that don't affect the object code (n/c) versus those that do.
+<P>
+At this point, I'm compiling (fairly) clean with gcc options
+<PRE>
+       -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
+</PRE>
+(I also compiled with -Wshadow, but while that found some things that I wanted
+to find, there's far too many warnings from the X headers to be usable in this
+context).
+<P>
+The changes:
+<UL>
+<LI>Tekproc.c:
+<UL>
+<LI>parenthesized expression to avoid gcc warning -- n/c.
+
+<LI>corrected nested-extern declaration for Bool
+                 waiting_for_initial_map; ourTopLevelShellArgs, and
+                 number_ourTopLevelShellArgs - n/c
+
+</UL>
+<LI>charproc.c:
+<UL>
+<LI>corrected potentially-unintialized variables 'scstype', 'xim',
+                 and 'input_style' -- changes object.
+
+<LI>adjusted logic of VTparse so that gcc won't warn about setjmp
+                 clobbering parsestate -- changes object.
+
+<LI>corrected initialization of 'scstype', which could have been
+                 clobbered by setjmp/longjmp - changes object.
+
+<LI>corrected nested-extern declaration of 'term', 'ProgramName'
+                 - n/c
+</UL>
+
+<LI>cursor.c:
+<UL>
+<LI>corrected nested-extern declaration of 'term' -- n/c
+
+<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
+</UL>
+
+<LI>input.c:
+<UL>
+<LI>change interface of StringInput to assume size_t (i.e.,
+                 unsigned) nbytes -- changes object.
+
+<LI>change interface of funcvalue, and sunfuncvalue to use
+                 'KeySym' type instead of 'int' - changes object.
+</UL>
+
+<LI>main.c:
+<UL>
+<LI>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h - n/c
+
+<LI>corrected missing params of 'do_hangup()' -- changes object
+                 (note: the missing params were not used).
+
+<LI>corrected missing param of 'Error()' -- changes object
+
+<LI>corrected nested-extern 'environ' - n/c
+
+<LI>adjusted assignments to 'tty_got_hung' and 'no_dev_tty' so
+                 that gcc can see they won't be clobbered by the longjmp -
+                 changes object.
+
+<LI>use Size_t type - n/c.
+</UL>
+
+<LI>menu.c:
+<UL>
+<LI>removed redundant prototype for 'do_hangup()' -- n/c.
+
+<LI>renamed 'time' parameters to avoid gcc -Wshadow warning - n/c
+</UL>
+
+<LI>menu.h:
+<UL>
+<LI>renamed 'time' parameters to avoid gcc -Wshadow warning - n/c
+</UL>
+
+<LI>misc.c:
+<UL>
+<LI>corrected definition of 'HandleFocusChange()' -- changes
+                 object
+
+<LI>cast parameters in call to 'TekExpose()' -- n/c
+
+<LI>corrected nested-extern declarations of 'term', 'toplevel',
+                 ProgramName, and 'environ' -- n/c.
+
+<LI>use Size_t type - n/c.
+</UL>
+
+<LI>proto.h:
+<UL>
+<LI>moved definition of SIGNAL_T (and SIGNAL_RETURN) here from
+                 main.c, resize.c to allow use of this symbol in prototypes
+                 (mostly in xterm.h).
+
+<LI>added definition 'Size_t' to use as corrected type for
+                 strncpy, malloc sizes - n/c.
+</UL>
+
+<LI>resize.c:
+<UL>
+<LI>moved SIGNAL_T definition to proto.h -- n/c.
+
+<LI>use Size_t type - n/c.
+</UL>
+
+<LI>screen.c:
+<UL>
+<LI>use Size_t type - n/c.
+</UL>
+
+<LI>tabs.c:
+<UL>
+<LI>corrected nested-extern declaration of 'term' -- n/c
+</UL>
+
+<LI>util.c:
+<UL>
+<LI>corrected/supplied parameters to 'TekExpose()' -- changes
+                 object (note:  'TekExpose()' doesn't use its parameters).
+
+<LI>corrected nested-extern declaration of
+                 'waiting_for_initial_map' -- n/c.
+
+<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
+</UL>
+
+<LI>xterm.h:
+<UL>
+<LI>prototype 'do_hangup()', 'HandleFocusChange()',
+                 'TekExpose()', 'Error()', 'Exit()' - forces changes in
+                 various places.
+
+<LI>adjusted prototypes that pass 'Boolean' arguments to use
+                 'int' (this is the "correct" ANSI approach to extended
+                 compiles; it's worth mentioning that gcc doesn't meet the
+                 ANSI spec here).  I used gcc -Wconversion to find these, but
+                 there's a lot of unrelated warnings that are due to setting
+                 NARROWPROTO in the config - n/c.
+
+<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
+</UL>
+</UL>
+<H1><A NAME="xterm_01">Patch #1 - 1996/1/6</A></H1>
+This is my first cleanup patch for xterm.  It addresses all of the gcc warnings
+for -Wall, -Wmissing-prototypes and -Wstrict-prototypes that I can change
+without modifying the object code.  (I'm compiling this with gcc 2.7.0 for an
+aout target, which makes it simple to compare objects.  When I do ELF-only,
+I've got a tool that compares that sort of thing as well).
+<P>
+Briefly, this patch adds (and uses) two header files in the xterm directory:
+<PRE>
+       proto.h
+       xterm.h
+</PRE>
+I expect this to be the biggest patch by far.  However (barring a misplaced
+prototype), it shouldn't break anything, since the intent of the patch is to
+provide missing declarations.
+</BODY>
+</HTML>
Index: xtermcfg.hin
--- xterm-65+/xtermcfg.hin      Sun Jan 25 09:19:53 1998
+++ xterm-66/xtermcfg.hin       Mon Feb 16 17:06:33 1998
@@ -76,10 +76,6 @@
 extern char *my_strerror();
 #endif
 
-#if !HAVE_TERMCAP_H && !defined(NO_TERMCAP_H)
-#define NO_TERMCAP_H
-#endif
-
 #if !HAVE_X11_XPOLL_H
 #define NO_XPOLL_H     /* X11R6.1 & up use Xpoll.h for select() definitions */
 #endif