xterm.log.html revision 4e40088c
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<!--
3 *****************************************************************************
4 * Copyright 1996-2008,2009 by Thomas E. Dickey                              *
5 * All Rights Reserved.                                                      *
6 *                                                                           *
7 * Permission to use, copy, modify, and distribute this software and its     *
8 * documentation for any purpose and without fee is hereby granted, provided *
9 * that the above copyright notice appear in all copies and that both that   *
10 * copyright notice and this permission notice appear in supporting          *
11 * documentation, and that the name of the above listed copyright holder(s)  *
12 * not be used in advertising or publicity pertaining to distribution of the *
13 * software without specific, written prior permission.                      *
14 *                                                                           *
15 * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD  *
16 * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND *
17 * FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE *
18 * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES         *
19 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN     *
20 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   *
21 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.            *
22 *****************************************************************************
23  $XTermId: xterm.log.html,v 1.707 2009/01/09 02:02:49 tom Exp $
24  -->
25<HTML>
26<HEAD>
27<TITLE>XTERM - Change Log</TITLE>
28<LINK REV=MADE HREF="mailto:dickey@invisible-island.net">
29<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
30</HEAD>
31<BODY>
32<HR>
33Copyright &copy; 1997-2008,2009 by <A
34HREF="mailto:dickey@invisible-island.net">Thomas E. Dickey</A>
35<HR>
36<H1>Contents</H1>
37This file contains a list of the changes that I have made for xterm,
38from the notes that I add when submitting a patch.
39<P>
40You should note that other changes have been made as well, by other people,
41to fix bugs and correct ifdef's for portability.
42Most of these are summarized in the XFree86 CHANGELOG
43(found in the unbundled tree, xc/programs/Xserver/hw/xfree86).
44<a href="http://invisible-island.net/xterm/xterm.log.html">Here</a>
45is the latest version of this file.
46
47<UL>
48<LI><A HREF="#xterm_239">Patch #239 - 2001/1/8</A>
49<LI><A HREF="#xterm_238">Patch #238 - 2008/12/30</A>
50<LI><A HREF="#xterm_237">Patch #237 - 2008/09/14</A>
51<LI><A HREF="#xterm_236">Patch #236 - 2008/07/27</A>
52<LI><A HREF="#xterm_235">Patch #235 - 2008/04/20</A>
53<LI><A HREF="#xterm_234">Patch #234 - 2008/03/02</A>
54<LI><A HREF="#xterm_233">Patch #233 - 2008/02/24</A>
55<LI><A HREF="#xterm_232">Patch #232 - 2008/01/30</A>
56<LI><A HREF="#xterm_231">Patch #231 - 2008/01/05</A>
57<LI><A HREF="#xterm_230">Patch #230 - 2007/12/31</A>
58<LI><A HREF="#xterm_229">Patch #229 - 2007/8/12</A>
59<LI><A HREF="#xterm_228">Patch #228 - 2007/7/22</A>
60<LI><A HREF="#xterm_227">Patch #227 - 2007/6/27</A>
61<LI><A HREF="#xterm_226">Patch #226 - 2007/6/17</A>
62<LI><A HREF="#xterm_225">Patch #225 - 2007/3/24</A>
63<LI><A HREF="#xterm_224">Patch #224 - 2007/2/11</A>
64<LI><A HREF="#xterm_223">Patch #223 - 2006/11/30</A>
65<LI><A HREF="#xterm_222">Patch #222 - 2006/10/17</A>
66<LI><A HREF="#xterm_221">Patch #221 - 2006/10/1</A>
67<LI><A HREF="#xterm_220">Patch #220 - 2006/9/10</A>
68<LI><A HREF="#xterm_219">Patch #219 - 2006/9/4</A>
69<LI><A HREF="#xterm_218">Patch #218 - 2006/8/27</A>
70<LI><A HREF="#xterm_217">Patch #217 - 2006/8/20</A>
71<LI><A HREF="#xterm_216">Patch #216 - 2006/8/3</A>
72<LI><A HREF="#xterm_215">Patch #215 - 2006/6/19 - XFree86 4.6.99.2</A>
73<LI><A HREF="#xterm_214">Patch #214 - 2006/6/18 - XFree86 4.6.99.2</A>
74<LI><A HREF="#xterm_213">Patch #213 - 2006/4/30 - XFree86 4.5.99.905</A>
75<LI><A HREF="#xterm_212">Patch #212 - 2006/4/9 - XFree86 4.5.99.904</A>
76<LI><A HREF="#xterm_211">Patch #211 - 2006/3/19 - XFree86 4.5.99.902</A>
77<LI><A HREF="#xterm_210">Patch #210 - 2006/3/12 - XFree86 4.5.99.902</A>
78<LI><A HREF="#xterm_209">Patch #209 - 2006/2/12 - XFree86 4.5.99.22</A>
79<LI><A HREF="#xterm_208">Patch #208 - 2006/1/3 - XFree86 4.5.99.19</A>
80<LI><A HREF="#xterm_207">Patch #207 - 2005/11/13 - XFree86 4.5.99.16</A>
81<LI><A HREF="#xterm_206">Patch #206 - 2005/11/3 - XFree86 4.5.99.15</A>
82<LI><A HREF="#xterm_205">Patch #205 - 2005/9/18 - XFree86 4.5.99.12</A>
83<LI><A HREF="#xterm_204">Patch #204 - 2005/8/4 - XFree86 4.5.99.9</A>
84<LI><A HREF="#xterm_203">Patch #203 - 2005/7/6 - XFree86 4.5.99.7</A>
85<LI><A HREF="#xterm_202">Patch #202 - 2005/5/2 - XFree86 4.5.99.3</A>
86<LI><A HREF="#xterm_201">Patch #201 - 2005/4/21 - XFree86 4.5.99.2</A>
87<LI><A HREF="#xterm_200">Patch #200 - 2005/2/6 - XFree86 4.4.99.23</A>
88<LI><A HREF="#xterm_199">Patch #199 - 2005/1/17 - XFree86 4.4.99.22</A>
89<LI><A HREF="#xterm_198">Patch #198 - 2005/1/13 - XFree86 4.4.99.21</A>
90<LI><A HREF="#xterm_197">Patch #197 - 2004/11/30 - XFree86 4.4.99.19</A>
91<LI><A HREF="#xterm_196">Patch #196 - 2004/8/15 - XFree86 4.4.99.12</A>
92<LI><A HREF="#xterm_195">Patch #195 - 2004/8/8 - XFree86 4.4.99.11</A>
93<LI><A HREF="#xterm_194">Patch #194 - 2004/7/27 - XFree86 4.4.99.11</A>
94<LI><A HREF="#xterm_193">Patch #193 - 2004/7/19 - XFree86 4.4.99.10</A>
95<LI><A HREF="#xterm_192">Patch #192 - 2004/7/12 - XFree86 4.4.99.9</A>
96<LI><A HREF="#xterm_191">Patch #191 - 2004/6/6 - XFree86 4.4.99.7</A>
97<LI><A HREF="#xterm_190">Patch #190 - 2004/5/25 - XFree86 4.4.99.6</A>
98<LI><A HREF="#xterm_189">Patch #189 - 2004/5/16 - XFree86 4.4.99.6</A>
99<LI><A HREF="#xterm_188">Patch #188 - 2004/5/12 - XFree86 4.4.99.6</A>
100<LI><A HREF="#xterm_187">Patch #187 - 2004/4/27 - XFree86 4.4.99.4</A>
101<LI><A HREF="#xterm_186">Patch #186 - 2004/4/18 - XFree86 4.4.99.4</A>
102<LI><A HREF="#xterm_185">Patch #185 - 2004/3/3 - XFree86 4.4</A>
103<LI><A HREF="#xterm_184">Patch #184 - 2003/12/31 - XFree86 4.3.99.903</A>
104<LI><A HREF="#xterm_183">Patch #183 - 2003/12/26 - XFree86 4.3.99.903</A>
105<LI><A HREF="#xterm_182">Patch #182 - 2003/12/2 - XFree86 4.3.99.901</A>
106<LI><A HREF="#xterm_181">Patch #181 - 2003/10/26 - XFree86 4.3.99.15</A>
107<LI><A HREF="#xterm_180">Patch #180 - 2003/10/12 - XFree86 4.3.99.15</A>
108<LI><A HREF="#xterm_179">Patch #179 - 2003/5/21 - XFree86 4.3.99.5</A>
109<LI><A HREF="#xterm_178">Patch #178 - 2003/5/18 - XFree86 4.3.99.5</A>
110<LI><A HREF="#xterm_177">Patch #177 - 2003/3/23 - XFree86 4.3.0</A>
111<LI><A HREF="#xterm_176">Patch #176 - 2003/3/22 - XFree86 4.3.0</A>
112<LI><A HREF="#xterm_175">Patch #175 - 2003/3/9 - XFree86 4.3.0</A>
113<LI><A HREF="#xterm_174">Patch #174 - 2003/2/25 - XFree86 4.2.99.903</A>
114<LI><A HREF="#xterm_173">Patch #173 - 2003/2/6 - XFree86 4.2.99.902</A>
115<LI><A HREF="#xterm_172">Patch #172 - 2002/12/27 - XFree86 4.2.99.3</A>
116<LI><A HREF="#xterm_171">Patch #171 - 2002/12/12 - XFree86 4.2.99.3</A>
117<LI><A HREF="#xterm_170">Patch #170 - 2002/10/13 - XFree86 4.2.1</A>
118<LI><A HREF="#xterm_169">Patch #169 - 2002/10/5 - XFree86 4.2.1</A>
119<LI><A HREF="#xterm_168">Patch #168 - 2002/9/29 - XFree86 4.2.1</A>
120<LI><A HREF="#xterm_167">Patch #167 - 2002/8/24 - XFree86 4.2.0</A>
121<LI><A HREF="#xterm_166">Patch #166 - 2002/3/25 - XFree86 4.2.0</A>
122<LI><A HREF="#xterm_165">Patch #165 - 2002/1/5 - XFree86 4.1.0</A>
123<LI><A HREF="#xterm_164">Patch #164 - 2001/11/13 - XFree86 4.1.0</A>
124<LI><A HREF="#xterm_163">Patch #163 - 2001/11/04 - XFree86 4.1.0</A>
125<LI><A HREF="#xterm_162">Patch #162 - 2001/10/23 - XFree86 4.1.0</A>
126<LI><A HREF="#xterm_161">Patch #161 - 2001/10/10 - XFree86 4.1.0</A>
127<LI><A HREF="#xterm_160">Patch #160 - 2001/10/7 - XFree86 4.1.0</A>
128<LI><A HREF="#xterm_159">Patch #159 - 2001/9/19 - XFree86 4.1.0</A>
129<LI><A HREF="#xterm_158">Patch #158 - 2001/9/8 - XFree86 4.1.0</A>
130<LI><A HREF="#xterm_157">Patch #157 - 2001/6/18 - XFree86 4.1.0</A>
131<LI><A HREF="#xterm_156">Patch #156 - 2001/4/28 - XFree86 4.0.3</A>
132<LI><A HREF="#xterm_155">Patch #155 - 2001/4/20 - XFree86 4.0.3</A>
133<LI><A HREF="#xterm_154">Patch #154 - 2001/4/11 - XFree86 4.0.3</A>
134<LI><A HREF="#xterm_153">Patch #153 - 2001/3/29 - XFree86 4.0.3</A>
135<LI><A HREF="#xterm_152">Patch #152 - 2001/3/13 - XFree86 4.0.2</A>
136<LI><A HREF="#xterm_151">Patch #151 - 2001/3/10 - XFree86 4.0.2</A>
137<LI><A HREF="#xterm_150">Patch #150 - 2000/12/29 - XFree86 4.0.2</A>
138<LI><A HREF="#xterm_149">Patch #149 - 2000/12/6 - XFree86 4.0.1h</A>
139<LI><A HREF="#xterm_148">Patch #148 - 2000/10/31 - XFree86 4.0.1d</A>
140<LI><A HREF="#xterm_147">Patch #147 - 2000/10/26 - XFree86 4.0.1c</A>
141<LI><A HREF="#xterm_146">Patch #146 - 2000/9/12 - XFree86 4.0.1c</A>
142<LI><A HREF="#xterm_145">Patch #145 - 2000/9/11 - XFree86 4.0.1c</A>
143<LI><A HREF="#xterm_144">Patch #144 - 2000/8/23 - XFree86 4.0.1b</A>
144<LI><A HREF="#xterm_143">Patch #143 - 2000/8/19 - XFree86 4.0.1b</A>
145<LI><A HREF="#xterm_142">Patch #142 - 2000/8/18 - XFree86 4.0.1b</A>
146<LI><A HREF="#xterm_141">Patch #141 - 2000/8/14 - XFree86 4.0.1b</A>
147<LI><A HREF="#xterm_140">Patch #140 - 2000/7/23 - XFree86 4.0.1</A>
148<LI><A HREF="#xterm_139">Patch #139 - 2000/6/17 - XFree86 4.0d</A>
149<LI><A HREF="#xterm_138">Patch #138 - 2000/6/15 - XFree86 4.0c</A>
150<LI><A HREF="#xterm_137">Patch #137 - 2000/6/10 - XFree86 4.0b</A>
151<LI><A HREF="#xterm_136">Patch #136 - 2000/6/3 - XFree86 4.0b</A>
152<LI><A HREF="#xterm_135">Patch #135 - 2000/5/29 - XFree86 4.0b</A>
153<LI><A HREF="#xterm_134">Patch #134 - 2000/5/28 - XFree86 4.0b</A>
154<LI><A HREF="#xterm_133">Patch #133 - 2000/5/2 - XFree86 4.0a</A>
155<LI><A HREF="#xterm_132">Patch #132 - 2000/4/11 - XFree86 4.0a</A>
156<LI><A HREF="#xterm_131">Patch #131 - 2000/3/3 - XFree86 3.9.18b</A>
157<LI><A HREF="#xterm_130">Patch #130 - 2000/3/1 - XFree86 3.9.18a</A>
158<LI><A HREF="#xterm_129">Patch #129 - 2000/2/26 - XFree86 3.9.18a</A>
159<LI><A HREF="#xterm_128">Patch #128 - 2000/2/17 - XFree86 3.9.18</A>
160<LI><A HREF="#xterm_127">Patch #127 - 2000/2/12 - XFree86 3.9.17e</A>
161<LI><A HREF="#xterm_126">Patch #126 - 2000/2/8 - XFree86 3.9.17c</A>
162<LI><A HREF="#xterm_125">Patch #125 - 2000/1/31 - XFree86 3.9.17c</A>
163<LI><A HREF="#xterm_124">Patch #124 - 2000/1/27 - XFree86 3.9.17b</A>
164<LI><A HREF="#xterm_123">Patch #123 - 2000/1/22 - XFree86 3.9.17a</A>
165<LI><A HREF="#xterm_122">Patch #122 - 1999/12/28 - XFree86 3.9.16f</A>
166<LI><A HREF="#xterm_121">Patch #121 - 1999/11/14 - XFree86 3.9.16c</A>
167<LI><A HREF="#xterm_120">Patch #120 - 1999/10/28 - XFree86 3.9.16c</A>
168<LI><A HREF="#xterm_119">Patch #119 - 1999/10/16 - XFree86 3.9.16c</A>
169<LI><A HREF="#xterm_118">Patch #118 - 1999/10/5 - XFree86 3.9.16b</A>
170<LI><A HREF="#xterm_117">Patch #117 - 1999/9/29 - XFree86 3.9.16b</A>
171<LI><A HREF="#xterm_116">Patch #116 - 1999/9/25 - XFree86 3.9.16a</A>
172<LI><A HREF="#xterm_115">Patch #115 - 1999/9/18 - XFree86 3.9.16a</A>
173<LI><A HREF="#xterm_114">Patch #114 - 1999/9/15 - XFree86 3.9.16</A>
174<LI><A HREF="#xterm_113">Patch #113 - 1999/8/15 - XFree86 3.9.15b</A>
175<LI><A HREF="#xterm_112">Patch #112 - 1999/7/17 - XFree86 3.9Pw</A>
176<LI><A HREF="#xterm_111">Patch #111 - 1999/7/10 - XFree86 3.9Pw</A>
177<LI><A HREF="#xterm_110">Patch #110 - 1999/6/29 - XFree86 3.9Pu</A>
178<LI><A HREF="#xterm_109">Patch #109 - 1999/6/23 - XFree86 3.9Pt</A>
179<LI><A HREF="#xterm_108">Patch #108 - 1999/6/19 - XFree86 3.9Ps</A>
180<LI><A HREF="#xterm_107">Patch #107 - 1999/6/12 - XFree86 3.9Pq</A>
181<LI><A HREF="#xterm_106">Patch #106 - 1999/6/9 - XFree86 3.9Pq</A>
182<LI><A HREF="#xterm_105">Patch #105 - 1999/6/5 - XFree86 3.9Pp</A>
183<LI><A HREF="#xterm_104">Patch #104 - 1999/5/30 - XFree86 3.9Pn</A>
184<LI><A HREF="#xterm_103">Patch #103 - 1999/5/14 - XFree86 3.9Pm</A>
185<LI><A HREF="#xterm_102">Patch #102 - 1999/5/12 - XFree86 3.9Pm</A>
186<LI><A HREF="#xterm_101">Patch #101 - 1999/5/10 - XFree86 3.9Pm</A>
187<LI><A HREF="#xterm_100">Patch #100 - 1999/5/3 - XFree86 3.9Pl</A>
188<LI><A HREF="#xterm_99">Patch #99 - 1999/5/2 - XFree86 3.9Pk</A>
189<LI><A HREF="#xterm_98">Patch #98 - 1999/4/26 - XFree86 3.9Pk</A>
190<LI><A HREF="#xterm_97">Patch #97 - 1999/4/25 - XFree86 3.9Pk</A>
191<LI><A HREF="#xterm_96">Patch #96 - 1999/4/19 - XFree86 3.9Pj</A>
192<LI><A HREF="#xterm_95">Patch #95 - 1999/4/5 - XFree86 3.9Ph</A>
193<LI><A HREF="#xterm_94">Patch #94 - 1999/3/27 - XFree86 3.9Pf</A>
194<LI><A HREF="#xterm_93">Patch #93 - 1999/3/14 - XFree86 3.9Pd</A>
195<LI><A HREF="#xterm_92">Patch #92 - 1999/2/5 - XFree86 3.9Nz</A>
196<LI><A HREF="#xterm_91">Patch #91 - 1999/1/21 - XFree86 3.9Nw</A>
197<LI><A HREF="#xterm_90">Patch #90 - 1998/12/13 - XFree86 3.9Nq</A>
198<LI><A HREF="#xterm_89">Patch #89 - 1998/11/20 - XFree86 3.9Nm</A>
199<LI><A HREF="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk and 3.3.2h</A>
200<LI><A HREF="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj and 3.3.2f</A>
201<LI><A HREF="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj and 3.3.2e</A>
202<LI><A HREF="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj and 3.3.2e</A>
203<LI><A HREF="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni and 3.3.2e</A>
204<LI><A HREF="#sync_83">Resync #83 - 1998/10/7 - XFree86 3.3.2e</A>
205<LI><A HREF="#xterm_83">Patch #83 - 1998/8/25 - XFree86 3.9Nb</A>
206<LI><A HREF="#xterm_82">Patch #82 - 1998/7/15 - XFree86 3.9Aj</A>
207<LI><A HREF="#xterm_81">Patch #81 - 1998/7/14 - XFree86 3.9Aj</A>
208<LI><A HREF="#xterm_80">Patch #80 - 1998/6/29 - XFree86 3.9Ai</A>
209<LI><A HREF="#xterm_79">Patch #79 - 1998/6/28 - XFree86 3.9Ai</A>
210<LI><A HREF="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah and 3.3.2</A>
211<LI><A HREF="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah and 3.3.2</A>
212<LI><A HREF="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah and 3.3.2</A>
213<LI><A HREF="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah and 3.3.2</A>
214<LI><A HREF="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag and 3.3.2</A>
215<LI><A HREF="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag and 3.3.2</A>
216<LI><A HREF="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag and 3.3.2</A>
217<LI><A HREF="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag and 3.3.2</A>
218<LI><A HREF="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af and 3.3.2</A>
219<LI><A HREF="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad and 3.3.2</A>
220<LI><A HREF="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad and 3.3.1z</A>
221<LI><A HREF="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad and 3.3.1e</A>
222<LI><A HREF="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad and 3.3.1d</A>
223<LI><A HREF="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad and 3.3.1c</A>
224<LI><A HREF="#xterm_64">Patch #64 - 1998/2/8 - XFree86 3.9Ad</A>
225<LI><A HREF="#xterm_63">Patch #63 - 1998/2/5 - XFree86 3.9Ad</A>
226<LI><A HREF="#xterm_62">Patch #62 - 1998/1/23 - XFree86 3.9Ac</A>
227<LI><A HREF="#xterm_61">Patch #61 - 1998/1/17 - XFree86 3.9Ac</A>
228<LI><A HREF="#xterm_60">Patch #60 - 1998/1/10 - XFree86 3.9Ab</A>
229<LI><A HREF="#xterm_59">Patch #59 - 1998/1/5 - XFree86 3.9Ab</A>
230<LI><A HREF="#xterm_58">Patch #58 - 1998/1/3 - XFree86 3.9Ab</A>
231<LI><A HREF="#xterm_57">Patch #57 - 1997/12/26 - XFree86 3.9Aa</A>
232<LI><A HREF="#xterm_56">Patch #56 - 1997/11/28 - XFree86 3.9x</A>
233<LI><A HREF="#xterm_55">Patch #55 - 1997/11/25 - XFree86 3.9x</A>
234<LI><A HREF="#xterm_54">Patch #54 - 1997/10/17 - XFree86 3.9s</A>
235<LI><A HREF="#xterm_53">Patch #53 - 1997/10/12 - XFree86 3.9r</A>
236<LI><A HREF="#xterm_52">Patch #52 - 1997/9/29 - XFree86 3.9q</A>
237<LI><A HREF="#xterm_51">Patch #51 - 1997/9/15 - XFree86 3.9p</A>
238<LI><A HREF="#xterm_50">Patch #50 - 1997/8/22 - XFree86 3.9m</A>
239<LI><A HREF="#xterm_49">Patch #49 - 1997/8/10 - XFree86 3.9k</A>
240<LI><A HREF="#xterm_48">Patch #48 - 1997/7/26 - XFree86 3.9j</A>
241<LI><A HREF="#xterm_47">Patch #47 - 1997/7/13 - XFree86 3.9i</A>
242<LI><A HREF="#xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</A>
243<LI><A HREF="#xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</A>
244<LI><A HREF="#xterm_44">Patch #44 - 1997/6/22 - XFree86 3.9g</A>
245<LI><A HREF="#xterm_43">Patch #43 - 1997/6/10 - XFree86 3.9d</A>
246<LI><A HREF="#xterm_42">Patch #42 - 1997/6/8 - XFree86 3.2Xl</A>
247<LI><A HREF="#xterm_41">Patch #41 - 1997/5/28 - XFree86 3.2Xl</A>
248<LI><A HREF="#xterm_40">Patch #40 - 1997/5/26 - XFree86 3.2Xl</A>
249<LI><A HREF="#xterm_39">Patch #39 - 1997/5/24 - XFree86 3.2Xl</A>
250<LI><A HREF="#xterm_38">Patch #38 - 1997/5/22 - XFree86 3.2Xh</A>
251<LI><A HREF="#xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</A>
252<LI><A HREF="#xterm_36">Patch #36 - 1997/1/16 - XFree86 3.2r</A>
253<LI><A HREF="#xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</A>
254<LI><A HREF="#xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</A>
255<LI><A HREF="#xterm_33">Patch #33 - 1996/11/24 - XFree86 3.2</A>
256<LI><A HREF="#xterm_32">Patch #32 - 1996/11/21 - XFree86 3.2</A>
257<LI><A HREF="#xterm_31">Patch #31 - 1996/11/16 - XFree86 3.2</A>
258<LI><A HREF="#xterm_30">Patch #30 - 1996/11/16 - XFree86 3.2</A>
259<LI><A HREF="#xterm_29">Patch #29 - 1996/9/15 - XFree86 3.1.2Gb</A>
260<LI><A HREF="#xterm_28">Patch #28 - 1996/8/31 - XFree86 3.1.2F</A>
261<LI><A HREF="#xterm_27">Patch #27 - 1996/8/21 - XFree86 3.1.2Ek</A>
262<LI><A HREF="#xterm_26">Patch #26 - 1996/8/20 - XFree86 3.1.2Ei</A>
263<LI><A HREF="#xterm_25">Patch #25 - 1996/8/18 - XFree86 3.1.2Ei</A>
264<LI><A HREF="#xterm_24">Patch #24 - 1996/8/11 - XFree86 3.1.2Ee</A>
265<LI><A HREF="#xterm_23">Patch #23 - 1996/7/31 - XFree86 3.1.2Ec</A>
266<LI><A HREF="#xterm_22">Patch #22 - 1996/7/26 - XFree86 3.1.2Ec</A>
267<LI><A HREF="#xterm_21">Patch #21 - 1996/7/24 - XFree86 3.1.2Ec</A>
268<LI><A HREF="#xterm_20">Patch #20 - 1996/7/24 - XFree86 3.1.2Ec</A>
269<LI><A HREF="#xterm_19">Patch #19 - 1996/7/21 - XFree86 3.1.2Ec</A>
270<LI><A HREF="#xterm_18">Patch #18 - 1996/7/18 - XFree86 3.1.2Ec</A>
271<LI><A HREF="#xterm_17">Patch #17 - 1996/7/2 - XFree86 3.1.2Eb</A>
272<LI><A HREF="#xterm_16">Patch #16 - 1996/6/25 - XFree86 3.1.2Ea</A>
273<LI><A HREF="#xterm_15">Patch #15 - 1996/5/29 - XFree86 3.1.2E</A>
274<LI><A HREF="#xterm_14">Patch #14 - 1996/5/12 - XFree86 3.1.2Dj</A>
275<LI><A HREF="#xterm_13">Patch #13 - 1996/4/23 - XFree86 3.1.2Df</A>
276<LI><A HREF="#xterm_12">Patch #12 - 1996/3/16 - XFree86 3.1.2Dc</A>
277<LI><A HREF="#xterm_11">Patch #11 - 1996/3/5 - XFree86 3.1.2Db</A>
278<LI><A HREF="#xterm_10">Patch #10 - 1996/2/14 - XFree86 3.1.2Cd</A>
279<LI><A HREF="#xterm_09">Patch #9 - 1996/2/10 - XFree86 3.1.2Cb</A>
280<LI><A HREF="#xterm_08">Patch #8 - 1996/2/9 - XFree86 3.1.2Cb</A>
281<LI><A HREF="#xterm_07">Patch #7 - 1996/1/28 - XFree86 3.1.2n</A>
282<LI><A HREF="#xterm_06">Patch #6 - 1996/1/8</A>
283<LI><A HREF="#xterm_05">Patch #5 - 1996/1/7</A>
284<LI><A HREF="#xterm_04">Patch #4 - 1996/1/7</A>
285<LI><A HREF="#xterm_03">Patch #3 - 1996/1/7</A>
286<LI><A HREF="#xterm_02">Patch #2 - 1996/1/7</A>
287<LI><A HREF="#xterm_01">Patch #1 - 1996/1/6</A>
288</UL>
289
290<H1><A NAME="xterm_239">Patch #239 - 2009/1/8</A></H1>
291<ul>
292	<li>correct a cast in input.c, which broke translation of numeric
293	    keypad codes to pageup, pagedown, etc., on 64-bit platform
294	    (Debian #511138, report by Larry Doolittle).
295</ul>
296
297<H1><A NAME="xterm_238">Patch #238 - 2008/12/30</A></H1>
298<ul>
299	<li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
300	    platforms.
301
302	<li>reset the screen wrapping-flag at the end of
303	    <code>ClearRight</code> to fix an occasional case where the last
304	    character of a scrolled and wrapped line would be cleared (patch by
305	    Joe Peterson).
306
307	<li>modify to use POSIX coding for comparing resource settings such
308	    as <code>locale</code>, to work with locales such as Turkish
309	    (report by M Vefa Bicakci).
310
311	<li>turn on configure <code>paste64</code> feature by default
312	    (request by Jean-Philippe Bernardy).
313	    It is runtime enabled/disabled with <code>allowWindowOps</code>.
314
315	<li>turn on configure <code>tcap-query</code> feature by default,
316	    add resource <code>allowTcapOps</code>
317	    to make this runtime enabled/disabled.
318
319	<li>make <code>OSC 3</code> (change X property, from
320	    <a href="#xterm_110">patch #110</a>)
321	    subject to <code>allowWindowOps</code> resource.
322
323	<li>make VT220 <code>DSR</code> responses inactive in VT100-mode.
324
325	<li>make <code>DECUDK</code> feature inactive in VT100-mode.
326
327	<li>respond to incorrectly formatted <code>DECRQSS</code> with a
328	    cancel.
329
330	<li>add <code>allowFontOps</code> 
331	    resource to allow the fontsize-switching and font query/set
332	    control sequences to be enabled/disabled
333	    (prompted by Debian #510030).
334
335	<li>some code cleanup based on gcc 4.x <code>-Wconversion</code>
336	    warnings in button.c and charproc.c
337
338	<li>modify <code>tcap-query</code> feature to not return data for
339	    shifted cursor-keys when the keyboard type is set to vt220,
340	    since returning the same string for shifted/unshifted keys may
341	    confuse some applications (GenToo #212546).
342</ul>
343
344<H1><A NAME="xterm_237">Patch #237 - 2008/09/14</A></H1>
345<ul>
346	<li>improve usability of TrueType fonts by making the font-size
347	    switching for shifted keypad plus/minus use the
348	    <code>faceSize</code> resources to determine the order of fonts
349	    (when TrueType fonts are used) rather than the bitmap fonts, since
350	    their sizes may not be in the same order (report by H Merijn
351	    Brand)
352
353	<li>remove an optimization of <code>ConfigureNotify</code> events
354	    from <a href="#xterm_236">patch #236</a>
355	    which seems to interfere with passing <code>SIGWINCH</code> to 
356	    applications (GenToo #233836).
357
358	<li>modify handling of <code>altSendsEscape</code> to reset the
359	    <code>eightBitInput</code> mode, like <code>metaSendsEscape</code> 
360	    (patch by Ted Phelps).
361
362	<li>add feature to show the text-cursor as an underline rather than a
363	    box, plus command-line options <code>-uc</code> and
364	    <code>+uc</code> and resource <code>cursorUnderLine</code> to
365	    control the feature (patch by Paul Lampert).
366
367	<li>update config.guess, config.sub
368</ul>
369<H1><A NAME="xterm_236">Patch #236 - 2008/07/27</A></H1>
370<ul>
371	<li>correct memory reallocation when handling a paste of UTF-8 text
372	    from <a href="#xterm_225">patch #225</a> changes
373	    (report/patch by Max Mikhanosha).
374
375	<li>correct allocation of temporary buffer in
376	    <code>xtermFindShell</code> in case the user's <code>$PATH</code>
377	    contains no ":" (report/analysis by Victor Stinner,
378	    Freedesktop.Org Bugzilla #16790).
379
380	<li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to fix
381	    new compile problem exposed by fix for fd_mask (patch by
382	    Hasso Tepper).
383
384	<li>add configure-check for ncurses <code>use_extended_names</code>,
385	    (report by Martin Mokrejs).
386
387	<li>correct computation for toolbar height; layout manager already
388	    takes into account <code>borderWidth</code> resource.
389
390	<li>implement VT320-style SCS (select character set) for ISO Latin-1
391	    supplemental.
392
393	<li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu #230919).
394
395	<li>fix to make <code>luit</code> work with xterm's <code>-ls</code>
396	    option (report/patch by Marius Tolzmann).
397
398	<li>update config.guess, config.sub
399</ul>
400
401<H1><A NAME="xterm_235">Patch #235 - 2008/04/20</A></H1>
402<ul>
403	<li>add control sequences for some of the recent resource/menu
404	    settings:
405	    <ul>
406	    <li><code>altSendsEscape</code> (private mode 1039)
407	    <li><code>keepSelection</code> (private mode 1040)
408	    <li><code>selectToClipboard</code> (private mode 1041)
409	    <li><code>bellIsUrgent</code> (private mode 1042)
410	    <li><code>popOnBell</code> (private mode 1043)
411	    </ul>
412
413	<li>add resource <code>formatOtherKeys</code> to provide an alternate
414	    escape sequence format for the <code>modifyOtherKeys</code> 
415	    resource (request by Paul LeoNerd Evans).
416
417	<li>adjust saved-cursor position if the window is resized while
418	    displaying the alternate screen (Novell #196880, Debian #383384).
419
420	<li>improve pointer-checks to fix a bug exposed by resizing during
421	    initialization under StumpWM window manager
422	    (Fedora Bugzilla #437928).
423
424	<li>modify <code>unselectwindow()</code> to ensure that the mouse
425	    pointer is not hidden after xterm loses focus (report by Jeremy
426	    Huddleston).
427
428	<li>add special check for fd_mask on Mac OS X (report by Jeremy
429	    Huddleston).
430
431	<li>add <code>dylib</code> to autoconf's suffix list used for checking
432	    the result from <code>xmkmf</code>, to work with Mac OS X (report
433	    by Jeremy Huddleston).
434
435	<li>correct initialization of bold- and wide-, wide-bold fonts which
436	    may be set via the <code>utf8Fonts</code> subresource (Debian
437	    #347790).
438</ul>
439
440<H1><A NAME="xterm_234">Patch #234 - 2008/03/02</A></H1>
441<ul>
442	<li>modify <code>sinstall.sh</code> to use POSIX locale to 
443	    bypass GNU ls changes to date-format.
444
445	<li>improved/refined changes for closing bitmap font (patch by
446	    Andrea Odetti).
447
448	<li>improve resize computation for situations where the negotiation
449	    fails, by invoking the xterm widget's core-class resize method
450	    (Debian #365602, patch by Jim Paris).
451
452	<li>restore initialization of terminal's <code>VMIN</code> and
453	    <code>VTIME</code> settings,
454	    from <a href="#xterm_232">patch #232</a> changes
455	    (patch by Matthieu Herrb).
456</ul>
457
458<H1><A NAME="xterm_233">Patch #233 - 2008/02/24</A></H1>
459<ul>
460	<li>add configure check for <code>ttydefaults.h</code>, include if
461	    needed, e.g., for systems where defining
462	    <code>_POSIX_C_SOURCE</code>, etc.,
463	    prevents it from being included via
464	    <code>termios.h</code> (prompted by comments by Robert Delius Royar
465	    and Jeremy Huddleston).
466
467	<li>patches from Alan Coopersmith.  These correspond
468	    to bug-ids on bugs.opensolaris.org 
469	    <dl>
470	    <dt>4029911
471	    <dd>fix a typo in manpage
472	    <dt>4045962
473	    <dd>xterm doesn't properly set ut_syslen
474	    <dt>4192572
475	    <dd>left-left-right misinterpreted as triple click
476	    </dl>
477
478	<li>minor optimization to tab-initialization (patch by
479	    N�meth M�rton).
480
481	<li>fix a case where an incorrect font was freed during initialization
482	    from <a href="#xterm_232">patch #232</a> changes (patch by
483	    Andrea Odetti).
484
485	<li>improve comparison used in <code>SameFont</code> function for
486	    GC-caching (Julien Cristau).
487
488	<li>correct macro name used for default <code>CKILL</code> definition
489	    to work with Mac OS X (report by Jeremy Huddleston).
490</ul>
491
492<H1><A NAME="xterm_232">Patch #232 - 2008/01/30</A></H1>
493<ul>
494	<li>corrected logic in a font-cache used for reverse-video (Debian
495	    #404079).
496
497	<li>add control sequence to alter <code>pointerMode</code> at runtime.
498
499	<li>add limit-checks for rectangle operation parameters (report by
500	    Martin Pirker).
501
502	<li>modify <code>minstall.sh</code> to suppress <code>$MANPAGER</code>
503	    and <code>$PAGER</code> environment variables, which may interfere
504	    with redirecting output of <code>man</code> to a shell variable
505	    (report/patch by Zdenek Sekera).
506
507	<li>do not try to hide mouse pointer in the tek4014 window, fixes
508	    broken "-t" option at startup from
509	    <a href="#xterm_230">patch #230</a> changes
510	    (report by Robert K. Nelson).
511
512	<li>correct datatype used when drawing tek4014 data using xterm
513	    compiled for wide-characters, on big-endian machines (reports
514	    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel, Merle
515	    Reinhart).
516
517	<li>modify to cache the font-names along with the bitmap font data,
518	    to improve comparison of fonts.
519
520	<li>modify to allow building with configure options
521	    <code>--disable-ansi-color</code> and
522	    <code>--disable-leaks</code> (Debian #459817, report/patch by N�meth M�rton).
523
524	<li>modify to allow building with configure options
525	    <code>--enable-wide-chars</code> and
526	    <code>--disable-c1-print</code> (Debian #459816, report/patch by N�meth M�rton).
527
528	<li>add <code>pointerMode</code> resource to control whether and
529	    when the pointer cursor is hidden as the user types.
530
531	<li>simplify initialization of ttyMode- and related characters using
532	    a table.
533
534	<li>modify initialization-logic for stty values that correspond to
535	    ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp, rprnt
536	    flush, werase, lnext).  These were reset to constants for both
537	    termios and legacy interfaces immediately after asking the system
538	    for the existing values since X11R6.1, rather than using them to
539	    provide inherited values.  While the legacy interface has some
540	    constraints, e.g., on HPUX, the POSIX or termios interface should
541	    not.  Your shell may reset these anyway
542	    (prompted by patch by Ed Schouten).
543
544	<li>improve logic for hiding/displaying pointer-cursor (report by
545	    Mark Brukhartz).
546
547	<li>add limit-checks to tabs.c, increase maximum column for setting
548	    tab-stops from 320 to 1024 (report by N�meth M�rton).
549
550	<li>correct length, i.e., number of types of selection targets,
551	    computed by <code>ConvertSelection()</code> when not handling
552	    wide characters for the <code>XA_TARGETS()</code> case.
553	    This leaves an extra Atom on the end of the list which is
554	    not handled by
555	    <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java applications</a>.
556	    The problem was introduced in <a href="#xterm_151">patch #151</a>
557	    (report by David Wood).
558</ul>
559
560<H1><A NAME="xterm_231">Patch #231 - 2008/01/05</A></H1>
561<ul>
562	<li>undo change to <code>getXtermCell()</code> from patch #230
563	    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
564	    Caetano Jimenez Carezzato).
565
566	<li>minor documentation fixes (patch by Slava Semushin)
567
568	<li>add makefile actions to install KOI8RXTerm app-defaults file
569	    (patch by Julien Cristau).
570</ul>
571
572<H1><A NAME="xterm_230">Patch #230 - 2007/12/31</A></H1>
573<ul>
574	<li>add <code>quietGrab</code> resource, which when true, suppresses
575	    cursor repainting when <code>NotifyGrab</code> and
576	    <code>NotifyUngrab</code> event types are received during
577	    change of focus (request by Nicolas George).
578
579	<li>do not treat Unicode BIDI control characters as combining
580	    characters (Debian #457634).
581
582	<li>add <code>koi8rxterm</code>, from Debian.
583
584	<li>add manpage for <code>uxterm</code>, from Debian (Ubuntu #128136,
585	    Debian #438645)
586
587	<li>remove ".xpm" suffixes from Icon filenames in desktop files since
588	    it confuses some lookups following the
589	    <a href="http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">Icon Theme Specification</a>
590	    (report by Slava Semushin)
591
592	<li>correct width-calculation used for adjusting proportional fonts,
593	    to work with wide-characters (Debian #441354).
594
595	<li>fixes/improvements for double-size characters:
596	    <ul>
597	    <li>correct old clipping calculation which used total height of
598		glyphs where ascent was needed.
599
600	    <li>if bold font is unavailable, fall back to normal font
601
602	    <li>adjust to "work" with Xft (which does not support double-width
603		single-height characters). 
604
605	    <li>restore reset of doublesize for a line when it is cleared,
606	        broken in <a href="#xterm-228">patch #228</a>.
607	    </ul>
608
609	<li>modify logic for <code>forceBoxChars</code> resource when using
610	    TrueType fonts to be consistent with bitmap fonts
611
612	<li>modify logic for <code>forceBoxChars</code> resource to make the
613	    "Line-Drawing Characters" menu entry use xterm's line-drawing
614	    characters even asked to draw wide line-drawing characters which
615	    are available in the font.
616
617	<li>modify rectangle-support functions to preserve colors when
618	    filling/erasing (request by Enzo Toscano, to match WRQ Reflection
619	    behavior).
620
621	<li>add getopt-parsing to tcapquery.pl, including feature to test the
622	    extended cursor/editing keys.
623
624	<li>make missing double-width glyphs display as double-width
625	    (Debian #456236).
626
627	<li>change <code>tcap-fkeys</code> and <code>rectangles</code>
628	    configure options to enable them by default.
629
630	<li>hide the mouse pointer while user is typing (request by Rodolfo
631	    Borges).
632
633	<li>extend configure options
634	    <code>--enable-tcap-query</code> and
635	    <code>--enable-tcap-fkeys</code> to
636	    send cursor- and editing-keypad keys modified according to the
637	    keyboard (or termcap) selection for shift, alt, control, meta.
638
639	<li>modify <code>kdch1</code> in termcap, e.g., <code>xterm-r6</code>
640	    to match the terminfo file.
641
642	<li>add <code>-hm</code> option to turn <code>highlightColorMode</code>
643	    on or off.
644
645	<li>add <code>highlightColorMode</code> resource to separate the
646	    new (since <a href="#xterm_225">patch #225</a>) highlighting with both text- and
647	    background-colors (prompted by report/example by Thomas Wolff).
648
649	<li>add <em>Keep Selection</em> menu entry to turn the 
650	    <code>keepSelection</code> resource on/off at runtime.
651
652	<li>add <code>keepSelection</code> resource, which when enabled,
653	    tells xterm to retain the X selection even after it stops
654	    highlighting it (patch by Sergey Vlasov).
655
656	<li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to allow
657	    disabling all types of modified-keys that the
658	    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.
659
660	<li>move include for <code>&lt;xtermcap.h&gt;</code> in
661	    <code>resize.c</code> to avoid redefinition of <code>termios</code>
662	    structure on OpenSolaris (report by Rahul Gopinathan Nair).
663
664	<li>extend terminfo building blocks for modified editing keys to
665	    include all six keys.
666
667	<li>synchronize terminfo with ncurses (report by Stephane Chazelas):
668	    <ul>
669	    <li>equate <code>xterm-xfree86</code>
670	        and <code>xterm-xf86-v44</code>.
671	    <li>add ncurses extensions OTbs, AX, for termcap conversions.
672	    <li>make old/legacy entries such as
673	        <code>xterm-24</code>, <code>xterm-65</code>
674	        and aliases <code>xterms</code>, <code>vs100</code>
675		inherit from <code>xterm-old</code>.
676	    <li>make <code>xterm-r5</code> and <code>xterm-r6</code> the
677	        same, ignoring historical errors in X Consortium's version.
678	    </ul>
679
680	<li>fix an ifdef in logic for selecting regular
681	    expressions while in a narrow-character locale (Debian #449227).
682</ul>
683
684<H1><A NAME="xterm_229">Patch #229 - 2007/8/12</A></H1>
685<ul>
686	<li>override locale in minstall.sh;
687	    change in <a href="#xterm_226">patch #226</a>
688	    does not work in UTF-8 locale (report by Zdenek Sekera).
689
690	<li>undo an incorrect fix for a memory leak
691	    in <a href="#xterm_209">patch #209</a> (Debian #435858).
692</ul>
693
694<H1><A NAME="xterm_228">Patch #228 - 2007/7/22</A></H1>
695<ul>
696	<li>modify configure script to permit combining
697	    <code>--with-utempter</code>
698	    and <code>--enable-setuid</code>, e.g., for using xterm with 
699	    the utempter library on FreeBSD (report by Andriy Gapon).
700
701	<li>modify "Quit" menu entry to override the <code>-hold</code>
702	    command-line option.
703
704	<li>add a check in the startup error-reporting to avoid writing to
705	    pipe when it has not been opened.  In that case, report errors
706	    directly to the standard error.
707
708	<li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
709	    <a href="#xterm_205">patch #205</a>
710	    (report by Kalle Olavi Niemitalo).
711
712	<li>modify <code>88colors2.pl</code> and <code>256colors2.pl</code>,
713	    adding <code>-r</code>
714	    option to reverse the palettes for the extended colors.
715
716	<li>check for partial overwrite or deletion of multi-column characters
717	    in several cases, e.g., insert-character, delete-character,
718	    etc.,
719	    and fill the remainder of the cells used by the multi-column
720	    characters affected with blanks.
721
722	<li>correct character-class codes in wide-character mode for characters
723	    215, 247 (see also <a href="#xterm_165">patch #165</a>).
724
725	<li>fix missing assignment for UTF-8 parsing in widget initialization
726	    (Debian #403360).
727
728	<li>correct index expression used to set line-wrapping flag, making
729	    selection from scrollback work consistently (Debian #430121,
730	    report by Vincent Lefevre).
731
732	<li>amend changes to handshake in
733	    <a href="#xterm_226">patch #226</a>
734	    to accommodate Solaris, which relies on the extra setting of
735	    the terminal size after I/O initialization.
736	    Do this by adding new resource <code>ptySttySize</code>,
737	    which is false for Linux and MacOS X, i.e., true for
738	    for Solaris and other SVR4 platforms, as well as FreeBSD
739	    (reports by David Wood, Renato Botelho).
740
741	<li>check for X events after cursor-left, and carriage return,
742	    consistent with indexing operations
743	    (comments by Vegard Nossum and Ingo Molnar on a mailing-list).
744
745	<li>initialize the <code>.keyboard</code> structure,
746	    needed for some platforms (such as Solaris) after
747	    <a href="#xterm_227">patch #227</a> fixes for keysyms
748	    (patch by David Wood).
749
750	<li>update config.guess, config.sub
751</ul>
752
753<H1><A NAME="xterm_227">Patch #227 - 2007/6/27</A></H1>
754<ul>
755	<li>exclude the Intel compiler from the extra gcc warning options
756	    added in 
757	    <a href="#xterm_226">patch #226</a>.
758
759	<li>modify change for Debian #422521
760	    from <a href="#xterm_226">patch #226</a>
761	    to work with configurations where the X server does not
762	    recognize
763	    the <code>XF86Paste</code>
764	    or <code>SunPaste</code> keysyms (report by Paolo Pumilia).
765
766	<li>fix incorrect free in fix for "Selection" menu entry in
767	    <a href="#xterm_226">patch #226</a>.
768</ul>
769
770<H1><A NAME="xterm_226">Patch #226 - 2007/6/17</A></H1>
771<ul>
772	<li>add configure check to use <code>-Wno-unknown-pragmas</code> for
773	    Solaris, and a few other new gcc warning options to address
774	    regressions in its warning options.
775
776	<li>add sample desktop and icon files, along with configure options for
777	    manipulating them.
778
779	<li>fix an infinite loop when showing a 2-column character in a
780	    1-column screen (Debian #426863).
781
782	<li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
783	    default translations (Debian #422521, patch by Bernhard R Link).
784
785	<li>update wcwidth.c (partly based on/prompted by mailing list
786	    comment).
787
788	<li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and Xorg
789	    7.1 keysymdef.h file.
790
791	<li>improve <code>gen-pc-fkeys.pl</code>, making it show all of the
792	    building-block terminfo entries used by xterm.
793
794	<li>correct strings used for modifiers applied to F1-F4 in xterm+pcf1
795	    terminfo entry.
796
797	<li>improve session management by adding the ICE connection number
798	    to the <code>select</code> call rather than waking up once per
799	    second (patch by Miroslav Lichvar).
800	    
801	<li>add environment variable <code>$XTERM_LOCALE</code> to help
802	    with shell initialization, e.g., to set a specific locale for
803	    xterm on systems where a global locale is set in the shell
804	    startup scripts.
805
806	<li>add resource settings <code>mkSampleSize</code> and
807	    <code>mkSamplePass</code>
808	    to modify the <code>mkWidth</code> added
809	    in <a href="#xterm_201">patch #201</a>.
810	    In <a href="#xterm_202">patch #202</a>,
811	    xterm would also check if the system's
812	    <code>wcwidth</code> matched its built-in tables
813	    "well enough" to be used when <code>mkWidth</code> was false,
814	    and if not would use the built-in tables anyway.
815	    These resources allow the user to customize the decision
816	    (prompted by comments by Emanuele Giaquinta)
817
818	<li>modify logic which resets/updates the screensize on the child
819	    process side of the pseudo-terminal to do this only if a
820	    successful handshake was received, e.g., as determined by
821	    the <code>waitForMap</code> resource (prompted by reports
822	    by Emanuele Giaquinta and Bernhard R Link, but see also
823	    <a href="#xterm_177">patch #177</a> and
824	    <a href="#xterm_159">patch #159</a>.
825
826	<li>improve permissions logic when closing pseudo-terminal
827	    (Debian #12261,
828	     patch by Nathanael Nerode,
829	     analysis by Richard Braakman).
830
831	<li>add resource <code>highlightReverse</code> which controls whether
832	    xterm will allow selection highlighting to hide reverse-video
833	    or use the older behavior which inverts the foreground and
834	    background colors when selected text with reverse-video attribute
835	    (report by Adam M Costello, comments by Victor Vaile).
836
837	<li>restore a special case for cursor-color in
838	    <code>ReverseVideo()</code>
839	    lost in rewrite for <a href="#xterm_224">patch #224</a>
840	    (report by Adam Sulmicki).
841
842	<li>correct initialization for menu entry for <code>bellIsUrgent</code> 
843	    (patch by Emanuele Giaquinta).
844
845	<li>correct length of underlining for double-width Xft fonts
846	    (report by Shidai Liu "Leo").
847
848	<li>correct clipping for double-width Xft fonts
849	    (report by Shidai Liu "Leo").
850
851	<li>modify initialization for <code>italicULMode</code> to avoid
852	    <code>XftPatternBuild</code> reusing bold attributes
853	    (report by Shidai Liu "Leo").
854
855	<li>add a check in case someone tries to call the
856	    <code>popup-menu()</code> action on a menu which is not initialized
857	    (Debian #426364).
858
859	<li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by Peter
860	    Bray).
861
862	<li>improve guess for X's manpage section in <code>minstall.sh</code>,
863	    (prompted by comment by Miroslav Lichvar).
864
865	<li>modify <code>minstall.sh</code> to handle manpage patch with more
866	    than one dot (patch by Miroslav Lichvar).
867
868	<li>fix configure message for --disable-setgid option (patch by
869	    Miroslav Lichvar).
870
871	<li>add <code>allowTitleOps</code> resource to allow users to prevent
872	    the title- and icon-names from changing (request by John Bashinski).
873
874	<li>fix "spawn-new-terminal" action, for the case where no parameter
875	    is passed to the action (patch by Daniel Colascione).
876
877	<li>fix error-checking on internal font switching for "Selection"
878	    menu entry (Debian #421523).
879
880	<li>amend select/paste change from
881	    <a href="#xterm_225">patch #225</a>
882	    by limiting it to non-UTF-8/non-KOI8-R encoding (Debian #420974).
883
884	<li>add workaround for groff ".URL" codes which are not present in
885	    some commonly-used bitmap fonts (Debian #418324).
886</ul>
887
888<H1><A NAME="xterm_225">Patch #225 - 2007/3/24</A></H1>
889<ul>
890	<li>add <code>useClipping</code> resource to allow clipping to be
891	    disabled.
892
893	<li>use <code>XftDrawSetClipRectangles</code>
894	    to work around Xft pixel-trash (report by Reuben Thomas).
895
896	<li>add configure option <code>--enable-tcap-fkeys</code>, and
897	    resource <code>tcapFunctionKeys</code>, which can be used
898	    to tell xterm to use function-key definitions from the termcap
899	    (or terminfo) which it uses to set $TERM on startup.
900
901	<li>add resources <code>altIsNotMeta</code> and
902	    <code>altSendsEscape</code> to allow one to use Alt-keys like the
903	    meta-key even if they are bound to different keycodes (prompted by
904	    discussion with Daniel Jacobowitz).
905
906	<li>revert a change from <a href="#xterm_216">patch #216</a>
907	    that unnecessarily made the meta modifier override
908	    the <code>eightBitInput</code> resource if the alt- and
909	    meta-modifiers happened to overlap
910	    (report/patch by Daniel Jacobowitz).
911
912	<li>correct associated font for active icon for colored text
913	    (broken in <a href="#xterm_224">patch #224</a>).
914
915	<li>correct ifdef's for Darwin (patch by Emanuele Giaquinta).
916
917	<li>add <code>highlightTextColor</code> resource, and options
918	    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
919	    (adapted from patch by Victor Vaile).
920
921	<li>revise <code>find_closest_color()</code> function to address
922	    concern about borrowing from <code>Tcl/Tk</code>
923	    (request by Dan McNichol).
924
925	<li>add "spawn-new-terminal" action, which can be assigned to key
926	    translation, allowing one to spawn a new copy of xterm using
927	    the current process' working directory (adapted from patch
928	    by Daniel Colascione).
929
930	<li>improve select/paste between UTF-8 and Latin1 xterms by adapting
931	    the translations from <a href="#xterm_185">patch #185</a>.
932	    Extend that to include Unicode fullwidth forms FF00-FF5E.
933	    Also modify select/paste of DEC line-drawing characters in
934	    Latin1 mode to use ASCII characters.
935
936	<li>add "Enable Bell Urgency" to VT Options menu, removed "Enable
937	    Margin Bell".
938
939	<li>add <code>bellIsUrgent</code> resource to control whether the
940	    Urgency hint is set/reset.
941
942	<li>modify to set Urgency window manager hint on bell, reset it on
943	    Focus-In event (patch by Emanuele Giaquinta).
944
945	<li>add <code>--disable-setgid</code> configure option (request by
946	    Miroslav Lichvar).
947
948	<li>fix a possible infinite loop in last change to
949	    <code>dabbrev-expand()</code> (patch by Emanuele Giaquinta).
950
951	<li>modify initialization to set the pty erase value if the
952	    <code>erase</code> is set in the <code>ttyModes</code> resource. 
953	    This overrides the <code>ptyInitialErase</code> setting (request by
954	    Llu&#237;s Batlle i Rossell).
955
956	<li>add <code>initialFont</code> resource to xterm widget, like
957	    tek-widget (Debian #299669).
958
959	<li>amend change to <code>boldMode</code> from
960	    <a href="#xterm_223">patch #223</a> for Debian #347790.
961	    As noted in Debian #412599, that made xterm
962	    no longer match the documented behavior.
963	    Add new resource <code>alwaysBoldMode</code>
964	    to allow overriding the comparison
965	    between normal/bold fonts when deciding whether to use overstriking
966	    to simulate bold fonts.
967
968	<li>restore background color in ClearCurBackground(), omitted in
969	    changes for <a href="#xterm_223">patch #223</a> (report by
970	    Miroslav Lichvar).
971
972	<li>correct logic for repainting double-width TrueType characters
973	    (prompted by test-case for Novell #246573).
974
975	<li>add a check to avoid trying to repeat a multibyte character
976	    (report by Sami Farin).
977
978	<li>modify parameter to <code>XftNameParse()</code> to select wide
979	    face-name as needed, to make <code>-fd</code> option work (patch by
980	    Mike Fabian, Novell #246573).
981
982	<li>correct logic for mouse highlight tracking's abort sequence,
983	    broken in a restructuring modification from
984	    <a href="#xterm_224">patch #224</a>
985	    (report by Thomas Wolff).
986
987	<li>revert the simplification of blinking cursor, since that broke
988	    the xor'ing introduced in <a href="#xterm_193">patch #193</a>
989	    (report by Thomas Wolff).
990</ul>
991
992<H1><A NAME="xterm_224">Patch #224 - 2007/2/11</A></H1>
993<ul>
994	<li>simplify code for set/reset mode for blinking cursor 
995	    (patch by Emanuele Giaquinta).
996
997	<li>modify <code>dabbrev-expand()</code> to restart after the last
998	    match (patch by Emanuele Giaquinta).
999
1000	<li>add control sequences for enabling/disabling focus in/out event
1001	    reporting (request by Bram Moolenaar).
1002
1003	<li>improve startup performance of menus by adding resource setting
1004	    <code>menuLocale</code> which can be set to override X's
1005	    lengthy initialization of fontsets - which are seldom used
1006	    for the <code>Xaw</code> popup menus (adapted from patch by
1007	    Dave Coffin).
1008
1009	<li>modify do_precomposition() function and make-compose.sh to handle
1010	    21-bit codes vs the 16-bit codes those were written for, and
1011	    fix a few mis-sorted codes
1012	    (patch by Thomas Wolff).
1013
1014	<li>handle special case in <code>-cjk_width</code>
1015	    which unexpectedly caused a character's width to change when
1016	    a combining character
1017	    (patch by Thomas Wolff)
1018
1019	<li>fix build for GNU/KFreeBSD (Debian #40111).
1020
1021	<li>consolidate GC creation/updating into a single module to reduce GC
1022	    manipulation (prompted by Debian #389476, though a complete fix
1023	    would involve optimizing the scrolling behavior).
1024
1025	<li>fix ifdef of xtermCellWidth(), which broke for a case without
1026	    TrueType and without wide-character support (report by Martin
1027	    Pirker).
1028
1029	<li>undo a comparison in <code>handle_translated_exposure</code> which
1030	    did not work due to X server optimization.  That caused the
1031	    inner border to be repainted with unexpected colors when handling
1032	    a repaint, e.g., after switching to/from another workspace
1033	    (Debian #401726, Redhat Bugzilla #223027).
1034
1035	<li>allow <code>-cr</code> option to override cursor color when
1036	    <code>-ah</code> option is used (Debian #406502).
1037
1038	<li>add a note in xterm's manpage explaining that the <code>-bw</code>
1039	    (or <code>-w</code>) option is only used by the window manager,
1040	    if at all (Debian #405043).
1041
1042	<li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code> work with
1043	    <code>selectToClipboard</code> resource.
1044
1045	<li>correct length calculation for <code>Selection</code> entry of
1046	    <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
1047	    actual selection length since X11R4.
1048
1049	<li>fixes for fontsize changes with <code>-fa</code> option (Redhat
1050	    Bugzilla #222340).
1051</ul>
1052
1053<H1><A NAME="xterm_223">Patch #223 - 2006/11/30</A></H1>
1054<ul>
1055	<li>add <code>--enable-rectangles</code> configure option (request by
1056	    Martin Pirker).
1057
1058	<li>correct default value for <code>--with-symlink</code> configure
1059	    option.
1060
1061	<li>fixes configure script macros that use <code>$X_EXTRA_LIBS</code>.
1062
1063	<li>modify configure script to provide support for pre-package config
1064	    versions of Xft (FreeType).
1065
1066	<li>add the Xaw scrollbar translations resource to the xterm manpage,
1067	    add an example showing how to change the mouse button assignments
1068	    (Debian #382225).
1069
1070	<li>amend a change from <a href="#xterm_216">patch #216</a>,
1071	    which omitted modifiers for control, meta, etc., if they were
1072	    mixed with any other modifiers.  The intent of the change was
1073	    to avoid confusion with
1074	    <code>XK_Mode_switch</code>
1075            and <code>XK_ISO_Level3_Shift</code>;
1076	    the check is now done explicitly (report by Daniel Jacobowitz).
1077
1078	<li>interpret a negative value for <code>modifyCursorKeys</code>
1079	    or <code>modifyFunctionKeys</code> resources to disable the
1080	    respective features (prompted by Novell #220728).
1081
1082	<li>amend cell-width computation for FreeType from
1083	    <a href="#xterm_217">patch #217</a>, which did not work
1084	    for VT100 line-drawing characters (Debian #399638, GenToo #147111).
1085
1086	<li>amend a change from <a href="#xterm_216">patch #216</a>,
1087	    which made alt-modifier on a cursor-key send a modifier parameter
1088	    (Novell #220728).
1089
1090	<li>correct an off-by-one that made DECCRA not work (report/patch by
1091	    Martin Pirker).
1092
1093	<li>revert an optimization in SGR_Foreground() and SGR_Background
1094	    from <a href="#xterm_209">patch #209</a> (Debian #347722,
1095	    analysis by Pierre Lombard).
1096
1097	<li>fix for <code>boldMode</code> (Debian #347790, patch by Tim Pope).
1098
1099	<li>amend fix for <code>-iconic</code> in
1100	    <a href="#xterm_208">patch #208</a>,
1101	    which broke the positioning part of <code>-geom</code> with toolbar
1102	    configuration.
1103
1104	<li>fix to prevent indexing error in regular expressions (patch
1105	    by Dennis Schneider).
1106
1107	<li>fixes to make the internalBorder area not change color due to
1108	    reverseVideo and/or related exposure events.  The latter was a very
1109	    old bug exposed in <a href="#xterm_196">patch #196</a> (report by
1110	    Neil Hoggarth, also Debian #397624).
1111</ul>
1112
1113<H1><A NAME="xterm_222">Patch #222 - 2006/10/17</A></H1>
1114<ul>
1115	<li>minor optimization for recoloring cursor via dynamic colors.
1116
1117	<li>fix a bug caused by restructuring of tek4014 widget (report by Paul
1118	    Schenkeveld)
1119</ul>
1120
1121<H1><A NAME="xterm_221">Patch #221 - 2006/10/1</A></H1>
1122<ul>
1123	<li>fix for regular expressions:  the code which converted the column
1124	    offset within a line did not check properly for the end of a line,
1125	    and if allowed to match the whole line, would select the beginning
1126	    of the following line.  If the following line were empty, in turn
1127	    it would select from the next, etc.  (report by Sean
1128	    Reifschneider).
1129
1130	<li>minor optimization of color allocation to avoid repainting the
1131	    screen if the corresponding color had not been allocated.
1132
1133	<li>fixes for vttests/256colors.pl (report by Egmont Koblinger).
1134
1135	<li>add terminfo building block entries for modifiers of the 6-key
1136	    editing keypad.
1137
1138	<li>fix for initialization of tek4014 which broke on QNX 6.1
1139</ul>
1140
1141<H1><A NAME="xterm_220">Patch #220 - 2006/9/10</A></H1>
1142<ul>
1143	<li>make "xterm -t -iconic" work as expected, i.e., start in tek4014
1144	    mode, but iconified.
1145</ul>
1146
1147<H1><A NAME="xterm_219">Patch #219 - 2006/9/4</A></H1>
1148<ul>
1149	<li>some internal restructuring to separate data for vt100 and tek4014
1150	    widgets.
1151
1152	<li>fix a few cases where form-events would be seen by the vt100
1153	    widget when built with the toolbar configuration.
1154</ul>
1155
1156<H1><A NAME="xterm_218">Patch #218 - 2006/8/27</A></H1>
1157<ul>
1158	<li>change behavior when encountering an illegal character in a title
1159	    string.  Rather than reject the string, translate illegal
1160	    characters into "?" and use the string (requested by Thomas Wolff).
1161
1162	<li>improve checks for nonprinting characters in title strings
1163	    (report by Samuel Thibault).
1164
1165	<li>correct typo in menu labels, changing <code>print-redirect</code>
1166	    to <code>print-redir</code>, making it follow the manpage and
1167	    match the usage for the actions table (report by Samuel Thibault).
1168
1169	<li>correct a typo that prevents building with some older systems such
1170	    as Solaris 2.6 (report by Julian Bridle).
1171</ul>
1172
1173<H1><A NAME="xterm_217">Patch #217 - 2006/8/20</A></H1>
1174<ul>
1175	<li>minor improvements to FreeType font layout and drawing.
1176
1177	<li>add a check in the ptyInitialErase logic to ensure that the
1178	    termcap was read (Redhat Bugzilla #201246).
1179
1180	<li>limit changes for reverse-video from
1181	    <a href="#xterm_216">patch #216</a> to cases where the
1182	    reverse-video command-line option is used
1183	    (report by Zdenek Sekera).
1184
1185	<li>correct bitmap-derived pointsizes for TrueType fonts; they should
1186	    be proportional to the square root of the area of the bitmap
1187	    fonts.
1188
1189	<li>add resources to specify pointsize of TrueType fonts (request
1190	    by Reuben Thomas).
1191
1192	<li>improve install of terminfo by filtering out harmless messages
1193	    related to extended capabilities.  At the same time, use ncurses
1194	    tic to compile the extended capabilities if possible
1195	    (report by Zdenek Sekera).
1196
1197	<li>update "xterm+pcfkeys" terminfo entry to correspond to
1198	    <a href="#xterm_216">patch #216</a>.
1199</ul>
1200
1201<H1><A NAME="xterm_216">Patch #216 - 2006/8/3</A></H1>
1202<ul>
1203	<li>improve handling of <code>ConfigureNotify</code> events by checking
1204	    if there are further events in the queue which obsolete the current
1205	    one (adapted from rxvt 2.7.5).  Only the normal normal
1206	    (non-toolbar) configuration is addressed in this patch.
1207
1208	<li>several changes to terminfo:
1209	<ul>
1210	    <li>incorporate some minor changes from ncurses to help keep these
1211	        synchronized:
1212	    <dl>
1213		<dt>2005-02-26
1214		<dd>modify sgr/sgr0 in xterm-new to improve tgetent's derived "me".
1215		<dt>2006-02-18
1216		<dd>remove ncv flag from xterm-16color
1217		<dt>2006-06-24
1218		<dd>improve xterm-256color by combining the 16-color
1219		setaf/setab strings with SGR 48,
1220		and cancelling the setf/setb strings.
1221	    </dl>
1222	    <li>use extended function-key definitions for xterm-sun, xterm-sco
1223	        entries.
1224
1225	    <li>add terminfo building-blocks corresponding to the
1226	        <code>modifyFunctionKeys</code>
1227	        and <code>modifyCursorKeys</code> resources.
1228	</ul>
1229
1230	<li>ifdef'd Sun function-key feature to make it optional, like HP and
1231	    SCO.
1232
1233	<li>extend table for termcap-query feature through F63, and updated
1234	    tcapquery.pl to match.
1235
1236	<li>modify logic for function-key input processing to allow function
1237	    key numbers which are constructed by control- and shift-modifiers
1238	    to extend beyond X's hardcoded limit of 35.
1239
1240	<li>add control sequence to set or reset the <code>eightBitInput</code>
1241	    resource.
1242
1243	<li>change default resource <code>modifyFunctionKeys</code> to 2
1244	    to avoid sending SS3 with parameters (report by Kalle Olavi Niemitalo).
1245
1246	<li>add control sequences for setting and resetting the values of the
1247	    <code>modifyCursorKeys</code>,
1248	    <code>modifyFunctionKeys</code> and
1249	    <code>modifyOtherKeys</code> resources.
1250
1251	<li>add <code>modifyFunctionKeys</code> resource like
1252	    <code>modifyCursorKeys</code>.
1253	    Setting this to zero allows one to use the control- and
1254	    shift-modifiers to construct function key strings,
1255	    for terminals using many function keys,
1256	    e.g., for <code>xterm-sun</code> or <code>xterm-sco</code>.
1257
1258	<li>modify screen responses and function-key logic to reduce the
1259	    number of writes made, to make it less likely that an application
1260	    would read only part of a function-key in a read operation
1261	    (suggested by John E Urbanczyk).
1262
1263	<li>add <code>combiningChars</code> resource, which allows the user to
1264	    specify the maximum number of combining characters that xterm will
1265	    store for each cell in wide-character mode (prompted by request by
1266	    Markus Kuhn to increase the limit from 2).
1267
1268	<li>improve logic in <code>metaSendsEscape</code> in case the Alt-
1269	    and Meta-keys are mapped to different modifiers.  That allows one
1270	    to use the Alt-key for shifting in the <code>eightBitInput</code>
1271	    and use a Meta-key modifier to prefix the result with an
1272	    <code>&lt;ESC&gt;</code>.
1273
1274	<li>improve <code>modifyCursorKeys</code> logic to prevent it from
1275	    modifying codes where <code>eightBitInput</code> or
1276	    <code>metaSendsEscape</code> are set
1277	    (request by Dan Nicolaescu).
1278
1279	<li>improve <code>modifyCursorKeys</code> logic to prevent it from
1280	    changing the user input when other modifiers such as AltGr are used
1281	    (report by Thomas Wolff).
1282
1283	<li>extend <code>modifyCursorKeys</code> to include the numeric keypad
1284	    when in application mode.
1285
1286	<li>improve <code>-reverse</code> (<code>-rv</code>) option
1287	    (patch by Jason Vas Dias, Redhat #189161).
1288
1289	<li>workaround for color resources on Fedora-5 which made the toolbar
1290	    colors inconsistent.
1291
1292	<li>corrected calls used for <code>--disable-setuid</code> option,
1293	    add debugging traces to help diagnose this area.
1294
1295	<li>modify configure script to ensure that <code>USE_UTMP_SETGID</code>
1296	    is defined only if the check for POSIX saved-ids succeeds, or
1297	    corresponds to one of the BSD systems known to have a workable
1298	    <code>setegid</code> function.
1299
1300	<li>extend configure check for POSIX saved-ids to include BSD systems
1301
1302	<li>modify CF_SYSV configure macro to work with gcc on HPUX 10.20,
1303	    whose broken
1304	    <code>&lt;term.h&gt;</code> relies on including
1305	    <code>&lt;termios.h&gt;</code>.
1306
1307	<li>change order of setuid/setgid ifdef checks in Imakefile to make
1308	    it simpler to produce a setgid install, allowing the latter to
1309	    override the former (prompted by an XFree86 commit).
1310
1311	<li>adapt a fix for setgid support from subsequent XFree86 changes
1312	    (patch by Emanuele Giaquinta).
1313
1314	<li>further improve setgid support (patches by Emanuele Giaquinta).
1315</ul>
1316
1317<H1><A NAME="xterm_215">Patch #215 - 2006/6/19 - XFree86 4.6.99.2</A></H1>
1318<ul>
1319	<li>improve setgid support by exploiting the saved-ids feature on which
1320	    it relies (patch by Emanuele Giaquinta).
1321
1322	<li>make the <code>modifyOtherKeys</code> resource disabled by default
1323	    since the intermediate setting altered some common bindings
1324	    (report by Emanuele Giaquinta).
1325</ul>
1326
1327<H1><A NAME="xterm_214">Patch #214 - 2006/6/18 - XFree86 4.6.99.2</A></H1>
1328<ul>
1329	<li>modify makefile rule for ctlseqs.txt to strip backspace/overstrikes,
1330	    and add a copy of ctlseqs.txt to the source tarballs (requests by
1331	    Bram Moolenaar, Emanuele Giaquinta).
1332
1333	<li>add <code>modifyOtherKeys</code> resource, analogous to the
1334	    <code>modifyCursorKeys</code> resource.  This applies to keys that
1335	    normally would transmit nothing when a given modifier is applied
1336	    (request by Dan Nicolaescu).
1337
1338	<li>add <code>default</code> to the acceptable values for the
1339	    <code>keyboardType</code> resource, allowing the <code>-kt</code>
1340	    command-line option to override app-defaults resource settings of
1341	    <code>sunKeyboard</code>, etc.
1342
1343	<li>correct ifdef's for <code>XkbBell()</code> which used the header
1344	    file but not the corresponding function in
1345	    <a href="#xterm_175">patch #175</a>
1346	    (report by Zach Beane).
1347
1348	<li>add xterm manpage to the <code>--with-symlink</code> logic.
1349
1350	<li>regenerated configure script to omit some debugging artifacts of
1351	    the SIGWINCH test.
1352
1353	<li>fix <code>install-man</code> rule in <code>Makefile.in</code> to
1354	    avoid including the <code>$(DESTDIR)</code> value in substitutions
1355	    made on the manpages (patch by Emanuele Giaquinta).
1356
1357	<li>improved fix for cursor deallocation
1358	    (Redhat #186935, patch by Jason Vas Dias).
1359
1360	<li>improve checks for setuid/setgid operation to accommodate limited
1361	    resource management in some kernels (GenToo #193238).
1362
1363	<li>update config.guess, config.sub
1364</ul>
1365
1366<H1><A NAME="xterm_213">Patch #213 - 2006/4/30 - XFree86 4.5.99.905</A></H1>
1367<ul>
1368	<li>minor optimization to cell layout; will use that to simplify some
1369	    logic and allow for more than two combining characters in another
1370	    patch.
1371
1372	<li>add <code>utf8Latin1</code> resource to make optional the
1373	    feature from <a href="#xterm_209">patch #209</a> which
1374	    allowed ISO-8859-1 fonts to be used in cases
1375	    where a wide font was given.  This would only
1376	    work for the special case where the user normally used Latin-1
1377	    and wanted some wide characters (report by Rostislav Krasny).
1378
1379	<li>add <code>utf8Title</code> resource to manpage (Novell #52655).
1380
1381	<li>fix typo in table entry for <code>utf8Title</code> resource which
1382	    made it treated as an integer rather than boolean (patch by Mike
1383	    Fabian, Novell #52655).
1384</ul>
1385
1386<H1><A NAME="xterm_212">Patch #212 - 2006/4/9 - XFree86 4.5.99.904</A></H1>
1387<ul>
1388	<li>improve description of <code>forceBoxChars</code> in manpage
1389	    (discussion with Joe Wells).
1390
1391	<li>set checkmark for "Select To Clipboard" menu entry on startup,
1392	    from resource setting.
1393
1394	<li>update manpage to note that <code>*customization:color</code> is
1395	    not needed, though it is useful (Redhat #188034).
1396
1397	<li>add underscore to sample pattern for URL in <code>XTerm.ad</code>
1398	    (Redhat #188037).
1399
1400	<li>modify install rule for manpage to use the configured app-defaults
1401	    directory (Redhat #188031).
1402
1403	<li>add checks in <code>releaseCursorGCs()</code> to ensure GC's are
1404	    distinct, needed since memory leak changes for
1405	    <a href="#xterm_208">patch #208</a>
1406	    (Redhat #186935, patch by Jason Vas Dias).
1407
1408	<li>modify <code>Imakefile</code> definitions to allow
1409	    <code>imake</code> to set <code>InstallXtermSetGID</code>.
1410	    Add symbol <code>InstGidFlags</code>.
1411
1412	<li>add configure script check to ensure that SIGWINCH if defined even
1413	    when headers undefine this as a side-effect of
1414	    <code>_POSIX_C_SOURCE</code>, etc.
1415
1416	<li>resync with XFree86 CVS:
1417	<ul>
1418	   <li>ifdef-out chmod of terminal device for OS/2 (XFree86 #1663,
1419	       Frank Giessler).
1420	   <li>move new <code>Imakefile</code> chunk which defines
1421	       <code>$(CSGIDFLAGS)</code> before DEFINES,
1422	       e.g., for IRIX64 (Marc La France).
1423	</ul>
1424</ul>
1425
1426<H1><A NAME="xterm_211">Patch #211 - 2006/3/19 - XFree86 4.5.99.902</A></H1>
1427<ul>
1428	<li>modify prefix/suffix transformation in makefile to make
1429	    <code>uxterm</code> install properly on Cygwin.
1430
1431	<li>restore the sizeof-comparison for <code>struct lastlog</code>
1432	    added in <a href="#xterm_208">patch #208</a>,
1433	    rendered (mostly) obsolete in <a href="#xterm_210">patch #210</a>,
1434	    since an imake configuration can still turn that code on
1435	    (prompted by comment by David Dawes).
1436
1437	<li>remove feature for <code>FreeBSDArchitecture</code> from
1438	    <code>Imakefile</code> which would install xterm using the
1439	    <code>utmp</code> group since a standard FreeBSD system has no such
1440	    group, though it would support this configuration.  FreeBSD
1441	    packager uses the <code>configure</code> script, which can make the
1442	    appropriate check (prompted by comment by David Dawes).
1443
1444	<li>fixes for gcc redefinition warnings when built using imake
1445	    (reports by David Dawes, Marc La France).
1446</ul>
1447
1448<H1><A NAME="xterm_210">Patch #210 - 2006/3/12 - XFree86 4.5.99.902</A></H1>
1449<ul>
1450	<li>add configure check for workaround in
1451	    <a href="#xterm_208">patch #208</a>
1452	    for Solaris' inconsistent support for struct lastlog to quiet
1453	    compiler warnings
1454	    (prompted by David Dawes commit message for XFree86).
1455
1456	<li>fixes for BASE64 selection manipulation,
1457	    e.g., ensure that the string
1458	    terminator is written after cut-buffer data (report by Joe Allen).
1459
1460	<li>add vttests/paste64.pl script to test experimental option for
1461	    setting/getting selection data.
1462
1463	<li>add some error-checking in fontutils.c
1464	    (prompted by David Dawes commit message for XFree86).
1465
1466	<li>change xterm manpage to show the actual color resource names
1467	    <code>XtDefaultForeground</code> and
1468	    <code>XtDefaultBackground</code> rather than black and white
1469	    (prompted by discussion with Emanuele Giaquinta).
1470
1471	<li>add <code>utf8Title</code> resource and menu entry, allowing the
1472	    user to control whether title strings are interpreted as ISO-8859-1
1473	    or UTF-8 encoding (Novell #52655, #113206).
1474
1475	<li>change order of ifdef's for utempter versus platforms in
1476	    <code>Imakefile</code> to ensure a proper value for
1477	    <code>InstallXtermSetGID</code>
1478	    (prompted by Marc La France commit message for XFree86).
1479
1480	<li>update the cursor GCs when menu entry for reverse video is toggled.
1481	    (Redhat #183993).
1482
1483	<li>a memory-leak fix for <code>set_cursor_gcs()</code>
1484	    in <a href="#xterm_208">patch #208</a> broke the
1485	    <code>-cm</code> option (Redhat #182382).
1486</ul>
1487
1488<H1><A NAME="xterm_209">Patch #209 - 2006/2/12 - XFree86 4.5.99.22</A></H1>
1489<ul>
1490	<li>remove <code>setf</code> and <code>setb</code> from
1491	    <code>xterm-256color</code> terminfo entry to avoid issues with
1492	    applications that ignore the ANSI strings (report by Emanuele
1493	    Giaquinta).
1494
1495	<li>remove obsolete references to "Xorg" to avoid confusion with
1496	    "X.org" (prompted by David Dawes commit message for XFree86).
1497
1498	<li>improve initial layout performance for the toolbar configuration
1499	    by precalculating the height of the toolbar.
1500
1501	<li>remove menu entry for "Enable Curses Emulation" (to make room for
1502	    "Select To Clipboard").
1503
1504	<li>add resource <code>selectToClipboard</code>,
1505	    action <code>set-select</code> and a menu entry to allow
1506	    users to switch between PRIMARY and CLIPBOARD for select/paste.
1507
1508	<li>allow cursor to have the same color as foreground (text), since it
1509	    is rendered as reverse (Debian #350664).
1510
1511	<li>amend change for loading <code>utf8Fonts</code> resource from <a
1512	    href="#xterm_204">patch #204</a> to allow an ISO-8859-1 "normal"
1513	    font to be combined with an ISO-10646 font if the latter is given
1514	    via the <code>-fw</code> option or its corresponding resource
1515	    value (prompted by comment in Novell #49305).
1516
1517	<li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
1518	    <code>__GNU__</code> to set the controlling terminal (Debian
1519	    #348457).
1520
1521	<li>add configure option <code>--disable-leaks</code>.
1522
1523	<li>add a check in <code>Bell</code> to ensure that the VT100 widget
1524	    is realized, since it may be called by <code>xtermLoadFont</code>
1525	    given an incorrect font resource (Redhat #180450).
1526
1527	<li>improve initialization of wide-bold font by not using the derived
1528	    value when it happens to have few glyphs (report by Mboso Sampson).
1529
1530	<li>improve dynamic colors by not repainting the screen if only the
1531	    cursor color changes (request by Bram Moolenaar).
1532
1533	<li>fix menu initialization for tek4014 window broken in
1534	    <a href="#xterm_206">patch #206</a>.
1535
1536	<li>typo in manpage (Debian #351425).
1537
1538	<li>correct loop logic in <code>dotext</code> to prevent an infinite
1539	    loop if a wide character was just at the right margin when wrapping
1540	    was disabled (report by Serge van den Boom).
1541
1542	<li>initialize the saved-cursor data so a restore-cursor operation
1543	    without a preceding save-cursor operation will not modify the
1544	    foreground color.
1545
1546	<li>add a new selection feature: regular expressions, and new resources
1547	    which specify what happens on multiple mouse clicks:
1548	    <code>on2Clicks</code>,
1549	    <code>on3Clicks</code>,
1550	    <code>on4Clicks</code> and
1551	    <code>on5Clicks</code>.
1552
1553	<li>revert the <code>XTerm.ad</code> change from
1554	    <a href="#xterm_208">patch #208</a> (Debian #348384).
1555
1556	<li>fixes for the print-window to make it handle combining
1557	    characters in UTF-8 mode.
1558
1559	<li>add check to ensure that double-clicking to extend selection will
1560	    not extend it into the scrollback area.  This still allows users
1561	    to scroll back and select text (Debian #347415).
1562
1563	<li>add configure option <code>--with-tty-group</code> to help work
1564	    around deficiencies in packager's build environment (Debian
1565	    #349142).
1566
1567	<li>fix typo in configure script option
1568	    <code>--disable-narrowproto</code>
1569	    (report by David Mart&#237;nez Moreno).
1570
1571	<li>amend CF_X_FREETYPE changes for <code>pkg-config</code> check to
1572	    ensure that <code>Xft</code> is known to that tool (report and
1573	    patch by Emanuele Giaquinta).
1574
1575	<li>add an ifdef to allow <code>./configure --disable-active-icon</code>
1576	    to work, broken by new code for testing memory leaks in
1577	    <a href="#xterm_208">patch #208</a> (report by Brian Lindholm).
1578</ul>
1579
1580<H1><A NAME="xterm_208">Patch #208 - 2006/1/3 - XFree86 4.5.99.19</A></H1>
1581<ul>
1582	<li>add <code>charClass</code> resource to <code>XTerm.ad</code> and
1583	    <code>UXTerm.ad</code> which simplifies selecting URLs (prompted
1584	    by Kirill Ponomarew).
1585
1586	<li>modify install rule for <code>uxterm</code> to account for the
1587	    <code>--program-prefix</code>, etc., options by invoking the
1588	    transformed name of xterm rather than simply "xterm".
1589
1590	<li>modify configure <code>--with-app-defaults</code> option to allow
1591	    <code>--without-app-defaults</code>.
1592
1593	<li>add configure <code>--with-symlink</code> option to make it simpler
1594	    to install successive versions of <code>xterm</code> renamed using
1595	    the <code>--program-prefix</code>, etc., options with a symbolic
1596	    link pointing to the most recent.
1597
1598	<li>make <code>-iconic</code> option work with toolbar configuration
1599	    (GenToo #113604).
1600
1601	<li>suppress <code>lastlog</code> feature for 64-bit Solaris
1602	    configuration since that platform provides only a 32-bit interface
1603	    (report by Peter Bray).
1604
1605	<li>fix memory reallocation for the "UTF-8" menu entry when xterm is
1606	    started using the <code>+u8</code> option (reported by Jan Willem
1607	    Stumpel).
1608
1609	<li>add a configure check for the actual path of <code>luit</code>,
1610	    to work around broken <code>imake</code> configurations.
1611
1612	<li>add a configure check for <code>pkg-config</code> (Redhat Bugzilla
1613	    #173541).
1614
1615	<li>modify install-rule for <code>uxterm</code> to omit executable
1616	    suffix, e.g., for Cygwin.
1617
1618	<li>modify <code>sinstall.sh</code> to work around quirks in Cygwin
1619	    configuration.
1620</ul>
1621
1622<H1><A NAME="xterm_207">Patch #207 - 2005/11/13 - XFree86 4.5.99.16</A></H1>
1623<ul>
1624	<li>enable <code>lastlogx</code> support for NetBSD (was added, but
1625	    not enabled in <a href="#xterm_186">patch #186</a>).
1626
1627	<li>work around broken <code>lastlog.h</code> in glibc 2.3.5, which
1628	    includes <code>utmp.h</code>.
1629
1630	<li>revert part of recent XFree86 Imakefile change, restoring the
1631	    <code>-I.</code> needed for <code>xmkmf</code> builds of xterm
1632	    (XFree86 Bugzilla #1633, reports by Alexander Pohoyda and Matthieu
1633	    Herrb).
1634
1635	<li>change compiled-in default for <code>printerCommand</code>
1636	    resource to an empty string.  People who want to use the
1637	    printer should be able to read the manual (Debian #311490).
1638
1639	<li>modify <code>Imakefile</code> to work around old problems in
1640	    <code>imake</code> configuration to allow test-builds using
1641	    <code>xmkmf</code> on Linux.  (This was not noticed since several
1642	    releases had broken definitions relating to Xft which were harder
1643	    to work around).
1644
1645	<li>link <code>resize</code> for SCO platforms (Kean Johnston).
1646</ul>
1647
1648<H1><A NAME="xterm_206">Patch #206 - 2005/11/3 - XFree86 4.5.99.15</A></H1>
1649<ul>
1650	<li>add configure <code>--with-app-defaults</code> option to allow
1651	    app-defaults directory for install-rules to be customized.
1652
1653	<li>remove default translations for <code>dabbrev-expand()</code>
1654	    due to conflicts with existing keyboard arrangements.
1655
1656	<li>remove redundant check for <code>_NET_WM_PID</code>
1657	    (report by Emanuele Giaquinta).
1658
1659	<li>set icon border width explicitly to work around fvwm problem
1660	    with active icon resizing (report by Steve Morris, analysis
1661	    by Dominik Vogt).
1662
1663	<li>modify resource files to make the font-resources a little
1664	    more specific, e.g., changing "*VT100*" to "*VT100.", to
1665	    make the distinction between VT100.font and VT100.utf8Fonts.font
1666	    sharper, in case a packager modifies one of those.
1667
1668	<li>expanded comments in <code>UXTerm.ad</code> regarding the
1669	    font resources (Debian #319179).
1670
1671	<li>add <code>--enable-narrowproto</code> configure option to
1672	    accommodate X.org "modular" build (report by Stephan Hermann,
1673	    GenToo #17220).
1674
1675	<li>fix typo in xterm.man description of <code>+wf</code> (patch
1676	    by Tobias Stoeckmann).
1677
1678	<li>add <code>scrollBarBorder</code> resource (request by Floyd L
1679	    Davidson).
1680
1681	<li>modify <code>xterm-new</code> terminfo entry to use capabilities
1682	    for shifted scroll forward/reverse as shifted cursor up/down.
1683
1684	<li>correct updating of checkmark for toolbar entry in popup menu
1685	    (report by Emanuele Giaquinta).
1686
1687	<li>fix ifdef's to allow compiling with toolbar and without tek4014
1688	    (patch by Emanuele Giaquinta).
1689
1690	<li>use <code>openpty()</code> for Darwin port (patch by Emanuele
1691	    Giaquinta).
1692
1693	<li>fix GenToo #90697 a different way, postponing the logic in
1694	    <code>SetupToolbar</code> until the toolbar is actually needed,
1695	    i.e., the <code>+tb</code> option is handled as expected.
1696
1697	<li>revert fix made in <a href="#xterm_203">patch #203</a> for GenToo
1698	    #90697.  That introduced a problem with the control mouse
1699	    click-popups, while most of the performance problems can be
1700	    resolved by restricting the menu fonts (report by Emanuele
1701	    Giaquinta).
1702
1703	<li>fix a file-descriptor leak when calling <code>openpty()</code>
1704	    (OpenBSD system/4561).
1705
1706	<li>make a special case of resizing work like vt100: a hard reset
1707	    also resets the 132/80 mode.  The code to support this was
1708	    present since X11R5, but not used because the corresponding
1709	    initial state of the <code>-132</code> option was not saved.
1710
1711	<li>restore window manager hints after <code>XtMakeResizeRequest()</code>
1712	    calls.  One instance from <a href="#xterm_205">patch #205</a>
1713	    resulted in the window manager displaying pixels rather than
1714	    than characters after selecting a different font size (FreeBSD
1715	    ports/87424).
1716
1717	<li>remove special case for Darwin in CF_XOPEN_SOURCE
1718	    (Emanuele Giaquinta).
1719
1720	<li>modify parsing of control sequence <code>CSI&nbsp;T</code>
1721	    to allow scroll-down
1722	    to be sent while mouse tracking is enabled (request by
1723	    D Hugh Redelmeier).
1724
1725	<li>correct termcap "me" (mode-end) string so it does not modify the
1726	    alternate character set (report by Andrey Chernov).
1727
1728	<li>correct size-comparison in HandleInterpret() broken in changes
1729	    from <a href="#xterm_201">patch #201</a> to allocate input
1730	    buffer (Debian #334317).
1731
1732	<li>amend adjustments for scrollbar layout from
1733	    <a href="#xterm_204">patch #204</a> to make
1734	    this apply only to the toolbar configuration.  In the non-toolbar
1735	    configuration, the resulting scrollbar was shifted by its
1736	    borderwidth (report by Matthieu Herrb).
1737
1738	<li>add select-cursor-extend() action.
1739
1740	<li>fix some broken href's in xterm.log.html, and typo in the
1741	    INSTALL file (report/patch by David Mart&#237;nez Moreno).
1742
1743	<li>modify <code>Imakefile</code> to use setgid mode for installing
1744	    with Linux, OpenBSD and FreeBSD.
1745
1746	<li>add configure --with-setuid and --with-reference options to
1747	    allow packagers more flexibility in customizing install
1748	    permissions.
1749
1750	<li>generalize and make optional (configure --with-utmp-setgid)
1751	    the change made for XFree86 Bugzilla #878 in
1752	    <a href="#xterm_205">patch #205</a>
1753	    (FreeBSD bug report #ports/86663).
1754</ul>
1755
1756<H1><A NAME="xterm_205">Patch #205 - 2005/9/18 - XFree86 4.5.99.12</A></H1>
1757<ul>
1758	<li>correct a typo in CF_FUNC_TGETENT introduced in <a
1759	    href="#xterm_198">patch #198</a> fix for Gentoo #69926.
1760
1761	<li>implement logic in termcap query to process multiple parameters
1762	    as documented in ctlseqs.ms
1763
1764	<li>fix buffer size used for termcap query, which was not long enough
1765	    for the terminfo "colors" name (patch by Bradd W. Szonye).
1766
1767	<li>add configure option --enable-readline-mouse, which turns on the
1768	    experimental OPT_READLINE code (patch by Ilya Zakharevich).
1769
1770	<li>for FreeBSD, drop setuid privileges after startup
1771	    (XFree86 Bugzilla #878, report/patch by Alexander Pohoyda)
1772
1773	<li>add menu entry (alt-esc) and corresponding action (alt-sends-esc)
1774	    to toggle the <code>eightBitInput</code> resource setting.
1775
1776	<li>generate configure script with autoconf 2.52 (patched) to use
1777	    the feature therein which forces the script's locale to POSIX
1778	    (Gentoo Bugzilla #105369).
1779
1780	<li>modify computation of rows/columns on resize to avoid extending
1781	    beyond the given limits, e.g., if resizing in response to a
1782	    "maximize" in Gnome or KDE which do not use the window manager
1783	    hints for this case (Debian #289123, Novell #61153).
1784
1785	<li>modifications to work with z/OS 1.4 (Paul Giordano).
1786
1787	<li>improve error-reporting when chown/chmod of the pseudo-terminal
1788	    fails, e.g., if a copy of xterm which was designed to work with
1789	    old-style pseudo-terminals is not installed setuid or setgid
1790	    (report by Jeremy C. Reed).
1791
1792	<li>patches from Emanuele Giaquinta:
1793	    <ul>
1794	    <li>ctlseqs.ms says that primary and secondary DA accept a
1795	        nonzero parameter, which is incorrect.  Also modify code
1796		to agree with this.
1797
1798	    <li>correct a comment in 88colres.pl
1799
1800	    <li>ctlseqs.ms says that the DEC Set/Reset control sequences for
1801		the backarrow key make it send DEL/BS, respectively, while it's
1802		the opposite.
1803
1804	    <li>update the menu entries for the metaSendsEscape, deleteIsDEL
1805		and numLock resources when changing them with the corresponding
1806		DEC Set/Reset control sequences.
1807	    </ul>
1808
1809	<li>fixes for configure script:
1810	    <ul>
1811	    <li>add special case for QNX, defining _QNX_SOURCE.
1812	    <li>check for preprocessors which do not perform -U and -D options
1813	        in the given order.
1814	    <li>improve macro to determine gcc version
1815	    <li>improve check for Intel compiler and related warning options
1816	    </ul>
1817
1818	<li>update config.guess, config.sub
1819
1820	<li>improve fix from <a href="#xterm_198">patch #198</a> for
1821	    <code>Cleanup()</code> by ensuring it is not called from the
1822	    SIGCHLD handler (patch from OpenBSD by Todd Miller).
1823
1824	<li>eliminate a retry for a better-matching bold font, to work around
1825	    recent font server changes.
1826
1827	<li>fixes for Novell #113277:
1828	    <ul>
1829	    <li>specify weight for wide font which may be derived from
1830	        normal fontname.
1831	    <li>cache the derived wide- and widebolt-fontnames.
1832	    </ul>
1833
1834	<li>workaround for GenToo Bugzilla #100728.
1835
1836	<li>add menubar's border width to layout computation.  Normally this
1837	    is zero, but patterns such as <code>XTerm*borderWidth:1</code>
1838	    would give poor layout for the toolbar configuration.
1839</ul>
1840
1841<H1><A NAME="xterm_204">Patch #204 - 2005/8/4 - XFree86 4.5.99.9</A></H1>
1842<ul>
1843	<li>work around quirk in shell which allowed user to "run" uxterm
1844	    script when there was no UTF-8 locale installed by entering
1845	    "sh -x uxterm".  Also popup an xmessage to show the problem
1846	    for users who run this via a GUI (Debian #318513).
1847
1848	<li>disallow changes to fonts, toolbar and scrollbar when the vt100
1849	    window is iconified, to simplify management of the active icon.
1850
1851	<li>fixes to make <code>-geom</code> option work properly with the
1852	    toolbar configuration (Gentoo Bugzilla #90717, #91967).
1853
1854	<li>minor improvements to scrollbar layout: ensure that the scrollbar
1855	    border is zero if the vt100 border is zero.
1856
1857	<li>improve initialization due to <code>utf8</code> resource by
1858	    loading the <code>utf8Fonts</code> resource in the case where
1859	    <code>locale</code> resource is false.  Also in this case, do
1860	    not disable switching UTF-8 mode on/off.
1861
1862	<li>minor optimization of TrueType font-loading, loads italic font
1863	    only when needed.
1864
1865	<li>correct variable used to store temporary result from lookup of bold
1866	    font, when initializing the wide-bold-font data and no immediate
1867	    match is found by asking for a bold variant of the wide-font.  The
1868	    result was to use overstriking rather than the actual bold font
1869	    (Debian #318162, patch by Eugene Konev).
1870
1871	<li>add checks to ensure vt100 widget is realized when it might be
1872	    updated via actions handled from a tek4014-only configuration.
1873</ul>
1874
1875<H1><A NAME="xterm_203">Patch #203 - 2005/7/6 - XFree86 4.5.99.7</A></H1>
1876<ul>
1877	<li>modify initialization of <code>allowSendEvents</code> and
1878	    <code>allowWindowOps</code> to prevent modification with the
1879	    editres protocol.
1880
1881	<li>fix compiler warning for NetBSD by including util.h in main.c
1882	    (XFree86 Bugzilla #1596).
1883
1884	<li>fix to build on Darwin 8.x, which no longer provides
1885	    <code>setpgrp()</code> (patch by Min Sik Kim).
1886
1887	<li>adapted fixes for Legend (SCO) from diffs attached to
1888	    Freedesktop.Org Bugzilla #3180.
1889
1890	<li>fix typo in xterm manpage description of <code>-ls</code> option
1891	    (Freedesktop.Org Bugzilla #3543).
1892
1893	<li>add support for interpreting the underline attribute as an italic
1894	    font in Xft mode (patch by Chuck Blake).
1895
1896	<li>improve initialization of toolbar so that individual pulldown
1897	    menus are initialized on demand, as they are in the scenario
1898	    where they are invoked as popup menus (GenToo Bugzilla #90697).
1899
1900	<li>fix logic in <code>find_utmp</code>, which did not reset result
1901	    in <code>getutid()</code>, causing an infinite loop in some
1902	    conditions (report by Emil Mikulic).
1903
1904	<li>set the <code>_NET_WM_PID</code> property (GenToo Bugzilla #91008).
1905
1906	<li>modify ifdef's in ptyx.h and xterm_io.h to build with DragonFly
1907	    (patch by Jeroen Ruigrok).
1908
1909	<li>change default values for <code>minBufSize</code> and
1910	    <code>maxBufSize</code> to 4096 and 32768 respectively so that the
1911	    initial read request will match the value from before changes to
1912	    use <code>sched_yield()</code>.
1913
1914	<li>make paste of UTF-8 faster for Western character sets by checking
1915	    range of incoming data (patch by Joe Allen).
1916
1917	<li>adapted patch by Joe Allen to add experimental option to allow
1918	    applications to get or set the selection data as a BASE64 string.
1919
1920	<li>fix an off-by-one error parsing <code>-S/nn</code> option
1921	    (Debian #311438, report/fix by Peter Chubb).
1922
1923	<li>fix an initialization bug from
1924	    <a href="#xterm_201">patch #201</a> that broke logging
1925	    (report by Rodney Thayer).
1926
1927	<li>amend change to command-line processing in
1928	    <a href="#xterm_201">patch #201</a> to avoid
1929	    conflict with <code>-e</code> option (report by Servatius Brandt).
1930
1931	<li>suppress configure check for <code>_XOPEN_SOURCE</code> on
1932	    darwin.
1933
1934	<li>update config.guess, config.sub
1935</ul>
1936
1937<H1><A NAME="xterm_202">Patch #202 - 2005/5/2 - XFree86 4.5.99.3</A></H1>
1938<ul>
1939	<li>add extended shift- and control-modifier cursor keys to
1940	    "xterm+pcfkeys" terminfo entry to correspond to ncurses 20050430
1941	    patch.
1942
1943	<li>fix a rare case where text would be written with the wrong colors
1944	    because output of scrolled text would reset the colors and the
1945	    new text would be written with the same colors (report/testcase
1946	    by Thomas Glanzmann).
1947
1948	<li>rename <code>$CMD</code> variable in <code>plink.sh</code> because
1949	    it is a reserved symbol in bash 3.00.16 (report by Ted Taylor).
1950
1951	<li>add environment variables <code>$XTERM_SHELL</code> and
1952	    <code>$XTERM_VERSION</code>
1953	    (request by Zdenek Sekera).
1954
1955	<li>corrected workaround for background color of menubar, which gave
1956	    a too-broad expression, coloring the background of the VT100
1957	    widget unless overridden by another resource setting.
1958
1959	<li>correct an error in the logic which decides when
1960	    <code>sched_yield()</code> is run; it would occasionally hang when
1961	    contending with other pseudo-terminal applications such as screen
1962	    (report by Kirill Ponomarew).
1963
1964	<li>modify initialization to decide whether to default to built-in
1965	    <code>wcwidth()</code> versus system's version based on the
1966	    starting locale and whether the system's version is poor quality
1967	    (suggested by Bram Moolenaar).
1968
1969	<li>update table for <code>mk_width()</code> from UnicodeData 4.1.0
1970	    using Markus Kuhn's <code>uniset</code> script.
1971</ul>
1972
1973<H1><A NAME="xterm_201">Patch #201 - 2005/4/21 - XFree86 4.5.99.2</A></H1>
1974<ul>
1975	<li>improve resource files to show how the menubar and popup menus can
1976	    be colored (prompted by report by Joe Wells).
1977
1978	<li>modify parsing of OSC (and SOS, etc), strings so their contents
1979	    are not interpreted as UTF-8.  This allows non-ASCII title strings
1980	    to be set, provided that the window manager complies (report by
1981	    Thomas Wolff).
1982
1983	<li>improved some of the built-in line-drawing glyphs.
1984
1985	<li>correct color of "box" character drawn for line-drawing glyph 1
1986	    (report by Nicolas George).
1987
1988	<li>improve behavior when switching to UTF-8 mode after startup so
1989	    xterm will check if the current fonts are already wide
1990	    (ISO10646-1).  If they are not, xterm will use the
1991	    <code>utf8Fonts</code> subresource to load appropriate fonts
1992	    (request by Bram Moolenaar).
1993
1994	<li>modify logic for setting title-string so it applies to the current
1995	    widget rather than the vt100 widget.
1996
1997	<li>modify initialization for wide-bold fontname, to search for one
1998	    if none is given (report by Michael Schroeder).
1999
2000	<li>add resource <code>mkWidth</code> and command-line option
2001	    <code>-mk_width</code> to control whether xterm uses the built-in
2002	    version of wcwidth().
2003
2004	<li>add resource settings for minimum/maximum input buffer size, and
2005	    call to <code>sched_yield</code> to improve performance with newer
2006	    Linux kernels (adapted from patch by Nicolas George).
2007
2008	<li>correct computation of width for wide characters with the invisible
2009	    attribute (report by Thomas Wolff).
2010
2011	<li>modify interaction between <code>+u8</code> and <code>locale</code>
2012	    resource to allow the command-line option to override the resource
2013	    (requested by Thomas Wolff).
2014
2015	<li>add a limit check for scrolling margins in a one-line screen,
2016	    overlooked in fixes for
2017	    <a href="#xterm_198">patch #198</a> (Debian #297430).
2018
2019	<li>correct treatment of <code>iconBorderWidth</code> for resizing
2020	    an active-icon, and its description in manpage (Debian #296592).
2021
2022	<li>modify configure script <code>--disable-imake</code> to use the
2023	    script's definitions anyway if it cannot detect imake (prompted
2024	    by FreeBSD bug 77408).
2025
2026	<li>ignore error in the I/O initialization that tries to set the
2027	    tty to 7-bit input for the case where <code>eightBitInput</code>
2028	    resource is false (Debian #298551).
2029
2030	<li>modify command-processing to accept an optional parameter that
2031	    tells xterm which shell program to use (request by Zdenek Sekera).
2032
2033	<li>add simpler resource <code>keyboardType</code> which, when set,
2034	    overrides the individual keyboard-type resources and eliminates
2035	    the possibility of conflict between them.
2036
2037	<li>add initialization for <code>scoFunctionKeys</code> resource
2038	    (report by Rick K).
2039
2040	<li>correct logic of <code>ReallocateBufOffsets()</code> which did not
2041	    copy the content of the old screen buffer to the proper location,
2042	    making a repaint clear after switching to wide-character mode
2043	    (report by Bram Moolenaar):
2044
2045	<li>implement the remaining pieces to make xterm allocate cells for
2046	    wide-characters when the "UTF-8" menu entry is selected.  Also,
2047	    load the UTF-8 font when that menu entry is selected, or the escape
2048	    sequence for UTF-8 mode is received (report by Bram Moolenaar):
2049
2050	<li>add command-line options (<code>-tb</code>, <code>+tb</code>) and
2051	    resource <code>toolBar</code> to allow menu/toolbar to disabled or
2052	    enabled at startup (prompted by reports by Joe Wells).
2053
2054	<li>correct typo in configure script's --enable-dec-locator option
2055	    (report by Bram Moolenaar).
2056</ul>
2057
2058<H1><A NAME="xterm_200">Patch #200 - 2005/2/6 - XFree86 4.4.99.23</A></H1>
2059<ul>
2060	<li>increase color pairs value for xterm-256color and xterm-88color to
2061	    match ncurses, which has an experimental option to support this.
2062
2063	<li>modify ifdef's to make AIX use termios rather than termio; the
2064            struct sizes for the two were not the same.
2065
2066	<li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
2067	    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and AIX.
2068
2069	<li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch by Min
2070	    Sik Kim).
2071
2072	<li>modify find_utmp() to initialize the whole utmpx struct (except
2073	    ut_id), since that is needed for OSF1 4.0D to prevent an infinite
2074	    loop on exit.
2075
2076	<li>add configure check before adding -D_POSIX_SOURCE since some
2077	    platforms predefine it, e.g., cygwin.
2078
2079	<li>add simplified sed expressions in CF_IMAKE_CFLAGS configure script
2080	    macro to ensure value for PROJECTROOT is quoted on Solaris, i.e.,
2081	    when nested <code>\(</code> and <code>\)</code> are not interpreted
2082	    correctly.
2083
2084	<li>correct DEC rectangle operations to reset state after completing
2085	    the operations.
2086
2087	<li>modify CASE_ST handling in charproc.c to ensure that the parse
2088	    state is reset even if xterm is not currently processing an OSC or
2089	    other string (patch by Johnny Billquist forwarded by Matthias
2090	    Scheler, NetBSD xsrc/29003).
2091
2092	<li>fix OS/2 build for innotek_libc (patch by David Yeo).
2093
2094	<li>fix a regression from <a href="#xterm_197">patch #197</a> fix for
2095	    Debian #277832 which disowned the selection if it was scrolled,
2096	    e.g., by the user pressing return at the bottom of the screen
2097	    (Debian #291787).
2098
2099	<li>move the warning/exit for missing $DISPLAY into the error handler
2100	    in case <code>-display</code> is given, and the connect fails for
2101	    some other reason.
2102</ul>
2103
2104<H1><A NAME="xterm_199">Patch #199 - 2005/1/17 - XFree86 4.4.99.22</A></H1>
2105<ul>
2106	<li>instead of setting <code>$DISPLAY</code>, check for the unset
2107	    variable and warn/exit on this condition (comments by H Merijn
2108	    Brand and Bernhard R Link).
2109
2110	<li>fix a typo in Imakefile from <a href="#xterm_198">patch #198</a>
2111	    (reports/patches by Stefan Dirsch, and Mike Castle).
2112</ul>
2113
2114<H1><A NAME="xterm_198">Patch #198 - 2005/1/13 - XFree86 4.4.99.21</A></H1>
2115<ul>
2116	<li>set <code>$DISPLAY</code> to ":0" if it is not set.
2117
2118	<li>add <code>utmpDisplayId</code> resource to allow users to control
2119	    whether the display identifier (display number and screen number)
2120	    are retained in the connection information recorded in utmp
2121	    (discussion with Edoardo Tirtarahardja).
2122
2123	<li>add <code>bellOnReset</code> resource to allow users to disable
2124	    bell which sounds on hard reset since <a href="#xterm_183">patch
2125	    #183</a> changes to DECSCL (discussion with Danek Duvall).
2126
2127	<li>improve <code>$WINDOWID</code> for configuration with toolbar by
2128	    making it refer to the top-level shell rather than the parent of
2129	    the current window.  For that case, the parent is a form widget,
2130	    which does not have a name, which made the <code>$WINDOWID</code>
2131	    not very useful as a parameter for <code>xwininfo</code>
2132	    (suggested by Dave Bodenstab).
2133
2134	<li>fix a typo in WhichVFont() macro
2135	    from <a href="#xterm_197">patch #197</a> changes
2136	    which broke the --disable-active-icon configuration
2137	    (report by Ralf S. Engelschall).
2138
2139	<li>improve some limit checks (Gentoo Bugzilla #75604).
2140
2141	<li>add --disable-setuid option to configure script (Gentoo Bugzilla
2142	    #76543).
2143
2144	<li>add --disable-full-tgetent option to configure script, allowing one
2145	    to ignore a termcap library in favor of ncurses/curses (Gentoo
2146	    Bugzilla #69926).
2147
2148	<li>modify configure script to choose useful warning options for Intel
2149	    version 8.0 compiler.
2150
2151	<li>update config.guess, config.sub
2152
2153	<li>make active-icon work properly when TrueType fonts are used
2154	    (Debian #286068).
2155
2156	<li>correct change from <a href="#xterm_157">patch #157</a> which uses
2157	    getlogin() to check for an alias; the storage used for the related
2158	    getpwuid() call was overwritten by the data used for comparison
2159	    (patch by Per Hedeland).
2160
2161	<li>correct case of SCS for character set 0 (line-drawing) to allow it
2162	    to be selected into GR.
2163
2164	<li>fix a file-descriptor leak (Redhat Bugzilla #139597).
2165
2166	<li>modify <code>creat_as()</code> to only fork if xterm is actually
2167	    running as setuid and/or setgid.  This works around a Cygwin bug
2168	    which hangs when logging is enabled and makes xterm a little
2169	    faster for systems using interfaces such as utempter (report by
2170	    Al Goodman).
2171
2172	<li>modify <code>Cleanup()</code> to avoid operations such as X calls
2173	    that might use unsafe functions when it is called by a signal
2174	    handler (report by Michiel Boland).
2175
2176	<li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM changes
2177	    from <a href="#xterm_197">patch #197</a> that
2178	    broke DECSET 38:  switch to Tek4014 emulation (report by Dave
2179	    Bodenstab).
2180
2181	<li>fix for manpage escapes (Marc La France).
2182
2183	<li>improve on IRIX-specific change for Imakefile in XFree86 CVS versus
2184	    resize linking against termcap library to reflect definitions for
2185	    USE_TERMCAP in resize.c
2186</ul>
2187
2188<H1><A NAME="xterm_197">Patch #197 - 2004/11/30 - XFree86 4.4.99.19</A></H1>
2189<ul>
2190	<li>modify configure script to remove empty "-DPROJECTROOT=" definition
2191	    which resulted unusable values for luit's default path.
2192
2193	<li>update precompose.c based on Unicode 4.0.1
2194
2195	<li>several minor fixes based on Intel compiler warnings.
2196
2197	<li>change default translations so a <code>BtnDown</code> which is
2198	    not recognized is simply ignored rather than emitting a bell.
2199	    That makes it less obtrusive when the user tries to use a mouse
2200	    which provides more capabilities than the X mouse driver supports,
2201	    e.g., one with a horizontal scroll wheel (Debian #265133).
2202
2203	<li>note in xterm's manpage that <code>translations</code> is not
2204	    specific to xterm (Debian #278897).
2205
2206	<li>modify uxterm script to use locale program to verify if the
2207	    derived locale is installed (Debian #246398).
2208
2209	<li>correct font handling for active icon when in UTF-8 mode (report
2210	    by Paolo Liberatore).
2211
2212	<li>make active-icon and toolbar configurations work together.
2213
2214	<li>modify the criteria for disowning primary selection.  Previously,
2215	    this happened anytime the cursor was moved before the end of the
2216	    selection.  That would ensure that any insert/delete of char or
2217	    line, as well as scrolling, would disown the selection.  The
2218	    new criteria change this to checking if the operations would
2219	    modify the data which is highlighted (Debian #277832).
2220
2221	<li>reimplement <code>DECALN</code> with functions for vt420 rectangles,
2222	    fixes selection for this case.
2223
2224	<li>implement vt420 rectangle operations.
2225
2226	<li>add parsing, for debug/test of vt220 soft-fonts.
2227
2228	<li>add menu entry, actions and escape sequence to allow
2229	    enabling/disabling toolbars at runtime.
2230
2231	<li>improve rendering for Xft, allow it to draw non-linedrawing
2232	    characters such as "pi", which were drawn from internal tables
2233	    with <a href="#xterm_180">patch #180</a>
2234	    (Freedesktop.org Bugzilla #1260).
2235
2236	<li>add configure option <code>--enable-mini-luit</code>, ifdef'd the
2237	    mini-luit feature with <code>OPT_MINI_LUIT</code>.
2238
2239	<li>add mini-luit feature, which supports Latin9 directly rather than
2240	    via luit, provided that Unicode fonts are used (Freedesktop.org
2241	    Bugzilla #1571, request by Stefan Dirsch, patch by Michael
2242	    Schroeder).
2243
2244	<li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x kernels,
2245	    set the corresponding flag for the slave pty, to enable UTF-8
2246	    interpretation of backspace in cooked mode (Freedesktop.org
2247	    Bugzilla #1578, request by Stefan Dirsch).
2248
2249	<li>modify <code>faceSize</code> resource to use a floating-point
2250	    internal value (adapted from patch by Sam Stephenson).
2251
2252	<li>correct handling selection of tabs over cleared space in UTF-8
2253	    mode.  In this special case, xterm represents the whitespace with
2254	    a null rather than a space character (Debian #276447).
2255
2256	<li>amend fix for infinite loop from <a href="#xterm_192">patch
2257	    #192</a> to check if there is wrapped text to output in a following
2258	    iteration (Debian #273202).
2259
2260	<li>fixes ifdef'd with <code>__INTERIX</code> to allow building with
2261	    Interix (Windows Services for UNIX) 3.5 using the xlibs libraries
2262	    from freedesktop.org (patch by Min Sik Kim).
2263
2264	<li>amend solution for Debian #252873, #260471 from <a
2265	    href="#xterm_194">patch #194</a> by making the cursor not
2266	    explicitly colored if only the foreground color is set, and the
2267	    cursor is on a blank space (Debian #275473).
2268
2269	<li>correct logic for send/receive mode (SRM) with regard to control
2270	    characters.
2271
2272	<li>fix masking of invisible text in wide-character mode, which did
2273	    not work for line-drawing characters.
2274
2275	<li>incorporate CF_XOPEN_SOURCE into configure script, replacing
2276	    CF_GNU_SOURCE.
2277</ul>
2278
2279<H1><A NAME="xterm_196">Patch #196 - 2004/8/15 - XFree86 4.4.99.12</A></H1>
2280<ul>
2281	<li>add a special case to configure script to ignore NetBSD's
2282	    <code>grantpt()</code> which was recently added (but not part of a
2283	    release), until someone is able to ensure that xterm can use it
2284	    (report by Min Sik Kim).
2285
2286	<li>clear the buffer returned by getutid().  This fixes an infinite
2287	    loop on some platforms introduced in <a href="#xterm_193">patch
2288	    #193</a> by Debian #256468 fix (report by David Ellement).
2289</ul>
2290
2291<H1><A NAME="xterm_195">Patch #195 - 2004/8/8 - XFree86 4.4.99.11</A></H1>
2292<ul>
2293	<li>correct length used for blinking text, make the last column blink
2294	    (patch by Alexander V Lukyanov).
2295
2296	<li>start changes to make doublesize characters work with TrueType
2297	    fonts (see <a href="#xterm_44">patch #44</a>).
2298
2299	<li>trim leading/trailing blanks from color resources as done for
2300	    other strings in <a href="#xterm_167">patch #167</a>.
2301
2302	<li>fixes for <code>showBlinkAsBold</code> resource (report by
2303	    Christoph Berg).
2304</ul>
2305
2306<H1><A NAME="xterm_194">Patch #194 - 2004/7/27 - XFree86 4.4.99.11</A></H1>
2307<ul>
2308	<li>change clearing operations so foreground color attribute is not
2309	    set.  Usually this is benign, but in some cases when the cursor
2310	    color is not set explicitly, the cursor would show this color
2311	    (Debian #252873, #260471).
2312
2313	<li>add extra state (cursor-moved) to guard against deciding that the
2314	    cursor did not require repainting after an indexing operation
2315	    that leaves the cursor in the same location on the screen.
2316
2317	<li>fix a case where a full-screen indexing operation would
2318	    not restore the cursor-busy state.
2319
2320	<li>fix a repainting bug introduced in
2321	    <a href="#xterm_180">patch #180</a>:  when using a font
2322	    lacking line-drawing characters, a repaint of the screen could
2323	    skip horizontally an extra amount after filling in the missing
2324	    character (reports by Nicolas George, Hans de Goede, Redhat
2325	    Bugzilla #128341).
2326
2327	<li>rename terminfo fragment "xterm-pc-fkeys" to "xterm+pcfkeys" for
2328	    consistency with ncurses.
2329</ul>
2330
2331<H1><A NAME="xterm_193">Patch #193 - 2004/7/19 - XFree86 4.4.99.10</A></H1>
2332<ul>
2333	<li>fix for wide-character selection from OpenBSD CVS
2334	    (report/patch by Matthieu Herrb).
2335
2336	<li>modify initialization and cleanup of utmp data to also compare
2337	    the <code>ut_line</code> member (Debian #256468).
2338
2339	<li>modify check on focus-change to ignore <code>FocusOut</code> events
2340	    generated by <code>XGrabKeyboard</code>.  This fixes a case where
2341	    the text cursor would act as if focus were lost when selecting the
2342	    "Secure Keyboard" menu option.
2343
2344	<li>add <code>gen-pc-fkeys.pl</code> script, use that to generate
2345	    terminfo fragment corresponding to the pc-style function keys.
2346
2347	<li>fix a case where the checkmark by the "VT220 Keyboard" menu entry
2348	    was not set on startup.
2349
2350	<li>separated two methods for making the cursor blink (menu and
2351	    escape sequence) by using the menu as the primary method and
2352	    XOR'ing the state of the escape sequence against that.
2353
2354	<li>modify logic for enabling blinking cursor via escape sequence as
2355	    well as the related save/restore operations so this is only
2356	    available if the <code>cursorBlink</code> resource was set on
2357	    startup.
2358</ul>
2359
2360<H1><A NAME="xterm_192">Patch #192 - 2004/7/12 - XFree86 4.4.99.9</A></H1>
2361<ul>
2362	<li>change resource settings for color4 and color12, add some discussion
2363	    in <code>XTerm-col.ad</code> (Debian #241717).
2364
2365	<li>add a note in xterm manpage discussing the difference between
2366	    alt- and meta-keys, and the way the latter is used in the
2367	    <code>eightBitInput</code> resource.
2368
2369	<li>add a note in xterm manpage regarding possible conflict between
2370	    resource settings for <code>xterm.vt100.font</code> and
2371	    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).
2372
2373	<li>add compile-time customization of <code>backarrowKeyIsErase</code>
2374	    and <code>ptyInitialErase</code> default resource values
2375	    (adapted from OpenBSD CVS).
2376
2377	<li>change parameter of <code>FIONREAD</code> <code>ioctl()</code> call
2378	    from long to int
2379	    (discussion on tech-x11@netbsd.org regarding LP64 by
2380	    John Heasley and Matthias Scheler).
2381
2382	<li>modify configure script options for Athena widgets to work as
2383	    expected for "--without-Xaw3d", etc., (GenToo Bugzilla #53455).
2384
2385	<li>add case to uxterm to accommodate locales ending with "@euro",
2386	    e.g., fr_FR.UTF-8@euro (Debian #255197, report/analysis by
2387	    Matthieu Lagouge).
2388
2389	<li>add special case for VT100 graphic's "box" character (discussion
2390	    with Ben Armstrong).
2391
2392	<li>add missing initialization for bitmap-font sizes needed to make
2393	    fonts menu work with TrueType fonts (report by Ben Armstrong).
2394
2395	<li>save the fontnames for bold fonts that are derived from normal
2396	    fonts, or from the <code>boldFont</code> resource, so the same
2397	    value is restored when switching with the VT Fonts menu (Debian
2398	    #256086).
2399
2400	<li>fix manpage preprocessing (Marc La France).
2401
2402	<li>fix typo in manpage's description of character classes (Debian
2403	    #257073).
2404
2405	<li>modify terminfo to accommodate luit, which relies on G1 being used
2406	    via an ISO-2022 escape sequence (Debian #254316, analysis by
2407	    Juliusz Chroboczek).
2408
2409	<li>modify Makefile.in rule for ctlseqs.txt to work around groff SGR
2410	    misfeature.
2411
2412	<li>modify <code>XTerm.ad</code> to set <code>saveLines</code> default
2413	    to 1024 (Redhat Bugzilla #127132).
2414
2415	<li>add a limit-check in <code>dotext()</code> to prevent infinite
2416	    loop in a corner case of UTF-8 configuration.
2417
2418	<li>update config.guess, config.sub
2419</ul>
2420
2421<H1><A NAME="xterm_191">Patch #191 - 2004/6/6 - XFree86 4.4.99.7</A></H1>
2422<ul>
2423	<li>correct options parsing for <code>-into</code> option so it
2424	    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
2425	    report/patch by James Armstrong).
2426
2427	<li>fix ifdef's for <code>OPT_COLOR_RES2</code>
2428	    so that the fake resource table introduced in
2429	    <a href="#xterm_188">patch #188</a>
2430	    is not compiled if it is empty.
2431	    This happened to work with gcc (report by Joel Konkle-Parker).
2432
2433	<li>reorganize ptydata.c to use one input buffer shared between
2434	    the VTxxx and tek4014 emulators.  In the new scheme, UTF-8
2435	    decoding is performed on characters as they are needed by the
2436	    state machine rather than on buffers as they are read.
2437
2438	<li>work around change in quoting of PROJECTROOT symbol when using
2439	    configure script, from changes made in
2440	    <a href="#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS
2441	    (GenToo Bugzilla #50982).
2442</ul>
2443
2444<H1><A NAME="xterm_190">Patch #190 - 2004/5/25 - XFree86 4.4.99.6</A></H1>
2445<ul>
2446	<li>correct state for values in the range 128-159 after translating
2447	    from UTF-8: this should be ignored unless the user overrides it
2448	    with the <code>allowC1Printable</code> resource (reported by
2449	    Simon Strandgaard).
2450
2451	<li>add configure-script check for nl_langinfo(CODESET), use this to
2452	    replace check of environment variables for UTF-8.
2453
2454	<li>change Makefile.in rules for 256colres.h and 88colres.h so they
2455	    are only made if they do not exist.  The maintainer-clean rule
2456	    will remove these files; they require perl to be made.
2457
2458	<li>remove check in configure script --enable-toolbar that suppressed
2459	    this option when building with Xaw7.
2460
2461	<li>apply fixes to Tektronix widget used for VT100 widget to make
2462	    toolbar work with Xaw7 (XFree86 4.x).
2463</ul>
2464
2465<H1><A NAME="xterm_189">Patch #189 - 2004/5/16 - XFree86 4.4.99.6</A></H1>
2466<ul>
2467	<li>do not call xim_real_init() if <code>openIm</code> resource is
2468	    false (Debian #249025).
2469
2470	<li>minor improvements to built-in line-drawing.
2471
2472	<li>fix a few portability issues with dynamic abbreviation support,
2473	    i.e., did not compile on Tru64.
2474
2475	<li>modify constraints in form used to layout toolbar, to work with
2476	    newer Xaw in XFree86 4.x.
2477</ul>
2478
2479<H1><A NAME="xterm_188">Patch #188 - 2004/5/12 - XFree86 4.4.99.6</A></H1>
2480<ul>
2481	<li>correct table entry for DEL in the ground state, which marked it
2482	    as a printable character from <a href="#xterm_171">patch #171</a>
2483	    (report by D Hugh Redelmeier).
2484
2485	<li>improve fix in <a href="#xterm_186">patch #186</a> for failure in
2486	    xim_real_init() by adding a sleep.
2487
2488	<li>fix a typo in os2main.c
2489	    (XFree86 Bugzilla #1358, report/patch by Frank Giessler).
2490
2491	<li>make escape sequence reporting dynamic colors consistent with the
2492	    logic that sets it; choosing the opposite color when reverse
2493	    video is set (XFree86 Bugzilla #1361, reported by Bradd W Szonye).
2494
2495	<li>modify initialization of 256- and 88-colors so that colors beyond
2496	    16 are normally not X resources.  This works around a hard-coded
2497	    limit in Xt which breaks xterm when 256-colors and luit are both
2498	    configured (report by Noah Friedman).
2499
2500	<li>remove <code>ncv</code> from <code>xterm-256color</code> terminfo
2501	    entry since it is no longer needed (report by Eli Zaretskii).
2502
2503	<li>add "erase2" and "eol2" keywords to <code>ttyModes</code> resource,
2504	    for recent/current FreeBSD.
2505
2506	<li>improve ifdef's for utempter library to omit direct calls to
2507	    <code>setutent()</code> or <code>getutent()</code> (adapted from
2508	    patch by Christian Biere).
2509
2510	<li>add dynamic abbreviation support like Emacs (patch by Tomasz
2511	    Cholewo).  This is ifdef'd with <code>OPT_DABBREV</code>, and
2512	    enabled via the configure script <code>--enable-dabbrev</code>
2513	    option.
2514
2515	<li>fix problem responding to session management events, e.g., which
2516	    would make logging out very slow (patch by Eddy De Greef, Debian
2517	    #233883).
2518
2519	<li>work around a newer bug in toolbar with XFree86 by forcing menus
2520	    to be fully initialized at startup.  In older versions of XFree86
2521	    and X11R6, it was possible to delay initialization of the menu
2522	    contents until it was popped up.  (The longstanding bug with
2523	    XFree86 4.x layout for toolbar still exists, though).
2524
2525	<li>modify <code>xtermAddInput</code> to work around core dump on
2526	    IRIX64 when initializing scrollbar translations if toolbar is
2527	    compiled-in.
2528
2529	<li>fix some minor conflicts in the 2-character entry names in the
2530	    termcap file.
2531</ul>
2532
2533<H1><A NAME="xterm_187">Patch #187 - 2004/4/27 - XFree86 4.4.99.4</A></H1>
2534<ul>
2535	<li>change xterm version string to use <code>__vendorversion__</code>
2536	    where that is available, and "XTerm" otherwise.
2537
2538	<li>improve description of <code>utf8</code> resource in manpage
2539	    (Debian #179407).
2540
2541	<li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS to
2542	    handle <code>-D</code> options that define string values, e.g.,
2543	    for <code>XVENDORNAME</code>.
2544
2545	<li>modify configure macro CF_IMAKE_CFLAGS to allow (if
2546	    <code>$PATH</code> is set accordingly) to use the
2547	    <code>xmkmf</code> script within an X build tree.
2548
2549	<li>add missing <code>#undef OPT_SESSION_MGT</code> to xtermcfg.hin
2550	    to make the configure script's --disable-session-mgt option work.
2551
2552	<li>update config.guess, config.sub
2553</ul>
2554
2555<H1><A NAME="xterm_186">Patch #186 - 2004/4/18 - XFree86 4.4.99.4</A></H1>
2556<ul>
2557	<li>change reset on <code>DECSCL</code> to a soft-reset (appears some
2558	    DEC manuals have errors).
2559
2560	<li>add a section to ctlseqs.ms elaborating on normal/alternate screens.
2561
2562	<li>modify initialization of Acolors[] so that any XtDefaultForeground
2563	    or XtDefaultBackground values are translated as in the Tcolors[],
2564	    to use the window's foreground/background colors.  This affects
2565	    the <code>colorBD</code> and similar resources which normally have
2566	    no explicit color assigned.
2567
2568	<li>modify initialization of Tektronix window so that control sequences
2569	    setting its color before the window is popped up will apply to
2570	    its initial colors.
2571
2572	<li>add control sequence to set Tektronix window's text-cursor.
2573
2574	<li>modify initialization of terminal colors, e.g., mouse pointer and
2575	    text cursor, to treat <code>XtDefaultForeground</code> and
2576	    <code>XtDefaultBackground</code> values as the actual foreground
2577	    and background colors of the terminal rather than white and black
2578	    (Debian #241717).
2579
2580	<li>remove an incorrect comparison against <code>PTYCHARLEN</code> in
2581	    parsing the <code>-S</code> option (report by Michael B Taylor).
2582
2583	<li>minor restructuring of terminfo/termcap files, having noted some
2584	    packager's customizations which caused the structure to be
2585	    confused.
2586
2587	<li>eliminate an isolated use of MIN/MAX in charproc.c
2588
2589	<li>replace <code>XtExtdefaultfont</code> and
2590	    <code>XtExtdefaultbackground</code> by their more familiar
2591	    equivalents
2592	    <code>XtDefaultFont</code> and
2593	    <code>XtDefaultBackground</code>.
2594
2595	<li>replace ifdef's using <code>SCO</code>, <code>sco</code> and
2596	    <code>SCO325</code> with <code>__SCO__</code>
2597	    (XFree86 Bugzilla #1301, Kean Johnston).
2598	    But ensure that it still builds on platforms where this symbol
2599	    is not defined.
2600
2601	<li>add <code>scoFunctionKeys</code> resource, to match manpage.
2602
2603	<li>update manpage discussion of menus and related resources.
2604
2605	<li>enable utmpx support for NetBSD 1.6C and newer (patch by
2606	    Matthias Scheler).
2607
2608	<li>add a note in the manpage discussing xterm's treatment of open
2609	    file-descriptors (request by Dan Shearer).
2610
2611	<li>modify <code>Help()</code> to make "xterm -h" write to standard
2612	    output rather than standard error (patch by Bram Moolenaar).
2613
2614	<li>check for type of failure in xim_real_init() to avoid looping when
2615	    the problem is an unsupported input method rather than a failure
2616	    to connect to the XIM server.  Problem was introduced in
2617	    <a href="#xterm_175">patch #175</a> (XFree86 Bugzilla #1306).
2618
2619	<li>modify <code>Imakefile</code> to remove dependency of "install"
2620	    target on the <code>xterm</code> executable to make installs from
2621	    tree without attempting to rebuild anything (David Dawes, based on
2622	    a patch and report from Lee Olsen).
2623
2624	<li>remove call to <code>ShowCursor</code> from
2625	    <code>SetCursorBlink()</code> since that is redundant,
2626	    and can cause display glitches if the cursor is already
2627	    blinking (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).
2628</ul>
2629
2630<H1><A NAME="xterm_185">Patch #185 - 2004/3/3 - XFree86 4.4</A></H1>
2631<ul>
2632	<li>fix tcap-query logic for the backspace key (XFree86 Bugzilla #1233,
2633	    report/patch by Anton Kovalenko).
2634
2635	<li>add test-scripts resize.pl and tcapquery.pl
2636
2637	<li>add translation to ASCII of commonly-used characters that groff
2638	    translates to Unicode, when the font in use does not provide the
2639	    corresponding glyphs (Debian #219551).
2640
2641	<li>modify RequestMaximize(), which performs maximize/restore via
2642	    control sequences, to account for window-frame (patch by
2643	    Jess Thrysoee).
2644
2645	<li>improve pattern used in <code>uxterm</code> to check for UTF-8
2646	    locale, e.g., for HPUX (patch by H Merijn Brand).
2647
2648	<li>add <code>-fd</code> option and resource
2649	    <code>faceNameDoublesize</code> to specify double-wide fonts with
2650	    Xft (adapted from patch by Zarick Lau).
2651
2652	<li>change a couple of resource classes from "Boolean" to specific
2653	    values: <code>freeBoldBox</code>, <code>forceBoxChars</code>.
2654
2655	<li>add resource <code>showMissingGlyphs</code> to outline places on
2656	    the screen where a font lacks the corresponding glyph.
2657
2658	<li>add resource <code>showBlinkAsBold</code> to control whether
2659	    blinking text should be shown as bold or actual blinking text.
2660
2661	<li>improve logic in ShowCursor() to avoid repainting the cursor when
2662	    it is already visible, e.g., in response to the DECTCEM escape
2663	    sequence.  This also addresses XFree86 Bugzilla #1158.
2664
2665	<li>implement blinking text, using the timer for blinking cursor.
2666
2667	<li>modify FreeType support to allow resizing the font, in the same
2668	    ways the window can be resized if fixed fonts are used.  The
2669	    relative font sizes are derived from the fixed font sizes.
2670
2671	<li>add menu items and corresponding actions for switching on/off
2672	    the UTF-8 mode and Xft (TrueType) support.
2673
2674	<li>add logic to handle switching UTF-8 mode on/off.  It worked if
2675	    the escape sequences were flushed, but if data was mixed in with
2676	    the same write, some were not handled properly (report by
2677	    Nicolas George).
2678
2679	<li>modify to allow turning UTF-8 mode on/off via escape sequence even
2680	    if <code>-wc</code> option was not given at startup (patch by Peter
2681	    Berg Larsen).
2682
2683	<li>amend fix for XFree86 Bugzilla #981, adjusting for savedlines value
2684	    (report by Tim Adye).
2685
2686	<li>fix a typo in computing relative font size (Jess Thrysoee).
2687</ul>
2688
2689<H1><A NAME="xterm_184">Patch #184 - 2003/12/31 - XFree86 4.3.99.903</A></H1>
2690<ul>
2691	<li>improve configure-script checks for FreeType and related libraries,
2692	    using <code>xft-config</code> or <code>freetype-config</code>
2693	    scripts when available.
2694
2695	<li>fix configure-script check for <code>SYSV</code> definition by
2696	    ensuring whether <code>sys_errlist[]</code> is declared, and by
2697	    modifying the test program to include <code>X11/Intrinsic.h</code>
2698	    to check that <code>wchar_t</code> is declared consistently (report
2699	    by H Merijn Brand).
2700</ul>
2701
2702<H1><A NAME="xterm_183">Patch #183 - 2003/12/26 - XFree86 4.3.99.903</A></H1>
2703<ul>
2704	<li>correct logic for configurations that may attempt to open both
2705	    old/new-style pseudoterminals.  In this case, the old-style are
2706	    preferred.  Logic was broken in <a href="#xterm_145">patch #145</a>
2707	    (XFree86 Bugzilla #997, report/patch by Kean Johnston).
2708
2709	<li>modify handling of <code>eightBitInput</code> resource in UTF-8
2710	    mode to translate the value into UTF-8.  Otherwise an illegal
2711	    UTF-8 code is sent to the application (report by Bram Moolenaar).
2712
2713	<li>modify <code>uxterm</code> script to interpret help and version
2714	    options so xterm does not always create a window when the user
2715	    requests this information (Debian #223926).
2716
2717	<li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla #981).
2718
2719	<li>modify DECSCL to perform a hard reset (RIS) as per DEC manuals.
2720	    Extended DECSCL to accept parameters for vt4XX and vt5xx terminals.
2721
2722	<li>correct logic for ANSI conformance level escape sequences, which
2723	    were confused with DEC conformance level escape sequences.
2724
2725	<li>correct state for vt52 shift-in/shift-out, which was not reset
2726	    properly after <a href="#xterm_171">patch #171</a>.
2727
2728	<li>correct handling of graphics characters for vt52 mode, which did
2729	    not display line-drawing characters after G1 fix from
2730	    <a href="#xterm_182">patch #182</a>.
2731
2732	<li>fixes for configure script to work with current Cygwin headers
2733	    and libraries.
2734
2735	<li>modify <code>Imakefile</code> to put the current directory at the
2736	    beginning of the include searchpath (David Dawes).
2737</ul>
2738
2739<H1><A NAME="xterm_182">Patch #182 - 2003/12/2 - XFree86 4.3.99.901</A></H1>
2740<ul>
2741	<li>correct logic for <code>metaSendsEscape</code> resource to allow
2742	    for the meta-right key to be tested.  Improve check for meta/alt
2743	    modifiers by dropping the assumption that a keysym is associated
2744	    with only one modifier, and by ignoring NoSymbol entries in the
2745	    xmodmap data (XFree86 Bugzilla #924, patch by David Dawes).
2746
2747	<li>correct wrapping logic for line-drawing characters written in
2748	    non-UTF-8 mode of xterm build for wide-characters (XFree86 Bugzilla
2749	    #918, report/patch by J&#x00fc;rgen Keil).
2750
2751	<li>improve manpage description of resources, in particular the
2752	    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).
2753
2754	<li>add definitions to compile with glibc-based GNU/Hurd, GNU/KFreeBSD
2755	    and GNU/KNetBSD (XFree86 Bugzilla #893).
2756
2757	<li>compiler-warning fixes (patch by Christian Biere).
2758
2759	<li>add README.i18n (Tomohiro KUBOTA).
2760
2761	<li>correct initialization of G1 character set mapping, which used
2762	    line-drawing set as a result of confusion between "DEC Supplemental
2763	    Graphic" and "DEC Special Graphic" character sets
2764	    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).
2765
2766	<li>correct ifdef in main.c for variable utret (patch by
2767	    Bernhard Rosenkraenzer).
2768
2769	<li>document in xterm's manpage how to use XFree86 ":unscaled" keyword
2770	    to suppress scaling of bold fonts.
2771
2772	<li>when deriving bold fontname from normal fontname, use the normal
2773	    font's average width to avoid for example selecting 7x13bold
2774	    from an 8x13 normal font (Debian #107769).
2775</ul>
2776
2777<H1><A NAME="xterm_181">Patch #181 - 2003/10/26 - XFree86 4.3.99.15</A></H1>
2778<ul>
2779	<li>implement <code>boldMode</code> for wide-character logic in
2780	    <code>drawXtermText()</code> (report by Michael Schroeder).
2781
2782	<li>modify <code>UXTerm.ad</code> resource file to include
2783	    "XTerm-color" rather than "XTerm", in case the latter file contains
2784	    no color resource definitions, e.g., after <a
2785	    href="#xterm_180">patch #180</a>.
2786
2787	<li>add action <code>load-vt-fonts()</code> and configure option
2788	    <code>--enable-load-vt-fonts</code> which allows users to define
2789	    additional sets of VT-fonts which can be loaded at runtime.
2790
2791	<li>add logic to wide-character support which attempts to load fonts
2792	    specified by <code>utf8Fonts</code> subresources at startup.  The
2793	    subresources have the same names as the fonts which they replace,
2794	    e.g., <code>font</code>, <code>font1</code>, etc., so that the
2795	    ISO-10646-1 fonts can be specified in the <code>XTerm</code>
2796	    app-defaults file (this is an adaptation of a patch by Tomohiro
2797	    KUBOTA).
2798
2799	<li>improve Set Font escape string handling by making the relative
2800	    settings apply to the size of the font, as in shift keypad
2801	    plus/minus rather than the menu index.
2802
2803	<li>simplify parameter passing for the <code>set-vt-font</code> action
2804	    and related code.
2805
2806	<li>cleanup some include-ordering, moving some recently-added hardcoded
2807	    stuff into xterm.h where it will not interfere with the configure
2808	    script.
2809
2810	<li>modify <code>xtermAddInput()</code> (see note on augmentation in <a
2811	    href="#xterm_158">patch #158</a>) to use the complete set of
2812	    default keyboard translations so that one can use shifted pageup,
2813	    wheel mouse, etc., while the mouse pointer is over the scrollbar.
2814	    (Debian #178812).
2815
2816	<li>make save/restore mode controls apply to show/blink cursor states.
2817
2818	<li>add escape sequence to start/stop blinking cursor, which allows
2819	    implementing <code>cvvis</code> terminfo capability (request by
2820	    Nate Bargmann).
2821
2822	<li>add <code>indp</code> and <code>rin</code> to terminfo entry.
2823
2824	<li>fix an out-of-bounds array reference in ScrnRefresh() for wide
2825	    characters (report by Dan Harnett, patch by Todd Miller, bug dates
2826	    from <a href="#xterm_141">patch #141</a>).
2827</ul>
2828
2829<H1><A NAME="xterm_180">Patch #180 - 2003/10/12 - XFree86 4.3.99.15</A></H1>
2830<ul>
2831	<li>several fixes for rendering using Xft (option <code>-fa</code>):
2832	  <ul>
2833	  <li>translate Unicode values (from UTF-8 output to xterm) for
2834	      line-drawing to xterm's internal code, etc., since TrueType fonts
2835	      generally do not have either set of line-drawing glyphs.  xterm
2836	      can draw these directly (report by Abigail Brady).
2837	  <li>pass 16-bit values rather than 8-bit values to
2838	      xtermXftDrawString() to allow for wide-characters.
2839	  <li>remove spurious check for <code>colorBDMode</code> resource in
2840	      logic that does bold fonts.
2841	  <li>implement underlining.
2842	  </ul>
2843
2844	<li>patches by Ilya Zakharevich:
2845	  <ul>
2846	  <li>improve drawXtermText() by making the recursive calls
2847	      communicate through arguments, and not through saving/restoring
2848	      global variables.
2849
2850	  <li>make double-width characters work with <code>-u8</code> option.
2851
2852	  <li>modify lookup of double-sized fonts by checking for a match
2853	      ignoring x/y resolution if the first check fails.
2854	  </ul>
2855
2856	<li>make height of TrueType fonts match ascent+descent (patch by
2857	    Keith Packard).
2858
2859	<li>correct configure-script check for imake $CFLAGS, which did not
2860	    check properly if imake was not available.
2861
2862	<li>correct install rule in Makefile.in for <code>uxterm</code>, which
2863	    was attempting to strip the script (newsgroup posting by Fernan
2864	    Aguero).
2865
2866	<li>correct AF/AB strings in termcap for xterm-256color and
2867	    xterm-88color entries (report by Josh Howard).
2868
2869	<li>update wcwidth.c to incorporate changes from Markus Kuhn's
2870	    2003-05-20 (Unicode 4.0) version of that file.
2871
2872	<li>modify <code>scroll-back</code> and <code>scroll-forw</code>
2873	    actions to accept an adjustment value, e.g.,
2874	    <pre>
2875	      <code>scroll-back(1, page-2)</code></pre>
2876	    to scroll back by 2 lines less than a page (patch by Greg
2877	    Klanderman).
2878
2879	<li>use color resource setting from Debian package for xterm VT100 widget,
2880	    since the choice of blues provides better contrast.
2881
2882	<li>remove color resources from <code>XTerm.ad</code>, leaving them
2883	    only in <code>XTerm-col.ad</code> (prompted by Debian package for
2884	    xterm).
2885
2886	<li>correct configure script option --enable-pty-handshake (report by
2887	    Paul Gilmartin).
2888
2889	<li>add <code>visualBellDelay</code> resource to modify the length of
2890	    time used for visual bell, for very slow displays or very fast
2891	    computers (reports by Ingo van Lil and Doug Toppin).
2892
2893	<li>correct logic for initializing dynamic highlight color (patch by
2894	    Jess Thrysoee).
2895
2896	<li>add a check for non-zero size in call to <code>XCopyArea()</code>
2897	    to accommodate a Solaris bug.
2898
2899	<li>correct typo in example for character classes in xterm manpage
2900	   (Debian #198910).
2901
2902	<li>link xterm with bind_on_load option on Darwin to work around a
2903	   deadlock in the dynamic loader when a signal is received while
2904	   the dynamic loader is looking up symbols (patches by Rob Braun,
2905	   Torrey Lyons).
2906
2907	<li>modify configure script to avoid using "head -1".
2908
2909	<li>update config.guess, config.sub
2910
2911	<li>modify ifdef's to work around inclusion of types FcChar32 and
2912	   XftCharSpec with FreeType 2.0 (see <a href="#xterm_175">patch #175</a>).
2913
2914	<li>modify the predictable version of the generated logfile name (see
2915	   <a href="#xterm_171">patch #171</a>) to append the process-id rather
2916	   than a random value.
2917
2918	<li>resync with XFree86 CVS:
2919	<ul>
2920	   <li>Enable SCO function keys in xterm
2921	   <li>Make Delete key send DEL by default on SCO in xterm
2922	</ul>
2923</ul>
2924
2925<H1><A NAME="xterm_179">Patch #179 - 2003/5/21 - XFree86 4.3.99.5</A></H1>
2926<ul>
2927	<li>modify ifdef's for WTMPX_FILE to allow building on cygwin again.
2928
2929	<li>change the default of pty-handshaking configure option (and related
2930	    default for imake) to assume this feature is needed.
2931
2932	<li>add ifdef's so configure option for XawPlus library works (patch
2933	    by Pavel Roskin).
2934
2935	<li>add <code>$(MAIN_DEFINES)</code> to the variables checked by the
2936	    configure script that may contain information set by imake.  This
2937	    allows xterm to build/run properly using the configure script on
2938	    IRIX64.
2939
2940	<li>add configure check for ".exe" suffix on cygwin.
2941</ul>
2942
2943<H1><A NAME="xterm_178">Patch #178 - 2003/5/18 - XFree86 4.3.99.5</A></H1>
2944<ul>
2945	<li>modify default for configure <code>--enable-pty-handshake</code>
2946	    option to enable it for Solaris (report by Nelson Beebe).
2947
2948	<li>modify <code>in_put()</code> function to call
2949	    <code>PreeditPosition()</code> only when the cursor's position has
2950	    changed.  This addresses report by Stefan Baums of high CPU usage
2951	    while xterm with chinput are running in the background (patch by
2952	    Yong Li).
2953
2954	<li>improved explanation of <code>-ls</code> conflict with
2955	    <code>-e</code> option in xterm manpage (adapted from comments by
2956	    Henning Makholm).
2957
2958	<li>correct comment in terminfo file regarding modifier used for
2959	    <code>kDC</code> (Debian #189764, report by Henning Makholm).
2960
2961	<li>correct/extend some of the keypad description in ctlseqs.ms
2962	    (report by Henning Makholm).
2963
2964	<li>correct keypad-mapping table in input.c so <code>XK_KP_Equal</code>
2965	    works (report by Henning Makholm).
2966
2967	<li>modified to work with CJK double-width (bi-width/monospace) fonts.
2968	    They're similar to Roman Czbora and David Starner's gnuunifonts in
2969	    that Latin letters and numbers have all the same width which is
2970	    exactly the half of the width of East Asian characters.  (patch by
2971	    Jungshik Shin &lt;jshin@mailaps.org&gt;).
2972
2973	<li>add configure option <code>--enable-broken-osc</code> and resource
2974	    <code>brokenLinuxOSC</code> to accommodate scripts which do not
2975	    distinguish between running in the Linux console and running in X.
2976	    Linux console recognizes malformed control strings which start
2977	    with an <code>OSC</code>, but are fixed-length, with no terminator.
2978
2979	<li>add configure option <code>--enable-broken-st</code> and resource
2980	    <code>brokenStringTerm</code> to allow
2981	    user to revert one part of the parsing table corrections from
2982	    <a href="#xterm_171">patch #171</a>.  (reports by
2983	    Matthias Scheler and
2984	    Kirill Ponomarew indicate that someone's
2985	    network firmware sends an <code>&lt;escape&gt;X</code>).
2986
2987	<li>modify configure <code>--disable-imake</code> to provide values
2988	    for <code>OSMAJORVERSION</code>, <code>OSMINORVERSION</code>,
2989	    <code>FUNCPROTO</code> and <code>NARROWPROTO</code> (report by
2990	    Heiko Schlichting).
2991
2992	<li>correct <code>vttests/16colors.sh</code>, which omitted the
2993	    <code>$SUF</code> variable in output strings (patch by Paul
2994	    Gilmartin).
2995
2996	<li>modify shell scripts in <code>vttests</code> directory to attempt
2997	    to use named signals in the <code>trap</code> statement, making
2998	    this portable to OS/390 (report by Paul Gilmartin).  Tested on
2999	    SunOS 4.1.4, which implements only numbers.
3000</ul>
3001
3002<H1><A NAME="xterm_177">Patch #177 - 2003/3/23 - XFree86 4.3.0</A></H1>
3003<ul>
3004	<li>fix definition of <code>USE_HANDSHAKE</code>, must be numeric
3005	    (reported by Jens Schleusener).
3006</ul>
3007
3008<H1><A NAME="xterm_176">Patch #176 - 2003/3/22 - XFree86 4.3.0</A></H1>
3009<ul>
3010	<li>add configure option <code>--enable-pty-handshake</code> to allow
3011	    one to compile-in support for the pty handshaking logic, and
3012	    resource <code>ptyHandshake</code> to enable or disable it
3013	    (suggested by Ian Collier).
3014
3015	<li>restore <code>USE_HANDSHAKE</code> ifdef removed in
3016	    <a href="#xterm_159">patch #159</a>
3017	    to address Debian #39964.
3018
3019	<li>move ifdef's for ttysize/winsize into xterm_io.h
3020
3021	<li>simplify loop on <code>tgetent</code>, check if the successive
3022	    entries in the lookup table are the same.  That makes xterm do
3023	    one less lookup if there is no "xterm" entry in the termcap file
3024	    (report by Derek Martin).
3025
3026	<li>correct manpage discussion of <code>$TERM</code> and
3027	    <code>$TERMCAP</code> variables, which omitted the Tektronix
3028	    emulation and a note of the final "dumb" fallback.
3029
3030	<li>broaden ifdef for <code>XRegisterIMInstantiateCallback()</code>
3031	    from <a href="#xterm_175">patch #175</a> (XIM fix) to exclude
3032	    non-XFree86 (report by Nelson Beebe indicates this breaks for
3033	    Solaris, IRIX and OSF/1).
3034
3035	<li>correct resource-size for <code>iconFont</code> (this was added
3036	    by X11R6.3).
3037
3038	<li>improve configure check for XKB bell extension, to work around
3039	    inconsistent implementation of this feature (reports by Nelson
3040	    Beebe, Kriston Rehberg and David Ellement).
3041
3042	<li>modify configure-check for <code>tty</code> group to be less
3043	    strict in batch mode (report by Nelson Beebe).
3044
3045	<li>modify to allow building with g++, to use its compiler warnings
3046	    (suggested by Nelson Beebe).
3047
3048	<li>modify <code>dec2ucs[]</code> table to reflect newer codes
3049	    available for scanlines 1, 3, 7, 9 (report by Michael Schroeder).
3050
3051	<li>add configure option for XawPlus library.
3052</ul>
3053
3054<H1><A NAME="xterm_175">Patch #175 - 2003/3/9 - XFree86 4.3.0</A></H1>
3055<ul>
3056	<li>fix a SIGSEGV which could occur if xterm is connecting to XIM
3057	    server, and the XIM server is destroyed (patch by Nam SungHyun).
3058
3059	<li>modify to use built-in line-drawing characters for Xft fonts
3060	    (patch by Andrew Tipton).
3061
3062	<li>make menu reflect the state of the <code>tekInhibit</code>
3063	    resource.
3064
3065	<li>make <code>signalInhibit</code> resource work, i.e., disable the
3066	    menu entries that would send signals to, or exit xterm.  This was
3067	    probably broken in X11R5 when logging was disabled (report by Sven
3068	    Mascheck).
3069
3070	<li>changed classes of <code>colorBDMode</code> and similar
3071	    resources that override colors when a video attribute is
3072	    set to <code>ColorAttrMode</code>, to make them distinct
3073	    from <code>ColorMode</code>.  This avoids an unexpected
3074	    rendering of reverse video, for example (report by Paul Fox).
3075
3076	<li>changed class of <code>veryBoldColors</code> to
3077	    <code>VeryBoldColors</code>, since
3078	    <code>ColorMode</code> is associated with boolean resources.
3079
3080	<li>add option <code>-k8</code> and resource
3081	    <code>allowC1Printable</code> to allow users of non-VTxxx
3082	    character sets such as KOI-8 to treat the C1 control area
3083	    (character codes 128-159) as printable rather than control
3084	    characters.
3085
3086	<li>add a null-pointer check for return-value of <code>ptsname()</code>
3087	    in HPUX-specific code (report by David Ellement).
3088
3089	<li>revise the ifdef's used for <code>XKB</code> bell support.  The
3090	    code was using a nonstandard call <code>XkbStdBell()</code>.
3091	    Changed to use <code>XkbBell()</code> (based on patch by
3092	    &lt;derek@signalmarketing.com&gt;).
3093
3094	<li>add a null-pointer check in <code>xtermLoadFont()</code> in case
3095	    there is no wide-bold font (Nam SungHyun).
3096
3097	<li>change <code>Makefile.in</code> to use autoconf's
3098	    <code>bindir</code>, <code>libdir</code> and <code>mandir</code>
3099	    variables (report by Nam SungHyun).
3100
3101	<li>add <code>le</code> to termcap <code>xterm-basic</code> entry.
3102	    Though missing from older termcaps for xterm, some applications
3103	    check for it (report by Matthias Buelow).
3104
3105	<li>modify <code>uxterm</code> script to strip modifiers such as "@euro"
3106	    from the locale setting before adding ".UTF-8" (Debian #179929).
3107
3108	<li>modify the remaining places where tek4014 emulation uses
3109	    <code>XDefineCursor()</code>, to make it work as originally
3110	    implemented, e.g., when switching back to alpha mode.
3111	    Added test-screen in vttest to test this feature properly.
3112</ul>
3113
3114<H1><A NAME="xterm_174">Patch #174 - 2003/2/25 - XFree86 4.2.99.903</A></H1>
3115<ul>
3116	<li>work-around for XFree86 bug which made <code>XDefineCursor()</code>
3117	    on a shell-window no longer work.  The tek4014 emulation used this.
3118	    Use the next lower window (report by Karl Rudolf Bauchspiess).
3119
3120	<li>add a resource setting <code>allowWindowOps</code> to control
3121	    whether the extended window operations should be allowed, e.g.,
3122	    resize, iconify, report window attributes.  This is to accommodate
3123	    people who are not capable of using a pager to view log-files.
3124</ul>
3125
3126<H1><A NAME="xterm_173">Patch #173 - 2003/2/6 - XFree86 4.2.99.902</A></H1>
3127<ul>
3128	<li>reset mouse mode to normal on a full reset.  This does not apply
3129	    to mouse hilite tracking mode, of course (see ctlseqs.ms).
3130
3131	<li>add a time-delay at the point where mouse hilite tracking mode
3132	    choses to not handle X events, to avoid runaway CPU usage
3133	    (report by D Hugh Redelmeier).
3134
3135	<li>check for illegal character in DECUDK string, quit if detected.
3136</ul>
3137
3138<H1><A NAME="xterm_172">Patch #172 - 2002/12/27 - XFree86 4.2.99.3</A></H1>
3139<ul>
3140	<li>fixes to make repainting of 256-color example work properly
3141	  (reports by Abigail Brady and Scott A Crosby).
3142	  <ul>
3143	   <li>set flag in <code>AllocateAnsiColor()</code> to ensure the color
3144	     is allocated once only.
3145	   <li>fix check in <code>ScrnRefresh</code>, which was comparing
3146	     background colors only if the ANSI foreground colors also were set.
3147	  </ul>
3148
3149	<li>merge <code>Error()</code> calls and some <code>exit()</code> calls
3150	  into <code>SysError()</code>, and change that to add the brief
3151	  explanation for each error code which is provided in the manpage.
3152	  Change a few <code>SysError()</code>, calls to avoid using code 1, to
3153	  avoid confusion with exit status from places that do not use
3154	  <code>SysError()</code>.
3155
3156	<li>simplify logic used to open a debug logfile as the standard error.
3157
3158	<li>modify the <code>-e</code> option so that if it fails, xterm will
3159	  check if only one argument follows, e.g., it was quoted, and then
3160	  retry using <code>sh&nbsp;-c</code>.
3161
3162	<li>modify parsing of DECUDK string parameter to allow a comma between
3163	  pairs of hexadecimal digits (Ray Neuman &lt;raymond@one.com.au&gt;
3164	  reports that "real" terminals accept this; perhaps they simply
3165	  ignore unexpected characters).
3166
3167	<li>fix a few problems with the <code>$TERMCAP</code> string generated
3168	  by <code>resize</code>:
3169	  <ul>
3170	   <li>for Bourne shell, add an <code>export</code> command.
3171	     This was missing as far back as X11R5.
3172	   <li>escape exclamation marks, used in xterm's reset string.
3173	   <li>translate literal <code>\177\</code> to "^?".
3174	  </ul>
3175
3176	<li>improve configure check for <code>tgetent()</code> to work when
3177	  <code>$TERMCAP</code> has been set to a specific entry.
3178
3179	<li>modify <code>minstall.sh</code> to use "%" rather than "@",
3180	  to avoid problems with AFS (report by Zdenek Sekera).
3181
3182	<li>list fatal error codes from <code>error.h</code> in the manpage,
3183	  remove unused codes in <code>error.h</code>.
3184
3185	<li>use more explicit wording for manpage list of color resources,
3186	  since at least one user confused the generic names such as "black"
3187	  with the names in rgb.txt (the latter are now used).
3188
3189	<li>minor fix to description of 1003 mouse mode in ctlseqs.ms
3190	  (Larry Riedel).
3191</ul>
3192
3193<H1><A NAME="xterm_171">Patch #171 - 2002/12/12 - XFree86 4.2.99.3</A></H1>
3194<ul>
3195	<li>modify parser tables to improve detection of malformed control
3196	  sequences, making xterm behave more like a real DEC terminal
3197	  (patch by Paul Williams).
3198
3199	<li>update comment in <code>input.c</code> to document
3200	  <code>Meta</code> as a modifier for escape sequences (patch by D
3201	  Roland Walker).
3202
3203	<li>add ifdef'd code for logging option which adds the hostname and a
3204	  timestamp to the generated logfile name.  The ifdef's are setup
3205	  with the configure script (patch by Nelson Beebe).
3206
3207	<li>remove <code>xevents()</code> call from the end of
3208	  <code>BlinkCursor()</code>, to fix an occasional problem
3209	  which caused xterm to pause until a key was pressed.
3210	  The reason for this was that there was no check to ensure that
3211	  there really were events for <code>xevents()</code> to process.
3212	  (patch by Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).
3213
3214	<li>remove unused mode-params from <code>open()</code> calls that do
3215	  not create a file.
3216
3217	<li>modify configure script to put new items first on
3218	  <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid conflict
3219	  with environment's <em>-I</em> and <em>-D</em> options.
3220
3221	<li>update config.guess, config.sub
3222
3223	<li>resync with XFree86 CVS:
3224	<ul>
3225	  <li>fix va_args glitches for xterm/libfontconfig:  0 == (void*)0
3226	    isn't true for all platforms (Egbert Eich).
3227	  <li>initialise ProgramName in xterm's main before referencing it
3228	    (#5473, Peter Valchev).
3229          <li>some cleanup of Imakefile ifdef's (Marc La France).
3230	</ul>
3231</ul>
3232
3233<H1><A NAME="xterm_170">Patch #170 - 2002/10/13 - XFree86 4.2.1</A></H1>
3234<ul>
3235	<li>correct an off-by-one allocating data for sorted help message.
3236
3237	<li>modify configure script to check for Xpm library, on which XFree86
3238	  Xaw library depends.
3239
3240	<li>update config.guess, config.sub
3241</ul>
3242
3243<H1><A NAME="xterm_169">Patch #169 - 2002/10/5 - XFree86 4.2.1</A></H1>
3244<ul>
3245	<li>modify wording of some options in help message to make them use
3246	  <code>-/+</code> consistently with respect to "on/off" or "off/on".
3247
3248	<li>sort options list which is displayed in help- and syntax-messages
3249	  at runtime to simplify maintenance.
3250
3251	<li>remove support for Amoeba and Minix (Juliusz Chroboczek noted it
3252	  was removed from XFree86 server; there have been no users since
3253	  1996).
3254
3255	<li>add configure script option <code>--disable-session-mgt</code>
3256	  to control whether the session management code should be compiled-in
3257	  (request by H Merijn Brand).
3258
3259	<li>ifdef'd the session-management changes with
3260	  <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which predates
3261	  the related definitions.
3262
3263	<li>fix <code>decode_keyvalue()</code>, which did not properly parse
3264	  multiple settings as needed for the <code>ttyModes</code> resource,
3265	  since it did not skip over the parsed data.
3266
3267	<li>fix an option-parsing conflict between <code>-class</code> and
3268	  <code>-cjk_width</code> (Nam SungHyun)
3269
3270	<li>add a missing null in <code>XtVaSetValues()</code> call used in
3271	  <code>Cleanup()</code> (Nam SungHyun)
3272</ul>
3273
3274<H1><A NAME="xterm_168">Patch #168 - 2002/9/29 - XFree86 4.2.1</A></H1>
3275<ul>
3276	<li>improve data reported for control sequence that requests window
3277	  position by taking into account the window decorations, e.g.,
3278	  border and title (patch by Jess Thrysoee &lt;jess@thrysoee.dk&gt;).
3279
3280	<li>add <code>-cjk_width</code> and corresponding resource
3281	  <code>cjkWidth</code> (patch by Jungshik Shin
3282	  &lt;jshin@mailaps.org&gt;).
3283
3284	<li>add <code>-into</code> option, for embedding xterm in a Tcl/Tk
3285	  application (patch by George Peter Staplin &lt;georgeps@xmission.com&gt;).
3286
3287	<li>add simple session management (XSM) client capabilities to xterm.
3288	  So a session manager such as, e.g., xsm, should be able to respawn or
3289	  kill xterms without the help of an SM proxy (like smproxy), which is
3290	  a hack and almost always buggy (patch by David Madore).
3291
3292	<li>fix conflict between ifdef's for <code>OPT_DEC_LOCATOR</code> and
3293	  <code>OPT_READLINE</code> in button.c (reported by Ilya Zakharevich).
3294
3295	<li>fix for inconsistent use of <code>struct utmp</code> versus
3296	  <code>struct utmpx</code> introduced in <a href="#xterm_167">patch #167</a>
3297	  (patches by Paul Gilmartin, Marc La France).
3298
3299	<li>modify logic for <code>metaSendsEscape</code> to allow it to work
3300	  in a setup where the Meta-key is not recognized as a modifier by
3301	  the key-translations logic (from a discussion of eightBitInput
3302	  with H.J.Lu, however Vincent Lefevre reported this in January).
3303
3304	<li>use null pointer values consistently, rather than literal "0", for
3305	  ending variable-length argument lists, e.g., for
3306	  <code>execlp()</code> (based on patch by Matthieu Herrb).
3307
3308	<li>correct logic of <code>ChangeAnsiColorRequest()</code>, which would
3309	  do a screen repaint after replying to a request for information.
3310
3311	<li>improve scripts in vttests to work with systems whose shells support
3312	  <code>echo -n</code> and have, as does Debian, an unrelated
3313	  <code>print</code> utility.
3314
3315	<li>add vttests/acolors.sh to demonstrate OSC 4, which queries or
3316	  sets ANSI colors.
3317
3318	<li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).
3319
3320	<li>typos in xterm manpage (Jens Schweikhardt)
3321
3322	<li>remove a redundant GCC_UNUSED from InitPopup() (Nam SungHyun)
3323</ul>
3324
3325<H1><A NAME="xterm_167">Patch #167 - 2002/8/24 - XFree86 4.2.0</A></H1>
3326<ul>
3327	<li>correct ifdef's for <code>USE_TERMCAP</code> to match cygwin
3328	  configuration.
3329
3330	<li>fix several places in ctlseqs.ms which had no boxes around the
3331	  literal text (report by Ilya Zakharevich).
3332
3333	<li>integrated patch from Ilya Zakharevich to extend mouse support for
3334	  readline (ifdef'd with OPT_READLINE).
3335
3336	<li>modify terminfo description to match default for
3337	  <code>modifyCursorKeys</code> resource.
3338
3339	<li>add <code>modifyCursorKeys</code> resource to control how the
3340	  shift- and similar modifiers are used to make a cursor escape
3341	  sequence.  The default makes a modified escape sequence always start
3342	  with CSI and puts the modifier as the second parameter, to avoid
3343	  confusing applications that would interpret the first parameter as a
3344	  repeat count.  The original behavior can be obtained by setting the
3345	  resource to 0 (from newsgroup discussion with Stephen J Turnbull
3346	  and Jeffrey Altman).
3347
3348	<li>correct missing initializations for <code>appdefaultCursor</code>
3349	  and <code>appdefaultKeypad</code> resources.
3350
3351	<li>add configure option <code>--enable-luit</code> and ifdef'd the
3352	  luit-related code with OPT_LUIT_PROG.
3353
3354	<li>integrate patch by Tomohiro KUBOTA from
3355	  http://www.xfree86.org/pipermail/i18n/2002-July/003378.html which
3356	  modifies xterm to invoke luit.
3357
3358	<li>update wcwidth.c to match Markus Kuhn's 2002-05-18 version.
3359
3360	<li>correct limit-checking in <code>ComputeSelect()</code> to handle
3361	  selections that extend off the visible area; rather
3362	  than modify the parameters to <code>TrackText()</code>, use
3363	  <code>ScrollSelection()</code> to update the highlighting limits.
3364	  (reported by Yegappan Lakshmanan and Nelson Beebe,
3365	   patch by Alexander V Lukyanov).
3366
3367	<li>correct manpage description of <code>tiXtraScroll</code> resource
3368	  (reported by Tony Finch).
3369
3370	<li>changes from OpenBSD:
3371	<ul>
3372	   <li>Make xterm setgid utmp to be able to update utmp even
3373	   with root privileges revoked.
3374	   <li>If not updating utmp, revoke group privileges totally too.
3375	</ul>
3376
3377	<li>changes from NetBSD:
3378	<ul>
3379	 <li>Check that the return value from ttyslot() is greater than 0
3380	  before writing the utmp file.
3381	  Fixes w's "w: Stale utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;" errors.
3382	 <li>Use openpty() to deal with new pty naming scheme.
3383	</ul>
3384
3385	<li>add <code>print-redir</code> action and menu entry to allow user to
3386	  switch terminal in/out of printer controller mode.  It appears from
3387	  the manual that a real vt220 would not switch back to normal mode, so
3388	  another mechanism is used (addresses Debian #37517).
3389
3390	<li>check if <code>printerCommand</code> resource string is empty, use
3391	  this to allow user to disable printer function.
3392
3393	<li>trim trailing blanks from resource strings.
3394
3395	<li>check return value from <code>ptsname()</code>, which may return
3396	  null for example if someone has changed the permissions of /dev/pts
3397	  to zero (Debian #121899).
3398
3399	<li>modify OS/2 version to use <code>__UNIXOS2__</code> definition
3400	  rather than <code>__EMX__</code>, related cleanup (patch by Holger
3401	  Veit).
3402
3403	<li>used modified indent 2.0
3404	  (patch <a href="ftp://invisible-island.net/gnu-patches/">20020428</a>)
3405	  to reformat most of the C source files, to simplify maintenance.
3406
3407	<li>fix a couple of places where there were leading tabs on
3408	  symbol-definition lines in Imakefile (Marc La France from report by
3409	  Tony Finch)
3410
3411	<li>add imake variable (TraceXTerm) to allow building debug version
3412	  (Egbert Eich).
3413</ul>
3414
3415<H1><A NAME="xterm_166">Patch #166 - 2002/03/25 - XFree86 4.2.0</A></H1>
3416<ul>
3417	<li>correct a bug in selection: double clicking on a word which
3418	  was partly scrolled off the screen may select that text (report
3419	  by Vincent Lefevre &lt;vincent@vinc17.org&gt;).
3420
3421	<li>implement <code>veryBoldColors</code> resource to control whether
3422	  the corresponding video attribute such as <code>bold</code> is
3423	  displayed when using <code>colorBDMode</code>, etc.  (request by Josh
3424	  Howard &lt;jrh@vicor-nb.com&gt;).
3425
3426	<li>define escape sequences for function keys F21-F35 (patch by Steve Wall).
3427
3428	<li>change the colors for the 256-color model, making them less skewed
3429	  toward black (patch by Steve Wall).
3430
3431	<li>add <code>vt100Graphics</code> resource
3432	  (see <a href="#xterm_115">patch #115</a>,
3433	  based on discussion with Glenn Maynard).
3434
3435	<li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid potential
3436	  incompatibilities between these flavors of Athena widgets.
3437
3438	<li>add configure check for XFree86 4.x Xaw library, whose geometry
3439	  management is broken, to avoid trying to use it for toolbar
3440	  configuration.
3441
3442	<li>updates to configure script from vile and lynx to allow
3443	  configure.in to be compiled with autoconf 2.5x
3444
3445	<li>add a check for null pointer return by <code>ptsname()</code>
3446	  (newsgroup posting from Mike Silva &lt;mikesilva@lucent.com&gt;).
3447
3448	<li>fill in a few details needed to allow UTF-8 mode to switch on/off
3449	  after startup.  This requires that <code>wideChars</code> resource be
3450	  set.  (based on comments in 4 Aug 2001 by Alexey Marinichev
3451	  &lt;lyosha@lyosha.2y.net&gt;).
3452
3453	<li>remove duplicate install rules that make directories, e.g., so installing
3454	  manpage will not create app-defaults directory.
3455
3456	<li>add comment in in <code>do_osc()</code>, reserving cases 30 and 31
3457	  for for Konsole (request by Stephan Binner
3458	  &lt;Stephan.Binner@gmx.de&gt;).
3459
3460	<li>fixes for ctlseqs.ms and xterm.man
3461	  (patch by Werner LEMBERG &lt;wl@gnu.org&gt;).
3462
3463	<li>add check for monochrome display, disabling colorMode in that
3464	  case (fixes Debian #134130).
3465
3466	<li>resync with XFree86 CVS:
3467	<ul>
3468	   <li>Fix some xterm build warnings on *BSD (David Dawes).
3469	   <li>Only use SA_RESTART in xterm when it's available (Frank Liu).
3470	   <li>Fix incorrect code in signal handlers in most of the clients,
3471	     xterm and xdm not done yet (Matthieu Herrb).
3472	</ul>
3473</ul>
3474
3475<H1><A NAME="xterm_165">Patch #165 - 2002/01/05 - XFree86 4.1.0</A></H1>
3476<ul>
3477	<li>modify <code>uxterm</code> script to strip encoding part from
3478	  environment variable before adding ".UTF-8" (based on Debian
3479	  #125947, but using a more portable solution).
3480
3481	<li>add an assignment statement in VTInitialize() to make
3482	  <code>awaitInput</code> resource work.
3483
3484	<li>use new macros init_Bres(), etc., in VTInitialize() to add trace of
3485	  the initialization of resources.
3486
3487	<li>modify checks for $LC_ALL, related environment variables to ensure
3488	  the resulting strings are nonempty (report by Markus Kuhn).
3489
3490	<li>add an ifdef in charproc.c for num_ptrs variable in case all
3491	  configure options are disabled.
3492
3493	<li>modify definition of getXtermBackground() to avoid negative array
3494	  index warning on Tru64 (report by Jeremie Petit).
3495
3496	<li>improve fix from patch #165 (still Debian #117184, report by Matt
3497	  Zimmerman &lt;mdz@debian.org&gt;)
3498
3499	<li>correct install rule for uxterm in Makefile.in, to handle the
3500	  case where building in a different directory than xterm's source
3501	  (patch by Paul Gilmartin).
3502
3503	<li>documented ANSI.SYS-style cursor save/restore escape sequences
3504	  in ctlseqs.ms, which are in xterm since X11R5.
3505
3506	<li>correct two entries in the default charClass table, which did not
3507	  follow the manpage comment about the character number corresponding
3508	  to the class (patch by Marc Bevand &lt;bevand_m@epita.fr&gt;).
3509
3510	<li>fix a couple of typos in comments in the app-defaults files
3511	  (David Krause &lt;xfree86@davidkrause.com&gt;).
3512
3513	<li>resync with XFree86 CVS:
3514	  <ul>
3515	  <li>update language of copyrights in some files to reflect the fact
3516	      that they were reassigned from X Consortium to The Open Group in
3517	      1998.  Note that this xterm source is derived from the 1996
3518	      version from X Consortium, does not incorporate changes made by X
3519	      Consortium or The Open Group after that date, hence we do not add
3520	      The Open Group's 1998 copyright date to related files.
3521
3522	  <li>save/restore <code>errno</code> in signal catcher (Matthieu Herrb).
3523
3524	  <li>modify UXTerm.ad's font5 resource so that xterm can display double
3525	      width characters using a font distributed with XFree86 (Tomohiro KUBOTA).
3526	  </ul>
3527</ul>
3528
3529<H1><A NAME="xterm_164">Patch #164 - 2001/11/13 - XFree86 4.1.0</A></H1>
3530<ul>
3531	<li>correct a case where <code>ptyInitialErase</code> and
3532	  <code>backarrowKeyIsErase</code> resources combine to set
3533	  <code>DECBKM</code> mode, but a <code>reset</code> command would not
3534	  reset xterm to that state, making the erase character revert to ^H
3535	  (Debian #117184)
3536</ul>
3537
3538<H1><A NAME="xterm_163">Patch #163 - 2001/11/04 - XFree86 4.1.0</A></H1>
3539<ul>
3540	<li>correct ifdef's for <code>__QNX__</code> and
3541	  <code>USE_SYSV_PGRP</code> in main.c call to <code>tcsetpgrp</code>,
3542	  which broke bash behavior around <a href="#xterm_140">patch #140</a>
3543	  (report/patch by Frank Liu &lt;fliu@mail.vipstage.com&gt;).
3544
3545	<li>modify trace.c to fix missing definition of GCC_UNUSED for
3546	  compilers other than gcc when configured for trace code (report/patch
3547	  by Paul Gilmartin).
3548
3549	<li>change format in TraceOptions() to use long rather than int, since
3550	  the latter could lose precision on 64-bit machines (report/patch by
3551	  Nelson Beebe).
3552
3553	<li>modify xterm manual page and minstall.sh to allow imake rules
3554	  to define location of app-defaults directory (Debian #87611).
3555
3556	<li>review/update list of conflicting preprocesor symbols to remove
3557	  from $CPPFLAGS at the end of the configure script.  In particular,
3558	  this allows one to configure xterm without the utempter library on
3559	  Redhat 7.1 (report/patch by Adam Sulmicki).
3560</ul>
3561
3562<H1><A NAME="xterm_162">Patch #162 - 2001/10/23 - XFree86 4.1.0</A></H1>
3563<ul>
3564	<li>correct logic that processes <code>-class</code> option, so that
3565	  a following <code>-e</code> option is handled (Debian #116297).
3566
3567	<li>improve options-decoding to allow <code>-version</code> and
3568	  <code>-help</code> options to be combined (Debian #110226).
3569
3570	<li>add a 10 millisecond delay in event loop when processing
3571	  <code>-hold</code> option, to avoid using too much CPU time
3572	  (Debian #116213).
3573
3574	<li>prefix final program execution in <code>uxterm</code> with "exec"
3575	  to avoid a useless shell hanging around (Christian Weisgerber).
3576</ul>
3577
3578<H1><A NAME="xterm_161">Patch #161 - 2001/10/10 - XFree86 4.1.0</A></H1>
3579<ul>
3580	<li>modify logic that resets keypad application mode to avoid doing
3581	   this if there is no modifier associated with the Num_Lock keysym
3582	   (report by John E Davis &lt;davis@space.mit.edu&gt; and Alan W Irwin
3583	   &lt;irwin@beluga.phys.uvic.ca&gt;).
3584
3585	<li>add built-in translation for Control/KP_Separator to KP_Subtract,
3586	   to accommodate users who wish to use xmodmap to reassign the top
3587	   row of the numeric keypad.
3588
3589	<li>correct Imakefile install-rule for <code>uxname</code> script
3590	   (reported by Nam SungHyun &lt;namsh@lge.com&gt;).
3591
3592	<li>resync with XFree86 CVS: correct typo in <code>&lt;ncurses/term.h&gt;</code>
3593	   ifdef.
3594</ul>
3595
3596<H1><A NAME="xterm_160">Patch #160 - 2001/10/7 - XFree86 4.1.0</A></H1>
3597<ul>
3598	<li>modify logic in main.c
3599	    (see <a href="#xterm_145">patch #145</a>) to avoid generating the
3600	    same identifier, for example, for /dev/tty1 and /dev/pts/1, which
3601	    is used to denote an entry in the utmp file (Debian bug report
3602	    #84676),  A similar fix was also sent by Jerome Borsboom
3603	    &lt;borsboom@westbrabant.net&gt; in May, but I overlooked it when
3604	    reviewing bug reports.
3605
3606	<li>add configure check for <code>&lt;ncurses/term.h&gt;</code> to get
3607	    rid of hardcoded <code>__CYGWIN__</code> ifdef in resize.c
3608	    <p>
3609	    NOTE: The CYGWIN port should not be linking <code>resize</code>
3610	    with ncurses.  It appears that the only reason it is, is because
3611	    both the ncurses and termcap ports on that platform are badly
3612	    misconfigured (essential pieces have been removed, etc).  Checking
3613	    for <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
3614	    since there are some correct installations that are set up that
3615	    way.
3616
3617	<li>add a sample <code>uxterm</code> script, which uses the
3618	    <code>UXTerm</code> application defaults for UTF-8 environments.
3619
3620	<li>undo change to xterm application defaults, since this introduced an
3621	    unnecessary incompatibility.  The intended functionality was
3622	    already addressed by the <a href="#xterm_141">UXTerm</a>
3623	    app-defaults file.
3624
3625	<li>resync with XFree86 CVS:
3626	<ul>
3627	<li>Modified xterm app default to use LFD fontnames instead of old type
3628	    (Michael Schroeder).
3629	<li>Fix xterm when XIM is disabled - caused a segfault
3630	    (Tomohiro Kubota).
3631	</ul>
3632</ul>
3633
3634<H1><A NAME="xterm_159">Patch #159 - 2001/9/19 - XFree86 4.1.0</A></H1>
3635<ul>
3636	<li>remove an ifdef for <code>USE_HANDSHAKE</code> added in patch
3637	   #158 from the second <code>TIOCSSIZE</code> ioctl call in the
3638	   initialization code.  Paul Gilmartin reports that for Solaris 2.6
3639	   (sparc), stty does not show that xterm sets rows and columns unless
3640	   the second ioctl is executed.
3641
3642	<li>correct treatment of empty parameter list for some OSC strings
3643	   (report by Sami Farin &lt;sfarin@ratol.fi&gt;).
3644</ul>
3645
3646<H1><A NAME="xterm_158">Patch #158 - 2001/9/8 - XFree86 4.1.0</A></H1>
3647<ul>
3648	<li>augment key translations for scrollbar widget to ensure that
3649	   keystrokes intended for the text area are not lost if the mouse
3650	   pointer happens to fall on the scrollbar.  This can happen, for
3651	   instance, if the user's <code>app-defaults</code> or
3652	   <code>.Xdefaults</code> file contains a translations resource,
3653	   though it may also happen through unrelated resource settings:
3654	   probably a bug in libXt (reported by Paul Fox
3655	   &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu.  Bolkhovityanov
3656	   &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).
3657
3658	<li>widen ifdef's in xterm.h to define <code>__EXTENSIONS__</code> on
3659	   Solaris, for compilers other than gcc.  This was added along
3660	   <code>_POSIX_C_SOURCE</code> with in <a href="#xterm_151">patch
3661	   #151</a>, but is not sufficient since Sun's compiler does not define
3662	   <code>__STDC__</code> by default (report by Matthias Scheler
3663	   &lt;tron@zhadum.de&gt;).
3664
3665	<li>modify xterm to obtain the closest matching color if an exact color
3666	   is not available, e.g., on 8-bit displays (patch by Steve Wall)
3667
3668	<li>patch by Tomohiro KUBOTA &lt;tkubota@riken.go.jp&gt; to implement
3669	  "OverTheSpot" preedit type of XIM input:
3670	  <ul>
3671	  <li>This preedit type is a reasonable compromise between
3672	    simpleness of implementation and usefulness.  "Root" preedit
3673	    type is easy to implement but not useful; "OnTheSpot" preedit
3674	    type is the best in the point of view of user interface but
3675	    very complex.  And more, "OverTheSpot" is the preedit type
3676	    which the most XIM servers support.  Thus, to achieve reasonable
3677	    usability, support of "OverTheSpot" preedit type is needed.
3678
3679	  <li>In "OverTheSpot" preedit type, the preedit (preconversion)
3680	    string is displayed at the position of the cursor.  On the
3681	    other hand, it is XIM server's responsibility to display
3682	    the preedit string.  Thus, it is needed for XIM client (here
3683	    XTerm) to inform the XIM server of the cursor position.
3684	    And more, to achieve good visual proportion, preedit string
3685	    must be written using proper font.  Thus, it is XIM client's
3686	    responsibility to inform the XIM server of the proper font.
3687	    The font must be supplied by "fontset".  Fontset is a set of
3688	    fonts with charsets which are specified by the current locale.
3689	    Since XTerm uses ISO10646 fonts regardless of the current locale,
3690	    the fonts for XIM must be prepared separately.  It is difficult
3691	    to prepare fonts which are similar to XTerm font.  Thus, my
3692	    patch uses a simple way - the default font is "*" which matches
3693	    every fonts and X library will automatically choose fonts with
3694	    proper charsets.  I added "-fx" command option and "ximFont"
3695	    resource to override this default font setting.
3696
3697	  <li>changed the definition of "OverTheSpot" preedit type
3698	    from XIMPreeditPosition|XIMStatusArea
3699	    to XIMPreeditPosition|XIMStatusNothing.
3700	    This matches the behavior of other programs such as
3701	    Rxvt, Kterm, Gedit.
3702
3703	  <li>A tiny XIM bugfix is also included.  By calling XSetLocaleModifiers()
3704	    with parameter of "", it can consier XMODIFIERS environmental
3705	    variable which is a standard way for users to specify XIM server
3706	    to be used.
3707	  </ul>
3708
3709	<li>adjust configure script to accommodate repackaging of keysym2ucs.c
3710	  as include-file for xutf8.c (patch by Tomohiro KUBOTA
3711	  &lt;kubota@debian.org&gt;).
3712
3713	<li>add the <code>UXTerm</code> app-defaults file to makefile install
3714	  rules (request by Juliusz Chroboczek).
3715
3716	<li>correct logic in <code>get_termcap()</code>, which returned false
3717	  if the <code>tgetent()</code> call indicated that xterm was linked
3718	  with terminfo.  Although the <code>$TERMCAP</code> variable cannot be
3719	  adjusted in this case, xterm still needs information from this call
3720	  to extract data to initialize the erase-mode when the
3721	  <code>ptyInitialErase</code> resource is false.
3722
3723	<li>modify <code>ScrollbarReverseVideo()</code> function to cache the
3724	  original border color, so it can restore that when an application
3725	  flashes the screen (Bugzilla #38872).
3726
3727	<li>resync with XFree86 CVS:
3728	<ul>
3729	  <li>remove ifdef's for X_NOT_STDC_ENV (David Dawes).
3730	  <li>add Cygwin to special errno handling case in ptydata.c (Alan Hourihane)
3731	  <li>set screen size earlier in initialization, to address a race
3732	    with window manager resizing its clients (Keith Packard).
3733	</ul>
3734</ul>
3735
3736<H1><A NAME="xterm_157">Patch #157 - 2001/6/18 - XFree86 4.1.0</A></H1>
3737<ul>
3738	<li>patch by Juliusz Chroboczek to clean up button.c and input.c.  The
3739	  basic idea is to use a single set of APIs in the XTerm core, and put
3740	  a set of workarounds in a separate file.  As you will notice, this
3741	  drastically simplifies parts of the code; in particular, the only
3742	  remaining ifdefs related to the differences between Xutf8 and legacy
3743	  systems are related to the selection provider logic.
3744
3745	  This defines two new files, xutf8.h and xutf8.c, provide some
3746	  half-hearted but fully portable emulation for the three Xutf8*
3747	  functions that XTerm uses.
3748
3749	  Putting these in a separate file will allow people to experiment with
3750	  more complex versions without making the core of XTerm more difficult
3751	  to maintain.
3752
3753	  The functionality of the emulation is as follows.
3754	  <ul>
3755	  <li>Xutf8TextListToTextProperty fully handles XStringstyle and
3756	  XUTF8StringStyle.  It will only generate STRING for XStdICCTextStyle,
3757	  and wil only generate Latin-1 in XCompoundTextStyle (but label it as
3758	  COMPOUND_TEXT, as the spec requires).  (I have hesitated to make this
3759	  function fail for XStdICCTextStyle and XCompoundTextStyle; this might
3760	  be a smart thing to do, in the hope that the selection requestor will
3761	  try UTF8_STRING afterwards; opinions?)
3762
3763	  <li>Xutf8TextPropertyToTextList fully handles STRING and UTF8_STRING.
3764	  It systematically fails for COMPOUND_TEXT.
3765
3766	  <li>Xutf8LookupString will properly handle single-keystroke input for
3767	  the keysyms covered by Markus' keysym2ucs function.  It will not
3768	  handle either compose key input or external input methods.
3769	  </ul>
3770
3771	<li>add an ifdef for <code>SunXK_F36</code>, used in
3772	  <code>xtermcapKeycode()</code> (patch by Mark Waggoner
3773	  &lt;waggoner@ichips.intel.com&gt;).
3774
3775	<li>modify check for login name to try <code>getlogin()</code> and
3776	  $LOGNAME, $USER environment variables to detect if the user has
3777	  logged in under an alias, i.e., an account with the same user id
3778	  but a different name (Debian bug report #70084).
3779
3780	<li>add resource <code>tiXtraScroll</code>, which can be used to
3781	  preserve the screen contents in the scrollback rather than erasing
3782	  it when starting a fullscreen application such as <code>vi</code>
3783	  (patch by Ken Martin &lt;fletcher@catsreach.org&gt;).
3784
3785	<li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
3786	<ul>
3787	  <li>added <code>forceBoxChars</code> resource to control the
3788	    "line-drawing characters" option.
3789
3790	  <li>added <code>freeBoldBox</code> resource, which, when set true,
3791	    suppresses check in <code>same_font_size()</code>, so xterm does
3792	    not attempt to ensure that the bold font is the same size as
3793	    the normal font.
3794	</ul>
3795
3796	<li>change the color class for ANSI colors and similar ones such as
3797	  bold-color, etc., to follow the convention that the classname is the
3798	  instance name with a leading capital (e.g., <code>color0</code> and
3799	  <code>Color0</code> rather than <code>color0</code> and
3800	  <code>Foreground</code>).  There was little use for Foreground as a
3801	  class other than to create occasional confusion and bug reports, most
3802	  recently by Nelson Beebe who reports that it disables colors in xterm
3803	  but not on Linux, which is probably due to a difference in resource
3804	  evaluation order.  A configure script option (--disable-color-class)
3805	  is provided for anyone who did use the older behavior.
3806
3807	<li>fix a signal-handling bug.  When running xterm with
3808	  <code>ksh</code> or similar shell such as bash 2.05, xterm will hang
3809	  and not respond to keystrokes after the user types
3810	  <code>suspend</code>.  Additionally the popup menus do not respond,
3811	  so it is not possible to send SIGCONT to the shell.
3812	  What is happening is that the shell is sending itself SIGSTOP, and it
3813	  is being stopped.  Per specification it also means that the operating
3814	  system is sending SIGCHLD to parent to the bash (XTERM).
3815	  Now the issue is that xterm assumes it cannot happen and it expects
3816	  to receive SIGCHLD only upon <em>termination</em> of its children.
3817	  This causes a deadlock with xterm waiting for the child to
3818	  die, and the child waiting for SIGCONT.
3819	  (report/patch by Adam Sulmicki), analysis/testing by Sven Mascheck
3820	  &lt;sven.mascheck@student.uni-ulm.de&gt;).
3821
3822	<li>correct some inconsistent checks for <code>XtReleaseGC()</code>
3823	  calls in <code>xtermLoadFont()</code> (patch by Nam SungHyun
3824	  &lt;namsh@lge.com&gt;).
3825
3826	<li>updated wcwidth.c and keysym2ucs.c to versions dated 2001/1/12
3827	  and 2001/4/18, respectively from
3828		http://www.cl.cam.ac.uk/~mgk25/ucs/
3829
3830	<li>correction to change from <a href="#xterm_90">patch #90</a>,
3831	  which was intended to
3832	  reset the saved cursor position for normal/alternate screens
3833	  on a soft reset, but actually wiped out all of the saved cursor
3834	  information.  Just reset the saved position for the current screen
3835	  (report by Michael Schroeder).
3836
3837	<li>modify ShowCursor() and HideCursor() so that if the cursor points
3838	  to the second part of a wide character, make the show/hide operate on
3839	  the first position of the wide character (patch by Sven Verdoolaege).
3840
3841	<li>scrolling in the alternate screen just before switching back to the
3842	  main screen can cause extra blank lines to be inserted into the
3843	  scrollback buffer (patch by Paul Vojta
3844	  &lt;vojta@math.berkeley.edu&gt;).
3845
3846	<li>resync with XFree86 4.1.0:
3847	<ul>
3848	  <li>Use TermcapLibrary as -lncurses instead of -ltermcap, fixes
3849	    problem building xterm/resize on Cygwin/XFree86 (Harold Hunt).
3850	  <li>Install xterm.termcap and xterm.terminfo when installing xterm
3851	    (Torrey T. Lyons).
3852	  <li>Fix some build issues on Cygwin/XFree86 (Suhaib Siddiqi).
3853	  <li>Define CBAUD, when it's missing in xterm, on LynxOS
3854	    (Stuart Lissaman).
3855	</ul>
3856</ul>
3857
3858<H1><A NAME="xterm_156">Patch #156 - 2001/4/28 - XFree86 4.0.3</A></H1>
3859<ul>
3860	<li>change order of selection-target types to make 8-bit xterm prefer
3861	  UTF8_STRING to COMPOUND_TEXT (patch by Juliusz Chroboczek).
3862
3863	<li>document <code>-fa</code>, <code>-fs</code> command-line options
3864	  and <code>faceName</code>, <code>faceSize</code>
3865	  resources which are used by the freetype library support.
3866
3867	<li>if configure script finds freetype libraries, but imake definitions
3868	  do not have the XRENDERFONT definition, define it anyway.
3869
3870	<li>modify configure script check for freetype libraries to include
3871	  <code>&lt;Xlib.h&gt;</code>, since an older version of the related
3872	  headers relies on this (patch by Adam Sulmicki).
3873</ul>
3874
3875<H1><A NAME="xterm_155">Patch #155 - 2001/4/20 - XFree86 4.0.3</A></H1>
3876<ul>
3877	<li>correct return type of in_put() from <a href="#xterm_155">patch #153</a>
3878	  changes, which left it not wide enough for UTF-8 (patch by Bruno Haible).
3879</ul>
3880
3881<H1><A NAME="xterm_154">Patch #154 - 2001/4/11 - XFree86 4.0.3</A></H1>
3882<ul>
3883	<li>undo check for return value from <code>pututline</code> (used for
3884	  debugging) since that function does not return a value on Slackware
3885	  3.6.
3886
3887	<li>correct length in ScreenWrite, when rendering invisible text
3888	  (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).
3889
3890	<li>fixes/improvements for the <code>i18nSelection</code> resource
3891	  from patch #153, by Bruno Haible:
3892
3893	<ul>
3894	  <li>add missing initialization for <code>i18nSelection</code>
3895	    resource.
3896
3897	  <li>split-out the non-ICCM aspect of the
3898	    <code>i18nSelection</code> resource as a new resource,
3899	    <code>brokenSelections</code>.
3900	</ul>
3901
3902	<li>add configure check for <code>&lt;time.h&gt;</code> and
3903	  <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
3904	  which requires both.  If the configure script is not used, only
3905	  <code>&lt;time.h&gt;</code> will be included as before (report
3906	  by Thanh Ma).
3907
3908	<li>fix redefinition of <code>dup2</code>, <code>getutent</code>,
3909	  <code>getutid</code>, <code>getutline</code> and <code>sleep</code>
3910	  functions on Unixware&nbsp;7 (report by Thanh Ma
3911	  &lt;Thanh.Ma@casi-rusco.com&gt;)
3912
3913	<li>add a fall-back definition for <code>__hpux</code>, which is
3914	  apparently not defined in some compilers on HPUX 11.0 (reported
3915	  by Clint Olsen).
3916
3917	<li>change VAL_INITIAL_ERASE, which is used as a fallback for the
3918	  <code>"kb"</code> termcap string to 8, since that matches the
3919	  xterm terminal description (request by Alexander V Lukyanov).
3920
3921	<li>correct an off-by-one in <code>ClearInLine</code>, which caused
3922	  the erase-characters (ECH) control to display incorrectly
3923	  (patch by Alexander V Lukyanov).
3924
3925	<li>correct escape sequences shown in terminfo for shifted editing
3926	  keys.  The modifier code was for the control key rather than
3927	  the shift key.
3928</ul>
3929
3930<H1><A NAME="xterm_153">Patch #153 - 2001/3/29 - XFree86 4.0.3</A></H1>
3931<ul>
3932	<li>increase PTYCHARLEN to 8 for os390, add some debugging traces
3933	  for UTMP functions (patch by Paul Gilmartin).
3934
3935	<li>correct an misplaced brace in <code>SelectionReceived()</code>
3936	  (patch by Bruno Haible).
3937
3938	<li>correct an assignment dropped in <code>SelectionReceived()</code>
3939	  which made it not compile for wide-characters combined with debug
3940	  traces.
3941
3942	<li>correct typo, clarify description of 88- and 256-color controls
3943	  (report by Bram Moolenaar).
3944
3945	<li>correct a typo in ctlseqs.ms which caused DEC Locator control
3946	  sequences using single quote "'" display grave "`" instead (reported
3947	  by Paul Williams, apparently in patch #114).
3948</ul>
3949
3950<H1><A NAME="xterm_152">Patch #152 - 2001/3/13 - XFree86 4.0.2</A></H1>
3951<ul>
3952	<li>correct index in inner loop in <code>VTInitI18N()</code> from
3953	  patch #151 changes, which resulted in infinite loop under some
3954	  conditions (report/analysis by Paul Gilmartin).
3955
3956	<li>remove spurious "%|" from terminfo sgr capabilities
3957	  (report/analysis by Adam M Costello, Debian bug #89222).
3958
3959	<li>add shell script to adjust list of dynamic libraries linked by
3960	  <code>resize</code> when building with the standalone configure
3961	  script.  Otherwise it uses the same list as for xterm, which is
3962	  excessive.
3963
3964	<li>fix a few compiler warnings reported by the 20010305 gcc snapshot.
3965</ul>
3966
3967<H1><A NAME="xterm_151">Patch #151 - 2001/3/10 - XFree86 4.0.2</A></H1>
3968<ul>
3969	<li>patch from Juliusz Chroboczek &lt;jch@pps.jussieu.fr&gt; which
3970	  alters the behaviour of selections in XTerm.
3971	  It is believed to follow the ICCCM + UTF8_STRING to the letter, both
3972	  in UTF-8 and in eight-bit mode.  From his description:
3973	  <ul>
3974	  <li>When compiled against XFree86 4.0.2, the patched XTerm will make
3975	    the selection available as COMPOUND_TEXT, STRING or UTF8_STRING in
3976	    both modes.  It will request selections in the following order:
3977	    <p>
3978	      UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT, STRING.<br>
3979	      eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING, STRING.
3980
3981	  <li>When compiled against an earlier version of XFree86 (or compiled with
3982	    OPT_UTF8_API=0), it will still obey the ICCCM, but will neither
3983	    request nor provide UTF8_STRING in eight-bit mode, and neither TEXT
3984	    nor COMPOUND_TEXT in UTF-8 mode.
3985	  <li>For compatibility with previous versions of XTerm, a resource
3986	    <code>i18nSelections</code> is provided, please see the manpage for
3987	    details.  However, due to an unexpected combination of ICCCM
3988	    extensions by various bits and pieces of the libraries, interacting
3989	    with previous versions of XTerm will work in many locales even
3990	    without this flag.  (Please do not set this resource to true by
3991	    default, as this would violate the ICCCM.)
3992	  </ul>
3993
3994	<li>improved error checking/reporting in VTInitI18N(), ensuring that
3995	  lack of input method styles is treated distinctly from a mismatch.
3996
3997	<li>remove an incorrect ifdef from patch #141 which suppressed
3998	  overstriking to simulate bold font when xterm was compiled to support
3999	  wide characters (report/analysis by Adam M Costello
4000	  &lt;amc@cs.berkeley.edu&gt;, fixes Debian bugs #76404, #77575).
4001
4002	<li>modify <code>RequestResize()</code> function to save/restore window
4003	  manager hints.  Its call to <code>XtMakeResizeRequest()</code> had
4004	  the undesirable side-effect of clearing window manager hints, e.g.,
4005	  when switching to 132-columns via DECCOLM escape sequence.  Window
4006	  manager hints make it simple to resize xterm in terms of character
4007	  cells rather than pixels (reported by Christian Weisgerber as well
4008	  as Debian bug #79939).
4009	  <p>
4010	  This applies to the normal configuration.  When built with toolbar
4011	  support, the hints are applied to a different widget level (more
4012	  work will be needed to make hints work with the toolbar).
4013
4014	<li>fix a redefinition warning for resize.c on OpenBSD (patch by
4015	  Christian Weisgerber).
4016
4017	<li>change resource corresponding to <code>-T</code> option to match
4018	  Xt library's <code>-title</code>, i.e.,  <code>.title</code>
4019	  rather than <code>*title</code> so the command-line options are
4020	  interchangeable as documented (Debian bug report #68843).
4021
4022	<li>add script used from autoconf'd makefile for installing manpages,
4023	  since recent XFree86 changing the way section numbers are represented
4024	  makes the install dependent on extra scripts.
4025
4026	<li>add configure check for freetype libraries and configure option
4027	  --disable-freetype to override this feature.
4028
4029	<li>modify some configure script macros to avoid using changequote(),
4030	  which has been rendered useless in the latest autoconf alpha 2.49c
4031
4032	<li>update config.guess, config.sub to 2001-2-13
4033
4034	<li>remove redundant/contradictory __CYGWIN__ definitions from resize.c
4035
4036	<li>correct manpage typo introduced by X11R6.5 resync.
4037</ul>
4038	Changes from XFree86 4.0.2:
4039<ul>
4040	<li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris to
4041	  make this compile with <code>gcc -ansi -pedantic</code> (report
4042	  by &lt;mark@zang.com&gt;.
4043</ul>
4044
4045<H1><A NAME="xterm_150">Patch #150 - 2000/12/29 - XFree86 4.0.2</A></H1>
4046<ul>
4047	<li>move the binding for shifted keypad plus/minus, which invokes the
4048	  <code>larger-vt-font()</code> and <code>smaller-vt-font()</code>
4049	  actions, respectively, into the translations resource (suggested by
4050	  Marius Gedminas &lt;mgedmin@puni.osf.lt&gt;).
4051
4052	<li>modify configure script to support the
4053	  <code>--program-prefix</code>, <code>--program-suffix</code> and
4054	  <code>--program-transform-name</code> options (request by Alison
4055	  Winters &lt;alison@mirrabooka.com&gt;).
4056
4057	<li>patch from Robert Brady
4058	<ul>
4059	   <li>fix a scrolling / combining characters display anomaly
4060
4061	   <li>fix a problem with double-width characters where if the primary
4062	       font had no box-drawing characters, the right hand half of
4063	       double-width characters was erased (reported by Yao Zhang
4064	       &lt;yzhang@sharemedia.com&gt;).
4065
4066	   <li>fix special case of null byte for key handling in UTF-8 locales.
4067	</ul>
4068
4069	<li>modify logic that compares sizes of normal and bold fonts to be
4070	  more forgiving of the font server's choice of bold font which must
4071	  match the normal font's size.  Now <code>same_font_size()</code>
4072	  compares the height of the fonts rather than individually ascent and
4073	  descent, and allows the bold font to be one pixel smaller than the
4074	  normal font (addresses a report by Alan Citterman
4075	  &lt;alan@mticket.com&gt;, who says that something in patches #146 to
4076	  #148 made xterm more likely to overstrike bold fonts, and indirectly
4077	  Debian bug report #76404, which reports the opposite).
4078
4079	<li>make configure script use $CFLAGS and $CPPFLAGS consistently,
4080	  including removing a chunk from configure.in which attempted to
4081	  save/restore $CPPFLAGS while processing value set by the --x-includes
4082	  option, but lost values set in an intervening AC_CHECK_HEADERS.  This
4083	  change modifies macros CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and
4084	  CF_X_TOOLKIT, as well as removing variables IMAKE_CFLAGS and X_CFLAGS
4085	  from the generated makefile (the AC_CHECK_HEADERS problem was
4086	  reported by Albert Chin-A-Young &lt;china@thewrittenword.com&lt;).
4087
4088	<li>correct a comparison in SELECTWORD case of ComputeSelect(), which
4089	  resulted in a word-selection wrapping past the first column without
4090	  checking the first column's character class (reported by Christian
4091	  Lacunza &lt;celacunza@netscape.net&gt;
4092
4093	<li>correct a logic in UTF-8 mode for selecting double-width characters;
4094	  a combining character was omitted (patch by Markus Kuhn).
4095
4096	<li>add feature to pop (raise) window when a bell is received
4097	  (patch by Gael Roualland &lt;gael.roualland@dial.oleane.com&gt;).
4098
4099	<li>add __NetBSD__ and __OpenBSD__ to special-case in xterm_io.h
4100	  for USE_POSIX_TERMIOS definition (patch by Christian Weisgerber).
4101
4102	<li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
4103	  xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for HPUX
4104	  10.20 (report by Bruno Betro).
4105</ul>
4106
4107<H1><A NAME="xterm_149">Patch #149 - 2000/12/6 - XFree86 4.0.1h</A></H1>
4108<ul>
4109	<li>restructured includes for <code>termios.h</code>,
4110	  <code>termio.h</code> and related definitions for main.c, os2main.c,
4111	  screen.c and resize.c so they will share equivalent definitions in a
4112	  new header <code>xterm_io.h</code>.  This is intended to solve some
4113	  problems mainly for HPUX which appear to arise from inconsistent
4114	  definitions for SIGWINCH- and HAS_LTCHARS-related symbols (reports
4115	  by Bruno Betro, Jeremie Petit and Clint Olsen).
4116
4117	<li>improve usability of double-width fonts by allowing normal fonts
4118	  to be given as double-width (from a patch by Fabrice Bellard
4119	  &lt;bellard@email.enst.fr&gt;).
4120
4121	<li>correct a few compiler warnings in TRACE() macros for
4122	  signed/unsigned variable differences (reported by Clint Olsen).
4123
4124	<li>make configure script use $CFLAGS and $CPPFLAGS more consistently,
4125	  i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC macro.
4126
4127	<li>expanded description of environment variables in manual-page.
4128
4129	<li>modify OPT_TCAP_QUERY feature to always return the termcap or
4130	  terminfo capability string in the response, and to read/write the
4131	  names in hexadecimal form to allow for the special case of termcap's
4132	  <code>k;</code> name (patch by Bram Moolenaar).
4133
4134	<li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so the
4135	  corresponding configure options work (patch by Bram Moolenaar).
4136
4137	<li>resync with XFree86 4.0.1g:
4138	<ul>
4139	  <li>Rewrite Xft library for Render extension/core text and font management
4140	    Change xterm to use new interface (Keith Packard).
4141	</ul>
4142</ul>
4143
4144<H1><A NAME="xterm_148">Patch #148 - 2000/10/31 - XFree86 4.0.1d</A></H1>
4145<ul>
4146	<li>document logfile options in man-page.
4147
4148	<li>correct spelling of <code>-samename</code> option in help message.
4149
4150	<li>add configure script option <code>--enable-tcap-query</code>
4151	  (request by Bram Moolenaar).
4152
4153	<li>patch by Bram Moolenaar to add a
4154	  "Co" or "colors" entry to the OPT_TCAP_QUERY feature.
4155	<li>patch by Kiyokazu SUTO &lt;suto@ks-and-ks.ne.jp&gt;:
4156	<ul>
4157	  <li>add support for bold font for double width characters.
4158	     The font name may be specified with the command line option
4159	     <code>-fwb</code> or with resource
4160	     <code>wideBoldFont</code> (class <code>WideBoldFont</code>).
4161	  <li>correct underlining of double width character string, which
4162	     was drawn only half width.
4163	  <li>correct binary search of precomposed character table, which
4164	     may return wrong result when <code>int</code> is just 32 bits.
4165	  </ul>
4166
4167	<li>some changes to align terminfo with ncurses 5.2:
4168	<ul>
4169	  <li>remove xtermm description, retaining xterm-mono since the former
4170	    conflicts with ncurses.
4171	  <li>modify initialization and reset strings to avoid putting the
4172	    save/restore cursor operations bracketing changes to video
4173	    attributes, since the changes could be lost when the cursor is
4174	    restored.  This affects xterm-r6 and xterm-8bit (the xterm-xfree86
4175	    entry uses the soft-reset feature which resets scrolling margins
4176	    and origin mode without requiring us to save/restore the cursor
4177	    position).
4178	  <li>make a few entries explicitly inherit from xterm-xfree86 rather
4179	    than xterm: xterm-rep, xterm-xmc, xterm-nrc
4180	</ul>
4181
4182	<li>ensure that sign-extension does not affect <code>ctype</code>
4183	  macros by using <code>CharOf()</code> macro to coerce the parameter
4184	  to an unsigned char.
4185
4186	<li>resync with XFree86 4.0.1d:
4187	<ul>
4188	  <li>Add primitive support in xterm for Xft based fonts (Keith Packard).
4189	    The changes are ifdef'd with <code>-DXRENDERFONT</code>.
4190	</ul>
4191</ul>
4192
4193<H1><A NAME="xterm_147">Patch #147 - 2000/10/26 - XFree86 4.0.1c</A></H1>
4194<ul>
4195	<li>correct implementation of <code>ptyInitialErase</code>:  the
4196	  value assigned to <code>initial_erase</code> was for the control
4197	  terminal, which is correct as far as it goes.  But there was no
4198	  following test for the pseudo-terminal's erase value, which would
4199	  overwrite the default obtained from the control terminal
4200	  (reported by Christian Weisgerber &lt;naddy@mips.inka.de&gt;).
4201
4202	<li>modify check for printable-characters in OSC string to use xterm's
4203	  ansi_table rather than isprint() macro, to isolate this check from
4204	  locale settings.  This fixes a problem using 8-bit characters to
4205	  set the title (reported by Ricardas Cepas &lt;rch@richard.eu.org&gt;).
4206
4207	<li>modify sample scripts to check for printf before print, since the
4208	  latter is not as well standardized (e.g., on Linux).
4209
4210	<li>updated config.sub, config.guess to reflect changes on
4211	  subversions.gnu.org
4212</ul>
4213
4214<H1><A NAME="xterm_146">Patch #146 - 2000/9/12 - XFree86 4.0.1c</A></H1>
4215<ul>
4216	<li>correct two instances overlooked from patch #141 which assumed
4217	  UTF-8 mode without checking, causing a core dump in non-UTF-8 mode
4218	  (one instance was reported by Tommi Virtanen &lt;tv@debian.org&gt;).
4219
4220	<li>correct a problem selecting from the scrollback buffer in UTF-8
4221	  mode by changing remaining getXtermCell() calls to XTERM_CELL() as in
4222	  the non-UTF-8 cases (report by Markus Kuhn, patch by Robert Brady).
4223</ul>
4224
4225<H1><A NAME="xterm_145">Patch #145 - 2000/9/11 - XFree86 4.0.1c</A></H1>
4226<ul>
4227	<li>several changes from Robert Brady for UTF-8 configuration:
4228	<ul>
4229	  <li>doublewide characters don't lose their accents when the cursor
4230	    moves onto or from them (a visual bug)
4231
4232	  <li>fix logic in addXtermCombining, which mean that if the low byte
4233	    of a cell's first combining char was 0, a following combining char
4234	    would go into combining slot 1, not 2.
4235
4236	  <li>modify logic for cut-buffers so UTF-8 data is first converted
4237	    to Latin1.
4238
4239	  <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.
4240
4241	  <li>modify to allow xterm to to show combining characters
4242	   attached to doublewidth characters.
4243
4244	  <li>correct bug in linewrap with -u8 option (reported by
4245	    Andreas Koenig &lt;andreas.koenig@anima.de&gt;).
4246	</ul>
4247
4248	<li>several changes to PTY logic (based on request by Tim Ryan
4249	  &lt;timryan@nortelnetworks.com&gt;).
4250	<ul>
4251	  <li>modify treatment of <code>-S</code> option to to make it work with
4252	    Unix98 PTY's.
4253
4254	  <li>restore sense of IsPts flag in <code>get_pty()</code>, which was
4255	    lost in Unix98 changes.
4256
4257	  <li>use new functions <code>my_pty_id()</code> and
4258	    <code>my_pty_name()</code> to simplify/fix strings used for utmp,
4259	    wtmp identifiers.
4260
4261	  <li>simplify <code>get_pty()</code> function, making it have a single
4262	    return point so its inputs/outputs can be identified.
4263	</ul>
4264
4265	<li>update config.guess and config.sub and scripts to my 20000819 patch,
4266	   adding cases for OS/2 EMX.
4267
4268	<li>add special case for os390 compiler options to configure script
4269	  (patch by Paul Gilmartin)
4270
4271	<li>fix some unused-variable compiler warnings (reported by
4272	  Zdenek Sekera).
4273
4274	<li>split-out some string functions into xstrings.c, to use them
4275	  more consistently among main.c, os2main.c and resize.c
4276
4277	<li>align termcap/terminfo files, adding entries to make them match.
4278	  The termcap entries are necessarily less complete than the terminfo,
4279	  to fit within 1023 character per entry.
4280
4281	<li>add terminfo entry for xterm-sco (SCO function keys).
4282
4283	<li>modify <code>same_font_name()</code> to properly handle wildcard
4284	  introduced in <code>bold_font_name()</code>, making comparison for
4285	  different fonts succeed when only the normal font is specified.  This
4286	  is needed to decide if 1-pixel offset should be used.  (reported
4287	  in a newsgroup by Bart Oldeman &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)
4288
4289	<li>correct preprocessor line for OPT_WIDE_CHARS in drawXtermText()
4290	  from patch #141 which resulted in overstriking for bold fonts not
4291	  working.
4292
4293	<li>correct Imakefile from 4.0.1c resync so UTF-8 modules are in
4294	  UTF8SRC, UTF8OBJ lists, allowing build without UTF-8 support.
4295</ul>
4296
4297<H1><A NAME="xterm_144">Patch #144 - 2000/8/23 - XFree86 4.0.1b</A></H1>
4298<ul>
4299	<li>remove a spurious assignment in ScreenWrite() from Robert Brady's
4300	  patch which set a null at the "end" of the buffer to be written.
4301	  That made the autowrap feature write a blank in the first column for
4302	  the non-UTF-8 configuration, rather than the actual character
4303	  (reported by Alan Citterman &lt;alan@mticket.com&gt;).
4304</ul>
4305
4306<H1><A NAME="xterm_143">Patch #143 - 2000/8/19 - XFree86 4.0.1b</A></H1>
4307<ul>
4308	<li>add a check to ensure that <code>-class</code> command-line option
4309	  is not confused with <code>-c</code> (reported by Paul Townsend
4310	  &lt;aab@aab.cc.purdue.edu&gt;).
4311</ul>
4312
4313<H1><A NAME="xterm_142">Patch #142 - 2000/8/18 - XFree86 4.0.1b</A></H1>
4314<ul>
4315	<li>correction to precompose scripts, so 0061 + 0300 will now be really
4316	  be displayed as 00C0 (patch by Robert Brady
4317	  &lt;robert@susu.org.uk&gt;).
4318
4319	<li>correct macro ClassSelects() in button.c, used to hide ifdef's for
4320	  OPT_WIDE_CHARS in patch #141 (reported by Andreas Paul
4321	  &lt;paula@informatik.tu-muenchen.de&gt;).
4322
4323	<li>change wcwidth.h to include stddef.h rather than wchar.h, which is
4324	  not present on OpenBSD and FreeBSD (reported by Christian
4325	  Weisgerber and Bram Moolenaar).
4326
4327	<li>newer config.sub and config.guess, from lynx 2.8.4dev.7
4328</ul>
4329
4330<H1><A NAME="xterm_141">Patch #141 - 2000/8/14 - XFree86 4.0.1b</A></H1>
4331<ul>
4332	<li>Most of this patch is an integration of Robert Brady's patch #11
4333	  for doublewidth and combining characters, from
4334	  http://www.ecs.soton.ac.uk/~rwb197/xterm/.  In this context,
4335	  doublewidth refers to 16-bit character sets which may have glyphs
4336	  occupying two cells.
4337
4338	<li>add command-line option <code>-class</code>, which allows one
4339	  to override xterm's resource class.  Also add resource file
4340	  <code>UXTerm.ad</code>, which simplifies using xterm for both
4341	  8-bit character sets and UTF-8.
4342
4343	<li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
4344	  Moolenaar, Steve Wall).
4345</ul>
4346
4347<H1><A NAME="xterm_140">Patch #140 - 2000/7/23 - XFree86 4.0.1</A></H1>
4348<ul>
4349	<li>modify Makefile.in to circumvent GNU make's built-in suffix rule
4350	  for ".sh" which confuses install.sh with the "make install" target
4351	  (report/patch by Paul Gilmartin).
4352
4353	<li>implement an experimental control sequence which an application may
4354	  use to query the terminal to determine what sequence of characters it
4355	  would send for a given function key.  This is ifdef'd with
4356	  OPT_TCAP_QUERY (request by Bram Moolenaar).
4357
4358	<li>add /usr/local to search path in CF_X_ATHENA configure macro
4359	  to build with Xaw3d on OpenBSD (patch by Christian Weisgerber).
4360
4361	<li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
4362	  xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate (report
4363	  by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).
4364
4365	<li>correct a few errors in xterm.man:  font in filename example for
4366	  Tektronix emulation, and description of -nul/+nul command-line
4367	  options (report by Eric Fischer &lt;enf@pobox.com&gt;).
4368
4369	<li>update config.guess and config.sub (from tin and lynx)
4370</ul>
4371
4372<H1><A NAME="xterm_139">Patch #139 - 2000/6/17 - XFree86 4.0d</A></H1>
4373<ul>
4374	<li>back out change to <code>-name</code> command-line option,
4375	  restoring its original behavior (as noted by David Madore, the
4376	  correct interpretation of this option is the application instance
4377	  rather than the application class).
4378</ul>
4379
4380<H1><A NAME="xterm_138">Patch #138 - 2000/6/15 - XFree86 4.0c</A></H1>
4381<ul>
4382	<li>workaround for fixed fonts which are generated from Unicode fonts:
4383	  they omit glyphs for some xterm's less-used line-drawing characters,
4384	  which caused xterm to set a flag telling it to use only its internal
4385	  line-drawing characters.  Do not set the flag (it can be set from the
4386	  popup menu), and xterm will generate only the line-drawing glyphs
4387	  which actually are missing.
4388	  <br>
4389	  Otherwise, when used for large fonts, xterm may generate a 2-pixel
4390	  wide line, which can leave dots on the screen.
4391
4392	<li>restore first line of 256colres.pl, omitted in 4.0c diffs.
4393</ul>
4394<H1><A NAME="xterm_137">Patch #137 - 2000/6/10 - XFree86 4.0b</A></H1>
4395<ul>
4396	<li>make command-line <code>-name</code> option work as documented.
4397	  Apparently this was lost in X11R5 when coding to use
4398	  <code>XtAppInitialize</code>.
4399
4400	<li>limit numeric parameters of control sequences to 65535 to
4401	  simplify checks for numeric overflow.
4402
4403	<li>change index into UDK list to unsigned to guard against numeric
4404	  overflow making the index negative (Taneli Huuskonen
4405	  &lt;huuskone@cc.helsinki.fi&gt;).
4406
4407	<li>change <code>sun&nbsp;function-keys</code> resource name to
4408	  <code>sunFunctionKeys</code> to work around redefinition of the
4409	  token <code>sun</code> by xrdb on Solaris.  Similarly, renamed
4410	  resource <code>sun&nbsp;keyboard</code> to <code>sunKeyboard</code>
4411	  (Steve Wall).
4412
4413	<li>change similar resource names for HP and SCO to avoid potential
4414	  conflict with xrdb symbols on other systems, as well as for
4415	  consistency.
4416
4417	<li>reorganized the install targets in the autoconf'd Makefile, adding
4418	  install-app, install-bin, install-dirs and install-man.  The
4419	  app-defaults class can be overridden by setting the make variable
4420	  'CLASS', simplifying customization of xterm as a Unicode terminal,
4421	  e.g., CLASS=UXTerm.
4422
4423	<li>add limit checks to <code>ClearInLine()</code>,
4424	  <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
4425	  correct potential out-of-bounds indexing (prompted by Debian bug
4426	  report #64713, which reported a problem with ICH escape sequences).
4427
4428	<li>updates to config.sub and config.guess
4429	  Kevin Buettner &lt;kev@primenet.com&gt; for elf64_ia64
4430	  Bernd Kuemmerlen &lt;bkuemmer@mevis.de&gt; and MacOS X.
4431
4432	<li>patch from Paul Gilmartin for os390 to check for errno set to
4433	  ENODEV on failure to open /dev/tty when there is no controlling
4434	  terminal.
4435
4436	<li>patch from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt; for
4437	  building on Digital Unix 4.0 and AIX 4.2.
4438
4439	<li>modify DECRQSS reply for DECSCL to additionally report if the
4440	  terminal is set for 8-bit controls.
4441</ul>
4442
4443<H1><A NAME="xterm_136">Patch #136 - 2000/6/3 - XFree86 4.0b</A></H1>
4444<ul>
4445	<li>add a resource (<code>limitResize</code>)
4446	  limiting resizing via the CSI 4 t and CSI 8 t sequences.
4447
4448	<li>ignore out-of-bounds resize requests, i.e., where sign-extension
4449	  or truncation of the parameters would occur.
4450</ul>
4451
4452<H1><A NAME="xterm_135">Patch #135 - 2000/5/29 - XFree86 4.0b</A></H1>
4453<ul>
4454	<li>remove code introduced in #134 which made some backgrounds bold.
4455
4456	<li>minor correction to format of updated $TERMCAP when adding
4457	  <code>kb</code> capability for <code>ptyInitialErase</code> logic.
4458
4459	<li>improved test for SVR4 definition.
4460</ul>
4461
4462<H1><A NAME="xterm_134">Patch #134 - 2000/5/28 - XFree86 4.0b</A></H1>
4463<ul>
4464	<li>update URL's and mailing addresses, moved to http://dickey.his.com
4465	  and dickey@herndon4.his.com
4466
4467	<li>correct missing quotes in CF_TTY_GROUP configure script macro in
4468	  case the script is run in batch mode.
4469
4470	<li>modify ownership-check of log file to ignore the group ownership.
4471	  Otherwise xterm cannot create logfiles in directories with set-gid
4472	  permissions.
4473
4474	<li>simplify the logic that reads termcap data.
4475
4476	<li>add fallback definition for B9600 in case line speed definition
4477	  for 38400 is missing (report by Jack J Woehr &lt;jwoehr@ibm.net&gt;,
4478	  for OpenBSD 2.6).
4479
4480	<li>fix:  Set highlightColor, and select a region containing the text
4481	  cursor.  If the window loses focus, the cursor becomes hollow, with
4482	  the region inside the cursor being background/foreground, unlike the
4483	  rest of the selection, which is foreground/highlight
4484	  (patch by Ross Paterson &lt;ross@soi.city.ac.uk&gt;).
4485
4486	<li>add configure script tests to define SVR4, SYSV and USE_POSIX_WAIT,
4487	  which enables xterm to compile on Solaris 7 and SCO Openserver
4488	  without imake, though there are still a few features for the latter
4489	  which require <code>sco</code> to be predefined.
4490
4491	<li>patches from Steve Wall:
4492	<ul>
4493	<li>add support for two Sun-specific function keys.  These keys are
4494	  labeled F11 and F12 on Sun Type 5 keyboards, but return SunXK_F36 and
4495	  SunXK_F37.  Support will only be compiled in if the header file
4496	  &lt;X11/Sunkeysym.h&gt; exists and contains the appropriate symbol
4497	  definitions.  The keycodes for the DEC keycodes were arbitrary unused
4498	  codes, but the ones for the Sun keycodes are what cmdtool and
4499	  shelltool actually send.
4500
4501	<li>add <code>colorRV</code> and <code>colorRVMode</code> resources to
4502	  allow specifying a color to use for reverse video, similar to the
4503	  existing UL, BD, and BL modes.
4504
4505	<li>add <code>alwaysUseMods</code> resource, to override check if
4506	  <code>alt</code> or <code>meta</code> modifiers are used in
4507	  <code>translations</code> resource.  Revamped the code to calculate
4508	  the modifier value, and included Meta if alwaysUseMods is TRUE, using
4509	  values 9-16.
4510	</ul>
4511
4512	<li>patches from Paul Gilmartin for os390:
4513	<ul>
4514	<li>regularize the definition of CONTROL() and remove an
4515	  acknowledged "trial and error" table.
4516
4517	<li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
4518	  rather than plain 0177 which is the EBCDIC quotation mark.
4519
4520	<li>modify <code>xtermMissingChar()</code> so that EBCDIC codes 128-159
4521	  are not rendered as blanks by X server running on Solaris, which sees
4522	  those as control characters.
4523
4524	<li>make debugging traces (configure --enable-trace)
4525	 work properly with EBCDIC.
4526	</ul>
4527</ul>
4528
4529<H1><A NAME="xterm_133">Patch #133 - 2000/5/2 - XFree86 4.0a</A></H1>
4530<ul>
4531	<li>add substitutions in autoconf'd Makefile for CPPFLAGS, LDFLAGS and
4532	  AWK (reported by Neil Bird).
4533
4534	<li>correct uninitialized <code>childstat</code> variable from patch
4535	  #131 in <code>creat_as()</code> function, which caused logging to not
4536	  work on Solaris, whose <code>waitpid()</code> function does not
4537	  initialize its parameter.  Add check for EINTR on return from
4538	  <code>waitpid()</code> as well (reported by Neil Bird
4539	  &lt;neil.bird@rdel.co.uk&gt;).
4540
4541	<li>remove a redundant check for working <code>setuid()</code> function
4542	  introduced in patch #132 (Greg Smith reports that this does not work
4543	  as intended on os390).
4544
4545	<li>change line speed from 9600bd to 38400bd, to accommodate people who
4546	  mistakenly use $TERM set to <em>vt100</em>, to reduce the effect of
4547	  padding associated with this terminal type.
4548
4549	<li>add configure script check for IRIX 6.5's redefinition of baud
4550	  rates associated with <code>struct termio</code>, to correct a
4551	  situation where the baud rate was initialized to zero (reported by
4552	  Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).
4553
4554	<li>remove unused configure script check for VDISABLE.
4555</ul>
4556
4557<H1><A NAME="xterm_132">Patch #132 - 2000/4/11 - XFree86 4.0a</A></H1>
4558<ul>
4559	<li>undo an incorrect change from patch #113 caused the right scrollbar
4560	  to be positioned incorrectly when re-enabling it (analysis by
4561	  D Roland Walker).
4562
4563	<li>add ctrlFKeys resource, replacing constant for adjusting
4564	  control-F1 to control-F12 to VT220-style F10-F20.  The resource
4565	  changes the constant 12 to a default value of 10 (request by
4566	  Jim Knoble &lt;jmknoble@pobox.com&gt;).
4567
4568	<li>correct ifdef'ing for conflict between definitions in AIX's
4569	  &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
4570	  Olsen).
4571
4572	<li>add checks for return-values of getutid(), initgroups() and
4573	  setuid() in main.c, as well as modifying ifdef's for __osf__ to
4574	  include tty-group and WTMP logic (adapted from patch by Paul Szabo
4575	  &lt;psz@maths.usyd.edu.au&gt;)
4576
4577	<li>modify resize.c to build and work on os390 (uses EBCDIC)
4578	  (adapted from patch by Phil Sidler &lt;Phil.Sidler@airborne.com&gt;)
4579
4580	<li>use Ires(), Bres() and Sres() macros to simplify resource list in
4581	  charproc.c
4582
4583	<li>resync with XFree86 4.0a:
4584	<ul>
4585	  <li>correct a typo in os2main.c (Holger Veit, from 4.0a).
4586	</ul>
4587</ul>
4588
4589<H1><A NAME="xterm_131">Patch #131 - 2000/3/3 - XFree86 3.9.18b</A></H1>
4590<ul>
4591	<li>integrate patch by Branden Robinson for improving logfile
4592	  security:
4593	  <ul>
4594	  <li>make the <code>creat_as()</code> function more strict by using
4595	    O_EXCL rather than O_APPEND.
4596	  <li>fixes to make DEBUG ifdef's compile/run, including making the
4597	    debug logfile more unique by appending a timestamp to its name.
4598	  <li>include &lt;term.h&gt; in resize.c, to fix a missing-prototype
4599	    warning.
4600	  </ul>
4601
4602	<li>modified <code>creat_as()</code> a little more, retaining the
4603	  ability to append to a logfile If the user specifies the name.
4604	  Also, check if the opened file (which patch #130 ensures is
4605	  owned by the effective user) is not writable by other users.
4606
4607	<li>use <code>creat_as()</code> logic to make tek4014 screen-copy
4608	  more secure (noted by Branden Robinson).
4609
4610	<li>ifdef'd some of Branden's changes to build/work on older machines.
4611
4612	<li>correct missing initialization of the <code>.mode</code> flag in
4613	  <code>ColorRes</code> struct, from patch #129.  This worked on Linux
4614	  because <code>malloc()</code> zeroes memory on that platform
4615	  (reported by Christian Weisgerber).
4616
4617	<li>modify logic for <code>deleteIsDEL</code> resource so it has
4618	  internally 3 states:  unspecified, true and false.  If unspecified,
4619	  the keyboard type determines whether the Delete key transmits
4620	  <code>&lt;ESC&gt;[3~</code> or <code>\177</code>, and the popup menu
4621	  entry reflects the internal state.  Otherwise, the popup menu entry
4622	  overrides the keyboard type (suggested by Dr Werner Fink, to make it
4623	  simpler to set resources that imitate the legacy X11R6 xterm).
4624</ul>
4625
4626<H1><A NAME="xterm_130">Patch #130 - 2000/3/1 - XFree86 3.9.18a</A></H1>
4627<ul>
4628	<li>modify <code>scroll-forw()</code> and <code>scroll-back()</code>
4629	  actions, adding a third parameter which will direct xterm to ignore
4630	  the action when mouse reporting is enabled.  This is needed for
4631	  the wheel mouse to be used to report to the application rather than
4632	  scroll the window.
4633
4634	<li>add menu entry and action to allow disabling xterm's assumption
4635	  that the current font contains line-drawing characters if the
4636	  font cells 1-31 are nonempty.  Some fonts may have other characters
4637	  (reported by Bruno Betro &lt;bruno@iami.mi.cnr.it&gt;).
4638
4639	<li>add a check in <code>creat_as()</code> to ensure that the user
4640	  really owns the logfile that has been opened.
4641
4642	<li>add logic to implement SCO function-keys.  (This is really
4643	  incomplete, since I intend to revisit this and make xterm able to
4644	  emulate scoansi better than just the function-keys).
4645
4646	<li>add configure script option --enable-sco-fkeys, minor related fixes
4647	  (patch by Dr Werner Fink).
4648
4649	<li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)
4650
4651	<li>fix typo in sinstall.sh default for $TST_PROG (reported by
4652	  Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)
4653</ul>
4654
4655<H1><A NAME="xterm_129">Patch #129 - 2000/2/26 - XFree86 3.9.18a</A></H1>
4656<ul>
4657	<li>improve initialization of ANSI colors by delaying allocation until
4658	  each color is first used.
4659
4660	<li>remove ifdef that prevented colorBD/colorUL/colorBL resources from
4661	  working when 256-color configuration was built (reported by
4662	  Todd Larason).
4663
4664	<li>fix some minor inconsistencies in terminfo (Debian #58530).
4665</ul>
4666
4667<H1><A NAME="xterm_128">Patch #128 - 2000/2/17 - XFree86 3.9.18</A></H1>
4668<ul>
4669	<li>correct logic for <code>oldXtermFKeys</code> resource, fixes a core
4670	  dump when attempting to set it from the command-line (reported by Dr
4671	  Werner Fink).
4672	<li>correct ifdef for meta-sends-escap so configure --disable-num-lock
4673	  builds.
4674</ul>
4675
4676<H1><A NAME="xterm_127">Patch #127 - 2000/2/12 - XFree86 3.9.17e</A></H1>
4677<ul>
4678	<li>add resource, popup menu entry and control sequence to allow
4679	  changing the Delete key to send either DEL or the VT220-style
4680	  Remove escape sequence.
4681
4682	<li>remove logic for metaSendsEscape that would allow xterm to send
4683	  <code>&lt;ESC&gt;[3~</code> before a function key that would begin
4684	  with <code>&lt;ESC&gt;[3~</code> (request by Christian Weisgerber).
4685
4686	<li>add missing action and documentation for meta-sends-escape.
4687
4688	<li>correct a few typos in ctlseqs.ms (incorrect code for Cyan color)
4689</ul>
4690
4691<H1><A NAME="xterm_126">Patch #126 - 2000/2/8 - XFree86 3.9.17c</A></H1>
4692<ul>
4693	<li>patch by Markus Kuhn:
4694	  ensure that xterm will automatically activate the UTF-8 mode whenever
4695	  the name of the locale environment variable suggests that a UTF-8
4696	  locale is in use.  This will help that by simply setting LC_CTYPE an
4697	  entire system can be switched over to UTF-8, without users having to
4698	  remember the UTF-8 command line options ("-u8", etc.) of the various
4699	  applications.  Command line options and X resource entries can still
4700	  be used to override this default choice.
4701
4702	<li>add old function-keys control sequences and popup menu entry, for
4703	  compatibility with legacy X11R6 xterm.
4704
4705	<li>revert translation of editing keypad "Delete" key to legacy \177.
4706
4707	<li>simplify the color-resource data expressions with macro COLOR_RES,
4708	  for later use in restructuring color initialization.
4709
4710	<li>change encoding of wheel mouse (buttons 4 and 5) to avoid conflict
4711	  with legacy mouse modifiers (suggested by Bram Moolenaar).
4712</ul>
4713
4714<H1><A NAME="xterm_125">Patch #125 - 2000/1/31 - XFree86 3.9.17c</A></H1>
4715<ul>
4716	<li>integrate patch by David Mathog
4717	  &lt;mathog@seqaxp.bio.caltech.edu&gt; to make this work on OpenVMS
4718
4719	<li>rename some functions, e.g., <code>Index</code> to
4720	  <code>xtermIndex</code> so that ports such as VMS which link
4721	  externals ignoring case will not have library conflicts (reported by
4722	  David Mathog).
4723
4724	<li>correct logic of <code>do_reversevideo()</code>, which did not
4725	  update the corresponding popup menu check mark (reported by David
4726	  Mathog, this was a detail overlooked in patch #94).
4727
4728	<li>change TRACE macro so semicolon is not within definition, making
4729	  <em>indent</em> and similar programs work better.
4730
4731	<li>add <code>depend</code> rule to Makefile.in
4732
4733	<li>modify logic of boldColors resource to suppress it if an extended
4734	  color control has been used, e.g., for 88-color or 256-color mode
4735	  (patch by Todd Larason).
4736
4737	<li>revise logic that handles menus and input translation for keyboard
4738	  type so only one can be selected at a time.
4739
4740	<li>restore kdch1=\177 for the Sun function-key type, and make the
4741	  the Delete key send DEL (\177) if the oldXtermFKeys resource is set.
4742
4743	<li>rephrase logic and ifdef's for POSIX VDISABLE to avoid preprocessor
4744	  expression that will not compile on NetBSD/x86 1.4.1 (reported by
4745	  Takaaki Nomura &lt;amadeus@yk.rim.or.jp&gt;).
4746
4747</ul>
4748
4749<H1><A NAME="xterm_124">Patch #124 - 2000/1/27 - XFree86 3.9.17b</A></H1>
4750<ul>
4751	<li>change coding of editing keypad's "Delete" key to
4752	  &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode.
4753	  This makes the terminfo kdch1 capability independent of the
4754	  coding of the backarrow key, which sends either backspace (8)
4755	  or DEL (127).  The reason for doing this (compatibility with
4756	  the <em>screen</em> program) outweighs the choice of DEL (127)
4757	  which was used in X11R5/X11R6 xterms.  The <em>screen</em>
4758	  program translates whatever matches kdch1 into &lt;escape&gt;[3~,
4759	  even if it happens to be the stty erase character.
4760
4761	<li>add encoding for control/?, to work around xmodmap or key
4762	  translations which may confuse backspace and delete.  A control/?
4763	  will send DEL (127), and a control/H will of course send backspace
4764	  (8).
4765
4766	<li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian #54840).
4767
4768	<li>minor correction to logic that encodes Sun and DEC function keys
4769	  to avoid sending an escape sequence if the key symbol is not found
4770	  in xterm's lookup table.
4771
4772	<li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-" pattern
4773	  is more likely to be implemented when <em>imake</em> configures xterm
4774	  (fixes Debian #55105).
4775
4776	<li>change manpage to make it clearer what codes are sent by the
4777	  backarrow key.
4778</ul>
4779
4780<H1><A NAME="xterm_123">Patch #123 - 2000/1/22 - XFree86 3.9.17a</A></H1>
4781<ul>
4782	<li>add a note reserving OSC 51 for use in Emacs shell (request by
4783	  Rob Mayoff &lt;mayoff@dqd.com&gt;).
4784
4785	<li>correct a missing backslash in xterm-vt220 termcap.
4786
4787	<li>cleanup remaining quoted includes, preferring bracketed form.
4788
4789	<li>minor configure-script macro updates from tin and vile.
4790
4791	<li>add configure-script option for using utempter library, adapted
4792	  from Redhat 6.1 patch for XFree86 3.3.5
4793
4794	<li>resync with XFree86 3.9.17a:
4795	<ul>
4796	  <li>correction to QNX support (Frank Guangxin Liu)
4797	  <li>some cosmetic changes that did not correct any reported problems.
4798	</ul>
4799</ul>
4800
4801<H1><A NAME="xterm_122">Patch #122 - 1999/12/28 - XFree86 3.9.16f</A></H1>
4802<ul>
4803	<li>move the suggested wheel-mouse button translations into charproc.c
4804	  to simplify customization.  Correct some minor logic errors in the
4805	  support for buttons 4 and 5, used for wheel mice (reported by
4806	  Bram Moolenaar).
4807
4808	<li>implement <em>metaSendsEscape</em> resource, with corresponding
4809	  control sequence and menu entry.  Like <em>eightBitInput</em>, this
4810	  causes xterm to send ESC prefixing the given key, but applies to
4811	  all keys and is independent of the 8-bit/7-bit terminal setting.
4812	  (requests by Alexander V Lukyanov and Marc Feeley).
4813
4814	<li>correct potential indexing with negative subscript in udk_lookup(),
4815	  (reported by Ian Collier &lt;Ian.Collier@comlab.ox.ac.uk&gt;).
4816
4817	<li>modify configure script that sets TERMINFO_DIR to use ${prefix}
4818	  rather than /usr if the --prefix option was specified (request by
4819	  Zdenek Sekera &lt;zs@sgi.com&gt;).
4820
4821	<li>modify checks for repeat-character control sequence to test the
4822	  character class against xterm's state table, rather than the
4823	  isprint() macro (patch by Alexander V Lukyanov).
4824
4825	<li>change several functions to macros to improve speed
4826
4827	<li>two corrections to simulation of bold font via overstriking:
4828	<ul>
4829	  <li>use clipping to avoid leaving trash at end of the text, and
4830	  <li>add brackets so wide-character logic does not fall-through
4831	    into the overstriking logic (reported by
4832	    Marc Feeley &lt;feeley@IRO.UMontreal.CA&gt;)
4833	</ul>
4834
4835	<li>add several entries to termcap file to make it have the same set
4836	 of aliases as the terminfo file.
4837
4838	<li>scale the color values used for xterm-256color terminfo entry to
4839	 0..1000, as expected by ncurses.
4840
4841	<li>change xterm-r6 terminfo definitions for F1-F4 to match program.
4842
4843	<li>Add QNX/Neutrino support (Frank Guangxin Liu
4844	 &lt;frank@ctcqnx4.ctc.cummins.com&gt;)
4845</ul>
4846<H1><A NAME="xterm_121">Patch #121 - 1999/11/14 - XFree86 3.9.16c</A></H1>
4847<ul>
4848	<li>change label on "Sun/PC Keyboard" popup menu entry to "VT220
4849	  Keyboard", since the checked state corresponds to VT220 rather than
4850	  Sun/PC.
4851
4852	<li>add configure test CF_UTMP_UT_XSTATUS to handle the variants of
4853	  utmp exit status (reports by Dave Ellement, Jeremie Petit, Tomas
4854	  Vanhala).
4855
4856	<li>amend treatment of ALT key
4857	  (see <a href="#xterm_94">patch #94</a>) so that if ALT is used
4858	  as a modifier in key translations, then no parameter will be sent
4859	  in escape sequences for Sun/PC function keys (request by Dr Werner Fink).
4860
4861	<li>modify default for OPT_I18N_SUPPORT to assume that
4862	  <code>XtSetLanguageProc()</code> is available in X11R5.
4863	  <p>
4864	  Caveat: <code>XtSetLanguageProc()</code> was
4865	  added fairly late in the X11R5 patches, and some vendors shipped
4866	  buggy versions of this function (request by Tomas Vanhala).
4867
4868	<li>correct configure macro CF_SYSV_UTMP to test-link with functions
4869	  consistent with the header, e.g., getutent() for utmp.h and
4870	  getutxent() for utmpx.h (reported by Greg Smith).
4871
4872	<li>modify terminfo entry for <code>xterm-xfree86</code> to reflect
4873	  modifiers for shift and control which (from a patch by Alexander V
4874	  Lukyanov).
4875
4876	<li>modify terminfo entry for <code>xterm-sun</code> to match the
4877	  function-key definitions in ncurses.  The pageup/pagedown and
4878	  related function keys correspond to the Sun keyboard, which does
4879	  not necessarily correspond with X's notion of those keys.
4880
4881	<li>modify treatment of XK_Delete keysym so it transmits parameterized
4882	  VT220-style <code>&lt;ESC&gt;[3~</code> if modifiers (shift, control
4883	  alt) are given (request by Alexander V Lukyanov).
4884
4885	<li>corrected misspelled resource name in command-line option for
4886	  HP function keys.
4887</ul>
4888
4889<H1><A NAME="xterm_120">Patch #120 - 1999/10/28 - XFree86 3.9.16c</A></H1>
4890<ul>
4891	<li>refine the change to <code>SGR_Background()</code> in patch #119,
4892	  by not flushing the pending scrolling operation if the background
4893	  color is not actually changing.  This combination occurs when using
4894	  color-ls to display a long listing, since each line ends with an SGR0
4895	  which affects only the foreground color.  The unnecessary flushing
4896	  made it noticeably slower (reported by D Roland Walker
4897	  &lt;walker@pobox.com&gt;).
4898
4899	<li>remove obsolete documentation about modifiers which can be returned
4900	  in mouse tracking mode, and modify logic to ignore modifiers other
4901	  than the existing ones, e.g., NumLock (prompted by discussions with
4902	  Christian Weisgerber and Brad Pepers &lt;brad@linuxcanada.com&gt;).
4903
4904	<li>use free bit from obsolete shift-modifier coding of mouse tracking
4905	  button events to encode buttons 4 and 5, e.g., for a wheel mouse
4906	  (requests by Brad Pepers and Bram Moolenaar).
4907
4908	<li>correct a place where the ptyInitialErase logic did not set the
4909	  backarrowKey state, and modify it further to use tgetstr() rather
4910	  than parse the termcap data returned from tgetent() so the
4911	  ptyInitialErase logic will work when xterm is linked with a terminfo
4912	  library (based on a patch by Dr Werner Fink &lt;werner@suse.de&gt;).
4913
4914	<li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration (patch by
4915	  &lt;michael.rohleder@stadt-frankfurt.de&gt;)
4916
4917	<li>improve configure script's utmp tests (based on reports by Greg
4918	  Smith for os390, and David Ellement for HPUX).
4919
4920	<li>modify sinstall.sh to use uid=0 rather than 'root' to determine if
4921	  the installer is privileged.  This is needed on some systems since
4922	  more than one account may be privileged (report by Greg Smith).
4923
4924	<li>add an application resource, <code>messages</code> (and a
4925	  corresponding -/+mesg option) which controls the initial permission
4926	  on the terminal:  if messages is set to true (the default), behavior
4927	  is as without the patch; if it is set to false (as per -mesg), the
4928	  terminal is opened in mode 0600, thus producing the effect of the
4929	  <code>mesg n</code> command.  This is useful for users who want to
4930	  redirect all their messages to one particular xterm:  it is more
4931	  pleasant to do this with xterm resources than with explicit calls to
4932	  the <code>mesg</code> program  (patch, description by David Madore
4933	  &lt;david.madore@ens.fr&gt;).
4934</ul>
4935
4936<H1><A NAME="xterm_119">Patch #119 - 1999/10/16 - XFree86 3.9.16c</A></H1>
4937<ul>
4938	<li>add responses (DA and DSR) for DEC locator mode
4939
4940	<li>add coding for ANSI color to DA response
4941
4942	<li>implement UTF-8 translation for Media Copy (print) operations.
4943
4944	<li>implement vt320 control sequences for Print Composed Main Display
4945	  and for Print All Pages.  The latter directs xterm to print the
4946	  current screen as well as the scrollback buffer.
4947
4948	<li>correct error in _GNU_SOURCE configure test, which left it always
4949	  defined.
4950
4951	<li>add more information, i.e., with strerror for some system calls in
4952	  the main program which may fail due to insufficient permissions
4953	  (prompted by a problem report for <code>-C</code> by Jeremie Petit
4954	  &lt;Jeremie.Petit@digital.com&gt;).
4955
4956	<li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
4957	  &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
4958	  &lt;griswold@acm.org&gt;).
4959
4960	<li>add configure script test to resolve conflict between between
4961	  &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;
4962
4963	<li>modify translation of UTF-8 sequences to reject "overly long"
4964	  variations (patch by Markus Kuhn).
4965
4966	<li>remove <code>utf8controls</code> resource, since Markus' change
4967	  removes the corresponding logic.
4968
4969	<li>correct a case where colors were not rendered properly.  This
4970	  happened when an application inserted several lines, then changed
4971	  colors.  If this was done all in one write, then there would be no
4972	  intervening refresh, and the new color was applied to the pending
4973	  scrolling operation which was awaiting the next refresh (reported
4974	  by Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).
4975
4976</ul>
4977
4978<H1><A NAME="xterm_118">Patch #118 - 1999/10/5 - XFree86 3.9.16b</A></H1>
4979<ul>
4980	<li>refine configure test for utmp versus utmpx, to build on HP-UX 10.x
4981	  (reported by David Ellement).
4982
4983	<li>move the configure check for <code>const</code> after the check
4984	  for ANSI C compiler options, since those may be required to make
4985	  it work properly on HP-UX.
4986
4987	<li>add configure test for defining <code>_GNU_SOURCE</code>
4988
4989	<li>correction to <em>-hold</em> option, ensure that if data is already
4990	  in the output buffer that it will be displayed before closing the
4991	  PTY.
4992
4993	<li>move the configure checks for setuid install of xterm into a script
4994	  to avoid installing it setuid'd to a non-root user (reported by
4995	  Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).
4996
4997	<li>correct configure script's check for termcap.h to avoid using
4998	  ncurses' version of it on systems that have a working
4999	  <code>tgetent()</code> function.  This is needed to make
5000	  <code>resize</code> work properly.
5001
5002	<li>fix some typography in ctlseqs.ms description of DEC locator events
5003	  (reported by Steve Wall).
5004</ul>
5005
5006<H1><A NAME="xterm_117">Patch #117 - 1999/9/29 - XFree86 3.9.16b</A></H1>
5007<ul>
5008	<li>change order of tests in configure script for utmp and utmpx
5009	  to test utmpx first, to compile on Solaris (reported by
5010	  Leena Heino &lt;liinu@uta.fi&gt;
5011	  and Patrik Hagglund &lt;patha@ida.liu.se&gt;).
5012
5013	<li>add a configure test for utmp.ut_xtime, needed for SCO Openserver,
5014	  and for lastlog, needed for Redhat 6.0, to refine the utmp/utmpx
5015	  auto-configure.
5016
5017	<li>remove a spurious comma in an #undef (reported by
5018	  David Green &lt;greendjf@cvhp152.marconicomms.com&gt; and
5019	  David Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
5020	  compiler does care about syntax).
5021
5022	<li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported by Suhaib
5023	  M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is told that the
5024	  next Cygnus release will drop that symbol in their next release).
5025
5026	<li>minor cleanup of ifdef's for makeColorPair (patch by Steve Wall).
5027
5028	<li>patch by Alexander V Lukyanov to work around problem observed
5029	 in XFree86 3.3.5, reported as bug #5419 to Mozilla.  From the
5030	 problem report:
5031	<blockquote>
5032	xterm consumes cpu when selecting text with mouse (holding
5033	down left mouse button) and when a program working under the
5034	xterm outputs something to stdout.
5035	<p>
5036	Easy way to reproduce:<br>
5037		<code>while :; do echo aaa; sleep 1; done</code><br>
5038	(while this runs, select text and hold down left mouse button)
5039	watch cpu load.<br>
5040	release left mouse button - spinning stops.
5041	</blockquote>
5042</ul>
5043
5044<H1><A NAME="xterm_116">Patch #116 - 1999/9/25 - XFree86 3.9.16a</A></H1>
5045<ul>
5046	<li>modify warning if change-ownership of PTY fails; some
5047	  configurations may not happen to have old-style pty's (reported by
5048	  Bob Maynard).
5049
5050	<li>improve check in configure script for group ownership of installed
5051	  xterm; some platforms use the -g option of ls to toggle group off
5052	  rather than on (reported by Greg Smith).
5053
5054	<li>minor improvement to toolbar geometry, to make it not resizable.
5055	  This still is not satisfactory (but is usable) since the toolbar
5056	  overlaps the xterm widget if the window is resized to make it
5057	  smaller.  It appears that some work is needed for the xterm widget's
5058	  geometry management to make it function properly.
5059
5060	<li>implement configure script tests for utmp, tty group.
5061
5062	<li>implement <em>-hold</em> option, allowing users to retain the
5063	  window after a shell has exited (this is recently an FAQ, but
5064	  prompted by a comment by Joachim Plaettner-Hochwarth
5065	  &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the IRIX
5066	  winterm provides this option).
5067
5068	<li>integrated change by Steve Wall to
5069	  add support for DEC Locator control sequences for xterm:
5070	  <pre>
5071
5072		DECEFR - Enable Filter Rectangle
5073		DECELR - Enable Locator Reports
5074		DECSLE - Select Locator Events
5075		DECRQLP - Request Locator Position
5076	  </pre>
5077	  This allows the xterm mouse to be used with applications that use the
5078	  DEC Locator sequences, such as VAX Tpu, or SMG$ based applications.
5079
5080	<li>patch from Matthias Baake &lt;Matthias.Baake@gmx.de&gt;, for print
5081	  action.  From his notes:
5082	  <ul>
5083	    <li>Bug 1:
5084	      Underlined text is preceded by ESC [0;2m . This should be ESC [0;4m , ESC
5085	      [2m doesn't seem to have any effect. (print.c/send_SGR)
5086
5087	    <li>Bug 2:
5088	      The check for the last non-empty column (while (last &gt; 0) ... in
5089	      print.c/printLine) omits the rightmost column of the screen, the loop must
5090	      start with last = screen-&gt;max_col+1 instead of last = screen-&gt;max_col.
5091
5092	    <li>Bug 3:
5093	      Any attributes of the first character (and of all immediately following
5094	      characters with the same attributes) are ignored. The variable attr
5095	      (print.c/printLine) should be initialized with 0, not with *a &amp; SGR_MASK.
5096	  </ul>
5097</ul>
5098
5099<H1><A NAME="xterm_115">Patch #115 - 1999/9/18 - XFree86 3.9.16a</A></H1>
5100<ul>
5101	<li>integrated changes by Steve Wall to implement an 88-color model
5102	  for systems where 256-colors cannot be allocated.
5103
5104	<li>when 256-color configuration is compiled, colored bold and
5105	  underlining is not available; ifdef'd to avoid possible odd effects
5106	  in this case (reported by Steve Wall).
5107
5108	<li>add resource <em>cacheDoublesize</em>, to limit the caching of font
5109	  information for double-sized characters.  This addresses a problem
5110	  reported by Aryeh Koenigsberg for X terminals with limited font
5111	  memory.
5112
5113	<li>modify treatment of line-drawing characters in UTF-8 mode so that
5114	  the Unicode values are used rather than the C0 codes for storing the
5115	  translated characters (request by Markus Kuhn).
5116</ul>
5117
5118<H1><A NAME="xterm_114">Patch #114 - 1999/9/15 - XFree86 3.9.16</A></H1>
5119<ul>
5120
5121	<li>add configure script checks for Athena headers and libraries under
5122	  /usr/contrib to work on HPUX (reported by several people:
5123		David Nixon &lt;djn@csc.liv.ac.uk&gt;
5124		Aryeh Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;
5125		Johannes M&#x00E4;hner &lt;johanm@camline.com&gt;
5126		Andrew Gaylard &lt;andrew.gaylard@bsw.co.za&gt;).
5127
5128	<li>add check to configure script if xterm is installed setgid rather
5129	  than setuid, since wtmp and utmp may be installed with group-writable
5130	  permissions other than root (based on Debian bug report #7112 by Bo
5131	  Branten &lt;bosse@ing.umu.se&gt;).
5132
5133	<li>rewrote logic that removes data from termcap entry, e.g., for
5134	  titeInhibit, to make it less likely to remove the wrong data.
5135
5136	<li>correct logic which checks for missing characters used for line
5137	  drawing.  The 0 character was tested unnecessarily, leading to
5138	  some inefficiency when rendering.
5139
5140	<li>change termcap capability which is used as input or output of
5141	  ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
5142	  Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed out
5143	  in effect that <em>kD</em> (in terminfo <em>kdch1</em>) should
5144	  correspond to the control sequence for <em>dch1</em>, which deletes
5145	  from the current position toward the right.
5146
5147	<li>check for failure to change ownership of the PTY device and warn
5148	  when xterm is running setuid'd to root.  This was reported to happen
5149	  on the FreeBSD/NetBSD/OpenBSD systems as a result of the chflags()
5150	  call.
5151
5152	<li>add xterm-noapp terminfo entry to illustate a nominally
5153	  bash-compatible terminal description.
5154</ul>
5155
5156<H1><A NAME="xterm_113">Patch #113 - 1999/8/15 - XFree86 3.9.15b</A></H1>
5157Several fixes.  The main one is a first draft of pulldown menus.  It's not
5158complete (I have some minor/annoying geometry problems to correct), but is
5159usable.  Once it's complete I plan to add a menu to support additional
5160selections that won't fit on the current popup menus.  Also, this fits into my
5161longterm plan to allow configuring with Motif libraries.
5162
5163<ul>
5164	<li>correct error in input conversion for NRC mode (reported by
5165	  Stefan Traby &lt;stefan@sime.com&gt;).
5166
5167	<li>fix initialization of num_lock data in Misc struct (since those
5168	  fields of the reference widget aren't initialized), and add logic to
5169	  deal with XVision whose NumLock key does not transmit but does alter
5170	  keypad state.
5171
5172	<li>correct a missing return-value in get_pty(), for SCO
5173
5174	<li>add E2A fix for backspace (Greg Smith), i.e.,<br>
5175	  #define VAL_INITIAL_ERASE A2E(127)
5176
5177	<li>correct foreground color within cursor outline when the
5178	  window is unfocused (reported by Stephane Chazelas).
5179
5180	<li>corrected position of scrollbar set in ResizeScrollBar(), which
5181	  left it positioned incorrectly if the right scrollbar were enabled
5182	  from the popup menu but was not initially enabled.
5183
5184	  <p>
5185	  I have noticed some additional problems with right-scrollbar on
5186	  X11R5 which I will correct later.
5187
5188	<li>integrate changes by Jean-Claude Michot for QNX from XFree86 3.3.4c
5189
5190	<li>add resources menuBar/MenuBar, menuHeight/MenuHeight for later
5191	  use in toolbar geometry.
5192
5193	<li>add configure option --enable-toolbar
5194
5195	<li>add missing definition to make ziconbeep logic not compile-in when
5196	  configure script disables it.
5197
5198	<li>add configure-check for input-method support in X libraries
5199</ul>
5200
5201<H1><A NAME="xterm_112">Patch #112 - 1999/7/17 - XFree86 3.9Pw</A></H1>
5202<ul>
5203	<li>add null-pointer check to FlushLog(), fixes a core dump when both
5204	  -l and -lf options are used when xterm is configured with wide-character
5205	  support.
5206
5207	<li>remove "ISO" case for SD, which was due to a typographical error in
5208	  ECMA-48 (reported by Paul Williams &lt;paul@celigne.co.uk&gt; for
5209	  vttest).
5210
5211	<li>add "FILES" section to manpage.
5212
5213	<li>generate header file to initialize default resources for colors
5214	  16-255.
5215
5216	<li>patches by Greg Smith for os390:
5217	<ul>
5218	  <li>add README.os390
5219
5220	  <li>use the pty_search() function to find an available pty/tty pair.
5221
5222	  <li>move E2A() call out of getXtermCell() to SaveText() function
5223	      so it will be available in all configurations.
5224	</ul>
5225
5226	<li>patches by Todd Larason:
5227	<ul>
5228	  <li>enable SGR 48 5 in ISO color mode, not just 256 color mode
5229
5230	  <li>change configure's --disable-256-color option to
5231	    --enable-256-color, to match its effect
5232
5233	  <li>fix OSC 4 xx ?  (report ansi color) to report a string which can
5234	    actually be used to set the color back
5235
5236	  <li>fix OSC 4 xx yy (change ansi color) to not allow setting colors &gt;
5237	    15 in 16 color mode
5238
5239	  <li>simplify the COLOR_ settings a bit in ptyx.h, along with setting
5240	    NUM_ANSI_COLORS needed for #1 and #4 above
5241
5242	  <li>correct string-terminator code passed for reference to OSC
5243	    responses; when in 7-bit mode, only the final byte of ST was seen.
5244
5245	  <li>Allow multiple color #;name pairs in OSC 4,
5246	    and document changes to match.
5247	</ul>
5248</ul>
5249
5250<H1><A NAME="xterm_111">Patch #111 - 1999/7/10 - XFree86 3.9Pw</A></H1>
5251<ul>
5252	<li>add control sequences for specifying the RGB value of the ANSI
5253	  colors, and for configuring with 256 colors (patch by Todd Larason
5254	  &lt;jtl@molehill.org&gt;).  I made the default configuration to
5255	  16-colors, because xterm uses the default color map (which has only
5256	  256 colors).
5257
5258	<li>correct an error in DCS $ q m reporting for colors 8-15 (Todd
5259	  Larason).
5260
5261	<li>add test/demo script for double size characters.  Used this to
5262	  test/correct display of double size characters that should wrap,
5263	  underlined double size characters.
5264
5265	<li>increased cache size for double size fonts to 8, to allow for both
5266	  normal and bold fonts (from discussion with Aryeh Koenigsberg
5267	  &lt;aryeh.koenigsberg@telrad.co.il&gt;).
5268
5269	<li>integrated patch from Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;
5270	  for port to OS390 (aka MVS).  OS390 uses EBCDIC rather than ASCII.
5271
5272	<li>correct an off-by-one in binary search limits in keysym2ucs.c (Markus
5273	  Kuhn).
5274
5275	<li>implement logging for UTF-8 mode.  The output is written in UTF-8 form.
5276</ul>
5277
5278<H1><A NAME="xterm_110">Patch #110 - 1999/6/29 - XFree86 3.9Pu</A></H1>
5279<ul>
5280	<li>If colorMode is enabled by default, compile-in default resources to
5281	  match the colors listed in XTerm-col.ad (this should fix a
5282	  longstanding FAQ).
5283
5284	<li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST escape
5285	  sequence to set an arbitrary X property on the top level xterm X11
5286	  window.  Omit "=VALUE" to delete the X property (patch by Greg Badros
5287	  &lt;gjb@cs.washington.edu&gt;).
5288
5289	<li>change internal flag used for <em>utf8controls</em> resource
5290	  so we allow 31-bit range of characters (suggested by Thomas Wolff).
5291
5292	<li>add check for 16-bit characters in OSC strings, change them to '?'
5293	  (reported by Thomas Wolff).
5294
5295	<li>modify logic of same_font_name() to avoid trying to interpret both
5296	  parameters as wildcard patterns.  That does not (cannot) work, and in
5297	  some instances the font server will return unresolved wildcards for
5298	  the normal or bold fontnames, making them match inadvertently,
5299	  triggering the fallback overstrike logic (reported by Tim Adye).
5300</ul>
5301
5302<H1><A NAME="xterm_109">Patch #109 - 1999/6/23 - XFree86 3.9Pt</A></H1>
5303<ul>
5304	<li>correct range-check from patch #108, which resulted in not being
5305	  able to select from the scrollback buffer (reported by Tim Adye
5306	  &lt;T.J.Adye@rl.ac.uk&gt;)
5307
5308	<li>correct "no available ptys" problem with Cygwin B20.1 (patch by Tim
5309	  Adye).
5310
5311	<li>modified install-ti rule in Makefile.in to allow override of the
5312	  terminfo directory when doing a "make install", i.e., by assigning
5313	  to TERMINFO_DIR (request by Zdenek Sekera &lt;zs@sgi.com&gt;).
5314
5315	<li>added install-full rule to Makefile.in
5316
5317	<li>resync mkdirs.sh and install.sh scripts against current autoconf
5318
5319	<li>implement $(DESTDIR) in Makefile.in, making it simple to install
5320	  xterm and associated files into a directory just for packaging a
5321	  binary release (suggested by CaT &lt;cat@zip.com.au&gt;).
5322
5323	<li>change IChar type to unsigned, rather than unsigned short, making
5324	  room for a flag to keep with 16-bit characters to prevent them from
5325	  being interpreted as C0 or C1 controls (reported by Thomas Wolff).
5326
5327	<li>correct a typo from patch #107, incorrect array name, in the
5328	  filterUTF8 function (patch by Bruno Haible &lt;haible@ilog.fr&gt;)
5329
5330	<li>add <em>utf8controls</em> resource to specify whether xterm should
5331	  interpret 16-bit characters unpacked from UTF-8 form as control
5332	  characters if they happen to fall into that range.  This behavior
5333	  is left unspecified by the Unicode standard (request by Thomas Wolff).
5334
5335	<li>modify handling of OSC to recover if application sends 16-bit
5336	  characters with codes above 255.  We cannot display them as is, but
5337	  translate out-of-range characters to a '?' (reported by Thomas
5338	  Wolff).
5339</ul>
5340
5341<H1><A NAME="xterm_108">Patch #108 - 1999/6/19 - XFree86 3.9Ps</A></H1>
5342<ul>
5343	<li>add a range-check to LastTextCol(), to guard against indexing
5344	  before the beginning of the scrollback buffer.  This appears to
5345	  happen with certain fonts under X11R5 (reported by Stephane Chazelas
5346	  &lt;Stephane_Chazelas@Raytheon.com&gt;).
5347
5348	<li>implement resource <em>boldMode</em>, to allow disabling the
5349	  simulation of bold fonts when the bold and normal fonts are not
5350	  different (requested by Will Day &lt;willday@rom.oit.gatech.edu&gt;).
5351
5352	<li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few bugs in
5353	  the UTF-8 selection (patch by Juliusz Chroboczek).
5354
5355	<li>correct logic of binary-search in keysym2ucs.c (patch by Markus
5356	  Kuhn).
5357
5358	<li>add special interpretation of keysym codes above 0x1000000 as
5359	  the corresponding UCS value plus 0x1000000 (patch by Markus Kuhn).
5360</ul>
5361
5362<H1><A NAME="xterm_107">Patch #107 - 1999/6/12 - XFree86 3.9Pq</A></H1>
5363<ul>
5364	<li>Two changes from Stephen P Wall.
5365	  From his description:
5366	<blockquote>
5367	The first change is simple - I added ESC[3J to erase the stored lines
5368	above the screen.  That's what the changes to util.c and ctlseqs.ms
5369	are.
5370	<p>
5371	The second change is to get the blinking cursor working.  I took out
5372	the cursorBlinkTime resource, and put in cursorBlink (Boolean),
5373	cursorOnTime (time cursor is on in msecs) and cursorOffTime, and added
5374	a cursorblink item to the vtMenu to enable/disable it.
5375	</blockquote>
5376
5377	<li>Integrated a patch from Juliusz Chroboczek &lt;jec@dcs.ed.ac.uk&gt;.
5378	  From his description:
5379	<blockquote>
5380	With this patch, selection conversion works properly:
5381<pre>
5382	ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
5383	ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
5384	UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
5385	UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
5386</pre>
5387	It will not work properly if one xterm is in, say, ISO 8859-2.
5388	Actually, for this case xterm breaks the ICCCM routinely (sending ISO
5389	8859-2 data as STRING), so I wouldn't worry too much about it.  I have
5390	not changed the behaviour in eight-bit mode in any way.
5391	</blockquote>
5392</ul>
5393
5394<H1><A NAME="xterm_106">Patch #106 - 1999/6/9 - XFree86 3.9Pq</A></H1>
5395<ul>
5396	<li>remove duplicate fix for OpenBSD in resize.c
5397
5398	<li>correct logic in ScreenWrite, which did not reset the high bytes
5399	  of 16-bit characters when overwriting them with a 8-bit character
5400	  string (reported by Thomas Wolff).
5401
5402	<li>integrate patch by Markus Kuhn to provide limited support for
5403	  input of UTF-8 16-bit data by a lookup table.
5404
5405	<li>correct check in non_blank_line to ensure we're in wide-character
5406	  mode before looking at the high bytes, for InsertChar.
5407</ul>
5408<H1><A NAME="xterm_105">Patch #105 - 1999/6/5 - XFree86 3.9Pp</A></H1>
5409<ul>
5410	<li>implement new resource <em>trimSelection</em>, which allows xterm
5411	  to trim trailing blanks from selected lines.  This does not affect
5412	  the highlighting. (reported by several people using <em>mutt</em>,
5413	  including
5414	  Hans Morten Kind &lt;edphk@uib.no&gt;,
5415	  Jeremy &lt;jeremy@exit109.com&gt;
5416	  and (Michael Fuller &lt;msf@mds.rmit.edu.au&gt;).
5417
5418	<li>add patch by Matthieu Herrb to include term.h in resize for OpenBSD.
5419
5420	<li>correct logic for UTF-8 in functions that hide and show the cursor;
5421	  it was displaying a space whenever the low byte of the character at
5422	  the cursor position was zero (reported by Thomas Wolff
5423	  &lt;Thomas.Wolff@icn.siemens.de&gt;).
5424</ul>
5425
5426<H1><A NAME="xterm_104">Patch #104 - 1999/5/30 - XFree86 3.9Pn</A></H1>
5427This is a resync patch against XFree86 3.9Pn, reflecting changes which were
5428submitted by Branden Robinson, who worked with
5429Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt;
5430to set up ifdef's to handle GNU libc 2.1,
5431and use getpt() which lets xterm avoid having to know the actual PTY name.
5432<p>
5433I have also added a few fixes for signed/unsigned mismatches, and corrected
5434a problem in the configure script (the UTF-8 code was always configured since
5435the Imakefile defines this).
5436
5437<H1><A NAME="xterm_103">Patch #103 - 1999/5/14 - XFree86 3.9Pm</A></H1>
5438<ul>
5439	<li>correct selection logic: I omitted an offset that accounts for
5440	  the distance into the scrollback buffer when rewriting this for
5441	  patch #101.  Also fixed a similar problem for selecting double
5442	  size characters from the scrollback buffer (first was reported
5443	  by D Roland Walker &lt;walker@pobox.com&gt;).
5444
5445	<li>improved support for Unix98 PTY's, using patch in Debian bug report
5446	  #35650, by J.H.M. Dassen &lt;jdassen@wi.leidenuniv.nl&gt;. From
5447	  the patch description:
5448	<blockquote>
5449	<ul>
5450	<li>No longer links xterm against libutil on a glibc2.1 system.
5451	  libutil is a compatibility library and should only be used when
5452	  necessary.  Rather than having get_pty() use openpty() from this
5453	  compatibility library, use the real UNIX98 pty support in get_pty()
5454	  (open()ing the master pty, through getpt() if available (glibc
5455	  extension)).  Use openpty() only under glibc2.0.
5456	<li>GNU libc2 is not Linux-specific; already it runs on the Hurd.  It
5457	  provides the UNIX98 pty functions (plus the getpt() extension),
5458	  regardless of the underlying OS.  Changed two constructs to look for
5459	  GNU libc2 only, not GNU libc2 on Linux.
5460	</ul>
5461	</blockquote>
5462
5463	<li>improve font configuration, by checking if the user's resource
5464	 settings for normal and bold fonts give the same font sizes
5465	 (fixes problem reported by Peter Waltenberg &lt;peterw@dascom.com&gt;).
5466</ul>
5467
5468<H1><A NAME="xterm_102">Patch #102 - 1999/5/12 - XFree86 3.9Pm</A></H1>
5469<ul>
5470	<li>revert change to openpty call in patch #101; this causes xterm to
5471	  fail on DEC-Alpha OSF/1 4.0B (reported by H Merijn Brand).
5472
5473	<li>modify print.c to move include of stdio.h after the autoconf'd
5474	  xtermcfg.h since HP's ANSI C compiler otherwise sees inconsistent
5475	  prototype for getopt, probably due to problem with const (reported by
5476	  H Merijn Brand).
5477</ul>
5478
5479<H1><A NAME="xterm_101">Patch #101 - 1999/5/10 - XFree86 3.9Pm</A></H1>
5480<ul>
5481	<li>moved includes and definitions for 'select' from data.h to xterm.h
5482	  to fix problem introduced by prototype for getPtyData, part of UTF-8
5483	  changes (reported by Jens Schleusener &lt;Jens.Schleusener@dlr.de&gt;)
5484
5485	<li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
5486	  translation (patch by H Merijn Brand)
5487
5488	<li>fixes to configure script and ifdef's in main.c to build on a
5489	  HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with egcs 1.1.2
5490	  and HP's ANSI C compiler (patch by H Merijn Brand
5491	  &lt;PROCURA_BV@CompuServe.com&gt;)
5492
5493	<li>add more parentheses in ifdef's (patch by Bob Maynard).
5494
5495	<li>eliminate conflicting definitions for USE_TERMINFO in resize.c
5496	  (reported by Jeremy Buhler).
5497
5498	<li>change openpty call to pass NULL rather than ttydev parameter,
5499	  since that was used only to estimate the length of the
5500	  corresponding data, and may not really be long enough
5501	  (reported by Andreas Jaeger)
5502
5503	<li>update description in xterm manpage for character class table,
5504	  which said it handles only 7-bit codes.
5505
5506	<li>correct a typo in ScrnDeleteChar() which made it not clear the
5507	  high byte of wide-character data.
5508
5509	<li>add logic to convert selection to UTF-8 form when appropriate.
5510	  This makes select/paste "work", but further work is needed to
5511	  make UTF-8 recognized as a locale in Xlib.
5512
5513	<li>correct right-limit check when selecting double-width characters.
5514
5515	<li>change default answerback response to an empty string.
5516</ul>
5517
5518<H1><A NAME="xterm_100">Patch #100 - 1999/5/3 - XFree86 3.9Pl</A></H1>
5519<ul>
5520	<li>Correct a typo in the default resource value for
5521	  backarrowKeyIsErase:  it was always true (reported by Bram
5522	  Moolenaar).
5523
5524	<li>improve configure script's test if the installed xterm is setuid,
5525	  in case that is a symbolic link.
5526
5527	<li>correct "install-ti" rule in Makefile.in, by not setting a blank
5528	  $TERMINFO value.  That is interpreted as "." by ncurses' tic.
5529</ul>
5530
5531<H1><A NAME="xterm_99">Patch #99 - 1999/5/2 - XFree86 3.9Pk</A></H1>
5532<ul>
5533	<li>correct logic that computes num_ptrs count of the number of indices
5534	  into the screen buffer.  This is the maximum of the colors and
5535	  character-set indices; was incorrect in patch #97.
5536
5537	<li>correct argument type for sigsetjmp, incidental change in patch
5538	  #96's Unix88 PTY patch (reported by Bram Moolenaar).
5539
5540	<li>correct description of secondary DA in ctlseqs.ms (reported by Bram
5541	  Moolenaar).
5542
5543	<li>decouple the backarrowKey and ptyInitialErase resources by
5544	  adding a new resource backarrowKeyIsErase, to accommodate people
5545	  using applications which have hardcoded tests for characters 8 and
5546	  127 rather than relying on the stty settings.
5547
5548	<li>modify the UTF-8 decoder so that all possible illegal UTF-8
5549	  sequences are properly represented by U+FFFD.  This should be very
5550	  helpful for developers of code that output UTF-8 strings for
5551	  debugging.  See the file utf-8-test.txt in
5552	  http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
5553	  demonstration text that contains numerous illegal UTF-8 values.
5554	  (patch by Markus Kuhn).
5555
5556	<li>correct a place in ScrnRefresh where I was filling the high byte of
5557	  a wide character with a space rather than a null (reported by Markus
5558	  Kuhn).
5559</ul>
5560
5561<H1><A NAME="xterm_98">Patch #98 - 1999/4/26 - XFree86 3.9Pk</A></H1>
5562<ul>
5563	<li>correct data manipulation in unparseputc(), broken for
5564	  little-endian machines by patch #97's UTF-8 changes.  This meant that
5565	  keyboard input on SunOS did not work, though Linux i386 was fine.
5566
5567	<li>modify initialization for backarrowKey and logic for initial-erase
5568	  to prevent the initial-erase from overriding an explicitly set
5569	  backarrowKey resource (reported by Vikas Agnihotri).
5570
5571	<li>add a missing null-pointer check in ScrnRefresh, for the
5572	  wide-characters configuration.
5573</ul>
5574
5575<H1><A NAME="xterm_97">Patch #97 - 1999/4/25 - XFree86 3.9Pk</A></H1>
5576<ul>
5577	<li>add configure script test for -lutil, needed for openpty call when
5578	  configuring xterm for Glibc-2.1 and Unix98 PTY's (first reported by
5579	  Martin Lorentz" &lt;m.lorentz@w12.link-goe.de&gt;).
5580
5581	<li>completely parenthesize ifdef expressions for Glibc (suggested by
5582	  Bob Maynard).
5583
5584	<li>add initial-erase options (-ie, +ie) to help message (reported by
5585	  Vikas Agnihotri).
5586
5587	<li>remove duplicate definition of USE_USG_PTYS (reported by Jeremy
5588	  Buhler).
5589
5590	<li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a DEL
5591	  (\177).
5592	  I overlooked this when separating the styles of keyboard with
5593	  the <em>sunKeyboard</em> resources in patch #94, so that it normally
5594	  matches the value of the stty erase character:
5595	  <ul>
5596	  <li>Reported by Jae Gangemi &lt;jgangemi@ccf.rutgers.edu&gt;,
5597	    this caused emacs to not process the DEL properly, combining it
5598	    with succeeding characters.
5599	  <li>This does not appear to be related to a problem which I have
5600	    found with <em>screen</em>, which translates the stty erase into
5601	    the termcap <em>kD</em> or terminfo <em>kdch1</em> value
5602	    (depending on how it is linked)
5603	    if the $TERMCAP variable is set when <em>screen</em> is invoked.
5604	  </ul>
5605
5606	<li>add command-line options for enabling UTF-8 mode: -u8 and +u8.
5607	  The more obvious -utf8 and +utf8 would conflict with xterm's
5608	  -ut and +ut (utmp) options.
5609
5610	  The UTF-8 changes were requested by Markus Kuhn
5611	  &lt;Markus.Kuhn@cl.cam.ac.uk&gt;.  This patch does not complete UTF-8
5612	  implementation, but makes it usable, i.e., display and refresh work,
5613	  and I am able to display the test cases which Markus provides.
5614	  More work is needed to complete this feature:
5615	  <ul>
5616	  <li>the control sequences for switching in/out of UTF-8 mode are
5617	    partly implemented (don't use them).  Similarly, the switching
5618	    between vt100 and tek4014 emulations when UTF-8 mode is enabled
5619	    will not work properly.
5620	    <p>
5621	    You must use the -u8 command line option
5622	    to use this feature, as well as compile with the OPT_WIDE_CHARS
5623	    definition.
5624	  <li>cut/paste only copies 8-bit characters.
5625	  <li>logging is disabled in the wide-character configuration
5626	  <li>printing only writes 8-bit characters.
5627	  <li>input only does 8-bit characters.  This is the area that I know
5628	    least about.
5629	  </ul>
5630</ul>
5631
5632<H1><A NAME="xterm_96">Patch #96 - 1999/4/19 - XFree86 3.9Pj</A></H1>
5633<ul>
5634	<li>modify Makefile.in to work with configure script's --srcdir option.
5635	  (patch by Jeremy Buhler &lt;jbuhler@cs.washington.edu&gt;)
5636
5637	<li>add checks for 'echo -n' equivalent for 8colors.sh and 16colors.sh
5638	  scripts (reported by Vikas Agnihotri).
5639
5640	<li>improve logic that looks for bold fonts to allow for wildcards
5641	  in the specification for normal fonts, and to ensure that if
5642	  a bold font is specified as normal, that xterm will simulate a
5643	  bold version of that using a one-pixel offset overstrike
5644	  (reported by Henrik Harmsen &lt;harmsen@erv.ericsson.se&gt;).
5645
5646	<li>correct horizontal spacing of double width line-drawing characters
5647	  that xterm simulates.
5648
5649	<li>improve support for Unix98 PTY's, using patch in Debian bug report
5650	  #35650, by Topi Miettinen &lt;Topi.Miettinen@medialab.sonera.fi&gt;.
5651	  Andreas Jaeger says this also corrects a permissions problem
5652	  reported by cat@zip.net.au
5653
5654	<li>modify initial-erase logic to ensure that <code>ttyModes</code>
5655	  resource overrides it.
5656</ul>
5657
5658<H1><A NAME="xterm_95">Patch #95 - 1999/4/5 - XFree86 3.9Ph</A></H1>
5659<ul>
5660	<li>modify primary DA response to allow a '1' parameter.
5661
5662	<li>add printer and national replacement character sets to VT220
5663	  primary DA response.
5664
5665	<li>document primary and secondary DA responses in ctlseqs.ms
5666
5667	<li>use the patch number (e.g., 95) in the secondary DA response,
5668	  providing user applications a means of determining the version
5669	  of xterm for feature comparison (request by Bram Moolenaar).
5670
5671	<li>make xterm respond to secondary DA when the decTerminalID
5672	  is set for VT100.
5673
5674	<li>limit user-defined keys (DECUDK) to VT220-style keyboard
5675	  when sunKeyBoard resource is true.
5676
5677	<li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
5678	  Glibc-2.1 and no Unix98 PTY support (patch from From Andreas Jaeger
5679	  &lt;aj@arthur.rhein-neckar.de&gt;)
5680
5681	<li>add optional feature (resource and command-line options) to make
5682	  xterm use the PTY's sense of erase character on startup, rather than
5683	  requiring it to be \177, or set the PTY's erase character to match
5684	  xterm's configuration.  Note that while $TERMCAP is modified to
5685	  reflect the actual configuration, the terminfo kdch1 string is not
5686	  (request by Dirk H Hohndel &lt;hohndel@suse.de&gt;)
5687
5688	<li>improve scripts in vttests to work with newer shells that do not
5689	  use 'echo -n'.
5690
5691	<li>add fonts.sh example script
5692
5693	<li>correct inequality in handling of "#1" font specification.
5694
5695	<li>correct call to XGetWMNormalHints() used for computing maximum
5696	  screen size; the size hints may not have been set.
5697
5698	<li>begin implementation of support for wide-characters (configure
5699	  option --enable-wide-chars defines OPT_WIDE_CHARS, invoke xterm with
5700	  -wc option to activate this feature).  This patch optionally widens
5701	  internal data structures, invokes the 16-bit text output rather than
5702	  the 8-bit version and adds some tables.
5703
5704</ul>
5705<H1><A NAME="xterm_94">Patch #94 - 1999/3/27 - XFree86 3.9Pf</A></H1>
5706<ul>
5707	<li>further fixes for terminfo: ka1, ka3, etc., differ between the
5708	  default xterm-xfree86 and xterm-vt220 entries.
5709
5710	<li>change default (with sunKeyboard resource false) behavior of
5711	  the editing keypad "Delete" to send a 127, like xterm-r6.
5712	  The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
5713	  sunKeyboard is true (reported by Tomas Vanhala).
5714
5715	<li>add parameters to function keys to indicate if shift, control
5716	  or alt are set.  The codes are based on a description of
5717	  a DEC VT510 with a PC keyboard, from Jeffrey Altman
5718	  &lt;jaltman@watsun.cc.columbia.edu&gt;.
5719
5720	<li>add control sequence 1035, set-num-lock action and num-lock
5721	  menu entry to control the use of the NumLock and Alt keys for
5722	  the Sun/PC and VT220 keyboard extensions.
5723
5724  	<li>implement DECSET/DECRST numeric keypad (DECNKM) mode.
5725
5726	<li>modify terminfo and termcap to use recommended "X Window" or "X11"
5727	  names rather than "X Windows" (reported by Tomas Vanhala).
5728
5729	<li>suppress translation of shifted keypad "+" when sunKeyboard
5730	  is true.
5731
5732	<li>workaround unexpected behavior (perhaps bug) in XmbLookupString,
5733	  which returns trash in the string buffer for numlock and control-key
5734	  combined with keypad-keys.
5735
5736	<li>modify ScrollBarReverseVideo() to keep scrollbar border visible
5737	  when reverse video is toggled.
5738
5739	<li>correct missing case for parameter 17 (set highlight color) in
5740	  dynamic colors control sequences.
5741
5742	<li>extend dynamic colors control sequences to allow users to
5743	  determine the colors and font which are currently active.
5744
5745	<li>minor tweak to OSC responses, to use BEL if the application used
5746	  that to end the request, rather than ST.  This works better with
5747	  shell scripts, which may not handle an
5748	  <code>&lt;ESC&gt;backslash</code> very well.
5749
5750	<li>separate menu settings for reverse video from that done under
5751	  program control.
5752
5753	<li>corrected ifdef's for menus, which did not allow tek4014 to
5754	  be suppressed properly (reported by Clint Olsen).
5755
5756	<li>integrated patch from Pavel Roskin
5757	  &lt;pavel_roskin@geocities.com&gt;
5758	  for Linux-2.2.x with GLibc-2.1 and
5759	  /dev/ptmx support:
5760	<ul>
5761	  <li>main.c and resize.c were using different rules to determine
5762	    whether ATT should be defined (actually USE_USG_PTYS is more
5763	    apt).
5764
5765	  <li>copy definitions from main.c to resize.c to prevent
5766	    sys/stream.h and sys/ptem.h from inclusion when SYSV is not
5767	    defined
5768
5769	  <li>define CNUL if not already defined like other variables.
5770
5771	  <li>/dev/tty does exist in Linux, but it doesn't mean, it
5772	    should be used.  Therefore EACCES is now an acceptable
5773	    result.
5774
5775	  <li>ifdef'd several calls such as <code>ioctl (ptyfd, I_PUSH,
5776	    "ptem")</code> to build on Linux (I_PUSH is not defined when
5777	    sys/stropts.h is not included).
5778	</ul>
5779
5780	<li>initialize second "ltc" variable in main.c (reported by David
5781	  Dawes).
5782
5783	<li>provide definition for USE_USG_PTYS in screen.c
5784
5785	<li>add resource-files to install rule in standalone Makefile.in
5786
5787	<li>add sample scripts to illustrate titlebar controls, resizing
5788	  and colors.
5789</ul>
5790
5791<H1><A NAME="xterm_93">Patch #93 - 1999/3/14 - XFree86 3.9Pd</A></H1>
5792Here are several fixes and minor enhancements.  The chief ones
5793are the fixes for NumLock mode and reverse video, since we had become
5794used to working around the problems.
5795<ul>
5796	<li>remove kfnd/kll/kslt strings from terminfo, because curses
5797	  applications do not necessarily return khome/kend pairs
5798	  (reported by Vikas Agnihotri).
5799
5800	<li>implement NumLock resource which overrides the keyboard tables for the
5801	  special case of keypad keys.  This is a problem introduced in xterm
5802	  by X11R6 changes, i.e., an ambiguity which in effect discarded vt100
5803	  keypad support.
5804
5805	<li>modify Sun/PC keyboard mode to extend this (emulation of DEC vt100
5806	  keypad) to the remainder of the numeric keypad.  Now, the default
5807	  operating mode of xterm uses the keyboard tables as-is (except if
5808	  the NumLock mode overrides), but provides good vt100 keypad compatibility
5809	  if the Sun/PC keyboard menu item is checked.
5810
5811	<li>separate command-line settings for reverse video from that done
5812	  under program control.  This is a problem which was introduced by
5813	  X11R6.  Though <em>correct</em>, most users are confused by allowing
5814	  the reset command to undo the effect of the command-line <kbd>-rv</kbd>
5815	  option.
5816
5817	<li>add description of function keys, keypad and cursor keys to ctlseqs.ms
5818
5819	<li>add terminfo entries for xterm-vt52, xterm-sun and xterm-hp
5820
5821	<li>correct typo (missing case value) for DECSET 35, enable/disable
5822	  shifted keypad action and a few compiler warnings (reported by Zdenek
5823	  Sekera &lt;zs@sgi.com&gt;).
5824
5825	<li>correct reporting of color values 8-15 in DECRQSS (reported by
5826	  Vikas Agnihotri).
5827
5828	<li>modify parsing of ttyModes resource to recognize "^-" as "undef"
5829	  (requested by Tomas Vanhala).
5830
5831	<li>integrate/extend changes to add iconify/maximize actions
5832	  (from Edward S. Arthur &lt;eda@ultranet.com&gt;).
5833
5834	<li>add control sequences for maximizing/restoring window, and
5835	  for reporting maximum screen size.
5836
5837	<li>add 'interpret' action, to support local function-key interpretation.
5838	  Used properly, this makes most of the specialized actions of xterm
5839	  redundant.
5840
5841	<li>add control sequence private modes 1051, 1052 and 1052, for
5842	  setting the Sun and HP function key modes, and for setting the
5843	  Sun/PC keyboard mode.
5844
5845	<li>add configure option --disable-maximize
5846
5847	<li>add configure option --disable-num-lcok
5848
5849	<li>extend descriptions of configure script options in INSTALL.
5850</ul>
5851
5852<H1><A NAME="xterm_92">Patch #92 - 1999/2/5 - XFree86 3.9Nz</A></H1>
5853<ul>
5854	<li>increase buffer size for tgetent (i.e., termcap) to 1500.  This
5855	  fixes a problem where <em>screen</em> is built using ncurses or
5856	  GNU termcap and <em>xterm</em> is built using the standard termcap
5857	  interface.  The former does not limit the termcap size, while the
5858	  latter is assumed to be no longer than 1023 characters.  The
5859	  <em>screen</em> program's termcap entry is about 1200 characters
5860	  long.
5861
5862	<li>change update_menu_item() to a function, to simplify debugging.
5863	  This also reduces the executable by 4Kb.
5864
5865	<li>add control sequences for DECSET 30, 1010, 1011 like rxvt (enable
5866	  or disable some features that were only settable via resources or
5867	  command line arguments).
5868
5869	<li>add control sequence for DECSET 35, which enables/disables the
5870	  shifted keypad functions.
5871
5872	<li>add support for switching font sizes, by stepping through the
5873	  font menu using shifted keypad plus and minus.
5874
5875	<li>correct missing initialization of tekInhibit and tekSmall resources.
5876
5877	<li>correct ifdef's in charproc.c for XtNgeometry and XtCGeometry
5878	  (reported by Bram Moolenaar).
5879</ul>
5880
5881<H1><A NAME="xterm_91">Patch #91 - 1999/1/21 - XFree86 3.9Nw</A></H1>
5882<ul>
5883	<li>Implement logic to translate input characters which are mapped
5884	  when in vt220 National Replacement Character mode (requested by
5885	  Tomas Vanhala).
5886
5887	<li>Resync configure scripts with my patches to autoconf 2.13
5888
5889	<li>Change order of -lXmu and -lXext to accommodate cygwin32
5890	  (reported by Vikas Agnihotri).
5891
5892	<li>Add "-ti" option to set terminal emulation level from command
5893	  line rather than via resource.
5894
5895	<li>Simplify some of the preprocessor logic using #elif.
5896</ul>
5897
5898<H1><A NAME="xterm_90">Patch #90 - 1998/12/13 - XFree86 3.9Nq</A></H1>
5899This implements several small fixes and enhancements.  The chief one implements
5900fallback support for line drawing characters with fonts that do not include
5901those characters.  But I implemented that last.
5902
5903<ul>
5904	<li>If any of the glyphs in positions 0-31 (used by xterm to implement
5905	  the VT100 alternate character set) are zero-sized (i.e., missing),
5906	  xterm will reserve a normal space for the glyph when drawing.  I
5907	  implemented a simple stroke-drawing function to draw the line-drawing
5908	  characters and a couple of the other (simpler) characters such as
5909	  diamond.  (This was suggested by Vikas Agnihotri).
5910
5911	<li>Modify the computation of doublesize characters to work around font
5912	  servers which shift the scaled characters up/down or do not give the
5913	  correct width.
5914
5915	<li>Add popup menu item and corresponding resource settings to disable
5916	  the font-scaling logic for doublesize characters to work around
5917	  (older) font servers which simply do not draw the fonts scaled to the
5918	  size that they said they would.  I see this problem on a SunOS system
5919	  running X11R5; the X11R6 servers seem well behaved.
5920
5921	<li>Implement new escape sequence, private mode 1049, which combines
5922	  the switch to/from alternate screen mode with screen clearing and
5923	  cursor save/restore.  Unlike the existing escape sequence, this
5924	  clears the alternate screen when switching to it rather than when
5925	  switching to the normal screen, thus retaining the alternate screen
5926	  contents for select/paste operations.
5927
5928	<p>When I implemented the popup menu entry to toggle between the normal
5929	  and alternate screens, I considered only pasting from the normal
5930	  screen to the alternate; this improvement allows either direction.
5931
5932	<li>Changed the termcap and terminfo for xterm-xfree86 and xterm-8bit
5933	  to use the new 1049 private mode.
5934
5935	<li>Modify the logic which switches between normal and alternate
5936	  screens so that the save/restore cursor operations apply only to the
5937	  current screen.  That means that applications which use the terminfo
5938	  smcur/rmcur or termcap ti/te capabilities will restore the cursor to
5939	  the original position on the normal screen rather than to the most
5940	  recent place where a save-cursor operation was performed.
5941
5942	<p>I note that a real VT100 terminal would not behave in this way,
5943	  but it is a moot point since the VT100 does not implement alternate
5944	  screen, and therefore the save/restore cursor sequence would not be
5945	  used in this context.  I reviewed the logic which switches between
5946	  normal and alternate screens based on some recent newsgroup postings
5947	  as well as a proposed patch in the Debian group which attempts to
5948	  do this (the patch has a bug, however, so I did not use it).
5949
5950	<li>Add popup menu entry for toggling the titeInhibit resource.
5951
5952	<li>Add new resource answerbackString, which overrides the default
5953	  "xterm" returned by xterm when responding to an ENQ (control/E)
5954	  character (request by Rajesh Vaidheeswarran &lt;rv@fore.com&gt;).
5955
5956	<li>Add new resource keyboardDialect for setting the NRC display
5957	  character set (request by Tomas Vanhala, who notes that I should
5958	  add logic to translate the keyboard as well).
5959
5960	<li>Add new command-line option and corresponding resources for making
5961	  xterm generate escape sequences compatible with HP terminals.  Like
5962	  the existing Sun escape sequences, this is available as a popup menu
5963	  item.  It is enabled by the configure script with the option
5964	  --enable-hp-fkeys (requested by Toni Mueller &lt;sales@oeko.net&gt;).
5965
5966	<li>Add configure script option --disable-boxchars to disable the
5967	  fallback support for line drawing characters.
5968
5969	<li>Fix ifdef's for configure script --disable-ansi-color, and reviewed
5970	  all configure options to ensure that all can be enabled/disabled
5971	  appropriately.
5972
5973	<li>Update config.guess and config.sub, from Lynx.
5974</ul>
5975
5976<H1><A NAME="xterm_89">Patch #89 - 1998/11/20 - XFree86 3.9Nm</A></H1>
5977This patch completes the implementation of double-sized character support
5978for the VT100 emulation, and fixes a few minor bugs:
5979
5980<ul>
5981<li>corrected the cursor position in HideCursor, which did not multiply
5982the column by two when in doublesize mode.
5983This bug, which did not appear in normal use,
5984dates back to my original <a href="#xterm_44">changes</a> to partly implement
5985double-sized characters.
5986I noticed it when cat'ing a typescript from vttest's double-sized character
5987test.
5988<li>ensure that the current line is repainted when switching between
5989single and double width characters.
5990<li>reduce the number of bits used for double-sized character coding
5991from 3 to 2, to make more room for soft-font codes.
5992<li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
5993which address details of glibc and powerpc.
5994<li>moved definition of DECL_ERRNO in xterm.h to match XFree86 3.3.3
5995<li>modify <em>resize</em> to remove the ifdef on SVr4 that suppressed
5996printing the script for $LINES and $COLUMNS.
5997Solaris' resize utility does this; suppressing the behavior is unnecessary.
5998</ul>
5999I tested the double-sized characters using vttest and the xfsft patch.
6000These fonts worked reasonably well:
6001<pre>
6002	-bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
6003	9x15
6004</pre>
6005The iso8859 font does not include box characters, of course, but looks good.
6006
6007<H1><A NAME="xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk and 3.3.2h</A></H1>
6008This refines my #85 patch by checking for a case where the font server
6009returns a bold font that does not quite correspond to the normal font.
6010When I asked for a bold version of the 6x12 font, the font server
6011returned a near equivalent where the ascent and descent values did not
6012match, causing xterm to leave lines across the display.
6013This patch makes xterm reject that type of mismatch, falling back to the
6014old font behavior.
6015
6016<H1><A NAME="xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj and 3.3.2f</A></H1>
6017This corrects a problem reported by Stefan Dalibor.  My table entries for the
6018<em>printerExtent</em> and <em>printerFormFeed</em> resources used the wrong
6019types for sizeof, causing the printer to not work properly on some platforms
6020because the <em>printAttributes</em> resource was overwritten (e.g., Digital Unix with DEC Alpha).
6021<p>
6022I reviewed all of the resource table entries and fixed a potential problem with
6023<em>resizeGravity</em>, which was typed as <em>int</em> rather than
6024<em>XtGravity</em>.
6025
6026<H1><A NAME="xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj and 3.3.2e</A></H1>
6027A small fix: when switching to/from the continuous mouse reporting mode,
6028the event mask was incorrect if xterm was built under X11R5 because the
6029original data was saved under an ifdef for active-icon.
6030
6031<H1><A NAME="xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj and 3.3.2e</A></H1>
6032Some cleanup (I noticed the pixel droppings a few months ago after getting a
6033new 17" monitor):
6034<ul>
6035	<li>split-out the functions that load/reload fonts for xterm as new
6036	  file fontutils.c to extend them to support automatic loading of
6037	  bold font corresponding to the normal font.  Adapted logic from
6038	  EMU 1.3 for this purpose.  This fixes most occurrences of pixel
6039	  droppings from bold characters.
6040
6041	<li>modified by renaming variables and adding casts to permit compile
6042	  with g++.
6043
6044	<li>modify headers so they can all be compiled without order
6045	  dependencies, and use bracketed rather than quoting includes to allow
6046	  compile from separate directory.
6047
6048	<li>renamed xtermm terminfo entry to xterm-mono, to avoid conflict with
6049	  Solaris entry now in ncurses.
6050</ul>
6051
6052<H1><A NAME="xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni</A> and 3.3.2e</H1>
6053Several small fixes and enhancements, including a patch from
6054Bjorn Helgaas:
6055<ul>
6056	<li>correct initialization of TERMCAP environment variable, which
6057	  was frequently set to garbage on non-Linux systems because
6058	  "termcap" and "newtc" contained random data from the stack.
6059
6060	<li>remove the LINEWRAPPED attribute from lines as they are cleared.
6061	  Previously, the attribute was set but never cleared.
6062
6063	<li>make word and line selections work even when lines are wrapped
6064	  by xterm.  Previously, selections were limited to one screen line.
6065</ul>
6066as well as
6067<ul>
6068	<li>modify logic for line-wrapping to reset the associated flag if
6069	  the application deletes a character. This fixes a problem reported
6070	  by Bjorn Helgaas where word/line selection would still wrap even
6071	  after deleting characters from the first line.
6072	<li>add kll/kH capabilities to xterm-xfree86 entries in termcap and
6073	  terminfo (request by Michael Schroeder).
6074	<li>shorten descriptions in termcap to make resolved entries all
6075	  shorter than 1023 character limit.
6076	<li>use DECSTR control sequence to shorten initialization and reset
6077	  strings in xterm-xfree86 termcap and terminfo.
6078	<li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match termcap.
6079	<li>correct typos in initialization and reset strings in xterm-r5
6080	  termcap and terminfo.
6081	<li>disable special translations of key symbols (the backarrow key,
6082	  the editing keypad and the keypad "+") when a modifier other than
6083	  shift, control or numlock is used.  This makes xterm handle the meta
6084	  key as expected by people using emacs (reported by Pete Harlan
6085	  &lt;harlan@pointofchoice.com&gt; in linux.debian.user newsgroup).
6086</ul>
6087
6088<H1><A NAME="sync_83">Resync #83 - 1998/10/7 - XFree86 3.3.2e</A></H1>
6089
6090Merge changes through patch #83 with the 3.3.2e version.  This follows a
6091patch by Matthieu Herrb &lt;matthieu@laas.fr&gt; to add checks for non-null
6092return from malloc.
6093
6094<H1><A NAME="xterm_83">Patch #83 - 1998/8/25 - XFree86 3.9Nb</A></H1>
6095Several small fixes and enhancements:
6096<ul>
6097	<li>add configure test to infer if xterm should be installed setuid
6098	  based on previously installed xterm (reported by Stephen Marley
6099	  and Stefan Dalibor).
6100
6101	<li>integrate/extend patch by Jason Bacon to implement quasi-continuous
6102	  mouse reporting.
6103
6104	<li>correct control sequences transmitted by function keys F1 to F4
6105	  when sunFunctionKeys resource is true (it was still using the
6106	  VT100 control sequences).
6107
6108	<li>modify handling of backarrow key so that the control modifier
6109	  toggles the backspace/delete interpretation set by the
6110	  backarrowKey resource.
6111
6112	<li>limit the row and column values used to report mouse position.
6113</ul>
6114
6115From resync with XFree86 3.9Nb:
6116<ul>
6117	<li>add support for the VSTATUS control character (patch by
6118	  Robert Earl &lt;rearl@teleport.com&gt;).
6119</ul>
6120
6121<H1><A NAME="xterm_82">Patch #82 - 1998/7/15 - XFree86 3.9Aj</A></H1>
6122Bug fix for patch #81:
6123<ul>
6124	<li>remove an #undef for NBBY, which caused compile problem on FreeBSD
6125	  (reported by David Dawes).
6126</ul>
6127
6128<H1><A NAME="xterm_81">Patch #81 - 1998/7/14 - XFree86 3.9Aj</A></H1>
6129More bug fixes:
6130<ul>
6131	<li>fix conflicting ifdef's for TIOCSLTC when building with Linux on
6132	  AXP aka DEC Alpha (reported by Robin Cutshaw).
6133
6134	<li>correction to patch #79, move assignment for *utptr-&gt;ut_user = 0;
6135	  back into non-SVR4 ifdef in main.c, since this clobbers username on
6136	  Solaris 2.5.1 (analysis by Will Day
6137	  &lt;willday@rom.oit.gatech.edu&gt;).
6138
6139	<li>corrected khome/kend in xterm-8bit terminfo description.
6140
6141	<li>improve cursor color by making it always the reverse of fg/bg
6142	  unless the cursorColor resource is set, i.e., to something other than
6143	  the default foreground (reported by Vikas Agnihotri and Bram
6144	  Moolenaar).
6145
6146	<li>minor fixes for compiler warnings, including a syntax error in
6147	  the AMOEBA ifdef's.
6148</ul>
6149From resync with XFree86 3.9Aj:
6150<ul>
6151	<li>correction to patch #73, supply missing #else for fallback definitions
6152	  of size_t, time_t (Robin Cutshaw &lt;robin@intercore.com&gt;).
6153</ul>
6154
6155<H1><A NAME="xterm_80">Patch #80 - 1998/6/29 - XFree86 3.9Ai</A></H1>
6156This fixes a couple of items leftover or introduced by patch 79:
6157<ul>
6158	<li>take out the logic that suppresses editing-keypad in vt100 mode
6159	  (those keys are too valuable to give up for a fine point of
6160	  emulation).
6161
6162	<li>corrected a couple of places in terminfo where I missed using the
6163	  vt220-style editing-keypad codes for Find/Select (mapped to Home/End).
6164
6165	<li>checked termcap file against terminfo, fix several places where it
6166	  was inconsistent.
6167</ul>
6168
6169<H1><A NAME="xterm_79">Patch #79 - 1998/6/28 - XFree86 3.9Ai</A></H1>
6170
6171This patch fixes several small bugs:
6172<ul>
6173	<li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas Vanhala).
6174
6175	<li>add new resource 'oldXtermFKeys' which provides backward compatibility
6176	  for F1-F4 control sequences with TOG's xterm.
6177
6178	<li>determine the server's default foreground/background Pixel values,
6179	  needed if the -flipPixels X server option is used (reported by
6180	  David Dawes).
6181
6182	<li>correct logic for F1-F4 function keys so that they generate VT100
6183	  compatible escape sequences in VT220 mode, since that is what the
6184	  numeric keypad is supposed to do (reported by Ron Johnson, Jr.
6185	  &lt;ronjohn@communique.net&gt;).
6186
6187	<li>modify logic for editing keypad to work more like VT220: don't
6188	  pass those codes in VT100-mode unless oldXtermFKeys mode is set.
6189
6190	<li>correct an interaction with the editing-keypad logic that prevented
6191	  backarrow key from sending a 127 for the delete key (the 'remove'
6192	  escape sequence was being sent instead).
6193
6194	<li>use return-value from getuid() rather than the parameter, to work on
6195	  systems which do not update the latter (patch by Kevin Buhr
6196	  &lt;buhr@mozart.stat.wisc.edu&gt;)
6197
6198	<li>correct scrollbar border color when toggling to/from secure keyboard
6199	  mode (patch by Jeff Uphoff &lt;juphoff@tarsier.cv.nrao.edu&gt;)
6200
6201	<li>modifications to terminfo file:
6202<ul>
6203	  <li>rename description to xterm-xfree86, adding an entry 'xterm'
6204	    which is derived from xterm-xfree86 to simplify customization.
6205
6206	  <li>change string for kdch1 from \177 to \E[3~, to address complaints
6207	    from Debian developers.  (This applies to the key labeled "Delete",
6208	    and does not affect the backarrow key).
6209
6210	  <li>add user-strings u6, u7, u8, u9 to entries to make them work with
6211	    Daniel Weaver's "tack" program.
6212
6213	  <li>modify xterm-24, xterm-bold, xterm-boldso entries to disentangle them from
6214	    explicit dependency upon xterm-xfree86.
6215
6216	  <li>add generic 'xterm-color' entry.
6217
6218	  <li>minor corrections to xterm-xfree86, xterm-8bit, xterm-r5 and
6219	    xterm-r6 entries.
6220</ul>
6221</ul>
6222
6223<H1><A NAME="xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah and 3.3.2</A></H1>
6224
6225Again, most of the bulk of this patch is for ANSI conversion.  I used the
6226IRIX compiler's -wlint option to find the remaining functions that use
6227K&amp;R syntax (since gcc does not do this properly).
6228
6229Also, I changed the logic in the print code slightly to close unwanted files
6230before opening a pipe to the printer.  This may help in some configurations
6231where the line printer hangs until xterm closes the pipe.
6232
6233<H1><A NAME="xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah and 3.3.2</A></H1>
6234
6235Most of the bulk of this patch is to convert the extended C (K&amp;R functions
6236with prototypes) to ANSI.  I verified that on Linux by comparing object
6237files, to ensure that I did not, for example, interchange parameters in
6238the function declarations.
6239<p>
6240The rest of the patch fixes several minor bugs, and adds a few features:
6241<ul>
6242	<li>back-out my use of ncurses "captoinfo -f" option (if/then/else/endif)
6243	  formatting, since ncurses did not correctly filter embedded newlines
6244	  in terminfo capability strings until _after_ ncurses 4.1, thus
6245	  corrupting setf/setb/sgr strings (reported by Darren Hiebert and
6246	  others).
6247
6248	<li>document SGR 8, 28 (invisible/visible), add corresponding
6249	  capabilities to terminfo description.
6250<p>
6251	  I would also add the 'prot protected capability, but the control
6252	  sequences for that would not be recognized or properly ignored by the
6253	  older xterm programs.
6254
6255	<li>modify ChangeGroup to not suppress a null-resource, but treat it as an
6256	  empty string (recommended by Stefan Dalibor).
6257
6258	<li>add printerAutoClose resource to control whether printer is closed
6259	  when going offline.  More than one person reports problems (on
6260	  Solaris 2.6 and Digital Unix 4.0) getting the printer to proceed
6261	  unless xterm exits; I think that it is a problem flushing the pipe.
6262	  Closing it ought to flush it.
6263
6264	<li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N (but adapt
6265	  XtStackAlloc/XtStackFree for clarity, as well as fixing memory leak).
6266
6267	<li>change calls on FillCurBackground to ClearCurBackground, in effect
6268	  using XClearArea rather than XFillRectangle when clearing as a
6269	  side-effect of scrolling and insertion  (patch by Alexander V
6270	  Lukyanov)
6271
6272	<li>correct some places where insert/delete did not _move_ the color
6273	  attributes, using memmove (patch by Alexander V  Lukyanov
6274	  &lt;lav@long.yar.ru&gt;)
6275
6276	<li>add ifdef's for __CYGWIN32__, for port to cygnus version B19.1
6277	  (patch by Andrew Sumner &lt;andrew_sumner@hotmail.com&gt;).
6278
6279	<li>remove #define for hpux that turned on USE_SYSV_ENVVARS, since this
6280	  causes some applications (such as 'less') to get incorrect $LINES and
6281	  $COLUMNS values (reported by Clint Olsen).
6282
6283	<li>modify behavior for HP-UX, to set the "reserved" process group
6284	  controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does not produce an
6285	  error (patch by Ben Yoshino &lt;ben@wiliki.eng.hawaii.edu&gt;).
6286
6287	<li>correct length of underlining, reducing it by one pixel to avoid
6288	  leaving a dot when the application does not clear the whole screen
6289	  (patch by (Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).
6290<p>
6291	  I noticed this only recently myself (and other people as well); it
6292	  depends on the font chosen.  A 6x10 font shows it, but the other
6293	  fonts (from XTerm.ad) do not.  I also see a similar problem with the
6294	  emulation of bold fonts.
6295
6296	<li>add include for Xos.h to xterm.h, to ensure proper definitions
6297	  (reported by Holger Veit).
6298
6299	<li>update config.guess to recognize Unixware 2.1 and 7 (patch by
6300	  Mike Hopkirk &lt;hops@sco.com&gt;).
6301</ul>
6302
6303<H1><A NAME="xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah and 3.3.2</A></H1>
6304
6305A fix for the print-window function, and some minor cleanup:
6306<ul>
6307	<li>modify logic that closes pipe in the print-window function to not use
6308	  pclose, which does not work on all systems, since I did not open the
6309	  pipe with popen (reported by Stefan Dalibor).
6310
6311	<li>correct name of $(EXTRA_LOAD_FLAGS) imake variable (reported
6312	  by Stefan Dalibor).
6313
6314	<li>guard logic in ChangeGroup() function against null pointer
6315	  (reported by Stefan Dalibor).
6316
6317	<li>ensure that menu entry for toggling sunKeyboard resource is
6318	  initialized (reported by Branden Robinson &lt;branden@purdue.edu&gt;).
6319
6320	<li>gcc unused-variable warnings (reported by Bernd Ernesti
6321	  &lt;bernd@arresum.inka.de&gt;)
6322
6323	<li>rename global variable 'buffer' to 'VTbuffer'
6324</ul>
6325
6326<H1><A NAME="xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah and 3.3.2</A></H1>
6327
6328This incorporates fixes from several people, as well as some improvements
6329that I made based on feedback from users:
6330<ul>
6331	<li>add option to standalone configure script, "--with-own-terminfo-dir",
6332	  which causes xterm to pass a predefined value of $TERMINFO to the
6333	  application.  Also use this value in install rule "make install-ti",
6334	  for the standalone configure script.
6335
6336	  (patch &amp; feedback from Tor Lillqvist &lt;tml@hemuli.tte.vtt.fi&gt;)
6337
6338	<li>change ifdef's for "hpux" to "__hpux" (patch by Tor Lillqvist).  The
6339	  imake configuration uses the former, but the latter is predefined by
6340	  HP's compilers.
6341
6342	<li>define USE_SYSV_ENVVARS for HP-UX, curses does not use $TERMCAP (patch
6343	  by Tor Lillqvist).
6344
6345	<li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.  Works
6346	  both on HP-UX 9 and 10.  (patch by Tor Lillqvist).
6347
6348	<li>modify configure script to obtain the $(EXTRA_LOADFLAGS) value from
6349	  imake, needed for compiling under DEC OSF/1 (reported by
6350	  Stefan Dalibor)
6351
6352	<li>modify print-window action so that the printer is closed after
6353	  printing a window, unless the printer was already opened (i.e.,
6354	  by an application running in the window).  This makes the printing
6355	  complete without having to exit xterm, since not all systems treat
6356	  fflush through a pipe very well (reported by Stefan Dalibor)
6357
6358	<li>modify printing code so that the ^M's are not printed if the
6359	  printAttribute resource is set to zero (request by Stefan Dalibor).
6360
6361	<li>correct typo in xterm.man, for the default value of printAttribute
6362	  (reported by Stefan Dalibor).
6363
6364	<li>correct printing code so that the alternate character set is
6365	  printed, like other attributes, with escape sequences.
6366
6367	<li>correct termcap description, removing spurious 'm' character from
6368	  the 'op' capability (reported by Greg Woods &lt;woods@weird.com&gt;).
6369
6370	<li>correct trace code so that the initial timestamp is set.
6371
6372	<li>correct/modify utmp data for the Linux glibc 2 configuration,
6373	  so that the ut_line member is set before using it to update wtmp
6374	  (patch by Bill Nottingham &lt;wen1@cec.wustl.edu&gt;).
6375</ul>
6376
6377<H1><A NAME="xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag and 3.3.2</A></H1>
6378
6379This corrects a couple of recent bugs and adds a new resource:
6380<ul>
6381	<li>modify definition of TRACE_CHILD so that it does not conflict with
6382	  ifdef's for USE_USG_PTYS in main.c (reported by Vikas Agnihotri
6383	  &lt;VikasA@att.com&gt; and Stefan Dalibor).
6384
6385	<li>correct ownership of file (actually pipe) written by the print
6386	  controls.  When undoing the setuid changes in patch #69, I overlooked
6387	  this.  Now xterm forks a process which resets setuid and routes the
6388	  printer data as the real user.
6389
6390	<li>add a new resource, "printAttributes", which controls whether
6391	  color attributes (or any attributes) are sent to the printer.
6392</ul>
6393
6394<H1><A NAME="xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag and 3.3.2</A></H1>
6395
6396This patch does the following:
6397<ul>
6398	<li>implements a print-window facility for xterm.  Though useful in
6399	  itself, I added it as part of some debugging which I am doing.
6400	  (Occasionally during an exposure event xterm fails to restore the
6401	  proper colors for highlighted text, and printing the screen will
6402	  show the internal states nicely).
6403<p>
6404	  The print facility now also displays the color information.
6405	  (I will probably make this a resource).
6406
6407	<li>modified the xterm-16color terminfo description to use the setaf and
6408	  setab strings, which is a little more efficient (requested by Stephen
6409	  Marley).
6410
6411	<li>reduced some clutter of the ifdef/includes (e.g., stdlib.h, unistd.h,
6412	  errno) making the configure script test for these.
6413<p>
6414	  I removed the symbols Size_t and Time_t, since they no longer serve
6415	  a useful purpose.
6416
6417	<li>added some debugging traces to show the initial screen size,
6418	  and the success/failure of the ioctl calls pass handle window
6419	  resizing events to the application (for Clint Olsen).
6420<p>
6421	  I also modified the trace code to produce two files since some
6422	  of the information is produced by the child process.  So now
6423	  they are Trace-parent.out and Trace-child.out
6424
6425	<li>updated configure test for ANSI compiler options to handle a
6426	  special case for HP-UX 10.x (reported by Clint Olsen).
6427</ul>
6428
6429<H1><A NAME="xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag and 3.3.2</A></H1>
6430
6431This is a patch from Chris Siebenmann &lt;cks@hawkwind.utcs.toronto.edu&gt;,
6432which I have cleaned up a little, and integrated into the configure script.
6433<p>
6434From his description:
6435<blockquote>
6436 This set of patches is the latest incarnation of patches originally
6437written by Ian! D Allen, then of the University of Waterloo and now of
6438who knows where; I have been carrying them forward from xterm to xterm
6439ever since about X11R4.  What they do is add an option so that when an
6440iconified xterm receives output it prepends '*** ' to its icon title
6441and (optionally) beeps the bell; deiconifying the xterm removes the
6442'*** '. Over the years I've found this to be incredibly convenient for
6443monitoring all sorts of low-activity things.
6444</blockquote>
6445
6446<H1><A NAME="xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag and 3.3.2</A></H1>
6447
6448This patch is a slightly modified version of one by Richard Braakman, which
6449prevents buffer overflow in the input-method and preedit-type parsing in xterm.
6450I changed a couple of details to make the code more maintainable, and looked
6451for similar things - copying into a fixed-size buffer (found none, though I did
6452spot an unused variable).
6453
6454<H1><A NAME="xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af and 3.3.2</A></H1>
6455
6456This patch corrects some minor bugs in xterm, and fills in some more details
6457in the VT220 emulation:
6458<UL>
6459	<LI>modify Imakefile to use SpecialCObjectRule for menu and data modules,
6460	  making xterm build properly if logging is enabled
6461	  (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).
6462
6463	<LI>restore "ich" capability to terminfo entries, since
6464	  Michael Schroeder points out that "ich1"
6465	  is the one which is the problem in Solaris vi.
6466
6467	<LI>correct color of cursor, which would disappear on inverse-video
6468	  since the initialization did not compare the cursor color against
6469	  both foreground and background (reported by Olivier Calle).
6470
6471	<LI>correct abbreviation-test for -version and -help options, making
6472	  command-line option -vb work (reported by Stefan Dalibor).
6473
6474	<LI>correct a dependency between ifdef's for OPT_I18N_SUPPORT and
6475	  OPT_INPUT_METHOD (reported by Stefan Dalibor).
6476
6477	<LI>split-out character-set translations as new module charsets.c, to
6478	  implement VT220 national replacement character sets (a mode where
6479	  some of the characters are displayed as specific European glyphs).
6480	  This relies on xterm using an ISO 8859-1 font (approach suggested by
6481	  Kenneth R. Robinette &lt;zkrr01@mailbox.neosoft.com&gt;).
6482
6483	<LI>correct a missing increment, which made SS2 and SS3 controls
6484	  repeat the shifted character.
6485
6486	<LI>add xterm-nrc to terminfo to illustrate the VT220 national
6487	  replacement character sets.
6488
6489	<LI>reformat terminfo using new ncurses tic option "-f", which makes
6490	  if/then/else/endif expressions easier to read.
6491</UL>
6492
6493<H1><A NAME="xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad and 3.3.2</A></H1>
6494
6495This corrects the problem in xterm with utmp, reported by Olivier Calle
6496&lt;olivier@tc.fluke.com&gt;
6497as well as some other people after the XFree86 3.3.2 release.
6498<P>
6499The error was introduced by my patch #53 in XFree86 3.9r (October 1997).
6500<P>
6501The correction removes the reset of setuid/setgid before the main event loop,
6502and solves the problem which I had worked around in a different manner:  for
6503some reason, the particular waitpid() call in creat_as() hangs, does not
6504return when the child process exits.  I changed the ifdef's to force the Linux
6505configuration to use wait() instead.  This call appears to work properly on
6506other platforms such as SunOS and Solaris.
6507<P>
6508I also added tests in the standalone configure script to check for the
6509existence of waitpid().
6510
6511<H1><A NAME="xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad and 3.3.1z</A></H1>
6512
6513This corrects another problem with the logic for highlightColor resource.
6514As reported by David Dawes:
6515<blockquote>
6516	I've just noticed a problem with with the "inverse" control sequence
6517	(ESC[7m) with the 3.3.2 xterm.  What it does is sets the background
6518	black, and the text the usual foreground colour rather than simply
6519	swapping the foreground/background.
6520
6521</blockquote>
6522This appears to be because when I added logic to check that the highlightColor
6523was distinct from foreground and background colors, I did not add a further
6524check to see that it was not black (I would make an explicit check for the
6525resource not being set, but see nothing definite in the headers that would let
6526me reference an explicitly-undefined Pixel value, though there are some
6527implications in xpm.h).  But this should work.
6528
6529<H1><A NAME="xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad and 3.3.1e</A></H1>
6530
6531This patch does the following:
6532<UL>
6533	<LI>improve test for highlightColor so that xterm does not attempt to
6534	  use that unless it is different from the foreground and background
6535	  colors (reported by Stefan Dalibor
6536	  &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
6537<P>
6538	  I could not reproduce this until I noticed that the -rev option
6539	  exposed it nicely.
6540
6541	<LI>remove ich and ich1 from xterm and xterm-8bit terminfo descriptions.
6542	  SVr4 terminfo documents that you must not combine these with
6543	  smir/rmir, but ncurses allows it, opening a hole.  Solaris 2.6 vi
6544	  does not work properly if it is using a terminfo description when
6545	  these are combined, since it was written to accommodate old terminals
6546	  that required it (reported by Stephen Marley).
6547
6548	<LI>restore 1-pixel overlap of scrollbar border with left edge of window
6549	  (reported by Jim Burmeister &lt;jimb@metrolink.com&gt;).
6550
6551	<LI>add a configure option, --enable-logfile-exec, which allows the
6552	  user to specify a pipe for logfile.  This defines ALLOWLOGFILEEXEC.
6553
6554	<LI>makes the ALLOWLOGFILEEXEC code compile &amp; run, if configured.
6555
6556	<LI>minor documentation nits.
6557</UL>
6558
6559<H1><A NAME="xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad and 3.3.1d</A></H1>
6560
6561This fixes the problem reported with failure to build the <EM>resize</EM>
6562program (BSDI, OSF/1) due to not having &lt;termcap.h&gt;, by changing the
6563ifdef to one that would be set only if the file exists (not currently
6564specified, except by the standalone configure script).  We do not really need
6565to include &lt;termcap.h&gt; to build, but only for a clean compile, since it
6566may declare the tgetent() prototype.
6567
6568I also updated the man-page for <EM>resize</EM>, since I had recently noticed
6569that it can be used to resize <EM>xterm</EM> using the "Sun" control sequences
6570option.
6571
6572<H1><A NAME="xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad and 3.3.1c</A></H1>
6573
6574This is a small patch to xterm's 8-bit terminal description.  I noticed
6575while testing ncurses that I had specified the wrong (VT100-style) codes
6576for the F1-F4.  Xterm only uses VT220-style function keys in 8-bit mode.
6577
6578<H1><A NAME="xterm_64">Patch #64 - 1998/2/8 - XFree86 3.9Ad</A></H1>
6579
6580This fixes the following problems with xterm:
6581<UL>
6582	<LI>save/restore the ANSI foreground and background colors with the other
6583	  visible attributes in the save-cursor and restore-cursor operations.
6584	  This works around a problem with vim, which apparently assumed that
6585	  switching between the normal and alternate screens resets the colors
6586	  (reported by Jim Battle &lt;jb@chromatic.com&gt;).
6587<P>
6588	  It would be nice to implement save/restore cursor as a stack (and
6589	  solve this type of problem completely), but that would lead to
6590	  incompatibility with applications which assume they are running with a
6591	  VT100 or VT220.
6592
6593	<LI>corrects behavior of a restore-cursor operation which does not
6594	  follow a save-cursor (it is supposed to set the character sets
6595	  to a known initial state).
6596
6597	<LI>extends the sunKeyboard resource (and menu toggle) to modify the
6598	  home, end and delete keys on a Sun or PC editing keypad, making them
6599	  generate codes compatible with DEC VT220's Find, Select and Remove
6600	  keys.
6601
6602	<LI>corrects a length in checking command-line options, which caused the
6603	  "-help" message to not work when X was not running.
6604
6605	<LI>adds some detail to the man-page (requested by Jason Bacon
6606	  &lt;acadix@execpc.com&gt;)
6607
6608	<LI>modify the standalone configure script to ignore the broken nsl and
6609	  socket libraries on IRIX 6.2 (the ones on 5.2 also are broken, so
6610	  this change just widens the check for the system version number).
6611</UL>
6612
6613<H1><A NAME="xterm_63">Patch #63 - 1998/2/5 - XFree86 3.9Ad</A></H1>
6614
6615This is another patch from Bjorn Helgaas &lt;helgaas@rsn.hp.com&gt;, which I've
6616reviewed (and learned some).  Following are his notes:
6617<P>
6618I poked around some more and finally got xterm-62 to build and run
6619cleanly on HP-UX 10.20.  Here are the patches.  They look sort of
6620ugly, so here's a little explanation:
6621<UL>
6622        <LI>aclocal.m4: Removed side effects from the AC_CACHE_VAL
6623        commands in CF_FUNC_TGETENT.  Previously, LIBS was set inside
6624        AC_CACHE_VAL, which worked fine the first time configure was
6625        run, but failed if there were cached values.
6626
6627        <LI>aclocal.m4: Added temporary setting of LIBS before
6628        AC_TRY_LINK in CF_FUNC_TGETENT.  Previously, the last value set
6629        by the AC_TRY_RUN loop was used, so only -lcurses was checked.
6630
6631        <LI>configure.in: Added temporary setting of CPPFLAGS before
6632        AC_CHECK_HEADERS for X11 files.  Previously &lt;X11/DECkeysym.h&gt;
6633        and &lt;X11/Xpoll.h&gt; were found only if they were in the compiler's
6634        default include directories, even if `--x-includes=DIR' had been
6635        used or AC_PATH_XTRA had found them elsewhere.
6636</UL>
6637The problem on HP-UX was that we were linking with -lcurses rather than
6638-ltermcap due to the second bullet above, and apparently something in
6639HP-UX curses is broken.  This seems very strange, because the only thing
6640used is tgetent, which should affect any tty/pty configuration, but I
6641lost interest in tracking down the exact problem.
6642
6643<H1><A NAME="xterm_62">Patch #62 - 1998/1/23 - XFree86 3.9Ac</A></H1>
6644
6645This is a patch mostly by Bjorn Helgaas &lt;helgaas@dhc.net&gt; (I added the
6646os2main.c change, and a little of the documentation).  From Bjorn's
6647description:
6648<UL>
6649	<LI>If you use the "-hc &lt;color&gt;" option or set the "highlightColor"
6650	  resource, text is highlighted by changing only the background color,
6651	  rather than using reverse video.  I find this easier to read,
6652	  especially when selecting multi-colored text, and it is similar to
6653	  the way Netscape shows selections.
6654
6655	<LI>Most of the code changes are under "#if OPT_HIGHLIGHT_COLOR".  The
6656	  principal exception is in screen.c, where I added a couple calls to
6657	  resetXtermGC().  This seems like it could be a bug even without
6658	  the color highlighting changes (though I don't pretend to understand
6659	  all the logic).
6660</UL>
6661
6662<H1><A NAME="xterm_61">Patch #61 - 1998/1/17 - XFree86 3.9Ac</A></H1>
6663
6664This patch modifies the reset behavior of xterm slightly:
6665<UL>
6666	<LI>change the terminfo entry so that rs1 (one of the strings used by
6667	  the 'reset' program) does a hard reset rather than switching
6668	  character sets.  This is more in accord with other terminal
6669	  descriptions.
6670
6671	<LI>modifies the treatment of hard reset by the xterm program to
6672	  reset the saved lines.
6673
6674	<LI>corrects hard reset by also resetting user-defined keys (DECUDK).
6675</UL>
6676
6677<H1><A NAME="xterm_60">Patch #60 - 1998/1/10 - XFree86 3.9Ab</A></H1>
6678
6679This fixes some minor bugs and adds new functionality:
6680<UL>
6681	<LI>add support for blinking text.
6682<UL>
6683	  <LI>This does not actually cause the
6684	  text to flash, but text with the blink attribute can be displayed
6685	  in color, using new resources colorBL and colorBLMode.
6686
6687	  <LI>If colors are not used, the blinking text will be displayed as
6688	  before (just like bold).  The main purpose of this is to make
6689	  applications work properly when they assume the emulator supports
6690	  blinking text.
6691
6692	  <LI>I did this by moving the per-cell LINEWRAPPED flag to a per-line
6693	  flag, to make room for the new BLINK flag.  There were no per-line
6694	  flags, so this changes a lot of logic.
6695</UL>
6696
6697	<LI>corrected missing save-cursor logic in the handling of SGR 1048
6698	  (the new control sequence I added in patch #54, 1997/10/17).
6699	  Reported by Darren Hiebert.
6700
6701	<LI>flush the output of the transparent printing after each line
6702	  Reported by Tomas Vanhala &lt;vanhala@ling.helsinki.fi&gt;.
6703
6704	<LI>correct the modes that are affected by save/restore cursor by adding
6705	  WRAPAROUND and PROTECTED.
6706
6707	<LI>corrected placement of one of the XSync calls that I added in patch
6708	  #51, 1997/9/15, which had the side-effect of writing on the window
6709	  border when the xterm was resizing from 132 to 80 columns.
6710
6711	<LI>work around an incompatibility of the XKB definition used in xterm
6712	  versus that symbol from IRIX 6.2's imake definitions (by adjusting
6713	  the standalone configure script).
6714</UL>
6715
6716<H1><A NAME="xterm_59">Patch #59 - 1998/1/5 - XFree86 3.9Ab</A></H1>
6717
6718My last patch has an off-by-one error in the comparison for argc.  Douglas
6719Kosovic &lt;douglask@dstc.edu.au&gt; showed me where (he got a core dump).
6720Also, I think this explains Clint Olsen's problem, but the symptoms were more
6721subtle (EINVAL for a system call if the -display option is omitted).
6722
6723<H1><A NAME="xterm_58">Patch #58 - 1998/1/3 - XFree86 3.9Ab</A></H1>
6724
6725This patch does the following:
6726<UL>
6727	<LI>implement logic to permit xterm to work with proportional fonts.
6728<UL>
6729	  <LI>Thomas Wolff
6730	  &lt;Thomas.Wolff@sietec.de&gt;
6731	  requested this (but it isn't exactly what he's asking
6732	  for - that's a more involved task).
6733
6734	  <LI>I chose to do this by rendering the characters on a fixed pitch,
6735	  because it would not be useful for existing applications to display
6736	  varying numbers of characters on each line.
6737
6738	  <LI>Except that this forces the display to be wider, it works reasonably
6739	  well.  A couple of special cases (reverse + colorBD, for example)
6740	  do not display with proper colors, since the inter-character gaps
6741	  are painted with the background.
6742</UL>
6743
6744	<LI>added a version number to the program (several people have requested
6745	  this).
6746
6747	<LI>make the -version and -help options interpreted before the program
6748	  attempts to open the display.
6749
6750	<LI>minor reorganization of the man-page (ordered the options, resources
6751	  and translations alphabetically - and eliminated some duplication).
6752
6753	<LI>corrected a misspelled filename in Makefile.in, and added a lint
6754	  rule.
6755
6756	<LI>updated the configure script to correct behavior when it cannot
6757	  find imake, as well as to fix the IRIX+gcc build (conflict with
6758	  /usr/include).
6759
6760	<LI>regenerated the configure script with a newer patch to autoconf
6761	  that fixes a problem with environment space vs the configure --help
6762	  message.
6763</UL>
6764<H1><A NAME="xterm_57">Patch #57 - 1997/12/26 - XFree86 3.9Aa</A></H1>
6765
6766This patch is mostly concerned with the standalone configure script; a few
6767minor corrections are added:
6768<UL>
6769	<LI>add configure option --disable-tek4014, to allow xterm to be built
6770	  without the tek4014 emulation.
6771
6772	<LI>add configure option --with-terminal-type, to allow xterm to be
6773	  compiled with default $TERM value other than "xterm" (e.g.,
6774	  "xterm-16color") -- requested by Stephen Marley &lt;stephen@memex.com&gt;.
6775
6776	<LI>fix a typo in the configure --help message -- reported by Darren
6777	  Hiebert &lt;darren@hmi.com&gt;.
6778
6779	<LI>review diffs between main.c and os2main.c, to make them more alike.
6780	  (applies some minor bug-fixes to OS/2's version).
6781
6782	<LI>add missing quotes in memmove/bcopy configure test
6783</UL>
6784
6785
6786<H1><A NAME="xterm_56">Patch #56 - 1997/11/28 - XFree86 3.9x</A></H1>
6787
6788This patch is based on analysis by Arfst Ludwig &lt;arfst@luxor.IN-Berlin.DE&gt;,
6789who reported:
6790<blockquote>
6791	Setting the following resources xterm (all current versions) receives a
6792	segmentation fault on &lt;Btn2Up&gt; after scrolling:
6793<PRE>
6794
6795	  *XTerm*VT100*translations:    #override \
6796	      ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
6797	      Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
6798	      ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
6799	      Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
6800</PRE>
6801	(The above resources intention is to be able to paste the latest
6802	selection even if the xterm was cleared.)
6803<P>
6804	And here is how it works (and a fix!):  The widget given to the action
6805	handler as first argument is not guaranteed to be a XtermWidget (it can
6806	be the ScrollbarWidget).  Instead of accessing the widget's member
6807	directly XtDisplay gives the required pointer in a safe way.
6808</blockquote>
6809I noticed that this was not the only instance (by reading the code, and testing
6810with his example), and extended the solution to check the widget-class to
6811ensure that it is indeed xterm's widget class before attempting to use it in
6812the context of translations.
6813
6814<H1><A NAME="xterm_55">Patch #55 - 1997/11/25 - XFree86 3.9x</A></H1>
6815
6816This fixes the segmentation violation noted by Rogier Wolff about a month
6817ago.  He'd set xterm to 400 (rows) by 150 columns, which broke because there
6818were limited buffers (200 rows) used for juggling data when adding or deleting
6819lines and for switching between alternate and normal screens.  I replaced this
6820by an allocated buffer.
6821<P>
6822The bug is simple to test if you set titeInhibit false.
6823
6824<H1><A NAME="xterm_54">Patch #54 - 1997/10/17 - XFree86 3.9s</A></H1>
6825
6826This patch does the following:
6827<UL>
6828	<LI>correct a minor placement problem with the right scrollbar.
6829
6830	<LI>implement a new set of control sequences for switching between the
6831	  normal and alternate VT100 screens.  These work around the older
6832	  sequences limitation that required modification of the runtime
6833	  $TERMCAP to cooperate with the titeInhibit resource (that can't work
6834	  with terminfo).  I do this by moving all of the functionality of the
6835	  rmcur terminfo capability into the control sequences.
6836
6837	<LI>implement the alternate-screen menu entry
6838</UL>
6839
6840<H1><A NAME="xterm_53">Patch #53 - 1997/10/12 - XFree86 3.9r</A></H1>
6841
6842This patch adds a fix and implements a new feature (as well as some minor
6843typos):
6844<UL>
6845	<LI>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a problem
6846	  with the wait call with the logging option.  It hung when the logfile
6847	  was opened as a command-line option.  I fixed this by moving the
6848	  StartLogging() call down past the place where I'd reset the setuid
6849	  mode.  So the logfile is opened as the real user, without having
6850	  to fork.
6851
6852	<LI>Michael Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt; sent
6853	  me a patch which implements right-scrollbars for xterm.  I used that
6854	  as a starting point, renamed the command-line options and reduced
6855	  the number of ifdef's.
6856</UL>
6857
6858<H1><A NAME="xterm_52">Patch #52 - 1997/9/29 - XFree86 3.9q</A></H1>
6859
6860This patch addresses bugs and requests reported by
6861<UL>
6862	<LI>Bob Maynard &lt;rmaynard@montana.com&gt;,
6863	<LI>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,
6864	<LI>JCHANDRA@Inf.COM (JCHANDRA),
6865	<LI>Michael Schroeder &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,
6866	<LI>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;
6867</UL>
6868
6869Some of the changes are interrelated (it was an unusually busy week).
6870<UL>
6871
6872	<LI>change the default resource value for colorMode to true, matching
6873	  the Xterm.ad file.
6874
6875	<LI>correct behavior of 'ech' control, making the default and 0
6876	  parameters erase one character rather than to the end of line
6877	  (reported by Michael Schroeder).
6878
6879	<LI>add resource boldColors, command-line options +pc and -pc and
6880	  configure-script option to specify behavior of xterm's mapping bold
6881	  colors 0 through 7 to colors 8 through 15.
6882	  (request by Pablo Ariel Kohan).
6883
6884	<LI>add resource colorAttrMode to specify whether colorULMode and
6885	  colorBDMode can override the ANSI colors
6886	  (from a problem report by Clint Olsen).
6887
6888	<LI>correct a conflict between colorULMode/colorBDMode versus ANSI
6889	  colors, where exposure events would occasionally pick up the
6890	  former (e.g., colorBD) rather than ANSI colors.  Testing the
6891	  colorAttrMode made this apparent, though it has been in the
6892	  code since 3.2A (patch #35 in Jan 1997).
6893
6894	<LI>correct two problems with the optional logging support.  On Linux
6895	  at least, the waitpid call in creat_as hangs when the logging is
6896	  toggled from the popup menu.  Also, the mktemp template has the wrong
6897	  number of X's (since X11R5!).  Fixed the waitpid problem by
6898	  exploiting the fact that the setuid behavior is reset before the
6899	  popup menus are available.
6900	  (reported by Jayachandran C.).
6901
6902	<LI>add configure script options for building with the Xaw3d and neXtaw
6903	  libraries.
6904
6905	<LI>correct CF_IMAKE_CFLAGS standalone configure script macro, so that it
6906	  will pick up $(ALLDEFINES) rather than $(STD_DEFINES).  This is
6907	  needed to make scrollbars work on Linux, since that uses narrow
6908	  prototypes.
6909	  (reported by Bob Maynard).
6910
6911	<LI>various minor updates to configure-script macros.
6912</UL>
6913
6914<H1><A NAME="xterm_51">Patch #51 - 1997/9/15 - XFree86 3.9p</A></H1>
6915
6916Most of this patch is related to the standalone configure script, though
6917there are fixes/enhancements as well:
6918<UL>
6919	<LI>add a new resource sunKeyboard, with associated command-line
6920	  option and menu-toggle that allows using a normal Sun or PC
6921	  keyboard to generated the complete DEC-style function keys
6922	  and keypad.
6923
6924	<LI>correct a reversed foreground/background test in the control
6925	  sequence that replies with the current SGR settings.
6926
6927	<LI>correct, by invoking XSync, a display problem that caused the
6928	  program to not properly update newly exposed areas when a font
6929	  change or 80/132 resize request was not completely accepted.
6930
6931	<LI>restructured autoconf macros (I made a library of all of the
6932	  macros across the complicated configure scripts I'm working on).
6933
6934	<LI>use the autoconf config.guess and config.sub scripts to better
6935	  identify the host-os.
6936
6937	<LI>improve the configure script that uses 'imake' as a fallback for
6938	  definitions.
6939
6940	<LI>correct several instances of unsigned/signed mixed expressions.
6941</UL>
6942
6943I've tested the configure script on Linux, SunOS 4.1.3, Solaris 2.5.1,
6944IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but the last run properly
6945as well).
6946
6947<H1><A NAME="xterm_50">Patch #50 - 1997/8/22 - XFree86 3.9m</A></H1>
6948
6949This is a collection of small fixes, and a couple of minor enhancements:
6950<UL>
6951	<LI>plug a security hole in the implementation of Media Copy (print)
6952	  by invoking setuid just before the main loop.
6953
6954	<LI>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX, which allows
6955	  the program to process SIGWINCH events (this is a bug in X11R6.3)
6956
6957	<LI>add state-table entries for VT52 emulation to enter/exit keypad
6958	  application mode.
6959
6960	<LI>disable the popup-menu entry for 8-bit controls when the terminal-id
6961	  is less than 200 (e.g., VT52 or VT100).
6962
6963	<LI>ensure that the popup-menu entry for 8-bit controls is updated when
6964	  the application enables/disables this mode, including the response
6965	  to a full-reset.
6966
6967	<LI>implement VT300 DECBKM feature: set interpretation of the backarrow
6968	  key to either backspace or delete.  The initial setting is via
6969	  resource; it can also be modified in the main popup menu.
6970
6971	<LI>implement VTxxx KAM (ISO AM), which allows a keyboard to be locked
6972	  (i.e., the terminal discards input).
6973
6974	<LI>implement VTxxx SRM, which is used to control local echoing of
6975	  input on the terminal.
6976
6977	<LI>add terminfo and termcap entries for xterm-8bit, a variation of
6978	  the xterm description that uses 8-bit control characters.
6979
6980	<LI>add fallback definitions for Imakefile to allow it to work on some
6981	  X11R5 systems that have no SpecialCObjectRule or ProgramTargetName
6982	  macros.
6983
6984	<LI>add .c.o and .c.i rules to standalone Makefile.in
6985
6986	<LI>correct order of -lXmu and -lXext in standalone configure script.
6987
6988	<LI>add configure script options to allow selective disabling of
6989	  active-icon, input-method and i18n code (mainly for users with X11R5
6990	  or an incomplete X11R6 configuration).
6991
6992	<LI>change menu-indices from #define's to enum values, thereby making
6993	  it work better with the ifdef's for logging and active-icon (the
6994	  X11R6.3 active-icon code is incorrectly ifdef'd; this corrects an
6995	  error introduced by incorporating that code).
6996
6997	<LI>correct minor compile errors in the configuration where active-icon
6998	  is not used.
6999
7000	<LI>add configure option to suppress echoing of long compiler commands
7001
7002	<LI>correct spelling of decTerminalID in configure script help message
7003
7004	<LI>use gcc __attribute__((unused)) to quiet warnings about unused
7005	  parameters when compiling with -W (to make it simpler to find the
7006	  real problems).
7007</UL>
7008
7009<H1><A NAME="xterm_49">Patch #49 - 1997/8/10 - XFree86 3.9k</A></H1>
7010
7011This patch implements the VT100/VT220 Media Copy (i.e., print-screen) control
7012sequences.
7013
7014<H1><A NAME="xterm_48">Patch #48 - 1997/7/26 - XFree86 3.9j</A></H1>
7015
7016This patch does the following (all but the first affect only the standalone
7017configure script):
7018<UL>
7019	<LI>minor correction to positioning of underlines for small (e.g., 5x8)
7020	  font size.
7021	<P>
7022	  The existing behavior allowed underlines to be drawn outside the
7023	  character-cell, so they weren't cleared properly under some
7024	  circumstances.
7025
7026	<LI>adds more special-case tokens to the standalone configure script's
7027	  imake-option filter (e.g., "&amp;&amp;", since a "make -n main.o" on my IRIX
7028	  system uses that shell construct).
7029
7030	<LI>adds a '--enable-logging' option for the standalone configure script.
7031
7032	<LI>adds check and ifdef's for the standalone configure script to allow
7033	  for building on platforms with X11R6, which lacks Xpoll.h (introduced
7034	  in X11R6.1).
7035</UL>
7036
7037<H1><A NAME="xterm_47">Patch #47 - 1997/7/13 - XFree86 3.9i</A></H1>
7038
7039This patch does the following
7040<UL>
7041	<LI>corrects an indexing error in the doublesize character logic
7042	  (button.c) that caused core dump (this was reported by J.  Wunsch).
7043	<LI>corrects the logic of ShowCursor when it is painting in a doublesize
7044	  cell (charproc.c).
7045	<LI>corrects, according to vttest, the behavior when switching to
7046	  doublesize characters and back again (doublechr.c).
7047	<LI>adds cbt (back_tab) to the terminfo description (this was something
7048	  that I'd overlooked as applicable to curses optimization last
7049	  summer).
7050	<LI>corrects, for the standalone xmc test, the logic for disabling xmc.
7051</UL>
7052
7053<H1><A NAME="xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</A></H1>
7054
7055This is a patch to provide test-support for some work I'm doing on ncurses.  It
7056does not modify the normal configuration of xterm; the code is compiled if the
7057standalone configure option "--enable-xmc-glitch" is specified.
7058
7059<H1><A NAME="xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</A></H1>
7060
7061This fixes the problem reported with xterm's cursor color versus the background
7062(the second chunk in this patch) and also removes some duplicate initialization
7063of the cursor GC's.  If the cursor color at startup is the same as the
7064background, then xterm will use the reverse GC, ignoring the setting of the
7065colorMode resource.
7066
7067<H1><A NAME="xterm_44">Patch #44 - 1997/6/22 - XFree86 3.9g</A></H1>
7068
7069This implements the first part of the VT100 doublesize characters for xterm,
7070as well as fixing a handful of bugs:
7071<UL>
7072	<LI>the doublesize character support uses the normal font (using scaled
7073	  fonts will be another patch) with blanks to simulate doublesize
7074	  characters.  This patch does most of the global changes that'll be
7075	  required.  I've hidden most of the details in macros and ifdef's so
7076	  it's easy to configure out (part of the patch is a configure option
7077	  for that purpose).
7078
7079	<LI>corrected limits in DeleteChar() function -- it's always ignored the
7080	  size of the left border and scrollbar.  I noticed this when working
7081	  on the doublesize characters since the glitch was doubled in size
7082	  (i.e., it wrapped some garbage around the right margin).
7083
7084	<LI>corrected 'memmove()' logic, for standalone builds (it referenced a
7085	  malloc wrapper from my development library).
7086
7087	<LI>add a check for HideCursor() to prevent repeated screen updates
7088	  (which can cause a spurious cursor glitch to appear, e.g., during
7089	  scrolling).  I noticed this with the 3.2A version (but only a few
7090	  weeks ago, when I started working on this patch).
7091</UL>
7092
7093<H1><A NAME="xterm_43">Patch #43 - 1997/6/10 - XFree86 3.9d</A></H1>
7094
7095Here's a fix for two problems:
7096<UL>
7097	<LI>modify handling of tgetent results in xterm and resize programs to
7098	  make them tolerant of missing termcap file, or unknown terminal name.
7099	  In this scheme, an explicit "-tn" option will succeed, overriding
7100	  the fallback list.
7101
7102	<LI>a nit in the configure script (log extra information to help diagnose
7103	  which case of the test-compile of tgetent was used).
7104</UL>
7105
7106<H1><A NAME="xterm_42">Patch #42 - 1997/6/8 - XFree86 3.2Xl</A></H1>
7107
7108Bram Moolenaar reported that the cursor color changed unexpectedly while
7109scrolling.  The cause was that it used the same GC's as the logic that draws
7110the ANSI colors.  The bug only appears if the cursorColor resource isn't set,
7111and has been present since the initial implementation early last year.  (The
7112same bug also appears in rxvt ;-).  Here's a fix.
7113
7114<H1><A NAME="xterm_41">Patch #41 - 1997/5/28 - XFree86 3.2Xl</A></H1>
7115
7116Some nits found by Darren Hiebert (missing part of install-rule, incorrect
7117assignment for --enable-color-mode option).
7118
7119<H1><A NAME="xterm_40">Patch #40 - 1997/5/26 - XFree86 3.2Xl</A></H1>
7120
7121Patch for the configure script's logic for obtaining imake predefined
7122symbols.
7123
7124<H1><A NAME="xterm_39">Patch #39 - 1997/5/24 - XFree86 3.2Xl</A></H1>
7125
7126This patch does the following:
7127<UL>
7128	<LI>integrate the 16-color change for 'xterm'
7129
7130	<LI>minor fixes/clarification of tgetent in terminfo vs termcap to
7131	  'resize'
7132</UL>
7133
7134(both changes also modify the configure script)
7135
7136<H1><A NAME="xterm_38">Patch #38 - 1997/5/22 - XFree86 3.2Xh</A></H1>
7137
7138This implements a simple configuration script with autoconf (to which I'll
7139add more options later).  It does the following:
7140<UL>
7141	<LI>configures xterm to build with X11R5 (at least on SunOS 4.1, Solaris
7142	  2.4, possibly IRIX - sorry network was down today, but I did test
7143	  an earlier version yesterday).
7144
7145	<LI>enables/disables the configuration ifdef's for ANSI color and VT52
7146	  emulation.
7147</UL>
7148It does not make tests for the things that imake does (that's another project),
7149instead it uses a hybrid of the autoconf tests for libraries and adds imake's
7150compiler options (which are necessary in some cases to get main.c to compile).
7151
7152<H1><A NAME="xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</A></H1>
7153
7154This corrects a minor, but annoying error in the vt220 emulation: the DECUDK
7155is only supposed to be interpreted for _shifted_ function keys.
7156
7157<H1><A NAME="xterm_36">Patch #36 - 1997/1/16 - XFree86 3.2r</A></H1>
7158
7159This corrects something that I overlooked in patch #27 (21-aug-1996), which is
7160that when trimming the region to be repainted for the highlightSelection
7161resource of xterm, I still have to paint the background past the highlighted
7162region.  This only happens when I first do a selection in a window that's
7163partly off-screen, then move the window on-screen.
7164
7165<H1><A NAME="xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</A></H1>
7166
7167This patch does the following:
7168<UL>
7169	<LI>combines the coding for foreground and background colors into a
7170	  single byte, reducing the memory required to store saved-lines in
7171	  color.  (I'll take back that byte in a following patch to use to
7172	  ensure the character-set, so there's no long-term decrease in memory
7173	  use).
7174
7175	<LI>modifies the PF1-PF4 coding in termcap/terminfo.  Because xterm is
7176	  still by default emulating vt100, the function key codes are
7177	  vt100-compatible (I overlooked this in patch #31).
7178
7179	  I also reformatted the whole terminfo file into a single-column,
7180	  for consistency.
7181
7182	<LI>adds an interim xterm-vt220 description to accommodate the old and new
7183	  styles of function-keys (though probably it'd be better to drop the
7184	  old-style altogether).
7185</UL>
7186
7187<H1><A NAME="xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</A></H1>
7188
7189This patch does the following:
7190<UL>
7191	<LI>implement DECSTR (soft terminal reset).  The biggest diff is due to
7192	  adding another state table (note that there's only one useful state
7193	  here, but it's only 256 bytes rather than 1k as it would have been
7194	  before I reduced the size of state entries).
7195
7196	<LI>some minor tidying up (e.g., signed/unsigned use bitcpy, MODE_DECCKM,
7197	  resetColor, resetCharsets).  More is done in patch #35.
7198</UL>
7199
7200I got the description of DECSTR from a vt420 user's manual.  I'll do some
7201testing with vttest to ensure that there's nothing else to do than what was
7202documented.
7203
7204<H1><A NAME="xterm_33">Patch #33 - 1996/11/24 - XFree86 3.2</A></H1>
7205
7206This adds to the reset-fix by Matthieu Herrb &lt;Mathieu.Herrb@mipnet.fr&gt; a
7207small change to make xterm able to output 8-bit characters in VT100 mode.
7208
7209Applications that run on real VT100's don't do that anyway, and this feature
7210should be removed sometime after finishing off the VT220 emulation (VT220's can
7211do 8-bit characters).  That would be a good time to change the default
7212terminal-id to 220.
7213
7214<H1><A NAME="xterm_32">Patch #32 - 1996/11/21 - XFree86 3.2</A></H1>
7215
7216This implements the REP (repeat) control for xterm.  That isn't part of the DEC
7217VTxxx series, but is defined in ISO 6429.  (Note that the base xterm terminal
7218description is <EM>not</EM> changed -- I added a variant, "xterm-rep").
7219
7220<H1><A NAME="xterm_31">Patch #31 - 1996/11/16 - XFree86 3.2</A></H1>
7221
7222This implements vt52 emulation in xterm (ifdef'd so it can be removed).
7223I've been using it for testing for the past month or so.
7224
7225<H1><A NAME="xterm_30">Patch #30 - 1996/11/16 - XFree86 3.2</A></H1>
7226
7227From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis Auroux), missing reset to
7228ground state.  I checked through the rest of <EM>that</EM> table and found another,
7229in the unimplemented MC (screen print).
7230
7231<H1><A NAME="xterm_29">Patch #29 - 1996/9/15 - XFree86 3.1.2Gb</A></H1>
7232
7233This patch does the following:
7234<UL>
7235	<LI>corrects the restoration of color for bold/underline color mode
7236
7237	<LI>adds a resource 'decTerminalID' to control the reporting level of
7238	  xterm (e.g., VT100, VT220).
7239
7240	<LI>uses the new resource to implement/correct the DA1, DA2 and
7241	  DECRPTUI reports.
7242
7243	<LI>change valid-response code in DECRQSS from 0 to 1 (the manual says 0,
7244	  but the VT420 terminal I've been testing on says 1).
7245</UL>
7246
7247All of these changes are based on vttest 2.6
7248<P>
7249(Most of the volume in the patch is to add 2 more state tables for parsing
7250the 2nd/3rd device-attribute controls).
7251
7252<H1><A NAME="xterm_28">Patch #28 - 1996/8/31 - XFree86 3.1.2F</A></H1>
7253
7254This patch corrects the following reported by Roland Rosenfeld
7255&lt;roland@spinnaker.rhein.de&gt;:
7256<UL>
7257	<LI>handle SGR 22, 24 and 25 in combination with colorUL and colorBD
7258	  resources.  Also noted &amp; fixed reset of colored underline/bold
7259	  with SGR 0.
7260
7261	<LI>a typo in the termcap (missing '['), from 3.1.2Dj (my error)
7262</UL>
7263
7264Roland also complained that he couldn't use box characters with
7265<PRE>
7266	-adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
7267</PRE>
7268but that's a known xterm limitation (the box characters must be part of the
7269font, in the first 32 locations).
7270
7271<H1><A NAME="xterm_27">Patch #27 - 1996/8/21 - XFree86 3.1.2Ek</A></H1>
7272
7273This patch fixes one of my long-term gripes:  xterm's selection doesn't clearly
7274show what's being selected (as per David's request, it's controlled by a
7275resource, which defaults to the older behavior).
7276
7277<H1><A NAME="xterm_26">Patch #26 - 1996/8/20 - XFree86 3.1.2Ei</A></H1>
7278
7279Here's a patch to fix a problem with xterm's cut/paste and another to modify
7280the appearance of the highlighting while selecting.  (The changes are
7281independent, so you can see if the change to screen.c is desirable).
7282
7283<H1><A NAME="xterm_25">Patch #25 - 1996/8/18 - XFree86 3.1.2Ei</A></H1>
7284
7285Here's a correction for two minor bugs that I picked up in testing, plus
7286some lint (from Solaris 2.5) where NULL was used incorrectly:
7287<UL>
7288	<LI>make the second alternate font the same as the first (that's what
7289	  vt420 and dtterm do)
7290
7291	<LI>corrected DECSCL report when DECSCL hasn't been set (i.e., don't
7292	  return a '60').
7293</UL>
7294
7295<H1><A NAME="xterm_24">Patch #24 - 1996/8/11 - XFree86 3.1.2Ee</A></H1>
7296
7297This patch does several things.  In effect, xterm can (I think) do a reasonably
7298good job of emulating vt220 and vt320 terminals (as well as it was doing
7299vt100, at any rate ;-).
7300<P>
7301It does NOT do:
7302<UL>
7303	<LI>soft fonts
7304
7305	<LI>rigel or sixel graphics
7306</UL>
7307<P>
7308Anyway, I:
7309<UL>
7310
7311	<LI>added ECH, CPL, CNL, SU, SD, CBT, CHT controls
7312
7313	<LI>added popup-menu for switching between DEC and Sun function keys.
7314	  (corrected alignment err wrt logging entry at that point).
7315
7316	<LI>make xterm recognize both 8-bit and 7-bit controls (including
7317	  popup menu for switching modes).
7318
7319	<LI>add user-definable function keys (aka DECUDK)
7320
7321	<LI>support concealed text
7322
7323	<LI>support protected text (both ISO compatible and DEC compatible -
7324	  that's not the same thing, btw), with SPA, EPA, DECSCA, DECSED,
7325	  DECSEL controls.
7326
7327	<LI>implement DECSCL.
7328</UL>
7329<P>
7330I'll be continuing to test this patch for a while, but don't expect to add any
7331new functionality (it passes all of the current tests I've built in vttest, but
7332I need to make more tests)..
7333
7334<H1><A NAME="xterm_23">Patch #23 - 1996/7/31 - XFree86 3.1.2Ec</A></H1>
7335
7336This removes the blinking cursor I added last week (for performance reasons).
7337Time-permitting, I'll revisit this after 3.2 is released (there <EM>will</EM> be more
7338work after XFree86 3.2, I assume).
7339
7340<H1><A NAME="xterm_22">Patch #22 - 1996/7/26 - XFree86 3.1.2Ec</A></H1>
7341
7342I looked more closely at my "double-negative" and realized that I had been
7343confused by the default color scheme (black on white) in combination with
7344reverse video.  However, I did see that the original_fg and original_bg data
7345weren't really used - so I removed that logic.
7346<P>
7347Also:
7348<UL>
7349	<LI>during initialization, check if ANSI colors are set with non fg/bg
7350	  values, disable color mode if not.  This makes xterm tolerant of
7351	  applications that allocate the whole color map.
7352
7353	<LI>implemented blinking cursor (default is <EM>off</EM>)
7354</UL>
7355
7356<H1><A NAME="xterm_21">Patch #21 - 1996/7/24 - XFree86 3.1.2Ec</A></H1>
7357
7358This patch does the following:
7359<UL>
7360	<LI>fixes some minor typography in the control-sequences documentation
7361	  (it didn't occur to me til I'd sent the last patch that I could use
7362	  ghostview for previewing the troff output ;-)
7363
7364	<LI>adjusts the shell's background color in ReverseVideo so that flicker
7365	  in resizing is reduced
7366
7367	<LI>adds an ifdef OPT_ISO_COLORS to allow configuring xterm without
7368	  the ISO color support (saves a lot of memory)
7369
7370	<LI>used that ifdef to isolate/modify logic so that if the user doesn't
7371	  have the colorMode enabled, then ISO color support is disabled (saving
7372	  memory).
7373	<P>
7374	  (If anyone needs numbers, I had savedLines set to 2000, and found
7375	  a reduction from ~700k to ~400k of allocated memory, according to
7376	  Purify).
7377</UL>
7378
7379<H1><A NAME="xterm_20">Patch #20 - 1996/7/24 - XFree86 3.1.2Ec</A></H1>
7380
7381This documents the changes in control sequences for window operations that
7382I added in my previous patch.  I'm testing another patch that allows the
7383user to use less memory if colors aren't needed.
7384
7385<H1><A NAME="xterm_19">Patch #19 - 1996/7/21 - XFree86 3.1.2Ec</A></H1>
7386
7387This patch does the following:
7388<UL>
7389	<LI>fixes the core dump that I reported on IRIX 5.2 (in main.c)
7390	<P>
7391	  (it's worth noting that this bug exists in X11R6.1, so I'd like
7392	  to assume that someone's already submitted a fix to X Consortium...)
7393
7394	<LI>change the interpretation of zero rows or columns in a resize-window
7395	  request to use the root window's size (looking more carefully at
7396	  dtterm, that seems to be what it does).
7397
7398	<LI>change some memmove calls to memcpy for slightly better performance.
7399	  (also, a couple of memset calls to bzero - Quantify says bzero runs
7400	  20% faster, I assume because there's one less argument).
7401
7402	<LI>interpret character sets 1 and 2 (so that vttest gives a reasonable
7403	  result) Both rxvt and dtterm do something equivalent.
7404
7405	<LI>fix a minor memory leak in the logic that retrieves the window or
7406	  icon names (Purify found this for me while I ran vttest).
7407</UL>
7408
7409<H1><A NAME="xterm_18">Patch #18 - 1996/7/18 - XFree86 3.1.2Ec</A></H1>
7410
7411This implements the following:
7412<UL>
7413	<LI>escape sequences that act like the CDE dtterm's window operations
7414	  (though I have implemented the default width and height -- I've seen
7415	  a rather buggy dtterm running that seems to treat width=0 or height=0
7416	  literally -- maybe that's a feature, not a bug?)
7417
7418	<LI>minor tweak to the screen-repainting when resizing (I still cannot
7419	  entirely get rid of flicker).
7420
7421	<LI>still more fixes to terminfo &amp; termcap (I corrected my error for
7422	  the hpa code and added some other stuff by comparing to ncurses'
7423	  description and rxvt's).
7424
7425	<LI>a tweak to the patch by Michael Rohleder for the color translation
7426
7427	<LI>re-order attribute codes to allow later implementation of protected
7428	  fields (dtterm supposedly does this; it's probably more useful than
7429	  blinking or invisible text -- that uses up all of the available bits
7430	  without changing the attribute scheme radically).
7431</UL>
7432
7433<H1><A NAME="xterm_17">Patch #17 - 1996/7/2 - XFree86 3.1.2Eb</A></H1>
7434
7435This patch implements for xterm several minor features from ISO 6429 which are
7436useful for terminfo applications.  The HPA and VPA control sequences allow
7437cursor movement along a row or column, cutting down a little on the characters
7438transmitted.  The other codes allow resetting specific graphic rendition
7439attributes without modifying the other attributes.
7440
7441(now if someone just had time to implement blinking cursors...)
7442
7443<H1><A NAME="xterm_16">Patch #16 - 1996/6/25 - XFree86 3.1.2Ea</A></H1>
7444
7445Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks ago that I'd missed
7446some of the background coloring in xterm.  I investigated, and found that while
7447I'd picked up on the clear-to-bottom and clear-to-end-of-line operations, I'd
7448overlooked the insert/delete lines.  Just so I wouldn't overlook any more of
7449these, I updated a copy of vttest to test ISO colors and bce (background color
7450erase).  This patch introduces a new function, ClearCurBackground, whose calls
7451replace the direct XClearArea calls that I'd overlooked.
7452
7453(There's also a few compiler warnings fixed, etc ;-)
7454
7455<H1><A NAME="xterm_15">Patch #15 - 1996/5/29 - XFree86 3.1.2E</A></H1>
7456
7457This fixes the problem reported by David Dawes, by making the 50msec select
7458timeout for the Xaw3d arrow scrollbar a resource.  (I made it a boolean for a
7459variety of reasons -- to make it a number, you'd need an additional resource,
7460to avoid breaking the logic).
7461
7462<H1><A NAME="xterm_14">Patch #14 - 1996/5/12 - XFree86 3.1.2Dj</A></H1>
7463
7464This patch brings the termcap and terminfo descriptions for xterm up to date.
7465I made the following changes:
7466<UL>
7467	<LI>reformatted the terminfo description in a single-column (this is ok
7468	  for terminfo, and will simplify future patches -- can't do that for
7469	  termcap, since it would impact buffer requirements on some systems).
7470
7471	<LI>omitted obsolete features in termcap to save a little space (bs, pt)
7472
7473	<LI>added color capabilities to termcap (ut, Co, NC, op, AB, AF)
7474
7475	<LI>corrected some capabilities (vi, ve)
7476
7477	<LI>added 'st' (set tab)
7478
7479	<LI>reduced function keys in termcap for 'xterm' to 12 because color
7480	  capabilities makes that description larger than 1023 characters.
7481
7482	<LI>created new termcap name 'xtermm' (monochrome) to match the terminfo
7483	  list, and make that description have 20 function keys.
7484
7485	<LI>added corresponding color capabilities to terminfo (bce, colors,
7486	  pairs, op, ncv, setab, setaf)
7487
7488	<LI>corrected corresponding capabilities in terminfo (civis, cnorm,
7489	  rmcup, smcup)
7490
7491	<LI>added capabilities (el1, hts)
7492
7493	<LI>in both, corrected home/end keys to match the code correction made
7494	  by Thomas Mueller in 3.1.2Bk
7495
7496	  <P>=&gt; (I'm still considering modifying the code &amp; description to match
7497	      the rxvt program).
7498</UL>
7499
7500<H1><A NAME="xterm_13">Patch #13 - 1996/4/23 - XFree86 3.1.2Df</A></H1>
7501
7502This corrects my earlier changes for colors - the inner border of the xterm was
7503getting painted with the wrong color, since I'd moved the call to set the
7504background into the logic that tracks SGR information.
7505
7506<H1><A NAME="xterm_12">Patch #12 - 1996/3/16 - XFree86 3.1.2Dc</A></H1>
7507
7508This corrects a memory leak in xterm that happens whenever one switches fonts.
7509
7510<H1><A NAME="xterm_11">Patch #11 - 1996/3/5 - XFree86 3.1.2Db</A></H1>
7511
7512This patch corrects the behavior of the ANSI colors in xterm when reverse
7513video is used, as well as some other lesser sins:
7514<UL>
7515	<LI>button.c
7516<UL>
7517		<LI>(compiler warnings: shadowing of 'time', redundant cast)
7518</UL>
7519
7520	<LI>charproc.c
7521<UL>
7522		<LI>renamed screen.colors[] array to screen.Acolors[] to more
7523		easily distinguish the non-ANSI colors from the ANSI colors.
7524
7525		<LI>moved logic of SGR_Save() into VTInitialize, getting rid of
7526		local private variables original_fg and original_bg.
7527
7528		<LI>moved some logic into getXtermForeground and getXtermBackground
7529		from SGR_Foreground, SGR_Background, etc.
7530
7531		<LI>corrected misleading 'row' to 'col' in case for CUF, CUB
7532		sequences.
7533</UL>
7534
7535	<LI>ctlseqs.ms
7536	<LI>xterm.man
7537<UL>
7538		<LI>(correct a misconception which I'd added that the color0
7539		through color6 resource values apply to non-ANSI colors)
7540</UL>
7541
7542	<LI>ptyx.h
7543<UL>
7544		<LI>added original_fg, original_bg to TScreen structure.
7545</UL>
7546
7547	<LI>scrollbar.c
7548<UL>
7549		<LI>(compiler warnings: redundant cast)
7550</UL>
7551
7552	<LI>util.c
7553<UL>
7554		<LI>new functions getXtermForeground and getXtermBackground replace
7555		the macros GET_FG and GET_BG, with the added functionality of
7556		checking for the reverse-video status of xterm.
7557
7558		<LI>in ReverseVideo, swap the SGR foreground and background colors
7559		also.
7560</UL>
7561</UL>
7562
7563<H1><A NAME="xterm_10">Patch #10 - 1996/2/14 - XFree86 3.1.2Cd</A></H1>
7564
7565I observed an occasional glitch in the xterm's color behavior; a clear to end
7566of line would get a color that had been used in a program that supposedly reset
7567colors.  I traced this down to the way xterm was modifying colors of GC's on
7568the fly; it didn't restore the original color of the GC, even though it would
7569later be used in functions (such as ClearRight) that assumed (my error) that
7570the GC would have the current foreground or background color.
7571<P>
7572I fixed this by resetting the GC's colors with a new function 'resetXtermGC()',
7573and direct calls on SGR_Foreground/SGR_Background, as appropriate and using a
7574new function 'updatedXtermGC()' to encapsulate the logic that modifies the GC's
7575color.  (I also removed some commented-out code that was trying to do this --
7576the problem was a little more obscure).
7577
7578<H1><A NAME="xterm_09">Patch #9 - 1996/2/10 - XFree86 3.1.2Cb</A></H1>
7579
7580This patch fixes the remaining problems that I had making xterm run with x11r5,
7581as well as a couple of other bugs.  It follows my patch from yesterday, that
7582added ifdef's for some of the input-method resources.
7583<UL>
7584	<LI>corrected ifdef's that suppress the input-method code (doesn't
7585	  exist in my x11r5, and xterm works adequately without it).
7586
7587	<LI>corrected fallback definition for 'Select()' macro (oops: I'd
7588	  copied the wrong text...)
7589
7590	<LI>moved the declarations for the fd_set variables to data.[ch]
7591
7592	<LI>corrected an ifdef in resize.c (sunos 4.x doesn't have termcap.h)
7593
7594	<LI>corrected (in main.c) some unused/orphaned variables.
7595</UL>
7596
7597<H1><A NAME="xterm_08">Patch #8 - 1996/2/9 - XFree86 3.1.2Cb</A></H1>
7598
7599This is mostly a documentation patch for xterm.  It describes the color control
7600sequences in more detail, and documents some other features of xterm that
7601aren't described elsewhere.
7602<P>
7603I've also added a couple of ifdef's to fix (part of) the problem that I'm
7604working on (making the program work properly on x11r5, where I'm doing memory
7605testing -- I have a "good" version from mid-January, but my resync version
7606doesn't work properly on x11r5).  I'm not done with <EM>that</EM> yet.
7607
7608<H1><A NAME="xterm_07">Patch #7 - 1996/1/28 - XFree86 3.1.2n</A></H1>
7609
7610I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF).  I've got an S3 card.
7611<P>
7612This fixes the following in the 3.1.2n xterm:
7613<UL>
7614	<LI>initialize cur_foreground, cur_background in charproc.c (Purify
7615	  told me they weren't initialized).
7616
7617	<LI>add interpretation of codes 39, 49, to reset background and
7618	  foreground to default value (I'm told that ISO 6429 does this; but I
7619	  don't have a written reference -- yet -- can anyone help here?).
7620	  Anyway, rxvt does it, and it'll solve my remaining color management
7621	  problems.
7622
7623	<LI>shadowing of 'time' in menu.c
7624
7625	<LI>'Cardinal' vs 'int' in scrollbar.c
7626
7627	<LI>several changes to permit compile with X11R5 (the system that I've
7628	  got Purify on won't be upgraded to X11R6 for a long time).
7629</UL>
7630<P>
7631I built this version (with a minor nit that I'll patch soon) on SunOS 4.1.3 so
7632that I can test it some more with Purify.
7633<P>
7634<EM>btw</EM>:
7635the changes made in Xpoll.h won't work on some older systems, because
7636	fd_set isn't a defined type (I've got one machine at least that this
7637	applies to).
7638
7639<H1><A NAME="xterm_06">Patch #6 - 1996/1/8</A></H1>
7640
7641This patch does all of the SGR foreground/background fixes (i.e., clearing the
7642screen after an SGR color is set causes that color to be used in the foreground
7643and/or background).  If the FG_COLOR and/or BG_COLOR flags aren't set, then the
7644xterm foreground and background default to the window's values.  This usage is
7645consistent with various types of hardware (especially the IBM PC), and is also
7646used in rxvt.
7647<UL>
7648	<LI>charproc.c:
7649<UL>
7650		<LI>add/use new macros GET_FG, GET_BG - n/c.
7651
7652		<LI>add/use new functions SGR_Foreground() and SGR_Background()
7653		  to set corresponding colors in GC's, and to retain sense of
7654		  "original" colors.
7655
7656		  <P>
7657		  =&gt; This makes redundant some of the corresponding logic
7658		     in HideCursor to set the foreground and background,
7659		     but I left it in since it <EM>may</EM> be fixing an unrelated
7660		     requirement.
7661
7662		<LI>set GC's in LoadNewFont() according to whether the SGR fg/bg
7663		  colors are active.
7664
7665		  <P>
7666		  =&gt; This fixes some glitches in the accompanying resize,
7667		     that leaves parts of the window in the original
7668		     background color.
7669</UL>
7670
7671	<LI>screen.c:
7672<UL>
7673		<LI>modified ClearBufRows() to use the SGR fg/bg colors if
7674		  they're set.
7675
7676		<LI>added function ScrnClearLines(), used this to replace
7677		  portions of ScrnInsertLine() and ScrnDeleteLine().
7678		  The new function uses the SGR fg/bg colors if they're
7679		  set.
7680
7681		  <P>
7682		  =&gt; Otherwise, selection after an index or reverse index will
7683		     paint the wrong colors.
7684
7685		<LI>modified ScrnDeleteChar() and ScrnInsertChar()
7686		  to use SGR fg/bg colors.
7687</UL>
7688
7689	<LI>util.c:
7690<UL>
7691		<LI>modified ClearRight() so that if either of the SGR fg/bg
7692		  colors is set, we don't bzero the attributes and color
7693		  arrays, but instead fill them with the appropriate codes.
7694
7695		<LI>modified ClearLeft to use SGR fg/bg colors.
7696</UL>
7697</UL>
7698
7699<H1><A NAME="xterm_05">Patch #5 - 1996/1/7</A></H1>
7700
7701This patch modifies the object code, by replacing indexing expressions with
7702temporary variables with the full indexing expression.  At first glance, this
7703seems inefficient (it did to me ;-), until remembering comments made in the
7704compilers newsgroups that trying to "help" the compiler doesn't really work
7705that well.  A good optimizing compiler can do a better job than the programmer
7706can.  (There's a moral in the use of 'register' variables also, but I won't fix
7707those...).
7708<P>
7709Anyway, the revised code generates a smaller object...
7710<UL>
7711<LI>charproc.c:
7712<UL>
7713<LI>recode index expressions in ShowCursor() and HideCursor()
7714		  using SCRN_BUF_xxxxS macros - changes object.
7715
7716<LI>replace constant '4' by MAX_PTRS - n/c.
7717</UL>
7718
7719<LI>ptyx.h:
7720<UL>
7721<LI>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
7722		  macros, to pick up references to ScrnBuf data directly, and
7723		  added MAX_PTRS symbol to pick up those '4' constants strewn
7724		  about the code - n/c.
7725</UL>
7726
7727<LI>screen.c:
7728<UL>
7729<LI>recode index expressions in ScreenWrite() using
7730		  SCRN_BUF_xxxxS macros - changes object.
7731
7732<LI>replace constant '4' by MAX_PTRS - n/c.
7733
7734<LI>use macros BUF_CHARS, BUF_ATTRS - n/c.
7735
7736<LI>cast calloc to 'Char *' to fix compiler warning on IRIX - n/c
7737</UL>
7738
7739<LI>scrollbar.c:
7740<UL>
7741<LI>replace constant '4' by MAX_PTRS - n/c.
7742
7743<LI>cast calloc to 'Char *' to fix compiler warning on IRIX - n/c
7744</UL>
7745</UL>
7746
7747<H1><A NAME="xterm_04">Patch #4 - 1996/1/7</A></H1>
7748When setting up for this phase, I saw that you'd corrected the bug that I found
7749in ClearLeft.  I decided to make this series of patches anyway, since
7750readability never hurt (and there's the potential for finding another bug while
7751reviewing this set).
7752<UL>
7753<LI>button.c:
7754<UL>
7755<LI>use SCRN_BUF_xxxxS macros - n/c
7756</UL>
7757<LI>charproc.c:
7758<UL>
7759<LI>use SCRN_BUF_xxxxS macros - n/c
7760</UL>
7761<LI>ptyx.h:
7762<UL>
7763<LI>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
7764		  SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four
7765		  arrays that are derived from screen-&gt;buf.
7766</UL>
7767<LI>screen.c:
7768<UL>
7769<LI>use SCRN_BUF_xxxxS macros - n/c
7770</UL>
7771<LI>util.c:
7772<UL>
7773<LI>use SCRN_BUF_xxxxS macros - n/c
7774</UL>
7775</UL>
7776<H1><A NAME="xterm_03">Patch #3 - 1996/1/7</A></H1>
7777
7778This is my third (and final cleanup) patch for xterm.  It gets rid of the
7779unused stuff, and converts several functions to static (thereby reducing their
7780scope).
7781<P>
7782At this point, the only compile warnings I've got (on Linux) are those about
7783the select arguments (int vs fd_set type), and a missing declaration for
7784waitpid.  Those both are hard to get right without autoconfigure.
7785<P>
7786The next patches will address the functional changes...
7787<UL>
7788<LI>Tekproc.c:
7789<UL>
7790<LI>changed several functions to 'static' that aren't used
7791outside this module -- changes object
7792</UL>
7793<LI>charproc.c:
7794<UL>
7795<LI>changed several functions to 'static' that aren't used
7796outside this module -- changes object
7797<LI>deleted unused function unparsefputs -- changes object.
7798</UL>
7799<LI>main.c:
7800<UL>
7801<LI>changed several functions to 'static' that aren't used
7802outside this module -- changes object
7803<LI>ifdef'd out unused function 'consolepr()' -- changes object
7804<LI>removed unused variable 'dummy_tio' -- changes object
7805<LI>moved variable 'discipline' to quiet unused-warning -- changes object
7806</UL>
7807<LI>main.h:
7808<UL>
7809<LI>deleted unused definition of DEFBORDERWIDTH - n/c
7810</UL>
7811<LI>misc.c:
7812<UL>
7813<LI>changed several functions to 'static' that aren't used
7814outside this module -- changes object
7815<LI>provide dummy return statements for xerror and xioerror to
7816quiet compiler warnings -- changes object
7817</UL>
7818<LI>ptyx.h:
7819<UL>
7820<LI>change sbuf_address and abuf_address to 'Char *' - n/c
7821</UL>
7822<LI>resize.c:
7823<UL>
7824<LI>changed several functions to 'static' that aren't used outside this module
7825-- changes object
7826</UL>
7827<LI>screen.c:
7828<UL>
7829<LI>remove unnecessary 'Char **' casts - n/c
7830</UL>
7831<LI>util.c:
7832<UL>
7833<LI>changed several functions to 'static' that aren't used outside this module
7834-- changes object
7835</UL>
7836</UL>
7837<H1><A NAME="xterm_02">Patch #2 - 1996/1/7</A></H1>
7838This is my second patch to xterm.  It corrects most of the gcc warnings (except
7839for some that are due to X header files ;-).  I compared objects to keep track
7840of the changes that don't affect the object code (n/c) versus those that do.
7841<P>
7842At this point, I'm compiling (fairly) clean with gcc options
7843<PRE>
7844	-Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
7845</PRE>
7846(I also compiled with -Wshadow, but while that found some things that I wanted
7847to find, there's far too many warnings from the X headers to be usable in this
7848context).
7849<P>
7850The changes:
7851<UL>
7852<LI>Tekproc.c:
7853<UL>
7854<LI>parenthesized expression to avoid gcc warning -- n/c.
7855
7856<LI>corrected nested-extern declaration for Bool
7857		  waiting_for_initial_map; ourTopLevelShellArgs, and
7858		  number_ourTopLevelShellArgs - n/c
7859
7860</UL>
7861<LI>charproc.c:
7862<UL>
7863<LI>corrected potentially-unintialized variables 'scstype', 'xim',
7864		  and 'input_style' -- changes object.
7865
7866<LI>adjusted logic of VTparse so that gcc won't warn about setjmp
7867		  clobbering parsestate -- changes object.
7868
7869<LI>corrected initialization of 'scstype', which could have been
7870		  clobbered by setjmp/longjmp - changes object.
7871
7872<LI>corrected nested-extern declaration of 'term', 'ProgramName'
7873		  - n/c
7874</UL>
7875
7876<LI>cursor.c:
7877<UL>
7878<LI>corrected nested-extern declaration of 'term' -- n/c
7879
7880<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
7881</UL>
7882
7883<LI>input.c:
7884<UL>
7885<LI>change interface of StringInput to assume size_t (i.e.,
7886		  unsigned) nbytes -- changes object.
7887
7888<LI>change interface of funcvalue, and sunfuncvalue to use
7889		  'KeySym' type instead of 'int' - changes object.
7890</UL>
7891
7892<LI>main.c:
7893<UL>
7894<LI>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h - n/c
7895
7896<LI>corrected missing params of 'do_hangup()' -- changes object
7897		  (note: the missing params were not used).
7898
7899<LI>corrected missing param of 'Error()' -- changes object
7900
7901<LI>corrected nested-extern 'environ' - n/c
7902
7903<LI>adjusted assignments to 'tty_got_hung' and 'no_dev_tty' so
7904		  that gcc can see they won't be clobbered by the longjmp -
7905		  changes object.
7906
7907<LI>use Size_t type - n/c.
7908</UL>
7909
7910<LI>menu.c:
7911<UL>
7912<LI>removed redundant prototype for 'do_hangup()' -- n/c.
7913
7914<LI>renamed 'time' parameters to avoid gcc -Wshadow warning - n/c
7915</UL>
7916
7917<LI>menu.h:
7918<UL>
7919<LI>renamed 'time' parameters to avoid gcc -Wshadow warning - n/c
7920</UL>
7921
7922<LI>misc.c:
7923<UL>
7924<LI>corrected definition of 'HandleFocusChange()' -- changes
7925		  object
7926
7927<LI>cast parameters in call to 'TekExpose()' -- n/c
7928
7929<LI>corrected nested-extern declarations of 'term', 'toplevel',
7930		  ProgramName, and 'environ' -- n/c.
7931
7932<LI>use Size_t type - n/c.
7933</UL>
7934
7935<LI>proto.h:
7936<UL>
7937<LI>moved definition of SIGNAL_T (and SIGNAL_RETURN) here from
7938		  main.c, resize.c to allow use of this symbol in prototypes
7939		  (mostly in xterm.h).
7940
7941<LI>added definition 'Size_t' to use as corrected type for
7942		  strncpy, malloc sizes - n/c.
7943</UL>
7944
7945<LI>resize.c:
7946<UL>
7947<LI>moved SIGNAL_T definition to proto.h -- n/c.
7948
7949<LI>use Size_t type - n/c.
7950</UL>
7951
7952<LI>screen.c:
7953<UL>
7954<LI>use Size_t type - n/c.
7955</UL>
7956
7957<LI>tabs.c:
7958<UL>
7959<LI>corrected nested-extern declaration of 'term' -- n/c
7960</UL>
7961
7962<LI>util.c:
7963<UL>
7964<LI>corrected/supplied parameters to 'TekExpose()' -- changes
7965		  object (note:  'TekExpose()' doesn't use its parameters).
7966
7967<LI>corrected nested-extern declaration of
7968		  'waiting_for_initial_map' -- n/c.
7969
7970<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
7971</UL>
7972
7973<LI>xterm.h:
7974<UL>
7975<LI>prototype 'do_hangup()', 'HandleFocusChange()',
7976		  'TekExpose()', 'Error()', 'Exit()' - forces changes in
7977		  various places.
7978
7979<LI>adjusted prototypes that pass 'Boolean' arguments to use
7980		  'int' (this is the "correct" ANSI approach to extended
7981		  compiles; it's worth mentioning that gcc doesn't meet the
7982		  ANSI spec here).  I used gcc -Wconversion to find these, but
7983		  there's a lot of unrelated warnings that are due to setting
7984		  NARROWPROTO in the config - n/c.
7985
7986<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
7987</UL>
7988</UL>
7989<H1><A NAME="xterm_01">Patch #1 - 1996/1/6</A></H1>
7990This is my first cleanup patch for xterm.  It addresses all of the gcc warnings
7991for -Wall, -Wmissing-prototypes and -Wstrict-prototypes that I can change
7992without modifying the object code.  (I'm compiling this with gcc 2.7.0 for an
7993aout target, which makes it simple to compare objects.  When I do ELF-only,
7994I've got a tool that compares that sort of thing as well).
7995<P>
7996Briefly, this patch adds (and uses) two header files in the xterm directory:
7997<PRE>
7998	proto.h
7999	xterm.h
8000</PRE>
8001I expect this to be the biggest patch by far.  However (barring a misplaced
8002prototype), it shouldn't break anything, since the intent of the patch is to
8003provide missing declarations.
8004</BODY>
8005</HTML>
8006