diff options
Diffstat (limited to 'nx-X11/programs/xterm/xterm.log.html')
-rw-r--r-- | nx-X11/programs/xterm/xterm.log.html | 6641 |
1 files changed, 6641 insertions, 0 deletions
diff --git a/nx-X11/programs/xterm/xterm.log.html b/nx-X11/programs/xterm/xterm.log.html new file mode 100644 index 000000000..d9628696d --- /dev/null +++ b/nx-X11/programs/xterm/xterm.log.html @@ -0,0 +1,6641 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!-- + ***************************************************************************** + * Copyright 1996-2004,2005 by Thomas E. Dickey * + * 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. * + ***************************************************************************** + $XTermId: xterm.log.html,v 1.347 2005/11/13 23:10:36 tom Exp $ + $XFree86: xc/programs/xterm/xterm.log.html,v 1.143 2005/11/13 23:10:36 dickey Exp $ + --> +<HTML> +<HEAD> +<TITLE>XTERM - Change Log</TITLE> +<LINK REV=MADE HREF="mailto:dickey@invisible-island.net"> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +</HEAD> +<BODY> +<HR> +Copyright 1997-2004,2005 by <A +HREF="mailto:dickey@invisible-island.net">Thomas E. Dickey</A> +<HR> +<H1>Contents</H1> +This file contains a list of the changes that I have made for 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. +Most of these are summarized in the XFree86 CHANGELOG +(found in the unbundled tree, xc/programs/Xserver/hw/xfree86). +<a href="http://invisible-island.net/xterm/xterm.log.html">Here</a> +is the latest version of this file. + +<UL> +<LI><A HREF="#xterm_207">Patch #207 - 2005/11/13 - XFree86 4.5.99.16</A> +<LI><A HREF="#xterm_206">Patch #206 - 2005/11/3 - XFree86 4.5.99.15</A> +<LI><A HREF="#xterm_205">Patch #205 - 2005/9/18 - XFree86 4.5.99.12</A> +<LI><A HREF="#xterm_204">Patch #204 - 2005/8/4 - XFree86 4.5.99.9</A> +<LI><A HREF="#xterm_203">Patch #203 - 2005/7/6 - XFree86 4.5.99.7</A> +<LI><A HREF="#xterm_202">Patch #202 - 2005/5/2 - XFree86 4.5.99.3</A> +<LI><A HREF="#xterm_201">Patch #201 - 2005/4/21 - XFree86 4.5.99.2</A> +<LI><A HREF="#xterm_200">Patch #200 - 2005/2/6 - XFree86 4.4.99.23</A> +<LI><A HREF="#xterm_199">Patch #199 - 2005/1/17 - XFree86 4.4.99.22</A> +<LI><A HREF="#xterm_198">Patch #198 - 2005/1/13 - XFree86 4.4.99.21</A> +<LI><A HREF="#xterm_197">Patch #197 - 2004/11/30 - XFree86 4.4.99.19</A> +<LI><A HREF="#xterm_196">Patch #196 - 2004/8/15 - XFree86 4.4.99.12</A> +<LI><A HREF="#xterm_195">Patch #195 - 2004/8/8 - XFree86 4.4.99.11</A> +<LI><A HREF="#xterm_194">Patch #194 - 2004/7/27 - XFree86 4.4.99.11</A> +<LI><A HREF="#xterm_193">Patch #193 - 2004/7/19 - XFree86 4.4.99.10</A> +<LI><A HREF="#xterm_192">Patch #192 - 2004/7/12 - XFree86 4.4.99.9</A> +<LI><A HREF="#xterm_191">Patch #191 - 2004/6/6 - XFree86 4.4.99.7</A> +<LI><A HREF="#xterm_190">Patch #190 - 2004/5/25 - XFree86 4.4.99.6</A> +<LI><A HREF="#xterm_189">Patch #189 - 2004/5/16 - XFree86 4.4.99.6</A> +<LI><A HREF="#xterm_188">Patch #188 - 2004/5/12 - XFree86 4.4.99.6</A> +<LI><A HREF="#xterm_187">Patch #187 - 2004/4/27 - XFree86 4.4.99.4</A> +<LI><A HREF="#xterm_186">Patch #186 - 2004/4/18 - XFree86 4.4.99.4</A> +<LI><A HREF="#xterm_185">Patch #185 - 2004/3/3 - XFree86 4.4</A> +<LI><A HREF="#xterm_184">Patch #184 - 2003/12/31 - XFree86 4.3.99.903</A> +<LI><A HREF="#xterm_183">Patch #183 - 2003/12/26 - XFree86 4.3.99.903</A> +<LI><A HREF="#xterm_182">Patch #182 - 2003/12/2 - XFree86 4.3.99.901</A> +<LI><A HREF="#xterm_181">Patch #181 - 2003/10/26 - XFree86 4.3.99.15</A> +<LI><A HREF="#xterm_180">Patch #180 - 2003/10/12 - XFree86 4.3.99.15</A> +<LI><A HREF="#xterm_179">Patch #179 - 2003/5/21 - XFree86 4.3.99.5</A> +<LI><A HREF="#xterm_178">Patch #178 - 2003/5/18 - XFree86 4.3.99.5</A> +<LI><A HREF="#xterm_177">Patch #177 - 2003/3/23 - XFree86 4.3.0</A> +<LI><A HREF="#xterm_176">Patch #176 - 2003/3/22 - XFree86 4.3.0</A> +<LI><A HREF="#xterm_175">Patch #175 - 2003/3/9 - XFree86 4.3.0</A> +<LI><A HREF="#xterm_174">Patch #174 - 2003/2/25 - XFree86 4.2.99.903</A> +<LI><A HREF="#xterm_173">Patch #173 - 2003/2/6 - XFree86 4.2.99.902</A> +<LI><A HREF="#xterm_172">Patch #172 - 2002/12/27 - XFree86 4.2.99.3</A> +<LI><A HREF="#xterm_171">Patch #171 - 2002/12/12 - XFree86 4.2.99.3</A> +<LI><A HREF="#xterm_170">Patch #170 - 2002/10/13 - XFree86 4.2.1</A> +<LI><A HREF="#xterm_169">Patch #169 - 2002/10/5 - XFree86 4.2.1</A> +<LI><A HREF="#xterm_168">Patch #168 - 2002/9/29 - XFree86 4.2.1</A> +<LI><A HREF="#xterm_167">Patch #167 - 2002/8/24 - XFree86 4.2.0</A> +<LI><A HREF="#xterm_166">Patch #166 - 2002/3/25 - XFree86 4.2.0</A> +<LI><A HREF="#xterm_165">Patch #165 - 2002/1/5 - XFree86 4.1.0</A> +<LI><A HREF="#xterm_164">Patch #164 - 2001/11/13 - XFree86 4.1.0</A> +<LI><A HREF="#xterm_163">Patch #163 - 2001/11/04 - XFree86 4.1.0</A> +<LI><A HREF="#xterm_162">Patch #162 - 2001/10/23 - XFree86 4.1.0</A> +<LI><A HREF="#xterm_161">Patch #161 - 2001/10/10 - XFree86 4.1.0</A> +<LI><A HREF="#xterm_160">Patch #160 - 2001/10/7 - XFree86 4.1.0</A> +<LI><A HREF="#xterm_159">Patch #159 - 2001/9/19 - XFree86 4.1.0</A> +<LI><A HREF="#xterm_158">Patch #158 - 2001/9/8 - XFree86 4.1.0</A> +<LI><A HREF="#xterm_157">Patch #157 - 2001/6/18 - XFree86 4.1.0</A> +<LI><A HREF="#xterm_156">Patch #156 - 2001/4/28 - XFree86 4.0.3</A> +<LI><A HREF="#xterm_155">Patch #155 - 2001/4/20 - XFree86 4.0.3</A> +<LI><A HREF="#xterm_154">Patch #154 - 2001/4/11 - XFree86 4.0.3</A> +<LI><A HREF="#xterm_153">Patch #153 - 2001/3/29 - XFree86 4.0.3</A> +<LI><A HREF="#xterm_152">Patch #152 - 2001/3/13 - XFree86 4.0.2</A> +<LI><A HREF="#xterm_151">Patch #151 - 2001/3/10 - XFree86 4.0.2</A> +<LI><A HREF="#xterm_150">Patch #150 - 2000/12/29 - XFree86 4.0.2</A> +<LI><A HREF="#xterm_149">Patch #149 - 2000/12/6 - XFree86 4.0.1h</A> +<LI><A HREF="#xterm_148">Patch #148 - 2000/10/31 - XFree86 4.0.1d</A> +<LI><A HREF="#xterm_147">Patch #147 - 2000/10/26 - XFree86 4.0.1c</A> +<LI><A HREF="#xterm_146">Patch #146 - 2000/9/12 - XFree86 4.0.1c</A> +<LI><A HREF="#xterm_145">Patch #145 - 2000/9/11 - XFree86 4.0.1c</A> +<LI><A HREF="#xterm_144">Patch #144 - 2000/8/23 - XFree86 4.0.1b</A> +<LI><A HREF="#xterm_143">Patch #143 - 2000/8/19 - XFree86 4.0.1b</A> +<LI><A HREF="#xterm_142">Patch #142 - 2000/8/18 - XFree86 4.0.1b</A> +<LI><A HREF="#xterm_141">Patch #141 - 2000/7/14 - XFree86 4.0.1b</A> +<LI><A HREF="#xterm_140">Patch #140 - 2000/7/23 - XFree86 4.0.1</A> +<LI><A HREF="#xterm_139">Patch #139 - 2000/6/17 - XFree86 4.0d</A> +<LI><A HREF="#xterm_138">Patch #138 - 2000/6/15 - XFree86 4.0c</A> +<LI><A HREF="#xterm_137">Patch #137 - 2000/6/10 - XFree86 4.0b</A> +<LI><A HREF="#xterm_136">Patch #136 - 2000/6/3 - XFree86 4.0b</A> +<LI><A HREF="#xterm_135">Patch #135 - 2000/5/29 - XFree86 4.0b</A> +<LI><A HREF="#xterm_134">Patch #134 - 2000/5/28 - XFree86 4.0b</A> +<LI><A HREF="#xterm_133">Patch #133 - 2000/5/2 - XFree86 4.0a</A> +<LI><A HREF="#xterm_132">Patch #132 - 2000/4/11 - XFree86 4.0a</A> +<LI><A HREF="#xterm_131">Patch #131 - 2000/3/3 - XFree86 3.9.18b</A> +<LI><A HREF="#xterm_130">Patch #130 - 2000/3/1 - XFree86 3.9.18a</A> +<LI><A HREF="#xterm_129">Patch #129 - 2000/2/26 - XFree86 3.9.18a</A> +<LI><A HREF="#xterm_128">Patch #128 - 2000/2/17 - XFree86 3.9.18</A> +<LI><A HREF="#xterm_127">Patch #127 - 2000/2/12 - XFree86 3.9.17e</A> +<LI><A HREF="#xterm_126">Patch #126 - 2000/2/8 - XFree86 3.9.17c</A> +<LI><A HREF="#xterm_125">Patch #125 - 2000/1/31 - XFree86 3.9.17c</A> +<LI><A HREF="#xterm_124">Patch #124 - 2000/1/27 - XFree86 3.9.17b</A> +<LI><A HREF="#xterm_123">Patch #123 - 2000/1/22 - XFree86 3.9.17a</A> +<LI><A HREF="#xterm_122">Patch #122 - 1999/12/28 - XFree86 3.9.16f</A> +<LI><A HREF="#xterm_121">Patch #121 - 1999/11/14 - XFree86 3.9.16c</A> +<LI><A HREF="#xterm_120">Patch #120 - 1999/10/28 - XFree86 3.9.16c</A> +<LI><A HREF="#xterm_119">Patch #119 - 1999/10/16 - XFree86 3.9.16c</A> +<LI><A HREF="#xterm_118">Patch #118 - 1999/10/5 - XFree86 3.9.16b</A> +<LI><A HREF="#xterm_117">Patch #117 - 1999/9/29 - XFree86 3.9.16b</A> +<LI><A HREF="#xterm_116">Patch #116 - 1999/9/25 - XFree86 3.9.16a</A> +<LI><A HREF="#xterm_115">Patch #115 - 1999/9/18 - XFree86 3.9.16a</A> +<LI><A HREF="#xterm_114">Patch #114 - 1999/9/15 - XFree86 3.9.16</A> +<LI><A HREF="#xterm_113">Patch #113 - 1999/8/15 - XFree86 3.9.15b</A> +<LI><A HREF="#xterm_112">Patch #112 - 1999/7/17 - XFree86 3.9Pw</A> +<LI><A HREF="#xterm_111">Patch #111 - 1999/7/10 - XFree86 3.9Pw</A> +<LI><A HREF="#xterm_110">Patch #110 - 1999/6/29 - XFree86 3.9Pu</A> +<LI><A HREF="#xterm_109">Patch #109 - 1999/6/23 - XFree86 3.9Pt</A> +<LI><A HREF="#xterm_108">Patch #108 - 1999/6/19 - XFree86 3.9Ps</A> +<LI><A HREF="#xterm_107">Patch #107 - 1999/6/12 - XFree86 3.9Pq</A> +<LI><A HREF="#xterm_106">Patch #106 - 1999/6/9 - XFree86 3.9Pq</A> +<LI><A HREF="#xterm_105">Patch #105 - 1999/6/5 - XFree86 3.9Pp</A> +<LI><A HREF="#xterm_104">Patch #104 - 1999/5/30 - XFree86 3.9Pn</A> +<LI><A HREF="#xterm_103">Patch #103 - 1999/5/14 - XFree86 3.9Pm</A> +<LI><A HREF="#xterm_102">Patch #102 - 1999/5/12 - XFree86 3.9Pm</A> +<LI><A HREF="#xterm_101">Patch #101 - 1999/5/10 - XFree86 3.9Pm</A> +<LI><A HREF="#xterm_100">Patch #100 - 1999/5/3 - XFree86 3.9Pl</A> +<LI><A HREF="#xterm_99">Patch #99 - 1999/5/2 - XFree86 3.9Pk</A> +<LI><A HREF="#xterm_98">Patch #98 - 1999/4/26 - XFree86 3.9Pk</A> +<LI><A HREF="#xterm_97">Patch #97 - 1999/4/25 - XFree86 3.9Pk</A> +<LI><A HREF="#xterm_96">Patch #96 - 1999/4/19 - XFree86 3.9Pj</A> +<LI><A HREF="#xterm_95">Patch #95 - 1999/4/5 - XFree86 3.9Ph</A> +<LI><A HREF="#xterm_94">Patch #94 - 1999/3/27 - XFree86 3.9Pf</A> +<LI><A HREF="#xterm_93">Patch #93 - 1999/3/14 - XFree86 3.9Pd</A> +<LI><A HREF="#xterm_92">Patch #92 - 1999/2/5 - XFree86 3.9Nz</A> +<LI><A HREF="#xterm_91">Patch #91 - 1999/1/21 - XFree86 3.9Nw</A> +<LI><A HREF="#xterm_90">Patch #90 - 1998/12/13 - XFree86 3.9Nq</A> +<LI><A HREF="#xterm_89">Patch #89 - 1998/11/20 - XFree86 3.9Nm</A> +<LI><A HREF="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk and 3.3.2h</A> +<LI><A HREF="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj and 3.3.2f</A> +<LI><A HREF="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj and 3.3.2e</A> +<LI><A HREF="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj and 3.3.2e</A> +<LI><A HREF="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni and 3.3.2e</A> +<LI><A HREF="#sync_83">Resync #83 - 1998/10/7 - XFree86 3.3.2e</A> +<LI><A HREF="#xterm_83">Patch #83 - 1998/8/25 - XFree86 3.9Nb</A> +<LI><A HREF="#xterm_82">Patch #82 - 1998/7/15 - XFree86 3.9Aj</A> +<LI><A HREF="#xterm_81">Patch #81 - 1998/7/14 - XFree86 3.9Aj</A> +<LI><A HREF="#xterm_80">Patch #80 - 1998/6/29 - XFree86 3.9Ai</A> +<LI><A HREF="#xterm_79">Patch #79 - 1998/6/28 - XFree86 3.9Ai</A> +<LI><A HREF="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah and 3.3.2</A> +<LI><A HREF="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah and 3.3.2</A> +<LI><A HREF="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah and 3.3.2</A> +<LI><A HREF="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah and 3.3.2</A> +<LI><A HREF="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag and 3.3.2</A> +<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> +<LI><A HREF="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad and 3.3.2</A> +<LI><A HREF="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad and 3.3.1z</A> +<LI><A HREF="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad and 3.3.1e</A> +<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_207">Patch #207 - 2005/11/13 - XFree86 4.5.99.16</A></H1> +<ul> + <li>enable <code>lastlogx</code> support for NetBSD (was added, but + not enabled in <a href="#xterm_186">patch #186</a>). + + <li>work around broken <code>lastlog.h</code> in glibc 2.3.5, which + includes <code>utmp.h</code>. + + <li>revert part of recent XFree86 Imakefile change, restoring the + <code>-I.</code> needed for <code>xmkmf</code> builds of xterm + (XFree86 Bugzilla #1633, reports by Alexander Pohoyda and Matthieu + Herrb). + + <li>change compiled-in default for <code>printerCommand</code> + resource to an empty string. People who want to use the + printer should be able to read the manual (Debian #311490). + + <li>modify <code>Imakefile</code> to work around old problems in + <code>imake</code> configuration to allow test-builds using + <code>xmkmf</code> on Linux. (This was not noticed since several + releases had broken definitions relating to Xft which were harder + to work around). + + <li>link <code>resize</code> for SCO platforms (Kean Johnston). +</ul> + +<H1><A NAME="xterm_206">Patch #206 - 2005/11/3 - XFree86 4.5.99.15</A></H1> +<ul> + <li>add configure <code>--with-app-defaults</code> option to allow + app-defaults directory for install-rules to be customized. + + <li>remove default translations for <code>dabbrev-expand()</code> + due to conflicts with existing keyboard arrangements. + + <li>remove redundant check for <code>_NET_WM_PID</code> + (report by Emanuele Giaquinta). + + <li>set icon border width explicitly to work around fvwm problem + with active icon resizing (report by Steve Morris, analysis + by Dominik Vogt). + + <li>modify resource files to make the font-resources a little + more specific, e.g., changing "*VT100*" to "*VT100.", to + make the distinction between VT100.font and VT100.utf8Fonts.font + sharper, in case a packager modifies one of those. + + <li>expanded comments in <code>UXTerm.ad</code> regarding the + font resources (Debian #319179). + + <li>add <code>--enable-narrowproto</code> configure option to + accommodate Xorg "modular" build (report by Stephan Hermann, + GenToo #17220). + + <li>fix typo in xterm.man description of <code>+wf</code> (patch + by Tobias Stoeckmann). + + <li>add <code>scrollBarBorder</code> resource (request by Floyd L + Davidson). + + <li>modify <code>xterm-new</code> terminfo entry to use capabilities + for shifted scroll forward/reverse as shifted cursor up/down. + + <li>correct updating of checkmark for toolbar entry in popup menu + (report by Emanuele Giaquinta). + + <li>fix ifdef's to allow compiling with toolbar and without tek4014 + (patch by Emanuele Giaquinta). + + <li>use <code>openpty()</code> for Darwin port (patch by Emanuele + Giaquinta). + + <li>fix GenToo #90697 a different way, postponing the logic in + <code>SetupToolbar</code> until the toolbar is actually needed, + i.e., the <code>+tb</code> option is handled as expected. + + <li>revert fix made in <a href="#xterm_203">patch #203</a> for GenToo + #90697. That introduced a problem with the control mouse + click-popups, while most of the performance problems can be + resolved by restricting the menu fonts (report by Emanuele + Giaquinta). + + <li>fix a file-descriptor leak when calling <code>openpty()</code> + (OpenBSD system/4561). + + <li>make a special case of resizing work like vt100: a hard reset + also resets the 132/80 mode. The code to support this was + present since X11R5, but not used because the corresponding + initial state of the <code>-132</code> option was not saved. + + <li>restore window manager hints after <code>XtMakeResizeRequest()</code> + calls. One instance from <a href="#xterm_205">patch #205</a> + resulted in the window manager displaying pixels rather than + than characters after selecting a different font size (FreeBSD + ports/87424). + + <li>remove special case for Darwin in CF_XOPEN_SOURCE + (Emanuele Giaquinta). + + <li>modify parsing of control sequence <code>CSI T</code> + to allow scroll-down + to be sent while mouse tracking is enabled (request by + D Hugh Redelmeier). + + <li>correct termcap "me" (mode-end) string so it does not modify the + alternate character set (report by Andrey Chernov). + + <li>correct size-comparison in HandleInterpret() broken in changes + from <a href="#xterm_201">patch #201</a> to allocate input + buffer (Debian #334317). + + <li>amend adjustments for scrollbar layout from + <a href="#xterm_204">patch #204</a> to make + this apply only to the toolbar configuration. In the non-toolbar + configuration, the resulting scrollbar was shifted by its + borderwidth (report by Matthieu Herrb). + + <li>add select-cursor-extend() action. + + <li>fix some broken href's in xterm.log.html, and typo in the + INSTALL file (report/patch by David Martínez Moreno). + + <li>modify <code>Imakefile</code> to use setgid mode for installing + with Linux, OpenBSD and FreeBSD. + + <li>add configure --with-setuid and --with-reference options to + allow packagers more flexibility in customizing install + permissions. + + <li>generalize and make optional (configure --with-utmp-setgid) + the change made for XFree86 Bugzilla #878 in + <a href="#xterm_205">patch #205</a> + (FreeBSD bug report #ports/86663). +</ul> + +<H1><A NAME="xterm_205">Patch #205 - 2005/9/18 - XFree86 4.5.99.12</A></H1> +<ul> + <li>correct a typo in CF_FUNC_TGETENT introduced in <a + href="#xterm_198">patch #198</a> fix for Gentoo #69926. + + <li>implement logic in termcap query to process multiple parameters + as documented in ctlseqs.ms + + <li>fix buffer size used for termcap query, which was not long enough + for the terminfo "colors" name (patch by Bradd W. Szonye). + + <li>add configure option --enable-readline-mouse, which turns on the + experimental OPT_READLINE code (patch by Ilya Zakharevich). + + <li>for FreeBSD, drop setuid privileges after startup + (XFree86 Bugzilla #878, report/patch by Alexander Pohoyda) + + <li>add menu entry (alt-esc) and corresponding action (alt-sends-esc) + to toggle the <code>eightBitInput</code> resource setting. + + <li>generate configure script with autoconf 2.52 (patched) to use + the feature therein which forces the script's locale to POSIX + (Gentoo Bugzilla #105369). + + <li>modify computation of rows/columns on resize to avoid extending + beyond the given limits, e.g., if resizing in response to a + "maximize" in Gnome or KDE which do not use the window manager + hints for this case (Debian #289123, Novell #61153). + + <li>modifications to work with z/OS 1.4 (Paul Giordano). + + <li>improve error-reporting when chown/chmod of the pseudo-terminal + fails, e.g., if a copy of xterm which was designed to work with + old-style pseudo-terminals is not installed setuid or setgid + (report by Jeremy C. Reed). + + <li>patches from Emanuele Giaquinta: + <ul> + <li>ctlseqs.ms says that primary and secondary DA accept a + nonzero parameter, which is incorrect. Also modify code + to agree with this. + + <li>correct a comment in 88colres.pl + + <li>ctlseqs.ms says that the DEC Set/Reset control sequences for + the backarrow key make it send DEL/BS, respectively, while it's + the opposite. + + <li>update the menu entries for the metaSendsEscape, deleteIsDEL + and numLock resources when changing them with the corresponding + DEC Set/Reset control sequences. + </ul> + + <li>fixes for configure script: + <ul> + <li>add special case for QNX, defining _QNX_SOURCE. + <li>check for preprocessors which do not perform -U and -D options + in the given order. + <li>improve macro to determine gcc version + <li>improve check for Intel compiler and related warning options + </ul> + + <li>update config.guess, config.sub + + <li>improve fix from <a href="#xterm_198">patch #198</a> for + <code>Cleanup()</code> by ensuring it is not called from the + SIGCHLD handler (patch from OpenBSD by Todd Miller). + + <li>eliminate a retry for a better-matching bold font, to work around + recent font server changes. + + <li>fixes for Novell #113277: + <ul> + <li>specify weight for wide font which may be derived from + normal fontname. + <li>cache the derived wide- and widebolt-fontnames. + </ul> + + <li>workaround for GenToo Bugzilla #100728. + + <li>add menubar's border width to layout computation. Normally this + is zero, but patterns such as <code>XTerm*borderWidth:1</code> + would give poor layout for the toolbar configuration. +</ul> + +<H1><A NAME="xterm_204">Patch #204 - 2005/8/4 - XFree86 4.5.99.9</A></H1> +<ul> + <li>work around quirk in shell which allowed user to "run" uxterm + script when there was no UTF-8 locale installed by entering + "sh -x uxterm". Also popup an xmessage to show the problem + for users who run this via a GUI (Debian #318513). + + <li>disallow changes to fonts, toolbar and scrollbar when the vt100 + window is iconified, to simplify management of the active icon. + + <li>fixes to make <code>-geom</code> option work properly with the + toolbar configuration (Gentoo Bugzilla #90717, #91967). + + <li>minor improvements to scrollbar layout: ensure that the scrollbar + border is zero if the vt100 border is zero. + + <li>improve initialization due to <code>utf8</code> resource by + loading the <code>utf8Fonts</code> resource in the case where + <code>locale</code> resource is false. Also in this case, do + not disable switching UTF-8 mode on/off. + + <li>minor optimization of TrueType font-loading, loads italic font + only when needed. + + <li>correct variable used to store temporary result from lookup of bold + font, when initializing the wide-bold-font data and no immediate + match is found by asking for a bold variant of the wide-font. The + result was to use overstriking rather than the actual bold font + (Debian #318162, patch by Eugene Konev). + + <li>add checks to ensure vt100 widget is realized when it might be + updated via actions handled from a tek4014-only configuration. +</ul> + +<H1><A NAME="xterm_203">Patch #203 - 2005/7/6 - XFree86 4.5.99.7</A></H1> +<ul> + <li>modify initialization of <code>allowSendEvents</code> and + <code>allowWindowOps</code> to prevent modification with the + editres protocol. + + <li>fix compiler warning for NetBSD by including util.h in main.c + (XFree86 Bugzilla #1596). + + <li>fix to build on Darwin 8.x, which no longer provides + <code>setpgrp()</code> (patch by Min Sik Kim). + + <li>adapted fixes for Legend (SCO) from diffs attached to + Freedesktop.Org Bugzilla #3180. + + <li>fix typo in xterm manpage description of <code>-ls</code> option + (Freedesktop.Org Bugzilla #3543). + + <li>add support for interpreting the underline attribute as an italic + font in Xft mode (patch by Chuck Blake). + + <li>improve initialization of toolbar so that individual pulldown + menus are initialized on demand, as they are in the scenario + where they are invoked as popup menus (GenToo Bugzilla #90697). + + <li>fix logic in <code>find_utmp</code>, which did not reset result + in <code>getutid()</code>, causing an infinite loop in some + conditions (report by Emil Mikulic). + + <li>set the <code>_NET_WM_PID</code> property (GenToo Bugzilla #91008). + + <li>modify ifdef's in ptyx.h and xterm_io.h to build with DragonFly + (patch by Jeroen Ruigrok). + + <li>change default values for <code>minBufSize</code> and + <code>maxBufSize</code> to 4096 and 32768 respectively so that the + initial read request will match the value from before changes to + use <code>sched_yield()</code>. + + <li>make paste of UTF-8 faster for Western character sets by checking + range of incoming data (patch by Joe Allen). + + <li>adapted patch by Joe Allen to add experimental option to allow + applications to get or set the selection data. + + <li>fix an off-by-one error parsing <code>-S/nn</code> option + (Debian #311438, report/fix by Peter Chubb). + + <li>fix an initialization bug from + <a href="#xterm_201">patch #201</a> that broke logging + (report by Rodney Thayer). + + <li>amend change to command-line processing in + <a href="#xterm_201">patch #201</a> to avoid + conflict with <code>-e</code> option (report by Servatius Brandt). + + <li>suppress configure check for <code>_XOPEN_SOURCE</code> on + darwin. + + <li>update config.guess, config.sub +</ul> + +<H1><A NAME="xterm_202">Patch #202 - 2005/5/2 - XFree86 4.5.99.3</A></H1> +<ul> + <li>add extended shift- and control-modifier cursor keys to + "xterm+pcfkeys" terminfo entry to correspond to ncurses 20050430 + patch. + + <li>fix a rare case where text would be written with the wrong colors + because output of scrolled text would reset the colors and the + new text would be written with the same colors (report/testcase + by Thomas Glanzmann). + + <li>rename <code>$CMD</code> variable in <code>plink.sh</code> because + it is a reserved symbol in bash 3.00.16 (report by Ted Taylor). + + <li>add environment variables $XTERM_SHELL and $XTERM_VERSION + (request by Zdenek Sekera). + + <li>corrected workaround for background color of menubar, which gave + a too-broad expression, coloring the background of the VT100 + widget unless overridden by another resource setting. + + <li>correct an error in the logic which decides when + <code>sched_yield()</code> is run; it would occasionally hang when + contending with other pseudo-terminal applications such as screen + (report by Kirill Ponomarew). + + <li>modify initialization to decide whether to default to built-in + <code>wcwidth()</code> versus system's version based on the + starting locale and whether the system's version is poor quality + (suggested by Bram Moolenaar). + + <li>update table for <code>mk_width()</code> from UnicodeData 4.1.0 + using Markus Kuhn's <code>uniset</code> script. +</ul> + +<H1><A NAME="xterm_201">Patch #201 - 2005/4/21 - XFree86 4.5.99.2</A></H1> +<ul> + <li>improve resource files to show how the menubar and popup menus can + be colored (prompted by report by Joe Wells). + + <li>modify parsing of OSC (and SOS, etc), strings so their contents + are not interpreted as UTF-8. This allows non-ASCII title strings + to be set, provided that the window manager complies (report by + Thomas Wolff). + + <li>improved some of the built-in line-drawing glyphs. + + <li>correct color of "box" character drawn for line-drawing glyph 1 + (report by Nicolas George). + + <li>improve behavior when switching to UTF-8 mode after startup so + xterm will check if the current fonts are already wide + (ISO10646-1). If they are not, xterm will use the + <code>utf8Fonts</code> subresource to load appropriate fonts + (request by Bram Moolenaar). + + <li>modify logic for setting title-string so it applies to the current + widget rather than the vt100 widget. + + <li>modify initialization for wide-bold fontname, to search for one + if none is given (report by Michael Schroeder). + + <li>add resource <code>mkWidth</code> and command-line option + <code>-mk_width</code> to control whether xterm uses the built-in + version of wcwidth(). + + <li>add resource settings for minimum/maximum input buffer size, and + call to <code>sched_yield</code> to improve performance with newer + Linux kernels (adapted from patch by Nicolas George). + + <li>correct computation of width for wide characters with the invisible + attribute (report by Thomas Wolff). + + <li>modify interaction between <code>+u8</code> and <code>locale</code> + resource to allow the command-line option to override the resource + (requested by Thomas Wolff). + + <li>add a limit check for scrolling margins in a one-line screen, + overlooked in fixes for + <a href="#xterm_198">patch #198</a> (Debian #297430). + + <li>correct treatment of <code>iconBorderWidth</code> for resizing + an active-icon, and its description in manpage (Debian #296592). + + <li>modify configure script <code>--disable-imake</code> to use the + script's definitions anyway if it cannot detect imake (prompted + by FreeBSD bug 77408). + + <li>ignore error in the I/O initialization that tries to set the + tty to 7-bit input for the case where <code>eightBitInput</code> + resource is false (Debian #298551). + + <li>modify command-processing to accept an optional parameter that + tells xterm which shell program to use (request by Zdenek Sekera). + + <li>add simpler resource <code>keyboardType</code> which, when set, + overrides the individual keyboard-type resources and eliminates + the possibility of conflict between them. + + <li>add initialization for <code>scoFunctionKeys</code> resource + (report by Rick K). + + <li>correct logic of <code>ReallocateBufOffsets()</code> which did not + copy the content of the old screen buffer to the proper location, + making a repaint clear after switching to wide-character mode + (report by Bram Moolenaar): + + <li>implement the remaining pieces to make xterm allocate cells for + wide-characters when the "UTF-8" menu entry is selected. Also, + load the UTF-8 font when that menu entry is selected, or the escape + sequence for UTF-8 mode is received (report by Bram Moolenaar): + + <li>add command-line options (<code>-tb</code>, <code>+tb</code>) and + resource <code>toolBar</code> to allow menu/toolbar to disabled or + enabled at startup (prompted by reports by Joe Wells). + + <li>correct typo in configure script's --enable-dec-locator option + (report by Bram Moolenaar). +</ul> + +<H1><A NAME="xterm_200">Patch #200 - 2005/2/6 - XFree86 4.4.99.23</A></H1> +<ul> + <li>increase color pairs value for xterm-256color and xterm-88color to + match ncurses, which has an experimental option to support this. + + <li>modify ifdef's to make AIX use termios rather than termio; the + struct sizes for the two were not the same. + + <li>improve CF_WITH_IMAKE_CFLAGS configure macro script for + OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and AIX. + + <li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch by Min + Sik Kim). + + <li>modify find_utmp() to initialize the whole utmpx struct (except + ut_id), since that is needed for OSF1 4.0D to prevent an infinite + loop on exit. + + <li>add configure check before adding -D_POSIX_SOURCE since some + platforms predefine it, e.g., cygwin. + + <li>add simplified sed expressions in CF_IMAKE_CFLAGS configure script + macro to ensure value for PROJECTROOT is quoted on Solaris, i.e., + when nested <code>\(</code> and <code>\)</code> are not interpreted + correctly. + + <li>correct DEC rectangle operations to reset state after completing + the operations. + + <li>modify CASE_ST handling in charproc.c to ensure that the parse + state is reset even if xterm is not currently processing an OSC or + other string (patch by Johnny Billquist forwarded by Matthias + Scheler, NetBSD xsrc/29003). + + <li>fix OS/2 build for innotek_libc (patch by David Yeo). + + <li>fix a regression from <a href="#xterm_197">patch #197</a> fix for + Debian #277832 which disowned the selection if it was scrolled, + e.g., by the user pressing return at the bottom of the screen + (Debian #291787). + + <li>move the warning/exit for missing $DISPLAY into the error handler + in case <code>-display</code> is given, and the connect fails for + some other reason. +</ul> + +<H1><A NAME="xterm_199">Patch #199 - 2005/1/17 - XFree86 4.4.99.22</A></H1> +<ul> + <li>instead of setting <code>$DISPLAY</code>, check for the unset + variable and warn/exit on this condition (comments by H Merijn + Brand and Bernhard R Link). + + <li>fix a typo in Imakefile from <a href="#xterm_198">patch #198</a> + (reports/patches by Stefan Dirsch, and Mike Castle). +</ul> + +<H1><A NAME="xterm_198">Patch #198 - 2005/1/13 - XFree86 4.4.99.21</A></H1> +<ul> + <li>set <code>$DISPLAY</code> to ":0" if it is not set. + + <li>add <code>utmpDisplayId</code> resource to allow users to control + whether the display identifier (display number and screen number) + are retained in the connection information recorded in utmp + (discussion with Edoardo Tirtarahardja). + + <li>add <code>bellOnReset</code> resource to allow users to disable + bell which sounds on hard reset since <a href="#xterm_183">patch + #183</a> changes to DECSCL (discussion with Danek Duvall). + + <li>improve <code>$WINDOWID</code> for configuration with toolbar by + making it refer to the top-level shell rather than the parent of + the current window. For that case, the parent is a form widget, + which does not have a name, which made the <code>$WINDOWID</code> + not very useful as a parameter for <code>xwininfo</code> + (suggested by Dave Bodenstab). + + <li>fix a typo in WhichVFont() macro + from <a href="#xterm_197">patch #197</a> changes + which broke the --disable-active-icon configuration + (report by Ralf S. Engelschall). + + <li>improve some limit checks (Gentoo Bugzilla #75604). + + <li>add --disable-setuid option to configure script (Gentoo Bugzilla + #76543). + + <li>add --disable-full-tgetent option to configure script, allowing one + to ignore a termcap library in favor of ncurses/curses (Gentoo + Bugzilla #69926). + + <li>modify configure script to choose useful warning options for Intel + version 8.0 compiler. + + <li>update config.guess, config.sub + + <li>make active-icon work properly when TrueType fonts are used + (Debian #286068). + + <li>correct change from <a href="#xterm_157">patch #157</a> which uses + getlogin() to check for an alias; the storage used for the related + getpwuid() call was overwritten by the data used for comparison + (patch by Per Hedeland). + + <li>correct case of SCS for character set 0 (line-drawing) to allow it + to be selected into GR. + + <li>fix a file-descriptor leak (Redhat Bugzilla #139597). + + <li>modify <code>creat_as()</code> to only fork if xterm is actually + running as setuid and/or setgid. This works around a Cygwin bug + which hangs when logging is enabled and makes xterm a little + faster for systems using interfaces such as utempter (report by + Al Goodman). + + <li>modify <code>Cleanup()</code> to avoid operations such as X calls + that might use unsafe functions when it is called by a signal + handler (report by Michiel Boland). + + <li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM changes + from <a href="#xterm_197">patch #197</a> that + broke DECSET 38: switch to Tek4014 emulation (report by Dave + Bodenstab). + + <li>fix for manpage escapes (Marc La France). + + <li>improve on IRIX-specific change for Imakefile in XFree86 CVS versus + resize linking against termcap library to reflect definitions for + USE_TERMCAP in resize.c +</ul> + +<H1><A NAME="xterm_197">Patch #197 - 2004/11/30 - XFree86 4.4.99.19</A></H1> +<ul> + <li>modify configure script to remove empty "-DPROJECTROOT=" definition + which resulted unusable values for luit's default path. + + <li>update precompose.c based on Unicode 4.0.1 + + <li>several minor fixes based on Intel compiler warnings. + + <li>change default translations so a <code>BtnDown</code> which is + not recognized is simply ignored rather than emitting a bell. + That makes it less obtrusive when the user tries to use a mouse + which provides more capabilities than the X mouse driver supports, + e.g., one with a horizontal scroll wheel (Debian #265133). + + <li>note in xterm's manpage that <code>translations</code> is not + specific to xterm (Debian #278897). + + <li>modify uxterm script to use locale program to verify if the + derived locale is installed (Debian #246398). + + <li>correct font handling for active icon when in UTF-8 mode (report + by Paolo Liberatore). + + <li>make active-icon and toolbar configurations work together. + + <li>modify the criteria for disowning primary selection. Previously, + this happened anytime the cursor was moved before the end of the + selection. That would ensure that any insert/delete of char or + line, as well as scrolling, would disown the selection. The + new criteria change this to checking if the operations would + modify the data which is highlighted (Debian #277832). + + <li>reimplement <code>DECALN</code> with functions for vt420 rectangles, + fixes selection for this case. + + <li>implement vt420 rectangle operations. + + <li>add parsing, for debug/test of vt220 soft-fonts. + + <li>add menu entry, actions and escape sequence to allow + enabling/disabling toolbars at runtime. + + <li>improve rendering for Xft, allow it to draw non-linedrawing + characters such as "pi", which were drawn from internal tables + with <a href="#xterm_180">patch #180</a> + (Freedesktop.org Bugzilla #1260). + + <li>add configure option <code>--enable-mini-luit</code>, ifdef'd the + mini-luit feature with <code>OPT_MINI_LUIT</code>. + + <li>add mini-luit feature, which supports Latin9 directly rather than + via luit, provided that Unicode fonts are used (Freedesktop.org + Bugzilla #1571, request by Stefan Dirsch, patch by Michael + Schroeder). + + <li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x kernels, + set the corresponding flag for the slave pty, to enable UTF-8 + interpretation of backspace in cooked mode (Freedesktop.org + Bugzilla #1578, request by Stefan Dirsch). + + <li>modify <code>faceSize</code> resource to use a floating-point + internal value (adapted from patch by Sam Stephenson). + + <li>correct handling selection of tabs over cleared space in UTF-8 + mode. In this special case, xterm represents the whitespace with + a null rather than a space character (Debian #276447). + + <li>amend fix for infinite loop from <a href="#xterm_192">patch + #192</a> to check if there is wrapped text to output in a following + iteration (Debian #273202). + + <li>fixes ifdef'd with <code>__INTERIX</code> to allow building with + Interix (Windows Services for UNIX) 3.5 using the xlibs libraries + from freedesktop.org (patch by Min Sik Kim). + + <li>amend solution for Debian #252873, #260471 from <a + href="#xterm_194">patch #194</a> by making the cursor not + explicitly colored if only the foreground color is set, and the + cursor is on a blank space (Debian #275473). + + <li>correct logic for send/receive mode (SRM) with regard to control + characters. + + <li>fix masking of invisible text in wide-character mode, which did + not work for line-drawing characters. + + <li>incorporate CF_XOPEN_SOURCE into configure script, replacing + CF_GNU_SOURCE. +</ul> + +<H1><A NAME="xterm_196">Patch #196 - 2004/8/15 - XFree86 4.4.99.12</A></H1> +<ul> + <li>add a special case to configure script to ignore NetBSD's + <code>grantpt()</code> which was recently added (but not part of a + release), until someone is able to ensure that xterm can use it + (report by Min Sik Kim). + + <li>clear the buffer returned by getutid(). This fixes an infinite + loop on some platforms introduced in <a href="#xterm_193">patch + #193</a> by Debian #256468 fix (report by David Ellement). +</ul> + +<H1><A NAME="xterm_195">Patch #195 - 2004/8/8 - XFree86 4.4.99.11</A></H1> +<ul> + <li>correct length used for blinking text, make the last column blink + (patch by Alexander V Lukyanov). + + <li>start changes to make doublesize characters work with TrueType + fonts (see <a href="#xterm_44">patch #44</a>). + + <li>trim leading/trailing blanks from color resources as done for + other strings in <a href="#xterm_167">patch #167</a>. + + <li>fixes for <code>showBlinkAsBold</code> resource (report by + Christoph Berg). +</ul> + +<H1><A NAME="xterm_194">Patch #194 - 2004/7/27 - XFree86 4.4.99.11</A></H1> +<ul> + <li>change clearing operations so foreground color attribute is not + set. Usually this is benign, but in some cases when the cursor + color is not set explicitly, the cursor would show this color + (Debian #252873, #260471). + + <li>add extra state (cursor-moved) to guard against deciding that the + cursor did not require repainting after an indexing operation + that leaves the cursor in the same location on the screen. + + <li>fix a case where a full-screen indexing operation would + not restore the cursor-busy state. + + <li>fix a repainting bug introduced in + <a href="#xterm_180">patch #180</a>: when using a font + lacking line-drawing characters, a repaint of the screen could + skip horizontally an extra amount after filling in the missing + character (reports by Nicolas George, Hans de Goede, Redhat + Bugzilla #128341). + + <li>rename terminfo fragment "xterm-pc-fkeys" to "xterm+pcfkeys" for + consistency with ncurses. +</ul> + +<H1><A NAME="xterm_193">Patch #193 - 2004/7/19 - XFree86 4.4.99.10</A></H1> +<ul> + <li>fix for wide-character selection from OpenBSD CVS + (report/patch by Matthieu Herrb). + + <li>modify initialization and cleanup of utmp data to also compare + the <code>ut_line</code> member (Debian #256468). + + <li>modify check on focus-change to ignore <code>FocusOut</code> events + generated by <code>XGrabKeyboard</code>. This fixes a case where + the text cursor would act as if focus were lost when selecting the + "Secure Keyboard" menu option. + + <li>add <code>gen-pc-fkeys.pl</code> script, use that to generate + terminfo fragment corresponding to the pc-style function keys. + + <li>fix a case where the checkmark by the "VT220 Keyboard" menu entry + was not set on startup. + + <li>separated two methods for making the cursor blink (menu and + escape sequence) by using the menu as the primary method and + XOR'ing the state of the escape sequence against that. + + <li>modify logic for enabling blinking cursor via escape sequence as + well as the related save/restore operations so this is only + available if the <code>cursorBlink</code> resource was set on + startup. +</ul> + +<H1><A NAME="xterm_192">Patch #192 - 2004/7/12 - XFree86 4.4.99.9</A></H1> +<ul> + <li>change resource settings for color4 and color12, add some discussion + in <code>XTerm-col.ad</code> (Debian #241717). + + <li>add a note in xterm manpage discussing the difference between + alt- and meta-keys, and the way the latter is used in the + <code>eightBitInput</code> resource. + + <li>add a note in xterm manpage regarding possible conflict between + resource settings for <code>xterm.vt100.font</code> and + <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650). + + <li>add compile-time customization of <code>backarrowKeyIsErase</code> + and <code>ptyInitialErase</code> default resource values + (adapted from OpenBSD CVS). + + <li>change parameter of <code>FIONREAD</code> <code>ioctl()</code> call + from long to int + (discussion on tech-x11@netbsd.org regarding LP64 by + John Heasley and Matthias Scheler). + + <li>modify configure script options for Athena widgets to work as + expected for "--without-Xaw3d", etc., (GenToo Bugzilla #53455). + + <li>add case to uxterm to accommodate locales ending with "@euro", + e.g., fr_FR.UTF-8@euro (Debian #255197, report/analysis by + Matthieu Lagouge). + + <li>add special case for VT100 graphic's "box" character (discussion + with Ben Armstrong). + + <li>add missing initialization for bitmap-font sizes needed to make + fonts menu work with TrueType fonts (report by Ben Armstrong). + + <li>save the fontnames for bold fonts that are derived from normal + fonts, or from the <code>boldFont</code> resource, so the same + value is restored when switching with the VT Fonts menu (Debian + #256086). + + <li>fix manpage preprocessing (Marc La France). + + <li>fix typo in manpage's description of character classes (Debian + #257073). + + <li>modify terminfo to accommodate luit, which relies on G1 being used + via an ISO-2022 escape sequence (Debian #254316, analysis by + Juliusz Chroboczek). + + <li>modify Makefile.in rule for ctlseqs.txt to work around groff SGR + misfeature. + + <li>modify <code>XTerm.ad</code> to set <code>saveLines</code> default + to 1024 (Redhat Bugzilla #127132). + + <li>add a limit-check in <code>dotext()</code> to prevent infinite + loop in a corner case of UTF-8 configuration. + + <li>update config.guess, config.sub +</ul> + +<H1><A NAME="xterm_191">Patch #191 - 2004/6/6 - XFree86 4.4.99.7</A></H1> +<ul> + <li>correct options parsing for <code>-into</code> option so it + can be combined with <code>-e</code> (Redhat Bugzilla #124518, + report/patch by James Armstrong). + + <li>fix ifdef's for <code>OPT_COLOR_RES2</code> + so that the fake resource table introduced in + <a href="#xterm_188">patch #188</a> + is not compiled if it is empty. + This happened to work with gcc (report by Joel Konkle-Parker). + + <li>reorganize ptydata.c to use one input buffer shared between + the VTxxx and tek4014 emulators. In the new scheme, UTF-8 + decoding is performed on characters as they are needed by the + state machine rather than on buffers as they are read. + + <li>work around change in quoting of PROJECTROOT symbol when using + configure script, from changes made in + <a href="#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS + (GenToo Bugzilla #50982). +</ul> + +<H1><A NAME="xterm_190">Patch #190 - 2004/5/25 - XFree86 4.4.99.6</A></H1> +<ul> + <li>correct state for values in the range 128-159 after translating + from UTF-8: this should be ignored unless the user overrides it + with the <code>allowC1Printable</code> resource (reported by + Simon Strandgaard). + + <li>add configure-script check for nl_langinfo(CODESET), use this to + replace check of environment variables for UTF-8. + + <li>change Makefile.in rules for 256colres.h and 88colres.h so they + are only made if they do not exist. The maintainer-clean rule + will remove these files; they require perl to be made. + + <li>remove check in configure script --enable-toolbar that suppressed + this option when building with Xaw7. + + <li>apply fixes to Tektronix widget used for VT100 widget to make + toolbar work with Xaw7 (XFree86 4.x). +</ul> + +<H1><A NAME="xterm_189">Patch #189 - 2004/5/16 - XFree86 4.4.99.6</A></H1> +<ul> + <li>do not call xim_real_init() if <code>openIm</code> resource is + false (Debian #249025). + + <li>minor improvements to built-in line-drawing. + + <li>fix a few portability issues with dynamic abbreviation support, + i.e., did not compile on Tru64. + + <li>modify constraints in form used to layout toolbar, to work with + newer Xaw in XFree86 4.x. +</ul> + +<H1><A NAME="xterm_188">Patch #188 - 2004/5/12 - XFree86 4.4.99.6</A></H1> +<ul> + <li>correct table entry for DEL in the ground state, which marked it + as a printable character from <a href="#xterm_171">patch #171</a> + (report by D Hugh Redelmeier). + + <li>improve fix in <a href="#xterm_186">patch #186</a> for failure in + xim_real_init() by adding a sleep. + + <li>fix a typo in os2main.c + (XFree86 Bugzilla #1358, report/patch by Frank Giessler). + + <li>make escape sequence reporting dynamic colors consistent with the + logic that sets it; choosing the opposite color when reverse + video is set (XFree86 Bugzilla #1361, reported by Bradd W Szonye). + + <li>modify initialization of 256- and 88-colors so that colors beyond + 16 are normally not X resources. This works around a hard-coded + limit in Xt which breaks xterm when 256-colors and luit are both + configured (report by Noah Friedman). + + <li>remove <code>ncv</code> from <code>xterm-256color</code> terminfo + entry since it is no longer needed (report by Eli Zaretskii). + + <li>add "erase2" and "eol2" keywords to <code>ttyModes</code> resource, + for recent/current FreeBSD. + + <li>improve ifdef's for utempter library to omit direct calls to + <code>setutent()</code> or <code>getutent()</code> (adapted from + patch by Christian Biere). + + <li>add dynamic abbreviation support like Emacs (patch by Tomasz + Cholewo). This is ifdef'd with <code>OPT_DABBREV</code>, and + enabled via the configure script <code>--enable-dabbrev</code> + option. + + <li>fix problem responding to session management events, e.g., which + would make logging out very slow (patch by Eddy De Greef, Debian + #233883). + + <li>work around a newer bug in toolbar with XFree86 by forcing menus + to be fully initialized at startup. In older versions of XFree86 + and X11R6, it was possible to delay initialization of the menu + contents until it was popped up. (The longstanding bug with + XFree86 4.x layout for toolbar still exists, though). + + <li>modify <code>xtermAddInput</code> to work around core dump on + IRIX64 when initializing scrollbar translations if toolbar is + compiled-in. + + <li>fix some minor conflicts in the 2-character entry names in the + termcap file. +</ul> + +<H1><A NAME="xterm_187">Patch #187 - 2004/4/27 - XFree86 4.4.99.4</A></H1> +<ul> + <li>change xterm version string to use <code>__vendorversion__</code> + where that is available, and "XTerm" otherwise. + + <li>improve description of <code>utf8</code> resource in manpage + (Debian #179407). + + <li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS to + handle <code>-D</code> options that define string values, e.g., + for <code>XVENDORNAME</code>. + + <li>modify configure macro CF_IMAKE_CFLAGS to allow (if + <code>$PATH</code> is set accordingly) to use the + <code>xmkmf</code> script within an X build tree. + + <li>add missing <code>#undef OPT_SESSION_MGT</code> to xtermcfg.hin + to make the configure script's --disable-session-mgt option work. + + <li>update config.guess, config.sub +</ul> + +<H1><A NAME="xterm_186">Patch #186 - 2004/4/18 - XFree86 4.4.99.4</A></H1> +<ul> + <li>change reset on <code>DECSCL</code> to a soft-reset (appears some + DEC manuals have errors). + + <li>add a section to ctlseqs.ms elaborating on normal/alternate screens. + + <li>modify initialization of Acolors[] so that any XtDefaultForeground + or XtDefaultBackground values are translated as in the Tcolors[], + to use the window's foreground/background colors. This affects + the <code>colorBD</code> and similar resources which normally have + no explicit color assigned. + + <li>modify initialization of Tektronix window so that control sequences + setting its color before the window is popped up will apply to + its initial colors. + + <li>add control sequence to set Tektronix window's text-cursor. + + <li>modify initialization of terminal colors, e.g., mouse pointer and + text cursor, to treat <code>XtDefaultForeground</code> and + <code>XtDefaultBackground</code> values as the actual foreground + and background colors of the terminal rather than white and black + (Debian #241717). + + <li>remove an incorrect comparison against <code>PTYCHARLEN</code> in + parsing the <code>-S</code> option (report by Michael B Taylor). + + <li>minor restructuring of terminfo/termcap files, having noted some + packager's customizations which caused the structure to be + confused. + + <li>eliminate an isolated use of MIN/MAX in charproc.c + + <li>replace <code>XtExtdefaultfont</code> and + <code>XtExtdefaultbackground</code> by their more familiar + equivalents + <code>XtDefaultFont</code> and + <code>XtDefaultBackground</code>. + + <li>replace ifdef's using <code>SCO</code>, <code>sco</code> and + <code>SCO325</code> with <code>__SCO__</code> + (XFree86 Bugzilla #1301, Kean Johnston). + But ensure that it still builds on platforms where this symbol + is not defined. + + <li>add <code>scoFunctionKeys</code> resource, to match manpage. + + <li>update manpage discussion of menus and related resources. + + <li>enable utmpx support for NetBSD 1.6C and newer (patch by + Matthias Scheler). + + <li>add a note in the manpage discussing xterm's treatment of open + file-descriptors (request by Dan Shearer). + + <li>modify <code>Help()</code> to make "xterm -h" write to standard + output rather than standard error (patch by Bram Moolenaar). + + <li>check for type of failure in xim_real_init() to avoid looping when + the problem is an unsupported input method rather than a failure + to connect to the XIM server. Problem was introduced in + <a href="#xterm_175">patch #175</a> (XFree86 Bugzilla #1306). + + <li>modify <code>Imakefile</code> to remove dependency of "install" + target on the <code>xterm</code> executable to make installs from + tree without attempting to rebuild anything (David Dawes, based on + a patch and report from Lee Olsen). + + <li>remove call to <code>ShowCursor</code> from + <code>SetCursorBlink()</code> since that is redundant, + and can cause display glitches if the cursor is already + blinking (XFree86 Bugzilla #1158, patch/report by Andreas Schwab). +</ul> + +<H1><A NAME="xterm_185">Patch #185 - 2004/3/3 - XFree86 4.4</A></H1> +<ul> + <li>fix tcap-query logic for the backspace key (XFree86 Bugzilla #1233, + report/patch by Anton Kovalenko). + + <li>add test-scripts resize.pl and tcapquery.pl + + <li>add translation to ASCII of commonly-used characters that groff + translates to Unicode, when the font in use does not provide the + corresponding glyphs (Debian #219551). + + <li>modify RequestMaximize(), which performs maximize/restore via + control sequences, to account for window-frame (patch by + Jess Thrysoee). + + <li>improve pattern used in <code>uxterm</code> to check for UTF-8 + locale, e.g., for HPUX (patch by H Merijn Brand). + + <li>add <code>-fd</code> option and resource + <code>faceNameDoublesize</code> to specify double-wide fonts with + Xft (adapted from patch by Zarick Lau). + + <li>change a couple of resource classes from "Boolean" to specific + values: <code>freeBoldBox</code>, <code>forceBoxChars</code>. + + <li>add resource <code>showMissingGlyphs</code> to outline places on + the screen where a font lacks the corresponding glyph. + + <li>add resource <code>showBlinkAsBold</code> to control whether + blinking text should be shown as bold or actual blinking text. + + <li>improve logic in ShowCursor() to avoid repainting the cursor when + it is already visible, e.g., in response to the DECTCEM escape + sequence. This also addresses XFree86 Bugzilla #1158. + + <li>implement blinking text, using the timer for blinking cursor. + + <li>modify FreeType support to allow resizing the font, in the same + ways the window can be resized if fixed fonts are used. The + relative font sizes are derived from the fixed font sizes. + + <li>add menu items and corresponding actions for switching on/off + the UTF-8 mode and Xft (TrueType) support. + + <li>add logic to handle switching UTF-8 mode on/off. It worked if + the escape sequences were flushed, but if data was mixed in with + the same write, some were not handled properly (report by + Nicolas George). + + <li>modify to allow turning UTF-8 mode on/off via escape sequence even + if <code>-wc</code> option was not given at startup (patch by Peter + Berg Larsen). + + <li>amend fix for XFree86 Bugzilla #981, adjusting for savedlines value + (report by Tim Adye). + + <li>fix a typo in computing relative font size (Jess Thrysoee). +</ul> + +<H1><A NAME="xterm_184">Patch #184 - 2003/12/31 - XFree86 4.3.99.903</A></H1> +<ul> + <li>improve configure-script checks for FreeType and related libraries, + using <code>xft-config</code> or <code>freetype-config</code> + scripts when available. + + <li>fix configure-script check for <code>SYSV</code> definition by + ensuring whether <code>sys_errlist[]</code> is declared, and by + modifying the test program to include <code>X11/Intrinsic.h</code> + to check that <code>wchar_t</code> is declared consistently (report + by H Merijn Brand). +</ul> + +<H1><A NAME="xterm_183">Patch #183 - 2003/12/26 - XFree86 4.3.99.903</A></H1> +<ul> + <li>correct logic for configurations that may attempt to open both + old/new-style pseudoterminals. In this case, the old-style are + preferred. Logic was broken in <a href="#xterm_145">patch #145</a> + (XFree86 Bugzilla #997, report/patch by Kean Johnston). + + <li>modify handling of <code>eightBitInput</code> resource in UTF-8 + mode to translate the value into UTF-8. Otherwise an illegal + UTF-8 code is sent to the application (report by Bram Moolenaar). + + <li>modify <code>uxterm</code> script to interpret help and version + options so xterm does not always create a window when the user + requests this information (Debian #223926). + + <li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla #981). + + <li>modify DECSCL to perform a hard reset (RIS) as per DEC manuals. + Extended DECSCL to accept parameters for vt4XX and vt5xx terminals. + + <li>correct logic for ANSI conformance level escape sequences, which + were confused with DEC conformance level escape sequences. + + <li>correct state for vt52 shift-in/shift-out, which was not reset + properly after <a href="#xterm_171">patch #171</a>. + + <li>correct handling of graphics characters for vt52 mode, which did + not display line-drawing characters after G1 fix from + <a href="#xterm_182">patch #182</a>. + + <li>fixes for configure script to work with current Cygwin headers + and libraries. + + <li>modify <code>Imakefile</code> to put the current directory at the + beginning of the include searchpath (David Dawes). +</ul> + +<H1><A NAME="xterm_182">Patch #182 - 2003/12/2 - XFree86 4.3.99.901</A></H1> +<ul> + <li>correct logic for <code>metaSendsEscape</code> resource to allow + for the meta-right key to be tested. Improve check for meta/alt + modifiers by dropping the assumption that a keysym is associated + with only one modifier, and by ignoring NoSymbol entries in the + xmodmap data (XFree86 Bugzilla #924, patch by David Dawes). + + <li>correct wrapping logic for line-drawing characters written in + non-UTF-8 mode of xterm build for wide-characters (XFree86 Bugzilla + #918, report/patch by Jürgen Keil). + + <li>improve manpage description of resources, in particular the + <code>utf8Fonts</code> class (XFree86 Bugzilla #905). + + <li>add definitions to compile with glibc-based GNU/Hurd, GNU/KFreeBSD + and GNU/KNetBSD (XFree86 Bugzilla #893). + + <li>compiler-warning fixes (patch by Christian Biere). + + <li>add README.i18n (Tomohiro KUBOTA). + + <li>correct initialization of G1 character set mapping, which used + line-drawing set as a result of confusion between "DEC Supplemental + Graphic" and "DEC Special Graphic" character sets + (see <a href="#xterm_34">patch #34</a> regarding DECSTR). + + <li>correct ifdef in main.c for variable utret (patch by + Bernhard Rosenkraenzer). + + <li>document in xterm's manpage how to use XFree86 ":unscaled" keyword + to suppress scaling of bold fonts. + + <li>when deriving bold fontname from normal fontname, use the normal + font's average width to avoid for example selecting 7x13bold + from an 8x13 normal font (Debian #107769). +</ul> + +<H1><A NAME="xterm_181">Patch #181 - 2003/10/26 - XFree86 4.3.99.15</A></H1> +<ul> + <li>implement <code>boldMode</code> for wide-character logic in + <code>drawXtermText()</code> (report by Michael Schroeder). + + <li>modify <code>UXTerm.ad</code> resource file to include + "XTerm-color" rather than "XTerm", in case the latter file contains + no color resource definitions, e.g., after <a + href="#xterm_180">patch #180</a>. + + <li>add action <code>load-vt-fonts()</code> and configure option + <code>--enable-load-vt-fonts</code> which allows users to define + additional sets of VT-fonts which can be loaded at runtime. + + <li>add logic to wide-character support which attempts to load fonts + specified by <code>utf8Fonts</code> subresources at startup. The + subresources have the same names as the fonts which they replace, + e.g., <code>font</code>, <code>font1</code>, etc., so that the + ISO-10646-1 fonts can be specified in the <code>XTerm</code> + app-defaults file (this is an adaptation of a patch by Tomohiro + KUBOTA). + + <li>improve Set Font escape string handling by making the relative + settings apply to the size of the font, as in shift keypad + plus/minus rather than the menu index. + + <li>simplify parameter passing for the <code>set-vt-font</code> action + and related code. + + <li>cleanup some include-ordering, moving some recently-added hardcoded + stuff into xterm.h where it will not interfere with the configure + script. + + <li>modify <code>xtermAddInput()</code> (see note on augmentation in <a + href="#xterm_158">patch #158</a>) to use the complete set of + default keyboard translations so that one can use shifted pageup, + wheel mouse, etc., while the mouse pointer is over the scrollbar. + (Debian #178812). + + <li>make save/restore mode controls apply to show/blink cursor states. + + <li>add escape sequence to start/stop blinking cursor, which allows + implementing <code>cvvis</code> terminfo capability (request by + Nate Bargmann). + + <li>add <code>indp</code> and <code>rin</code> to terminfo entry. + + <li>fix an out-of-bounds array reference in ScrnRefresh() for wide + characters (report by Dan Harnett, patch by Todd Miller, bug dates + from <a href="#xterm_141">patch #141</a>). +</ul> + +<H1><A NAME="xterm_180">Patch #180 - 2003/10/12 - XFree86 4.3.99.15</A></H1> +<ul> + <li>several fixes for rendering using Xft (option <code>-fa</code>): + <ul> + <li>translate Unicode values (from UTF-8 output to xterm) for + line-drawing to xterm's internal code, etc., since TrueType fonts + generally do not have either set of line-drawing glyphs. xterm + can draw these directly (report by Abigail Brady). + <li>pass 16-bit values rather than 8-bit values to + xtermXftDrawString() to allow for wide-characters. + <li>remove spurious check for <code>colorBDMode</code> resource in + logic that does bold fonts. + <li>implement underlining. + </ul> + + <li>patches by Ilya Zakharevich: + <ul> + <li>improve drawXtermText() by making the recursive calls + communicate through arguments, and not through saving/restoring + global variables. + + <li>make double-width characters work with <code>-u8</code> option. + + <li>modify lookup of double-sized fonts by checking for a match + ignoring x/y resolution if the first check fails. + </ul> + + <li>make height of TrueType fonts match ascent+descent (patch by + Keith Packard). + + <li>correct configure-script check for imake $CFLAGS, which did not + check properly if imake was not available. + + <li>correct install rule in Makefile.in for <code>uxterm</code>, which + was attempting to strip the script (newsgroup posting by Fernan + Aguero). + + <li>correct AF/AB strings in termcap for xterm-256color and + xterm-88color entries (report by Josh Howard). + + <li>update wcwidth.c to incorporate changes from Markus Kuhn's + 2003-05-20 (Unicode 4.0) version of that file. + + <li>modify <code>scroll-back</code> and <code>scroll-forw</code> + actions to accept an adjustment value, e.g., + <pre> + <code>scroll-back(1, page-2)</code></pre> + to scroll back by 2 lines less than a page (patch by Greg + Klanderman). + + <li>use color resource setting from Debian package for xterm VT100 widget, + since the choice of blues provides better contrast. + + <li>remove color resources from <code>XTerm.ad</code>, leaving them + only in <code>XTerm-col.ad</code> (prompted by Debian package for + xterm). + + <li>correct configure script option --enable-pty-handshake (report by + Paul Gilmartin). + + <li>add <code>visualBellDelay</code> resource to modify the length of + time used for visual bell, for very slow displays or very fast + computers (reports by Ingo van Lil and Doug Toppin). + + <li>correct logic for initializing dynamic highlight color (patch by + Jess Thrysoee). + + <li>add a check for non-zero size in call to <code>XCopyArea()</code> + to accommodate a Solaris bug. + + <li>correct typo in example for character classes in xterm manpage + (Debian #198910). + + <li>link xterm with bind_on_load option on Darwin to work around a + deadlock in the dynamic loader when a signal is received while + the dynamic loader is looking up symbols (patches by Rob Braun, + Torrey Lyons). + + <li>modify configure script to avoid using "head -1". + + <li>update config.guess, config.sub + + <li>modify ifdef's to work around inclusion of types FcChar32 and + XftCharSpec with FreeType 2.0 (see <a href="#xterm_175">patch #175</a>). + + <li>modify the predictable version of the generated logfile name (see + <a href="#xterm_171">patch #171</a>) to append the process-id rather + than a random value. + + <li>resync with XFree86 CVS: + <ul> + <li>Enable SCO function keys in xterm + <li>Make Delete key send DEL by default on SCO in xterm + </ul> +</ul> + +<H1><A NAME="xterm_179">Patch #179 - 2003/5/21 - XFree86 4.3.99.5</A></H1> +<ul> + <li>modify ifdef's for WTMPX_FILE to allow building on cygwin again. + + <li>change the default of pty-handshaking configure option (and related + default for imake) to assume this feature is needed. + + <li>add ifdef's so configure option for XawPlus library works (patch + by Pavel Roskin). + + <li>add <code>$(MAIN_DEFINES)</code> to the variables checked by the + configure script that may contain information set by imake. This + allows xterm to build/run properly using the configure script on + IRIX64. + + <li>add configure check for ".exe" suffix on cygwin. +</ul> + +<H1><A NAME="xterm_178">Patch #178 - 2003/5/18 - XFree86 4.3.99.5</A></H1> +<ul> + <li>modify default for configure <code>--enable-pty-handshake</code> + option to enable it for Solaris (report by Nelson Beebe). + + <li>modify <code>in_put()</code> function to call + <code>PreeditPosition()</code> only when the cursor's position has + changed. This addresses report by Stefan Baums of high CPU usage + while xterm with chinput are running in the background (patch by + Yong Li). + + <li>improved explanation of <code>-ls</code> conflict with + <code>-e</code> option in xterm manpage (adapted from comments by + Henning Makholm). + + <li>correct comment in terminfo file regarding modifier used for + <code>kDC</code> (Debian #189764, report by Henning Makholm). + + <li>correct/extend some of the keypad description in ctlseqs.ms + (report by Henning Makholm). + + <li>correct keypad-mapping table in input.c so <code>XK_KP_Equal</code> + works (report by Henning Makholm). + + <li>modified to work with CJK double-width (bi-width/monospace) fonts. + They're similar to Roman Czbora and David Starner's gnuunifonts in + that Latin letters and numbers have all the same width which is + exactly the half of the width of East Asian characters. (patch by + Jungshik Shin <jshin@mailaps.org>). + + <li>add configure option <code>--enable-broken-osc</code> and resource + <code>brokenLinuxOSC</code> to accommodate scripts which do not + distinguish between running in the Linux console and running in X. + Linux console recognizes malformed control strings which start + with an <code>OSC</code>, but are fixed-length, with no terminator. + + <li>add configure option <code>--enable-broken-st</code> and resource + <code>brokenStringTerm</code> to allow + user to revert one part of the parsing table corrections from + <a href="#xterm_171">patch #171</a>. (reports by + Matthias Scheler and + Kirill Ponomarew indicate that someone's + network firmware sends an <code><escape>X</code>). + + <li>modify configure <code>--disable-imake</code> to provide values + for <code>OSMAJORVERSION</code>, <code>OSMINORVERSION</code>, + <code>FUNCPROTO</code> and <code>NARROWPROTO</code> (report by + Heiko Schlichting). + + <li>correct <code>vttests/16colors.sh</code>, which omitted the + <code>$SUF</code> variable in output strings (patch by Paul + Gilmartin). + + <li>modify shell scripts in <code>vttests</code> directory to attempt + to use named signals in the <code>trap</code> statement, making + this portable to OS/390 (report by Paul Gilmartin). Tested on + SunOS 4.1.4, which implements only numbers. +</ul> + +<H1><A NAME="xterm_177">Patch #177 - 2003/3/23 - XFree86 4.3.0</A></H1> +<ul> + <li>fix definition of <code>USE_HANDSHAKE</code>, must be numeric + (reported by Jens Schleusener). +</ul> + +<H1><A NAME="xterm_176">Patch #176 - 2003/3/22 - XFree86 4.3.0</A></H1> +<ul> + <li>add configure option <code>--enable-pty-handshake</code> to allow + one to compile-in support for the pty handshaking logic, and + resource <code>ptyHandshake</code> to enable or disable it + (suggested by Ian Collier). + + <li>restore <code>USE_HANDSHAKE</code> ifdef removed in + <a href="#xterm_159">patch #159</a> + to address Debian #39964. + + <li>move ifdef's for ttysize/winsize into xterm_io.h + + <li>simplify loop on <code>tgetent</code>, check if the successive + entries in the lookup table are the same. That makes xterm do + one less lookup if there is no "xterm" entry in the termcap file + (report by Derek Martin). + + <li>correct manpage discussion of <code>$TERM</code> and + <code>$TERMCAP</code> variables, which omitted the Tektronix + emulation and a note of the final "dumb" fallback. + + <li>broaden ifdef for <code>XRegisterIMInstantiateCallback()</code> + from <a href="#xterm_175">patch #175</a> (XIM fix) to exclude + non-XFree86 (report by Nelson Beebe indicates this breaks for + Solaris, IRIX and OSF/1). + + <li>correct resource-size for <code>iconFont</code> (this was added + by X11R6.3). + + <li>improve configure check for XKB bell extension, to work around + inconsistent implementation of this feature (reports by Nelson + Beebe, Kriston Rehberg and David Ellement). + + <li>modify configure-check for <code>tty</code> group to be less + strict in batch mode (report by Nelson Beebe). + + <li>modify to allow building with g++, to use its compiler warnings + (suggested by Nelson Beebe). + + <li>modify <code>dec2ucs[]</code> table to reflect newer codes + available for scanlines 1, 3, 7, 9 (report by Michael Schroeder). + + <li>add configure option for XawPlus library. +</ul> + +<H1><A NAME="xterm_175">Patch #175 - 2003/3/9 - XFree86 4.3.0</A></H1> +<ul> + <li>fix a SIGSEGV which could occur if xterm is connecting to XIM + server, and the XIM server is destroyed (patch by Nam SungHyun). + + <li>modify to use built-in line-drawing characters for Xft fonts + (patch by Andrew Tipton). + + <li>make menu reflect the state of the <code>tekInhibit</code> + resource. + + <li>make <code>signalInhibit</code> resource work, i.e., disable the + menu entries that would send signals to, or exit xterm. This was + probably broken in X11R5 when logging was disabled (report by Sven + Mascheck). + + <li>changed classes of <code>colorBDMode</code> and similar + resources that override colors when a video attribute is + set to <code>ColorAttrMode</code>, to make them distinct + from <code>ColorMode</code>. This avoids an unexpected + rendering of reverse video, for example (report by Paul Fox). + + <li>changed class of <code>veryBoldColors</code> to + <code>VeryBoldColors</code>, since + <code>ColorMode</code> is associated with boolean resources. + + <li>add option <code>-k8</code> and resource + <code>allowC1Printable</code> to allow users of non-VTxxx + character sets such as KOI-8 to treat the C1 control area + (character codes 128-159) as printable rather than control + characters. + + <li>add a null-pointer check for return-value of <code>ptsname()</code> + in HPUX-specific code (report by David Ellement). + + <li>revise the ifdef's used for <code>XKB</code> bell support. The + code was using a nonstandard call <code>XkbStdBell()</code>. + Changed to use <code>XkbBell()</code> (based on patch by + <derek@signalmarketing.com>). + + <li>add a null-pointer check in <code>xtermLoadFont()</code> in case + there is no wide-bold font (Nam SungHyun). + + <li>change <code>Makefile.in</code> to use autoconf's + <code>bindir</code>, <code>libdir</code> and <code>mandir</code> + variables (report by Nam SungHyun). + + <li>add <code>le</code> to termcap <code>xterm-basic</code> entry. + Though missing from older termcaps for xterm, some applications + check for it (report by Matthias Buelow). + + <li>modify <code>uxterm</code> script to strip modifiers such as "@euro" + from the locale setting before adding ".UTF-8" (Debian #179929). + + <li>modify the remaining places where tek4014 emulation uses + <code>XDefineCursor()</code>, to make it work as originally + implemented, e.g., when switching back to alpha mode. + Added test-screen in vttest to test this feature properly. +</ul> + +<H1><A NAME="xterm_174">Patch #174 - 2003/2/25 - XFree86 4.2.99.903</A></H1> +<ul> + <li>work-around for XFree86 bug which made <code>XDefineCursor()</code> + on a shell-window no longer work. The tek4014 emulation used this. + Use the next lower window (report by Karl Rudolf Bauchspiess). + + <li>add a resource setting <code>allowWindowOps</code> to control + whether the extended window operations should be allowed, e.g., + resize, iconify, report window attributes. This is to accommodate + people who are not capable of using a pager to view log-files. +</ul> + +<H1><A NAME="xterm_173">Patch #173 - 2003/2/6 - XFree86 4.2.99.902</A></H1> +<ul> + <li>reset mouse mode to normal on a full reset. This does not apply + to mouse hilite tracking mode, of course (see ctlseqs.ms). + + <li>add a time-delay at the point where mouse hilite tracking mode + choses to not handle X events, to avoid runaway CPU usage + (report by D Hugh Redelmeier). + + <li>check for illegal character in DECUDK string, quit if detected. +</ul> + +<H1><A NAME="xterm_172">Patch #172 - 2002/12/27 - XFree86 4.2.99.3</A></H1> +<ul> + <li>fixes to make repainting of 256-color example work properly + (reports by Abigail Brady and Scott A Crosby). + <ul> + <li>set flag in <code>AllocateAnsiColor()</code> to ensure the color + is allocated once only. + <li>fix check in <code>ScrnRefresh</code>, which was comparing + background colors only if the ANSI foreground colors also were set. + </ul> + + <li>merge <code>Error()</code> calls and some <code>exit()</code> calls + into <code>SysError()</code>, and change that to add the brief + explanation for each error code which is provided in the manpage. + Change a few <code>SysError()</code>, calls to avoid using code 1, to + avoid confusion with exit status from places that do not use + <code>SysError()</code>. + + <li>simplify logic used to open a debug logfile as the standard error. + + <li>modify the <code>-e</code> option so that if it fails, xterm will + check if only one argument follows, e.g., it was quoted, and then + retry using <code>sh -c</code>. + + <li>modify parsing of DECUDK string parameter to allow a comma between + pairs of hexadecimal digits (Ray Neuman <raymond@one.com.au> + reports that "real" terminals accept this; perhaps they simply + ignore unexpected characters). + + <li>fix a few problems with the <code>$TERMCAP</code> string generated + by <code>resize</code>: + <ul> + <li>for Bourne shell, add an <code>export</code> command. + This was missing as far back as X11R5. + <li>escape exclamation marks, used in xterm's reset string. + <li>translate literal <code>\177\</code> to "^?". + </ul> + + <li>improve configure check for <code>tgetent()</code> to work when + <code>$TERMCAP</code> has been set to a specific entry. + + <li>modify <code>minstall.sh</code> to use "%" rather than "@", + to avoid problems with AFS (report by Zdenek Sekera). + + <li>list fatal error codes from <code>error.h</code> in the manpage, + remove unused codes in <code>error.h</code>. + + <li>use more explicit wording for manpage list of color resources, + since at least one user confused the generic names such as "black" + with the names in rgb.txt (the latter are now used). + + <li>minor fix to description of 1003 mouse mode in ctlseqs.ms + (Larry Riedel). +</ul> + +<H1><A NAME="xterm_171">Patch #171 - 2002/12/12 - XFree86 4.2.99.3</A></H1> +<ul> + <li>modify parser tables to improve detection of malformed control + sequences, making xterm behave more like a real DEC terminal + (patch by Paul Williams). + + <li>update comment in <code>input.c</code> to document + <code>Meta</code> as a modifier for escape sequences (patch by D + Roland Walker). + + <li>add ifdef'd code for logging option which adds the hostname and a + timestamp to the generated logfile name. The ifdef's are setup + with the configure script (patch by Nelson Beebe). + + <li>remove <code>xevents()</code> call from the end of + <code>BlinkCursor()</code>, to fix an occasional problem + which caused xterm to pause until a key was pressed. + The reason for this was that there was no check to ensure that + there really were events for <code>xevents()</code> to process. + (patch by Semen A Ustimenko <semenu@FreeBSD.org>). + + <li>remove unused mode-params from <code>open()</code> calls that do + not create a file. + + <li>modify configure script to put new items first on + <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid conflict + with environment's <em>-I</em> and <em>-D</em> options. + + <li>update config.guess, config.sub + + <li>resync with XFree86 CVS: + <ul> + <li>fix va_args glitches for xterm/libfontconfig: 0 == (void*)0 + isn't true for all platforms (Egbert Eich). + <li>initialise ProgramName in xterm's main before referencing it + (#5473, Peter Valchev). + <li>some cleanup of Imakefile ifdef's (Marc La France). + </ul> +</ul> + +<H1><A NAME="xterm_170">Patch #170 - 2002/10/13 - XFree86 4.2.1</A></H1> +<ul> + <li>correct an off-by-one allocating data for sorted help message. + + <li>modify configure script to check for Xpm library, on which XFree86 + Xaw library depends. + + <li>update config.guess, config.sub +</ul> + +<H1><A NAME="xterm_169">Patch #169 - 2002/10/5 - XFree86 4.2.1</A></H1> +<ul> + <li>modify wording of some options in help message to make them use + <code>-/+</code> consistently with respect to "on/off" or "off/on". + + <li>sort options list which is displayed in help- and syntax-messages + at runtime to simplify maintenance. + + <li>remove support for Amoeba and Minix (Juliusz Chroboczek noted it + was removed from XFree86 server; there have been no users since + 1996). + + <li>add configure script option <code>--disable-session-mgt</code> + to control whether the session management code should be compiled-in + (request by H Merijn Brand). + + <li>ifdef'd the session-management changes with + <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which predates + the related definitions. + + <li>fix <code>decode_keyvalue()</code>, which did not properly parse + multiple settings as needed for the <code>ttyModes</code> resource, + since it did not skip over the parsed data. + + <li>fix an option-parsing conflict between <code>-class</code> and + <code>-cjk_width</code> (Nam SungHyun) + + <li>add a missing null in <code>XtVaSetValues()</code> call used in + <code>Cleanup()</code> (Nam SungHyun) +</ul> + +<H1><A NAME="xterm_168">Patch #168 - 2002/9/29 - XFree86 4.2.1</A></H1> +<ul> + <li>improve data reported for control sequence that requests window + position by taking into account the window decorations, e.g., + border and title (patch by Jess Thrysoee <jess@thrysoee.dk>). + + <li>add <code>-cjk_width</code> and corresponding resource + <code>cjkWidth</code> (patch by Jungshik Shin + <jshin@mailaps.org>). + + <li>add <code>-into</code> option, for embedding xterm in a Tcl/Tk + application (patch by George Peter Staplin <georgeps@xmission.com>). + + <li>add simple session management (XSM) client capabilities to xterm. + So a session manager such as, e.g., xsm, should be able to respawn or + kill xterms without the help of an SM proxy (like smproxy), which is + a hack and almost always buggy (patch by David Madore). + + <li>fix conflict between ifdef's for <code>OPT_DEC_LOCATOR</code> and + <code>OPT_READLINE</code> in button.c (reported by Ilya Zakharevich). + + <li>fix for inconsistent use of <code>struct utmp</code> versus + <code>struct utmpx</code> introduced in <a href="#xterm_167">patch #167</a> + (patches by Paul Gilmartin, Marc La France). + + <li>modify logic for <code>metaSendsEscape</code> to allow it to work + in a setup where the Meta-key is not recognized as a modifier by + the key-translations logic (from a discussion of eightBitInput + with H.J.Lu, however Vincent Lefevre reported this in January). + + <li>use null pointer values consistently, rather than literal "0", for + ending variable-length argument lists, e.g., for + <code>execlp()</code> (based on patch by Matthieu Herrb). + + <li>correct logic of <code>ChangeAnsiColorRequest()</code>, which would + do a screen repaint after replying to a request for information. + + <li>improve scripts in vttests to work with systems whose shells support + <code>echo -n</code> and have, as does Debian, an unrelated + <code>print</code> utility. + + <li>add vttests/acolors.sh to demonstrate OSC 4, which queries or + sets ANSI colors. + + <li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich). + + <li>typos in xterm manpage (Jens Schweikhardt) + + <li>remove a redundant GCC_UNUSED from InitPopup() (Nam SungHyun) +</ul> + +<H1><A NAME="xterm_167">Patch #167 - 2002/8/24 - XFree86 4.2.0</A></H1> +<ul> + <li>correct ifdef's for <code>USE_TERMCAP</code> to match cygwin + configuration. + + <li>fix several places in ctlseqs.ms which had no boxes around the + literal text (report by Ilya Zakharevich). + + <li>integrated patch from Ilya Zakharevich to extend mouse support for + readline (ifdef'd with OPT_READLINE). + + <li>modify terminfo description to match default for + <code>modifyCursorKeys</code> resource. + + <li>add <code>modifyCursorKeys</code> resource to control how the + shift- and similar modifiers are used to make a cursor escape + sequence. The default makes a modified escape sequence always start + with CSI and puts the modifier as the second parameter, to avoid + confusing applications that would interpret the first parameter as a + repeat count. The original behavior can be obtained by setting the + resource to 0 (from newsgroup discussion with Stephen J Turnbull + and Jeffrey Altman). + + <li>correct missing initializations for <code>appdefaultCursor</code> + and <code>appdefaultKeypad</code> resources. + + <li>add configure option <code>--enable-luit</code> and ifdef'd the + luit-related code with OPT_LUIT_PROG. + + <li>integrate patch by Tomohiro KUBOTA from + http://www.xfree86.org/pipermail/i18n/2002-July/003378.html which + modifies xterm to invoke luit. + + <li>update wcwidth.c to match Markus Kuhn's 2002-05-18 version. + + <li>correct limit-checking in <code>ComputeSelect()</code> to handle + selections that extend off the visible area; rather + than modify the parameters to <code>TrackText()</code>, use + <code>ScrollSelection()</code> to update the highlighting limits. + (reported by Yegappan Lakshmanan and Nelson Beebe, + patch by Alexander V Lukyanov). + + <li>correct manpage description of <code>tiXtraScroll</code> resource + (reported by Tony Finch). + + <li>changes from OpenBSD: + <ul> + <li>Make xterm setgid utmp to be able to update utmp even + with root privileges revoked. + <li>If not updating utmp, revoke group privileges totally too. + </ul> + + <li>changes from NetBSD: + <ul> + <li>Check that the return value from ttyslot() is greater than 0 + before writing the utmp file. + Fixes w's "w: Stale utmp entry: <user> <tty> <pty>" errors. + <li>Use openpty() to deal with new pty naming scheme. + </ul> + + <li>add <code>print-redir</code> action and menu entry to allow user to + switch terminal in/out of printer controller mode. It appears from + the manual that a real vt220 would not switch back to normal mode, so + another mechanism is used (addresses Debian #37517). + + <li>check if <code>printerCommand</code> resource string is empty, use + this to allow user to disable printer function. + + <li>trim trailing blanks from resource strings. + + <li>check return value from <code>ptsname()</code>, which may return + null for example if someone has changed the permissions of /dev/pts + to zero (Debian #121899). + + <li>modify OS/2 version to use <code>__UNIXOS2__</code> definition + rather than <code>__EMX__</code>, related cleanup (patch by Holger + Veit). + + <li>used modified indent 2.0 + (patch <a href="ftp://invisible-island.net/gnu-patches/">20020428</a>) + to reformat most of the C source files, to simplify maintenance. + + <li>fix a couple of places where there were leading tabs on + symbol-definition lines in Imakefile (Marc La France from report by + Tony Finch) + + <li>add imake variable (TraceXTerm) to allow building debug version + (Egbert Eich). +</ul> + +<H1><A NAME="xterm_166">Patch #166 - 2002/03/25 - XFree86 4.2.0</A></H1> +<ul> + <li>correct a bug in selection: double clicking on a word which + was partly scrolled off the screen may select that text (report + by Vincent Lefevre <vincent@vinc17.org>). + + <li>implement <code>veryBoldColors</code> resource to control whether + the corresponding video attribute such as <code>bold</code> is + displayed when using <code>colorBDMode</code>, etc. (request by Josh + Howard <jrh@vicor-nb.com>). + + <li>define escape sequences for function keys F21-F35 (patch by Steve Wall). + + <li>change the colors for the 256-color model, making them less skewed + toward black (patch by Steve Wall). + + <li>add <code>vt100Graphics</code> resource + (see <a href="#xterm_115">patch #115</a>, + based on discussion with Glenn Maynard). + + <li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid potential + incompatibilities between these flavors of Athena widgets. + + <li>add configure check for XFree86 4.x Xaw library, whose geometry + management is broken, to avoid trying to use it for toolbar + configuration. + + <li>updates to configure script from vile and lynx to allow + configure.in to be compiled with autoconf 2.5x + + <li>add a check for null pointer return by <code>ptsname()</code> + (newsgroup posting from Mike Silva <mikesilva@lucent.com>). + + <li>fill in a few details needed to allow UTF-8 mode to switch on/off + after startup. This requires that <code>wideChars</code> resource be + set. (based on comments in 4 Aug 2001 by Alexey Marinichev + <lyosha@lyosha.2y.net>). + + <li>remove duplicate install rules that make directories, e.g., so installing + manpage will not create app-defaults directory. + + <li>add comment in in <code>do_osc()</code>, reserving cases 30 and 31 + for for Konsole (request by Stephan Binner + <Stephan.Binner@gmx.de>). + + <li>fixes for ctlseqs.ms and xterm.man + (patch by Werner LEMBERG <wl@gnu.org>). + + <li>add check for monochrome display, disabling colorMode in that + case (fixes Debian #134130). + + <li>resync with XFree86 CVS: + <ul> + <li>Fix some xterm build warnings on *BSD (David Dawes). + <li>Only use SA_RESTART in xterm when it's available (Frank Liu). + <li>Fix incorrect code in signal handlers in most of the clients, + xterm and xdm not done yet (Matthieu Herrb). + </ul> +</ul> + +<H1><A NAME="xterm_165">Patch #165 - 2002/01/05 - XFree86 4.1.0</A></H1> +<ul> + <li>modify <code>uxterm</code> script to strip encoding part from + environment variable before adding ".UTF-8" (based on Debian + #125947, but using a more portable solution). + + <li>add an assignment statement in VTInitialize() to make + <code>awaitInput</code> resource work. + + <li>use new macros init_Bres(), etc., in VTInitialize() to add trace of + the initialization of resources. + + <li>modify checks for $LC_ALL, related environment variables to ensure + the resulting strings are nonempty (report by Markus Kuhn). + + <li>add an ifdef in charproc.c for num_ptrs variable in case all + configure options are disabled. + + <li>modify definition of getXtermBackground() to avoid negative array + index warning on Tru64 (report by Jeremie Petit). + + <li>improve fix from patch #165 (still Debian #117184, report by Matt + Zimmerman <mdz@debian.org>) + + <li>correct install rule for uxterm in Makefile.in, to handle the + case where building in a different directory than xterm's source + (patch by Paul Gilmartin). + + <li>documented ANSI.SYS-style cursor save/restore escape sequences + in ctlseqs.ms, which are in xterm since X11R5. + + <li>correct two entries in the default charClass table, which did not + follow the manpage comment about the character number corresponding + to the class (patch by Marc Bevand <bevand_m@epita.fr>). + + <li>fix a couple of typos in comments in the app-defaults files + (David Krause <xfree86@davidkrause.com>). + + <li>resync with XFree86 CVS: + <ul> + <li>update language of copyrights in some files to reflect the fact + that they were reassigned from X Consortium to The Open Group in + 1998. Note that this xterm source is derived from the 1996 + version from X Consortium, does not incorporate changes made by X + Consortium or The Open Group after that date, hence we do not add + The Open Group's 1998 copyright date to related files. + + <li>save/restore <code>errno</code> in signal catcher (Matthieu Herrb). + + <li>modify UXTerm.ad's font5 resource so that xterm can display double + width characters using a font distributed with XFree86 (Tomohiro KUBOTA). + </ul> +</ul> + +<H1><A NAME="xterm_164">Patch #163 - 2001/11/13 - XFree86 4.1.0</A></H1> +<ul> + <li>correct a case where <code>ptyInitialErase</code> and + <code>backarrowKeyIsErase</code> resources combine to set + <code>DECBKM</code> mode, but a <code>reset</code> command would not + reset xterm to that state, making the erase character revert to ^H + (Debian #117184) +</ul> + +<H1><A NAME="xterm_163">Patch #163 - 2001/11/04 - XFree86 4.1.0</A></H1> +<ul> + <li>correct ifdef's for <code>__QNX__</code> and + <code>USE_SYSV_PGRP</code> in main.c call to <code>tcsetpgrp</code>, + which broke bash behavior around <a href="#xterm_140">patch #140</a> + (report/patch by Frank Liu <fliu@mail.vipstage.com>). + + <li>modify trace.c to fix missing definition of GCC_UNUSED for + compilers other than gcc when configured for trace code (report/patch + by Paul Gilmartin). + + <li>change format in TraceOptions() to use long rather than int, since + the latter could lose precision on 64-bit machines (report/patch by + Nelson Beebe). + + <li>modify xterm manual page and minstall.sh to allow imake rules + to define location of app-defaults directory (Debian #87611). + + <li>review/update list of conflicting preprocesor symbols to remove + from $CPPFLAGS at the end of the configure script. In particular, + this allows one to configure xterm without the utempter library on + Redhat 7.1 (report/patch by Adam Sulmicki). +</ul> + +<H1><A NAME="xterm_162">Patch #162 - 2001/10/23 - XFree86 4.1.0</A></H1> +<ul> + <li>correct logic that processes <code>-class</code> option, so that + a following <code>-e</code> option is handled (Debian #116297). + + <li>improve options-decoding to allow <code>-version</code> and + <code>-help</code> options to be combined (Debian #110226). + + <li>add a 10 millisecond delay in event loop when processing + <code>-hold</code> option, to avoid using too much CPU time + (Debian #116213). + + <li>prefix final program execution in <code>uxterm</code> with "exec" + to avoid a useless shell hanging around (Christian Weisgerber). +</ul> + +<H1><A NAME="xterm_161">Patch #161 - 2001/10/10 - XFree86 4.1.0</A></H1> +<ul> + <li>modify logic that resets keypad application mode to avoid doing + this if there is no modifier associated with the Num_Lock keysym + (report by John E Davis <davis@space.mit.edu> and Alan W Irwin + <irwin@beluga.phys.uvic.ca>). + + <li>add built-in translation for Control/KP_Separator to KP_Subtract, + to accommodate users who wish to use xmodmap to reassign the top + row of the numeric keypad. + + <li>correct Imakefile install-rule for <code>uxname</code> script + (reported by Nam SungHyun <namsh@lge.com>). + + <li>resync with XFree86 CVS: correct typo in <code><ncurses/term.h></code> + ifdef. +</ul> + +<H1><A NAME="xterm_160">Patch #160 - 2001/10/7 - XFree86 4.1.0</A></H1> +<ul> + <li>modify logic in main.c + (see <a href="#xterm_145">patch #145</a>) to avoid generating the + same identifier, for example, for /dev/tty1 and /dev/pts/1, which + is used to denote an entry in the utmp file (Debian bug report + #84676), A similar fix was also sent by Jerome Borsboom + <borsboom@westbrabant.net> in May, but I overlooked it when + reviewing bug reports. + + <li>add configure check for <code><ncurses/term.h></code> to get + rid of hardcoded <code>__CYGWIN__</code> ifdef in resize.c + <p> + NOTE: The CYGWIN port should not be linking <code>resize</code> + with ncurses. It appears that the only reason it is, is because + both the ncurses and termcap ports on that platform are badly + misconfigured (essential pieces have been removed, etc). Checking + for <code><ncurses/term.h></code> does not hurt anything, + since there are some correct installations that are set up that + way. + + <li>add a sample <code>uxterm</code> script, which uses the + <code>UXTerm</code> application defaults for UTF-8 environments. + + <li>undo change to xterm application defaults, since this introduced an + unnecessary incompatibility. The intended functionality was + already addressed by the <a href="#xterm_141">UXTerm</a> + app-defaults file. + + <li>resync with XFree86 CVS: + <ul> + <li>Modified xterm app default to use LFD fontnames instead of old type + (Michael Schroeder). + <li>Fix xterm when XIM is disabled - caused a segfault + (Tomohiro Kubota). + </ul> +</ul> + +<H1><A NAME="xterm_159">Patch #159 - 2001/9/19 - XFree86 4.1.0</A></H1> +<ul> + <li>remove an ifdef for <code>USE_HANDSHAKE</code> added in patch + #158 from the second <code>TIOCSSIZE</code> ioctl call in the + initialization code. Paul Gilmartin reports that for Solaris 2.6 + (sparc), stty does not show that xterm sets rows and columns unless + the second ioctl is executed. + + <li>correct treatment of empty parameter list for some OSC strings + (report by Sami Farin <sfarin@ratol.fi>). +</ul> + +<H1><A NAME="xterm_158">Patch #158 - 2001/9/8 - XFree86 4.1.0</A></H1> +<ul> + <li>augment key translations for scrollbar widget to ensure that + keystrokes intended for the text area are not lost if the mouse + pointer happens to fall on the scrollbar. This can happen, for + instance, if the user's <code>app-defaults</code> or + <code>.Xdefaults</code> file contains a translations resource, + though it may also happen through unrelated resource settings: + probably a bug in libXt (reported by Paul Fox + <pgf@foxharp.boston.ma.us> and Dmitry Yu. Bolkhovityanov + <D.Yu.Bolkhovityanov@inp.nsk.su>). + + <li>widen ifdef's in xterm.h to define <code>__EXTENSIONS__</code> on + Solaris, for compilers other than gcc. This was added along + <code>_POSIX_C_SOURCE</code> with in <a href="#xterm_151">patch + #151</a>, but is not sufficient since Sun's compiler does not define + <code>__STDC__</code> by default (report by Matthias Scheler + <tron@zhadum.de>). + + <li>modify xterm to obtain the closest matching color if an exact color + is not available, e.g., on 8-bit displays (patch by Steve Wall) + + <li>patch by Tomohiro KUBOTA <tkubota@riken.go.jp> to implement + "OverTheSpot" preedit type of XIM input: + <ul> + <li>This preedit type is a reasonable compromise between + simpleness of implementation and usefulness. "Root" preedit + type is easy to implement but not useful; "OnTheSpot" preedit + type is the best in the point of view of user interface but + very complex. And more, "OverTheSpot" is the preedit type + which the most XIM servers support. Thus, to achieve reasonable + usability, support of "OverTheSpot" preedit type is needed. + + <li>In "OverTheSpot" preedit type, the preedit (preconversion) + string is displayed at the position of the cursor. On the + other hand, it is XIM server's responsibility to display + the preedit string. Thus, it is needed for XIM client (here + XTerm) to inform the XIM server of the cursor position. + And more, to achieve good visual proportion, preedit string + must be written using proper font. Thus, it is XIM client's + responsibility to inform the XIM server of the proper font. + The font must be supplied by "fontset". Fontset is a set of + fonts with charsets which are specified by the current locale. + Since XTerm uses ISO10646 fonts regardless of the current locale, + the fonts for XIM must be prepared separately. It is difficult + to prepare fonts which are similar to XTerm font. Thus, my + patch uses a simple way - the default font is "*" which matches + every fonts and X library will automatically choose fonts with + proper charsets. I added "-fx" command option and "ximFont" + resource to override this default font setting. + + <li>changed the definition of "OverTheSpot" preedit type + from XIMPreeditPosition|XIMStatusArea + to XIMPreeditPosition|XIMStatusNothing. + This matches the behavior of other programs such as + Rxvt, Kterm, Gedit. + + <li>A tiny XIM bugfix is also included. By calling XSetLocaleModifiers() + with parameter of "", it can consier XMODIFIERS environmental + variable which is a standard way for users to specify XIM server + to be used. + </ul> + + <li>adjust configure script to accommodate repackaging of keysym2ucs.c + as include-file for xutf8.c (patch by Tomohiro KUBOTA + <kubota@debian.org>). + + <li>add the <code>UXTerm</code> app-defaults file to makefile install + rules (request by Juliusz Chroboczek). + + <li>correct logic in <code>get_termcap()</code>, which returned false + if the <code>tgetent()</code> call indicated that xterm was linked + with terminfo. Although the <code>$TERMCAP</code> variable cannot be + adjusted in this case, xterm still needs information from this call + to extract data to initialize the erase-mode when the + <code>ptyInitialErase</code> resource is false. + + <li>modify <code>ScrollbarReverseVideo()</code> function to cache the + original border color, so it can restore that when an application + flashes the screen (Bugzilla #38872). + + <li>resync with XFree86 CVS: + <ul> + <li>remove ifdef's for X_NOT_STDC_ENV (David Dawes). + <li>add Cygwin to special errno handling case in ptydata.c (Alan Hourihane) + <li>set screen size earlier in initialization, to address a race + with window manager resizing its clients (Keith Packard). + </ul> +</ul> + +<H1><A NAME="xterm_157">Patch #157 - 2001/6/18 - XFree86 4.1.0</A></H1> +<ul> + <li>patch by Juliusz Chroboczek to clean up button.c and input.c. The + basic idea is to use a single set of APIs in the XTerm core, and put + a set of workarounds in a separate file. As you will notice, this + drastically simplifies parts of the code; in particular, the only + remaining ifdefs related to the differences between Xutf8 and legacy + systems are related to the selection provider logic. + + This defines two new files, xutf8.h and xutf8.c, provide some + half-hearted but fully portable emulation for the three Xutf8* + functions that XTerm uses. + + Putting these in a separate file will allow people to experiment with + more complex versions without making the core of XTerm more difficult + to maintain. + + The functionality of the emulation is as follows. + <ul> + <li>Xutf8TextListToTextProperty fully handles XStringstyle and + XUTF8StringStyle. It will only generate STRING for XStdICCTextStyle, + and wil only generate Latin-1 in XCompoundTextStyle (but label it as + COMPOUND_TEXT, as the spec requires). (I have hesitated to make this + function fail for XStdICCTextStyle and XCompoundTextStyle; this might + be a smart thing to do, in the hope that the selection requestor will + try UTF8_STRING afterwards; opinions?) + + <li>Xutf8TextPropertyToTextList fully handles STRING and UTF8_STRING. + It systematically fails for COMPOUND_TEXT. + + <li>Xutf8LookupString will properly handle single-keystroke input for + the keysyms covered by Markus' keysym2ucs function. It will not + handle either compose key input or external input methods. + </ul> + + <li>add an ifdef for <code>SunXK_F36</code>, used in + <code>xtermcapKeycode()</code> (patch by Mark Waggoner + <waggoner@ichips.intel.com>). + + <li>modify check for login name to try <code>getlogin()</code> and + $LOGNAME, $USER environment variables to detect if the user has + logged in under an alias, i.e., an account with the same user id + but a different name (Debian bug report #70084). + + <li>add resource <code>tiXtraScroll</code>, which can be used to + preserve the screen contents in the scrollback rather than erasing + it when starting a fullscreen application such as <code>vi</code> + (patch by Ken Martin <fletcher@catsreach.org>). + + <li>two patches by Denis Zaitsev <zzz@cd-club.ru>: + <ul> + <li>added <code>forceBoxChars</code> resource to control the + "line-drawing characters" option. + + <li>added <code>freeBoldBox</code> resource, which, when set true, + suppresses check in <code>same_font_size()</code>, so xterm does + not attempt to ensure that the bold font is the same size as + the normal font. + </ul> + + <li>change the color class for ANSI colors and similar ones such as + bold-color, etc., to follow the convention that the classname is the + instance name with a leading capital (e.g., <code>color0</code> and + <code>Color0</code> rather than <code>color0</code> and + <code>Foreground</code>). There was little use for Foreground as a + class other than to create occasional confusion and bug reports, most + recently by Nelson Beebe who reports that it disables colors in xterm + but not on Linux, which is probably due to a difference in resource + evaluation order. A configure script option (--disable-color-class) + is provided for anyone who did use the older behavior. + + <li>fix a signal-handling bug. When running xterm with + <code>ksh</code> or similar shell such as bash 2.05, xterm will hang + and not respond to keystrokes after the user types + <code>suspend</code>. Additionally the popup menus do not respond, + so it is not possible to send SIGCONT to the shell. + What is happening is that the shell is sending itself SIGSTOP, and it + is being stopped. Per specification it also means that the operating + system is sending SIGCHLD to parent to the bash (XTERM). + Now the issue is that xterm assumes it cannot happen and it expects + to receive SIGCHLD only upon <em>termination</em> of its children. + This causes a deadlock with xterm waiting for the child to + die, and the child waiting for SIGCONT. + (report/patch by Adam Sulmicki), analysis/testing by Sven Mascheck + <sven.mascheck@student.uni-ulm.de>). + + <li>correct some inconsistent checks for <code>XtReleaseGC()</code> + calls in <code>xtermLoadFont()</code> (patch by Nam SungHyun + <namsh@lge.com>). + + <li>updated wcwidth.c and keysym2ucs.c to versions dated 2001/1/12 + and 2001/4/18, respectively from + http://www.cl.cam.ac.uk/~mgk25/ucs/ + + <li>correction to change from <a href="#xterm_90">patch #90</a>, + which was intended to + reset the saved cursor position for normal/alternate screens + on a soft reset, but actually wiped out all of the saved cursor + information. Just reset the saved position for the current screen + (report by Michael Schroeder). + + <li>modify ShowCursor() and HideCursor() so that if the cursor points + to the second part of a wide character, make the show/hide operate on + the first position of the wide character (patch by Sven Verdoolaege). + + <li>scrolling in the alternate screen just before switching back to the + main screen can cause extra blank lines to be inserted into the + scrollback buffer (patch by Paul Vojta + <vojta@math.berkeley.edu>). + + <li>resync with XFree86 4.1.0: + <ul> + <li>Use TermcapLibrary as -lncurses instead of -ltermcap, fixes + problem building xterm/resize on Cygwin/XFree86 (Harold Hunt). + <li>Install xterm.termcap and xterm.terminfo when installing xterm + (Torrey T. Lyons). + <li>Fix some build issues on Cygwin/XFree86 (Suhaib Siddiqi). + <li>Define CBAUD, when it's missing in xterm, on LynxOS + (Stuart Lissaman). + </ul> +</ul> + +<H1><A NAME="xterm_156">Patch #156 - 2001/4/28 - XFree86 4.0.3</A></H1> +<ul> + <li>change order of selection-target types to make 8-bit xterm prefer + UTF8_STRING to COMPOUND_TEXT (patch by Juliusz Chroboczek). + + <li>document <code>-fa</code>, <code>-fs</code> command-line options + and <code>faceName</code>, <code>faceSize</code> + resources which are used by the freetype library support. + + <li>if configure script finds freetype libraries, but imake definitions + do not have the XRENDERFONT definition, define it anyway. + + <li>modify configure script check for freetype libraries to include + <code><Xlib.h></code>, since an older version of the related + headers relies on this (patch by Adam Sulmicki). +</ul> + +<H1><A NAME="xterm_155">Patch #155 - 2001/4/20 - XFree86 4.0.3</A></H1> +<ul> + <li>correct return type of in_put() from <a href="#xterm_155">patch #153</a> + changes, which left it not wide enough for UTF-8 (patch by Bruno Haible). +</ul> + +<H1><A NAME="xterm_154">Patch #154 - 2001/4/11 - XFree86 4.0.3</A></H1> +<ul> + <li>undo check for return value from <code>pututline</code> (used for + debugging) since that function does not return a value on Slackware + 3.6. + + <li>correct length in ScreenWrite, when rendering invisible text + (patch by Sven Verdoolaege <skimo@kotnet.org>). + + <li>fixes/improvements for the <code>i18nSelection</code> resource + from patch #153, by Bruno Haible: + + <ul> + <li>add missing initialization for <code>i18nSelection</code> + resource. + + <li>split-out the non-ICCM aspect of the + <code>i18nSelection</code> resource as a new resource, + <code>brokenSelections</code>. + </ul> + + <li>add configure check for <code><time.h></code> and + <code><sys/time.h></code>, to allow for Unixware 7, + which requires both. If the configure script is not used, only + <code><time.h></code> will be included as before (report + by Thanh Ma). + + <li>fix redefinition of <code>dup2</code>, <code>getutent</code>, + <code>getutid</code>, <code>getutline</code> and <code>sleep</code> + functions on Unixware 7 (report by Thanh Ma + <Thanh.Ma@casi-rusco.com>) + + <li>add a fall-back definition for <code>__hpux</code>, which is + apparently not defined in some compilers on HPUX 11.0 (reported + by Clint Olsen). + + <li>change VAL_INITIAL_ERASE, which is used as a fallback for the + <code>"kb"</code> termcap string to 8, since that matches the + xterm terminal description (request by Alexander V Lukyanov). + + <li>correct an off-by-one in <code>ClearInLine</code>, which caused + the erase-characters (ECH) control to display incorrectly + (patch by Alexander V Lukyanov). + + <li>correct escape sequences shown in terminfo for shifted editing + keys. The modifier code was for the control key rather than + the shift key. +</ul> + +<H1><A NAME="xterm_153">Patch #153 - 2001/3/29 - XFree86 4.0.3</A></H1> +<ul> + <li>increase PTYCHARLEN to 8 for os390, add some debugging traces + for UTMP functions (patch by Paul Gilmartin). + + <li>correct an misplaced brace in <code>SelectionReceived()</code> + (patch by Bruno Haible). + + <li>correct an assignment dropped in <code>SelectionReceived()</code> + which made it not compile for wide-characters combined with debug + traces. + + <li>correct typo, clarify description of 88- and 256-color controls + (report by Bram Moolenaar). + + <li>correct a typo in ctlseqs.ms which caused DEC Locator control + sequences using single quote "'" display grave "`" instead (reported + by Paul Williams, apparently in patch #114). +</ul> + +<H1><A NAME="xterm_152">Patch #152 - 2001/3/13 - XFree86 4.0.2</A></H1> +<ul> + <li>correct index in inner loop in <code>VTInitI18N()</code> from + patch #151 changes, which resulted in infinite loop under some + conditions (report/analysis by Paul Gilmartin). + + <li>remove spurious "%|" from terminfo sgr capabilities + (report/analysis by Adam M Costello, Debian bug #89222). + + <li>add shell script to adjust list of dynamic libraries linked by + <code>resize</code> when building with the standalone configure + script. Otherwise it uses the same list as for xterm, which is + excessive. + + <li>fix a few compiler warnings reported by the 20010305 gcc snapshot. +</ul> + +<H1><A NAME="xterm_151">Patch #151 - 2001/3/10 - XFree86 4.0.2</A></H1> +<ul> + <li>patch from Juliusz Chroboczek <jch@pps.jussieu.fr> which + alters the behaviour of selections in XTerm. + It is believed to follow the ICCCM + UTF8_STRING to the letter, both + in UTF-8 and in eight-bit mode. From his description: + <ul> + <li>When compiled against XFree86 4.0.2, the patched XTerm will make + the selection available as COMPOUND_TEXT, STRING or UTF8_STRING in + both modes. It will request selections in the following order: + <p> + UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT, STRING.<br> + eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING, STRING. + + <li>When compiled against an earlier version of XFree86 (or compiled with + OPT_UTF8_API=0), it will still obey the ICCCM, but will neither + request nor provide UTF8_STRING in eight-bit mode, and neither TEXT + nor COMPOUND_TEXT in UTF-8 mode. + <li>For compatibility with previous versions of XTerm, a resource + <code>i18nSelections</code> is provided, please see the manpage for + details. However, due to an unexpected combination of ICCCM + extensions by various bits and pieces of the libraries, interacting + with previous versions of XTerm will work in many locales even + without this flag. (Please do not set this resource to true by + default, as this would violate the ICCCM.) + </ul> + + <li>improved error checking/reporting in VTInitI18N(), ensuring that + lack of input method styles is treated distinctly from a mismatch. + + <li>remove an incorrect ifdef from patch #141 which suppressed + overstriking to simulate bold font when xterm was compiled to support + wide characters (report/analysis by Adam M Costello + <amc@cs.berkeley.edu>, fixes Debian bugs #76404, #77575). + + <li>modify <code>RequestResize()</code> function to save/restore window + manager hints. Its call to <code>XtMakeResizeRequest()</code> had + the undesirable side-effect of clearing window manager hints, e.g., + when switching to 132-columns via DECCOLM escape sequence. Window + manager hints make it simple to resize xterm in terms of character + cells rather than pixels (reported by Christian Weisgerber as well + as Debian bug #79939). + <p> + This applies to the normal configuration. When built with toolbar + support, the hints are applied to a different widget level (more + work will be needed to make hints work with the toolbar). + + <li>fix a redefinition warning for resize.c on OpenBSD (patch by + Christian Weisgerber). + + <li>change resource corresponding to <code>-T</code> option to match + Xt library's <code>-title</code>, i.e., <code>.title</code> + rather than <code>*title</code> so the command-line options are + interchangeable as documented (Debian bug report #68843). + + <li>add script used from autoconf'd makefile for installing manpages, + since recent XFree86 changing the way section numbers are represented + makes the install dependent on extra scripts. + + <li>add configure check for freetype libraries and configure option + --disable-freetype to override this feature. + + <li>modify some configure script macros to avoid using changequote(), + which has been rendered useless in the latest autoconf alpha 2.49c + + <li>update config.guess, config.sub to 2001-2-13 + + <li>remove redundant/contradictory __CYGWIN__ definitions from resize.c + + <li>correct manpage typo introduced by X11R6.5 resync. +</ul> + Changes from XFree86 4.0.2: +<ul> + <li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris to + make this compile with <code>gcc -ansi -pedantic</code> (report + by <mark@zang.com>. +</ul> + +<H1><A NAME="xterm_150">Patch #150 - 2000/12/29 - XFree86 4.0.2</A></H1> +<ul> + <li>move the binding for shifted keypad plus/minus, which invokes the + <code>larger-vt-font()</code> and <code>smaller-vt-font()</code> + actions, respectively, into the translations resource (suggested by + Marius Gedminas <mgedmin@puni.osf.lt>). + + <li>modify configure script to support the + <code>--program-prefix</code>, <code>--program-suffix</code> and + <code>--program-transform-name</code> options (request by Alison + Winters <alison@mirrabooka.com>). + + <li>patch from Robert Brady + <ul> + <li>fix a scrolling / combining characters display anomaly + + <li>fix a problem with double-width characters where if the primary + font had no box-drawing characters, the right hand half of + double-width characters was erased (reported by Yao Zhang + <yzhang@sharemedia.com>). + + <li>fix special case of null byte for key handling in UTF-8 locales. + </ul> + + <li>modify logic that compares sizes of normal and bold fonts to be + more forgiving of the font server's choice of bold font which must + match the normal font's size. Now <code>same_font_size()</code> + compares the height of the fonts rather than individually ascent and + descent, and allows the bold font to be one pixel smaller than the + normal font (addresses a report by Alan Citterman + <alan@mticket.com>, who says that something in patches #146 to + #148 made xterm more likely to overstrike bold fonts, and indirectly + Debian bug report #76404, which reports the opposite). + + <li>make configure script use $CFLAGS and $CPPFLAGS consistently, + including removing a chunk from configure.in which attempted to + save/restore $CPPFLAGS while processing value set by the --x-includes + option, but lost values set in an intervening AC_CHECK_HEADERS. This + change modifies macros CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and + CF_X_TOOLKIT, as well as removing variables IMAKE_CFLAGS and X_CFLAGS + from the generated makefile (the AC_CHECK_HEADERS problem was + reported by Albert Chin-A-Young <china@thewrittenword.com<). + + <li>correct a comparison in SELECTWORD case of ComputeSelect(), which + resulted in a word-selection wrapping past the first column without + checking the first column's character class (reported by Christian + Lacunza <celacunza@netscape.net> + + <li>correct a logic in UTF-8 mode for selecting double-width characters; + a combining character was omitted (patch by Markus Kuhn). + + <li>add feature to pop (raise) window when a bell is received + (patch by Gael Roualland <gael.roualland@dial.oleane.com>). + + <li>add __NetBSD__ and __OpenBSD__ to special-case in xterm_io.h + for USE_POSIX_TERMIOS definition (patch by Christian Weisgerber). + + <li>move special-case HPUX include for <sys/bsdtty.h> to + xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for HPUX + 10.20 (report by Bruno Betro). +</ul> + +<H1><A NAME="xterm_149">Patch #149 - 2000/12/6 - XFree86 4.0.1h</A></H1> +<ul> + <li>restructured includes for <code>termios.h</code>, + <code>termio.h</code> and related definitions for main.c, os2main.c, + screen.c and resize.c so they will share equivalent definitions in a + new header <code>xterm_io.h</code>. This is intended to solve some + problems mainly for HPUX which appear to arise from inconsistent + definitions for SIGWINCH- and HAS_LTCHARS-related symbols (reports + by Bruno Betro, Jeremie Petit and Clint Olsen). + + <li>improve usability of double-width fonts by allowing normal fonts + to be given as double-width (from a patch by Fabrice Bellard + <bellard@email.enst.fr>). + + <li>correct a few compiler warnings in TRACE() macros for + signed/unsigned variable differences (reported by Clint Olsen). + + <li>make configure script use $CFLAGS and $CPPFLAGS more consistently, + i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC macro. + + <li>expanded description of environment variables in manual-page. + + <li>modify OPT_TCAP_QUERY feature to always return the termcap or + terminfo capability string in the response, and to read/write the + names in hexadecimal form to allow for the special case of termcap's + <code>k;</code> name (patch by Bram Moolenaar). + + <li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so the + corresponding configure options work (patch by Bram Moolenaar). + + <li>resync with XFree86 4.0.1g: + <ul> + <li>Rewrite Xft library for Render extension/core text and font management + Change xterm to use new interface (Keith Packard). + </ul> +</ul> + +<H1><A NAME="xterm_148">Patch #148 - 2000/10/31 - XFree86 4.0.1d</A></H1> +<ul> + <li>document logfile options in man-page. + + <li>correct spelling of <code>-samename</code> option in help message. + + <li>add configure script option <code>--enable-tcap-query</code> + (request by Bram Moolenaar). + + <li>patch by Bram Moolenaar to add a + "Co" or "colors" entry to the OPT_TCAP_QUERY feature. + <li>patch by Kiyokazu SUTO <suto@ks-and-ks.ne.jp>: + <ul> + <li>add support for bold font for double width characters. + The font name may be specified with the command line option + <code>-fwb</code> or with resource + <code>wideBoldFont</code> (class <code>WideBoldFont</code>). + <li>correct underlining of double width character string, which + was drawn only half width. + <li>correct binary search of precomposed character table, which + may return wrong result when <code>int</code> is just 32 bits. + </ul> + + <li>some changes to align terminfo with ncurses 5.2: + <ul> + <li>remove xtermm description, retaining xterm-mono since the former + conflicts with ncurses. + <li>modify initialization and reset strings to avoid putting the + save/restore cursor operations bracketing changes to video + attributes, since the changes could be lost when the cursor is + restored. This affects xterm-r6 and xterm-8bit (the xterm-xfree86 + entry uses the soft-reset feature which resets scrolling margins + and origin mode without requiring us to save/restore the cursor + position). + <li>make a few entries explicitly inherit from xterm-xfree86 rather + than xterm: xterm-rep, xterm-xmc, xterm-nrc + </ul> + + <li>ensure that sign-extension does not affect <code>ctype</code> + macros by using <code>CharOf()</code> macro to coerce the parameter + to an unsigned char. + + <li>resync with XFree86 4.0.1d: + <ul> + <li>Add primitive support in xterm for Xft based fonts (Keith Packard). + The changes are ifdef'd with <code>-DXRENDERFONT</code>. + </ul> +</ul> + +<H1><A NAME="xterm_147">Patch #147 - 2000/10/26 - XFree86 4.0.1c</A></H1> +<ul> + <li>correct implementation of <code>ptyInitialErase</code>: the + value assigned to <code>initial_erase</code> was for the control + terminal, which is correct as far as it goes. But there was no + following test for the pseudo-terminal's erase value, which would + overwrite the default obtained from the control terminal + (reported by Christian Weisgerber <naddy@mips.inka.de>). + + <li>modify check for printable-characters in OSC string to use xterm's + ansi_table rather than isprint() macro, to isolate this check from + locale settings. This fixes a problem using 8-bit characters to + set the title (reported by Ricardas Cepas <rch@richard.eu.org>). + + <li>modify sample scripts to check for printf before print, since the + latter is not as well standardized (e.g., on Linux). + + <li>updated config.sub, config.guess to reflect changes on + subversions.gnu.org +</ul> + +<H1><A NAME="xterm_146">Patch #146 - 2000/9/12 - XFree86 4.0.1c</A></H1> +<ul> + <li>correct two instances overlooked from patch #141 which assumed + UTF-8 mode without checking, causing a core dump in non-UTF-8 mode + (one instance was reported by Tommi Virtanen <tv@debian.org>). + + <li>correct a problem selecting from the scrollback buffer in UTF-8 + mode by changing remaining getXtermCell() calls to XTERM_CELL() as in + the non-UTF-8 cases (report by Markus Kuhn, patch by Robert Brady). +</ul> + +<H1><A NAME="xterm_145">Patch #145 - 2000/9/11 - XFree86 4.0.1c</A></H1> +<ul> + <li>several changes from Robert Brady for UTF-8 configuration: + <ul> + <li>doublewide characters don't lose their accents when the cursor + moves onto or from them (a visual bug) + + <li>fix logic in addXtermCombining, which mean that if the low byte + of a cell's first combining char was 0, a following combining char + would go into combining slot 1, not 2. + + <li>modify logic for cut-buffers so UTF-8 data is first converted + to Latin1. + + <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL. + + <li>modify to allow xterm to to show combining characters + attached to doublewidth characters. + + <li>correct bug in linewrap with -u8 option (reported by + Andreas Koenig <andreas.koenig@anima.de>). + </ul> + + <li>several changes to PTY logic (based on request by Tim Ryan + <timryan@nortelnetworks.com>). + <ul> + <li>modify treatment of <code>-S</code> option to to make it work with + Unix98 PTY's. + + <li>restore sense of IsPts flag in <code>get_pty()</code>, which was + lost in Unix98 changes. + + <li>use new functions <code>my_pty_id()</code> and + <code>my_pty_name()</code> to simplify/fix strings used for utmp, + wtmp identifiers. + + <li>simplify <code>get_pty()</code> function, making it have a single + return point so its inputs/outputs can be identified. + </ul> + + <li>update config.guess and config.sub and scripts to my 20000819 patch, + adding cases for OS/2 EMX. + + <li>add special case for os390 compiler options to configure script + (patch by Paul Gilmartin) + + <li>fix some unused-variable compiler warnings (reported by + Zdenek Sekera). + + <li>split-out some string functions into xstrings.c, to use them + more consistently among main.c, os2main.c and resize.c + + <li>align termcap/terminfo files, adding entries to make them match. + The termcap entries are necessarily less complete than the terminfo, + to fit within 1023 character per entry. + + <li>add terminfo entry for xterm-sco (SCO function keys). + + <li>modify <code>same_font_name()</code> to properly handle wildcard + introduced in <code>bold_font_name()</code>, making comparison for + different fonts succeed when only the normal font is specified. This + is needed to decide if 1-pixel offset should be used. (reported + in a newsgroup by Bart Oldeman <enbeo@enbeo.resnet.bris.ac.uk>) + + <li>correct preprocessor line for OPT_WIDE_CHARS in drawXtermText() + from patch #141 which resulted in overstriking for bold fonts not + working. + + <li>correct Imakefile from 4.0.1c resync so UTF-8 modules are in + UTF8SRC, UTF8OBJ lists, allowing build without UTF-8 support. +</ul> + +<H1><A NAME="xterm_144">Patch #144 - 2000/8/23 - XFree86 4.0.1b</A></H1> +<ul> + <li>remove a spurious assignment in ScreenWrite() from Robert Brady's + patch which set a null at the "end" of the buffer to be written. + That made the autowrap feature write a blank in the first column for + the non-UTF-8 configuration, rather than the actual character + (reported by Alan Citterman <alan@mticket.com>). +</ul> + +<H1><A NAME="xterm_143">Patch #143 - 2000/8/19 - XFree86 4.0.1b</A></H1> +<ul> + <li>add a check to ensure that <code>-class</code> command-line option + is not confused with <code>-c</code> (reported by Paul Townsend + <aab@aab.cc.purdue.edu>). +</ul> + +<H1><A NAME="xterm_142">Patch #142 - 2000/8/18 - XFree86 4.0.1b</A></H1> +<ul> + <li>correction to precompose scripts, so 0061 + 0300 will now be really + be displayed as 00C0 (patch by Robert Brady + <robert@susu.org.uk>). + + <li>correct macro ClassSelects() in button.c, used to hide ifdef's for + OPT_WIDE_CHARS in patch #141 (reported by Andreas Paul + <paula@informatik.tu-muenchen.de>). + + <li>change wcwidth.h to include stddef.h rather than wchar.h, which is + not present on OpenBSD and FreeBSD (reported by Christian + Weisgerber and Bram Moolenaar). + + <li>newer config.sub and config.guess, from lynx 2.8.4dev.7 +</ul> + +<H1><A NAME="xterm_141">Patch #141 - 2000/8/14 - XFree86 4.0.1b</A></H1> +<ul> + <li>Most of this patch is an integration of Robert Brady's patch #11 + for doublewidth and combining characters, from + http://www.ecs.soton.ac.uk/~rwb197/xterm/. In this context, + doublewidth refers to 16-bit character sets which may have glyphs + occupying two cells. + + <li>add command-line option <code>-class</code>, which allows one + to override xterm's resource class. Also add resource file + <code>UXTerm.ad</code>, which simplifies using xterm for both + 8-bit character sets and UTF-8. + + <li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram + Moolenaar, Steve Wall). +</ul> + +<H1><A NAME="xterm_140">Patch #140 - 2000/7/23 - XFree86 4.0.1</A></H1> +<ul> + <li>modify Makefile.in to circumvent GNU make's built-in suffix rule + for ".sh" which confuses install.sh with the "make install" target + (report/patch by Paul Gilmartin). + + <li>implement an experimental control sequence which an application may + use to query the terminal to determine what sequence of characters it + would send for a given function key. This is ifdef'd with + OPT_TCAP_QUERY (request by Bram Moolenaar). + + <li>add /usr/local to search path in CF_X_ATHENA configure macro + to build with Xaw3d on OpenBSD (patch by Christian Weisgerber). + + <li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to + xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate (report + by Alain Filbois <Alain.Filbois@loria.fr>). + + <li>correct a few errors in xterm.man: font in filename example for + Tektronix emulation, and description of -nul/+nul command-line + options (report by Eric Fischer <enf@pobox.com>). + + <li>update config.guess and config.sub (from tin and lynx) +</ul> + +<H1><A NAME="xterm_139">Patch #139 - 2000/6/17 - XFree86 4.0d</A></H1> +<ul> + <li>back out change to <code>-name</code> command-line option, + restoring its original behavior (as noted by David Madore, the + correct interpretation of this option is the application instance + rather than the application class). +</ul> + +<H1><A NAME="xterm_138">Patch #138 - 2000/6/15 - XFree86 4.0c</A></H1> +<ul> + <li>workaround for fixed fonts which are generated from Unicode fonts: + they omit glyphs for some xterm's less-used line-drawing characters, + which caused xterm to set a flag telling it to use only its internal + line-drawing characters. Do not set the flag (it can be set from the + popup menu), and xterm will generate only the line-drawing glyphs + which actually are missing. + <br> + Otherwise, when used for large fonts, xterm may generate a 2-pixel + wide line, which can leave dots on the screen. + + <li>restore first line of 256colres.pl, omitted in 4.0c diffs. +</ul> +<H1><A NAME="xterm_137">Patch #137 - 2000/6/10 - XFree86 4.0b</A></H1> +<ul> + <li>make command-line <code>-name</code> option work as documented. + Apparently this was lost in X11R5 when coding to use + <code>XtAppInitialize</code>. + + <li>limit numeric parameters of control sequences to 65535 to + simplify checks for numeric overflow. + + <li>change index into UDK list to unsigned to guard against numeric + overflow making the index negative (Taneli Huuskonen + <huuskone@cc.helsinki.fi>). + + <li>change <code>sun function-keys</code> resource name to + <code>sunFunctionKeys</code> to work around redefinition of the + token <code>sun</code> by xrdb on Solaris. Similarly, renamed + resource <code>sun keyboard</code> to <code>sunKeyboard</code> + (Steve Wall). + + <li>change similar resource names for HP and SCO to avoid potential + conflict with xrdb symbols on other systems, as well as for + consistency. + + <li>reorganized the install targets in the autoconf'd Makefile, adding + install-app, install-bin, install-dirs and install-man. The + app-defaults class can be overridden by setting the make variable + 'CLASS', simplifying customization of xterm as a Unicode terminal, + e.g., CLASS=UXTerm. + + <li>add limit checks to <code>ClearInLine()</code>, + <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to + correct potential out-of-bounds indexing (prompted by Debian bug + report #64713, which reported a problem with ICH escape sequences). + + <li>updates to config.sub and config.guess + Kevin Buettner <kev@primenet.com> for elf64_ia64 + Bernd Kuemmerlen <bkuemmer@mevis.de> and MacOS X. + + <li>patch from Paul Gilmartin for os390 to check for errno set to + ENODEV on failure to open /dev/tty when there is no controlling + terminal. + + <li>patch from H Merijn Brand <h.m.brand@hccnet.nl> for + building on Digital Unix 4.0 and AIX 4.2. + + <li>modify DECRQSS reply for DECSCL to additionally report if the + terminal is set for 8-bit controls. +</ul> + +<H1><A NAME="xterm_136">Patch #136 - 2000/6/3 - XFree86 4.0b</A></H1> +<ul> + <li>add a resource (<code>limitResize</code>) + limiting resizing via the CSI 4 t and CSI 8 t sequences. + + <li>ignore out-of-bounds resize requests, i.e., where sign-extension + or truncation of the parameters would occur. +</ul> + +<H1><A NAME="xterm_135">Patch #135 - 2000/5/29 - XFree86 4.0b</A></H1> +<ul> + <li>remove code introduced in #134 which made some backgrounds bold. + + <li>minor correction to format of updated $TERMCAP when adding + <code>kb</code> capability for <code>ptyInitialErase</code> logic. + + <li>improved test for SVR4 definition. +</ul> + +<H1><A NAME="xterm_134">Patch #134 - 2000/5/28 - XFree86 4.0b</A></H1> +<ul> + <li>update URL's and mailing addresses, moved to http://dickey.his.com + and dickey@herndon4.his.com + + <li>correct missing quotes in CF_TTY_GROUP configure script macro in + case the script is run in batch mode. + + <li>modify ownership-check of log file to ignore the group ownership. + Otherwise xterm cannot create logfiles in directories with set-gid + permissions. + + <li>simplify the logic that reads termcap data. + + <li>add fallback definition for B9600 in case line speed definition + for 38400 is missing (report by Jack J Woehr <jwoehr@ibm.net>, + for OpenBSD 2.6). + + <li>fix: Set highlightColor, and select a region containing the text + cursor. If the window loses focus, the cursor becomes hollow, with + the region inside the cursor being background/foreground, unlike the + rest of the selection, which is foreground/highlight + (patch by Ross Paterson <ross@soi.city.ac.uk>). + + <li>add configure script tests to define SVR4, SYSV and USE_POSIX_WAIT, + which enables xterm to compile on Solaris 7 and SCO Openserver + without imake, though there are still a few features for the latter + which require <code>sco</code> to be predefined. + + <li>patches from Steve Wall: + <ul> + <li>add support for two Sun-specific function keys. These keys are + labeled F11 and F12 on Sun Type 5 keyboards, but return SunXK_F36 and + SunXK_F37. Support will only be compiled in if the header file + <X11/Sunkeysym.h> exists and contains the appropriate symbol + definitions. The keycodes for the DEC keycodes were arbitrary unused + codes, but the ones for the Sun keycodes are what cmdtool and + shelltool actually send. + + <li>add <code>colorRV</code> and <code>colorRVMode</code> resources to + allow specifying a color to use for reverse video, similar to the + existing UL, BD, and BL modes. + + <li>add <code>alwaysUseMods</code> resource, to override check if + <code>alt</code> or <code>meta</code> modifiers are used in + <code>translations</code> resource. Revamped the code to calculate + the modifier value, and included Meta if alwaysUseMods is TRUE, using + values 9-16. + </ul> + + <li>patches from Paul Gilmartin for os390: + <ul> + <li>regularize the definition of CONTROL() and remove an + acknowledged "trial and error" table. + + <li>translate "^?" into A2E(0177) which is the EBCDIC "DEL" + rather than plain 0177 which is the EBCDIC quotation mark. + + <li>modify <code>xtermMissingChar()</code> so that EBCDIC codes 128-159 + are not rendered as blanks by X server running on Solaris, which sees + those as control characters. + + <li>make debugging traces (configure --enable-trace) + work properly with EBCDIC. + </ul> +</ul> + +<H1><A NAME="xterm_133">Patch #133 - 2000/5/2 - XFree86 4.0a</A></H1> +<ul> + <li>add substitutions in autoconf'd Makefile for CPPFLAGS, LDFLAGS and + AWK (reported by Neil Bird). + + <li>correct uninitialized <code>childstat</code> variable from patch + #131 in <code>creat_as()</code> function, which caused logging to not + work on Solaris, whose <code>waitpid()</code> function does not + initialize its parameter. Add check for EINTR on return from + <code>waitpid()</code> as well (reported by Neil Bird + <neil.bird@rdel.co.uk>). + + <li>remove a redundant check for working <code>setuid()</code> function + introduced in patch #132 (Greg Smith reports that this does not work + as intended on os390). + + <li>change line speed from 9600bd to 38400bd, to accommodate people who + mistakenly use $TERM set to <em>vt100</em>, to reduce the effect of + padding associated with this terminal type. + + <li>add configure script check for IRIX 6.5's redefinition of baud + rates associated with <code>struct termio</code>, to correct a + situation where the baud rate was initialized to zero (reported by + Andrew Isaacson <adi@lcse.umn.edu>). + + <li>remove unused configure script check for VDISABLE. +</ul> + +<H1><A NAME="xterm_132">Patch #132 - 2000/4/11 - XFree86 4.0a</A></H1> +<ul> + <li>undo an incorrect change from patch #113 caused the right scrollbar + to be positioned incorrectly when re-enabling it (analysis by + D Roland Walker). + + <li>add ctrlFKeys resource, replacing constant for adjusting + control-F1 to control-F12 to VT220-style F10-F20. The resource + changes the constant 12 to a default value of 10 (request by + Jim Knoble <jmknoble@pobox.com>). + + <li>correct ifdef'ing for conflict between definitions in AIX's + <sys/select.h> and <X11/XPoll.h> (reported by Clint + Olsen). + + <li>add checks for return-values of getutid(), initgroups() and + setuid() in main.c, as well as modifying ifdef's for __osf__ to + include tty-group and WTMP logic (adapted from patch by Paul Szabo + <psz@maths.usyd.edu.au>) + + <li>modify resize.c to build and work on os390 (uses EBCDIC) + (adapted from patch by Phil Sidler <Phil.Sidler@airborne.com>) + + <li>use Ires(), Bres() and Sres() macros to simplify resource list in + charproc.c + + <li>resync with XFree86 4.0a: + <ul> + <li>correct a typo in os2main.c (Holger Veit, from 4.0a). + </ul> +</ul> + +<H1><A NAME="xterm_131">Patch #131 - 2000/3/3 - XFree86 3.9.18b</A></H1> +<ul> + <li>integrate patch by Branden Robinson for improving logfile + security: + <ul> + <li>make the <code>creat_as()</code> function more strict by using + O_EXCL rather than O_APPEND. + <li>fixes to make DEBUG ifdef's compile/run, including making the + debug logfile more unique by appending a timestamp to its name. + <li>include <term.h> in resize.c, to fix a missing-prototype + warning. + </ul> + + <li>modified <code>creat_as()</code> a little more, retaining the + ability to append to a logfile If the user specifies the name. + Also, check if the opened file (which patch #130 ensures is + owned by the effective user) is not writable by other users. + + <li>use <code>creat_as()</code> logic to make tek4014 screen-copy + more secure (noted by Branden Robinson). + + <li>ifdef'd some of Branden's changes to build/work on older machines. + + <li>correct missing initialization of the <code>.mode</code> flag in + <code>ColorRes</code> struct, from patch #129. This worked on Linux + because <code>malloc()</code> zeroes memory on that platform + (reported by Christian Weisgerber). + + <li>modify logic for <code>deleteIsDEL</code> resource so it has + internally 3 states: unspecified, true and false. If unspecified, + the keyboard type determines whether the Delete key transmits + <code><esc>[3~</code> or <code>\177</code>, and the popup menu + entry reflects the internal state. Otherwise, the popup menu entry + overrides the keyboard type (suggested by Dr Werner Fink, to make it + simpler to set resources that imitate the legacy X11R6 xterm). +</ul> + +<H1><A NAME="xterm_130">Patch #130 - 2000/3/1 - XFree86 3.9.18a</A></H1> +<ul> + <li>modify <code>scroll-forw()</code> and <code>scroll-back()</code> + actions, adding a third parameter which will direct xterm to ignore + the action when mouse reporting is enabled. This is needed for + the wheel mouse to be used to report to the application rather than + scroll the window. + + <li>add menu entry and action to allow disabling xterm's assumption + that the current font contains line-drawing characters if the + font cells 1-31 are nonempty. Some fonts may have other characters + (reported by Bruno Betro <bruno@iami.mi.cnr.it>). + + <li>add a check in <code>creat_as()</code> to ensure that the user + really owns the logfile that has been opened. + + <li>add logic to implement SCO function-keys. (This is really + incomplete, since I intend to revisit this and make xterm able to + emulate scoansi better than just the function-keys). + + <li>add configure script option --enable-sco-fkeys, minor related fixes + (patch by Dr Werner Fink). + + <li>fix typos in ctlseqs.ms (reported by Bram Moolenaar) + + <li>fix typo in sinstall.sh default for $TST_PROG (reported by + Paul Gilmartin <pg@sweng.stortek.com>) +</ul> + +<H1><A NAME="xterm_129">Patch #129 - 2000/2/26 - XFree86 3.9.18a</A></H1> +<ul> + <li>improve initialization of ANSI colors by delaying allocation until + each color is first used. + + <li>remove ifdef that prevented colorBD/colorUL/colorBL resources from + working when 256-color configuration was built (reported by + Todd Larason). + + <li>fix some minor inconsistencies in terminfo (Debian #58530). +</ul> + +<H1><A NAME="xterm_128">Patch #128 - 2000/2/17 - XFree86 3.9.18</A></H1> +<ul> + <li>correct logic for <code>oldXtermFKeys</code> resource, fixes a core + dump when attempting to set it from the command-line (reported by Dr + Werner Fink). + <li>correct ifdef for meta-sends-escap so configure --disable-num-lock + builds. +</ul> + +<H1><A NAME="xterm_127">Patch #127 - 2000/2/12 - XFree86 3.9.17e</A></H1> +<ul> + <li>add resource, popup menu entry and control sequence to allow + changing the Delete key to send either DEL or the VT220-style + Remove escape sequence. + + <li>remove logic for metaSendsEscape that would allow xterm to send + <code><esc>[3~</code> before a function key that would begin + with <code><esc>[3~</code> (request by Christian Weisgerber). + + <li>add missing action and documentation for meta-sends-escape. + + <li>correct a few typos in ctlseqs.ms (incorrect code for Cyan color) +</ul> + +<H1><A NAME="xterm_126">Patch #126 - 2000/2/8 - XFree86 3.9.17c</A></H1> +<ul> + <li>patch by Markus Kuhn: + ensure that xterm will automatically activate the UTF-8 mode whenever + the name of the locale environment variable suggests that a UTF-8 + locale is in use. This will help that by simply setting LC_CTYPE an + entire system can be switched over to UTF-8, without users having to + remember the UTF-8 command line options ("-u8", etc.) of the various + applications. Command line options and X resource entries can still + be used to override this default choice. + + <li>add old function-keys control sequences and popup menu entry, for + compatibility with legacy X11R6 xterm. + + <li>revert translation of editing keypad "Delete" key to legacy \177. + + <li>simplify the color-resource data expressions with macro COLOR_RES, + for later use in restructuring color initialization. + + <li>change encoding of wheel mouse (buttons 4 and 5) to avoid conflict + with legacy mouse modifiers (suggested by Bram Moolenaar). +</ul> + +<H1><A NAME="xterm_125">Patch #125 - 2000/1/31 - XFree86 3.9.17c</A></H1> +<ul> + <li>integrate patch by David Mathog + <mathog@seqaxp.bio.caltech.edu> to make this work on OpenVMS + + <li>rename some functions, e.g., <code>Index</code> to + <code>xtermIndex</code> so that ports such as VMS which link + externals ignoring case will not have library conflicts (reported by + David Mathog). + + <li>correct logic of <code>do_reversevideo()</code>, which did not + update the corresponding popup menu check mark (reported by David + Mathog, this was a detail overlooked in patch #94). + + <li>change TRACE macro so semicolon is not within definition, making + <em>indent</em> and similar programs work better. + + <li>add <code>depend</code> rule to Makefile.in + + <li>modify logic of boldColors resource to suppress it if an extended + color control has been used, e.g., for 88-color or 256-color mode + (patch by Todd Larason). + + <li>revise logic that handles menus and input translation for keyboard + type so only one can be selected at a time. + + <li>restore kdch1=\177 for the Sun function-key type, and make the + the Delete key send DEL (\177) if the oldXtermFKeys resource is set. + + <li>rephrase logic and ifdef's for POSIX VDISABLE to avoid preprocessor + expression that will not compile on NetBSD/x86 1.4.1 (reported by + Takaaki Nomura <amadeus@yk.rim.or.jp>). + +</ul> + +<H1><A NAME="xterm_124">Patch #124 - 2000/1/27 - XFree86 3.9.17b</A></H1> +<ul> + <li>change coding of editing keypad's "Delete" key to + <escape>[3~, in the default (Sun/PC) keyboard mode. + This makes the terminfo kdch1 capability independent of the + coding of the backarrow key, which sends either backspace (8) + or DEL (127). The reason for doing this (compatibility with + the <em>screen</em> program) outweighs the choice of DEL (127) + which was used in X11R5/X11R6 xterms. The <em>screen</em> + program translates whatever matches kdch1 into <escape>[3~, + even if it happens to be the stty erase character. + + <li>add encoding for control/?, to work around xmodmap or key + translations which may confuse backspace and delete. A control/? + will send DEL (127), and a control/H will of course send backspace + (8). + + <li>add encoding for kcbt to <escape>[Z (fixes Debian #54840). + + <li>minor correction to logic that encodes Sun and DEC function keys + to avoid sending an escape sequence if the key symbol is not found + in xterm's lookup table. + + <li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-" pattern + is more likely to be implemented when <em>imake</em> configures xterm + (fixes Debian #55105). + + <li>change manpage to make it clearer what codes are sent by the + backarrow key. +</ul> + +<H1><A NAME="xterm_123">Patch #123 - 2000/1/22 - XFree86 3.9.17a</A></H1> +<ul> + <li>add a note reserving OSC 51 for use in Emacs shell (request by + Rob Mayoff <mayoff@dqd.com>). + + <li>correct a missing backslash in xterm-vt220 termcap. + + <li>cleanup remaining quoted includes, preferring bracketed form. + + <li>minor configure-script macro updates from tin and vile. + + <li>add configure-script option for using utempter library, adapted + from Redhat 6.1 patch for XFree86 3.3.5 + + <li>resync with XFree86 3.9.17a: + <ul> + <li>correction to QNX support (Frank Guangxin Liu) + <li>some cosmetic changes that did not correct any reported problems. + </ul> +</ul> + +<H1><A NAME="xterm_122">Patch #122 - 1999/12/28 - XFree86 3.9.16f</A></H1> +<ul> + <li>move the suggested wheel-mouse button translations into charproc.c + to simplify customization. Correct some minor logic errors in the + support for buttons 4 and 5, used for wheel mice (reported by + Bram Moolenaar). + + <li>implement <em>metaSendsEscape</em> resource, with corresponding + control sequence and menu entry. Like <em>eightBitInput</em>, this + causes xterm to send ESC prefixing the given key, but applies to + all keys and is independent of the 8-bit/7-bit terminal setting. + (requests by Alexander V Lukyanov and Marc Feeley). + + <li>correct potential indexing with negative subscript in udk_lookup(), + (reported by Ian Collier <Ian.Collier@comlab.ox.ac.uk>). + + <li>modify configure script that sets TERMINFO_DIR to use ${prefix} + rather than /usr if the --prefix option was specified (request by + Zdenek Sekera <zs@sgi.com>). + + <li>modify checks for repeat-character control sequence to test the + character class against xterm's state table, rather than the + isprint() macro (patch by Alexander V Lukyanov). + + <li>change several functions to macros to improve speed + + <li>two corrections to simulation of bold font via overstriking: + <ul> + <li>use clipping to avoid leaving trash at end of the text, and + <li>add brackets so wide-character logic does not fall-through + into the overstriking logic (reported by + Marc Feeley <feeley@IRO.UMontreal.CA>) + </ul> + + <li>add several entries to termcap file to make it have the same set + of aliases as the terminfo file. + + <li>scale the color values used for xterm-256color terminfo entry to + 0..1000, as expected by ncurses. + + <li>change xterm-r6 terminfo definitions for F1-F4 to match program. + + <li>Add QNX/Neutrino support (Frank Guangxin Liu + <frank@ctcqnx4.ctc.cummins.com>) +</ul> +<H1><A NAME="xterm_121">Patch #121 - 1999/11/14 - XFree86 3.9.16c</A></H1> +<ul> + <li>change label on "Sun/PC Keyboard" popup menu entry to "VT220 + Keyboard", since the checked state corresponds to VT220 rather than + Sun/PC. + + <li>add configure test CF_UTMP_UT_XSTATUS to handle the variants of + utmp exit status (reports by Dave Ellement, Jeremie Petit, Tomas + Vanhala). + + <li>amend treatment of ALT key + (see <a href="#xterm_94">patch #94</a>) so that if ALT is used + as a modifier in key translations, then no parameter will be sent + in escape sequences for Sun/PC function keys (request by Dr Werner Fink). + + <li>modify default for OPT_I18N_SUPPORT to assume that + <code>XtSetLanguageProc()</code> is available in X11R5. + <p> + Caveat: <code>XtSetLanguageProc()</code> was + added fairly late in the X11R5 patches, and some vendors shipped + buggy versions of this function (request by Tomas Vanhala). + + <li>correct configure macro CF_SYSV_UTMP to test-link with functions + consistent with the header, e.g., getutent() for utmp.h and + getutxent() for utmpx.h (reported by Greg Smith). + + <li>modify terminfo entry for <code>xterm-xfree86</code> to reflect + modifiers for shift and control which (from a patch by Alexander V + Lukyanov). + + <li>modify terminfo entry for <code>xterm-sun</code> to match the + function-key definitions in ncurses. The pageup/pagedown and + related function keys correspond to the Sun keyboard, which does + not necessarily correspond with X's notion of those keys. + + <li>modify treatment of XK_Delete keysym so it transmits parameterized + VT220-style <code><esc>[3~</code> if modifiers (shift, control + alt) are given (request by Alexander V Lukyanov). + + <li>corrected misspelled resource name in command-line option for + HP function keys. +</ul> + +<H1><A NAME="xterm_120">Patch #120 - 1999/10/28 - XFree86 3.9.16c</A></H1> +<ul> + <li>refine the change to <code>SGR_Background()</code> in patch #119, + by not flushing the pending scrolling operation if the background + color is not actually changing. This combination occurs when using + color-ls to display a long listing, since each line ends with an SGR0 + which affects only the foreground color. The unnecessary flushing + made it noticeably slower (reported by D Roland Walker + <walker@pobox.com>). + + <li>remove obsolete documentation about modifiers which can be returned + in mouse tracking mode, and modify logic to ignore modifiers other + than the existing ones, e.g., NumLock (prompted by discussions with + Christian Weisgerber and Brad Pepers <brad@linuxcanada.com>). + + <li>use free bit from obsolete shift-modifier coding of mouse tracking + button events to encode buttons 4 and 5, e.g., for a wheel mouse + (requests by Brad Pepers and Bram Moolenaar). + + <li>correct a place where the ptyInitialErase logic did not set the + backarrowKey state, and modify it further to use tgetstr() rather + than parse the termcap data returned from tgetent() so the + ptyInitialErase logic will work when xterm is linked with a terminfo + library (based on a patch by Dr Werner Fink <werner@suse.de>). + + <li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration (patch by + <michael.rohleder@stadt-frankfurt.de>) + + <li>improve configure script's utmp tests (based on reports by Greg + Smith for os390, and David Ellement for HPUX). + + <li>modify sinstall.sh to use uid=0 rather than 'root' to determine if + the installer is privileged. This is needed on some systems since + more than one account may be privileged (report by Greg Smith). + + <li>add an application resource, <code>messages</code> (and a + corresponding -/+mesg option) which controls the initial permission + on the terminal: if messages is set to true (the default), behavior + is as without the patch; if it is set to false (as per -mesg), the + terminal is opened in mode 0600, thus producing the effect of the + <code>mesg n</code> command. This is useful for users who want to + redirect all their messages to one particular xterm: it is more + pleasant to do this with xterm resources than with explicit calls to + the <code>mesg</code> program (patch, description by David Madore + <david.madore@ens.fr>). +</ul> + +<H1><A NAME="xterm_119">Patch #119 - 1999/10/16 - XFree86 3.9.16c</A></H1> +<ul> + <li>add responses (DA and DSR) for DEC locator mode + + <li>add coding for ANSI color to DA response + + <li>implement UTF-8 translation for Media Copy (print) operations. + + <li>implement vt320 control sequences for Print Composed Main Display + and for Print All Pages. The latter directs xterm to print the + current screen as well as the scrollback buffer. + + <li>correct error in _GNU_SOURCE configure test, which left it always + defined. + + <li>add more information, i.e., with strerror for some system calls in + the main program which may fail due to insufficient permissions + (prompted by a problem report for <code>-C</code> by Jeremie Petit + <Jeremie.Petit@digital.com>). + + <li>add workaround for conflict between <X11/XPoll.h> and + <sys/select.h> on AIX 4.3 (Richard Griswold + <griswold@acm.org>). + + <li>add configure script test to resolve conflict between between + <X11/XPoll.h> and <sys/select.h> + + <li>modify translation of UTF-8 sequences to reject "overly long" + variations (patch by Markus Kuhn). + + <li>remove <code>utf8controls</code> resource, since Markus' change + removes the corresponding logic. + + <li>correct a case where colors were not rendered properly. This + happened when an application inserted several lines, then changed + colors. If this was done all in one write, then there would be no + intervening refresh, and the new color was applied to the pending + scrolling operation which was awaiting the next refresh (reported + by Stephane Chazelas <Stephane_Chazelas@Raytheon.com>). + +</ul> + +<H1><A NAME="xterm_118">Patch #118 - 1999/10/5 - XFree86 3.9.16b</A></H1> +<ul> + <li>refine configure test for utmp versus utmpx, to build on HP-UX 10.x + (reported by David Ellement). + + <li>move the configure check for <code>const</code> after the check + for ANSI C compiler options, since those may be required to make + it work properly on HP-UX. + + <li>add configure test for defining <code>_GNU_SOURCE</code> + + <li>correction to <em>-hold</em> option, ensure that if data is already + in the output buffer that it will be displayed before closing the + PTY. + + <li>move the configure checks for setuid install of xterm into a script + to avoid installing it setuid'd to a non-root user (reported by + Adam Sulmicki <adam@cfar.umd.edu>). + + <li>correct configure script's check for termcap.h to avoid using + ncurses' version of it on systems that have a working + <code>tgetent()</code> function. This is needed to make + <code>resize</code> work properly. + + <li>fix some typography in ctlseqs.ms description of DEC locator events + (reported by Steve Wall). +</ul> + +<H1><A NAME="xterm_117">Patch #117 - 1999/9/29 - XFree86 3.9.16b</A></H1> +<ul> + <li>change order of tests in configure script for utmp and utmpx + to test utmpx first, to compile on Solaris (reported by + Leena Heino <liinu@uta.fi> + and Patrik Hagglund <patha@ida.liu.se>). + + <li>add a configure test for utmp.ut_xtime, needed for SCO Openserver, + and for lastlog, needed for Redhat 6.0, to refine the utmp/utmpx + auto-configure. + + <li>remove a spurious comma in an #undef (reported by + David Green <greendjf@cvhp152.marconicomms.com> and + David Ellement <ellement@sdd.hp.com> both on HP-UX, whose + compiler does care about syntax). + + <li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported by Suhaib + M. Siddiqi <Ssiddiqi@InspirePharm.Com>, who is told that the + next Cygnus release will drop that symbol in their next release). + + <li>minor cleanup of ifdef's for makeColorPair (patch by Steve Wall). + + <li>patch by Alexander V Lukyanov to work around problem observed + in XFree86 3.3.5, reported as bug #5419 to Mozilla. From the + problem report: + <blockquote> + xterm consumes cpu when selecting text with mouse (holding + down left mouse button) and when a program working under the + xterm outputs something to stdout. + <p> + Easy way to reproduce:<br> + <code>while :; do echo aaa; sleep 1; done</code><br> + (while this runs, select text and hold down left mouse button) + watch cpu load.<br> + release left mouse button - spinning stops. + </blockquote> +</ul> + +<H1><A NAME="xterm_116">Patch #116 - 1999/9/25 - XFree86 3.9.16a</A></H1> +<ul> + <li>modify warning if change-ownership of PTY fails; some + configurations may not happen to have old-style pty's (reported by + Bob Maynard). + + <li>improve check in configure script for group ownership of installed + xterm; some platforms use the -g option of ls to toggle group off + rather than on (reported by Greg Smith). + + <li>minor improvement to toolbar geometry, to make it not resizable. + This still is not satisfactory (but is usable) since the toolbar + overlaps the xterm widget if the window is resized to make it + smaller. It appears that some work is needed for the xterm widget's + geometry management to make it function properly. + + <li>implement configure script tests for utmp, tty group. + + <li>implement <em>-hold</em> option, allowing users to retain the + window after a shell has exited (this is recently an FAQ, but + prompted by a comment by Joachim Plaettner-Hochwarth + <plaettner@aem.umn.edu> in comp.unix.programmer, that the IRIX + winterm provides this option). + + <li>integrated change by Steve Wall to + add support for DEC Locator control sequences for xterm: + <pre> + + DECEFR - Enable Filter Rectangle + DECELR - Enable Locator Reports + DECSLE - Select Locator Events + DECRQLP - Request Locator Position + </pre> + This allows the xterm mouse to be used with applications that use the + DEC Locator sequences, such as VAX Tpu, or SMG$ based applications. + + <li>patch from Matthias Baake <Matthias.Baake@gmx.de>, for print + action. From his notes: + <ul> + <li>Bug 1: + Underlined text is preceded by ESC [0;2m . This should be ESC [0;4m , ESC + [2m doesn't seem to have any effect. (print.c/send_SGR) + + <li>Bug 2: + The check for the last non-empty column (while (last > 0) ... in + print.c/printLine) omits the rightmost column of the screen, the loop must + start with last = screen->max_col+1 instead of last = screen->max_col. + + <li>Bug 3: + Any attributes of the first character (and of all immediately following + characters with the same attributes) are ignored. The variable attr + (print.c/printLine) should be initialized with 0, not with *a & SGR_MASK. + </ul> +</ul> + +<H1><A NAME="xterm_115">Patch #115 - 1999/9/18 - XFree86 3.9.16a</A></H1> +<ul> + <li>integrated changes by Steve Wall to implement an 88-color model + for systems where 256-colors cannot be allocated. + + <li>when 256-color configuration is compiled, colored bold and + underlining is not available; ifdef'd to avoid possible odd effects + in this case (reported by Steve Wall). + + <li>add resource <em>cacheDoublesize</em>, to limit the caching of font + information for double-sized characters. This addresses a problem + reported by Aryeh Koenigsberg for X terminals with limited font + memory. + + <li>modify treatment of line-drawing characters in UTF-8 mode so that + the Unicode values are used rather than the C0 codes for storing the + translated characters (request by Markus Kuhn). +</ul> + +<H1><A NAME="xterm_114">Patch #114 - 1999/9/15 - XFree86 3.9.16</A></H1> +<ul> + + <li>add configure script checks for Athena headers and libraries under + /usr/contrib to work on HPUX (reported by several people: + David Nixon <djn@csc.liv.ac.uk> + Aryeh Koenigsberg <aryeh.koenigsberg@telrad.co.il> + Johannes Mähner <johanm@camline.com> + Andrew Gaylard <andrew.gaylard@bsw.co.za>). + + <li>add check to configure script if xterm is installed setgid rather + than setuid, since wtmp and utmp may be installed with group-writable + permissions other than root (based on Debian bug report #7112 by Bo + Branten <bosse@ing.umu.se>). + + <li>rewrote logic that removes data from termcap entry, e.g., for + titeInhibit, to make it less likely to remove the wrong data. + + <li>correct logic which checks for missing characters used for line + drawing. The 0 character was tested unnecessarily, leading to + some inefficiency when rendering. + + <li>change termcap capability which is used as input or output of + ptyInitialErase logic from <em>kD</em> to <em>kb</em>. + Christian Weisgerber <naddy@mips.rhein-neckar.de> pointed out + in effect that <em>kD</em> (in terminfo <em>kdch1</em>) should + correspond to the control sequence for <em>dch1</em>, which deletes + from the current position toward the right. + + <li>check for failure to change ownership of the PTY device and warn + when xterm is running setuid'd to root. This was reported to happen + on the FreeBSD/NetBSD/OpenBSD systems as a result of the chflags() + call. + + <li>add xterm-noapp terminfo entry to illustate a nominally + bash-compatible terminal description. +</ul> + +<H1><A NAME="xterm_113">Patch #113 - 1999/8/15 - XFree86 3.9.15b</A></H1> +Several fixes. The main one is a first draft of pulldown menus. It's not +complete (I have some minor/annoying geometry problems to correct), but is +usable. Once it's complete I plan to add a menu to support additional +selections that won't fit on the current popup menus. Also, this fits into my +longterm plan to allow configuring with Motif libraries. + +<ul> + <li>correct error in input conversion for NRC mode (reported by + Stefan Traby <stefan@sime.com>). + + <li>fix initialization of num_lock data in Misc struct (since those + fields of the reference widget aren't initialized), and add logic to + deal with XVision whose NumLock key does not transmit but does alter + keypad state. + + <li>correct a missing return-value in get_pty(), for SCO + + <li>add E2A fix for backspace (Greg Smith), i.e.,<br> + #define VAL_INITIAL_ERASE A2E(127) + + <li>correct foreground color within cursor outline when the + window is unfocused (reported by Stephane Chazelas). + + <li>corrected position of scrollbar set in ResizeScrollBar(), which + left it positioned incorrectly if the right scrollbar were enabled + from the popup menu but was not initially enabled. + + <p> + I have noticed some additional problems with right-scrollbar on + X11R5 which I will correct later. + + <li>integrate changes by Jean-Claude Michot for QNX from XFree86 3.3.4c + + <li>add resources menuBar/MenuBar, menuHeight/MenuHeight for later + use in toolbar geometry. + + <li>add configure option --enable-toolbar + + <li>add missing definition to make ziconbeep logic not compile-in when + configure script disables it. + + <li>add configure-check for input-method support in X libraries +</ul> + +<H1><A NAME="xterm_112">Patch #112 - 1999/7/17 - XFree86 3.9Pw</A></H1> +<ul> + <li>add null-pointer check to FlushLog(), fixes a core dump when both + -l and -lf options are used when xterm is configured with wide-character + support. + + <li>remove "ISO" case for SD, which was due to a typographical error in + ECMA-48 (reported by Paul Williams <paul@celigne.co.uk> for + vttest). + + <li>add "FILES" section to manpage. + + <li>generate header file to initialize default resources for colors + 16-255. + + <li>patches by Greg Smith for os390: + <ul> + <li>add README.os390 + + <li>use the pty_search() function to find an available pty/tty pair. + + <li>move E2A() call out of getXtermCell() to SaveText() function + so it will be available in all configurations. + </ul> + + <li>patches by Todd Larason: + <ul> + <li>enable SGR 48 5 in ISO color mode, not just 256 color mode + + <li>change configure's --disable-256-color option to + --enable-256-color, to match its effect + + <li>fix OSC 4 xx ? (report ansi color) to report a string which can + actually be used to set the color back + + <li>fix OSC 4 xx yy (change ansi color) to not allow setting colors > + 15 in 16 color mode + + <li>simplify the COLOR_ settings a bit in ptyx.h, along with setting + NUM_ANSI_COLORS needed for #1 and #4 above + + <li>correct string-terminator code passed for reference to OSC + responses; when in 7-bit mode, only the final byte of ST was seen. + + <li>Allow multiple color #;name pairs in OSC 4, + and document changes to match. + </ul> +</ul> + +<H1><A NAME="xterm_111">Patch #111 - 1999/7/10 - XFree86 3.9Pw</A></H1> +<ul> + <li>add control sequences for specifying the RGB value of the ANSI + colors, and for configuring with 256 colors (patch by Todd Larason + <jtl@molehill.org>). I made the default configuration to + 16-colors, because xterm uses the default color map (which has only + 256 colors). + + <li>correct an error in DCS $ q m reporting for colors 8-15 (Todd + Larason). + + <li>add test/demo script for double size characters. Used this to + test/correct display of double size characters that should wrap, + underlined double size characters. + + <li>increased cache size for double size fonts to 8, to allow for both + normal and bold fonts (from discussion with Aryeh Koenigsberg + <aryeh.koenigsberg@telrad.co.il>). + + <li>integrated patch from Greg Smith <rys@epaibm.rtpnc.epa.gov> + for port to OS390 (aka MVS). OS390 uses EBCDIC rather than ASCII. + + <li>correct an off-by-one in binary search limits in keysym2ucs.c (Markus + Kuhn). + + <li>implement logging for UTF-8 mode. The output is written in UTF-8 form. +</ul> + +<H1><A NAME="xterm_110">Patch #110 - 1999/6/29 - XFree86 3.9Pu</A></H1> +<ul> + <li>If colorMode is enabled by default, compile-in default resources to + match the colors listed in XTerm-col.ad (this should fix a + longstanding FAQ). + + <li>added new OSC 3 ; PROPNAME=VALUE ST escape + sequence to set an arbitrary X property on the top level xterm X11 + window. Omit "=VALUE" to delete the X property (patch by Greg Badros + <gjb@cs.washington.edu>). + + <li>change internal flag used for <em>utf8controls</em> resource + so we allow 31-bit range of characters (suggested by Thomas Wolff). + + <li>add check for 16-bit characters in OSC strings, change them to '?' + (reported by Thomas Wolff). + + <li>modify logic of same_font_name() to avoid trying to interpret both + parameters as wildcard patterns. That does not (cannot) work, and in + some instances the font server will return unresolved wildcards for + the normal or bold fontnames, making them match inadvertently, + triggering the fallback overstrike logic (reported by Tim Adye). +</ul> + +<H1><A NAME="xterm_109">Patch #109 - 1999/6/23 - XFree86 3.9Pt</A></H1> +<ul> + <li>correct range-check from patch #108, which resulted in not being + able to select from the scrollback buffer (reported by Tim Adye + <T.J.Adye@rl.ac.uk>) + + <li>correct "no available ptys" problem with Cygwin B20.1 (patch by Tim + Adye). + + <li>modified install-ti rule in Makefile.in to allow override of the + terminfo directory when doing a "make install", i.e., by assigning + to TERMINFO_DIR (request by Zdenek Sekera <zs@sgi.com>). + + <li>added install-full rule to Makefile.in + + <li>resync mkdirs.sh and install.sh scripts against current autoconf + + <li>implement $(DESTDIR) in Makefile.in, making it simple to install + xterm and associated files into a directory just for packaging a + binary release (suggested by CaT <cat@zip.com.au>). + + <li>change IChar type to unsigned, rather than unsigned short, making + room for a flag to keep with 16-bit characters to prevent them from + being interpreted as C0 or C1 controls (reported by Thomas Wolff). + + <li>correct a typo from patch #107, incorrect array name, in the + filterUTF8 function (patch by Bruno Haible <haible@ilog.fr>) + + <li>add <em>utf8controls</em> resource to specify whether xterm should + interpret 16-bit characters unpacked from UTF-8 form as control + characters if they happen to fall into that range. This behavior + is left unspecified by the Unicode standard (request by Thomas Wolff). + + <li>modify handling of OSC to recover if application sends 16-bit + characters with codes above 255. We cannot display them as is, but + translate out-of-range characters to a '?' (reported by Thomas + Wolff). +</ul> + +<H1><A NAME="xterm_108">Patch #108 - 1999/6/19 - XFree86 3.9Ps</A></H1> +<ul> + <li>add a range-check to LastTextCol(), to guard against indexing + before the beginning of the scrollback buffer. This appears to + happen with certain fonts under X11R5 (reported by Stephane Chazelas + <Stephane_Chazelas@Raytheon.com>). + + <li>implement resource <em>boldMode</em>, to allow disabling the + simulation of bold fonts when the bold and normal fonts are not + different (requested by Will Day <willday@rom.oit.gatech.edu>). + + <li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few bugs in + the UTF-8 selection (patch by Juliusz Chroboczek). + + <li>correct logic of binary-search in keysym2ucs.c (patch by Markus + Kuhn). + + <li>add special interpretation of keysym codes above 0x1000000 as + the corresponding UCS value plus 0x1000000 (patch by Markus Kuhn). +</ul> + +<H1><A NAME="xterm_107">Patch #107 - 1999/6/12 - XFree86 3.9Pq</A></H1> +<ul> + <li>Two changes from Stephen P Wall. + From his description: + <blockquote> + The first change is simple - I added ESC[3J to erase the stored lines + above the screen. That's what the changes to util.c and ctlseqs.ms + are. + <p> + The second change is to get the blinking cursor working. I took out + the cursorBlinkTime resource, and put in cursorBlink (Boolean), + cursorOnTime (time cursor is on in msecs) and cursorOffTime, and added + a cursorblink item to the vtMenu to enable/disable it. + </blockquote> + + <li>Integrated a patch from Juliusz Chroboczek <jec@dcs.ed.ac.uk>. + From his description: + <blockquote> + With this patch, selection conversion works properly: +<pre> + ISO 8859-1 xterm -> ISO 8859-1 xterm (transferred as STRING); + ISO 8859-1 xterm -> UTF-8 xterm (transferred as STRING); + UTF-8 xterm -> ISO 8859-1 xterm (transferred as STRING); + UTF-8 xterm -> UTF-8 xterm (transferred as UTF-8). +</pre> + It will not work properly if one xterm is in, say, ISO 8859-2. + Actually, for this case xterm breaks the ICCCM routinely (sending ISO + 8859-2 data as STRING), so I wouldn't worry too much about it. I have + not changed the behaviour in eight-bit mode in any way. + </blockquote> +</ul> + +<H1><A NAME="xterm_106">Patch #106 - 1999/6/9 - XFree86 3.9Pq</A></H1> +<ul> + <li>remove duplicate fix for OpenBSD in resize.c + + <li>correct logic in ScreenWrite, which did not reset the high bytes + of 16-bit characters when overwriting them with a 8-bit character + string (reported by Thomas Wolff). + + <li>integrate patch by Markus Kuhn to provide limited support for + input of UTF-8 16-bit data by a lookup table. + + <li>correct check in non_blank_line to ensure we're in wide-character + mode before looking at the high bytes, for InsertChar. +</ul> +<H1><A NAME="xterm_105">Patch #105 - 1999/6/5 - XFree86 3.9Pp</A></H1> +<ul> + <li>implement new resource <em>trimSelection</em>, which allows xterm + to trim trailing blanks from selected lines. This does not affect + the highlighting. (reported by several people using <em>mutt</em>, + including + Hans Morten Kind <edphk@uib.no>, + Jeremy <jeremy@exit109.com> + and (Michael Fuller <msf@mds.rmit.edu.au>). + + <li>add patch by Matthieu Herrb to include term.h in resize for OpenBSD. + + <li>correct logic for UTF-8 in functions that hide and show the cursor; + it was displaying a space whenever the low byte of the character at + the cursor position was zero (reported by Thomas Wolff + <Thomas.Wolff@icn.siemens.de>). +</ul> + +<H1><A NAME="xterm_104">Patch #104 - 1999/5/30 - XFree86 3.9Pn</A></H1> +This is a resync patch against XFree86 3.9Pn, reflecting changes which were +submitted by Branden Robinson, who worked with +Wichert Akkerman <wichert@cs.leidenuniv.nl> +to set up ifdef's to handle GNU libc 2.1, +and use getpt() which lets xterm avoid having to know the actual PTY name. +<p> +I have also added a few fixes for signed/unsigned mismatches, and corrected +a problem in the configure script (the UTF-8 code was always configured since +the Imakefile defines this). + +<H1><A NAME="xterm_103">Patch #103 - 1999/5/14 - XFree86 3.9Pm</A></H1> +<ul> + <li>correct selection logic: I omitted an offset that accounts for + the distance into the scrollback buffer when rewriting this for + patch #101. Also fixed a similar problem for selecting double + size characters from the scrollback buffer (first was reported + by D Roland Walker <walker@pobox.com>). + + <li>improved support for Unix98 PTY's, using patch in Debian bug report + #35650, by J.H.M. Dassen <jdassen@wi.leidenuniv.nl>. From + the patch description: + <blockquote> + <ul> + <li>No longer links xterm against libutil on a glibc2.1 system. + libutil is a compatibility library and should only be used when + necessary. Rather than having get_pty() use openpty() from this + compatibility library, use the real UNIX98 pty support in get_pty() + (open()ing the master pty, through getpt() if available (glibc + extension)). Use openpty() only under glibc2.0. + <li>GNU libc2 is not Linux-specific; already it runs on the Hurd. It + provides the UNIX98 pty functions (plus the getpt() extension), + regardless of the underlying OS. Changed two constructs to look for + GNU libc2 only, not GNU libc2 on Linux. + </ul> + </blockquote> + + <li>improve font configuration, by checking if the user's resource + settings for normal and bold fonts give the same font sizes + (fixes problem reported by Peter Waltenberg <peterw@dascom.com>). +</ul> + +<H1><A NAME="xterm_102">Patch #102 - 1999/5/12 - XFree86 3.9Pm</A></H1> +<ul> + <li>revert change to openpty call in patch #101; this causes xterm to + fail on DEC-Alpha OSF/1 4.0B (reported by H Merijn Brand). + + <li>modify print.c to move include of stdio.h after the autoconf'd + xtermcfg.h since HP's ANSI C compiler otherwise sees inconsistent + prototype for getopt, probably due to problem with const (reported by + H Merijn Brand). +</ul> + +<H1><A NAME="xterm_101">Patch #101 - 1999/5/10 - XFree86 3.9Pm</A></H1> +<ul> + <li>moved includes and definitions for 'select' from data.h to xterm.h + to fix problem introduced by prototype for getPtyData, part of UTF-8 + changes (reported by Jens Schleusener <Jens.Schleusener@dlr.de>) + + <li>added "Meta <Btn2Down>:clear-saved-lines()" default + translation (patch by H Merijn Brand) + + <li>fixes to configure script and ifdef's in main.c to build on a + HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with egcs 1.1.2 + and HP's ANSI C compiler (patch by H Merijn Brand + <PROCURA_BV@CompuServe.com>) + + <li>add more parentheses in ifdef's (patch by Bob Maynard). + + <li>eliminate conflicting definitions for USE_TERMINFO in resize.c + (reported by Jeremy Buhler). + + <li>change openpty call to pass NULL rather than ttydev parameter, + since that was used only to estimate the length of the + corresponding data, and may not really be long enough + (reported by Andreas Jaeger) + + <li>update description in xterm manpage for character class table, + which said it handles only 7-bit codes. + + <li>correct a typo in ScrnDeleteChar() which made it not clear the + high byte of wide-character data. + + <li>add logic to convert selection to UTF-8 form when appropriate. + This makes select/paste "work", but further work is needed to + make UTF-8 recognized as a locale in Xlib. + + <li>correct right-limit check when selecting double-width characters. + + <li>change default answerback response to an empty string. +</ul> + +<H1><A NAME="xterm_100">Patch #100 - 1999/5/3 - XFree86 3.9Pl</A></H1> +<ul> + <li>Correct a typo in the default resource value for + backarrowKeyIsErase: it was always true (reported by Bram + Moolenaar). + + <li>improve configure script's test if the installed xterm is setuid, + in case that is a symbolic link. + + <li>correct "install-ti" rule in Makefile.in, by not setting a blank + $TERMINFO value. That is interpreted as "." by ncurses' tic. +</ul> + +<H1><A NAME="xterm_99">Patch #99 - 1999/5/2 - XFree86 3.9Pk</A></H1> +<ul> + <li>correct logic that computes num_ptrs count of the number of indices + into the screen buffer. This is the maximum of the colors and + character-set indices; was incorrect in patch #97. + + <li>correct argument type for sigsetjmp, incidental change in patch + #96's Unix88 PTY patch (reported by Bram Moolenaar). + + <li>correct description of secondary DA in ctlseqs.ms (reported by Bram + Moolenaar). + + <li>decouple the backarrowKey and ptyInitialErase resources by + adding a new resource backarrowKeyIsErase, to accommodate people + using applications which have hardcoded tests for characters 8 and + 127 rather than relying on the stty settings. + + <li>modify the UTF-8 decoder so that all possible illegal UTF-8 + sequences are properly represented by U+FFFD. This should be very + helpful for developers of code that output UTF-8 strings for + debugging. See the file utf-8-test.txt in + http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a + demonstration text that contains numerous illegal UTF-8 values. + (patch by Markus Kuhn). + + <li>correct a place in ScrnRefresh where I was filling the high byte of + a wide character with a space rather than a null (reported by Markus + Kuhn). +</ul> + +<H1><A NAME="xterm_98">Patch #98 - 1999/4/26 - XFree86 3.9Pk</A></H1> +<ul> + <li>correct data manipulation in unparseputc(), broken for + little-endian machines by patch #97's UTF-8 changes. This meant that + keyboard input on SunOS did not work, though Linux i386 was fine. + + <li>modify initialization for backarrowKey and logic for initial-erase + to prevent the initial-erase from overriding an explicitly set + backarrowKey resource (reported by Vikas Agnihotri). + + <li>add a missing null-pointer check in ScrnRefresh, for the + wide-characters configuration. +</ul> + +<H1><A NAME="xterm_97">Patch #97 - 1999/4/25 - XFree86 3.9Pk</A></H1> +<ul> + <li>add configure script test for -lutil, needed for openpty call when + configuring xterm for Glibc-2.1 and Unix98 PTY's (first reported by + Martin Lorentz" <m.lorentz@w12.link-goe.de>). + + <li>completely parenthesize ifdef expressions for Glibc (suggested by + Bob Maynard). + + <li>add initial-erase options (-ie, +ie) to help message (reported by + Vikas Agnihotri). + + <li>remove duplicate definition of USE_USG_PTYS (reported by Jeremy + Buhler). + + <li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a DEL + (\177). + I overlooked this when separating the styles of keyboard with + the <em>sunKeyboard</em> resources in patch #94, so that it normally + matches the value of the stty erase character: + <ul> + <li>Reported by Jae Gangemi <jgangemi@ccf.rutgers.edu>, + this caused emacs to not process the DEL properly, combining it + with succeeding characters. + <li>This does not appear to be related to a problem which I have + found with <em>screen</em>, which translates the stty erase into + the termcap <em>kD</em> or terminfo <em>kdch1</em> value + (depending on how it is linked) + if the $TERMCAP variable is set when <em>screen</em> is invoked. + </ul> + + <li>add command-line options for enabling UTF-8 mode: -u8 and +u8. + The more obvious -utf8 and +utf8 would conflict with xterm's + -ut and +ut (utmp) options. + + The UTF-8 changes were requested by Markus Kuhn + <Markus.Kuhn@cl.cam.ac.uk>. This patch does not complete UTF-8 + implementation, but makes it usable, i.e., display and refresh work, + and I am able to display the test cases which Markus provides. + More work is needed to complete this feature: + <ul> + <li>the control sequences for switching in/out of UTF-8 mode are + partly implemented (don't use them). Similarly, the switching + between vt100 and tek4014 emulations when UTF-8 mode is enabled + will not work properly. + <p> + You must use the -u8 command line option + to use this feature, as well as compile with the OPT_WIDE_CHARS + definition. + <li>cut/paste only copies 8-bit characters. + <li>logging is disabled in the wide-character configuration + <li>printing only writes 8-bit characters. + <li>input only does 8-bit characters. This is the area that I know + least about. + </ul> +</ul> + +<H1><A NAME="xterm_96">Patch #96 - 1999/4/19 - XFree86 3.9Pj</A></H1> +<ul> + <li>modify Makefile.in to work with configure script's --srcdir option. + (patch by Jeremy Buhler <jbuhler@cs.washington.edu>) + + <li>add checks for 'echo -n' equivalent for 8colors.sh and 16colors.sh + scripts (reported by Vikas Agnihotri). + + <li>improve logic that looks for bold fonts to allow for wildcards + in the specification for normal fonts, and to ensure that if + a bold font is specified as normal, that xterm will simulate a + bold version of that using a one-pixel offset overstrike + (reported by Henrik Harmsen <harmsen@erv.ericsson.se>). + + <li>correct horizontal spacing of double width line-drawing characters + that xterm simulates. + + <li>improve support for Unix98 PTY's, using patch in Debian bug report + #35650, by Topi Miettinen <Topi.Miettinen@medialab.sonera.fi>. + Andreas Jaeger says this also corrects a permissions problem + reported by cat@zip.net.au + + <li>modify initial-erase logic to ensure that <code>ttyModes</code> + resource overrides it. +</ul> + +<H1><A NAME="xterm_95">Patch #95 - 1999/4/5 - XFree86 3.9Ph</A></H1> +<ul> + <li>modify primary DA response to allow a '1' parameter. + + <li>add printer and national replacement character sets to VT220 + primary DA response. + + <li>document primary and secondary DA responses in ctlseqs.ms + + <li>use the patch number (e.g., 95) in the secondary DA response, + providing user applications a means of determining the version + of xterm for feature comparison (request by Bram Moolenaar). + + <li>make xterm respond to secondary DA when the decTerminalID + is set for VT100. + + <li>limit user-defined keys (DECUDK) to VT220-style keyboard + when sunKeyBoard resource is true. + + <li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with + Glibc-2.1 and no Unix98 PTY support (patch from From Andreas Jaeger + <aj@arthur.rhein-neckar.de>) + + <li>add optional feature (resource and command-line options) to make + xterm use the PTY's sense of erase character on startup, rather than + requiring it to be \177, or set the PTY's erase character to match + xterm's configuration. Note that while $TERMCAP is modified to + reflect the actual configuration, the terminfo kdch1 string is not + (request by Dirk H Hohndel <hohndel@suse.de>) + + <li>improve scripts in vttests to work with newer shells that do not + use 'echo -n'. + + <li>add fonts.sh example script + + <li>correct inequality in handling of "#1" font specification. + + <li>correct call to XGetWMNormalHints() used for computing maximum + screen size; the size hints may not have been set. + + <li>begin implementation of support for wide-characters (configure + option --enable-wide-chars defines OPT_WIDE_CHARS, invoke xterm with + -wc option to activate this feature). This patch optionally widens + internal data structures, invokes the 16-bit text output rather than + the 8-bit version and adds some tables. + +</ul> +<H1><A NAME="xterm_94">Patch #94 - 1999/3/27 - XFree86 3.9Pf</A></H1> +<ul> + <li>further fixes for terminfo: ka1, ka3, etc., differ between the + default xterm-xfree86 and xterm-vt220 entries. + + <li>change default (with sunKeyboard resource false) behavior of + the editing keypad "Delete" to send a 127, like xterm-r6. + The VT220-style <code><esc>[3~</code> is sent when + sunKeyboard is true (reported by Tomas Vanhala). + + <li>add parameters to function keys to indicate if shift, control + or alt are set. The codes are based on a description of + a DEC VT510 with a PC keyboard, from Jeffrey Altman + <jaltman@watsun.cc.columbia.edu>. + + <li>add control sequence 1035, set-num-lock action and num-lock + menu entry to control the use of the NumLock and Alt keys for + the Sun/PC and VT220 keyboard extensions. + + <li>implement DECSET/DECRST numeric keypad (DECNKM) mode. + + <li>modify terminfo and termcap to use recommended "X Window" or "X11" + names rather than "X Windows" (reported by Tomas Vanhala). + + <li>suppress translation of shifted keypad "+" when sunKeyboard + is true. + + <li>workaround unexpected behavior (perhaps bug) in XmbLookupString, + which returns trash in the string buffer for numlock and control-key + combined with keypad-keys. + + <li>modify ScrollBarReverseVideo() to keep scrollbar border visible + when reverse video is toggled. + + <li>correct missing case for parameter 17 (set highlight color) in + dynamic colors control sequences. + + <li>extend dynamic colors control sequences to allow users to + determine the colors and font which are currently active. + + <li>minor tweak to OSC responses, to use BEL if the application used + that to end the request, rather than ST. This works better with + shell scripts, which may not handle an + <code><esc>backslash</code> very well. + + <li>separate menu settings for reverse video from that done under + program control. + + <li>corrected ifdef's for menus, which did not allow tek4014 to + be suppressed properly (reported by Clint Olsen). + + <li>integrated patch from Pavel Roskin + <pavel_roskin@geocities.com> + for Linux-2.2.x with GLibc-2.1 and + /dev/ptmx support: + <ul> + <li>main.c and resize.c were using different rules to determine + whether ATT should be defined (actually USE_USG_PTYS is more + apt). + + <li>copy definitions from main.c to resize.c to prevent + sys/stream.h and sys/ptem.h from inclusion when SYSV is not + defined + + <li>define CNUL if not already defined like other variables. + + <li>/dev/tty does exist in Linux, but it doesn't mean, it + should be used. Therefore EACCES is now an acceptable + result. + + <li>ifdef'd several calls such as <code>ioctl (ptyfd, I_PUSH, + "ptem")</code> to build on Linux (I_PUSH is not defined when + sys/stropts.h is not included). + </ul> + + <li>initialize second "ltc" variable in main.c (reported by David + Dawes). + + <li>provide definition for USE_USG_PTYS in screen.c + + <li>add resource-files to install rule in standalone Makefile.in + + <li>add sample scripts to illustrate titlebar controls, resizing + and colors. +</ul> + +<H1><A NAME="xterm_93">Patch #93 - 1999/3/14 - XFree86 3.9Pd</A></H1> +Here are several fixes and minor enhancements. The chief ones +are the fixes for NumLock mode and reverse video, since we had become +used to working around the problems. +<ul> + <li>remove kfnd/kll/kslt strings from terminfo, because curses + applications do not necessarily return khome/kend pairs + (reported by Vikas Agnihotri). + + <li>implement NumLock resource which overrides the keyboard tables for the + special case of keypad keys. This is a problem introduced in xterm + by X11R6 changes, i.e., an ambiguity which in effect discarded vt100 + keypad support. + + <li>modify Sun/PC keyboard mode to extend this (emulation of DEC vt100 + keypad) to the remainder of the numeric keypad. Now, the default + operating mode of xterm uses the keyboard tables as-is (except if + the NumLock mode overrides), but provides good vt100 keypad compatibility + if the Sun/PC keyboard menu item is checked. + + <li>separate command-line settings for reverse video from that done + under program control. This is a problem which was introduced by + X11R6. Though <em>correct</em>, most users are confused by allowing + the reset command to undo the effect of the command-line <kbd>-rv</kbd> + option. + + <li>add description of function keys, keypad and cursor keys to ctlseqs.ms + + <li>add terminfo entries for xterm-vt52, xterm-sun and xterm-hp + + <li>correct typo (missing case value) for DECSET 35, enable/disable + shifted keypad action and a few compiler warnings (reported by Zdenek + Sekera <zs@sgi.com>). + + <li>correct reporting of color values 8-15 in DECRQSS (reported by + Vikas Agnihotri). + + <li>modify parsing of ttyModes resource to recognize "^-" as "undef" + (requested by Tomas Vanhala). + + <li>integrate/extend changes to add iconify/maximize actions + (from Edward S. Arthur <eda@ultranet.com>). + + <li>add control sequences for maximizing/restoring window, and + for reporting maximum screen size. + + <li>add 'interpret' action, to support local function-key interpretation. + Used properly, this makes most of the specialized actions of xterm + redundant. + + <li>add control sequence private modes 1051, 1052 and 1052, for + setting the Sun and HP function key modes, and for setting the + Sun/PC keyboard mode. + + <li>add configure option --disable-maximize + + <li>add configure option --disable-num-lcok + + <li>extend descriptions of configure script options in INSTALL. +</ul> + +<H1><A NAME="xterm_92">Patch #92 - 1999/2/5 - XFree86 3.9Nz</A></H1> +<ul> + <li>increase buffer size for tgetent (i.e., termcap) to 1500. This + fixes a problem where <em>screen</em> is built using ncurses or + GNU termcap and <em>xterm</em> is built using the standard termcap + interface. The former does not limit the termcap size, while the + latter is assumed to be no longer than 1023 characters. The + <em>screen</em> program's termcap entry is about 1200 characters + long. + + <li>change update_menu_item() to a function, to simplify debugging. + This also reduces the executable by 4Kb. + + <li>add control sequences for DECSET 30, 1010, 1011 like rxvt (enable + or disable some features that were only settable via resources or + command line arguments). + + <li>add control sequence for DECSET 35, which enables/disables the + shifted keypad functions. + + <li>add support for switching font sizes, by stepping through the + font menu using shifted keypad plus and minus. + + <li>correct missing initialization of tekInhibit and tekSmall resources. + + <li>correct ifdef's in charproc.c for XtNgeometry and XtCGeometry + (reported by Bram Moolenaar). +</ul> + +<H1><A NAME="xterm_91">Patch #91 - 1999/1/21 - XFree86 3.9Nw</A></H1> +<ul> + <li>Implement logic to translate input characters which are mapped + when in vt220 National Replacement Character mode (requested by + Tomas Vanhala). + + <li>Resync configure scripts with my patches to autoconf 2.13 + + <li>Change order of -lXmu and -lXext to accommodate cygwin32 + (reported by Vikas Agnihotri). + + <li>Add "-ti" option to set terminal emulation level from command + line rather than via resource. + + <li>Simplify some of the preprocessor logic using #elif. +</ul> + +<H1><A NAME="xterm_90">Patch #90 - 1998/12/13 - XFree86 3.9Nq</A></H1> +This implements several small fixes and enhancements. The chief one implements +fallback support for line drawing characters with fonts that do not include +those characters. But I implemented that last. + +<ul> + <li>If any of the glyphs in positions 0-31 (used by xterm to implement + the VT100 alternate character set) are zero-sized (i.e., missing), + xterm will reserve a normal space for the glyph when drawing. I + implemented a simple stroke-drawing function to draw the line-drawing + characters and a couple of the other (simpler) characters such as + diamond. (This was suggested by Vikas Agnihotri). + + <li>Modify the computation of doublesize characters to work around font + servers which shift the scaled characters up/down or do not give the + correct width. + + <li>Add popup menu item and corresponding resource settings to disable + the font-scaling logic for doublesize characters to work around + (older) font servers which simply do not draw the fonts scaled to the + size that they said they would. I see this problem on a SunOS system + running X11R5; the X11R6 servers seem well behaved. + + <li>Implement new escape sequence, private mode 1049, which combines + the switch to/from alternate screen mode with screen clearing and + cursor save/restore. Unlike the existing escape sequence, this + clears the alternate screen when switching to it rather than when + switching to the normal screen, thus retaining the alternate screen + contents for select/paste operations. + + <p>When I implemented the popup menu entry to toggle between the normal + and alternate screens, I considered only pasting from the normal + screen to the alternate; this improvement allows either direction. + + <li>Changed the termcap and terminfo for xterm-xfree86 and xterm-8bit + to use the new 1049 private mode. + + <li>Modify the logic which switches between normal and alternate + screens so that the save/restore cursor operations apply only to the + current screen. That means that applications which use the terminfo + smcur/rmcur or termcap ti/te capabilities will restore the cursor to + the original position on the normal screen rather than to the most + recent place where a save-cursor operation was performed. + + <p>I note that a real VT100 terminal would not behave in this way, + but it is a moot point since the VT100 does not implement alternate + screen, and therefore the save/restore cursor sequence would not be + used in this context. I reviewed the logic which switches between + normal and alternate screens based on some recent newsgroup postings + as well as a proposed patch in the Debian group which attempts to + do this (the patch has a bug, however, so I did not use it). + + <li>Add popup menu entry for toggling the titeInhibit resource. + + <li>Add new resource answerbackString, which overrides the default + "xterm" returned by xterm when responding to an ENQ (control/E) + character (request by Rajesh Vaidheeswarran <rv@fore.com>). + + <li>Add new resource keyboardDialect for setting the NRC display + character set (request by Tomas Vanhala, who notes that I should + add logic to translate the keyboard as well). + + <li>Add new command-line option and corresponding resources for making + xterm generate escape sequences compatible with HP terminals. Like + the existing Sun escape sequences, this is available as a popup menu + item. It is enabled by the configure script with the option + --enable-hp-fkeys (requested by Toni Mueller <sales@oeko.net>). + + <li>Add configure script option --disable-boxchars to disable the + fallback support for line drawing characters. + + <li>Fix ifdef's for configure script --disable-ansi-color, and reviewed + all configure options to ensure that all can be enabled/disabled + appropriately. + + <li>Update config.guess and config.sub, from Lynx. +</ul> + +<H1><A NAME="xterm_89">Patch #89 - 1998/11/20 - XFree86 3.9Nm</A></H1> +This patch completes the implementation of double-sized character support +for the VT100 emulation, and fixes a few minor bugs: + +<ul> +<li>corrected the cursor position in HideCursor, which did not multiply +the column by two when in doublesize mode. +This bug, which did not appear in normal use, +dates back to my original <a href="#xterm_44">changes</a> to partly implement +double-sized characters. +I noticed it when cat'ing a typescript from vttest's double-sized character +test. +<li>ensure that the current line is repainted when switching between +single and double width characters. +<li>reduce the number of bits used for double-sized character coding +from 3 to 2, to make more room for soft-font codes. +<li>copy newer ifdef's from the XFree86 3.3.3 release's main.c, +which address details of glibc and powerpc. +<li>moved definition of DECL_ERRNO in xterm.h to match XFree86 3.3.3 +<li>modify <em>resize</em> to remove the ifdef on SVr4 that suppressed +printing the script for $LINES and $COLUMNS. +Solaris' resize utility does this; suppressing the behavior is unnecessary. +</ul> +I tested the double-sized characters using vttest and the xfsft patch. +These fonts worked reasonably well: +<pre> + -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1 + 9x15 +</pre> +The iso8859 font does not include box characters, of course, but looks good. + +<H1><A NAME="xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk and 3.3.2h</A></H1> +This refines my #85 patch by checking for a case where the font server +returns a bold font that does not quite correspond to the normal font. +When I asked for a bold version of the 6x12 font, the font server +returned a near equivalent where the ascent and descent values did not +match, causing xterm to leave lines across the display. +This patch makes xterm reject that type of mismatch, falling back to the +old font behavior. + +<H1><A NAME="xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj and 3.3.2f</A></H1> +This corrects a problem reported by Stefan Dalibor. My table entries for the +<em>printerExtent</em> and <em>printerFormFeed</em> resources used the wrong +types for sizeof, causing the printer to not work properly on some platforms +because the <em>printAttributes</em> resource was overwritten (e.g., Digital Unix with DEC Alpha). +<p> +I reviewed all of the resource table entries and fixed a potential problem with +<em>resizeGravity</em>, which was typed as <em>int</em> rather than +<em>XtGravity</em>. + +<H1><A NAME="xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj and 3.3.2e</A></H1> +A small fix: when switching to/from the continuous mouse reporting mode, +the event mask was incorrect if xterm was built under X11R5 because the +original data was saved under an ifdef for active-icon. + +<H1><A NAME="xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj and 3.3.2e</A></H1> +Some cleanup (I noticed the pixel droppings a few months ago after getting a +new 17" monitor): +<ul> + <li>split-out the functions that load/reload fonts for xterm as new + file fontutils.c to extend them to support automatic loading of + bold font corresponding to the normal font. Adapted logic from + EMU 1.3 for this purpose. This fixes most occurrences of pixel + droppings from bold characters. + + <li>modified by renaming variables and adding casts to permit compile + with g++. + + <li>modify headers so they can all be compiled without order + dependencies, and use bracketed rather than quoting includes to allow + compile from separate directory. + + <li>renamed xtermm terminfo entry to xterm-mono, to avoid conflict with + Solaris entry now in ncurses. +</ul> + +<H1><A NAME="xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni</A> and 3.3.2e</H1> +Several small fixes and enhancements, including a patch from +Bjorn Helgaas: +<ul> + <li>correct initialization of TERMCAP environment variable, which + was frequently set to garbage on non-Linux systems because + "termcap" and "newtc" contained random data from the stack. + + <li>remove the LINEWRAPPED attribute from lines as they are cleared. + Previously, the attribute was set but never cleared. + + <li>make word and line selections work even when lines are wrapped + by xterm. Previously, selections were limited to one screen line. +</ul> +as well as +<ul> + <li>modify logic for line-wrapping to reset the associated flag if + the application deletes a character. This fixes a problem reported + by Bjorn Helgaas where word/line selection would still wrap even + after deleting characters from the first line. + <li>add kll/kH capabilities to xterm-xfree86 entries in termcap and + terminfo (request by Michael Schroeder). + <li>shorten descriptions in termcap to make resolved entries all + shorter than 1023 character limit. + <li>use DECSTR control sequence to shorten initialization and reset + strings in xterm-xfree86 termcap and terminfo. + <li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match termcap. + <li>correct typos in initialization and reset strings in xterm-r5 + termcap and terminfo. + <li>disable special translations of key symbols (the backarrow key, + the editing keypad and the keypad "+") when a modifier other than + shift, control or numlock is used. This makes xterm handle the meta + key as expected by people using emacs (reported by Pete Harlan + <harlan@pointofchoice.com> in linux.debian.user newsgroup). +</ul> + +<H1><A NAME="sync_83">Resync #83 - 1998/10/7 - XFree86 3.3.2e</A></H1> + +Merge changes through patch #83 with the 3.3.2e version. This follows a +patch by Matthieu Herrb <matthieu@laas.fr> to add checks for non-null +return from malloc. + +<H1><A NAME="xterm_83">Patch #83 - 1998/8/25 - XFree86 3.9Nb</A></H1> +Several small fixes and enhancements: +<ul> + <li>add configure test to infer if xterm should be installed setuid + based on previously installed xterm (reported by Stephen Marley + and Stefan Dalibor). + + <li>integrate/extend patch by Jason Bacon to implement quasi-continuous + mouse reporting. + + <li>correct control sequences transmitted by function keys F1 to F4 + when sunFunctionKeys resource is true (it was still using the + VT100 control sequences). + + <li>modify handling of backarrow key so that the control modifier + toggles the backspace/delete interpretation set by the + backarrowKey resource. + + <li>limit the row and column values used to report mouse position. +</ul> + +From resync with XFree86 3.9Nb: +<ul> + <li>add support for the VSTATUS control character (patch by + Robert Earl <rearl@teleport.com>). +</ul> + +<H1><A NAME="xterm_82">Patch #82 - 1998/7/15 - XFree86 3.9Aj</A></H1> +Bug fix for patch #81: +<ul> + <li>remove an #undef for NBBY, which caused compile problem on FreeBSD + (reported by David Dawes). +</ul> + +<H1><A NAME="xterm_81">Patch #81 - 1998/7/14 - XFree86 3.9Aj</A></H1> +More bug fixes: +<ul> + <li>fix conflicting ifdef's for TIOCSLTC when building with Linux on + AXP aka DEC Alpha (reported by Robin Cutshaw). + + <li>correction to patch #79, move assignment for *utptr->ut_user = 0; + back into non-SVR4 ifdef in main.c, since this clobbers username on + Solaris 2.5.1 (analysis by Will Day + <willday@rom.oit.gatech.edu>). + + <li>corrected khome/kend in xterm-8bit terminfo description. + + <li>improve cursor color by making it always the reverse of fg/bg + unless the cursorColor resource is set, i.e., to something other than + the default foreground (reported by Vikas Agnihotri and Bram + Moolenaar). + + <li>minor fixes for compiler warnings, including a syntax error in + the AMOEBA ifdef's. +</ul> +From resync with XFree86 3.9Aj: +<ul> + <li>correction to patch #73, supply missing #else for fallback definitions + of size_t, time_t (Robin Cutshaw <robin@intercore.com>). +</ul> + +<H1><A NAME="xterm_80">Patch #80 - 1998/6/29 - XFree86 3.9Ai</A></H1> +This fixes a couple of items leftover or introduced by patch 79: +<ul> + <li>take out the logic that suppresses editing-keypad in vt100 mode + (those keys are too valuable to give up for a fine point of + emulation). + + <li>corrected a couple of places in terminfo where I missed using the + vt220-style editing-keypad codes for Find/Select (mapped to Home/End). + + <li>checked termcap file against terminfo, fix several places where it + was inconsistent. +</ul> + +<H1><A NAME="xterm_79">Patch #79 - 1998/6/28 - XFree86 3.9Ai</A></H1> + +This patch fixes several small bugs: +<ul> + <li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas Vanhala). + + <li>add new resource 'oldXtermFKeys' which provides backward compatibility + for F1-F4 control sequences with TOG's xterm. + + <li>determine the server's default foreground/background Pixel values, + needed if the -flipPixels X server option is used (reported by + David Dawes). + + <li>correct logic for F1-F4 function keys so that they generate VT100 + compatible escape sequences in VT220 mode, since that is what the + numeric keypad is supposed to do (reported by Ron Johnson, Jr. + <ronjohn@communique.net>). + + <li>modify logic for editing keypad to work more like VT220: don't + pass those codes in VT100-mode unless oldXtermFKeys mode is set. + + <li>correct an interaction with the editing-keypad logic that prevented + backarrow key from sending a 127 for the delete key (the 'remove' + escape sequence was being sent instead). + + <li>use return-value from getuid() rather than the parameter, to work on + systems which do not update the latter (patch by Kevin Buhr + <buhr@mozart.stat.wisc.edu>) + + <li>correct scrollbar border color when toggling to/from secure keyboard + mode (patch by Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>) + + <li>modifications to terminfo file: +<ul> + <li>rename description to xterm-xfree86, adding an entry 'xterm' + which is derived from xterm-xfree86 to simplify customization. + + <li>change string for kdch1 from \177 to \E[3~, to address complaints + from Debian developers. (This applies to the key labeled "Delete", + and does not affect the backarrow key). + + <li>add user-strings u6, u7, u8, u9 to entries to make them work with + Daniel Weaver's "tack" program. + + <li>modify xterm-24, xterm-bold, xterm-boldso entries to disentangle them from + explicit dependency upon xterm-xfree86. + + <li>add generic 'xterm-color' entry. + + <li>minor corrections to xterm-xfree86, xterm-8bit, xterm-r5 and + xterm-r6 entries. +</ul> +</ul> + +<H1><A NAME="xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah and 3.3.2</A></H1> + +Again, most of the bulk of this patch is for ANSI conversion. I used the +IRIX compiler's -wlint option to find the remaining functions that use +K&R syntax (since gcc does not do this properly). + +Also, I changed the logic in the print code slightly to close unwanted files +before opening a pipe to the printer. This may help in some configurations +where the line printer hangs until xterm closes the pipe. + +<H1><A NAME="xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah and 3.3.2</A></H1> + +Most of the bulk of this patch is to convert the extended C (K&R functions +with prototypes) to ANSI. I verified that on Linux by comparing object +files, to ensure that I did not, for example, interchange parameters in +the function declarations. +<p> +The rest of the patch fixes several minor bugs, and adds a few features: +<ul> + <li>back-out my use of ncurses "captoinfo -f" option (if/then/else/endif) + formatting, since ncurses did not correctly filter embedded newlines + in terminfo capability strings until _after_ ncurses 4.1, thus + corrupting setf/setb/sgr strings (reported by Darren Hiebert and + others). + + <li>document SGR 8, 28 (invisible/visible), add corresponding + capabilities to terminfo description. +<p> + I would also add the 'prot protected capability, but the control + sequences for that would not be recognized or properly ignored by the + older xterm programs. + + <li>modify ChangeGroup to not suppress a null-resource, but treat it as an + empty string (recommended by Stefan Dalibor). + + <li>add printerAutoClose resource to control whether printer is closed + when going offline. More than one person reports problems (on + Solaris 2.6 and Digital Unix 4.0) getting the printer to proceed + unless xterm exits; I think that it is a problem flushing the pipe. + Closing it ought to flush it. + + <li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N (but adapt + XtStackAlloc/XtStackFree for clarity, as well as fixing memory leak). + + <li>change calls on FillCurBackground to ClearCurBackground, in effect + using XClearArea rather than XFillRectangle when clearing as a + side-effect of scrolling and insertion (patch by Alexander V + Lukyanov) + + <li>correct some places where insert/delete did not _move_ the color + attributes, using memmove (patch by Alexander V Lukyanov + <lav@long.yar.ru>) + + <li>add ifdef's for __CYGWIN32__, for port to cygnus version B19.1 + (patch by Andrew Sumner <andrew_sumner@hotmail.com>). + + <li>remove #define for hpux that turned on USE_SYSV_ENVVARS, since this + causes some applications (such as 'less') to get incorrect $LINES and + $COLUMNS values (reported by Clint Olsen). + + <li>modify behavior for HP-UX, to set the "reserved" process group + controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does not produce an + error (patch by Ben Yoshino <ben@wiliki.eng.hawaii.edu>). + + <li>correct length of underlining, reducing it by one pixel to avoid + leaving a dot when the application does not clear the whole screen + (patch by (Sergei Laskavy <Laskavy@cs.msu.su>). +<p> + I noticed this only recently myself (and other people as well); it + depends on the font chosen. A 6x10 font shows it, but the other + fonts (from XTerm.ad) do not. I also see a similar problem with the + emulation of bold fonts. + + <li>add include for Xos.h to xterm.h, to ensure proper definitions + (reported by Holger Veit). + + <li>update config.guess to recognize Unixware 2.1 and 7 (patch by + Mike Hopkirk <hops@sco.com>). +</ul> + +<H1><A NAME="xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah and 3.3.2</A></H1> + +A fix for the print-window function, and some minor cleanup: +<ul> + <li>modify logic that closes pipe in the print-window function to not use + pclose, which does not work on all systems, since I did not open the + pipe with popen (reported by Stefan Dalibor). + + <li>correct name of $(EXTRA_LOAD_FLAGS) imake variable (reported + by Stefan Dalibor). + + <li>guard logic in ChangeGroup() function against null pointer + (reported by Stefan Dalibor). + + <li>ensure that menu entry for toggling sunKeyboard resource is + initialized (reported by Branden Robinson <branden@purdue.edu>). + + <li>gcc unused-variable warnings (reported by Bernd Ernesti + <bernd@arresum.inka.de>) + + <li>rename global variable 'buffer' to 'VTbuffer' +</ul> + +<H1><A NAME="xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah and 3.3.2</A></H1> + +This incorporates fixes from several people, as well as some improvements +that I made based on feedback from users: +<ul> + <li>add option to standalone configure script, "--with-own-terminfo-dir", + which causes xterm to pass a predefined value of $TERMINFO to the + application. Also use this value in install rule "make install-ti", + for the standalone configure script. + + (patch & feedback from Tor Lillqvist <tml@hemuli.tte.vtt.fi>) + + <li>change ifdef's for "hpux" to "__hpux" (patch by Tor Lillqvist). The + imake configuration uses the former, but the latter is predefined by + HP's compilers. + + <li>define USE_SYSV_ENVVARS for HP-UX, curses does not use $TERMCAP (patch + by Tor Lillqvist). + + <li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's. Works + both on HP-UX 9 and 10. (patch by Tor Lillqvist). + + <li>modify configure script to obtain the $(EXTRA_LOADFLAGS) value from + imake, needed for compiling under DEC OSF/1 (reported by + Stefan Dalibor) + + <li>modify print-window action so that the printer is closed after + printing a window, unless the printer was already opened (i.e., + by an application running in the window). This makes the printing + complete without having to exit xterm, since not all systems treat + fflush through a pipe very well (reported by Stefan Dalibor) + + <li>modify printing code so that the ^M's are not printed if the + printAttribute resource is set to zero (request by Stefan Dalibor). + + <li>correct typo in xterm.man, for the default value of printAttribute + (reported by Stefan Dalibor). + + <li>correct printing code so that the alternate character set is + printed, like other attributes, with escape sequences. + + <li>correct termcap description, removing spurious 'm' character from + the 'op' capability (reported by Greg Woods <woods@weird.com>). + + <li>correct trace code so that the initial timestamp is set. + + <li>correct/modify utmp data for the Linux glibc 2 configuration, + so that the ut_line member is set before using it to update wtmp + (patch by Bill Nottingham <wen1@cec.wustl.edu>). +</ul> + +<H1><A NAME="xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag and 3.3.2</A></H1> + +This corrects a couple of recent bugs and adds a new resource: +<ul> + <li>modify definition of TRACE_CHILD so that it does not conflict with + ifdef's for USE_USG_PTYS in main.c (reported by Vikas Agnihotri + <VikasA@att.com> and Stefan Dalibor). + + <li>correct ownership of file (actually pipe) written by the print + controls. When undoing the setuid changes in patch #69, I overlooked + this. Now xterm forks a process which resets setuid and routes the + printer data as the real user. + + <li>add a new resource, "printAttributes", which controls whether + color attributes (or any attributes) are sent to the printer. +</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> + +This is a patch from Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>, +which I have cleaned up a little, and integrated into the configure script. +<p> +From his description: +<blockquote> + This set of patches is the latest incarnation of patches originally +written by Ian! D Allen, then of the University of Waterloo and now of +who knows where; I have been carrying them forward from xterm to xterm +ever since about X11R4. What they do is add an option so that when an +iconified xterm receives output it prepends '*** ' to its icon title +and (optionally) beeps the bell; deiconifying the xterm removes the +'*** '. Over the years I've found this to be incredibly convenient for +monitoring all sorts of low-activity things. +</blockquote> + +<H1><A NAME="xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag and 3.3.2</A></H1> + +This patch is a slightly modified version of one by Richard Braakman, which +prevents buffer overflow in the input-method and preedit-type parsing in xterm. +I changed a couple of details to make the code more maintainable, and looked +for similar things - copying into a fixed-size buffer (found none, though I did +spot an unused variable). + +<H1><A NAME="xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af and 3.3.2</A></H1> + +This patch corrects some minor bugs in xterm, and fills in some more details +in the VT220 emulation: +<UL> + <LI>modify Imakefile to use SpecialCObjectRule for menu and data modules, + making xterm build properly if logging is enabled + (patch by Scott Sewall <scott@iprg.nokia.com>). + + <LI>restore "ich" capability to terminfo entries, since + Michael Schroeder points out that "ich1" + is the one which is the problem in Solaris vi. + + <LI>correct color of cursor, which would disappear on inverse-video + since the initialization did not compare the cursor color against + both foreground and background (reported by Olivier Calle). + + <LI>correct abbreviation-test for -version and -help options, making + command-line option -vb work (reported by Stefan Dalibor). + + <LI>correct a dependency between ifdef's for OPT_I18N_SUPPORT and + OPT_INPUT_METHOD (reported by Stefan Dalibor). + + <LI>split-out character-set translations as new module charsets.c, to + implement VT220 national replacement character sets (a mode where + some of the characters are displayed as specific European glyphs). + This relies on xterm using an ISO 8859-1 font (approach suggested by + Kenneth R. Robinette <zkrr01@mailbox.neosoft.com>). + + <LI>correct a missing increment, which made SS2 and SS3 controls + repeat the shifted character. + + <LI>add xterm-nrc to terminfo to illustrate the VT220 national + replacement character sets. + + <LI>reformat terminfo using new ncurses tic option "-f", which makes + if/then/else/endif expressions easier to read. +</UL> + +<H1><A NAME="xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad and 3.3.2</A></H1> + +This corrects the problem in xterm with utmp, reported by Olivier Calle +<olivier@tc.fluke.com> +as well as some other people after the XFree86 3.3.2 release. +<P> +The error was introduced by my patch #53 in XFree86 3.9r (October 1997). +<P> +The correction removes the reset of setuid/setgid before the main event loop, +and solves the problem which I had worked around in a different manner: for +some reason, the particular waitpid() call in creat_as() hangs, does not +return when the child process exits. I changed the ifdef's to force the Linux +configuration to use wait() instead. This call appears to work properly on +other platforms such as SunOS and Solaris. +<P> +I also added tests in the standalone configure script to check for the +existence of waitpid(). + +<H1><A NAME="xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad and 3.3.1z</A></H1> + +This corrects another problem with the logic for highlightColor resource. +As reported by David Dawes: +<blockquote> + I've just noticed a problem with with the "inverse" control sequence + (ESC[7m) with the 3.3.2 xterm. What it does is sets the background + black, and the text the usual foreground colour rather than simply + swapping the foreground/background. + +</blockquote> +This appears to be because when I added logic to check that the highlightColor +was distinct from foreground and background colors, I did not add a further +check to see that it was not black (I would make an explicit check for the +resource not being set, but see nothing definite in the headers that would let +me reference an explicitly-undefined Pixel value, though there are some +implications in xpm.h). But this should work. + +<H1><A NAME="xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad and 3.3.1e</A></H1> + +This patch does the following: +<UL> + <LI>improve test for highlightColor so that xterm does not attempt to + use that unless it is different from the foreground and background + colors (reported by Stefan Dalibor + <Stefan.Dalibor@informatik.uni-erlangen.de>. +<P> + I could not reproduce this until I noticed that the -rev option + exposed it nicely. + + <LI>remove ich and ich1 from xterm and xterm-8bit terminfo descriptions. + SVr4 terminfo documents that you must not combine these with + smir/rmir, but ncurses allows it, opening a hole. Solaris 2.6 vi + does not work properly if it is using a terminfo description when + these are combined, since it was written to accommodate old terminals + that required it (reported by Stephen Marley). + + <LI>restore 1-pixel overlap of scrollbar border with left edge of window + (reported by Jim Burmeister <jimb@metrolink.com>). + + <LI>add a configure option, --enable-logfile-exec, which allows the + user to specify a pipe for logfile. This defines ALLOWLOGFILEEXEC. + + <LI>makes the ALLOWLOGFILEEXEC code compile & run, if configured. + + <LI>minor documentation nits. +</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 <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 <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 <jb@chromatic.com>). +<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 + <acadix@execpc.com>) + + <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 <helgaas@rsn.hp.com>, 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 <X11/DECkeysym.h> + and <X11/Xpoll.h> 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 <helgaas@dhc.net> (I added the +os2main.c change, and a little of the documentation). From Bjorn's +description: +<UL> + <LI>If you use the "-hc <color>" 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 <vanhala@ling.helsinki.fi>. + + <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 <douglask@dstc.edu.au> 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 + <Thomas.Wolff@sietec.de> + 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 <stephen@memex.com>. + + <LI>fix a typo in the configure --help message -- reported by Darren + Hiebert <darren@hmi.com>. + + <LI>review diffs between main.c and os2main.c, to make them more alike. + (applies some minor bug-fixes 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 <arfst@luxor.IN-Berlin.DE>, +who reported: +<blockquote> + Setting the following resources xterm (all current versions) receives a + segmentation fault on <Btn2Up> after scrolling: +<PRE> + + *XTerm*VT100*translations: #override \ + ~Shift~Ctrl<Btn2Up>: insert-selection(PRIMARY, CUT_BUFFER0)\n\ + Shift~Ctrl<Btn2Up>: insert-selection(CLIPBOARD, CUT_BUFFER1)\n\ + ~Shift<BtnUp>: select-end(PRIMARY, CUT_BUFFER0)\n\ + Shift<BtnUp>: 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. +</blockquote> +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 <michael.rohleder@stadt-frankfurt.de> 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 <rmaynard@montana.com>, + <LI>Clint Olsen <olsenc@ichips.intel.com>, + <LI>JCHANDRA@Inf.COM (JCHANDRA), + <LI>Michael Schroeder <Michael.Schroeder@informatik.uni-erlangen.de>, + <LI>Pablo Ariel Kohan <pablo@memco.co.il> +</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 <sys/termio.h> 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 ifdef's 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 ifdef's 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 <Mathieu.Herrb@mipnet.fr> 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 <auroux@clipper.ens.fr> (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 +<roland@spinnaker.rhein.de>: +<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 <atlka@pg.gda.pl> 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 + + <P>=> (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> + => 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> + => 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> + => 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->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> |