xterm.log.html revision e39b573c
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<!--
3 *****************************************************************************
4 * this file is part of xterm                                                *
5 *                                                                           *
6 * Copyright 1997-2010,2011 by Thomas E. Dickey                              *
7 *                                                                           *
8 * All Rights Reserved                                                       *
9 *                                                                           *
10 * Permission is hereby granted, free of charge, to any person obtaining a   *
11 * copy of this software and associated documentation files (the             *
12 * "Software"), to deal in the Software without restriction, including       *
13 * without limitation the rights to use, copy, modify, merge, publish,       *
14 * distribute, sublicense, and/or sell copies of the Software, and to        *
15 * permit persons to whom the Software is furnished to do so, subject to     *
16 * the following conditions:                                                 *
17 *                                                                           *
18 * The above copyright notice and this permission notice shall be included   *
19 * in all copies or substantial portions of the Software.                    *
20 *                                                                           *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS   *
22 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF                *
23 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.    *
24 * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY  *
25 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,      *
26 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE         *
27 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                    *
28 *                                                                           *
29 * Except as contained in this notice, the name(s) of the above copyright    *
30 * holders shall not be used in advertising or otherwise to promote the      *
31 * sale, use or other dealings in this Software without prior written        *
32 * authorization.                                                            *
33 *****************************************************************************
34  $XTermId: xterm.log.html,v 1.1063 2011/07/15 00:51:57 tom Exp $
35  -->
36<HTML>
37<HEAD>
38<TITLE>XTERM - Change Log</TITLE>
39<LINK REV=MADE HREF="mailto:dickey@invisible-island.net">
40<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
41</HEAD>
42<BODY>
43<HR>
44Copyright &copy; 1997-2009,2010 by <A
45HREF="mailto:dickey@invisible-island.net">Thomas E. Dickey</A>
46<HR>
47<H1>Contents</H1>
48This file contains a list of the changes that I have made for xterm,
49from the notes that I add when submitting a patch.
50<P>
51You should note that other changes have been made as well, by other people,
52to fix bugs and correct ifdef's for portability.
53Most of these are summarized in the XFree86 CHANGELOG
54(found in the unbundled tree, xc/programs/Xserver/hw/xfree86).
55<a href="http://invisible-island.net/xterm/xterm.log.html">Here</a>
56is the latest version of this file.
57
58<UL>
59<LI><A HREF="#xterm_271">Patch #271 - 2011/07/14</A>
60<LI><A HREF="#xterm_270">Patch #270 - 2011/04/26</A>
61<LI><A HREF="#xterm_269">Patch #269 - 2011/02/19</A>
62<LI><A HREF="#xterm_268">Patch #268 - 2011/02/10</A>
63<LI><A HREF="#xterm_267">Patch #267 - 2010/11/20</A>
64<LI><A HREF="#xterm_266">Patch #266 - 2010/10/24</A>
65<LI><A HREF="#xterm_265">Patch #265 - 2010/10/22</A>
66<LI><A HREF="#xterm_264">Patch #264 - 2010/10/14</A>
67<LI><A HREF="#xterm_263">Patch #263 - 2010/10/13</A>
68<LI><A HREF="#xterm_262">Patch #262 - 2010/8/30</A>
69<LI><A HREF="#xterm_261">Patch #261 - 2010/6/28</A>
70<LI><A HREF="#xterm_260">Patch #260 - 2010/6/20</A>
71<LI><A HREF="#xterm_259">Patch #259 - 2010/6/5</A>
72<LI><A HREF="#xterm_258">Patch #258 - 2010/5/1</A>
73<LI><A HREF="#xterm_257">Patch #257 - 2010/4/22</A>
74<LI><A HREF="#xterm_256">Patch #256 - 2010/3/6</A>
75<LI><A HREF="#xterm_255">Patch #255 - 2010/1/21</A>
76<LI><A HREF="#xterm_254">Patch #254 - 2010/1/6</A>
77<LI><A HREF="#xterm_253">Patch #253 - 2009/12/10</A>
78<LI><A HREF="#xterm_252">Patch #252 - 2009/12/7</A>
79<LI><A HREF="#xterm_251">Patch #251 - 2009/11/11</A>
80<LI><A HREF="#xterm_250">Patch #250 - 2009/10/13</A>
81<LI><A HREF="#xterm_249">Patch #249 - 2009/10/1</A>
82<LI><A HREF="#xterm_248">Patch #248 - 2009/9/11</A>
83<LI><A HREF="#xterm_247">Patch #247 - 2009/8/30</A>
84<LI><A HREF="#xterm_246">Patch #246 - 2009/8/16</A>
85<LI><A HREF="#xterm_245">Patch #245 - 2009/8/12</A>
86<LI><A HREF="#xterm_244">Patch #244 - 2009/8/9</A>
87<LI><A HREF="#xterm_243">Patch #243 - 2009/3/28</A>
88<LI><A HREF="#xterm_242">Patch #242 - 2009/2/15</A>
89<LI><A HREF="#xterm_241">Patch #241 - 2009/1/26</A>
90<LI><A HREF="#xterm_240">Patch #240 - 2009/1/25</A>
91<LI><A HREF="#xterm_239">Patch #239 - 2009/1/8</A>
92<LI><A HREF="#xterm_238">Patch #238 - 2008/12/30</A>
93<LI><A HREF="#xterm_237">Patch #237 - 2008/09/14</A>
94<LI><A HREF="#xterm_236">Patch #236 - 2008/07/27</A>
95<LI><A HREF="#xterm_235">Patch #235 - 2008/04/20</A>
96<LI><A HREF="#xterm_234">Patch #234 - 2008/03/02</A>
97<LI><A HREF="#xterm_233">Patch #233 - 2008/02/24</A>
98<LI><A HREF="#xterm_232">Patch #232 - 2008/01/30</A>
99<LI><A HREF="#xterm_231">Patch #231 - 2008/01/05</A>
100<LI><A HREF="#xterm_230">Patch #230 - 2007/12/31</A>
101<LI><A HREF="#xterm_229">Patch #229 - 2007/8/12</A>
102<LI><A HREF="#xterm_228">Patch #228 - 2007/7/22</A>
103<LI><A HREF="#xterm_227">Patch #227 - 2007/6/27</A>
104<LI><A HREF="#xterm_226">Patch #226 - 2007/6/17</A>
105<LI><A HREF="#xterm_225">Patch #225 - 2007/3/24</A>
106<LI><A HREF="#xterm_224">Patch #224 - 2007/2/11</A>
107<LI><A HREF="#xterm_223">Patch #223 - 2006/11/30</A>
108<LI><A HREF="#xterm_222">Patch #222 - 2006/10/17</A>
109<LI><A HREF="#xterm_221">Patch #221 - 2006/10/1</A>
110<LI><A HREF="#xterm_220">Patch #220 - 2006/9/10</A>
111<LI><A HREF="#xterm_219">Patch #219 - 2006/9/4</A>
112<LI><A HREF="#xterm_218">Patch #218 - 2006/8/27</A>
113<LI><A HREF="#xterm_217">Patch #217 - 2006/8/20</A>
114<LI><A HREF="#xterm_216">Patch #216 - 2006/8/3</A>
115<LI><A HREF="#xterm_215">Patch #215 - 2006/6/19 - XFree86 4.6.99.2</A>
116<LI><A HREF="#xterm_214">Patch #214 - 2006/6/18 - XFree86 4.6.99.2</A>
117<LI><A HREF="#xterm_213">Patch #213 - 2006/4/30 - XFree86 4.5.99.905</A>
118<LI><A HREF="#xterm_212">Patch #212 - 2006/4/9 - XFree86 4.5.99.904</A>
119<LI><A HREF="#xterm_211">Patch #211 - 2006/3/19 - XFree86 4.5.99.902</A>
120<LI><A HREF="#xterm_210">Patch #210 - 2006/3/12 - XFree86 4.5.99.902</A>
121<LI><A HREF="#xterm_209">Patch #209 - 2006/2/12 - XFree86 4.5.99.22</A>
122<LI><A HREF="#xterm_208">Patch #208 - 2006/1/3 - XFree86 4.5.99.19</A>
123<LI><A HREF="#xterm_207">Patch #207 - 2005/11/13 - XFree86 4.5.99.16</A>
124<LI><A HREF="#xterm_206">Patch #206 - 2005/11/3 - XFree86 4.5.99.15</A>
125<LI><A HREF="#xterm_205">Patch #205 - 2005/9/18 - XFree86 4.5.99.12</A>
126<LI><A HREF="#xterm_204">Patch #204 - 2005/8/4 - XFree86 4.5.99.9</A>
127<LI><A HREF="#xterm_203">Patch #203 - 2005/7/6 - XFree86 4.5.99.7</A>
128<LI><A HREF="#xterm_202">Patch #202 - 2005/5/2 - XFree86 4.5.99.3</A>
129<LI><A HREF="#xterm_201">Patch #201 - 2005/4/21 - XFree86 4.5.99.2</A>
130<LI><A HREF="#xterm_200">Patch #200 - 2005/2/6 - XFree86 4.4.99.23</A>
131<LI><A HREF="#xterm_199">Patch #199 - 2005/1/17 - XFree86 4.4.99.22</A>
132<LI><A HREF="#xterm_198">Patch #198 - 2005/1/13 - XFree86 4.4.99.21</A>
133<LI><A HREF="#xterm_197">Patch #197 - 2004/11/30 - XFree86 4.4.99.19</A>
134<LI><A HREF="#xterm_196">Patch #196 - 2004/8/15 - XFree86 4.4.99.12</A>
135<LI><A HREF="#xterm_195">Patch #195 - 2004/8/8 - XFree86 4.4.99.11</A>
136<LI><A HREF="#xterm_194">Patch #194 - 2004/7/27 - XFree86 4.4.99.11</A>
137<LI><A HREF="#xterm_193">Patch #193 - 2004/7/19 - XFree86 4.4.99.10</A>
138<LI><A HREF="#xterm_192">Patch #192 - 2004/7/12 - XFree86 4.4.99.9</A>
139<LI><A HREF="#xterm_191">Patch #191 - 2004/6/6 - XFree86 4.4.99.7</A>
140<LI><A HREF="#xterm_190">Patch #190 - 2004/5/25 - XFree86 4.4.99.6</A>
141<LI><A HREF="#xterm_189">Patch #189 - 2004/5/16 - XFree86 4.4.99.6</A>
142<LI><A HREF="#xterm_188">Patch #188 - 2004/5/12 - XFree86 4.4.99.6</A>
143<LI><A HREF="#xterm_187">Patch #187 - 2004/4/27 - XFree86 4.4.99.4</A>
144<LI><A HREF="#xterm_186">Patch #186 - 2004/4/18 - XFree86 4.4.99.4</A>
145<LI><A HREF="#xterm_185">Patch #185 - 2004/3/3 - XFree86 4.4</A>
146<LI><A HREF="#xterm_184">Patch #184 - 2003/12/31 - XFree86 4.3.99.903</A>
147<LI><A HREF="#xterm_183">Patch #183 - 2003/12/26 - XFree86 4.3.99.903</A>
148<LI><A HREF="#xterm_182">Patch #182 - 2003/12/2 - XFree86 4.3.99.901</A>
149<LI><A HREF="#xterm_181">Patch #181 - 2003/10/26 - XFree86 4.3.99.15</A>
150<LI><A HREF="#xterm_180">Patch #180 - 2003/10/12 - XFree86 4.3.99.15</A>
151<LI><A HREF="#xterm_179">Patch #179 - 2003/5/21 - XFree86 4.3.99.5</A>
152<LI><A HREF="#xterm_178">Patch #178 - 2003/5/18 - XFree86 4.3.99.5</A>
153<LI><A HREF="#xterm_177">Patch #177 - 2003/3/23 - XFree86 4.3.0</A>
154<LI><A HREF="#xterm_176">Patch #176 - 2003/3/22 - XFree86 4.3.0</A>
155<LI><A HREF="#xterm_175">Patch #175 - 2003/3/9 - XFree86 4.3.0</A>
156<LI><A HREF="#xterm_174">Patch #174 - 2003/2/25 - XFree86 4.2.99.903</A>
157<LI><A HREF="#xterm_173">Patch #173 - 2003/2/6 - XFree86 4.2.99.902</A>
158<LI><A HREF="#xterm_172">Patch #172 - 2002/12/27 - XFree86 4.2.99.3</A>
159<LI><A HREF="#xterm_171">Patch #171 - 2002/12/12 - XFree86 4.2.99.3</A>
160<LI><A HREF="#xterm_170">Patch #170 - 2002/10/13 - XFree86 4.2.1</A>
161<LI><A HREF="#xterm_169">Patch #169 - 2002/10/5 - XFree86 4.2.1</A>
162<LI><A HREF="#xterm_168">Patch #168 - 2002/9/29 - XFree86 4.2.1</A>
163<LI><A HREF="#xterm_167">Patch #167 - 2002/8/24 - XFree86 4.2.0</A>
164<LI><A HREF="#xterm_166">Patch #166 - 2002/3/25 - XFree86 4.2.0</A>
165<LI><A HREF="#xterm_165">Patch #165 - 2002/1/5 - XFree86 4.1.0</A>
166<LI><A HREF="#xterm_164">Patch #164 - 2001/11/13 - XFree86 4.1.0</A>
167<LI><A HREF="#xterm_163">Patch #163 - 2001/11/04 - XFree86 4.1.0</A>
168<LI><A HREF="#xterm_162">Patch #162 - 2001/10/23 - XFree86 4.1.0</A>
169<LI><A HREF="#xterm_161">Patch #161 - 2001/10/10 - XFree86 4.1.0</A>
170<LI><A HREF="#xterm_160">Patch #160 - 2001/10/7 - XFree86 4.1.0</A>
171<LI><A HREF="#xterm_159">Patch #159 - 2001/9/19 - XFree86 4.1.0</A>
172<LI><A HREF="#xterm_158">Patch #158 - 2001/9/8 - XFree86 4.1.0</A>
173<LI><A HREF="#xterm_157">Patch #157 - 2001/6/18 - XFree86 4.1.0</A>
174<LI><A HREF="#xterm_156">Patch #156 - 2001/4/28 - XFree86 4.0.3</A>
175<LI><A HREF="#xterm_155">Patch #155 - 2001/4/20 - XFree86 4.0.3</A>
176<LI><A HREF="#xterm_154">Patch #154 - 2001/4/11 - XFree86 4.0.3</A>
177<LI><A HREF="#xterm_153">Patch #153 - 2001/3/29 - XFree86 4.0.3</A>
178<LI><A HREF="#xterm_152">Patch #152 - 2001/3/13 - XFree86 4.0.2</A>
179<LI><A HREF="#xterm_151">Patch #151 - 2001/3/10 - XFree86 4.0.2</A>
180<LI><A HREF="#xterm_150">Patch #150 - 2000/12/29 - XFree86 4.0.2</A>
181<LI><A HREF="#xterm_149">Patch #149 - 2000/12/6 - XFree86 4.0.1h</A>
182<LI><A HREF="#xterm_148">Patch #148 - 2000/10/31 - XFree86 4.0.1d</A>
183<LI><A HREF="#xterm_147">Patch #147 - 2000/10/26 - XFree86 4.0.1c</A>
184<LI><A HREF="#xterm_146">Patch #146 - 2000/9/12 - XFree86 4.0.1c</A>
185<LI><A HREF="#xterm_145">Patch #145 - 2000/9/11 - XFree86 4.0.1c</A>
186<LI><A HREF="#xterm_144">Patch #144 - 2000/8/23 - XFree86 4.0.1b</A>
187<LI><A HREF="#xterm_143">Patch #143 - 2000/8/19 - XFree86 4.0.1b</A>
188<LI><A HREF="#xterm_142">Patch #142 - 2000/8/18 - XFree86 4.0.1b</A>
189<LI><A HREF="#xterm_141">Patch #141 - 2000/8/14 - XFree86 4.0.1b</A>
190<LI><A HREF="#xterm_140">Patch #140 - 2000/7/23 - XFree86 4.0.1</A>
191<LI><A HREF="#xterm_139">Patch #139 - 2000/6/17 - XFree86 4.0d</A>
192<LI><A HREF="#xterm_138">Patch #138 - 2000/6/15 - XFree86 4.0c</A>
193<LI><A HREF="#xterm_137">Patch #137 - 2000/6/10 - XFree86 4.0b</A>
194<LI><A HREF="#xterm_136">Patch #136 - 2000/6/3 - XFree86 4.0b</A>
195<LI><A HREF="#xterm_135">Patch #135 - 2000/5/29 - XFree86 4.0b</A>
196<LI><A HREF="#xterm_134">Patch #134 - 2000/5/28 - XFree86 4.0b</A>
197<LI><A HREF="#xterm_133">Patch #133 - 2000/5/2 - XFree86 4.0a</A>
198<LI><A HREF="#xterm_132">Patch #132 - 2000/4/11 - XFree86 4.0a</A>
199<LI><A HREF="#xterm_131">Patch #131 - 2000/3/3 - XFree86 3.9.18b</A>
200<LI><A HREF="#xterm_130">Patch #130 - 2000/3/1 - XFree86 3.9.18a</A>
201<LI><A HREF="#xterm_129">Patch #129 - 2000/2/26 - XFree86 3.9.18a</A>
202<LI><A HREF="#xterm_128">Patch #128 - 2000/2/17 - XFree86 3.9.18</A>
203<LI><A HREF="#xterm_127">Patch #127 - 2000/2/12 - XFree86 3.9.17e</A>
204<LI><A HREF="#xterm_126">Patch #126 - 2000/2/8 - XFree86 3.9.17c</A>
205<LI><A HREF="#xterm_125">Patch #125 - 2000/1/31 - XFree86 3.9.17c</A>
206<LI><A HREF="#xterm_124">Patch #124 - 2000/1/27 - XFree86 3.9.17b</A>
207<LI><A HREF="#xterm_123">Patch #123 - 2000/1/22 - XFree86 3.9.17a</A>
208<LI><A HREF="#xterm_122">Patch #122 - 1999/12/28 - XFree86 3.9.16f</A>
209<LI><A HREF="#xterm_121">Patch #121 - 1999/11/14 - XFree86 3.9.16c</A>
210<LI><A HREF="#xterm_120">Patch #120 - 1999/10/28 - XFree86 3.9.16c</A>
211<LI><A HREF="#xterm_119">Patch #119 - 1999/10/16 - XFree86 3.9.16c</A>
212<LI><A HREF="#xterm_118">Patch #118 - 1999/10/5 - XFree86 3.9.16b</A>
213<LI><A HREF="#xterm_117">Patch #117 - 1999/9/29 - XFree86 3.9.16b</A>
214<LI><A HREF="#xterm_116">Patch #116 - 1999/9/25 - XFree86 3.9.16a</A>
215<LI><A HREF="#xterm_115">Patch #115 - 1999/9/18 - XFree86 3.9.16a</A>
216<LI><A HREF="#xterm_114">Patch #114 - 1999/9/15 - XFree86 3.9.16</A>
217<LI><A HREF="#xterm_113">Patch #113 - 1999/8/15 - XFree86 3.9.15b</A>
218<LI><A HREF="#xterm_112">Patch #112 - 1999/7/17 - XFree86 3.9Pw</A>
219<LI><A HREF="#xterm_111">Patch #111 - 1999/7/10 - XFree86 3.9Pw</A>
220<LI><A HREF="#xterm_110">Patch #110 - 1999/6/29 - XFree86 3.9Pu</A>
221<LI><A HREF="#xterm_109">Patch #109 - 1999/6/23 - XFree86 3.9Pt</A>
222<LI><A HREF="#xterm_108">Patch #108 - 1999/6/19 - XFree86 3.9Ps</A>
223<LI><A HREF="#xterm_107">Patch #107 - 1999/6/12 - XFree86 3.9Pq</A>
224<LI><A HREF="#xterm_106">Patch #106 - 1999/6/9 - XFree86 3.9Pq</A>
225<LI><A HREF="#xterm_105">Patch #105 - 1999/6/5 - XFree86 3.9Pp</A>
226<LI><A HREF="#xterm_104">Patch #104 - 1999/5/30 - XFree86 3.9Pn</A>
227<LI><A HREF="#xterm_103">Patch #103 - 1999/5/14 - XFree86 3.9Pm</A>
228<LI><A HREF="#xterm_102">Patch #102 - 1999/5/12 - XFree86 3.9Pm</A>
229<LI><A HREF="#xterm_101">Patch #101 - 1999/5/10 - XFree86 3.9Pm</A>
230<LI><A HREF="#xterm_100">Patch #100 - 1999/5/3 - XFree86 3.9Pl</A>
231<LI><A HREF="#xterm_99">Patch #99 - 1999/5/2 - XFree86 3.9Pk</A>
232<LI><A HREF="#xterm_98">Patch #98 - 1999/4/26 - XFree86 3.9Pk</A>
233<LI><A HREF="#xterm_97">Patch #97 - 1999/4/25 - XFree86 3.9Pk</A>
234<LI><A HREF="#xterm_96">Patch #96 - 1999/4/19 - XFree86 3.9Pj</A>
235<LI><A HREF="#xterm_95">Patch #95 - 1999/4/5 - XFree86 3.9Ph</A>
236<LI><A HREF="#xterm_94">Patch #94 - 1999/3/27 - XFree86 3.9Pf</A>
237<LI><A HREF="#xterm_93">Patch #93 - 1999/3/14 - XFree86 3.9Pd</A>
238<LI><A HREF="#xterm_92">Patch #92 - 1999/2/5 - XFree86 3.9Nz</A>
239<LI><A HREF="#xterm_91">Patch #91 - 1999/1/21 - XFree86 3.9Nw</A>
240<LI><A HREF="#xterm_90">Patch #90 - 1998/12/13 - XFree86 3.9Nq</A>
241<LI><A HREF="#xterm_89">Patch #89 - 1998/11/20 - XFree86 3.9Nm</A>
242<LI><A HREF="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk and 3.3.2h</A>
243<LI><A HREF="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj and 3.3.2f</A>
244<LI><A HREF="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj and 3.3.2e</A>
245<LI><A HREF="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj and 3.3.2e</A>
246<LI><A HREF="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni and 3.3.2e</A>
247<LI><A HREF="#sync_83">Resync #83 - 1998/10/7 - XFree86 3.3.2e</A>
248<LI><A HREF="#xterm_83">Patch #83 - 1998/8/25 - XFree86 3.9Nb</A>
249<LI><A HREF="#xterm_82">Patch #82 - 1998/7/15 - XFree86 3.9Aj</A>
250<LI><A HREF="#xterm_81">Patch #81 - 1998/7/14 - XFree86 3.9Aj</A>
251<LI><A HREF="#xterm_80">Patch #80 - 1998/6/29 - XFree86 3.9Ai</A>
252<LI><A HREF="#xterm_79">Patch #79 - 1998/6/28 - XFree86 3.9Ai</A>
253<LI><A HREF="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah and 3.3.2</A>
254<LI><A HREF="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah and 3.3.2</A>
255<LI><A HREF="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah and 3.3.2</A>
256<LI><A HREF="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah and 3.3.2</A>
257<LI><A HREF="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag and 3.3.2</A>
258<LI><A HREF="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag and 3.3.2</A>
259<LI><A HREF="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag and 3.3.2</A>
260<LI><A HREF="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag and 3.3.2</A>
261<LI><A HREF="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af and 3.3.2</A>
262<LI><A HREF="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad and 3.3.2</A>
263<LI><A HREF="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad and 3.3.1z</A>
264<LI><A HREF="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad and 3.3.1e</A>
265<LI><A HREF="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad and 3.3.1d</A>
266<LI><A HREF="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad and 3.3.1c</A>
267<LI><A HREF="#xterm_64">Patch #64 - 1998/2/8 - XFree86 3.9Ad</A>
268<LI><A HREF="#xterm_63">Patch #63 - 1998/2/5 - XFree86 3.9Ad</A>
269<LI><A HREF="#xterm_62">Patch #62 - 1998/1/23 - XFree86 3.9Ac</A>
270<LI><A HREF="#xterm_61">Patch #61 - 1998/1/17 - XFree86 3.9Ac</A>
271<LI><A HREF="#xterm_60">Patch #60 - 1998/1/10 - XFree86 3.9Ab</A>
272<LI><A HREF="#xterm_59">Patch #59 - 1998/1/5 - XFree86 3.9Ab</A>
273<LI><A HREF="#xterm_58">Patch #58 - 1998/1/3 - XFree86 3.9Ab</A>
274<LI><A HREF="#xterm_57">Patch #57 - 1997/12/26 - XFree86 3.9Aa</A>
275<LI><A HREF="#xterm_56">Patch #56 - 1997/11/28 - XFree86 3.9x</A>
276<LI><A HREF="#xterm_55">Patch #55 - 1997/11/25 - XFree86 3.9x</A>
277<LI><A HREF="#xterm_54">Patch #54 - 1997/10/17 - XFree86 3.9s</A>
278<LI><A HREF="#xterm_53">Patch #53 - 1997/10/12 - XFree86 3.9r</A>
279<LI><A HREF="#xterm_52">Patch #52 - 1997/9/29 - XFree86 3.9q</A>
280<LI><A HREF="#xterm_51">Patch #51 - 1997/9/15 - XFree86 3.9p</A>
281<LI><A HREF="#xterm_50">Patch #50 - 1997/8/22 - XFree86 3.9m</A>
282<LI><A HREF="#xterm_49">Patch #49 - 1997/8/10 - XFree86 3.9k</A>
283<LI><A HREF="#xterm_48">Patch #48 - 1997/7/26 - XFree86 3.9j</A>
284<LI><A HREF="#xterm_47">Patch #47 - 1997/7/13 - XFree86 3.9i</A>
285<LI><A HREF="#xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</A>
286<LI><A HREF="#xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</A>
287<LI><A HREF="#xterm_44">Patch #44 - 1997/6/22 - XFree86 3.9g</A>
288<LI><A HREF="#xterm_43">Patch #43 - 1997/6/10 - XFree86 3.9d</A>
289<LI><A HREF="#xterm_42">Patch #42 - 1997/6/8 - XFree86 3.2Xl</A>
290<LI><A HREF="#xterm_41">Patch #41 - 1997/5/28 - XFree86 3.2Xl</A>
291<LI><A HREF="#xterm_40">Patch #40 - 1997/5/26 - XFree86 3.2Xl</A>
292<LI><A HREF="#xterm_39">Patch #39 - 1997/5/24 - XFree86 3.2Xl</A>
293<LI><A HREF="#xterm_38">Patch #38 - 1997/5/22 - XFree86 3.2Xh</A>
294<LI><A HREF="#xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</A>
295<LI><A HREF="#xterm_36">Patch #36 - 1997/1/16 - XFree86 3.2r</A>
296<LI><A HREF="#xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</A>
297<LI><A HREF="#xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</A>
298<LI><A HREF="#xterm_33">Patch #33 - 1996/11/24 - XFree86 3.2</A>
299<LI><A HREF="#xterm_32">Patch #32 - 1996/11/21 - XFree86 3.2</A>
300<LI><A HREF="#xterm_31">Patch #31 - 1996/11/16 - XFree86 3.2</A>
301<LI><A HREF="#xterm_30">Patch #30 - 1996/11/16 - XFree86 3.2</A>
302<LI><A HREF="#xterm_29">Patch #29 - 1996/9/15 - XFree86 3.1.2Gb</A>
303<LI><A HREF="#xterm_28">Patch #28 - 1996/8/31 - XFree86 3.1.2F</A>
304<LI><A HREF="#xterm_27">Patch #27 - 1996/8/21 - XFree86 3.1.2Ek</A>
305<LI><A HREF="#xterm_26">Patch #26 - 1996/8/20 - XFree86 3.1.2Ei</A>
306<LI><A HREF="#xterm_25">Patch #25 - 1996/8/18 - XFree86 3.1.2Ei</A>
307<LI><A HREF="#xterm_24">Patch #24 - 1996/8/11 - XFree86 3.1.2Ee</A>
308<LI><A HREF="#xterm_23">Patch #23 - 1996/7/31 - XFree86 3.1.2Ec</A>
309<LI><A HREF="#xterm_22">Patch #22 - 1996/7/26 - XFree86 3.1.2Ec</A>
310<LI><A HREF="#xterm_21">Patch #21 - 1996/7/24 - XFree86 3.1.2Ec</A>
311<LI><A HREF="#xterm_20">Patch #20 - 1996/7/24 - XFree86 3.1.2Ec</A>
312<LI><A HREF="#xterm_19">Patch #19 - 1996/7/21 - XFree86 3.1.2Ec</A>
313<LI><A HREF="#xterm_18">Patch #18 - 1996/7/18 - XFree86 3.1.2Ec</A>
314<LI><A HREF="#xterm_17">Patch #17 - 1996/7/2 - XFree86 3.1.2Eb</A>
315<LI><A HREF="#xterm_16">Patch #16 - 1996/6/25 - XFree86 3.1.2Ea</A>
316<LI><A HREF="#xterm_15">Patch #15 - 1996/5/29 - XFree86 3.1.2E</A>
317<LI><A HREF="#xterm_14">Patch #14 - 1996/5/12 - XFree86 3.1.2Dj</A>
318<LI><A HREF="#xterm_13">Patch #13 - 1996/4/23 - XFree86 3.1.2Df</A>
319<LI><A HREF="#xterm_12">Patch #12 - 1996/3/16 - XFree86 3.1.2Dc</A>
320<LI><A HREF="#xterm_11">Patch #11 - 1996/3/5 - XFree86 3.1.2Db</A>
321<LI><A HREF="#xterm_10">Patch #10 - 1996/2/14 - XFree86 3.1.2Cd</A>
322<LI><A HREF="#xterm_09">Patch #9 - 1996/2/10 - XFree86 3.1.2Cb</A>
323<LI><A HREF="#xterm_08">Patch #8 - 1996/2/9 - XFree86 3.1.2Cb</A>
324<LI><A HREF="#xterm_07">Patch #7 - 1996/1/28 - XFree86 3.1.2n</A>
325<LI><A HREF="#xterm_06">Patch #6 - 1996/1/8</A>
326<LI><A HREF="#xterm_05">Patch #5 - 1996/1/7</A>
327<LI><A HREF="#xterm_04">Patch #4 - 1996/1/7</A>
328<LI><A HREF="#xterm_03">Patch #3 - 1996/1/7</A>
329<LI><A HREF="#xterm_02">Patch #2 - 1996/1/7</A>
330<LI><A HREF="#xterm_01">Patch #1 - 1996/1/6</A>
331</UL>
332
333<H1><A NAME="xterm_271">Patch #271 - 2011/07/14</A></H1>
334<ul>
335	<li>omit permissions adjustments to pty on exit except for
336	    pre-Unix98 ptys, since modern implementations handle this
337	    (report by Sean C Farley).
338
339	<li>modify logic for switching fonts between UTF-8 and non-UTF-8
340	    encoding to not merge the derivable bold-, wide- and widebold
341	    values from the VT100 fonts.  Also suppress warning when not
342	    using UTF-8 fonts if wide- and widebold-fonts cannot be derived
343	    or otherwise loaded (report by Werner Scheinast).
344
345	<li>modify menu-creation to suppress entries which will never be used
346	    in the current configuration, rather than simply disabling them.
347
348	<li>add resource <code>printModeImmediate</code> and menu item to
349	    allow print of screen plus saved lines to a file.
350
351	<li>add menu item to allow runtime enable/disable of the
352	    <code>printFileOnXError</code> feature.
353
354	<li>append a timestamp to filename used in
355	    <code>printFileOnXError</code> feature,
356	    and restrict its permissions
357	    (request by Vincent Lefevre).
358
359	<li>add a check when cancelling cursor-blinking, in case the cursor
360	    is blinked off. Fix so that the cursor is repainted without
361	    waiting for other events, e.g., keypress (report by Ailin Nemui).
362
363	<li>add configure <code>--with-app-class</code> option, to simplify
364	    building "xterm-dev" packages with filenames that do not conflict
365	    with conventional "xterm" packages.
366
367	<li>corrected logic flow for DECSCL, which prevented the updated
368	    operating level from being reported via DECRQSS (report by
369	    Ailin Nemui).
370
371	<li>corrected default for <code>brokenStringTerm</code> resource to
372	    match manpage.
373
374	<li>add vttests/dynamic.pl
375
376	<li>add runtime check for locale not supported by X libraries, and
377	    fallback to XA_STRING in this case (request by Bryan Henderson).
378
379	<li>fix a special case in configure script after no FreeType libraries
380	    are found.  The script was proceeding to check for a usable
381	    configuration.
382
383	<li>add <code>xterm+tmux</code> building block to terminfo (adapted
384	    from changes proposed by Ailin Nemui and Nicholas Marriott).
385
386	<li>improve discussion of <code>faceName</code> resource in manpage
387	    (adapted from suggestions by Jens Schweikhardt).
388
389	<li>correct mapping of shifted up/down cursor-keys in termcap
390	    function-keys mode, i.e., resource <code>tcapFunctionKeys</code>
391	    (patch by Gertjan Halkes).
392
393	<li>update AIX case in <code>CF_XOPEN_SOURCE</code> configure macro to
394	    add release 7.x.
395
396	<li>modify ifdef's in <code>xterm_io.h</code> for <code>__hpux</code>
397	    to force that to use the hacked SYSV support in that file.
398	    This fixes a problem with a non-blocking socket call (patch
399	    by Paul Lampert).
400
401	<li>improve filtering of desktop category scanning, to exclude XFCE.
402
403	<li>modify configure script to work with systems that have both
404	    ncurses (or other terminfo) as well as a real termcap library,
405	    e.g., Slackware (report by Alan Watts).
406
407	<li>modify configure script to work around special case where user's
408	    environment adds compiler flags to the <code>CC</code> variable
409	    (prompted by report by Paul Lampert).
410
411	<li>amend change for Debian #110226 so that "-h" or "-v" options cause
412	    an exit, rather than simply printing to stdout while the window is
413	    displayed (Debian #629358).
414
415	<li>add response for <code>DECRQSS</code> which gives the setting
416	    for <code>DECSCUSR</code>.
417
418	<li>modify AllocateTermColor() to handle
419	    <code>XtDefaultForeground</code> and
420	    <code>XtDefaultBackground</code>,
421	    which are not recognized by <code>XParseColor</code>.
422	    For example, this fixes the use of OSC&nbsp;112
423	    when no explicit cursor color was set (report by Ailin Nemui).
424
425	<li>handle special-case of <code>KeyPress</code> translated to
426	    <code>popup-menu</code> action (Ubuntu #756273).
427</ul>
428
429<H1><A NAME="xterm_270">Patch #270 - 2011/04/26</A></H1>
430<ul>
431	<li>build-fix, e.g., for using <code>imake</code> on platforms which
432	    use the termcap library.
433
434	<li>modify <code>utf8</code> resource to accept a name.
435
436	<li>mention default for <code>fontWarnings</code> in manpage
437	    (report by Werner Scheinast).
438
439	<li>split "UTF-8" menu entry into "UTF-8 Encoding" and "UTF-8 Fonts"
440	    (prompted by discussion with Werner Scheinast).
441
442	<li>gray-out font-menu entries when a font fails to load, e.g.,
443	    a bitmap font is not installed.
444
445	<li>improve behavior when there is no app-defaults file:
446	    <ul>
447	    <li>set the <code>toolBar</code> resource to false
448	    <li>gray-out the font menu entries where no resource is found.
449	    </ul>
450
451	<li>add configure option <code>--with-desktop-category</code>
452	    to allow customization of the ".desktop" files.
453
454	<li>build-fix for the <code>install-desktop</code> makefile-rule,
455	    when the source/build directories differ
456	    (patch by Lo&#239;c Minier).
457
458	<li>add menu entry and corresponding resource which can be used to
459	    suppress all bold-fonts (discussion with Jan Engelhardt).
460
461	<li>make internal line-size value consistent with allocated sizes of
462	    character and related arrays to ensure that bulk copying of line
463	    data, e.g., in scrolling, accounts for the padding used for pointer
464	    alignment (adapted from patch by Rajesh Mandalemula, also reported
465	    by Ali Bahar).
466
467	<li>widen ifdef for screen-resizing logic
468	    from 
469	    <a href="#xterm_176">patch #176</a> changes
470	    to send
471	    <code>SIGWINCH</code> to process group to include any
472	    system supporting <code>ioctl(*,TIOCGPGRP,*)</code> 
473	    (prompted by linux-specific patch in OpenSUSE rpm package).
474
475	<li>add
476	    <code>printModeOnXError</code> and
477	    <code>printFileOnXError</code>
478	    resources, which allow the user to specify
479	    that xterm will write the contents of its screen to
480	    a file if it is exiting due to an X error
481	    (Debian #280457).
482
483	<li>restore logic that made reverse-video apply to the scrollbar's
484	    foreground/background, broken in 
485	    <a href="#xterm_158">patch #158</a> 
486	    (report by Bryan Ischo).
487
488	<li>amend some of the window operations parameter-checks added in
489	    <a href="#xterm_251">patch #251</a> for the push/pop title feature,
490	    to allow the parameters used for window resizing to be -1's, which
491	    makes the corresponding values ignored rather than using the
492	    window's maximum width/height (report by Noah Friedman).
493
494	<li>correct order of initialization for <code>translations</code> vs
495	    <code>fullscreen</code>
496	    resources to enable a special case which omits
497	    the Alt-Enter translation
498	    when <code>fullscreen</code> is disabled (Debian #612978).
499
500	<li>update config.guess, config.sub
501</ul>
502
503<H1><A NAME="xterm_269">Patch #269 - 2011/02/19</A></H1>
504<ul>
505	<li>build-fixes for <code>imake</code> (report by Heiko Berges).
506
507	<li>modify autoconf macro CF_PKG_CONFIG to work with cross-compile
508	    environments (patch by Thierry Reding).
509
510	<li>modify <code>MapToColorMode()</code> to favor bold over underline,
511	    matching the precedence used before
512	    <a href="#xterm_252">patch #252</a>
513	    (report/analysis by Nicolas George).
514
515	<li>add <code>omitTranslation</code> resource, which can be used to
516	    suppress the default translations for these features:
517	    <ul>
518	    <li>fullscreen
519	    <li>scroll-lock
520	    <li>shift-fonts
521	    <li>wheel-mouse
522	    </ul>
523
524	<li>make the fullscreen feature configurable (Debian #612978)
525	<ul>
526	    <li>add it to the configurable list
527		<code>disallowedWindowOps</code>.
528
529	    <li>add command-line option <code>-fullscreen</code> to allow the
530	        feature to be enabled at startup.
531
532	    <li>add resource <code>fullscreen</code> to control whether the
533	        feature is active or may be enabled.
534	</ul>
535
536	<li>modify <code>probe_netwm_fullscreen_capability</code> for 64-bit
537	    machines.  Contrary to <code>XGetWindowProperty</code> manpage,
538	    that function returns 32-bit data packed as <code>long</code>'s.
539
540	<li>eliminate copy of <code>name</code> resource, which was otherwise
541	    used only to give the terminal-description name for the tcap-query
542	    feature.  Use the actual <code>$TERM</code> value instead, as
543	    derived from <code>termName</code> resource, etc.
544
545	<li>eliminate an old inconsistency with error messages, some used the
546	    <code>-name</code> option, while others used <code>argv[0]</code>.
547	    The latter is now used consistently.
548
549	<li>improve configure check for rpath-hack, to improve builds on
550	    systems where gcc will not search /usr/local/lib, etc.
551
552	<li>build-fix for Xaw3d configuration (report by H Merijn Brand).
553
554	<li>update config.guess, config.sub
555</ul>
556
557<H1><A NAME="xterm_268">Patch #268 - 2011/02/10</A></H1>
558<ul>
559	<li>fix an inconsistency of the "Enable Reverse Video" checkbox in
560	    the VT Options menu.
561	    This also removes a special case
562	    added in <a href="#xterm_217">patch #217</a>
563	    which limited the effect of the <code>reverseVideo</code> resource
564	    (Debian #603808).
565
566	<li>amend decoding of misformed UTF-8 sequences to avoid absorbing
567	    valid characters as documented in Unicode 6.0 section 3.9
568	    (report by Keith Winstein).
569
570	<li>do not set urgency hint when window already has focus
571	    (patch by Dimitrios Christidis).
572
573	<li>amend extended mouse-coordinate mode from
574	    <a href="#xterm_262">patch #262</a> changes to include
575	    the <em>Cb</em> button-code, which also may be greater than 127
576	    (report by Ailin Nemui).
577
578	<li>ensure that underline-cursor is visible when an application happens
579	    to set the background color (report by Christian Weisgerber).
580
581	<li>add feature for
582	    <a href="http://www.davidsimmons.com/soft/xtermhacks/xterm-fullscreen.patch">full-screen toggling</a>
583	    using either Alt-Enter
584	    or a menu selection
585	    (integrated patch by Dave Simmons).
586
587	<li>add missing logic to handle reallocation of FIFO index for the
588	    "UTF-8" menu entry (report by David Holland, NetBSD #44344).
589	    
590	<li>add makefile rules <code>docs-ctlseqs</code>,
591	    <code>docs-xterm</code>, etc.
592
593	<li>correct typo in description of DECRPM in control sequences
594	    document (report by Ailin Nemui).
595</ul>
596
597<H1><A NAME="xterm_267">Patch #267 - 2010/11/20</A></H1>
598<ul>
599	<li>minor formatting changes to ctlseqs.ms to simplify a script which
600	    extracts the feature information.  See the results in
601<a href="http://invisible-island.net/xterm/xterm.faq.html#compare_versions">Comparing versions, by counting controls</a> in the xterm FAQ.
602
603	<li>add <code>docs-clean</code> makefile rule.
604
605	<li>add <code>copy-selection</code> action (request by 
606	    Timo Juhani Lindfors, Debian #588785).
607
608	<li>trim leading/trailing blanks from string used for "Selection"
609	    font-menu data.
610
611	<li>trim leading/trailing blanks from color resource values.
612
613	<li>configure script improvements:
614	<ul>
615	<li>add workaround for removal of X11 dependency from Xt's package
616	    file (report by Robert Hooker).
617
618	<li>add workaround for removal of fontconfig dependency from Xft's
619	    package file (report by Jeremy Huddleston).
620
621	<li>add workaround for removal of Xmu dependency from Xaw's package
622	    file (report by Jeremy Huddleston).
623
624	<li>improve workaround in <code>CF_X_TOOLKIT</code> macro,
625	    checking for other
626	    possible packages where Xt's dependencies may be given.
627
628	<li>prefer <code>${name:=value}</code> to <code>${name-value}</code>,
629	    since recent bash changes break legacy support for that feature.
630	</ul>
631</ul>
632
633<H1><A NAME="xterm_266">Patch #266 - 2010/10/24</A></H1>
634<ul>
635	<li>add rpm and dpkg scripts, for testing.
636
637	<li>more fixes for Debian #600707 (report by  Cyril Brulebois).
638</ul>
639
640<H1><A NAME="xterm_265">Patch #265 - 2010/10/22</A></H1>
641<ul>
642	<li>fix a regression in fontname logic from 
643	    <a href="#xterm_263">patch #263</a> changes
644	    (Debian #600707, reported by Vincent Lefevre).
645
646	<li>revert modification of any-event/any-button protocol from
647	    <a href="#xterm_263">patch #263</a> changes.
648	    It interferes with selection using a
649	    shifted mouse button (reports by Neil Bird, Bram Moolenaar).
650</ul>
651
652<H1><A NAME="xterm_264">Patch #264 - 2010/10/14</A></H1>
653<ul>
654	<li>replace a null-pointer check with check for empty string in
655	    <code>xtermOpenFont</code>,
656	    to eliminate a warning message from
657	    <a href="#xterm_263">patch #263</a> changes.
658
659	<li>build-fix for <a href="#xterm_263">patch #263</a> when toolbar
660	    is not configured
661	    (patch by Chris Clayton)
662	    (reports by Robby Workman,
663	    David Wood).
664</ul>
665
666<H1><A NAME="xterm_263">Patch #263 - 2010/10/13</A></H1>
667<ul>
668	<li>corrected initialization of "misc" resource values, to ensure that
669	    xterm has allocated a copy of strings which may not have been
670	    malloc'd by the X library (Debian #600129).
671
672	<li>modify handling of any-event/any-button mouse protocol; it
673	    now is active with any combination of key-modifiers.
674
675	<li>add debugging feature <code>showWrapMarks</code>, which marks
676	    lines which xterm knows are wrapped, showing where a double-click
677	    will select past the end of a line.
678
679	<li>build-fix to address change in include-guards for
680	    <code>Xlib.h</code>
681	    in ongoing Xorg edits (patch by Jeremy Huddleston).
682
683	<li>improve <code>pointerMode</code> by continuing to watch for motion
684	    events after mouse tracking is disabled if the pointer is hidden
685	    (Debian #594856).
686
687	<li>further extend initialization for active-icon font to check if
688	    the font was not loaded succesfully,
689	    to retry with <code>font1</code>,
690	    or as even (if TrueType fonts are used) to use a TrueType font.
691	    The retries are to help with cases as in
692	    <a href="#xterm_241">patch #241</a> where the bitmap fonts are
693	    not available.
694
695	<li>fix special case of active-icon used when TrueType font is
696	    specified for the xterm window,
697	    from <a href="#xterm_261">patch #261</a> change.
698	    In that case, the default font's size was used for layout of the
699	    active icon's window (Debian #591265).
700</ul>
701
702<H1><A NAME="xterm_262">Patch #262 - 2010/8/30</A></H1>
703<ul>
704	<li>fix a case where changing the cursor color via escape sequences
705	    did not immediately update the screen (report by Andreas Wagner).
706
707	<li>implement ANSI and DEC request-mode control sequences.  The
708	    latter includes the xterm-specific private modes such as the
709	    mouse mode.  The feature is ifdef'd with the rectangle operations
710	    since its decoding overlaps that feature.
711
712	<li>correct typo in ctlseqs.ms for response of OSC 21 (patch by
713	    Kevin Schoedel).
714
715	<li>improve discussion of mouse tracking in ctlseqs.ms
716
717	<li>increase an array limit used in reporting mouse events (report
718	    by Ryan Johnson).
719
720	<li>add extended mouse-coordinates mode, allowing up to 2015x2015
721	    windows, using UTF-8 encoding (patch by Ryan Johnson).
722
723	<li>modify manpage hyphens to conform with
724	    <a href="http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html">Debian</a>.
725</ul>
726
727<H1><A NAME="xterm_261">Patch #261 - 2010/6/28</A></H1>
728<ul>
729	<li>fix regression in <code>renderFont</code> logic, from
730	    <a href="#xterm_260">patch #260</a> changes
731	    (report by Joseph Quinsey).
732</ul>
733
734<H1><A NAME="xterm_260">Patch #260 - 2010/6/20</A></H1>
735<ul>
736	<li>modify <code>plink.sh</code> to work around problem linking to
737	    recent PCRE libraries.
738
739	<li>extend <code>renderFont</code> resource to allow deferred switch
740	    to TrueType fonts without affecting existing resource settings
741	    (Debian #585620).
742
743	<li>modify configure macro CF_X_TOOLKIT to work around omission of
744	    ICE library from ".pc" file (report by Miroslav Lichvar).
745
746	<li>change configure script default for <code>--enable-broken-st</code>
747	    i.e., the <code>brokenStringTerm</code> feature)
748	    to normally enable it.
749	    If the corresponding resource is enabled,
750	    this feature eliminates an apparent freeze of xterm
751	    when sending mis-encoded data to the screen (Debian #584801).
752
753	<li>document in manpage some actions which were overlooked:
754	    <ul>
755            <li>readline-button
756            <li>scroll-lock
757            <li>set-8-bit-control
758	    </ul>
759
760	<li>undo a change to limit-check in <code>ScrnRefresh</code>
761	    in <a href="#xterm_257">patch #257</a>,
762	    which broke <code>fastScroll</code> feature
763	    (Debian #584841).
764
765	<li>modify handling of
766	    <code>brokenLinuxOSC</code> and
767	    <code>brokenStringTerm</code>
768	    to also sound the bell.
769
770	<li>add control/D and control/Q to controls which will cause early
771	    exit from control string per <code>brokenStringTerm</code>
772	    resource.
773
774	<li>improve documentation of <code>brokenStringTerm</code> resource
775	    in manpage.
776</ul>
777
778<H1><A NAME="xterm_259">Patch #259 - 2010/6/5</A></H1>
779<ul>
780	<li>modify configure check for
781	    <a href="http://invisible-island.net/luit/">luit</a> to include new
782	    aliases for the program
783	    (<code>xterm-filter</code> and
784	    <code>bluit</code>).
785
786	<li>add workaround in <code>xtermClearLEDs()</code> to account for
787	    Xkb's override, making vttest's LED demo reset the scroll
788	    lock.
789
790	<li>filter out client-message events when deciding whether to hide
791	    cursor, e.g., when using SCIM
792	    (patch/report by anonymous user).
793
794	<li>improve description of <code>-bd</code> option in manpage
795	    (report by Guy Daniel Clotilde).
796
797	<li>modify configure checks for PCRE and other libraries to use
798	    <code>pkg-config</code>, if available.
799
800	<li>amend change from <a href="#xterm_252">patch #252</a>, to take
801	    <code>veryColorColors</code> resource into account when checking
802	    <code>colorBDMode</code> resource for TrueType fonts
803	    (report by anonymous user).
804
805	<li>add <code>vttests/query-fonts.pl</code> script for
806	    demonstrating the <code>OSC&nbsp;50</code> font query.
807
808	<li>improve manpage discussion of Scroll Lock feature.
809
810	<li>improve configure macros CF_GCC_VERSION and CF_GCC_WARNINGS.
811
812	<li>fix warnings for "clang --analyze".
813
814	<li>change default for <code>allowScrollLock</code> resource to
815	    <code>false</code>, noting that the supposedly unused key has
816	    been useful for various rebindings (Debian #580946).
817</ul>
818
819<H1><A NAME="xterm_258">Patch #258 - 2010/5/1</A></H1>
820<ul>
821	<li>add pointer-checks in <code>ScrnRefresh</code> to fix a case in
822	    rapid scrolling where an empty record is fetched from the
823	    scrollback FIFO.
824</ul>
825
826<H1><A NAME="xterm_257">Patch #257 - 2010/4/22</A></H1>
827<ul>
828	<li>correct ctlseqs.ms description of OSC 17 and OSC 19
829	    (patch by Emanuele Giaquinta).
830
831	<li>corrected logic for <code>menuLocale</code> resource;
832	    the <code>setlocale</code> function returns the original locale
833	    only when querying.
834
835	<li>improve filtering of translations resource, narrowing the scope
836	    of the <code>alwaysUseMods</code> to address only the translations
837	    that would cause a key to be sent to the host (report by Andrew
838	    Gaylard).
839
840	<li>change default value of <code>menuLocale</code> resource to "C",
841	    to work around
842	    longstanding <a href="http://invisible-island.net/xterm/xterm.faq.html#slow_menus">Xorg bug</a>.
843
844	<li>modify handling of <code>scrollKey</code> feature to ignore
845	    XON/XOFF keys.
846
847	<li>implement scroll-lock feature.
848
849	<li>revise memory allocation in UTF8toLatin1() to fix an out-of-bounds
850	    index (Mandriva #54531).
851
852	<li>compute value for first wide-character rather than assuming it is
853	    256, fixes problem with <code>-cjk_width</code> introduced in
854	    patches
855	    <a href="#xterm_242">242</a> and
856	    <a href="#xterm_249">249</a>
857	    (report by Thomas Wolff).
858
859	<li>improve configure script:
860	<ul>
861	    <li>corrected check for <code>_XOPEN_SOURCE</code> for OpenSolaris.
862
863	    <li>when possible, add rpath option for libraries in unusual places
864
865	    <li>add configure option <code>--disable-rpath-hack</code> to
866	        control whether the rpath option can be added.
867	</ul>
868
869	<li>modify <code>AllocateTermColor()</code> to separate initialization
870	    from control sequences,
871	    fixing problem from <a href="#xterm_254">patch #254</a> changes
872	    where enabling <code>allowSendEvents</code>
873	    resource prevents setting cursor color on command-line
874	    (Debian #572928). 
875
876	<li>amend logic from <a href="#xterm_185">patch #185</a> to not
877	    reallocate cell-array if processing <code>ESC&nbsp;%&nbsp;G</code>
878	    to switch from UTF-8 if already in ISO-8859-1 character set
879	    (report by Michael Koehne).
880
881	<li>fix to avoid calling <code>XmuInternStrings()</code> with zero
882	    count (report by Johan Bockg&#229;rd).
883
884	<li>fix build when --disable-ansi-color configure option is used.
885
886	<li>fix build when neither OPT_TCAP_QUERY or OPT_TCAP_FKEYS is defined
887	    (patch by Matthieu Herrb)
888</ul>
889
890<H1><A NAME="xterm_256">Patch #256 - 2010/3/6</A></H1>
891<ul>
892	<li>add TerminalEmulator to desktop category files.
893
894	<li>modify <code>sinstall.sh</code> to ignore the "." appended to
895	    permissions by selinux.
896
897	<li>change app-defaults organization, installing UXTerm-color
898	    and KOI8XTerm-color for consistent behavior regarding
899	    <code>customization:&nbsp;color</code> (prompted by discussion
900	    in Ubuntu #421261).
901
902	<li>fix typo in <code>minstall.sh</code> from
903	    <a href="#xterm_255">patch #255</a> changes,
904	    and add case for
905	    <code>/var/run</code> needed for full path of utmp
906	    (report by Julien Cristau).
907
908	<li>minor fix to xterm manpage, remove a comment stating that margin
909	    bell can be changed via the VT Options menu.  That was replaced in 
910	    <a href="#xterm_225">patch #225</a>
911
912	<li>add a "docs" rule to makefile.
913
914	<li>fix initialization of Atom used for <code>XkbBell</code> feature
915	    from <a href="#xterm_243">patch 243</a> changes.
916	    Unlike the other calls to <code>XInternAtom()</code>,
917	    in this case the flag telling X to create the Atom was unset
918	    (patch by Chris Adams).
919</ul>
920
921<H1><A NAME="xterm_255">Patch #255 - 2010/1/21</A></H1>
922<ul>
923	<li>rename <code>install.sh</code> to <code>install-sh</code> in case
924	    suffix-rules might interfere.
925
926	<li>extend range for <code>convertToUTF8</code> function to full
927	    31-bits, to use with printing, etc.
928
929	<li>improve manpage by checking for actual locations of
930	    utmp/wtmp files (Debian #562640).
931
932	<li>modify configure macro CF_XOPEN_SOURCE to remove -D's before
933	    adding the same name rather than relying on -U's, to reduce
934	    redefinition warnings for some platforms that have conflicting
935	    definitions in headers.
936
937	<li>correct logic used to switch to alternate screen using FIFO-lines
938	    configuration (Debian #565772).
939
940	<li>update config.guess, config.sub
941</ul>
942
943<H1><A NAME="xterm_254">Patch #254 - 2010/1/6</A></H1>
944<ul>
945	<li>add a configure-check to eliminate <code>install-ti</code>
946	    rule from Makefile when the system has no tic (terminfo compiler)
947	    program.  This lets one use the <code>install-full</code>
948	    rule more consistently.
949
950	<li>amend change to WriteText() function in 
951	    <a href="#xterm_252">patch #252</a> to take into account the
952	    <code>colorAttrMode</code> resource
953	    (report by Krzysztof Kotlenga).
954
955	<li>document <code>titleModes</code> resource in manpage, added in
956	    <a href="#xterm_252">patch #252</a>.
957
958	<li>modify tcap-query table entries for shifted up/down cursor keys
959	    to match ncurses convention.
960
961	<li>improve lookup of termcap-query data, allowing for duplicate
962	    keycodes versus missing entries.
963
964	<li>add control sequence which can be used to modify the terminal
965	    data used for the termcap-keyboard.
966
967	<li>improve portability of tcap-query feature, using terminfo functions
968	    in preference to termcap on systems having terminfo.
969
970	<li>improve font-setting/querying control (<code>OSC&nbsp;50</code>):
971	    <ul>
972	    <li>when TrueType font is selected, the TrueType
973		<code>faceName</code> will be set, rather than the bitmap font.
974	    <li>when TrueType font is selected, querying returns the name of
975	        the TrueType font.
976	    <li>querying a font recognizes the relative-font convention that
977	        setting a font could use.
978	    </ul>
979
980	<li>add menu-entry for allowColorOps.
981
982	<li>add new resources for fine-tuning menu entries:
983	    <code>allowColorOps</code>,
984	    <code>disallowedColorOps</code>,
985	    <code>disallowedFontOps</code> and
986	    <code>disallowedTcapOps</code>.
987
988	<li>correct logic for disabling the "TrueType Fonts" menu item; it was
989	    not ensuring that the <code>faceName</code> resource value was
990	    non-empty.
991
992	<li>implement VT520-style controls <code>DECSMBV</code> and
993	    <code>DECSWBV</code> for setting the margin- and warning-bell
994	    volume.
995
996	<li>fix a minor error from <a href="#xterm_243">patch #243</a> which
997	    made the zIconBeep feature use a minor-error tone rather than an
998	    informational tone.
999
1000	<li>add a null-pointer check for the case where <code>renderFont</code>
1001	    resource is true, but <code>faceName</code> resource is unset,
1002	    used in logic to strip "xft:" prefix from
1003	    <a href="#xterm_251">patch #251</a> changes
1004	    (patch by Michael Riepe).
1005
1006	<li>add special case to configure CF_XOPEN_SOURCE macro to use extensions
1007	    on Darwin (patch by Dennis Preiser).
1008
1009	<li>improve configure checks for regular expressions header and
1010	    library
1011
1012	<li>update config.guess, config.sub
1013</ul>
1014
1015<H1><A NAME="xterm_253">Patch #253 - 2009/12/10</A></H1>
1016<ul>
1017	<li>add a null-pointer check in <code>getPrinterFlags()</code>
1018	    per changes in <a href="#xterm_252">patch #252</a>.
1019
1020	<li>add a null-pointer check, needed in UTF-8 mode for Xft fonts after
1021	    changes in <a href="#xterm_252">patch #252</a> (patch by Alan
1022	    Coopersmith).
1023
1024	<li>correct size when clearing struct for tek4014 (patch by Jochen
1025	    Voss).
1026
1027	<li>parenthesize expression in <code>MoreRows</code> macro, fixing
1028	    a limit check added in <a href="#xterm_251">patch #251</a>
1029	    (Debian #560039).
1030</ul>
1031
1032<H1><A NAME="xterm_252">Patch #252 - 2009/12/7</A></H1>
1033<ul>
1034	<li>modify title-querying logic to support retrieval of titles encoded
1035	    using UTF-8.
1036
1037	<li>add new "title-modes" control sequence for controlling whether
1038	    window/icon titles can be set or queried using UTF-8, optionally
1039	    encoded in a hexadecimal string.
1040
1041	<li>use <code>mkdir&nbsp;-p</code> rather than <code>mkdirs.sh</code>
1042	    (prompted by discussion of mawk by Aleksey Cheusov).
1043
1044	<li>add appropriate copyright/license notices to the bulk of files
1045	    lacking same, and modify to use identical terms in others which
1046	    used different wording.  The main exceptions are the files
1047	    contributed by Markus Kuhn, who appears to prefer public domain
1048	    distribution, noting that I have modified/improved several of these
1049	    without changing the terms of distribution (request by Jari Aalto).
1050
1051	<li>add control sequences for resetting the "dynamic" colors to
1052	    their default values.
1053
1054	<li>add control sequences for resetting the "special" colors to
1055	    their default values.
1056
1057	<li>add control sequences for setting the "special" colors such as
1058	    <code>colorBD</code> (bold).
1059
1060	<li>add overlooked case for setting highlight foreground color with
1061	    the dynamic-colors control.
1062
1063	<li>add <code>OSC 104</code>, for resetting ANSI/16/88/256 colors to
1064	    default.
1065
1066	<li>reset ANSI/16/88/256 colors to default in soft/hard reset functions.
1067
1068	<li>strip "xft:" prefix from <code>faceName</code> and
1069	    <code>faceNameDoublesize</code> resource values,
1070
1071	<li>add <code>DECSCUSR</code> (discussion with Andy Koppe).
1072
1073	<li>add check/warning on failure to load font, to see if the name looks
1074	    like an Xft pattern rather than XLFD.  This can happen if someone
1075	    happens to modify their X resource settings for programs that read
1076	    data from xterm's namespace.
1077
1078	<li>modify handling of <code>print</code> and
1079	    <code>print-everything</code>
1080	    actions to allow the various printer flags to be overridden  by
1081	    supplying parameters.
1082
1083	<li>add resource <code>printerNewLine</code> (request by Ovidiu
1084	    Gheorghioiu).
1085
1086	<li>minor cleanup, finish using <code>TScreenOf()</code> and
1087	    <code>TekScreenOf()</code> macros introduced in 
1088	    <a href="#xterm_224">patch #224</a>.
1089
1090	<li>improve checks in ShowCursor/HideCursor to get the background
1091	    color, particularly when <code>highlightReverse</code> resource
1092	    is used (reports by Jan Engelhardt, Christian Weisgerber).
1093
1094	<li>correct <code>checkVeryBoldAttr</code> to omit comparison of
1095	    foreground color to special color values used for
1096	    <code>color&lt;XX&gt;</code> resources (report by Jan Engelhardt).
1097
1098	<li>make <code>colorBDMode</code> and <code>colorULMode</code>
1099	    resources work with TrueType configuration (report by Jan
1100	    Engelhardt).
1101</ul>
1102
1103<H1><A NAME="xterm_251">Patch #251 - 2009/11/11</A></H1>
1104<ul>
1105	<li>add window-ops controls to push/pop icon and/or window labels on
1106	    a stack.
1107
1108	<li>minor fixes to align termcap file with terminfo.
1109
1110	<li>add resource <code>disallowedWindowOps</code>, to allow fine-tuning
1111	    of features to suppress with the <code>allowWindowOps</code>
1112	    resource (prompted by discussion with Bram Moolenaar).
1113
1114	<li>add makefile rules for resize-manpage to pdf, etc.
1115
1116	<li>further improve limit-checks in select/paste (Mandriva #54531).
1117</ul>
1118
1119<H1><A NAME="xterm_250">Patch #250 - 2009/10/13</A></H1>
1120<ul>
1121	<li>add check and error-message for fonts that have no printable
1122	    values in the ISO-8859-1 range (Debian #542434).
1123
1124	<li>some compiler-warning cleanup, in particular workaround for
1125	    defective implementation of gcc's attribute warn_unused_result
1126	    (report by Bram Moolenaar).
1127
1128	<li>improve estimate of single-column width for packed TrueType
1129	    fonts by ignoring extents for codes 127 and 159.
1130
1131	<li>improve line-drawing for TrueType fonts which happen to have
1132	    defined glyphs which are <em>not</em> line-drawing in 0..31
1133	    by assuming they're not, and just checking the existence of
1134	    the Unicode codepoints.  This makes it more likely that the
1135	    user can override a misconfigured font using the "Line-Drawing
1136	    Characters" menu entry.
1137
1138	<li>limit minimum cell-width for packed font to maximum-advance
1139	    reported by Xft.  Some fonts are wider than that, even in the
1140	    Latin-1 range (Debian #550497).
1141
1142	<li>add list of direct-contributors in "THANKS" file.
1143
1144	<li>stylistic changes to this file to help scripted extraction of
1145	    list of contributors.
1146
1147	<li>correct off-by-one in <code>okPosition</code> fix from
1148	    <a href="#xterm_249">patch #249</a> limit-checks which
1149	    prevented double-click selection on the bottom line of the
1150	    screen (reports by Rajeev V. Pillai, Debian #550368).
1151
1152	<li>add <code>-q</code> option to
1153	    <code>vttest/256colors2.pl</code> and
1154	    <code>vttest/88colors2.pl</code>
1155	    to demonstrate bulk initialization of color palette.
1156
1157	<li>improve the workaround from patch #188 by enabling resources for
1158	    the 88-color model.
1159
1160	<li>document in xterm manpage the limited availability of resources
1161	    <code>color16</code> to <code>color255</code> as noted in
1162	    <a href="#xterm_188">patch #188</a> (Ubuntu #438850).
1163</ul>
1164
1165<H1><A NAME="xterm_249">Patch #249 - 2009/10/1</A></H1>
1166<ul>
1167	<li>change default for <code>allowWindowOps</code> resource to false.
1168	    <!-- on the other hand, gnome-terminal, pterm and rxvt-unicode
1169	        leave most of the related functionality enabled ;-) -->
1170
1171	<li>add limit-checks for result of visual_width() function,
1172	    needed from <a href="#xterm_242">patch #242</a> and
1173	    exposed by #244 changes (Debian #548321).
1174
1175	<li>improve limit-checks in select/paste.
1176
1177	<li>fix a remaining bug from 
1178	    <a href="#xterm_230">patch #230</a>
1179	    changes for displaying multi-column
1180	    characters in a proportional font (report by Chris Jones).
1181
1182	<li>add new resource forcePackedFont and menu entry "Packed Font" to
1183	    control whether to use the font's minimum (default) or maximum
1184	    width when those differ.  The workaround which xterm uses to
1185	    accommodate proportional fonts is not necessary with certain
1186	    fonts such as unifont which happen to store a mixture of
1187	    multicolumn glyphs (report by Chris Jones).
1188
1189	<li>fix an (old) bug which did not restart the timer for blinking text
1190	    if the only blinking text was temporarily scrolled out of view,
1191	    e.g., using the scrollbar.
1192
1193	<li>fix an (old) flaw in the delete-line operation where the text which
1194	    is scrolled into view while the display is scrolled up was not
1195	    repainted.
1196
1197	<li>improve delete-line and insert-line operations, retaining selection
1198	    when the selection does not intersect the deleted/inserted lines.
1199
1200	<li>fix an (old) off-by-one error when an application cleared above the
1201	    cursor position while the display was scrolled up, that would leave
1202	    an extra line of text uncleared.
1203
1204	<li>fix a similar problem where the double-size attribute would not be
1205	    reset when clearing the screen while the display was scrolled up.
1206
1207	<li>fix an indexing error which would occur if an application cleared
1208	    a line while the display was scrolled up and was also in UTF-8 mode
1209	    (Redhat #524503).
1210	    The error was from <a href="#xterm_228">patch #228</a>
1211	    but more visible after
1212	    changes from <a href="#xterm_244">patch #244</a>.
1213</ul>
1214
1215<H1><A NAME="xterm_248">Patch #248 - 2009/9/11</A></H1>
1216<ul>
1217	<li>fix an overlooked adjustment for selecting double-width characters
1218	    in the narrow-character configuration.
1219
1220	<li>eliminate uses of <code>XTERM_CELL</code> and
1221	    <code>XTERM_CELLC</code> where an appropriate <code>LineData</code>
1222	    pointer is available.
1223
1224	<li>correct expression in <code>okScrnRow</code> macro, making
1225	    selections give the length of lines below the visible screen
1226	    (report by Stuart Henderson).
1227
1228	<li>correct logic used to improve performance of missing-glyph check,
1229	    which did not handle line-drawing characters (Debian #545220).
1230</ul>
1231
1232<H1><A NAME="xterm_247">Patch #247 - 2009/8/30</A></H1>
1233<ul>
1234	<li>add ifdef's and check for openpty() on DragonFly (patch by
1235	    Alex Hornung).
1236
1237	<li>correct calculation for size of line's data block, which was
1238	    sometimes off-by-one when configured
1239	    using <code>--enable-16bit-chars</code>
1240	    (report by H Merijn Brand).
1241
1242	<li>fix indexing error in print-everything feature from
1243	    <a href="#xterm_246">patch #246</a> (patch by Ovidiu Gheorghioiu).
1244</ul>
1245
1246<H1><A NAME="xterm_246">Patch #246 - 2009/8/16</A></H1>
1247<ul>
1248	<li>remove obsolete logic for saving/restoring wrapping flags, which
1249	    did not work on 64-bit platform.  Wrapping flags (stored in the
1250	    line-index) are now copied with line-data (Debian #541160).
1251
1252	<li>modify comments in app-defaults files to avoid problem with
1253	    C preprocessor used by <code>xrdb</code> (Debian #541603).
1254
1255	<li>restore special case in <code>makeColorPair</code>,
1256	    needed for <code>colorBDMode</code> resource (Debian #541089).
1257
1258	<li>correct <code>SetLineFlags()</code> macro, broken in
1259	    <a href="#xterm_244">patch #244</a>
1260	    when recoding to avoid gcc-specific bitfields (Debian #541236).
1261
1262	<li>modify initialization of screen buffers to ensure that pointers
1263	    align to int-boundaries.
1264	    This fixes a problem introduced in
1265	    <a href="#xterm_244">patch #244</a>
1266	    where the color- and character-arrays
1267	    (stored after the video-attributes in each row)
1268	    might be misaligned (report by Rajeev V Pillai).
1269
1270	<li>add limit-check in <code>ScrnRefresh</code> for handling
1271	    saved-lines from the circular buffer which are repainted on a
1272	    screen whose width has increased.  To improve performance, circular
1273	    buffer entries are not resized (report by Rajeev V Pillai).
1274
1275	<li>correct type for <code>CellColor</code> (a late change in
1276	    <a href="#xterm_244">patch #244</a>
1277	    to avoid gcc-specifc enums made that unsigned
1278	    rather than unsigned short, for the 256-color option).
1279
1280	<li>fix typo in configure option --enable-16bit-chars (report by
1281	    Rajeev V. Pillai).
1282</ul>
1283
1284<H1><A NAME="xterm_245">Patch #245 - 2009/8/12</A></H1>
1285<ul>
1286	<li>correct a special case in saving FIFO-lines from
1287	    <a href="#xterm_244">patch #244</a>.
1288	    If the screen was shrunk, xterm used the wrong amount for copying
1289	    to FIFO-lines, and then used this amount to adjust the current
1290	    row on the screen.  That was both a visible defect (Debian #541109)
1291	    as well as a potential addressing error (Debian #541132, #541160,
1292	    and #541236).
1293
1294	<li>add clarification in xterm manual about the
1295	    various <code>allow<em>XXX</em>Ops</code> resources, which
1296	    are disabled when the 
1297	    <code>allowSendEvents</code> resource is active (patch by
1298	    Julien Cristau, Debian #531597).
1299</ul>
1300
1301<H1><A NAME="xterm_244">Patch #244 - 2009/8/9</A></H1>
1302<ul>
1303	<li>refactored storage of saved-lines, providing a configure option
1304	    to manage them as a FIFO (actually a circular buffer), improving
1305	    performance.
1306	    Added configure option <code>--enable-fifo-lines</code> to
1307	    enable/disable the new feature (it is enabled by default).
1308
1309	<li>added <code>fastScroll</code> resource, to amuse
1310	    people who measure terminal emulator performance by
1311	    <code>cat</code>'ing large files to the screen.
1312
1313	<li>modify check in <code>readPtyData</code> from return values
1314	    to provide exit on zero-bytes read from pty for FreeBSD, or
1315	    eliminate high-CPU in "xterm-hold" processing
1316	    (discussion with Ulrich Spoerlein, FreeBSD ports/136686).
1317	    The check was originally modified to combine negative/zero
1318	    values in XFree86-3.1.2E, 1996/05/06.
1319
1320	<li>add configure option <code>--enable-16bit-chars</code> to
1321	    provide wide-characters with 16-bits (rather than the default
1322	    32-bits).
1323
1324	<li>add <code>retryInputMethod</code> resource to allow configuring
1325	    out the retries xterm uses to connect to non-responsive XIM
1326	    server, to work around defective X configurations as noted in
1327	    <a href="http://mail-index.netbsd.org/tech-x11/2009/06/07/msg000511.html">NetBSD mailing list</a>.
1328
1329	<li>make regular-expression selection work for VT100 double-sized
1330	    characters.
1331
1332	<li>improve layout when drawing missing characters in a proportional
1333	    font, e.g., as boxes, to take into account whether they are
1334	    double-width (report by Guilbert Stabilo on comp.unix.shell).
1335
1336	<li>add capability for keypad-center (kb2/KA2) to termcap entry for
1337	    xterm-new, as well as xterm-8bit, xterm-sun and xterm-vt220
1338	    (FreeBSD conf/136336).
1339
1340	<li>change default for <code>keepSelection</code> resource to true
1341	    (prompted by discussion with David Muir Sharnoff).
1342
1343	<li>remove a limit-check in ptydata.c, allowing Unicode values past
1344	    64k to be displayed using TrueType fonts (Debian #458432).
1345
1346	<li>remove a vt52-specific ifdef to allow mapping F1-F4 to PF1-PF4
1347	    when vt52 support is not compiled (report by Olaf 'Rhialto'
1348	    Seibert).
1349
1350	<li>save/restore line-wrapping flags when converting from ISO-8859-1
1351	    encoding to UTF-8 encoding, as well as when resizing screen.
1352
1353	<li>remove extra adjustment of position in fix for Debian #418324.
1354
1355	<li>modify default check for <code>mkWidth</code> resource to check
1356	    for line-drawing characters, which are categorized as double-width
1357	    in Solaris 10 (report by Sebastian Kayser).
1358
1359	<li>add "print-everything" action (patch by Ovidiu Gheorghioiu).
1360
1361	<li>start refactoring scrollback data using new getLineData() function.
1362
1363	<li>demote recent change to Debian #252873 fix to experimental,
1364	    ifdef'd out as <code>EXP_BOGUS_FG</code> (Debian #522141).
1365
1366	<li>work around groff mapping of ASCII quotes using macros (requested
1367	    by Reuben Thomas based on Colin Watson advice, fixes Debian #378700).
1368
1369	<li>correct symbol used for default of <code>allowWindowOps</code>
1370	    which was <code>DEF_ALLOW_FONT</code>
1371	    rather than <code>DEF_ALLOW_WINDOW</code>
1372	    (report by Matthieu Herrb).
1373
1374	<li>amend fix for tek4014 from <a href="#xterm_243">patch #243</a>
1375	    to make it only apply to the Tek Options menu.
1376</ul>
1377
1378<H1><A NAME="xterm_243">Patch #243 - 2009/3/28</A></H1>
1379<ul>
1380	<li>revert change to default for <code>allowTcapOps</code> (request by
1381	    Bram Moolenaar).
1382
1383	<li>reallocate result returned by <code>xtermEnvLocale()</code> to
1384	    avoid reference to freed memory after handling
1385	    <code>menuLocale</code> resource.
1386
1387	<li>fix an old (X11R5) bug in tek4014 for switching fontsizes.
1388
1389	<li>add resource <code>defaultString</code> to make configurable the
1390	    use of "#" when pastes of UTF-8 text fail due to limitations in
1391	    the current locale settings.
1392
1393	<li>make the set of selection target Atom's configurable by two new
1394	    resources <code>eightBitSelectTypes</code> and
1395	    <code>utf8SelectTypes</code>, e.g., to use the <code>TEXT</code>
1396	    Atom in preference to <code>UTF8_STRING</code> (discussion with
1397	    Stanislav Sedov regarding koi8rxterm and the FreeBSD port).
1398
1399	<li>modify handling of <code>TARGETS</code> Atom by making it return
1400	    exactly the set of targets as those which xterm is currently
1401	    providing.
1402
1403	<li>set <code>MANPAGER</code> and <code>PAGER</code> explicitly to
1404	    /bin/cat in <code>minstall.sh</code> to work around /etc/man.conf's
1405	    with those variables already set
1406	    (report by &#1052;&#1072;&#1088;&#1100;&#1103;&#1089;&#1080;&#1085;
1407	    &#1057;&#1077;&#1084;&#1105;&#1085;).
1408	<li>improve error-checking of tcap-query parser.
1409
1410	<li>add check for keyboard <code>tcap</code>), which ensures that
1411	    terminal descriptions containing the same string for
1412	    shifted/unshifted keys will be seen by tcap-query as only the
1413	    unshifted key.  (This would only happen with an incorrect terminal
1414	    description).
1415
1416	<li>fix conversion for input event-state to modifier-parameter which
1417	    made tcap-query feature not work with <code>tcapFunctionKeys</code>
1418	    (keyboard type <code>tcap</code>).
1419
1420	<li>add "DEF_ALLOW_<em>XXX</em>" definitions to main.h to allow
1421	    overriding the default compiled-in values for
1422	    "allow<em>xxx</em>" resources.
1423
1424	<li>remove check on bell-percentage added in
1425	    <a href="#xterm_242">patch #242</a>,
1426	    which disallowed zero/negative values (Redhat Bugzilla #487829).
1427</ul>
1428
1429<H1><A NAME="xterm_242">Patch #242 - 2009/2/15</A></H1>
1430<ul>
1431	<li>fix configure check for <code>XkbBell</code> and provide
1432	    appropriate parameter for it.
1433
1434	<li>fix a caching problem with double-size fonts versus reverse video
1435	    that could cause core dump.
1436
1437	<li>repair double-size fonts from workaround
1438	    used in <a href="#xterm_240">patch #240</a>.
1439
1440	<li>add new section to the VT Fonts menu which allows enabling or
1441	    disabling the font, termcap (tcap-query), title and window
1442	    operations.
1443
1444	<li>add <code>fontWarnings</code> resource, to control whether to show
1445	    warnings on failure to load a font.
1446
1447	<li>improve warnings for unloadable fonts introduced in
1448	    <a href="#xterm_240">patch #240</a>
1449	    by limiting those to the cases where a font would be specified
1450	    directly by a resource setting rather than a derived fontname.
1451
1452	<li>further amend fix for Debian #252873
1453	    from <a href="#xterm_197">patch #197</a> to
1454	    treat a blank cell which does not have both foreground and background
1455	    colored as a non-colored cell.
1456	    This improves a special case where the cursor is on a blank
1457	    cell which had foreground color scrolled in
1458	    (report by Miroslav Lichvar).
1459	    <p>
1460	    Also add the same logic when hiding cursor, so the outline matches
1461	    the in-focus cursor.
1462
1463	<li>modify internals to reduce places PAIRED_CHARS() is used, making
1464	    WriteText() and ScrnWriteText() accept IChar array, as well as
1465	    providing a wrapper for drawXtermText().
1466
1467	<li>change default XIM font from "*" to "fixed" to improve startup
1468	    time in zh_CN.UTF-8 locale (Mike Fabian, SuSE Bugzilla #464930).
1469
1470	<li>typo in #240 log (Slava Semushin)
1471</ul>
1472
1473<H1><A NAME="xterm_241">Patch #241 - 2009/1/26</A></H1>
1474<ul>
1475	<li>improve checks for missing bitmap fonts, fallback to "fixed" as
1476	    needed to work around broken font-packages (report by Jacek
1477	    Luczak).
1478
1479	<li>fix breakage from <a href="#xterm_240">patch #240</a> changes for
1480	    <code>xtermAddInput()</code> (patches by Jeff Chua, Julien Cristau).
1481</ul>
1482
1483<H1><A NAME="xterm_240">Patch #240 - 2009/1/25</A></H1>
1484<ul>
1485	<li>use <code>plink.sh</code> for linking xterm (suggested by Larry
1486	    Doolittle).
1487
1488	<li>add resource descriptions for input method to xterm manpage.
1489
1490	<li>update configure script; consistently append to $CFLAGS rather
1491	    than prepend.
1492
1493	<li>add <code>install-scripts</code> rule to makefile, to allow
1494	    koi8rxterm and uxterm scripts to be altered independently of
1495	    <code>install-bin</code> 
1496
1497	<li>add <code>-maximized</code> command-line option and corresponding
1498	    resource (prompted by alt.os.linux newsgroup comment).
1499
1500	<li>modify translations of scrollbar widget using
1501	    <code>xtermAddInput()</code>
1502	    (see <a href="#xterm_181">patch #181</a>) to accept the actions
1503	    that the vt100 widget accepts, such as shift-insert to perform
1504	    a paste operation (request by Martin Zwickel).
1505
1506	<li>change default for <code>allowTcapsOps</code> resource to false,
1507	    since it causes unexpected behavior for vim users with
1508	    <code>AltGr</code>.
1509
1510	<li>update config.guess, config.sub
1511</ul>
1512
1513<H1><A NAME="xterm_239">Patch #239 - 2009/1/8</A></H1>
1514<ul>
1515	<li>correct a cast in input.c, which broke translation of numeric
1516	    keypad codes to pageup, pagedown, etc., on 64-bit platform
1517	    (Debian #511138, report by Larry Doolittle).
1518</ul>
1519
1520<H1><A NAME="xterm_238">Patch #238 - 2008/12/30</A></H1>
1521<ul>
1522	<li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
1523	    platforms.
1524
1525	<li>reset the screen wrapping-flag at the end of
1526	    <code>ClearRight</code> to fix an occasional case where the last
1527	    character of a scrolled and wrapped line would be cleared (patch by
1528	    Joe Peterson).
1529
1530	<li>modify to use POSIX coding for comparing resource settings such
1531	    as <code>locale</code>, to work with locales such as Turkish
1532	    (report by M Vefa Bicakci).
1533
1534	<li>turn on configure <code>paste64</code> feature by default
1535	    (request by Jean-Philippe Bernardy).
1536	    It is runtime enabled/disabled with <code>allowWindowOps</code>.
1537
1538	<li>turn on configure <code>tcap-query</code> feature by default,
1539	    add resource <code>allowTcapOps</code>
1540	    to make this runtime enabled/disabled.
1541
1542	<li>make <code>OSC 3</code> (change X property, from
1543	    <a href="#xterm_110">patch #110</a>)
1544	    subject to <code>allowWindowOps</code> resource.
1545
1546	<li>make VT220 <code>DSR</code> responses inactive in VT100-mode.
1547
1548	<li>make <code>DECUDK</code> feature inactive in VT100-mode.
1549
1550	<li>respond to incorrectly formatted <code>DECRQSS</code> with a
1551	    cancel.
1552
1553	<li>add <code>allowFontOps</code> 
1554	    resource to allow the fontsize-switching and font query/set
1555	    control sequences to be enabled/disabled
1556	    (prompted by Debian #510030).
1557
1558	<li>some code cleanup based on gcc 4.x <code>-Wconversion</code>
1559	    warnings in button.c and charproc.c
1560
1561	<li>modify <code>tcap-query</code> feature to not return data for
1562	    shifted cursor-keys when the keyboard type is set to vt220,
1563	    since returning the same string for shifted/unshifted keys may
1564	    confuse some applications (GenToo #212546).
1565</ul>
1566
1567<H1><A NAME="xterm_237">Patch #237 - 2008/09/14</A></H1>
1568<ul>
1569	<li>improve usability of TrueType fonts by making the font-size
1570	    switching for shifted keypad plus/minus use the
1571	    <code>faceSize</code> resources to determine the order of fonts
1572	    (when TrueType fonts are used) rather than the bitmap fonts, since
1573	    their sizes may not be in the same order (report by H Merijn
1574	    Brand)
1575
1576	<li>remove an optimization of <code>ConfigureNotify</code> events
1577	    from <a href="#xterm_236">patch #236</a>
1578	    which seems to interfere with passing <code>SIGWINCH</code> to 
1579	    applications (GenToo #233836).
1580
1581	<li>modify handling of <code>altSendsEscape</code> to reset the
1582	    <code>eightBitInput</code> mode, like <code>metaSendsEscape</code> 
1583	    (patch by Ted Phelps).
1584
1585	<li>add feature to show the text-cursor as an underline rather than a
1586	    box, plus command-line options <code>-uc</code> and
1587	    <code>+uc</code> and resource <code>cursorUnderLine</code> to
1588	    control the feature (patch by Paul Lampert).
1589
1590	<li>update config.guess, config.sub
1591</ul>
1592<H1><A NAME="xterm_236">Patch #236 - 2008/07/27</A></H1>
1593<ul>
1594	<li>correct memory reallocation when handling a paste of UTF-8 text
1595	    from <a href="#xterm_225">patch #225</a> changes
1596	    (report/patch by Max Mikhanosha).
1597
1598	<li>correct allocation of temporary buffer in
1599	    <code>xtermFindShell</code> in case the user's <code>$PATH</code>
1600	    contains no ":" (report/analysis by Victor Stinner,
1601	    Freedesktop.Org Bugzilla #16790).
1602
1603	<li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to fix
1604	    new compile problem exposed by fix for fd_mask (patch by
1605	    Hasso Tepper).
1606
1607	<li>add configure-check for ncurses <code>use_extended_names</code>,
1608	    (report by Martin Mokrejs).
1609
1610	<li>correct computation for toolbar height; layout manager already
1611	    takes into account <code>borderWidth</code> resource.
1612
1613	<li>implement VT320-style SCS (select character set) for ISO Latin-1
1614	    supplemental.
1615
1616	<li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu #230919).
1617
1618	<li>fix to make <code>luit</code> work with xterm's <code>-ls</code>
1619	    option (report/patch by Marius Tolzmann).
1620
1621	<li>update config.guess, config.sub
1622</ul>
1623
1624<H1><A NAME="xterm_235">Patch #235 - 2008/04/20</A></H1>
1625<ul>
1626	<li>add control sequences for some of the recent resource/menu
1627	    settings:
1628	    <ul>
1629	    <li><code>altSendsEscape</code> (private mode 1039)
1630	    <li><code>keepSelection</code> (private mode 1040)
1631	    <li><code>selectToClipboard</code> (private mode 1041)
1632	    <li><code>bellIsUrgent</code> (private mode 1042)
1633	    <li><code>popOnBell</code> (private mode 1043)
1634	    </ul>
1635
1636	<li>add resource <code>formatOtherKeys</code> to provide an alternate
1637	    escape sequence format for the <code>modifyOtherKeys</code> 
1638	    resource (request by Paul LeoNerd Evans).
1639
1640	<li>adjust saved-cursor position if the window is resized while
1641	    displaying the alternate screen (Novell #196880, Debian #383384).
1642
1643	<li>improve pointer-checks to fix a bug exposed by resizing during
1644	    initialization under StumpWM window manager
1645	    (Fedora Bugzilla #437928).
1646
1647	<li>modify <code>unselectwindow()</code> to ensure that the mouse
1648	    pointer is not hidden after xterm loses focus (report by Jeremy
1649	    Huddleston).
1650
1651	<li>add special check for fd_mask on Mac OS X (report by Jeremy
1652	    Huddleston).
1653
1654	<li>add <code>dylib</code> to autoconf's suffix list used for checking
1655	    the result from <code>xmkmf</code>, to work with Mac OS X (report
1656	    by Jeremy Huddleston).
1657
1658	<li>correct initialization of bold- and wide-, wide-bold fonts which
1659	    may be set via the <code>utf8Fonts</code> subresource (Debian
1660	    #347790).
1661</ul>
1662
1663<H1><A NAME="xterm_234">Patch #234 - 2008/03/02</A></H1>
1664<ul>
1665	<li>modify <code>sinstall.sh</code> to use POSIX locale to 
1666	    bypass GNU ls changes to date-format.
1667
1668	<li>improved/refined changes for closing bitmap font (patch by
1669	    Andrea Odetti).
1670
1671	<li>improve resize computation for situations where the negotiation
1672	    fails, by invoking the xterm widget's core-class resize method
1673	    (Debian #365602, patch by Jim Paris).
1674
1675	<li>restore initialization of terminal's <code>VMIN</code> and
1676	    <code>VTIME</code> settings,
1677	    from <a href="#xterm_232">patch #232</a> changes
1678	    (patch by Matthieu Herrb).
1679</ul>
1680
1681<H1><A NAME="xterm_233">Patch #233 - 2008/02/24</A></H1>
1682<ul>
1683	<li>add configure check for <code>ttydefaults.h</code>, include if
1684	    needed, e.g., for systems where defining
1685	    <code>_POSIX_C_SOURCE</code>, etc.,
1686	    prevents it from being included via
1687	    <code>termios.h</code> (prompted by comments by Robert Delius Royar
1688	    and Jeremy Huddleston).
1689
1690	<li>bug-fixes for bugs.opensolaris.org (patches from Alan Coopersmith)
1691	    <dl>
1692	    <dt>4029911
1693	    <dd>fix a typo in manpage
1694	    <dt>4045962
1695	    <dd>xterm doesn't properly set ut_syslen
1696	    <dt>4192572
1697	    <dd>left-left-right misinterpreted as triple click
1698	    </dl>
1699
1700	<li>minor optimization to tab-initialization (patch by
1701	    N�meth M�rton).
1702
1703	<li>fix a case where an incorrect font was freed during initialization
1704	    from <a href="#xterm_232">patch #232</a> changes (patch by
1705	    Andrea Odetti).
1706
1707	<li>improve comparison used in <code>SameFont</code> function for
1708	    GC-caching (Julien Cristau).
1709
1710	<li>correct macro name used for default <code>CKILL</code> definition
1711	    to work with Mac OS X (report by Jeremy Huddleston).
1712</ul>
1713
1714<H1><A NAME="xterm_232">Patch #232 - 2008/01/30</A></H1>
1715<ul>
1716	<li>corrected logic in a font-cache used for reverse-video (Debian
1717	    #404079).
1718
1719	<li>add control sequence to alter <code>pointerMode</code> at runtime.
1720
1721	<li>add limit-checks for rectangle operation parameters (report by
1722	    Martin Pirker).
1723
1724	<li>modify <code>minstall.sh</code> to suppress <code>$MANPAGER</code>
1725	    and <code>$PAGER</code> environment variables, which may interfere
1726	    with redirecting output of <code>man</code> to a shell variable
1727	    (report/patch by Zdenek Sekera).
1728
1729	<li>do not try to hide mouse pointer in the tek4014 window, fixes
1730	    broken "-t" option at startup from
1731	    <a href="#xterm_230">patch #230</a> changes
1732	    (report by Robert K. Nelson).
1733
1734	<li>correct datatype used when drawing tek4014 data using xterm
1735	    compiled for wide-characters, on big-endian machines (reports
1736	    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel, Merle
1737	    Reinhart).
1738
1739	<li>modify to cache the font-names along with the bitmap font data,
1740	    to improve comparison of fonts.
1741
1742	<li>modify to allow building with configure options
1743	    <code>--disable-ansi-color</code> and
1744	    <code>--disable-leaks</code> (Debian #459817, report/patch by N�meth M�rton).
1745
1746	<li>modify to allow building with configure options
1747	    <code>--enable-wide-chars</code> and
1748	    <code>--disable-c1-print</code> (Debian #459816, report/patch by N�meth M�rton).
1749
1750	<li>add <code>pointerMode</code> resource to control whether and
1751	    when the pointer cursor is hidden as the user types.
1752
1753	<li>simplify initialization of ttyMode- and related characters using
1754	    a table.
1755
1756	<li>modify initialization-logic for stty values that correspond to
1757	    ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp, rprnt
1758	    flush, werase, lnext).  These were reset to constants for both
1759	    termios and legacy interfaces immediately after asking the system
1760	    for the existing values since X11R6.1, rather than using them to
1761	    provide inherited values.  While the legacy interface has some
1762	    constraints, e.g., on HPUX, the POSIX or termios interface should
1763	    not.  Your shell may reset these anyway
1764	    (prompted by patch by Ed Schouten).
1765
1766	<li>improve logic for hiding/displaying pointer-cursor (report by
1767	    Mark Brukhartz).
1768
1769	<li>add limit-checks to tabs.c, increase maximum column for setting
1770	    tab-stops from 320 to 1024 (report by N�meth M�rton).
1771
1772	<li>correct length, i.e., number of types of selection targets,
1773	    computed by <code>ConvertSelection()</code> when not handling
1774	    wide characters for the <code>XA_TARGETS()</code> case.
1775	    This leaves an extra Atom on the end of the list which is
1776	    not handled by
1777	    <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java applications</a>.
1778	    The problem was introduced in <a href="#xterm_151">patch #151</a>
1779	    (report by David Wood).
1780</ul>
1781
1782<H1><A NAME="xterm_231">Patch #231 - 2008/01/05</A></H1>
1783<ul>
1784	<li>undo change to <code>getXtermCell()</code> from patch #230
1785	    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
1786	    Caetano Jimenez Carezzato).
1787
1788	<li>minor documentation fixes (patch by Slava Semushin)
1789
1790	<li>add makefile actions to install KOI8RXTerm app-defaults file
1791	    (patch by Julien Cristau).
1792</ul>
1793
1794<H1><A NAME="xterm_230">Patch #230 - 2007/12/31</A></H1>
1795<ul>
1796	<li>add <code>quietGrab</code> resource, which when true, suppresses
1797	    cursor repainting when <code>NotifyGrab</code> and
1798	    <code>NotifyUngrab</code> event types are received during
1799	    change of focus (request by Nicolas George).
1800
1801	<li>do not treat Unicode BIDI control characters as combining
1802	    characters (Debian #457634).
1803
1804	<li>add <code>koi8rxterm</code>, from Debian.
1805
1806	<li>add manpage for <code>uxterm</code>, from Debian (Ubuntu #128136,
1807	    Debian #438645)
1808
1809	<li>remove ".xpm" suffixes from Icon filenames in desktop files since
1810	    it confuses some lookups following the
1811	    <a href="http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">Icon Theme Specification</a>
1812	    (report by Slava Semushin)
1813
1814	<li>correct width-calculation used for adjusting proportional fonts,
1815	    to work with wide-characters (Debian #441354).
1816
1817	<li>fixes/improvements for double-size characters:
1818	    <ul>
1819	    <li>correct old clipping calculation which used total height of
1820		glyphs where ascent was needed.
1821
1822	    <li>if bold font is unavailable, fall back to normal font
1823
1824	    <li>adjust to "work" with Xft (which does not support double-width
1825		single-height characters). 
1826
1827	    <li>restore reset of doublesize for a line when it is cleared,
1828	        broken in <a href="#xterm_228">patch #228</a>.
1829	    </ul>
1830
1831	<li>modify logic for <code>forceBoxChars</code> resource when using
1832	    TrueType fonts to be consistent with bitmap fonts
1833
1834	<li>modify logic for <code>forceBoxChars</code> resource to make the
1835	    "Line-Drawing Characters" menu entry use xterm's line-drawing
1836	    characters even asked to draw wide line-drawing characters which
1837	    are available in the font.
1838
1839	<li>modify rectangle-support functions to preserve colors when
1840	    filling/erasing to match WRQ Reflection behavior
1841	    (request by Enzo Toscano).
1842
1843	<li>add getopt-parsing to tcapquery.pl, including feature to test the
1844	    extended cursor/editing keys.
1845
1846	<li>make missing double-width glyphs display as double-width
1847	    (Debian #456236).
1848
1849	<li>change <code>tcap-fkeys</code> and <code>rectangles</code>
1850	    configure options to enable them by default.
1851
1852	<li>hide the mouse pointer while user is typing (request by Rodolfo
1853	    Borges).
1854
1855	<li>extend configure options
1856	    <code>--enable-tcap-query</code> and
1857	    <code>--enable-tcap-fkeys</code> to
1858	    send cursor- and editing-keypad keys modified according to the
1859	    keyboard (or termcap) selection for shift, alt, control, meta.
1860
1861	<li>modify <code>kdch1</code> in termcap, e.g., <code>xterm-r6</code>
1862	    to match the terminfo file.
1863
1864	<li>add <code>-hm</code> option to turn <code>highlightColorMode</code>
1865	    on or off.
1866
1867	<li>add <code>highlightColorMode</code> resource to separate the
1868	    new (since <a href="#xterm_225">patch #225</a>) highlighting with both text- and
1869	    background-colors (prompted by report/example by Thomas Wolff).
1870
1871	<li>add <em>Keep Selection</em> menu entry to turn the 
1872	    <code>keepSelection</code> resource on/off at runtime.
1873
1874	<li>add <code>keepSelection</code> resource, which when enabled,
1875	    tells xterm to retain the X selection even after it stops
1876	    highlighting it (patch by Sergey Vlasov).
1877
1878	<li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to allow
1879	    disabling all types of modified-keys that the
1880	    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.
1881
1882	<li>move include for <code>&lt;xtermcap.h&gt;</code> in
1883	    <code>resize.c</code> to avoid redefinition of <code>termios</code>
1884	    structure on OpenSolaris (report by Rahul Gopinathan Nair).
1885
1886	<li>extend terminfo building blocks for modified editing keys to
1887	    include all six keys.
1888
1889	<li>synchronize terminfo with ncurses (report by Stephane Chazelas)
1890	    <ul>
1891	    <li>equate <code>xterm-xfree86</code>
1892	        and <code>xterm-xf86-v44</code>.
1893	    <li>add ncurses extensions OTbs, AX, for termcap conversions.
1894	    <li>make old/legacy entries such as
1895	        <code>xterm-24</code>, <code>xterm-65</code>
1896	        and aliases <code>xterms</code>, <code>vs100</code>
1897		inherit from <code>xterm-old</code>.
1898	    <li>make <code>xterm-r5</code> and <code>xterm-r6</code> the
1899	        same, ignoring historical errors in X Consortium's version.
1900	    </ul>
1901
1902	<li>fix an ifdef in logic for selecting regular
1903	    expressions while in a narrow-character locale (Debian #449227).
1904</ul>
1905
1906<H1><A NAME="xterm_229">Patch #229 - 2007/8/12</A></H1>
1907<ul>
1908	<li>override locale in minstall.sh;
1909	    change in <a href="#xterm_226">patch #226</a>
1910	    does not work in UTF-8 locale (report by Zdenek Sekera).
1911
1912	<li>undo an incorrect fix for a memory leak
1913	    in <a href="#xterm_209">patch #209</a> (Debian #435858).
1914</ul>
1915
1916<H1><A NAME="xterm_228">Patch #228 - 2007/7/22</A></H1>
1917<ul>
1918	<li>modify configure script to permit combining
1919	    <code>--with-utempter</code>
1920	    and <code>--enable-setuid</code>, e.g., for using xterm with 
1921	    the utempter library on FreeBSD (report by Andriy Gapon).
1922
1923	<li>modify "Quit" menu entry to override the <code>-hold</code>
1924	    command-line option.
1925
1926	<li>add a check in the startup error-reporting to avoid writing to
1927	    pipe when it has not been opened.  In that case, report errors
1928	    directly to the standard error.
1929
1930	<li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
1931	    <a href="#xterm_205">patch #205</a>
1932	    (report by Kalle Olavi Niemitalo).
1933
1934	<li>modify <code>88colors2.pl</code> and <code>256colors2.pl</code>,
1935	    adding <code>-r</code>
1936	    option to reverse the palettes for the extended colors.
1937
1938	<li>check for partial overwrite or deletion of multi-column characters
1939	    in several cases, e.g., insert-character, delete-character,
1940	    etc.,
1941	    and fill the remainder of the cells used by the multi-column
1942	    characters affected with blanks.
1943
1944	<li>correct character-class codes in wide-character mode for characters
1945	    215, 247 (see also <a href="#xterm_165">patch #165</a>).
1946
1947	<li>fix missing assignment for UTF-8 parsing in widget initialization
1948	    (Debian #403360).
1949
1950	<li>correct index expression used to set line-wrapping flag, making
1951	    selection from scrollback work consistently (Debian #430121,
1952	    report by Vincent Lefevre).
1953
1954	<li>amend changes to handshake in
1955	    <a href="#xterm_226">patch #226</a>
1956	    to accommodate Solaris, which relies on the extra setting of
1957	    the terminal size after I/O initialization.
1958	    Do this by adding new resource <code>ptySttySize</code>,
1959	    which is false for Linux and MacOS X, i.e., true for
1960	    for Solaris and other SVR4 platforms, as well as FreeBSD
1961	    (reports by David Wood, Renato Botelho).
1962
1963	<li>check for X events after cursor-left, and carriage return,
1964	    consistent with indexing operations
1965	    (comments by Vegard Nossum and Ingo Molnar on a mailing-list).
1966
1967	<li>initialize the <code>.keyboard</code> structure,
1968	    needed for some platforms (such as Solaris) after
1969	    <a href="#xterm_227">patch #227</a> fixes for keysyms
1970	    (patch by David Wood).
1971
1972	<li>update config.guess, config.sub
1973</ul>
1974
1975<H1><A NAME="xterm_227">Patch #227 - 2007/6/27</A></H1>
1976<ul>
1977	<li>exclude the Intel compiler from the extra gcc warning options
1978	    added in 
1979	    <a href="#xterm_226">patch #226</a>.
1980
1981	<li>modify change for Debian #422521
1982	    from <a href="#xterm_226">patch #226</a>
1983	    to work with configurations where the X server does not
1984	    recognize
1985	    the <code>XF86Paste</code>
1986	    or <code>SunPaste</code> keysyms (report by Paolo Pumilia).
1987
1988	<li>fix incorrect free in fix for "Selection" menu entry in
1989	    <a href="#xterm_226">patch #226</a>.
1990</ul>
1991
1992<H1><A NAME="xterm_226">Patch #226 - 2007/6/17</A></H1>
1993<ul>
1994	<li>add configure check to use <code>-Wno-unknown-pragmas</code> for
1995	    Solaris, and a few other new gcc warning options to address
1996	    regressions in its warning options.
1997
1998	<li>add sample desktop and icon files, along with configure options for
1999	    manipulating them.
2000
2001	<li>fix an infinite loop when showing a 2-column character in a
2002	    1-column screen (Debian #426863).
2003
2004	<li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
2005	    default translations (Debian #422521, patch by Bernhard R Link).
2006
2007	<li>update wcwidth.c (partly based on/prompted by mailing list
2008	    comment).
2009
2010	<li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and Xorg
2011	    7.1 keysymdef.h file.
2012
2013	<li>improve <code>gen-pc-fkeys.pl</code>, making it show all of the
2014	    building-block terminfo entries used by xterm.
2015
2016	<li>correct strings used for modifiers applied to F1-F4 in xterm+pcf1
2017	    terminfo entry.
2018
2019	<li>improve session management by adding the ICE connection number
2020	    to the <code>select</code> call rather than waking up once per
2021	    second (patch by Miroslav Lichvar).
2022	    
2023	<li>add environment variable <code>$XTERM_LOCALE</code> to help
2024	    with shell initialization, e.g., to set a specific locale for
2025	    xterm on systems where a global locale is set in the shell
2026	    startup scripts.
2027
2028	<li>add resource settings <code>mkSampleSize</code> and
2029	    <code>mkSamplePass</code>
2030	    to modify the <code>mkWidth</code> added
2031	    in <a href="#xterm_201">patch #201</a>.
2032	    In <a href="#xterm_202">patch #202</a>,
2033	    xterm would also check if the system's
2034	    <code>wcwidth</code> matched its built-in tables
2035	    "well enough" to be used when <code>mkWidth</code> was false,
2036	    and if not would use the built-in tables anyway.
2037	    These resources allow the user to customize the decision
2038	    (prompted by comments by Emanuele Giaquinta)
2039
2040	<li>modify logic which resets/updates the screensize on the child
2041	    process side of the pseudo-terminal to do this only if a
2042	    successful handshake was received, e.g., as determined by
2043	    the <code>waitForMap</code> resource (prompted by reports
2044	    by Emanuele Giaquinta and Bernhard R Link, but see also
2045	    <a href="#xterm_177">patch #177</a> and
2046	    <a href="#xterm_159">patch #159</a>.
2047
2048	<li>improve permissions logic when closing pseudo-terminal
2049	    (Debian #12261,
2050	     patch by Nathanael Nerode,
2051	     analysis by Richard Braakman).
2052
2053	<li>add resource <code>highlightReverse</code> which controls whether
2054	    xterm will allow selection highlighting to hide reverse-video
2055	    or use the older behavior which inverts the foreground and
2056	    background colors when selected text with reverse-video attribute
2057	    (report by Adam M Costello, comments by Victor Vaile).
2058
2059	<li>restore a special case for cursor-color in
2060	    <code>ReverseVideo()</code>
2061	    lost in rewrite for <a href="#xterm_224">patch #224</a>
2062	    (report by Adam Sulmicki).
2063
2064	<li>correct initialization for menu entry for <code>bellIsUrgent</code> 
2065	    (patch by Emanuele Giaquinta).
2066
2067	<li>correct length of underlining for double-width Xft fonts
2068	    (report by Shidai Liu "Leo").
2069
2070	<li>correct clipping for double-width Xft fonts
2071	    (report by Shidai Liu "Leo").
2072
2073	<li>modify initialization for <code>italicULMode</code> to avoid
2074	    <code>XftPatternBuild</code> reusing bold attributes
2075	    (report by Shidai Liu "Leo").
2076
2077	<li>add a check in case someone tries to call the
2078	    <code>popup-menu()</code> action on a menu which is not initialized
2079	    (Debian #426364).
2080
2081	<li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by Peter
2082	    Bray).
2083
2084	<li>improve guess for X's manpage section in <code>minstall.sh</code>,
2085	    (prompted by comment by Miroslav Lichvar).
2086
2087	<li>modify <code>minstall.sh</code> to handle manpage patch with more
2088	    than one dot (patch by Miroslav Lichvar).
2089
2090	<li>fix configure message for --disable-setgid option (patch by
2091	    Miroslav Lichvar).
2092
2093	<li>add <code>allowTitleOps</code> resource to allow users to prevent
2094	    the title- and icon-names from changing (request by John Bashinski).
2095
2096	<li>fix "spawn-new-terminal" action, for the case where no parameter
2097	    is passed to the action (patch by Daniel Colascione).
2098
2099	<li>fix error-checking on internal font switching for "Selection"
2100	    menu entry (Debian #421523).
2101
2102	<li>amend select/paste change from
2103	    <a href="#xterm_225">patch #225</a>
2104	    by limiting it to non-UTF-8/non-KOI8-R encoding (Debian #420974).
2105
2106	<li>add workaround for groff ".URL" codes which are not present in
2107	    some commonly-used bitmap fonts (Debian #418324).
2108</ul>
2109
2110<H1><A NAME="xterm_225">Patch #225 - 2007/3/24</A></H1>
2111<ul>
2112	<li>add <code>useClipping</code> resource to allow clipping to be
2113	    disabled.
2114
2115	<li>use <code>XftDrawSetClipRectangles</code>
2116	    to work around Xft pixel-trash (report by Reuben Thomas).
2117
2118	<li>add configure option <code>--enable-tcap-fkeys</code>, and
2119	    resource <code>tcapFunctionKeys</code>, which can be used
2120	    to tell xterm to use function-key definitions from the termcap
2121	    (or terminfo) which it uses to set $TERM on startup.
2122
2123	<li>add resources <code>altIsNotMeta</code> and
2124	    <code>altSendsEscape</code> to allow one to use Alt-keys like the
2125	    meta-key even if they are bound to different keycodes (prompted by
2126	    discussion with Daniel Jacobowitz).
2127
2128	<li>revert a change from <a href="#xterm_216">patch #216</a>
2129	    that unnecessarily made the meta modifier override
2130	    the <code>eightBitInput</code> resource if the alt- and
2131	    meta-modifiers happened to overlap
2132	    (report/patch by Daniel Jacobowitz).
2133
2134	<li>correct associated font for active icon for colored text
2135	    (broken in <a href="#xterm_224">patch #224</a>).
2136
2137	<li>correct ifdef's for Darwin (patch by Emanuele Giaquinta).
2138
2139	<li>add <code>highlightTextColor</code> resource, and options
2140	    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
2141	    (adapted from patch by Victor Vaile).
2142
2143	<li>revise <code>find_closest_color()</code> function to address
2144	    concern about borrowing from <code>Tcl/Tk</code>
2145	    (request by Dan McNichol).
2146
2147	<li>add "spawn-new-terminal" action, which can be assigned to key
2148	    translation, allowing one to spawn a new copy of xterm using
2149	    the current process' working directory (adapted from patch
2150	    by Daniel Colascione).
2151
2152	<li>improve select/paste between UTF-8 and Latin1 xterms by adapting
2153	    the translations from <a href="#xterm_185">patch #185</a>.
2154	    Extend that to include Unicode fullwidth forms FF00-FF5E.
2155	    Also modify select/paste of DEC line-drawing characters in
2156	    Latin1 mode to use ASCII characters.
2157
2158	<li>add "Enable Bell Urgency" to VT Options menu, removed "Enable
2159	    Margin Bell".
2160
2161	<li>add <code>bellIsUrgent</code> resource to control whether the
2162	    Urgency hint is set/reset.
2163
2164	<li>modify to set Urgency window manager hint on bell, reset it on
2165	    Focus-In event (patch by Emanuele Giaquinta).
2166
2167	<li>add <code>--disable-setgid</code> configure option (request by
2168	    Miroslav Lichvar).
2169
2170	<li>fix a possible infinite loop in last change to
2171	    <code>dabbrev-expand()</code> (patch by Emanuele Giaquinta).
2172
2173	<li>modify initialization to set the pty erase value if the
2174	    <code>erase</code> is set in the <code>ttyModes</code> resource. 
2175	    This overrides the <code>ptyInitialErase</code> setting (request by
2176	    Llu&#237;s Batlle i Rossell).
2177
2178	<li>add <code>initialFont</code> resource to xterm widget, like
2179	    tek-widget (Debian #299669).
2180
2181	<li>amend change to <code>boldMode</code> from
2182	    <a href="#xterm_223">patch #223</a> for Debian #347790.
2183	    As noted in Debian #412599, that made xterm
2184	    no longer match the documented behavior.
2185	    Add new resource <code>alwaysBoldMode</code>
2186	    to allow overriding the comparison
2187	    between normal/bold fonts when deciding whether to use overstriking
2188	    to simulate bold fonts.
2189
2190	<li>restore background color in ClearCurBackground(), omitted in
2191	    changes for <a href="#xterm_223">patch #223</a> (report by
2192	    Miroslav Lichvar).
2193
2194	<li>correct logic for repainting double-width TrueType characters
2195	    (prompted by test-case for Novell #246573).
2196
2197	<li>add a check to avoid trying to repeat a multibyte character
2198	    (report by Sami Farin).
2199
2200	<li>modify parameter to <code>XftNameParse()</code> to select wide
2201	    face-name as needed, to make <code>-fd</code> option work (patch by
2202	    Mike Fabian, Novell #246573).
2203
2204	<li>correct logic for mouse highlight tracking's abort sequence,
2205	    broken in a restructuring modification from
2206	    <a href="#xterm_224">patch #224</a>
2207	    (report by Thomas Wolff).
2208
2209	<li>revert the simplification of blinking cursor, since that broke
2210	    the xor'ing introduced in <a href="#xterm_193">patch #193</a>
2211	    (report by Thomas Wolff).
2212</ul>
2213
2214<H1><A NAME="xterm_224">Patch #224 - 2007/2/11</A></H1>
2215<ul>
2216	<li>simplify code for set/reset mode for blinking cursor 
2217	    (patch by Emanuele Giaquinta).
2218
2219	<li>modify <code>dabbrev-expand()</code> to restart after the last
2220	    match (patch by Emanuele Giaquinta).
2221
2222	<li>add control sequences for enabling/disabling focus in/out event
2223	    reporting (request by Bram Moolenaar).
2224
2225	<li>improve startup performance of menus by adding resource setting
2226	    <code>menuLocale</code> which can be set to override X's
2227	    lengthy initialization of fontsets - which are seldom used
2228	    for the <code>Xaw</code> popup menus (adapted from patch by
2229	    Dave Coffin).
2230
2231	<li>modify do_precomposition() function and make-compose.sh to handle
2232	    21-bit codes vs the 16-bit codes those were written for, and
2233	    fix a few mis-sorted codes
2234	    (patch by Thomas Wolff).
2235
2236	<li>handle special case in <code>-cjk_width</code>
2237	    which unexpectedly caused a character's width to change when
2238	    a combining character
2239	    (patch by Thomas Wolff)
2240
2241	<li>fix build for GNU/KFreeBSD (Debian #40111).
2242
2243	<li>consolidate GC creation/updating into a single module to reduce GC
2244	    manipulation (prompted by Debian #389476, though a complete fix
2245	    would involve optimizing the scrolling behavior).
2246
2247	<li>fix ifdef of xtermCellWidth(), which broke for a case without
2248	    TrueType and without wide-character support (report by Martin
2249	    Pirker).
2250
2251	<li>undo a comparison in <code>handle_translated_exposure</code> which
2252	    did not work due to X server optimization.  That caused the
2253	    inner border to be repainted with unexpected colors when handling
2254	    a repaint, e.g., after switching to/from another workspace
2255	    (Debian #401726, Redhat Bugzilla #223027).
2256
2257	<li>allow <code>-cr</code> option to override cursor color when
2258	    <code>-ah</code> option is used (Debian #406502).
2259
2260	<li>add a note in xterm's manpage explaining that the <code>-bw</code>
2261	    (or <code>-w</code>) option is only used by the window manager,
2262	    if at all (Debian #405043).
2263
2264	<li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code> work with
2265	    <code>selectToClipboard</code> resource.
2266
2267	<li>correct length calculation for <code>Selection</code> entry of
2268	    <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
2269	    actual selection length since X11R4.
2270
2271	<li>fixes for fontsize changes with <code>-fa</code> option (Redhat
2272	    Bugzilla #222340).
2273</ul>
2274
2275<H1><A NAME="xterm_223">Patch #223 - 2006/11/30</A></H1>
2276<ul>
2277	<li>add <code>--enable-rectangles</code> configure option (request by
2278	    Martin Pirker).
2279
2280	<li>correct default value for <code>--with-symlink</code> configure
2281	    option.
2282
2283	<li>fixes configure script macros that use <code>$X_EXTRA_LIBS</code>.
2284
2285	<li>modify configure script to provide support for pre-package config
2286	    versions of Xft aka "FreeType".
2287
2288	<li>add the Xaw scrollbar translations resource to the xterm manpage,
2289	    add an example showing how to change the mouse button assignments
2290	    (Debian #382225).
2291
2292	<li>amend a change from <a href="#xterm_216">patch #216</a>,
2293	    which omitted modifiers for control, meta, etc., if they were
2294	    mixed with any other modifiers.  The intent of the change was
2295	    to avoid confusion with
2296	    <code>XK_Mode_switch</code>
2297            and <code>XK_ISO_Level3_Shift</code>;
2298	    the check is now done explicitly (report by Daniel Jacobowitz).
2299
2300	<li>interpret a negative value for <code>modifyCursorKeys</code>
2301	    or <code>modifyFunctionKeys</code> resources to disable the
2302	    respective features (prompted by Novell #220728).
2303
2304	<li>amend cell-width computation for FreeType from
2305	    <a href="#xterm_217">patch #217</a>, which did not work
2306	    for VT100 line-drawing characters (Debian #399638, GenToo #147111).
2307
2308	<li>amend a change from <a href="#xterm_216">patch #216</a>,
2309	    which made alt-modifier on a cursor-key send a modifier parameter
2310	    (Novell #220728).
2311
2312	<li>correct an off-by-one that made DECCRA not work (report/patch by
2313	    Martin Pirker).
2314
2315	<li>revert an optimization in SGR_Foreground() and SGR_Background
2316	    from <a href="#xterm_209">patch #209</a> (Debian #347722,
2317	    analysis by Pierre Lombard).
2318
2319	<li>fix for <code>boldMode</code> (Debian #347790, patch by Tim Pope).
2320
2321	<li>amend fix for <code>-iconic</code> in
2322	    <a href="#xterm_208">patch #208</a>,
2323	    which broke the positioning part of <code>-geom</code> with toolbar
2324	    configuration.
2325
2326	<li>fix to prevent indexing error in regular expressions (patch
2327	    by Dennis Schneider).
2328
2329	<li>fixes to make the internalBorder area not change color due to
2330	    reverseVideo and/or related exposure events.  The latter was a very
2331	    old bug exposed in <a href="#xterm_196">patch #196</a> (report by
2332	    Neil Hoggarth, also Debian #397624).
2333</ul>
2334
2335<H1><A NAME="xterm_222">Patch #222 - 2006/10/17</A></H1>
2336<ul>
2337	<li>minor optimization for recoloring cursor via dynamic colors.
2338
2339	<li>fix a bug caused by restructuring of tek4014 widget (report by Paul
2340	    Schenkeveld)
2341</ul>
2342
2343<H1><A NAME="xterm_221">Patch #221 - 2006/10/1</A></H1>
2344<ul>
2345	<li>fix for regular expressions:  the code which converted the column
2346	    offset within a line did not check properly for the end of a line,
2347	    and if allowed to match the whole line, would select the beginning
2348	    of the following line.  If the following line were empty, in turn
2349	    it would select from the next, etc.  (report by Sean
2350	    Reifschneider).
2351
2352	<li>minor optimization of color allocation to avoid repainting the
2353	    screen if the corresponding color had not been allocated.
2354
2355	<li>fixes for vttests/256colors.pl (report by Egmont Koblinger).
2356
2357	<li>add terminfo building block entries for modifiers of the 6-key
2358	    editing keypad.
2359
2360	<li>fix for initialization of tek4014 which broke on QNX 6.1
2361</ul>
2362
2363<H1><A NAME="xterm_220">Patch #220 - 2006/9/10</A></H1>
2364<ul>
2365	<li>make "xterm -t -iconic" work as expected, i.e., start in tek4014
2366	    mode, but iconified.
2367</ul>
2368
2369<H1><A NAME="xterm_219">Patch #219 - 2006/9/4</A></H1>
2370<ul>
2371	<li>some internal restructuring to separate data for vt100 and tek4014
2372	    widgets.
2373
2374	<li>fix a few cases where form-events would be seen by the vt100
2375	    widget when built with the toolbar configuration.
2376</ul>
2377
2378<H1><A NAME="xterm_218">Patch #218 - 2006/8/27</A></H1>
2379<ul>
2380	<li>change behavior when encountering an illegal character in a title
2381	    string.  Rather than reject the string, translate illegal
2382	    characters into "?" and use the string (requested by Thomas Wolff).
2383
2384	<li>improve checks for nonprinting characters in title strings
2385	    (report by Samuel Thibault).
2386
2387	<li>correct typo in menu labels, changing <code>print-redirect</code>
2388	    to <code>print-redir</code>, making it follow the manpage and
2389	    match the usage for the actions table (report by Samuel Thibault).
2390
2391	<li>correct a typo that prevents building with some older systems such
2392	    as Solaris 2.6 (report by Julian Bridle).
2393</ul>
2394
2395<H1><A NAME="xterm_217">Patch #217 - 2006/8/20</A></H1>
2396<ul>
2397	<li>minor improvements to FreeType font layout and drawing.
2398
2399	<li>add a check in the ptyInitialErase logic to ensure that the
2400	    termcap was read (Redhat Bugzilla #201246).
2401
2402	<li>limit changes for reverse-video from
2403	    <a href="#xterm_216">patch #216</a> to cases where the
2404	    reverse-video command-line option is used
2405	    (report by Zdenek Sekera).
2406
2407	<li>correct bitmap-derived pointsizes for TrueType fonts; they should
2408	    be proportional to the square root of the area of the bitmap
2409	    fonts.
2410
2411	<li>add resources to specify pointsize of TrueType fonts (request
2412	    by Reuben Thomas).
2413
2414	<li>improve install of terminfo by filtering out harmless messages
2415	    related to extended capabilities.  At the same time, use ncurses
2416	    tic to compile the extended capabilities if possible
2417	    (report by Zdenek Sekera).
2418
2419	<li>update "xterm+pcfkeys" terminfo entry to correspond to
2420	    <a href="#xterm_216">patch #216</a>.
2421</ul>
2422
2423<H1><A NAME="xterm_216">Patch #216 - 2006/8/3</A></H1>
2424<ul>
2425	<li>improve handling of <code>ConfigureNotify</code> events by checking
2426	    if there are further events in the queue which obsolete the current
2427	    one (adapted from rxvt 2.7.5).  Only the normal normal
2428	    (non-toolbar) configuration is addressed in this patch.
2429
2430	<li>several changes to terminfo:
2431	<ul>
2432	    <li>incorporate some minor changes from ncurses to help keep these
2433	        synchronized:
2434	    <dl>
2435		<dt>2005-02-26
2436		<dd>modify sgr/sgr0 in xterm-new to improve tgetent's derived "me".
2437		<dt>2006-02-18
2438		<dd>remove ncv flag from xterm-16color
2439		<dt>2006-06-24
2440		<dd>improve xterm-256color by combining the 16-color
2441		setaf/setab strings with SGR 48,
2442		and cancelling the setf/setb strings.
2443	    </dl>
2444	    <li>use extended function-key definitions for xterm-sun, xterm-sco
2445	        entries.
2446
2447	    <li>add terminfo building-blocks corresponding to the
2448	        <code>modifyFunctionKeys</code>
2449	        and <code>modifyCursorKeys</code> resources.
2450	</ul>
2451
2452	<li>ifdef'd Sun function-key feature to make it optional, like HP and
2453	    SCO.
2454
2455	<li>extend table for termcap-query feature through F63, and updated
2456	    tcapquery.pl to match.
2457
2458	<li>modify logic for function-key input processing to allow function
2459	    key numbers which are constructed by control- and shift-modifiers
2460	    to extend beyond X's hardcoded limit of 35.
2461
2462	<li>add control sequence to set or reset the <code>eightBitInput</code>
2463	    resource.
2464
2465	<li>change default resource <code>modifyFunctionKeys</code> to 2
2466	    to avoid sending SS3 with parameters (report by Kalle Olavi Niemitalo).
2467
2468	<li>add control sequences for setting and resetting the values of the
2469	    <code>modifyCursorKeys</code>,
2470	    <code>modifyFunctionKeys</code> and
2471	    <code>modifyOtherKeys</code> resources.
2472
2473	<li>add <code>modifyFunctionKeys</code> resource like
2474	    <code>modifyCursorKeys</code>.
2475	    Setting this to zero allows one to use the control- and
2476	    shift-modifiers to construct function key strings,
2477	    for terminals using many function keys,
2478	    e.g., for <code>xterm-sun</code> or <code>xterm-sco</code>.
2479
2480	<li>modify screen responses and function-key logic to reduce the
2481	    number of writes made, to make it less likely that an application
2482	    would read only part of a function-key in a read operation
2483	    (suggested by John E Urbanczyk).
2484
2485	<li>add <code>combiningChars</code> resource, which allows the user to
2486	    specify the maximum number of combining characters that xterm will
2487	    store for each cell in wide-character mode (prompted by request by
2488	    Markus Kuhn to increase the limit from 2).
2489
2490	<li>improve logic in <code>metaSendsEscape</code> in case the Alt-
2491	    and Meta-keys are mapped to different modifiers.  That allows one
2492	    to use the Alt-key for shifting in the <code>eightBitInput</code>
2493	    and use a Meta-key modifier to prefix the result with an
2494	    <code>&lt;ESC&gt;</code>.
2495
2496	<li>improve <code>modifyCursorKeys</code> logic to prevent it from
2497	    modifying codes where <code>eightBitInput</code> or
2498	    <code>metaSendsEscape</code> are set
2499	    (request by Dan Nicolaescu).
2500
2501	<li>improve <code>modifyCursorKeys</code> logic to prevent it from
2502	    changing the user input when other modifiers such as AltGr are used
2503	    (report by Thomas Wolff).
2504
2505	<li>extend <code>modifyCursorKeys</code> to include the numeric keypad
2506	    when in application mode.
2507
2508	<li>improve <code>-reverse</code> (<code>-rv</code>) option
2509	    (patch by Jason Vas Dias, Redhat #189161).
2510
2511	<li>workaround for color resources on Fedora-5 which made the toolbar
2512	    colors inconsistent.
2513
2514	<li>corrected calls used for <code>--disable-setuid</code> option,
2515	    add debugging traces to help diagnose this area.
2516
2517	<li>modify configure script to ensure that <code>USE_UTMP_SETGID</code>
2518	    is defined only if the check for POSIX saved-ids succeeds, or
2519	    corresponds to one of the BSD systems known to have a workable
2520	    <code>setegid</code> function.
2521
2522	<li>extend configure check for POSIX saved-ids to include BSD systems
2523
2524	<li>modify CF_SYSV configure macro to work with gcc on HPUX 10.20,
2525	    whose broken
2526	    <code>&lt;term.h&gt;</code> relies on including
2527	    <code>&lt;termios.h&gt;</code>.
2528
2529	<li>change order of setuid/setgid ifdef checks in Imakefile to make
2530	    it simpler to produce a setgid install, allowing the latter to
2531	    override the former (prompted by an XFree86 commit).
2532
2533	<li>adapt a fix for setgid support from subsequent XFree86 changes
2534	    (patch by Emanuele Giaquinta).
2535
2536	<li>further improve setgid support (patches by Emanuele Giaquinta).
2537</ul>
2538
2539<H1><A NAME="xterm_215">Patch #215 - 2006/6/19 - XFree86 4.6.99.2</A></H1>
2540<ul>
2541	<li>improve setgid support by exploiting the saved-ids feature on which
2542	    it relies (patch by Emanuele Giaquinta).
2543
2544	<li>make the <code>modifyOtherKeys</code> resource disabled by default
2545	    since the intermediate setting altered some common bindings
2546	    (report by Emanuele Giaquinta).
2547</ul>
2548
2549<H1><A NAME="xterm_214">Patch #214 - 2006/6/18 - XFree86 4.6.99.2</A></H1>
2550<ul>
2551	<li>modify makefile rule for ctlseqs.txt to strip backspace/overstrikes,
2552	    and add a copy of ctlseqs.txt to the source tarballs (requests by
2553	    Bram Moolenaar, Emanuele Giaquinta).
2554
2555	<li>add <code>modifyOtherKeys</code> resource, analogous to the
2556	    <code>modifyCursorKeys</code> resource.  This applies to keys that
2557	    normally would transmit nothing when a given modifier is applied
2558	    (request by Dan Nicolaescu).
2559
2560	<li>add <code>default</code> to the acceptable values for the
2561	    <code>keyboardType</code> resource, allowing the <code>-kt</code>
2562	    command-line option to override app-defaults resource settings of
2563	    <code>sunKeyboard</code>, etc.
2564
2565	<li>correct ifdef's for <code>XkbBell()</code> which used the header
2566	    file but not the corresponding function in
2567	    <a href="#xterm_175">patch #175</a>
2568	    (report by Zach Beane).
2569
2570	<li>add xterm manpage to the <code>--with-symlink</code> logic.
2571
2572	<li>regenerated configure script to omit some debugging artifacts of
2573	    the SIGWINCH test.
2574
2575	<li>fix <code>install-man</code> rule in <code>Makefile.in</code> to
2576	    avoid including the <code>$(DESTDIR)</code> value in substitutions
2577	    made on the manpages (patch by Emanuele Giaquinta).
2578
2579	<li>improved fix for cursor deallocation
2580	    (Redhat #186935, patch by Jason Vas Dias).
2581
2582	<li>improve checks for setuid/setgid operation to accommodate limited
2583	    resource management in some kernels (GenToo #193238).
2584
2585	<li>update config.guess, config.sub
2586</ul>
2587
2588<H1><A NAME="xterm_213">Patch #213 - 2006/4/30 - XFree86 4.5.99.905</A></H1>
2589<ul>
2590	<li>minor optimization to cell layout; will use that to simplify some
2591	    logic and allow for more than two combining characters in another
2592	    patch.
2593
2594	<li>add <code>utf8Latin1</code> resource to make optional the
2595	    feature from <a href="#xterm_209">patch #209</a> which
2596	    allowed ISO-8859-1 fonts to be used in cases
2597	    where a wide font was given.  This would only
2598	    work for the special case where the user normally used Latin-1
2599	    and wanted some wide characters (report by Rostislav Krasny).
2600
2601	<li>add <code>utf8Title</code> resource to manpage (Novell #52655).
2602
2603	<li>fix typo in table entry for <code>utf8Title</code> resource which
2604	    made it treated as an integer rather than boolean (patch by Mike
2605	    Fabian, Novell #52655).
2606</ul>
2607
2608<H1><A NAME="xterm_212">Patch #212 - 2006/4/9 - XFree86 4.5.99.904</A></H1>
2609<ul>
2610	<li>improve description of <code>forceBoxChars</code> in manpage
2611	    (discussion with Joe Wells).
2612
2613	<li>set checkmark for "Select To Clipboard" menu entry on startup,
2614	    from resource setting.
2615
2616	<li>update manpage to note that <code>*customization:color</code> is
2617	    not needed, though it is useful (Redhat #188034).
2618
2619	<li>add underscore to sample pattern for URL in <code>XTerm.ad</code>
2620	    (Redhat #188037).
2621
2622	<li>modify install rule for manpage to use the configured app-defaults
2623	    directory (Redhat #188031).
2624
2625	<li>add checks in <code>releaseCursorGCs()</code> to ensure GC's are
2626	    distinct, needed since memory leak changes for
2627	    <a href="#xterm_208">patch #208</a>
2628	    (Redhat #186935, patch by Jason Vas Dias).
2629
2630	<li>modify <code>Imakefile</code> definitions to allow
2631	    <code>imake</code> to set <code>InstallXtermSetGID</code>.
2632	    Add symbol <code>InstGidFlags</code>.
2633
2634	<li>add configure script check to ensure that SIGWINCH if defined even
2635	    when headers undefine this as a side-effect of
2636	    <code>_POSIX_C_SOURCE</code>, etc.
2637
2638	<li>resync with XFree86 CVS
2639	<ul>
2640	   <li>ifdef-out chmod of terminal device for OS/2 (XFree86 #1663,
2641	       Frank Giessler).
2642	   <li>move new <code>Imakefile</code> chunk which defines
2643	       <code>$(CSGIDFLAGS)</code> before DEFINES,
2644	       e.g., for IRIX64 (Marc La France).
2645	</ul>
2646</ul>
2647
2648<H1><A NAME="xterm_211">Patch #211 - 2006/3/19 - XFree86 4.5.99.902</A></H1>
2649<ul>
2650	<li>modify prefix/suffix transformation in makefile to make
2651	    <code>uxterm</code> install properly on Cygwin.
2652
2653	<li>restore the sizeof-comparison for <code>struct lastlog</code>
2654	    added in <a href="#xterm_208">patch #208</a>,
2655	    rendered (mostly) obsolete in <a href="#xterm_210">patch #210</a>,
2656	    since an imake configuration can still turn that code on
2657	    (prompted by comment by David Dawes).
2658
2659	<li>remove feature for <code>FreeBSDArchitecture</code> from
2660	    <code>Imakefile</code> which would install xterm using the
2661	    <code>utmp</code> group since a standard FreeBSD system has no such
2662	    group, though it would support this configuration.  FreeBSD
2663	    packager uses the <code>configure</code> script, which can make the
2664	    appropriate check (prompted by comment by David Dawes).
2665
2666	<li>fixes for gcc redefinition warnings when built using imake
2667	    (reports by David Dawes, Marc La France).
2668</ul>
2669
2670<H1><A NAME="xterm_210">Patch #210 - 2006/3/12 - XFree86 4.5.99.902</A></H1>
2671<ul>
2672	<li>add configure check for workaround in
2673	    <a href="#xterm_208">patch #208</a>
2674	    for Solaris' inconsistent support for struct lastlog to quiet
2675	    compiler warnings
2676	    (prompted by David Dawes commit message for XFree86).
2677
2678	<li>fixes for BASE64 selection manipulation,
2679	    e.g., ensure that the string
2680	    terminator is written after cut-buffer data (report by Joe Allen).
2681
2682	<li>add vttests/paste64.pl script to test experimental option for
2683	    setting/getting selection data.
2684
2685	<li>add some error-checking in fontutils.c
2686	    (prompted by David Dawes commit message for XFree86).
2687
2688	<li>change xterm manpage to show the actual color resource names
2689	    <code>XtDefaultForeground</code> and
2690	    <code>XtDefaultBackground</code> rather than black and white
2691	    (prompted by discussion with Emanuele Giaquinta).
2692
2693	<li>add <code>utf8Title</code> resource and menu entry, allowing the
2694	    user to control whether title strings are interpreted as ISO-8859-1
2695	    or UTF-8 encoding (Novell #52655, #113206).
2696
2697	<li>change order of ifdef's for utempter versus platforms in
2698	    <code>Imakefile</code> to ensure a proper value for
2699	    <code>InstallXtermSetGID</code>
2700	    (prompted by Marc La France commit message for XFree86).
2701
2702	<li>update the cursor GCs when menu entry for reverse video is toggled.
2703	    (Redhat #183993).
2704
2705	<li>a memory-leak fix for <code>set_cursor_gcs()</code>
2706	    in <a href="#xterm_208">patch #208</a> broke the
2707	    <code>-cm</code> option (Redhat #182382).
2708</ul>
2709
2710<H1><A NAME="xterm_209">Patch #209 - 2006/2/12 - XFree86 4.5.99.22</A></H1>
2711<ul>
2712	<li>remove <code>setf</code> and <code>setb</code> from
2713	    <code>xterm-256color</code> terminfo entry to avoid issues with
2714	    applications that ignore the ANSI strings (report by Emanuele
2715	    Giaquinta).
2716
2717	<li>remove obsolete references to "Xorg" to avoid confusion with
2718	    "X.org" (prompted by David Dawes commit message for XFree86).
2719
2720	<li>improve initial layout performance for the toolbar configuration
2721	    by precalculating the height of the toolbar.
2722
2723	<li>remove menu entry for "Enable Curses Emulation" (to make room for
2724	    "Select To Clipboard").
2725
2726	<li>add resource <code>selectToClipboard</code>,
2727	    action <code>set-select</code> and a menu entry to allow
2728	    users to switch between PRIMARY and CLIPBOARD for select/paste.
2729
2730	<li>allow cursor to have the same color as foreground (text), since it
2731	    is rendered as reverse (Debian #350664).
2732
2733	<li>amend change for loading <code>utf8Fonts</code> resource from <a
2734	    href="#xterm_204">patch #204</a> to allow an ISO-8859-1 "normal"
2735	    font to be combined with an ISO-10646 font if the latter is given
2736	    via the <code>-fw</code> option or its corresponding resource
2737	    value (prompted by comment in Novell #49305).
2738
2739	<li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
2740	    <code>__GNU__</code> to set the controlling terminal (Debian
2741	    #348457).
2742
2743	<li>add configure option <code>--disable-leaks</code>.
2744
2745	<li>add a check in <code>Bell</code> to ensure that the VT100 widget
2746	    is realized, since it may be called by <code>xtermLoadFont</code>
2747	    given an incorrect font resource (Redhat #180450).
2748
2749	<li>improve initialization of wide-bold font by not using the derived
2750	    value when it happens to have few glyphs (report by Mboso Sampson).
2751
2752	<li>improve dynamic colors by not repainting the screen if only the
2753	    cursor color changes (request by Bram Moolenaar).
2754
2755	<li>fix menu initialization for tek4014 window broken in
2756	    <a href="#xterm_206">patch #206</a>.
2757
2758	<li>typo in manpage (Debian #351425).
2759
2760	<li>correct loop logic in <code>dotext</code> to prevent an infinite
2761	    loop if a wide character was just at the right margin when wrapping
2762	    was disabled (report by Serge van den Boom).
2763
2764	<li>initialize the saved-cursor data so a restore-cursor operation
2765	    without a preceding save-cursor operation will not modify the
2766	    foreground color.
2767
2768	<li>add a new selection feature: regular expressions, and new resources
2769	    which specify what happens on multiple mouse clicks:
2770	    <code>on2Clicks</code>,
2771	    <code>on3Clicks</code>,
2772	    <code>on4Clicks</code> and
2773	    <code>on5Clicks</code>.
2774
2775	<li>revert the <code>XTerm.ad</code> change from
2776	    <a href="#xterm_208">patch #208</a> (Debian #348384).
2777
2778	<li>fixes for the print-window to make it handle combining
2779	    characters in UTF-8 mode.
2780
2781	<li>add check to ensure that double-clicking to extend selection will
2782	    not extend it into the scrollback area.  This still allows users
2783	    to scroll back and select text (Debian #347415).
2784
2785	<li>add configure option <code>--with-tty-group</code> to help work
2786	    around deficiencies in packager's build environment (Debian
2787	    #349142).
2788
2789	<li>fix typo in configure script option
2790	    <code>--disable-narrowproto</code>
2791	    (report by David Mart&#237;nez Moreno).
2792
2793	<li>amend CF_X_FREETYPE changes for <code>pkg-config</code> check to
2794	    ensure that <code>Xft</code> is known to that tool (report and
2795	    patch by Emanuele Giaquinta).
2796
2797	<li>add an ifdef to allow <code>./configure --disable-active-icon</code>
2798	    to work, broken by new code for testing memory leaks in
2799	    <a href="#xterm_208">patch #208</a> (report by Brian Lindholm).
2800</ul>
2801
2802<H1><A NAME="xterm_208">Patch #208 - 2006/1/3 - XFree86 4.5.99.19</A></H1>
2803<ul>
2804	<li>add <code>charClass</code> resource to <code>XTerm.ad</code> and
2805	    <code>UXTerm.ad</code> which simplifies selecting URLs (prompted
2806	    by Kirill Ponomarew).
2807
2808	<li>modify install rule for <code>uxterm</code> to account for the
2809	    <code>--program-prefix</code>, etc., options by invoking the
2810	    transformed name of xterm rather than simply "xterm".
2811
2812	<li>modify configure <code>--with-app-defaults</code> option to allow
2813	    <code>--without-app-defaults</code>.
2814
2815	<li>add configure <code>--with-symlink</code> option to make it simpler
2816	    to install successive versions of <code>xterm</code> renamed using
2817	    the <code>--program-prefix</code>, etc., options with a symbolic
2818	    link pointing to the most recent.
2819
2820	<li>make <code>-iconic</code> option work with toolbar configuration
2821	    (GenToo #113604).
2822
2823	<li>suppress <code>lastlog</code> feature for 64-bit Solaris
2824	    configuration since that platform provides only a 32-bit interface
2825	    (report by Peter Bray).
2826
2827	<li>fix memory reallocation for the "UTF-8" menu entry when xterm is
2828	    started using the <code>+u8</code> option (reported by Jan Willem
2829	    Stumpel).
2830
2831	<li>add a configure check for the actual path of <code>luit</code>,
2832	    to work around broken <code>imake</code> configurations.
2833
2834	<li>add a configure check for <code>pkg-config</code> (Redhat Bugzilla
2835	    #173541).
2836
2837	<li>modify install-rule for <code>uxterm</code> to omit executable
2838	    suffix, e.g., for Cygwin.
2839
2840	<li>modify <code>sinstall.sh</code> to work around quirks in Cygwin
2841	    configuration.
2842</ul>
2843
2844<H1><A NAME="xterm_207">Patch #207 - 2005/11/13 - XFree86 4.5.99.16</A></H1>
2845<ul>
2846	<li>enable <code>lastlogx</code> support for NetBSD (was added, but
2847	    not enabled in <a href="#xterm_186">patch #186</a>).
2848
2849	<li>work around broken <code>lastlog.h</code> in glibc 2.3.5, which
2850	    includes <code>utmp.h</code>.
2851
2852	<li>revert part of recent XFree86 Imakefile change, restoring the
2853	    <code>-I.</code> needed for <code>xmkmf</code> builds of xterm
2854	    (XFree86 Bugzilla #1633,
2855	     reports by Alexander Pohoyda,
2856	     Matthieu Herrb).
2857
2858	<li>change compiled-in default for <code>printerCommand</code>
2859	    resource to an empty string.  People who want to use the
2860	    printer should be able to read the manual (Debian #311490).
2861
2862	<li>modify <code>Imakefile</code> to work around old problems in
2863	    <code>imake</code> configuration to allow test-builds using
2864	    <code>xmkmf</code> on Linux.  (This was not noticed since several
2865	    releases had broken definitions relating to Xft which were harder
2866	    to work around).
2867
2868	<li>link <code>resize</code> for SCO platforms (Kean Johnston).
2869</ul>
2870
2871<H1><A NAME="xterm_206">Patch #206 - 2005/11/3 - XFree86 4.5.99.15</A></H1>
2872<ul>
2873	<li>add configure <code>--with-app-defaults</code> option to allow
2874	    app-defaults directory for install-rules to be customized.
2875
2876	<li>remove default translations for <code>dabbrev-expand()</code>
2877	    due to conflicts with existing keyboard arrangements.
2878
2879	<li>remove redundant check for <code>_NET_WM_PID</code>
2880	    (report by Emanuele Giaquinta).
2881
2882	<li>set icon border width explicitly to work around fvwm problem
2883	    with active icon resizing (report by Steve Morris, analysis
2884	    by Dominik Vogt).
2885
2886	<li>modify resource files to make the font-resources a little
2887	    more specific, e.g., changing "*VT100*" to "*VT100.", to
2888	    make the distinction between VT100.font and VT100.utf8Fonts.font
2889	    sharper, in case a packager modifies one of those.
2890
2891	<li>expanded comments in <code>UXTerm.ad</code> regarding the
2892	    font resources (Debian #319179).
2893
2894	<li>add <code>--enable-narrowproto</code> configure option to
2895	    accommodate X.org "modular" build (report by Stephan Hermann,
2896	    GenToo #17220).
2897
2898	<li>fix typo in xterm.man description of <code>+wf</code> (patch
2899	    by Tobias Stoeckmann).
2900
2901	<li>add <code>scrollBarBorder</code> resource (request by Floyd L
2902	    Davidson).
2903
2904	<li>modify <code>xterm-new</code> terminfo entry to use capabilities
2905	    for shifted scroll forward/reverse as shifted cursor up/down.
2906
2907	<li>correct updating of checkmark for toolbar entry in popup menu
2908	    (report by Emanuele Giaquinta).
2909
2910	<li>fix ifdef's to allow compiling with toolbar and without tek4014
2911	    (patch by Emanuele Giaquinta).
2912
2913	<li>use <code>openpty()</code> for Darwin port (patch by Emanuele
2914	    Giaquinta).
2915
2916	<li>fix GenToo #90697 a different way, postponing the logic in
2917	    <code>SetupToolbar</code> until the toolbar is actually needed,
2918	    i.e., the <code>+tb</code> option is handled as expected.
2919
2920	<li>revert fix made in <a href="#xterm_203">patch #203</a> for GenToo
2921	    #90697.  That introduced a problem with the control mouse
2922	    click-popups, while most of the performance problems can be
2923	    resolved by restricting the menu fonts (report by Emanuele
2924	    Giaquinta).
2925
2926	<li>fix a file-descriptor leak when calling <code>openpty()</code>
2927	    (OpenBSD system/4561).
2928
2929	<li>make a special case of resizing work like vt100: a hard reset
2930	    also resets the 132/80 mode.  The code to support this was
2931	    present since X11R5, but not used because the corresponding
2932	    initial state of the <code>-132</code> option was not saved.
2933
2934	<li>restore window manager hints after <code>XtMakeResizeRequest()</code>
2935	    calls.  One instance from <a href="#xterm_205">patch #205</a>
2936	    resulted in the window manager displaying pixels rather than
2937	    than characters after selecting a different font size (FreeBSD
2938	    ports/87424).
2939
2940	<li>remove special case for Darwin in CF_XOPEN_SOURCE
2941	    (Emanuele Giaquinta).
2942
2943	<li>modify parsing of control sequence <code>CSI&nbsp;T</code>
2944	    to allow scroll-down
2945	    to be sent while mouse tracking is enabled (request by
2946	    D Hugh Redelmeier).
2947
2948	<li>correct termcap "me" (mode-end) string so it does not modify the
2949	    alternate character set (report by Andrey Chernov).
2950
2951	<li>correct size-comparison in HandleInterpret() broken in changes
2952	    from <a href="#xterm_201">patch #201</a> to allocate input
2953	    buffer (Debian #334317).
2954
2955	<li>amend adjustments for scrollbar layout from
2956	    <a href="#xterm_204">patch #204</a> to make
2957	    this apply only to the toolbar configuration.  In the non-toolbar
2958	    configuration, the resulting scrollbar was shifted by its
2959	    borderwidth (report by Matthieu Herrb).
2960
2961	<li>add select-cursor-extend() action.
2962
2963	<li>fix some broken href's in xterm.log.html, and typo in the
2964	    INSTALL file (report/patch by David Mart&#237;nez Moreno).
2965
2966	<li>modify <code>Imakefile</code> to use setgid mode for installing
2967	    with Linux, OpenBSD and FreeBSD.
2968
2969	<li>add configure --with-setuid and --with-reference options to
2970	    allow packagers more flexibility in customizing install
2971	    permissions.
2972
2973	<li>generalize and make optional (configure --with-utmp-setgid)
2974	    the change made for XFree86 Bugzilla #878 in
2975	    <a href="#xterm_205">patch #205</a>
2976	    (FreeBSD bug report #ports/86663).
2977</ul>
2978
2979<H1><A NAME="xterm_205">Patch #205 - 2005/9/18 - XFree86 4.5.99.12</A></H1>
2980<ul>
2981	<li>correct a typo in CF_FUNC_TGETENT introduced in <a
2982	    href="#xterm_198">patch #198</a> fix for Gentoo #69926.
2983
2984	<li>implement logic in termcap query to process multiple parameters
2985	    as documented in ctlseqs.ms
2986
2987	<li>fix buffer size used for termcap query, which was not long enough
2988	    for the terminfo "colors" name (patch by Bradd W. Szonye).
2989
2990	<li>add configure option --enable-readline-mouse, which turns on the
2991	    experimental OPT_READLINE code (patch by Ilya Zakharevich).
2992
2993	<li>for FreeBSD, drop setuid privileges after startup
2994	    (XFree86 Bugzilla #878, report/patch by Alexander Pohoyda)
2995
2996	<li>add menu entry (alt-esc) and corresponding action (alt-sends-esc)
2997	    to toggle the <code>eightBitInput</code> resource setting.
2998
2999	<li>generate configure script with autoconf 2.52 (patched) to use
3000	    the feature therein which forces the script's locale to POSIX
3001	    (Gentoo Bugzilla #105369).
3002
3003	<li>modify computation of rows/columns on resize to avoid extending
3004	    beyond the given limits, e.g., if resizing in response to a
3005	    "maximize" in Gnome or KDE which do not use the window manager
3006	    hints for this case (Debian #289123, Novell #61153).
3007
3008	<li>modifications to work with z/OS 1.4 (Paul Giordano).
3009
3010	<li>improve error-reporting when chown/chmod of the pseudo-terminal
3011	    fails, e.g., if a copy of xterm which was designed to work with
3012	    old-style pseudo-terminals is not installed setuid or setgid
3013	    (report by Jeremy C. Reed).
3014
3015	<li>patches from Emanuele Giaquinta:
3016	    <ul>
3017	    <li>ctlseqs.ms says that primary and secondary DA accept a
3018	        nonzero parameter, which is incorrect.  Also modify code
3019		to agree with this.
3020
3021	    <li>correct a comment in 88colres.pl
3022
3023	    <li>ctlseqs.ms says that the DEC Set/Reset control sequences for
3024		the backarrow key make it send DEL/BS, respectively, while it's
3025		the opposite.
3026
3027	    <li>update the menu entries for the metaSendsEscape, deleteIsDEL
3028		and numLock resources when changing them with the corresponding
3029		DEC Set/Reset control sequences.
3030	    </ul>
3031
3032	<li>fixes for configure script:
3033	    <ul>
3034	    <li>add special case for QNX, defining _QNX_SOURCE.
3035	    <li>check for preprocessors which do not perform -U and -D options
3036	        in the given order.
3037	    <li>improve macro to determine gcc version
3038	    <li>improve check for Intel compiler and related warning options
3039	    </ul>
3040
3041	<li>update config.guess, config.sub
3042
3043	<li>improve fix from <a href="#xterm_198">patch #198</a> for
3044	    <code>Cleanup()</code> by ensuring it is not called from the
3045	    SIGCHLD handler (patch by Todd Miller (OpenBSD CVS)).
3046
3047	<li>eliminate a retry for a better-matching bold font, to work around
3048	    recent font server changes.
3049
3050	<li>fixes for Novell #113277:
3051	    <ul>
3052	    <li>specify weight for wide font which may be derived from
3053	        normal fontname.
3054	    <li>cache the derived wide- and widebolt-fontnames.
3055	    </ul>
3056
3057	<li>workaround for GenToo Bugzilla #100728.
3058
3059	<li>add menubar's border width to layout computation.  Normally this
3060	    is zero, but patterns such as <code>XTerm*borderWidth:1</code>
3061	    would give poor layout for the toolbar configuration.
3062</ul>
3063
3064<H1><A NAME="xterm_204">Patch #204 - 2005/8/4 - XFree86 4.5.99.9</A></H1>
3065<ul>
3066	<li>work around quirk in shell which allowed user to "run" uxterm
3067	    script when there was no UTF-8 locale installed by entering
3068	    "sh -x uxterm".  Also popup an xmessage to show the problem
3069	    for users who run this via a GUI (Debian #318513).
3070
3071	<li>disallow changes to fonts, toolbar and scrollbar when the vt100
3072	    window is iconified, to simplify management of the active icon.
3073
3074	<li>fixes to make <code>-geom</code> option work properly with the
3075	    toolbar configuration (Gentoo Bugzilla #90717, #91967).
3076
3077	<li>minor improvements to scrollbar layout: ensure that the scrollbar
3078	    border is zero if the vt100 border is zero.
3079
3080	<li>improve initialization due to <code>utf8</code> resource by
3081	    loading the <code>utf8Fonts</code> resource in the case where
3082	    <code>locale</code> resource is false.  Also in this case, do
3083	    not disable switching UTF-8 mode on/off.
3084
3085	<li>minor optimization of TrueType font-loading, loads italic font
3086	    only when needed.
3087
3088	<li>correct variable used to store temporary result from lookup of bold
3089	    font, when initializing the wide-bold-font data and no immediate
3090	    match is found by asking for a bold variant of the wide-font.  The
3091	    result was to use overstriking rather than the actual bold font
3092	    (Debian #318162, patch by Eugene Konev).
3093
3094	<li>add checks to ensure vt100 widget is realized when it might be
3095	    updated via actions handled from a tek4014-only configuration.
3096</ul>
3097
3098<H1><A NAME="xterm_203">Patch #203 - 2005/7/6 - XFree86 4.5.99.7</A></H1>
3099<ul>
3100	<li>modify initialization of <code>allowSendEvents</code> and
3101	    <code>allowWindowOps</code> to prevent modification with the
3102	    editres protocol.
3103
3104	<li>fix compiler warning for NetBSD by including util.h in main.c
3105	    (XFree86 Bugzilla #1596).
3106
3107	<li>fix to build on Darwin 8.x, which no longer provides
3108	    <code>setpgrp()</code> (patch by Min Sik Kim).
3109
3110	<li>adapted fixes for Legend (SCO) from diffs attached to
3111	    Freedesktop.Org Bugzilla #3180.
3112
3113	<li>fix typo in xterm manpage description of <code>-ls</code> option
3114	    (Freedesktop.Org Bugzilla #3543).
3115
3116	<li>add support for interpreting the underline attribute as an italic
3117	    font in Xft mode (patch by Chuck Blake).
3118
3119	<li>improve initialization of toolbar so that individual pulldown
3120	    menus are initialized on demand, as they are in the scenario
3121	    where they are invoked as popup menus (GenToo Bugzilla #90697).
3122
3123	<li>fix logic in <code>find_utmp</code>, which did not reset result
3124	    in <code>getutid()</code>, causing an infinite loop in some
3125	    conditions (report by Emil Mikulic).
3126
3127	<li>set the <code>_NET_WM_PID</code> property (GenToo Bugzilla #91008).
3128
3129	<li>modify ifdef's in ptyx.h and xterm_io.h to build with DragonFly
3130	    (patch by Jeroen Ruigrok).
3131
3132	<li>change default values for <code>minBufSize</code> and
3133	    <code>maxBufSize</code> to 4096 and 32768 respectively so that the
3134	    initial read request will match the value from before changes to
3135	    use <code>sched_yield()</code>.
3136
3137	<li>make paste of UTF-8 faster for Western character sets by checking
3138	    range of incoming data (patch by Joe Allen).
3139
3140	<li>add experimental option to allow
3141	    applications to get or set the selection data as a BASE64 string
3142	    (adapted from patch by Joe Allen).
3143
3144	<li>fix an off-by-one error parsing <code>-S/nn</code> option
3145	    (Debian #311438, report/fix by Peter Chubb).
3146
3147	<li>fix an initialization bug from
3148	    <a href="#xterm_201">patch #201</a> that broke logging
3149	    (report by Rodney Thayer).
3150
3151	<li>amend change to command-line processing in
3152	    <a href="#xterm_201">patch #201</a> to avoid
3153	    conflict with <code>-e</code> option (report by Servatius Brandt).
3154
3155	<li>suppress configure check for <code>_XOPEN_SOURCE</code> on
3156	    darwin.
3157
3158	<li>update config.guess, config.sub
3159</ul>
3160
3161<H1><A NAME="xterm_202">Patch #202 - 2005/5/2 - XFree86 4.5.99.3</A></H1>
3162<ul>
3163	<li>add extended shift- and control-modifier cursor keys to
3164	    "xterm+pcfkeys" terminfo entry to correspond to ncurses 20050430
3165	    patch.
3166
3167	<li>fix a rare case where text would be written with the wrong colors
3168	    because output of scrolled text would reset the colors and the
3169	    new text would be written with the same colors (report/testcase
3170	    by Thomas Glanzmann).
3171
3172	<li>rename <code>$CMD</code> variable in <code>plink.sh</code> because
3173	    it is a reserved symbol in bash 3.00.16 (report by Ted Taylor).
3174
3175	<li>add environment variables <code>$XTERM_SHELL</code> and
3176	    <code>$XTERM_VERSION</code>
3177	    (request by Zdenek Sekera).
3178
3179	<li>corrected workaround for background color of menubar, which gave
3180	    a too-broad expression, coloring the background of the VT100
3181	    widget unless overridden by another resource setting.
3182
3183	<li>correct an error in the logic which decides when
3184	    <code>sched_yield()</code> is run; it would occasionally hang when
3185	    contending with other pseudo-terminal applications such as screen
3186	    (report by Kirill Ponomarew).
3187
3188	<li>modify initialization to decide whether to default to built-in
3189	    <code>wcwidth()</code> versus system's version based on the
3190	    starting locale and whether the system's version is poor quality
3191	    (suggested by Bram Moolenaar).
3192
3193	<li>update table for <code>mk_width()</code> from UnicodeData 4.1.0
3194	    using Markus Kuhn's <code>uniset</code> script.
3195</ul>
3196
3197<H1><A NAME="xterm_201">Patch #201 - 2005/4/21 - XFree86 4.5.99.2</A></H1>
3198<ul>
3199	<li>improve resource files to show how the menubar and popup menus can
3200	    be colored (prompted by report by Joe Wells).
3201
3202	<li>modify parsing of OSC (and SOS, etc), strings so their contents
3203	    are not interpreted as UTF-8.  This allows non-ASCII title strings
3204	    to be set, provided that the window manager complies (report by
3205	    Thomas Wolff).
3206
3207	<li>improved some of the built-in line-drawing glyphs.
3208
3209	<li>correct color of "box" character drawn for line-drawing glyph 1
3210	    (report by Nicolas George).
3211
3212	<li>improve behavior when switching to UTF-8 mode after startup so
3213	    xterm will check if the current fonts are already wide
3214	    (ISO10646-1).  If they are not, xterm will use the
3215	    <code>utf8Fonts</code> subresource to load appropriate fonts
3216	    (request by Bram Moolenaar).
3217
3218	<li>modify logic for setting title-string so it applies to the current
3219	    widget rather than the vt100 widget.
3220
3221	<li>modify initialization for wide-bold fontname, to search for one
3222	    if none is given (report by Michael Schroeder).
3223
3224	<li>add resource <code>mkWidth</code> and command-line option
3225	    <code>-mk_width</code> to control whether xterm uses the built-in
3226	    version of wcwidth().
3227
3228	<li>add resource settings for minimum/maximum input buffer size, and
3229	    call to <code>sched_yield</code> to improve performance with newer
3230	    Linux kernels (adapted from patch by Nicolas George).
3231
3232	<li>correct computation of width for wide characters with the invisible
3233	    attribute (report by Thomas Wolff).
3234
3235	<li>modify interaction between <code>+u8</code> and <code>locale</code>
3236	    resource to allow the command-line option to override the resource
3237	    (requested by Thomas Wolff).
3238
3239	<li>add a limit check for scrolling margins in a one-line screen,
3240	    overlooked in fixes for
3241	    <a href="#xterm_198">patch #198</a> (Debian #297430).
3242
3243	<li>correct treatment of <code>iconBorderWidth</code> for resizing
3244	    an active-icon, and its description in manpage (Debian #296592).
3245
3246	<li>modify configure script <code>--disable-imake</code> to use the
3247	    script's definitions anyway if it cannot detect imake (prompted
3248	    by FreeBSD bug 77408).
3249
3250	<li>ignore error in the I/O initialization that tries to set the
3251	    tty to 7-bit input for the case where <code>eightBitInput</code>
3252	    resource is false (Debian #298551).
3253
3254	<li>modify command-processing to accept an optional parameter that
3255	    tells xterm which shell program to use (request by Zdenek Sekera).
3256
3257	<li>add simpler resource <code>keyboardType</code> which, when set,
3258	    overrides the individual keyboard-type resources and eliminates
3259	    the possibility of conflict between them.
3260
3261	<li>add initialization for <code>scoFunctionKeys</code> resource
3262	    (report by Rick K).
3263
3264	<li>correct logic of <code>ReallocateBufOffsets()</code> which did not
3265	    copy the content of the old screen buffer to the proper location,
3266	    making a repaint clear after switching to wide-character mode
3267	    (report by Bram Moolenaar):
3268
3269	<li>implement the remaining pieces to make xterm allocate cells for
3270	    wide-characters when the "UTF-8" menu entry is selected.  Also,
3271	    load the UTF-8 font when that menu entry is selected, or the escape
3272	    sequence for UTF-8 mode is received (report by Bram Moolenaar):
3273
3274	<li>add command-line options (<code>-tb</code>, <code>+tb</code>) and
3275	    resource <code>toolBar</code> to allow menu/toolbar to disabled or
3276	    enabled at startup (prompted by reports by Joe Wells).
3277
3278	<li>correct typo in configure script's --enable-dec-locator option
3279	    (report by Bram Moolenaar).
3280</ul>
3281
3282<H1><A NAME="xterm_200">Patch #200 - 2005/2/6 - XFree86 4.4.99.23</A></H1>
3283<ul>
3284	<li>increase color pairs value for xterm-256color and xterm-88color to
3285	    match ncurses, which has an experimental option to support this.
3286
3287	<li>modify ifdef's to make AIX use termios rather than termio; the
3288            struct sizes for the two were not the same.
3289
3290	<li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
3291	    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and AIX.
3292
3293	<li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch by Min
3294	    Sik Kim).
3295
3296	<li>modify find_utmp() to initialize the whole utmpx struct (except
3297	    ut_id), since that is needed for OSF1 4.0D to prevent an infinite
3298	    loop on exit.
3299
3300	<li>add configure check before adding -D_POSIX_SOURCE since some
3301	    platforms predefine it, e.g., cygwin.
3302
3303	<li>add simplified sed expressions in CF_IMAKE_CFLAGS configure script
3304	    macro to ensure value for PROJECTROOT is quoted on Solaris, i.e.,
3305	    when nested <code>\(</code> and <code>\)</code> are not interpreted
3306	    correctly.
3307
3308	<li>correct DEC rectangle operations to reset state after completing
3309	    the operations.
3310
3311	<li>modify CASE_ST handling in charproc.c to ensure that the parse
3312	    state is reset even if xterm is not currently processing an OSC or
3313	    other string (patch by Johnny Billquist forwarded by Matthias
3314	    Scheler, NetBSD xsrc/29003).
3315
3316	<li>fix OS/2 build for innotek_libc (patch by David Yeo).
3317
3318	<li>fix a regression from <a href="#xterm_197">patch #197</a> fix for
3319	    Debian #277832 which disowned the selection if it was scrolled,
3320	    e.g., by the user pressing return at the bottom of the screen
3321	    (Debian #291787).
3322
3323	<li>move the warning/exit for missing $DISPLAY into the error handler
3324	    in case <code>-display</code> is given, and the connect fails for
3325	    some other reason.
3326</ul>
3327
3328<H1><A NAME="xterm_199">Patch #199 - 2005/1/17 - XFree86 4.4.99.22</A></H1>
3329<ul>
3330	<li>instead of setting <code>$DISPLAY</code>, check for the unset
3331	    variable and warn/exit on this condition (comments by H Merijn
3332	    Brand and Bernhard R Link).
3333
3334	<li>fix a typo in Imakefile from <a href="#xterm_198">patch #198</a>
3335	    (reports/patches by Stefan Dirsch, Mike Castle).
3336</ul>
3337
3338<H1><A NAME="xterm_198">Patch #198 - 2005/1/13 - XFree86 4.4.99.21</A></H1>
3339<ul>
3340	<li>set <code>$DISPLAY</code> to ":0" if it is not set.
3341
3342	<li>add <code>utmpDisplayId</code> resource to allow users to control
3343	    whether the display identifier (display number and screen number)
3344	    are retained in the connection information recorded in utmp
3345	    (discussion with Edoardo Tirtarahardja).
3346
3347	<li>add <code>bellOnReset</code> resource to allow users to disable
3348	    bell which sounds on hard reset since <a href="#xterm_183">patch
3349	    #183</a> changes to DECSCL (discussion with Danek Duvall).
3350
3351	<li>improve <code>$WINDOWID</code> for configuration with toolbar by
3352	    making it refer to the top-level shell rather than the parent of
3353	    the current window.  For that case, the parent is a form widget,
3354	    which does not have a name, which made the <code>$WINDOWID</code>
3355	    not very useful as a parameter for <code>xwininfo</code>
3356	    (suggested by Dave Bodenstab).
3357
3358	<li>fix a typo in WhichVFont() macro
3359	    from <a href="#xterm_197">patch #197</a> changes
3360	    which broke the --disable-active-icon configuration
3361	    (report by Ralf S. Engelschall).
3362
3363	<li>improve some limit checks (Gentoo Bugzilla #75604).
3364
3365	<li>add --disable-setuid option to configure script (Gentoo Bugzilla
3366	    #76543).
3367
3368	<li>add --disable-full-tgetent option to configure script, allowing one
3369	    to ignore a termcap library in favor of ncurses/curses (Gentoo
3370	    Bugzilla #69926).
3371
3372	<li>modify configure script to choose useful warning options for Intel
3373	    version 8.0 compiler.
3374
3375	<li>update config.guess, config.sub
3376
3377	<li>make active-icon work properly when TrueType fonts are used
3378	    (Debian #286068).
3379
3380	<li>correct change from <a href="#xterm_157">patch #157</a> which uses
3381	    getlogin() to check for an alias; the storage used for the related
3382	    getpwuid() call was overwritten by the data used for comparison
3383	    (patch by Per Hedeland).
3384
3385	<li>correct case of SCS for character set 0 (line-drawing) to allow it
3386	    to be selected into GR.
3387
3388	<li>fix a file-descriptor leak (Redhat Bugzilla #139597).
3389
3390	<li>modify <code>creat_as()</code> to only fork if xterm is actually
3391	    running as setuid and/or setgid.  This works around a Cygwin bug
3392	    which hangs when logging is enabled and makes xterm a little
3393	    faster for systems using interfaces such as utempter (report by
3394	    Al Goodman).
3395
3396	<li>modify <code>Cleanup()</code> to avoid operations such as X calls
3397	    that might use unsafe functions when it is called by a signal
3398	    handler (report by Michiel Boland).
3399
3400	<li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM changes
3401	    from <a href="#xterm_197">patch #197</a> that
3402	    broke DECSET 38:  switch to Tek4014 emulation (report by Dave
3403	    Bodenstab).
3404
3405	<li>fix for manpage escapes (Marc La France).
3406
3407	<li>improve on IRIX-specific change for Imakefile in XFree86 CVS versus
3408	    resize linking against termcap library to reflect definitions for
3409	    USE_TERMCAP in resize.c
3410</ul>
3411
3412<H1><A NAME="xterm_197">Patch #197 - 2004/11/30 - XFree86 4.4.99.19</A></H1>
3413<ul>
3414	<li>modify configure script to remove empty "-DPROJECTROOT=" definition
3415	    which resulted unusable values for luit's default path.
3416
3417	<li>update precompose.c based on Unicode 4.0.1
3418
3419	<li>several minor fixes based on Intel compiler warnings.
3420
3421	<li>change default translations so a <code>BtnDown</code> which is
3422	    not recognized is simply ignored rather than emitting a bell.
3423	    That makes it less obtrusive when the user tries to use a mouse
3424	    which provides more capabilities than the X mouse driver supports,
3425	    e.g., one with a horizontal scroll wheel (Debian #265133).
3426
3427	<li>note in xterm's manpage that <code>translations</code> is not
3428	    specific to xterm (Debian #278897).
3429
3430	<li>modify uxterm script to use locale program to verify if the
3431	    derived locale is installed (Debian #246398).
3432
3433	<li>correct font handling for active icon when in UTF-8 mode (report
3434	    by Paolo Liberatore).
3435
3436	<li>make active-icon and toolbar configurations work together.
3437
3438	<li>modify the criteria for disowning primary selection.  Previously,
3439	    this happened anytime the cursor was moved before the end of the
3440	    selection.  That would ensure that any insert/delete of char or
3441	    line, as well as scrolling, would disown the selection.  The
3442	    new criteria change this to checking if the operations would
3443	    modify the data which is highlighted (Debian #277832).
3444
3445	<li>reimplement <code>DECALN</code> with functions for vt420 rectangles,
3446	    fixes selection for this case.
3447
3448	<li>implement vt420 rectangle operations.
3449
3450	<li>add parsing, for debug/test of vt220 soft-fonts.
3451
3452	<li>add menu entry, actions and escape sequence to allow
3453	    enabling/disabling toolbars at runtime.
3454
3455	<li>improve rendering for Xft, allow it to draw non-linedrawing
3456	    characters such as "pi", which were drawn from internal tables
3457	    with <a href="#xterm_180">patch #180</a>
3458	    (Freedesktop.org Bugzilla #1260).
3459
3460	<li>add configure option <code>--enable-mini-luit</code>, ifdef'd the
3461	    mini-luit feature with <code>OPT_MINI_LUIT</code>.
3462
3463	<li>add mini-luit feature, which supports Latin9 directly rather than
3464	    via luit, provided that Unicode fonts are used (Freedesktop.org
3465	    Bugzilla #1571, request by Stefan Dirsch, patch by Michael
3466	    Schroeder).
3467
3468	<li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x kernels,
3469	    set the corresponding flag for the slave pty, to enable UTF-8
3470	    interpretation of backspace in cooked mode (Freedesktop.org
3471	    Bugzilla #1578, request by Stefan Dirsch).
3472
3473	<li>modify <code>faceSize</code> resource to use a floating-point
3474	    internal value (adapted from patch by Sam Stephenson).
3475
3476	<li>correct handling selection of tabs over cleared space in UTF-8
3477	    mode.  In this special case, xterm represents the whitespace with
3478	    a null rather than a space character (Debian #276447).
3479
3480	<li>amend fix for infinite loop from <a href="#xterm_192">patch
3481	    #192</a> to check if there is wrapped text to output in a following
3482	    iteration (Debian #273202).
3483
3484	<li>fixes ifdef'd with <code>__INTERIX</code> to allow building with
3485	    Interix (Windows Services for UNIX) 3.5 using the xlibs libraries
3486	    from freedesktop.org (patch by Min Sik Kim).
3487
3488	<li>amend solution for Debian #252873, #260471 from <a
3489	    href="#xterm_194">patch #194</a> by making the cursor not
3490	    explicitly colored if only the foreground color is set, and the
3491	    cursor is on a blank space (Debian #275473).
3492
3493	<li>correct logic for send/receive mode (SRM) with regard to control
3494	    characters.
3495
3496	<li>fix masking of invisible text in wide-character mode, which did
3497	    not work for line-drawing characters.
3498
3499	<li>incorporate CF_XOPEN_SOURCE into configure script, replacing
3500	    CF_GNU_SOURCE.
3501</ul>
3502
3503<H1><A NAME="xterm_196">Patch #196 - 2004/8/15 - XFree86 4.4.99.12</A></H1>
3504<ul>
3505	<li>add a special case to configure script to ignore NetBSD's
3506	    <code>grantpt()</code> which was recently added (but not part of a
3507	    release), until someone is able to ensure that xterm can use it
3508	    (report by Min Sik Kim).
3509
3510	<li>clear the buffer returned by getutid().  This fixes an infinite
3511	    loop on some platforms introduced in <a href="#xterm_193">patch
3512	    #193</a> by Debian #256468 fix (report by David Ellement).
3513</ul>
3514
3515<H1><A NAME="xterm_195">Patch #195 - 2004/8/8 - XFree86 4.4.99.11</A></H1>
3516<ul>
3517	<li>correct length used for blinking text, make the last column blink
3518	    (patch by Alexander V Lukyanov).
3519
3520	<li>start changes to make doublesize characters work with TrueType
3521	    fonts (see <a href="#xterm_44">patch #44</a>).
3522
3523	<li>trim leading/trailing blanks from color resources as done for
3524	    other strings in <a href="#xterm_167">patch #167</a>.
3525
3526	<li>fixes for <code>showBlinkAsBold</code> resource (report by
3527	    Christoph Berg).
3528</ul>
3529
3530<H1><A NAME="xterm_194">Patch #194 - 2004/7/27 - XFree86 4.4.99.11</A></H1>
3531<ul>
3532	<li>change clearing operations so foreground color attribute is not
3533	    set.  Usually this is benign, but in some cases when the cursor
3534	    color is not set explicitly, the cursor would show this color
3535	    (Debian #252873, #260471).
3536
3537	<li>add extra state (cursor-moved) to guard against deciding that the
3538	    cursor did not require repainting after an indexing operation
3539	    that leaves the cursor in the same location on the screen.
3540
3541	<li>fix a case where a full-screen indexing operation would
3542	    not restore the cursor-busy state.
3543
3544	<li>fix a repainting bug introduced in
3545	    <a href="#xterm_180">patch #180</a>:  when using a font
3546	    lacking line-drawing characters, a repaint of the screen could
3547	    skip horizontally an extra amount after filling in the missing
3548	    character (reports by Nicolas George, Hans de Goede, Redhat
3549	    Bugzilla #128341).
3550
3551	<li>rename terminfo fragment "xterm-pc-fkeys" to "xterm+pcfkeys" for
3552	    consistency with ncurses.
3553</ul>
3554
3555<H1><A NAME="xterm_193">Patch #193 - 2004/7/19 - XFree86 4.4.99.10</A></H1>
3556<ul>
3557	<li>fix for wide-character selection from OpenBSD CVS
3558	    (report/patch by Matthieu Herrb).
3559
3560	<li>modify initialization and cleanup of utmp data to also compare
3561	    the <code>ut_line</code> member (Debian #256468).
3562
3563	<li>modify check on focus-change to ignore <code>FocusOut</code> events
3564	    generated by <code>XGrabKeyboard</code>.  This fixes a case where
3565	    the text cursor would act as if focus were lost when selecting the
3566	    "Secure Keyboard" menu option.
3567
3568	<li>add <code>gen-pc-fkeys.pl</code> script, use that to generate
3569	    terminfo fragment corresponding to the pc-style function keys.
3570
3571	<li>fix a case where the checkmark by the "VT220 Keyboard" menu entry
3572	    was not set on startup.
3573
3574	<li>separated two methods for making the cursor blink (menu and
3575	    escape sequence) by using the menu as the primary method and
3576	    XOR'ing the state of the escape sequence against that.
3577
3578	<li>modify logic for enabling blinking cursor via escape sequence as
3579	    well as the related save/restore operations so this is only
3580	    available if the <code>cursorBlink</code> resource was set on
3581	    startup.
3582</ul>
3583
3584<H1><A NAME="xterm_192">Patch #192 - 2004/7/12 - XFree86 4.4.99.9</A></H1>
3585<ul>
3586	<li>change resource settings for color4 and color12, add some discussion
3587	    in <code>XTerm-col.ad</code> (Debian #241717).
3588
3589	<li>add a note in xterm manpage discussing the difference between
3590	    alt- and meta-keys, and the way the latter is used in the
3591	    <code>eightBitInput</code> resource.
3592
3593	<li>add a note in xterm manpage regarding possible conflict between
3594	    resource settings for <code>xterm.vt100.font</code> and
3595	    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).
3596
3597	<li>add compile-time customization of <code>backarrowKeyIsErase</code>
3598	    and <code>ptyInitialErase</code> default resource values
3599	    (adapted from OpenBSD CVS).
3600
3601	<li>change parameter of <code>FIONREAD</code> <code>ioctl()</code> call
3602	    from long to int
3603	    (discussion on tech-x11@netbsd.org regarding LP64 by
3604	    John Heasley and Matthias Scheler).
3605
3606	<li>modify configure script options for Athena widgets to work as
3607	    expected for "--without-Xaw3d", etc., (GenToo Bugzilla #53455).
3608
3609	<li>add case to uxterm to accommodate locales ending with "@euro",
3610	    e.g., fr_FR.UTF-8@euro (Debian #255197, report/analysis by
3611	    Matthieu Lagouge).
3612
3613	<li>add special case for VT100 graphic's "box" character (discussion
3614	    with Ben Armstrong).
3615
3616	<li>add missing initialization for bitmap-font sizes needed to make
3617	    fonts menu work with TrueType fonts (report by Ben Armstrong).
3618
3619	<li>save the fontnames for bold fonts that are derived from normal
3620	    fonts, or from the <code>boldFont</code> resource, so the same
3621	    value is restored when switching with the VT Fonts menu (Debian
3622	    #256086).
3623
3624	<li>fix manpage preprocessing (Marc La France).
3625
3626	<li>fix typo in manpage's description of character classes (Debian
3627	    #257073).
3628
3629	<li>modify terminfo to accommodate luit, which relies on G1 being used
3630	    via an ISO-2022 escape sequence (Debian #254316, analysis by
3631	    Juliusz Chroboczek).
3632
3633	<li>modify Makefile.in rule for ctlseqs.txt to work around groff SGR
3634	    misfeature.
3635
3636	<li>modify <code>XTerm.ad</code> to set <code>saveLines</code> default
3637	    to 1024 (Redhat Bugzilla #127132).
3638
3639	<li>add a limit-check in <code>dotext()</code> to prevent infinite
3640	    loop in a corner case of UTF-8 configuration.
3641
3642	<li>update config.guess, config.sub
3643</ul>
3644
3645<H1><A NAME="xterm_191">Patch #191 - 2004/6/6 - XFree86 4.4.99.7</A></H1>
3646<ul>
3647	<li>correct options parsing for <code>-into</code> option so it
3648	    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
3649	    report/patch by James Armstrong).
3650
3651	<li>fix ifdef's for <code>OPT_COLOR_RES2</code>
3652	    so that the fake resource table introduced in
3653	    <a href="#xterm_188">patch #188</a>
3654	    is not compiled if it is empty.
3655	    This happened to work with gcc (report by Joel Konkle-Parker).
3656
3657	<li>reorganize ptydata.c to use one input buffer shared between
3658	    the VTxxx and tek4014 emulators.  In the new scheme, UTF-8
3659	    decoding is performed on characters as they are needed by the
3660	    state machine rather than on buffers as they are read.
3661
3662	<li>work around change in quoting of PROJECTROOT symbol when using
3663	    configure script, from changes made in
3664	    <a href="#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS
3665	    (GenToo Bugzilla #50982).
3666</ul>
3667
3668<H1><A NAME="xterm_190">Patch #190 - 2004/5/25 - XFree86 4.4.99.6</A></H1>
3669<ul>
3670	<li>correct state for values in the range 128-159 after translating
3671	    from UTF-8: this should be ignored unless the user overrides it
3672	    with the <code>allowC1Printable</code> resource (reported by
3673	    Simon Strandgaard).
3674
3675	<li>add configure-script check for nl_langinfo(CODESET), use this to
3676	    replace check of environment variables for UTF-8.
3677
3678	<li>change Makefile.in rules for 256colres.h and 88colres.h so they
3679	    are only made if they do not exist.  The maintainer-clean rule
3680	    will remove these files; they require perl to be made.
3681
3682	<li>remove check in configure script --enable-toolbar that suppressed
3683	    this option when building with Xaw7.
3684
3685	<li>apply fixes to Tektronix widget used for VT100 widget to make
3686	    toolbar work with Xaw7 (XFree86 4.x).
3687</ul>
3688
3689<H1><A NAME="xterm_189">Patch #189 - 2004/5/16 - XFree86 4.4.99.6</A></H1>
3690<ul>
3691	<li>do not call xim_real_init() if <code>openIm</code> resource is
3692	    false (Debian #249025).
3693
3694	<li>minor improvements to built-in line-drawing.
3695
3696	<li>fix a few portability issues with dynamic abbreviation support,
3697	    i.e., did not compile on Tru64.
3698
3699	<li>modify constraints in form used to layout toolbar, to work with
3700	    newer Xaw in XFree86 4.x.
3701</ul>
3702
3703<H1><A NAME="xterm_188">Patch #188 - 2004/5/12 - XFree86 4.4.99.6</A></H1>
3704<ul>
3705	<li>correct table entry for DEL in the ground state, which marked it
3706	    as a printable character from <a href="#xterm_171">patch #171</a>
3707	    (report by D Hugh Redelmeier).
3708
3709	<li>improve fix in <a href="#xterm_186">patch #186</a> for failure in
3710	    xim_real_init() by adding a sleep.
3711
3712	<li>fix a typo in os2main.c
3713	    (XFree86 Bugzilla #1358, report/patch by Frank Giessler).
3714
3715	<li>make escape sequence reporting dynamic colors consistent with the
3716	    logic that sets it; choosing the opposite color when reverse
3717	    video is set (XFree86 Bugzilla #1361, reported by Bradd W Szonye).
3718
3719	<li>modify initialization of 256- and 88-colors so that colors beyond
3720	    16 are normally not X resources.  This works around a hard-coded
3721	    limit in Xt which breaks xterm when 256-colors and luit are both
3722	    configured (report by Noah Friedman).
3723
3724	<li>remove <code>ncv</code> from <code>xterm-256color</code> terminfo
3725	    entry since it is no longer needed (report by Eli Zaretskii).
3726
3727	<li>add "erase2" and "eol2" keywords to <code>ttyModes</code> resource,
3728	    for recent/current FreeBSD.
3729
3730	<li>improve ifdef's for utempter library to omit direct calls to
3731	    <code>setutent()</code> or <code>getutent()</code> (adapted from
3732	    patch by Christian Biere).
3733
3734	<li>add dynamic abbreviation support like Emacs (patch by Tomasz
3735	    Cholewo).  This is ifdef'd with <code>OPT_DABBREV</code>, and
3736	    enabled via the configure script <code>--enable-dabbrev</code>
3737	    option.
3738
3739	<li>fix problem responding to session management events, e.g., which
3740	    would make logging out very slow (patch by Eddy De Greef, Debian
3741	    #233883).
3742
3743	<li>work around a newer bug in toolbar with XFree86 by forcing menus
3744	    to be fully initialized at startup.  In older versions of XFree86
3745	    and X11R6, it was possible to delay initialization of the menu
3746	    contents until it was popped up.  (The longstanding bug with
3747	    XFree86 4.x layout for toolbar still exists, though).
3748
3749	<li>modify <code>xtermAddInput</code> to work around core dump on
3750	    IRIX64 when initializing scrollbar translations if toolbar is
3751	    compiled-in.
3752
3753	<li>fix some minor conflicts in the 2-character entry names in the
3754	    termcap file.
3755</ul>
3756
3757<H1><A NAME="xterm_187">Patch #187 - 2004/4/27 - XFree86 4.4.99.4</A></H1>
3758<ul>
3759	<li>change xterm version string to use <code>__vendorversion__</code>
3760	    where that is available, and "XTerm" otherwise.
3761
3762	<li>improve description of <code>utf8</code> resource in manpage
3763	    (Debian #179407).
3764
3765	<li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS to
3766	    handle <code>-D</code> options that define string values, e.g.,
3767	    for <code>XVENDORNAME</code>.
3768
3769	<li>modify configure macro CF_IMAKE_CFLAGS to allow (if
3770	    <code>$PATH</code> is set accordingly) to use the
3771	    <code>xmkmf</code> script within an X build tree.
3772
3773	<li>add missing <code>#undef OPT_SESSION_MGT</code> to xtermcfg.hin
3774	    to make the configure script's --disable-session-mgt option work.
3775
3776	<li>update config.guess, config.sub
3777</ul>
3778
3779<H1><A NAME="xterm_186">Patch #186 - 2004/4/18 - XFree86 4.4.99.4</A></H1>
3780<ul>
3781	<li>change reset on <code>DECSCL</code> to a soft-reset (appears some
3782	    DEC manuals have errors).
3783
3784	<li>add a section to ctlseqs.ms elaborating on normal/alternate screens.
3785
3786	<li>modify initialization of Acolors[] so that any XtDefaultForeground
3787	    or XtDefaultBackground values are translated as in the Tcolors[],
3788	    to use the window's foreground/background colors.  This affects
3789	    the <code>colorBD</code> and similar resources which normally have
3790	    no explicit color assigned.
3791
3792	<li>modify initialization of Tektronix window so that control sequences
3793	    setting its color before the window is popped up will apply to
3794	    its initial colors.
3795
3796	<li>add control sequence to set Tektronix window's text-cursor.
3797
3798	<li>modify initialization of terminal colors, e.g., mouse pointer and
3799	    text cursor, to treat <code>XtDefaultForeground</code> and
3800	    <code>XtDefaultBackground</code> values as the actual foreground
3801	    and background colors of the terminal rather than white and black
3802	    (Debian #241717).
3803
3804	<li>remove an incorrect comparison against <code>PTYCHARLEN</code> in
3805	    parsing the <code>-S</code> option (report by Michael B Taylor).
3806
3807	<li>minor restructuring of terminfo/termcap files, having noted some
3808	    packager's customizations which caused the structure to be
3809	    confused.
3810
3811	<li>eliminate an isolated use of MIN/MAX in charproc.c
3812
3813	<li>replace <code>XtExtdefaultfont</code> and
3814	    <code>XtExtdefaultbackground</code> by their more familiar
3815	    equivalents
3816	    <code>XtDefaultFont</code> and
3817	    <code>XtDefaultBackground</code>.
3818
3819	<li>replace ifdef's using <code>SCO</code>, <code>sco</code> and
3820	    <code>SCO325</code> with <code>__SCO__</code>
3821	    (XFree86 Bugzilla #1301, Kean Johnston).
3822	    But ensure that it still builds on platforms where this symbol
3823	    is not defined.
3824
3825	<li>add <code>scoFunctionKeys</code> resource, to match manpage.
3826
3827	<li>update manpage discussion of menus and related resources.
3828
3829	<li>enable utmpx support for NetBSD 1.6C and newer (patch by
3830	    Matthias Scheler).
3831
3832	<li>add a note in the manpage discussing xterm's treatment of open
3833	    file-descriptors (request by Dan Shearer).
3834
3835	<li>modify <code>Help()</code> to make "xterm -h" write to standard
3836	    output rather than standard error (patch by Bram Moolenaar).
3837
3838	<li>check for type of failure in xim_real_init() to avoid looping when
3839	    the problem is an unsupported input method rather than a failure
3840	    to connect to the XIM server.  Problem was introduced in
3841	    <a href="#xterm_175">patch #175</a> (XFree86 Bugzilla #1306).
3842
3843	<li>modify <code>Imakefile</code> to remove dependency of "install"
3844	    target on the <code>xterm</code> executable to make installs from
3845	    tree without attempting to rebuild anything (commit by David Dawes,
3846	    report/patch from Lee Olsen).
3847
3848	<li>remove call to <code>ShowCursor</code> from
3849	    <code>SetCursorBlink()</code> since that is redundant,
3850	    and can cause display glitches if the cursor is already
3851	    blinking (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).
3852</ul>
3853
3854<H1><A NAME="xterm_185">Patch #185 - 2004/3/3 - XFree86 4.4</A></H1>
3855<ul>
3856	<li>fix tcap-query logic for the backspace key (XFree86 Bugzilla #1233,
3857	    report/patch by Anton Kovalenko).
3858
3859	<li>add test-scripts resize.pl and tcapquery.pl
3860
3861	<li>add translation to ASCII of commonly-used characters that groff
3862	    translates to Unicode, when the font in use does not provide the
3863	    corresponding glyphs (Debian #219551).
3864
3865	<li>modify RequestMaximize(), which performs maximize/restore via
3866	    control sequences, to account for window-frame (patch by
3867	    Jess Thrysoee).
3868
3869	<li>improve pattern used in <code>uxterm</code> to check for UTF-8
3870	    locale, e.g., for HPUX (patch by H Merijn Brand).
3871
3872	<li>add <code>-fd</code> option and resource
3873	    <code>faceNameDoublesize</code> to specify double-wide fonts with
3874	    Xft (adapted from patch by Zarick Lau).
3875
3876	<li>change a couple of resource classes from "Boolean" to specific
3877	    values: <code>freeBoldBox</code>, <code>forceBoxChars</code>.
3878
3879	<li>add resource <code>showMissingGlyphs</code> to outline places on
3880	    the screen where a font lacks the corresponding glyph.
3881
3882	<li>add resource <code>showBlinkAsBold</code> to control whether
3883	    blinking text should be shown as bold or actual blinking text.
3884
3885	<li>improve logic in ShowCursor() to avoid repainting the cursor when
3886	    it is already visible, e.g., in response to the DECTCEM escape
3887	    sequence.  This also addresses XFree86 Bugzilla #1158.
3888
3889	<li>implement blinking text, using the timer for blinking cursor.
3890
3891	<li>modify FreeType support to allow resizing the font, in the same
3892	    ways the window can be resized if fixed fonts are used.  The
3893	    relative font sizes are derived from the fixed font sizes.
3894
3895	<li>add menu items and corresponding actions for switching on/off
3896	    the UTF-8 mode and Xft (TrueType) support.
3897
3898	<li>add logic to handle switching UTF-8 mode on/off.  It worked if
3899	    the escape sequences were flushed, but if data was mixed in with
3900	    the same write, some were not handled properly (report by
3901	    Nicolas George).
3902
3903	<li>modify to allow turning UTF-8 mode on/off via escape sequence even
3904	    if <code>-wc</code> option was not given at startup (patch by Peter
3905	    Berg Larsen).
3906
3907	<li>amend fix for XFree86 Bugzilla #981, adjusting for savedlines value
3908	    (report by Tim Adye).
3909
3910	<li>fix a typo in computing relative font size (Jess Thrysoee).
3911</ul>
3912
3913<H1><A NAME="xterm_184">Patch #184 - 2003/12/31 - XFree86 4.3.99.903</A></H1>
3914<ul>
3915	<li>improve configure-script checks for FreeType and related libraries,
3916	    using <code>xft-config</code> or <code>freetype-config</code>
3917	    scripts when available.
3918
3919	<li>fix configure-script check for <code>SYSV</code> definition by
3920	    ensuring whether <code>sys_errlist[]</code> is declared, and by
3921	    modifying the test program to include <code>X11/Intrinsic.h</code>
3922	    to check that <code>wchar_t</code> is declared consistently (report
3923	    by H Merijn Brand).
3924</ul>
3925
3926<H1><A NAME="xterm_183">Patch #183 - 2003/12/26 - XFree86 4.3.99.903</A></H1>
3927<ul>
3928	<li>correct logic for configurations that may attempt to open both
3929	    old/new-style pseudoterminals.  In this case, the old-style are
3930	    preferred.  Logic was broken in <a href="#xterm_145">patch #145</a>
3931	    (XFree86 Bugzilla #997, report/patch by Kean Johnston).
3932
3933	<li>modify handling of <code>eightBitInput</code> resource in UTF-8
3934	    mode to translate the value into UTF-8.  Otherwise an illegal
3935	    UTF-8 code is sent to the application (report by Bram Moolenaar).
3936
3937	<li>modify <code>uxterm</code> script to interpret help and version
3938	    options so xterm does not always create a window when the user
3939	    requests this information (Debian #223926).
3940
3941	<li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla #981).
3942
3943	<li>modify DECSCL to perform a hard reset (RIS) as per DEC manuals.
3944	    Extended DECSCL to accept parameters for vt4XX and vt5xx terminals.
3945
3946	<li>correct logic for ANSI conformance level escape sequences, which
3947	    were confused with DEC conformance level escape sequences.
3948
3949	<li>correct state for vt52 shift-in/shift-out, which was not reset
3950	    properly after <a href="#xterm_171">patch #171</a>.
3951
3952	<li>correct handling of graphics characters for vt52 mode, which did
3953	    not display line-drawing characters after G1 fix from
3954	    <a href="#xterm_182">patch #182</a>.
3955
3956	<li>fixes for configure script to work with current Cygwin headers
3957	    and libraries.
3958
3959	<li>modify <code>Imakefile</code> to put the current directory at the
3960	    beginning of the include searchpath (patch by David Dawes).
3961</ul>
3962
3963<H1><A NAME="xterm_182">Patch #182 - 2003/12/2 - XFree86 4.3.99.901</A></H1>
3964<ul>
3965	<li>correct logic for <code>metaSendsEscape</code> resource to allow
3966	    for the meta-right key to be tested.  Improve check for meta/alt
3967	    modifiers by dropping the assumption that a keysym is associated
3968	    with only one modifier, and by ignoring NoSymbol entries in the
3969	    xmodmap data (XFree86 Bugzilla #924, patch by David Dawes).
3970
3971	<li>correct wrapping logic for line-drawing characters written in
3972	    non-UTF-8 mode of xterm build for wide-characters (XFree86 Bugzilla
3973	    #918, report/patch by J&#x00fc;rgen Keil).
3974
3975	<li>improve manpage description of resources, in particular the
3976	    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).
3977
3978	<li>add definitions to compile with glibc-based GNU/Hurd, GNU/KFreeBSD
3979	    and GNU/KNetBSD (XFree86 Bugzilla #893).
3980
3981	<li>compiler-warning fixes (patch by Christian Biere).
3982
3983	<li>add README.i18n (Tomohiro Kubota).
3984
3985	<li>correct initialization of G1 character set mapping, which used
3986	    line-drawing set as a result of confusion between "DEC Supplemental
3987	    Graphic" and "DEC Special Graphic" character sets
3988	    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).
3989
3990	<li>correct ifdef in main.c for variable utret (patch by
3991	    Bernhard Rosenkraenzer).
3992
3993	<li>document in xterm's manpage how to use XFree86 ":unscaled" keyword
3994	    to suppress scaling of bold fonts.
3995
3996	<li>when deriving bold fontname from normal fontname, use the normal
3997	    font's average width to avoid for example selecting 7x13bold
3998	    from an 8x13 normal font (Debian #107769).
3999</ul>
4000
4001<H1><A NAME="xterm_181">Patch #181 - 2003/10/26 - XFree86 4.3.99.15</A></H1>
4002<ul>
4003	<li>implement <code>boldMode</code> for wide-character logic in
4004	    <code>drawXtermText()</code> (report by Michael Schroeder).
4005
4006	<li>modify <code>UXTerm.ad</code> resource file to include
4007	    "XTerm-color" rather than "XTerm", in case the latter file contains
4008	    no color resource definitions, e.g., after <a
4009	    href="#xterm_180">patch #180</a>.
4010
4011	<li>add action <code>load-vt-fonts()</code> and configure option
4012	    <code>--enable-load-vt-fonts</code> which allows users to define
4013	    additional sets of VT-fonts which can be loaded at runtime.
4014
4015	<li>add logic to wide-character support which attempts to load fonts
4016	    specified by <code>utf8Fonts</code> subresources at startup.  The
4017	    subresources have the same names as the fonts which they replace,
4018	    e.g., <code>font</code>, <code>font1</code>, etc., so that the
4019	    ISO-10646-1 fonts can be specified in the <code>XTerm</code>
4020	    app-defaults file (adapted from patch by Tomohiro Kubota).
4021
4022	<li>improve Set Font escape string handling by making the relative
4023	    settings apply to the size of the font, as in shift keypad
4024	    plus/minus rather than the menu index.
4025
4026	<li>simplify parameter passing for the <code>set-vt-font</code> action
4027	    and related code.
4028
4029	<li>cleanup some include-ordering, moving some recently-added hardcoded
4030	    stuff into xterm.h where it will not interfere with the configure
4031	    script.
4032
4033	<li>modify <code>xtermAddInput()</code> (see note on augmentation in <a
4034	    href="#xterm_158">patch #158</a>) to use the complete set of
4035	    default keyboard translations so that one can use shifted pageup,
4036	    wheel mouse, etc., while the mouse pointer is over the scrollbar.
4037	    (Debian #178812).
4038
4039	<li>make save/restore mode controls apply to show/blink cursor states.
4040
4041	<li>add escape sequence to start/stop blinking cursor, which allows
4042	    implementing <code>cvvis</code> terminfo capability (request by
4043	    Nate Bargmann).
4044
4045	<li>add <code>indp</code> and <code>rin</code> to terminfo entry.
4046
4047	<li>fix an out-of-bounds array reference in ScrnRefresh() for wide
4048	    characters (report by Dan Harnett, patch by Todd Miller).
4049	    This bug dates from <a href="#xterm_141">patch #141</a>.
4050</ul>
4051
4052<H1><A NAME="xterm_180">Patch #180 - 2003/10/12 - XFree86 4.3.99.15</A></H1>
4053<ul>
4054	<li>several fixes for rendering using Xft via option <code>-fa</code>:
4055	  <ul>
4056	  <li>translate Unicode values, i.e,. from UTF-8 output to xterm, for
4057	      line-drawing to xterm's internal code, etc., since TrueType fonts
4058	      generally do not have either set of line-drawing glyphs.  xterm
4059	      can draw these directly (report by Abigail Brady).
4060	  <li>pass 16-bit values rather than 8-bit values to
4061	      xtermXftDrawString() to allow for wide-characters.
4062	  <li>remove spurious check for <code>colorBDMode</code> resource in
4063	      logic that does bold fonts.
4064	  <li>implement underlining.
4065	  </ul>
4066
4067	<li>patches by Ilya Zakharevich:
4068	  <ul>
4069	  <li>improve drawXtermText() by making the recursive calls
4070	      communicate through arguments, and not through saving/restoring
4071	      global variables.
4072
4073	  <li>make double-width characters work with <code>-u8</code> option.
4074
4075	  <li>modify lookup of double-sized fonts by checking for a match
4076	      ignoring x/y resolution if the first check fails.
4077	  </ul>
4078
4079	<li>make height of TrueType fonts match ascent+descent (patch by
4080	    Keith Packard).
4081
4082	<li>correct configure-script check for imake $CFLAGS, which did not
4083	    check properly if imake was not available.
4084
4085	<li>correct install rule in Makefile.in for <code>uxterm</code>, which
4086	    was attempting to strip the script (newsgroup posting by Fernan
4087	    Aguero).
4088
4089	<li>correct AF/AB strings in termcap for xterm-256color and
4090	    xterm-88color entries (report by Josh Howard).
4091
4092	<li>update wcwidth.c to incorporate changes from Markus Kuhn's
4093	    2003-05-20 (Unicode 4.0) version of that file.
4094
4095	<li>modify <code>scroll-back</code> and <code>scroll-forw</code>
4096	    actions to accept an adjustment value, e.g.,
4097	    <pre>
4098	      <code>scroll-back(1, page-2)</code></pre>
4099	    to scroll back by 2 lines less than a page (patch by Greg
4100	    Klanderman).
4101
4102	<li>use color resource setting from Debian package for xterm VT100 widget,
4103	    since the choice of blues provides better contrast.
4104
4105	<li>remove color resources from <code>XTerm.ad</code>, leaving them
4106	    only in <code>XTerm-col.ad</code> (prompted by Debian package for
4107	    xterm).
4108
4109	<li>correct configure script option --enable-pty-handshake (report by
4110	    Paul Gilmartin).
4111
4112	<li>add <code>visualBellDelay</code> resource to modify the length of
4113	    time used for visual bell, for very slow displays or very fast
4114	    computers (reports by Ingo van Lil and Doug Toppin).
4115
4116	<li>correct logic for initializing dynamic highlight color (patch by
4117	    Jess Thrysoee).
4118
4119	<li>add a check for non-zero size in call to <code>XCopyArea()</code>
4120	    to accommodate a Solaris bug.
4121
4122	<li>correct typo in example for character classes in xterm manpage
4123	   (Debian #198910).
4124
4125	<li>link xterm with bind_on_load option on Darwin to work around a
4126	   deadlock in the dynamic loader when a signal is received while
4127	   the dynamic loader is looking up symbols (patches by Rob Braun,
4128	   Torrey Lyons).
4129
4130	<li>modify configure script to avoid using "head -1".
4131
4132	<li>update config.guess, config.sub
4133
4134	<li>modify ifdef's to work around inclusion of types FcChar32 and
4135	   XftCharSpec with FreeType 2.0 (see <a href="#xterm_175">patch #175</a>).
4136
4137	<li>modify the predictable version of the generated logfile name (see
4138	   <a href="#xterm_171">patch #171</a>) to append the process-id rather
4139	   than a random value.
4140
4141	<li>resync with XFree86 CVS
4142	<ul>
4143	   <li>Enable SCO function keys in xterm
4144	   <li>Make Delete key send DEL by default on SCO in xterm
4145	</ul>
4146</ul>
4147
4148<H1><A NAME="xterm_179">Patch #179 - 2003/5/21 - XFree86 4.3.99.5</A></H1>
4149<ul>
4150	<li>modify ifdef's for WTMPX_FILE to allow building on cygwin again.
4151
4152	<li>change the default of pty-handshaking configure option (and related
4153	    default for imake) to assume this feature is needed.
4154
4155	<li>add ifdef's so configure option for XawPlus library works (patch
4156	    by Pavel Roskin).
4157
4158	<li>add <code>$(MAIN_DEFINES)</code> to the variables checked by the
4159	    configure script that may contain information set by imake.  This
4160	    allows xterm to build/run properly using the configure script on
4161	    IRIX64.
4162
4163	<li>add configure check for ".exe" suffix on cygwin.
4164</ul>
4165
4166<H1><A NAME="xterm_178">Patch #178 - 2003/5/18 - XFree86 4.3.99.5</A></H1>
4167<ul>
4168	<li>modify default for configure <code>--enable-pty-handshake</code>
4169	    option to enable it for Solaris (report by Nelson Beebe).
4170
4171	<li>modify <code>in_put()</code> function to call
4172	    <code>PreeditPosition()</code> only when the cursor's position has
4173	    changed.  This addresses report by Stefan Baums of high CPU usage
4174	    while xterm with chinput are running in the background (patch by
4175	    Yong Li).
4176
4177	<li>improved explanation of <code>-ls</code> conflict with
4178	    <code>-e</code> option in xterm manpage (adapted from comments by
4179	    Henning Makholm).
4180
4181	<li>correct comment in terminfo file regarding modifier used for
4182	    <code>kDC</code> (Debian #189764, report by Henning Makholm).
4183
4184	<li>correct/extend some of the keypad description in ctlseqs.ms
4185	    (report by Henning Makholm).
4186
4187	<li>correct keypad-mapping table in input.c so <code>XK_KP_Equal</code>
4188	    works (report by Henning Makholm).
4189
4190	<li>modified to work with CJK double-width (bi-width/monospace) fonts.
4191	    They're similar to Roman Czbora and David Starner's gnuunifonts in
4192	    that Latin letters and numbers have all the same width which is
4193	    exactly the half of the width of East Asian characters.  (patch by
4194	    Jungshik Shin &lt;jshin@mailaps.org&gt;).
4195
4196	<li>add configure option <code>--enable-broken-osc</code> and resource
4197	    <code>brokenLinuxOSC</code> to accommodate scripts which do not
4198	    distinguish between running in the Linux console and running in X.
4199	    Linux console recognizes malformed control strings which start
4200	    with an <code>OSC</code>, but are fixed-length, with no terminator.
4201
4202	<li>add configure option <code>--enable-broken-st</code> and resource
4203	    <code>brokenStringTerm</code> to allow
4204	    user to revert one part of the parsing table corrections from
4205	    <a href="#xterm_171">patch #171</a>.  (reports by
4206	    Matthias Scheler and
4207	    Kirill Ponomarew indicate that someone's
4208	    network firmware sends an <code>&lt;escape&gt;X</code>).
4209
4210	<li>modify configure <code>--disable-imake</code> to provide values
4211	    for <code>OSMAJORVERSION</code>, <code>OSMINORVERSION</code>,
4212	    <code>FUNCPROTO</code> and <code>NARROWPROTO</code> (report by
4213	    Heiko Schlichting).
4214
4215	<li>correct <code>vttests/16colors.sh</code>, which omitted the
4216	    <code>$SUF</code> variable in output strings (patch by Paul
4217	    Gilmartin).
4218
4219	<li>modify shell scripts in <code>vttests</code> directory to attempt
4220	    to use named signals in the <code>trap</code> statement, making
4221	    this portable to OS/390 (report by Paul Gilmartin).  Tested on
4222	    SunOS 4.1.4, which implements only numbers.
4223</ul>
4224
4225<H1><A NAME="xterm_177">Patch #177 - 2003/3/23 - XFree86 4.3.0</A></H1>
4226<ul>
4227	<li>fix definition of <code>USE_HANDSHAKE</code>, must be numeric
4228	    (reported by Jens Schleusener).
4229</ul>
4230
4231<H1><A NAME="xterm_176">Patch #176 - 2003/3/22 - XFree86 4.3.0</A></H1>
4232<ul>
4233	<li>add configure option <code>--enable-pty-handshake</code> to allow
4234	    one to compile-in support for the pty handshaking logic, and
4235	    resource <code>ptyHandshake</code> to enable or disable it
4236	    (suggested by Ian Collier).
4237
4238	<li>restore <code>USE_HANDSHAKE</code> ifdef removed in
4239	    <a href="#xterm_159">patch #159</a>
4240	    to address Debian #39964.
4241
4242	<li>move ifdef's for ttysize/winsize into xterm_io.h
4243
4244	<li>simplify loop on <code>tgetent</code>, check if the successive
4245	    entries in the lookup table are the same.  That makes xterm do
4246	    one less lookup if there is no "xterm" entry in the termcap file
4247	    (report by Derek Martin).
4248
4249	<li>correct manpage discussion of <code>$TERM</code> and
4250	    <code>$TERMCAP</code> variables, which omitted the Tektronix
4251	    emulation and a note of the final "dumb" fallback.
4252
4253	<li>broaden ifdef for <code>XRegisterIMInstantiateCallback()</code>
4254	    from <a href="#xterm_175">patch #175</a> (XIM fix) to exclude
4255	    non-XFree86 (report by Nelson Beebe indicates this breaks for
4256	    Solaris, IRIX and OSF/1).
4257
4258	<li>correct resource-size for <code>iconFont</code> (this was added
4259	    by X11R6.3).
4260
4261	<li>improve configure check for XKB bell extension, to work around
4262	    inconsistent implementation of this feature (reports by Nelson
4263	    Beebe, Kriston Rehberg and David Ellement).
4264
4265	<li>modify configure-check for <code>tty</code> group to be less
4266	    strict in batch mode (report by Nelson Beebe).
4267
4268	<li>modify to allow building with g++, to use its compiler warnings
4269	    (suggested by Nelson Beebe).
4270
4271	<li>modify <code>dec2ucs[]</code> table to reflect newer codes
4272	    available for scanlines 1, 3, 7, 9 (report by Michael Schroeder).
4273
4274	<li>add configure option for XawPlus library.
4275</ul>
4276
4277<H1><A NAME="xterm_175">Patch #175 - 2003/3/9 - XFree86 4.3.0</A></H1>
4278<ul>
4279	<li>fix a SIGSEGV which could occur if xterm is connecting to XIM
4280	    server, and the XIM server is destroyed (patch by Nam SungHyun).
4281
4282	<li>modify to use built-in line-drawing characters for Xft fonts
4283	    (patch by Andrew Tipton).
4284
4285	<li>make menu reflect the state of the <code>tekInhibit</code>
4286	    resource.
4287
4288	<li>make <code>signalInhibit</code> resource work, i.e., disable the
4289	    menu entries that would send signals to, or exit xterm.  This was
4290	    probably broken in X11R5 when logging was disabled (report by Sven
4291	    Mascheck).
4292
4293	<li>changed classes of <code>colorBDMode</code> and similar
4294	    resources that override colors when a video attribute is
4295	    set to <code>ColorAttrMode</code>, to make them distinct
4296	    from <code>ColorMode</code>.  This avoids an unexpected
4297	    rendering of reverse video, for example (report by Paul Fox).
4298
4299	<li>changed class of <code>veryBoldColors</code> to
4300	    <code>VeryBoldColors</code>, since
4301	    <code>ColorMode</code> is associated with boolean resources.
4302
4303	<li>add option <code>-k8</code> and resource
4304	    <code>allowC1Printable</code> to allow users of non-VTxxx
4305	    character sets such as KOI-8 to treat the C1 control area
4306	    (character codes 128-159) as printable rather than control
4307	    characters.
4308
4309	<li>add a null-pointer check for return-value of <code>ptsname()</code>
4310	    in HPUX-specific code (report by David Ellement).
4311
4312	<li>revise the ifdef's used for <code>XKB</code> bell support.  The
4313	    code was using a nonstandard call <code>XkbStdBell()</code>.
4314	    Changed to use <code>XkbBell()</code> (based on patch by
4315	    &lt;derek@signalmarketing.com&gt;).
4316
4317	<li>add a null-pointer check in <code>xtermLoadFont()</code> in case
4318	    there is no wide-bold font (Nam SungHyun).
4319
4320	<li>change <code>Makefile.in</code> to use autoconf's
4321	    <code>bindir</code>, <code>libdir</code> and <code>mandir</code>
4322	    variables (report by Nam SungHyun).
4323
4324	<li>add <code>le</code> to termcap <code>xterm-basic</code> entry.
4325	    Though missing from older termcaps for xterm, some applications
4326	    check for it (report by Matthias Buelow).
4327
4328	<li>modify <code>uxterm</code> script to strip modifiers such as "@euro"
4329	    from the locale setting before adding ".UTF-8" (Debian #179929).
4330
4331	<li>modify the remaining places where tek4014 emulation uses
4332	    <code>XDefineCursor()</code>, to make it work as originally
4333	    implemented, e.g., when switching back to alpha mode.
4334	    Added test-screen in vttest to test this feature properly.
4335</ul>
4336
4337<H1><A NAME="xterm_174">Patch #174 - 2003/2/25 - XFree86 4.2.99.903</A></H1>
4338<ul>
4339	<li>work-around for XFree86 bug which made <code>XDefineCursor()</code>
4340	    on a shell-window no longer work.  The tek4014 emulation used this.
4341	    Use the next lower window (report by Karl Rudolf Bauchspiess).
4342
4343	<li>add a resource setting <code>allowWindowOps</code> to control
4344	    whether the extended window operations should be allowed, e.g.,
4345	    resize, iconify, report window attributes.  This is to accommodate
4346	    people who are not capable of using a pager to view log-files.
4347</ul>
4348
4349<H1><A NAME="xterm_173">Patch #173 - 2003/2/6 - XFree86 4.2.99.902</A></H1>
4350<ul>
4351	<li>reset mouse mode to normal on a full reset.  This does not apply
4352	    to mouse hilite tracking mode, of course (see ctlseqs.ms).
4353
4354	<li>add a time-delay at the point where mouse hilite tracking mode
4355	    choses to not handle X events, to avoid runaway CPU usage
4356	    (report by D Hugh Redelmeier).
4357
4358	<li>check for illegal character in DECUDK string, quit if detected.
4359</ul>
4360
4361<H1><A NAME="xterm_172">Patch #172 - 2002/12/27 - XFree86 4.2.99.3</A></H1>
4362<ul>
4363	<li>fixes to make repainting of 256-color example work properly
4364	  (reports by Abigail Brady and Scott A Crosby).
4365	  <ul>
4366	   <li>set flag in <code>AllocateAnsiColor()</code> to ensure the color
4367	     is allocated once only.
4368	   <li>fix check in <code>ScrnRefresh</code>, which was comparing
4369	     background colors only if the ANSI foreground colors also were set.
4370	  </ul>
4371
4372	<li>merge <code>Error()</code> calls and some <code>exit()</code> calls
4373	  into <code>SysError()</code>, and change that to add the brief
4374	  explanation for each error code which is provided in the manpage.
4375	  Change a few <code>SysError()</code>, calls to avoid using code 1, to
4376	  avoid confusion with exit status from places that do not use
4377	  <code>SysError()</code>.
4378
4379	<li>simplify logic used to open a debug logfile as the standard error.
4380
4381	<li>modify the <code>-e</code> option so that if it fails, xterm will
4382	  check if only one argument follows, e.g., it was quoted, and then
4383	  retry using <code>sh&nbsp;-c</code>.
4384
4385	<li>modify parsing of DECUDK string parameter to allow a comma between
4386	  pairs of hexadecimal digits (Ray Neuman &lt;raymond@one.com.au&gt;
4387	  reports that "real" terminals accept this; perhaps they simply
4388	  ignore unexpected characters).
4389
4390	<li>fix a few problems with the <code>$TERMCAP</code> string generated
4391	  by <code>resize</code>:
4392	  <ul>
4393	   <li>for Bourne shell, add an <code>export</code> command.
4394	     This was missing as far back as X11R5.
4395	   <li>escape exclamation marks, used in xterm's reset string.
4396	   <li>translate literal <code>\177\</code> to "^?".
4397	  </ul>
4398
4399	<li>improve configure check for <code>tgetent()</code> to work when
4400	  <code>$TERMCAP</code> has been set to a specific entry.
4401
4402	<li>modify <code>minstall.sh</code> to use "%" rather than "@",
4403	  to avoid problems with AFS (report by Zdenek Sekera).
4404
4405	<li>list fatal error codes from <code>error.h</code> in the manpage,
4406	  remove unused codes in <code>error.h</code>.
4407
4408	<li>use more explicit wording for manpage list of color resources,
4409	  since at least one user confused the generic names such as "black"
4410	  with the names in rgb.txt (the latter are now used).
4411
4412	<li>minor fix to description of 1003 mouse mode in ctlseqs.ms
4413	  (Larry Riedel).
4414</ul>
4415
4416<H1><A NAME="xterm_171">Patch #171 - 2002/12/12 - XFree86 4.2.99.3</A></H1>
4417<ul>
4418	<li>modify parser tables to improve detection of malformed control
4419	  sequences, making xterm behave more like a real DEC terminal
4420	  (patch by Paul Williams).
4421
4422	<li>update comment in <code>input.c</code> to document
4423	  <code>Meta</code> as a modifier for escape sequences (patch by D
4424	  Roland Walker).
4425
4426	<li>add ifdef'd code for logging option which adds the hostname and a
4427	  timestamp to the generated logfile name.  The ifdef's are setup
4428	  with the configure script (patch by Nelson Beebe).
4429
4430	<li>remove <code>xevents()</code> call from the end of
4431	  <code>BlinkCursor()</code>, to fix an occasional problem
4432	  which caused xterm to pause until a key was pressed.
4433	  The reason for this was that there was no check to ensure that
4434	  there really were events for <code>xevents()</code> to process.
4435	  (patch by Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).
4436
4437	<li>remove unused mode-params from <code>open()</code> calls that do
4438	  not create a file.
4439
4440	<li>modify configure script to put new items first on
4441	  <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid conflict
4442	  with environment's <em>-I</em> and <em>-D</em> options.
4443
4444	<li>update config.guess, config.sub
4445
4446	<li>resync with XFree86 CVS
4447	<ul>
4448	  <li>fix va_args glitches for xterm/libfontconfig:  0 == (void*)0
4449	    isn't true for all platforms (Egbert Eich).
4450	  <li>initialise ProgramName in xterm's main before referencing it
4451	    (#5473, Peter Valchev).
4452          <li>some cleanup of Imakefile ifdef's (Marc La France).
4453	</ul>
4454</ul>
4455
4456<H1><A NAME="xterm_170">Patch #170 - 2002/10/13 - XFree86 4.2.1</A></H1>
4457<ul>
4458	<li>correct an off-by-one allocating data for sorted help message.
4459
4460	<li>modify configure script to check for Xpm library, on which XFree86
4461	  Xaw library depends.
4462
4463	<li>update config.guess, config.sub
4464</ul>
4465
4466<H1><A NAME="xterm_169">Patch #169 - 2002/10/5 - XFree86 4.2.1</A></H1>
4467<ul>
4468	<li>modify wording of some options in help message to make them use
4469	  <code>-/+</code> consistently with respect to "on/off" or "off/on".
4470
4471	<li>sort options list which is displayed in help- and syntax-messages
4472	  at runtime to simplify maintenance.
4473
4474	<li>remove support for Amoeba and Minix (Juliusz Chroboczek noted it
4475	  was removed from XFree86 server; there have been no users since
4476	  1996).
4477
4478	<li>add configure script option <code>--disable-session-mgt</code>
4479	  to control whether the session management code should be compiled-in
4480	  (request by H Merijn Brand).
4481
4482	<li>ifdef'd the session-management changes with
4483	  <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which predates
4484	  the related definitions.
4485
4486	<li>fix <code>decode_keyvalue()</code>, which did not properly parse
4487	  multiple settings as needed for the <code>ttyModes</code> resource,
4488	  since it did not skip over the parsed data.
4489
4490	<li>fix an option-parsing conflict between <code>-class</code> and
4491	  <code>-cjk_width</code> (Nam SungHyun)
4492
4493	<li>add a missing null in <code>XtVaSetValues()</code> call used in
4494	  <code>Cleanup()</code> (Nam SungHyun)
4495</ul>
4496
4497<H1><A NAME="xterm_168">Patch #168 - 2002/9/29 - XFree86 4.2.1</A></H1>
4498<ul>
4499	<li>improve data reported for control sequence that requests window
4500	  position by taking into account the window decorations, e.g.,
4501	  border and title (patch by Jess Thrysoee &lt;jess@thrysoee.dk&gt;).
4502
4503	<li>add <code>-cjk_width</code> and corresponding resource
4504	  <code>cjkWidth</code> (patch by Jungshik Shin
4505	  &lt;jshin@mailaps.org&gt;).
4506
4507	<li>add <code>-into</code> option, for embedding xterm in a Tcl/Tk
4508	  application (patch by George Peter Staplin &lt;georgeps@xmission.com&gt;).
4509
4510	<li>add simple session management (XSM) client capabilities to xterm.
4511	  So a session manager such as, e.g., xsm, should be able to respawn or
4512	  kill xterms without the help of an SM proxy (like smproxy), which is
4513	  a hack and almost always buggy (patch by David Madore).
4514
4515	<li>fix conflict between ifdef's for <code>OPT_DEC_LOCATOR</code> and
4516	  <code>OPT_READLINE</code> in button.c (reported by Ilya Zakharevich).
4517
4518	<li>fix for inconsistent use of <code>struct utmp</code> versus
4519	  <code>struct utmpx</code> introduced in <a href="#xterm_167">patch #167</a>
4520	  (patches by Paul Gilmartin, Marc La France).
4521
4522	<li>modify logic for <code>metaSendsEscape</code> to allow it to work
4523	  in a setup where the Meta-key is not recognized as a modifier by
4524	  the key-translations logic (discussion of eightBitInput with H.J.Lu).
4525	  Note however that Vincent Lefevre reported this in January).
4526
4527	<li>use null pointer values consistently, rather than literal "0", for
4528	  ending variable-length argument lists, e.g., for
4529	  <code>execlp()</code> (based on patch by Matthieu Herrb).
4530
4531	<li>correct logic of <code>ChangeAnsiColorRequest()</code>, which would
4532	  do a screen repaint after replying to a request for information.
4533
4534	<li>improve scripts in vttests to work with systems whose shells support
4535	  <code>echo -n</code> and have, as does Debian, an unrelated
4536	  <code>print</code> utility.
4537
4538	<li>add vttests/acolors.sh to demonstrate OSC 4, which queries or
4539	  sets ANSI colors.
4540
4541	<li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).
4542
4543	<li>typos in xterm manpage (Jens Schweikhardt)
4544
4545	<li>remove a redundant GCC_UNUSED from InitPopup() (Nam SungHyun)
4546</ul>
4547
4548<H1><A NAME="xterm_167">Patch #167 - 2002/8/24 - XFree86 4.2.0</A></H1>
4549<ul>
4550	<li>correct ifdef's for <code>USE_TERMCAP</code> to match cygwin
4551	  configuration.
4552
4553	<li>fix several places in ctlseqs.ms which had no boxes around the
4554	  literal text (report by Ilya Zakharevich).
4555
4556	<li>extend mouse support for readline,
4557	    ifdef'd with OPT_READLINE
4558	    (integrated patch from Ilya Zakharevich).
4559
4560	<li>modify terminfo description to match default for
4561	  <code>modifyCursorKeys</code> resource.
4562
4563	<li>add <code>modifyCursorKeys</code> resource to control how the
4564	  shift- and similar modifiers are used to make a cursor escape
4565	  sequence.  The default makes a modified escape sequence always start
4566	  with CSI and puts the modifier as the second parameter, to avoid
4567	  confusing applications that would interpret the first parameter as a
4568	  repeat count.  The original behavior can be obtained by setting the
4569	  resource to 0 (newsgroup discussion with Stephen J Turnbull,
4570	  Jeffrey Altman).
4571
4572	<li>correct missing initializations for <code>appdefaultCursor</code>
4573	  and <code>appdefaultKeypad</code> resources.
4574
4575	<li>add configure option <code>--enable-luit</code> and ifdef'd the
4576	  luit-related code with OPT_LUIT_PROG.
4577
4578	<li>modify xterm to invoke luit (integrated patch by Tomohiro Kubota)
4579
4580	<li>update wcwidth.c to match Markus Kuhn's 2002-05-18 version.
4581
4582	<li>correct limit-checking in <code>ComputeSelect()</code> to handle
4583	  selections that extend off the visible area; rather
4584	  than modify the parameters to <code>TrackText()</code>, use
4585	  <code>ScrollSelection()</code> to update the highlighting limits.
4586	  (reported by Yegappan Lakshmanan and Nelson Beebe,
4587	   patch by Alexander V Lukyanov).
4588
4589	<li>correct manpage description of <code>tiXtraScroll</code> resource
4590	  (reported by Tony Finch).
4591
4592	<li>changes from OpenBSD:
4593	<ul>
4594	   <li>Make xterm setgid utmp to be able to update utmp even
4595	   with root privileges revoked.
4596	   <li>If not updating utmp, revoke group privileges totally too.
4597	</ul>
4598
4599	<li>changes from NetBSD:
4600	<ul>
4601	 <li>Check that the return value from ttyslot() is greater than 0
4602	  before writing the utmp file.
4603	  Fixes w's "w: Stale utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;" errors.
4604	 <li>Use openpty() to deal with new pty naming scheme.
4605	</ul>
4606
4607	<li>add <code>print-redir</code> action and menu entry to allow user to
4608	  switch terminal in/out of printer controller mode.  It appears from
4609	  the manual that a real vt220 would not switch back to normal mode, so
4610	  another mechanism is used (addresses Debian #37517).
4611
4612	<li>check if <code>printerCommand</code> resource string is empty, use
4613	  this to allow user to disable printer function.
4614
4615	<li>trim trailing blanks from resource strings.
4616
4617	<li>check return value from <code>ptsname()</code>, which may return
4618	  null for example if someone has changed the permissions of /dev/pts
4619	  to zero (Debian #121899).
4620
4621	<li>modify OS/2 version to use <code>__UNIXOS2__</code> definition
4622	  rather than <code>__EMX__</code>, related cleanup (patch by Holger
4623	  Veit).
4624
4625	<li>used modified indent 2.0
4626	  (patch <a href="ftp://invisible-island.net/gnu-patches/">20020428</a>)
4627	  to reformat most of the C source files, to simplify maintenance.
4628
4629	<li>fix a couple of places where there were leading tabs on
4630	  symbol-definition lines in Imakefile (Marc La France from report by
4631	  Tony Finch)
4632
4633	<li>add imake variable (TraceXTerm) to allow building debug version
4634	  (Egbert Eich).
4635</ul>
4636
4637<H1><A NAME="xterm_166">Patch #166 - 2002/03/25 - XFree86 4.2.0</A></H1>
4638<ul>
4639	<li>correct a bug in selection: double clicking on a word which
4640	  was partly scrolled off the screen may select that text (report
4641	  by Vincent Lefevre &lt;vincent@vinc17.org&gt;).
4642
4643	<li>implement <code>veryBoldColors</code> resource to control whether
4644	  the corresponding video attribute such as <code>bold</code> is
4645	  displayed when using <code>colorBDMode</code>, etc.  (request by Josh
4646	  Howard &lt;jrh@vicor-nb.com&gt;).
4647
4648	<li>define escape sequences for function keys F21-F35 (patch by Steve Wall).
4649
4650	<li>change the colors for the 256-color model, making them less skewed
4651	  toward black (patch by Steve Wall).
4652
4653	<li>add <code>vt100Graphics</code> resource
4654	  (see <a href="#xterm_115">patch #115</a>,
4655	  based on discussion with Glenn Maynard).
4656
4657	<li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid potential
4658	  incompatibilities between these flavors of Athena widgets.
4659
4660	<li>add configure check for XFree86 4.x Xaw library, whose geometry
4661	  management is broken, to avoid trying to use it for toolbar
4662	  configuration.
4663
4664	<li>updates to configure script from vile and lynx to allow
4665	  configure.in to be compiled with autoconf 2.5x
4666
4667	<li>add a check for null pointer return by <code>ptsname()</code>
4668	  (newsgroup posting from Mike Silva &lt;mikesilva@lucent.com&gt;).
4669
4670	<li>fill in a few details needed to allow UTF-8 mode to switch on/off
4671	  after startup.  This requires that <code>wideChars</code> resource be
4672	  set.  (based on comments in 4 Aug 2001 by Alexey Marinichev
4673	  &lt;lyosha@lyosha.2y.net&gt;).
4674
4675	<li>remove duplicate install rules that make directories, e.g., so installing
4676	  manpage will not create app-defaults directory.
4677
4678	<li>add comment in in <code>do_osc()</code>, reserving cases 30 and 31
4679	  for for Konsole (request by Stephan Binner
4680	  &lt;Stephan.Binner@gmx.de&gt;).
4681
4682	<li>fixes for ctlseqs.ms and xterm.man
4683	  (patch by Werner Lemberg &lt;wl@gnu.org&gt;).
4684
4685	<li>add check for monochrome display, disabling colorMode in that
4686	  case (fixes Debian #134130).
4687
4688	<li>resync with XFree86 CVS
4689	<ul>
4690	   <li>Fix some xterm build warnings on *BSD (patch by David Dawes).
4691	   <li>Only use SA_RESTART in xterm when it's available (patch by Frank Liu).
4692	   <li>Fix incorrect code in signal handlers in most of the clients,
4693	     xterm and xdm not done yet (patch by Matthieu Herrb).
4694	</ul>
4695</ul>
4696
4697<H1><A NAME="xterm_165">Patch #165 - 2002/01/05 - XFree86 4.1.0</A></H1>
4698<ul>
4699	<li>modify <code>uxterm</code> script to strip encoding part from
4700	  environment variable before adding ".UTF-8" (based on Debian
4701	  #125947, but using a more portable solution).
4702
4703	<li>add an assignment statement in VTInitialize() to make
4704	  <code>awaitInput</code> resource work.
4705
4706	<li>use new macros init_Bres(), etc., in VTInitialize() to add trace of
4707	  the initialization of resources.
4708
4709	<li>modify checks for $LC_ALL, related environment variables to ensure
4710	  the resulting strings are nonempty (report by Markus Kuhn).
4711
4712	<li>add an ifdef in charproc.c for num_ptrs variable in case all
4713	  configure options are disabled.
4714
4715	<li>modify definition of getXtermBackground() to avoid negative array
4716	  index warning on Tru64 (report by Jeremie Petit).
4717
4718	<li>improve fix from patch #165 (still Debian #117184, report by Matt
4719	  Zimmerman &lt;mdz@debian.org&gt;)
4720
4721	<li>correct install rule for uxterm in Makefile.in, to handle the
4722	  case where building in a different directory than xterm's source
4723	  (patch by Paul Gilmartin).
4724
4725	<li>documented ANSI.SYS-style cursor save/restore escape sequences
4726	  in ctlseqs.ms, which are in xterm since X11R5.
4727
4728	<li>correct two entries in the default charClass table, which did not
4729	  follow the manpage comment about the character number corresponding
4730	  to the class (patch by Marc Bevand &lt;bevand_m@epita.fr&gt;).
4731
4732	<li>fix a couple of typos in comments in the app-defaults files
4733	  (David Krause &lt;xfree86@davidkrause.com&gt;).
4734
4735	<li>resync with XFree86 CVS
4736	  <ul>
4737	  <li>update language of copyrights in some files to reflect the fact
4738	      that they were reassigned from X Consortium to The Open Group in
4739	      1998.  Note that this xterm source is derived from the 1996
4740	      version from X Consortium, does not incorporate changes made by X
4741	      Consortium or The Open Group after that date, hence we do not add
4742	      The Open Group's 1998 copyright date to related files.
4743
4744	  <li>save/restore <code>errno</code> in signal catcher (patch by Matthieu Herrb).
4745
4746	  <li>modify UXTerm.ad's font5 resource so that xterm can display double
4747	      width characters using a font distributed with XFree86 (Tomohiro Kubota).
4748	  </ul>
4749</ul>
4750
4751<H1><A NAME="xterm_164">Patch #164 - 2001/11/13 - XFree86 4.1.0</A></H1>
4752<ul>
4753	<li>correct a case where <code>ptyInitialErase</code> and
4754	  <code>backarrowKeyIsErase</code> resources combine to set
4755	  <code>DECBKM</code> mode, but a <code>reset</code> command would not
4756	  reset xterm to that state, making the erase character revert to ^H
4757	  (Debian #117184)
4758</ul>
4759
4760<H1><A NAME="xterm_163">Patch #163 - 2001/11/04 - XFree86 4.1.0</A></H1>
4761<ul>
4762	<li>correct ifdef's for <code>__QNX__</code> and
4763	  <code>USE_SYSV_PGRP</code> in main.c call to <code>tcsetpgrp</code>,
4764	  which broke bash behavior around <a href="#xterm_140">patch #140</a>
4765	  (report/patch by Frank Liu &lt;fliu@mail.vipstage.com&gt;).
4766
4767	<li>modify trace.c to fix missing definition of GCC_UNUSED for
4768	  compilers other than gcc when configured for trace code (report/patch
4769	  by Paul Gilmartin).
4770
4771	<li>change format in TraceOptions() to use long rather than int, since
4772	  the latter could lose precision on 64-bit machines (report/patch by
4773	  Nelson Beebe).
4774
4775	<li>modify xterm manual page and minstall.sh to allow imake rules
4776	  to define location of app-defaults directory (Debian #87611).
4777
4778	<li>review/update list of conflicting preprocesor symbols to remove
4779	  from $CPPFLAGS at the end of the configure script.  In particular,
4780	  this allows one to configure xterm without the utempter library on
4781	  Redhat 7.1 (report/patch by Adam Sulmicki).
4782</ul>
4783
4784<H1><A NAME="xterm_162">Patch #162 - 2001/10/23 - XFree86 4.1.0</A></H1>
4785<ul>
4786	<li>correct logic that processes <code>-class</code> option, so that
4787	  a following <code>-e</code> option is handled (Debian #116297).
4788
4789	<li>improve options-decoding to allow <code>-version</code> and
4790	  <code>-help</code> options to be combined (Debian #110226).
4791
4792	<li>add a 10 millisecond delay in event loop when processing
4793	  <code>-hold</code> option, to avoid using too much CPU time
4794	  (Debian #116213).
4795
4796	<li>prefix final program execution in <code>uxterm</code> with "exec"
4797	  to avoid a useless shell hanging around (Christian Weisgerber).
4798</ul>
4799
4800<H1><A NAME="xterm_161">Patch #161 - 2001/10/10 - XFree86 4.1.0</A></H1>
4801<ul>
4802	<li>modify logic that resets keypad application mode to avoid doing
4803	   this if there is no modifier associated with the Num_Lock keysym
4804	   (report by John E Davis &lt;davis@space.mit.edu&gt; and Alan W Irwin
4805	   &lt;irwin@beluga.phys.uvic.ca&gt;).
4806
4807	<li>add built-in translation for Control/KP_Separator to KP_Subtract,
4808	   to accommodate users who wish to use xmodmap to reassign the top
4809	   row of the numeric keypad.
4810
4811	<li>correct Imakefile install-rule for <code>uxname</code> script
4812	   (reported by Nam SungHyun &lt;namsh@lge.com&gt;).
4813
4814	<li>resync with XFree86 CVS &ndash; correct typo in <code>&lt;ncurses/term.h&gt;</code>
4815	   ifdef.
4816</ul>
4817
4818<H1><A NAME="xterm_160">Patch #160 - 2001/10/7 - XFree86 4.1.0</A></H1>
4819<ul>
4820	<li>modify logic in main.c
4821	    (see <a href="#xterm_145">patch #145</a>) to avoid generating the
4822	    same identifier, for example, for /dev/tty1 and /dev/pts/1, which
4823	    is used to denote an entry in the utmp file (Debian bug report
4824	    #84676),  A similar fix was also sent by Jerome Borsboom
4825	    &lt;borsboom@westbrabant.net&gt; in May, but I overlooked it when
4826	    reviewing bug reports.
4827
4828	<li>add configure check for <code>&lt;ncurses/term.h&gt;</code> to get
4829	    rid of hardcoded <code>__CYGWIN__</code> ifdef in resize.c
4830	    <p>
4831	    NOTE: The CYGWIN port should not be linking <code>resize</code>
4832	    with ncurses.  It appears that the only reason it is, is because
4833	    both the ncurses and termcap ports on that platform are badly
4834	    misconfigured (essential pieces have been removed, etc).  Checking
4835	    for <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
4836	    since there are some correct installations that are set up that
4837	    way.
4838
4839	<li>add a sample <code>uxterm</code> script, which uses the
4840	    <code>UXTerm</code> application defaults for UTF-8 environments.
4841
4842	<li>undo change to xterm application defaults, since this introduced an
4843	    unnecessary incompatibility.  The intended functionality was
4844	    already addressed by the <a href="#xterm_141">UXTerm</a>
4845	    app-defaults file.
4846
4847	<li>resync with XFree86 CVS
4848	<ul>
4849	<li>Modified xterm app default to use LFD fontnames instead of old type
4850	    (Michael Schroeder).
4851	<li>Fix xterm when XIM is disabled - caused a segfault
4852	    (Tomohiro Kubota).
4853	</ul>
4854</ul>
4855
4856<H1><A NAME="xterm_159">Patch #159 - 2001/9/19 - XFree86 4.1.0</A></H1>
4857<ul>
4858	<li>remove an ifdef for <code>USE_HANDSHAKE</code> added in patch
4859	   #158 from the second <code>TIOCSSIZE</code> ioctl call in the
4860	   initialization code.  Paul Gilmartin reports that for Solaris 2.6
4861	   (sparc), stty does not show that xterm sets rows and columns unless
4862	   the second ioctl is executed.
4863
4864	<li>correct treatment of empty parameter list for some OSC strings
4865	   (report by Sami Farin &lt;sfarin@ratol.fi&gt;).
4866</ul>
4867
4868<H1><A NAME="xterm_158">Patch #158 - 2001/9/8 - XFree86 4.1.0</A></H1>
4869<ul>
4870	<li>augment key translations for scrollbar widget to ensure that
4871	   keystrokes intended for the text area are not lost if the mouse
4872	   pointer happens to fall on the scrollbar.  This can happen, for
4873	   instance, if the user's <code>app-defaults</code> or
4874	   <code>.Xdefaults</code> file contains a translations resource,
4875	   though it may also happen through unrelated resource settings:
4876	   probably a bug in libXt (reported by Paul Fox
4877	   &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu.  Bolkhovityanov
4878	   &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).
4879
4880	<li>widen ifdef's in xterm.h to define <code>__EXTENSIONS__</code> on
4881	   Solaris, for compilers other than gcc.  This was added along
4882	   <code>_POSIX_C_SOURCE</code> with in <a href="#xterm_151">patch
4883	   #151</a>, but is not sufficient since Sun's compiler does not define
4884	   <code>__STDC__</code> by default (report by Matthias Scheler
4885	   &lt;tron@zhadum.de&gt;).
4886
4887	<li>modify xterm to obtain the closest matching color if an exact color
4888	   is not available, e.g., on 8-bit displays (patch by Steve Wall)
4889
4890	<li>implement "OverTheSpot" preedit type of XIM input
4891	   (patch by Tomohiro Kubota):
4892	  <ul>
4893	  <li>This preedit type is a reasonable compromise between
4894	    simpleness of implementation and usefulness.  "Root" preedit
4895	    type is easy to implement but not useful; "OnTheSpot" preedit
4896	    type is the best in the point of view of user interface but
4897	    very complex.  And more, "OverTheSpot" is the preedit type
4898	    which the most XIM servers support.  Thus, to achieve reasonable
4899	    usability, support of "OverTheSpot" preedit type is needed.
4900
4901	  <li>In "OverTheSpot" preedit type, the preedit (preconversion)
4902	    string is displayed at the position of the cursor.  On the
4903	    other hand, it is XIM server's responsibility to display
4904	    the preedit string.  Thus, it is needed for XIM client (here
4905	    XTerm) to inform the XIM server of the cursor position.
4906	    And more, to achieve good visual proportion, preedit string
4907	    must be written using proper font.  Thus, it is XIM client's
4908	    responsibility to inform the XIM server of the proper font.
4909	    The font must be supplied by "fontset".  Fontset is a set of
4910	    fonts with charsets which are specified by the current locale.
4911	    Since XTerm uses ISO10646 fonts regardless of the current locale,
4912	    the fonts for XIM must be prepared separately.  It is difficult
4913	    to prepare fonts which are similar to XTerm font.  Thus, my
4914	    patch uses a simple way - the default font is "*" which matches
4915	    every fonts and X library will automatically choose fonts with
4916	    proper charsets.  I added "-fx" command option and "ximFont"
4917	    resource to override this default font setting.
4918
4919	  <li>changed the definition of "OverTheSpot" preedit type
4920	    from XIMPreeditPosition|XIMStatusArea
4921	    to XIMPreeditPosition|XIMStatusNothing.
4922	    This matches the behavior of other programs such as
4923	    Rxvt, Kterm, Gedit.
4924
4925	  <li>A tiny XIM bugfix is also included.  By calling XSetLocaleModifiers()
4926	    with parameter of "", it can consier XMODIFIERS environmental
4927	    variable which is a standard way for users to specify XIM server
4928	    to be used.
4929	  </ul>
4930
4931	<li>adjust configure script to accommodate repackaging of keysym2ucs.c
4932	  as include-file for xutf8.c (patch by Tomohiro Kubota).
4933
4934	<li>add the <code>UXTerm</code> app-defaults file to makefile install
4935	  rules (request by Juliusz Chroboczek).
4936
4937	<li>correct logic in <code>get_termcap()</code>, which returned false
4938	  if the <code>tgetent()</code> call indicated that xterm was linked
4939	  with terminfo.  Although the <code>$TERMCAP</code> variable cannot be
4940	  adjusted in this case, xterm still needs information from this call
4941	  to extract data to initialize the erase-mode when the
4942	  <code>ptyInitialErase</code> resource is false.
4943
4944	<li>modify <code>ScrollbarReverseVideo()</code> function to cache the
4945	  original border color, so it can restore that when an application
4946	  flashes the screen (Bugzilla #38872).
4947
4948	<li>resync with XFree86 CVS
4949	<ul>
4950	  <li>remove ifdef's for X_NOT_STDC_ENV (patch by David Dawes).
4951	  <li>add Cygwin to special errno handling case in ptydata.c (Alan Hourihane)
4952	  <li>set screen size earlier in initialization, to address a race
4953	    with window manager resizing its clients (Keith Packard).
4954	</ul>
4955</ul>
4956
4957<H1><A NAME="xterm_157">Patch #157 - 2001/6/18 - XFree86 4.1.0</A></H1>
4958<ul>
4959	<li>clean up button.c and input.c (patch by Juliusz Chroboczek).  The
4960	  basic idea is to use a single set of APIs in the XTerm core, and put
4961	  a set of workarounds in a separate file.  As you will notice, this
4962	  drastically simplifies parts of the code; in particular, the only
4963	  remaining ifdefs related to the differences between Xutf8 and legacy
4964	  systems are related to the selection provider logic.
4965
4966	  This defines two new files, xutf8.h and xutf8.c, provide some
4967	  half-hearted but fully portable emulation for the three Xutf8*
4968	  functions that XTerm uses.
4969
4970	  Putting these in a separate file will allow people to experiment with
4971	  more complex versions without making the core of XTerm more difficult
4972	  to maintain.
4973
4974	  The functionality of the emulation is as follows.
4975	  <ul>
4976	  <li>Xutf8TextListToTextProperty fully handles XStringstyle and
4977	  XUTF8StringStyle.  It will only generate STRING for XStdICCTextStyle,
4978	  and wil only generate Latin-1 in XCompoundTextStyle (but label it as
4979	  COMPOUND_TEXT, as the spec requires).  (I have hesitated to make this
4980	  function fail for XStdICCTextStyle and XCompoundTextStyle; this might
4981	  be a smart thing to do, in the hope that the selection requestor will
4982	  try UTF8_STRING afterwards; opinions?)
4983
4984	  <li>Xutf8TextPropertyToTextList fully handles STRING and UTF8_STRING.
4985	  It systematically fails for COMPOUND_TEXT.
4986
4987	  <li>Xutf8LookupString will properly handle single-keystroke input for
4988	  the keysyms covered by Markus' keysym2ucs function.  It will not
4989	  handle either compose key input or external input methods.
4990	  </ul>
4991
4992	<li>add an ifdef for <code>SunXK_F36</code>, used in
4993	  <code>xtermcapKeycode()</code> (patch by Mark Waggoner
4994	  &lt;waggoner@ichips.intel.com&gt;).
4995
4996	<li>modify check for login name to try <code>getlogin()</code> and
4997	  $LOGNAME, $USER environment variables to detect if the user has
4998	  logged in under an alias, i.e., an account with the same user id
4999	  but a different name (Debian bug report #70084).
5000
5001	<li>add resource <code>tiXtraScroll</code>, which can be used to
5002	  preserve the screen contents in the scrollback rather than erasing
5003	  it when starting a fullscreen application such as <code>vi</code>
5004	  (patch by Ken Martin &lt;fletcher@catsreach.org&gt;).
5005
5006	<li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
5007	<ul>
5008	  <li>added <code>forceBoxChars</code> resource to control the
5009	    "line-drawing characters" option.
5010
5011	  <li>added <code>freeBoldBox</code> resource, which, when set true,
5012	    suppresses check in <code>same_font_size()</code>, so xterm does
5013	    not attempt to ensure that the bold font is the same size as
5014	    the normal font.
5015	</ul>
5016
5017	<li>change the color class for ANSI colors and similar ones such as
5018	  bold-color, etc., to follow the convention that the classname is the
5019	  instance name with a leading capital (e.g., <code>color0</code> and
5020	  <code>Color0</code> rather than <code>color0</code> and
5021	  <code>Foreground</code>).  There was little use for Foreground as a
5022	  class other than to create occasional confusion and bug reports, most
5023	  recently by Nelson Beebe who reports that it disables colors in xterm
5024	  but not on Linux, which is probably due to a difference in resource
5025	  evaluation order.  A configure script option (--disable-color-class)
5026	  is provided for anyone who did use the older behavior.
5027
5028	<li>fix a signal-handling bug.  When running xterm with
5029	  <code>ksh</code> or similar shell such as bash 2.05, xterm will hang
5030	  and not respond to keystrokes after the user types
5031	  <code>suspend</code>.  Additionally the popup menus do not respond,
5032	  so it is not possible to send SIGCONT to the shell.
5033	  What is happening is that the shell is sending itself SIGSTOP, and it
5034	  is being stopped.  Per specification it also means that the operating
5035	  system is sending SIGCHLD to parent to the bash (XTERM).
5036	  Now the issue is that xterm assumes it cannot happen and it expects
5037	  to receive SIGCHLD only upon <em>termination</em> of its children.
5038	  This causes a deadlock with xterm waiting for the child to
5039	  die, and the child waiting for SIGCONT.
5040	  (report/patch by Adam Sulmicki), analysis/testing by Sven Mascheck
5041	  &lt;sven.mascheck@student.uni-ulm.de&gt;).
5042
5043	<li>correct some inconsistent checks for <code>XtReleaseGC()</code>
5044	  calls in <code>xtermLoadFont()</code> (patch by Nam SungHyun
5045	  &lt;namsh@lge.com&gt;).
5046
5047	<li>updated wcwidth.c and keysym2ucs.c to versions dated 2001/1/12
5048	  and 2001/4/18, respectively from
5049		http://www.cl.cam.ac.uk/~mgk25/ucs/
5050
5051	<li>correction to change from <a href="#xterm_90">patch #90</a>,
5052	  which was intended to
5053	  reset the saved cursor position for normal/alternate screens
5054	  on a soft reset, but actually wiped out all of the saved cursor
5055	  information.  Just reset the saved position for the current screen
5056	  (report by Michael Schroeder).
5057
5058	<li>modify ShowCursor() and HideCursor() so that if the cursor points
5059	  to the second part of a wide character, make the show/hide operate on
5060	  the first position of the wide character (patch by Sven Verdoolaege).
5061
5062	<li>scrolling in the alternate screen just before switching back to the
5063	  main screen can cause extra blank lines to be inserted into the
5064	  scrollback buffer (patch by Paul Vojta
5065	  &lt;vojta@math.berkeley.edu&gt;).
5066
5067	<li>resync with XFree86 4.1.0:
5068	<ul>
5069	  <li>Use TermcapLibrary as -lncurses instead of -ltermcap, fixes
5070	    problem building xterm/resize on Cygwin/XFree86 (Harold Hunt).
5071	  <li>Install xterm.termcap and xterm.terminfo when installing xterm
5072	    (Torrey T. Lyons).
5073	  <li>Fix some build issues on Cygwin/XFree86 (Suhaib Siddiqi).
5074	  <li>Define CBAUD, when it's missing in xterm, on LynxOS
5075	    (Stuart Lissaman).
5076	</ul>
5077</ul>
5078
5079<H1><A NAME="xterm_156">Patch #156 - 2001/4/28 - XFree86 4.0.3</A></H1>
5080<ul>
5081	<li>change order of selection-target types to make 8-bit xterm prefer
5082	  UTF8_STRING to COMPOUND_TEXT (patch by Juliusz Chroboczek).
5083
5084	<li>document <code>-fa</code>, <code>-fs</code> command-line options
5085	  and <code>faceName</code>, <code>faceSize</code>
5086	  resources which are used by the freetype library support.
5087
5088	<li>if configure script finds freetype libraries, but imake definitions
5089	  do not have the XRENDERFONT definition, define it anyway.
5090
5091	<li>modify configure script check for freetype libraries to include
5092	  <code>&lt;Xlib.h&gt;</code>, since an older version of the related
5093	  headers relies on this (patch by Adam Sulmicki).
5094</ul>
5095
5096<H1><A NAME="xterm_155">Patch #155 - 2001/4/20 - XFree86 4.0.3</A></H1>
5097<ul>
5098	<li>correct return type of in_put() from <a href="#xterm_155">patch #153</a>
5099	  changes, which left it not wide enough for UTF-8 (patch by Bruno Haible).
5100</ul>
5101
5102<H1><A NAME="xterm_154">Patch #154 - 2001/4/11 - XFree86 4.0.3</A></H1>
5103<ul>
5104	<li>undo check for return value from <code>pututline</code> (used for
5105	  debugging) since that function does not return a value on Slackware
5106	  3.6.
5107
5108	<li>correct length in ScreenWrite, when rendering invisible text
5109	  (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).
5110
5111	<li>fixes/improvements for the <code>i18nSelection</code> resource
5112	  from patch #153, by Bruno Haible:
5113
5114	<ul>
5115	  <li>add missing initialization for <code>i18nSelection</code>
5116	    resource.
5117
5118	  <li>split-out the non-ICCM aspect of the
5119	    <code>i18nSelection</code> resource as a new resource,
5120	    <code>brokenSelections</code>.
5121	</ul>
5122
5123	<li>add configure check for <code>&lt;time.h&gt;</code> and
5124	  <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
5125	  which requires both.  If the configure script is not used, only
5126	  <code>&lt;time.h&gt;</code> will be included as before (report
5127	  by Thanh Ma).
5128
5129	<li>fix redefinition of <code>dup2</code>, <code>getutent</code>,
5130	  <code>getutid</code>, <code>getutline</code> and <code>sleep</code>
5131	  functions on Unixware&nbsp;7 (report by Thanh Ma
5132	  &lt;Thanh.Ma@casi-rusco.com&gt;)
5133
5134	<li>add a fall-back definition for <code>__hpux</code>, which is
5135	  apparently not defined in some compilers on HPUX 11.0 (reported
5136	  by Clint Olsen).
5137
5138	<li>change VAL_INITIAL_ERASE, which is used as a fallback for the
5139	  <code>"kb"</code> termcap string to 8, since that matches the
5140	  xterm terminal description (request by Alexander V Lukyanov).
5141
5142	<li>correct an off-by-one in <code>ClearInLine</code>, which caused
5143	  the erase-characters (ECH) control to display incorrectly
5144	  (patch by Alexander V Lukyanov).
5145
5146	<li>correct escape sequences shown in terminfo for shifted editing
5147	  keys.  The modifier code was for the control key rather than
5148	  the shift key.
5149</ul>
5150
5151<H1><A NAME="xterm_153">Patch #153 - 2001/3/29 - XFree86 4.0.3</A></H1>
5152<ul>
5153	<li>increase PTYCHARLEN to 8 for os390, add some debugging traces
5154	  for UTMP functions (patch by Paul Gilmartin).
5155
5156	<li>correct an misplaced brace in <code>SelectionReceived()</code>
5157	  (patch by Bruno Haible).
5158
5159	<li>correct an assignment dropped in <code>SelectionReceived()</code>
5160	  which made it not compile for wide-characters combined with debug
5161	  traces.
5162
5163	<li>correct typo, clarify description of 88- and 256-color controls
5164	  (report by Bram Moolenaar).
5165
5166	<li>correct a typo in ctlseqs.ms which caused DEC Locator control
5167	  sequences using single quote "'" display grave "`" instead (reported
5168	  by Paul Williams, apparently in patch #114).
5169</ul>
5170
5171<H1><A NAME="xterm_152">Patch #152 - 2001/3/13 - XFree86 4.0.2</A></H1>
5172<ul>
5173	<li>correct index in inner loop in <code>VTInitI18N()</code> from
5174	  patch #151 changes, which resulted in infinite loop under some
5175	  conditions (report/analysis by Paul Gilmartin).
5176
5177	<li>remove spurious "%|" from terminfo sgr capabilities
5178	  (report/analysis by Adam M Costello, Debian #89222).
5179
5180	<li>add shell script to adjust list of dynamic libraries linked by
5181	  <code>resize</code> when building with the standalone configure
5182	  script.  Otherwise it uses the same list as for xterm, which is
5183	  excessive.
5184
5185	<li>fix a few compiler warnings reported by the 20010305 gcc snapshot.
5186</ul>
5187
5188<H1><A NAME="xterm_151">Patch #151 - 2001/3/10 - XFree86 4.0.2</A></H1>
5189<ul>
5190	<li>alter the behaviour of selections in XTerm (patch by Juliusz Chroboczek).
5191	  It is believed to follow the ICCCM + UTF8_STRING to the letter, both
5192	  in UTF-8 and in eight-bit mode.  From his description:
5193	  <ul>
5194	  <li>When compiled against XFree86 4.0.2, the patched XTerm will make
5195	    the selection available as COMPOUND_TEXT, STRING or UTF8_STRING in
5196	    both modes.  It will request selections in the following order:
5197	    <p>
5198	      UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT, STRING.<br>
5199	      eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING, STRING.
5200
5201	  <li>When compiled against an earlier version of XFree86 (or compiled with
5202	    OPT_UTF8_API=0), it will still obey the ICCCM, but will neither
5203	    request nor provide UTF8_STRING in eight-bit mode, and neither TEXT
5204	    nor COMPOUND_TEXT in UTF-8 mode.
5205	  <li>For compatibility with previous versions of XTerm, a resource
5206	    <code>i18nSelections</code> is provided, please see the manpage for
5207	    details.  However, due to an unexpected combination of ICCCM
5208	    extensions by various bits and pieces of the libraries, interacting
5209	    with previous versions of XTerm will work in many locales even
5210	    without this flag.  (Please do not set this resource to true by
5211	    default, as this would violate the ICCCM.)
5212	  </ul>
5213
5214	<li>improved error checking/reporting in VTInitI18N(), ensuring that
5215	  lack of input method styles is treated distinctly from a mismatch.
5216
5217	<li>remove an incorrect ifdef from patch #141 which suppressed
5218	  overstriking to simulate bold font when xterm was compiled to support
5219	  wide characters (report/analysis by Adam M Costello
5220	  &lt;amc@cs.berkeley.edu&gt;, Debian #76404, Debian #77575).
5221
5222	<li>modify <code>RequestResize()</code> function to save/restore window
5223	  manager hints.  Its call to <code>XtMakeResizeRequest()</code> had
5224	  the undesirable side-effect of clearing window manager hints, e.g.,
5225	  when switching to 132-columns via DECCOLM escape sequence.  Window
5226	  manager hints make it simple to resize xterm in terms of character
5227	  cells rather than pixels (reports by Christian Weisgerber,
5228	  Debian #79939).
5229	  <p>
5230	  This applies to the normal configuration.  When built with toolbar
5231	  support, the hints are applied to a different widget level (more
5232	  work will be needed to make hints work with the toolbar).
5233
5234	<li>fix a redefinition warning for resize.c on OpenBSD (patch by
5235	  Christian Weisgerber).
5236
5237	<li>change resource corresponding to <code>-T</code> option to match
5238	  Xt library's <code>-title</code>, i.e.,  <code>.title</code>
5239	  rather than <code>*title</code> so the command-line options are
5240	  interchangeable as documented (Debian bug report #68843).
5241
5242	<li>add script used from autoconf'd makefile for installing manpages,
5243	  since recent XFree86 changing the way section numbers are represented
5244	  makes the install dependent on extra scripts.
5245
5246	<li>add configure check for freetype libraries and configure option
5247	  --disable-freetype to override this feature.
5248
5249	<li>modify some configure script macros to avoid using changequote(),
5250	  which has been rendered useless in the latest autoconf alpha 2.49c
5251
5252	<li>update config.guess, config.sub to 2001-2-13
5253
5254	<li>remove redundant/contradictory __CYGWIN__ definitions from resize.c
5255
5256	<li>correct manpage typo introduced by X11R6.5 resync.
5257</ul>
5258	Changes from XFree86 4.0.2:
5259<ul>
5260	<li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris to
5261	  make this compile with <code>gcc -ansi -pedantic</code> (report
5262	  by &lt;mark@zang.com&gt;.
5263</ul>
5264
5265<H1><A NAME="xterm_150">Patch #150 - 2000/12/29 - XFree86 4.0.2</A></H1>
5266<ul>
5267	<li>move the binding for shifted keypad plus/minus, which invokes the
5268	  <code>larger-vt-font()</code> and <code>smaller-vt-font()</code>
5269	  actions, respectively, into the translations resource (suggested by
5270	  Marius Gedminas &lt;mgedmin@puni.osf.lt&gt;).
5271
5272	<li>modify configure script to support the
5273	  <code>--program-prefix</code>, <code>--program-suffix</code> and
5274	  <code>--program-transform-name</code> options (request by Alison
5275	  Winters &lt;alison@mirrabooka.com&gt;).
5276
5277	<li>fixes for wide/combining characters (Robert Brady):
5278	<ul>
5279	   <li>fix a scrolling / combining characters display anomaly
5280
5281	   <li>fix a problem with double-width characters where if the primary
5282	       font had no box-drawing characters, the right hand half of
5283	       double-width characters was erased (reported by Yao Zhang
5284	       &lt;yzhang@sharemedia.com&gt;).
5285
5286	   <li>fix special case of null byte for key handling in UTF-8 locales.
5287	</ul>
5288
5289	<li>modify logic that compares sizes of normal and bold fonts to be
5290	  more forgiving of the font server's choice of bold font which must
5291	  match the normal font's size.  Now <code>same_font_size()</code>
5292	  compares the height of the fonts rather than individually ascent and
5293	  descent, and allows the bold font to be one pixel smaller than the
5294	  normal font (addresses a report by Alan Citterman
5295	  &lt;alan@mticket.com&gt;, who says that something in patches #146 to
5296	  #148 made xterm more likely to overstrike bold fonts, and indirectly
5297	  Debian bug report #76404, which reports the opposite).
5298
5299	<li>make configure script use $CFLAGS and $CPPFLAGS consistently,
5300	  including removing a chunk from configure.in which attempted to
5301	  save/restore $CPPFLAGS while processing value set by the --x-includes
5302	  option, but lost values set in an intervening AC_CHECK_HEADERS.  This
5303	  change modifies macros CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and
5304	  CF_X_TOOLKIT, as well as removing variables IMAKE_CFLAGS and X_CFLAGS
5305	  from the generated makefile (the AC_CHECK_HEADERS problem was
5306	  reported by Albert Chin-A-Young &lt;china@thewrittenword.com&lt;).
5307
5308	<li>correct a comparison in SELECTWORD case of ComputeSelect(), which
5309	  resulted in a word-selection wrapping past the first column without
5310	  checking the first column's character class (reported by Christian
5311	  Lacunza &lt;celacunza@netscape.net&gt;
5312
5313	<li>correct a logic in UTF-8 mode for selecting double-width characters;
5314	  a combining character was omitted (patch by Markus Kuhn).
5315
5316	<li>add feature to pop (raise) window when a bell is received
5317	  (patch by Gael Roualland &lt;gael.roualland@dial.oleane.com&gt;).
5318
5319	<li>add __NetBSD__ and __OpenBSD__ to special-case in xterm_io.h
5320	  for USE_POSIX_TERMIOS definition (patch by Christian Weisgerber).
5321
5322	<li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
5323	  xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for HPUX
5324	  10.20 (report by Bruno Betro).
5325</ul>
5326
5327<H1><A NAME="xterm_149">Patch #149 - 2000/12/6 - XFree86 4.0.1h</A></H1>
5328<ul>
5329	<li>restructured includes for <code>termios.h</code>,
5330	  <code>termio.h</code> and related definitions for main.c, os2main.c,
5331	  screen.c and resize.c so they will share equivalent definitions in a
5332	  new header <code>xterm_io.h</code>.  This is intended to solve some
5333	  problems mainly for HPUX which appear to arise from inconsistent
5334	  definitions for SIGWINCH- and HAS_LTCHARS-related symbols (reports
5335	  by Bruno Betro, Jeremie Petit and Clint Olsen).
5336
5337	<li>improve usability of double-width fonts by allowing normal fonts
5338	  to be given as double-width (from a patch by Fabrice Bellard
5339	  &lt;bellard@email.enst.fr&gt;).
5340
5341	<li>correct a few compiler warnings in TRACE() macros for
5342	  signed/unsigned variable differences (reported by Clint Olsen).
5343
5344	<li>make configure script use $CFLAGS and $CPPFLAGS more consistently,
5345	  i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC macro.
5346
5347	<li>expanded description of environment variables in manual-page.
5348
5349	<li>modify OPT_TCAP_QUERY feature to always return the termcap or
5350	  terminfo capability string in the response, and to read/write the
5351	  names in hexadecimal form to allow for the special case of termcap's
5352	  <code>k;</code> name (patch by Bram Moolenaar).
5353
5354	<li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so the
5355	  corresponding configure options work (patch by Bram Moolenaar).
5356
5357	<li>resync with XFree86 4.0.1g:
5358	<ul>
5359	  <li>Rewrite Xft library for Render extension/core text and font management
5360	    Change xterm to use new interface (Keith Packard).
5361	</ul>
5362</ul>
5363
5364<H1><A NAME="xterm_148">Patch #148 - 2000/10/31 - XFree86 4.0.1d</A></H1>
5365<ul>
5366	<li>document logfile options in man-page.
5367
5368	<li>correct spelling of <code>-samename</code> option in help message.
5369
5370	<li>add configure script option <code>--enable-tcap-query</code>
5371	  (request by Bram Moolenaar).
5372
5373	<li>add a "Co" or "colors" entry to the OPT_TCAP_QUERY feature
5374	    (patch by Bram Moolenaar).
5375	<li>patch by Kiyokazu Suto &lt;suto@ks-and-ks.ne.jp&gt;:
5376	<ul>
5377	  <li>add support for bold font for double width characters.
5378	     The font name may be specified with the command line option
5379	     <code>-fwb</code> or with resource
5380	     <code>wideBoldFont</code> (class <code>WideBoldFont</code>).
5381	  <li>correct underlining of double width character string, which
5382	     was drawn only half width.
5383	  <li>correct binary search of precomposed character table, which
5384	     may return wrong result when <code>int</code> is just 32 bits.
5385	  </ul>
5386
5387	<li>some changes to align terminfo with ncurses 5.2:
5388	<ul>
5389	  <li>remove xtermm description, retaining xterm-mono since the former
5390	    conflicts with ncurses.
5391	  <li>modify initialization and reset strings to avoid putting the
5392	    save/restore cursor operations bracketing changes to video
5393	    attributes, since the changes could be lost when the cursor is
5394	    restored.  This affects xterm-r6 and xterm-8bit (the xterm-xfree86
5395	    entry uses the soft-reset feature which resets scrolling margins
5396	    and origin mode without requiring us to save/restore the cursor
5397	    position).
5398	  <li>make a few entries explicitly inherit from xterm-xfree86 rather
5399	    than xterm: xterm-rep, xterm-xmc, xterm-nrc
5400	</ul>
5401
5402	<li>ensure that sign-extension does not affect <code>ctype</code>
5403	  macros by using <code>CharOf()</code> macro to coerce the parameter
5404	  to an unsigned char.
5405
5406	<li>resync with XFree86 4.0.1d:
5407	<ul>
5408	  <li>Add primitive support in xterm for Xft based fonts (Keith Packard).
5409	    The changes are ifdef'd with <code>-DXRENDERFONT</code>.
5410	</ul>
5411</ul>
5412
5413<H1><A NAME="xterm_147">Patch #147 - 2000/10/26 - XFree86 4.0.1c</A></H1>
5414<ul>
5415	<li>correct implementation of <code>ptyInitialErase</code>:  the
5416	  value assigned to <code>initial_erase</code> was for the control
5417	  terminal, which is correct as far as it goes.  But there was no
5418	  following test for the pseudo-terminal's erase value, which would
5419	  overwrite the default obtained from the control terminal
5420	  (reported by Christian Weisgerber &lt;naddy@mips.inka.de&gt;).
5421
5422	<li>modify check for printable-characters in OSC string to use xterm's
5423	  ansi_table rather than isprint() macro, to isolate this check from
5424	  locale settings.  This fixes a problem using 8-bit characters to
5425	  set the title (reported by Ricardas Cepas &lt;rch@richard.eu.org&gt;).
5426
5427	<li>modify sample scripts to check for printf before print, since the
5428	  latter is not as well standardized (e.g., on Linux).
5429
5430	<li>updated config.sub, config.guess to reflect changes on
5431	  subversions.gnu.org
5432</ul>
5433
5434<H1><A NAME="xterm_146">Patch #146 - 2000/9/12 - XFree86 4.0.1c</A></H1>
5435<ul>
5436	<li>correct two instances overlooked from patch #141 which assumed
5437	  UTF-8 mode without checking, causing a core dump in non-UTF-8 mode
5438	  (one instance was reported by Tommi Virtanen &lt;tv@debian.org&gt;).
5439
5440	<li>correct a problem selecting from the scrollback buffer in UTF-8
5441	  mode by changing remaining getXtermCell() calls to XTERM_CELL() as in
5442	  the non-UTF-8 cases (report by Markus Kuhn, patch by Robert Brady).
5443</ul>
5444
5445<H1><A NAME="xterm_145">Patch #145 - 2000/9/11 - XFree86 4.0.1c</A></H1>
5446<ul>
5447	<li>changes for UTF-8 configuration (Robert Brady):
5448	<ul>
5449	  <li>doublewide characters don't lose their accents when the cursor
5450	    moves onto or from them (a visual bug)
5451
5452	  <li>fix logic in addXtermCombining, which mean that if the low byte
5453	    of a cell's first combining char was 0, a following combining char
5454	    would go into combining slot 1, not 2.
5455
5456	  <li>modify logic for cut-buffers so UTF-8 data is first converted
5457	    to Latin1.
5458
5459	  <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.
5460
5461	  <li>modify to allow xterm to to show combining characters
5462	   attached to doublewidth characters.
5463
5464	  <li>correct bug in linewrap with -u8 option (reported by
5465	    Andreas Koenig &lt;andreas.koenig@anima.de&gt;).
5466	</ul>
5467
5468	<li>several changes to PTY logic (based on request by Tim Ryan
5469	  &lt;timryan@nortelnetworks.com&gt;).
5470	<ul>
5471	  <li>modify treatment of <code>-S</code> option to to make it work with
5472	    Unix98 PTY's.
5473
5474	  <li>restore sense of IsPts flag in <code>get_pty()</code>, which was
5475	    lost in Unix98 changes.
5476
5477	  <li>use new functions <code>my_pty_id()</code> and
5478	    <code>my_pty_name()</code> to simplify/fix strings used for utmp,
5479	    wtmp identifiers.
5480
5481	  <li>simplify <code>get_pty()</code> function, making it have a single
5482	    return point so its inputs/outputs can be identified.
5483	</ul>
5484
5485	<li>update config.guess and config.sub and scripts to my 20000819 patch,
5486	   adding cases for OS/2 EMX.
5487
5488	<li>add special case for os390 compiler options to configure script
5489	  (patch by Paul Gilmartin)
5490
5491	<li>fix some unused-variable compiler warnings (reported by
5492	  Zdenek Sekera).
5493
5494	<li>split-out some string functions into xstrings.c, to use them
5495	  more consistently among main.c, os2main.c and resize.c
5496
5497	<li>align termcap/terminfo files, adding entries to make them match.
5498	  The termcap entries are necessarily less complete than the terminfo,
5499	  to fit within 1023 character per entry.
5500
5501	<li>add terminfo entry for xterm-sco (SCO function keys).
5502
5503	<li>modify <code>same_font_name()</code> to properly handle wildcard
5504	  introduced in <code>bold_font_name()</code>, making comparison for
5505	  different fonts succeed when only the normal font is specified.  This
5506	  is needed to decide if 1-pixel offset should be used.  (reported
5507	  in a newsgroup by Bart Oldeman &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)
5508
5509	<li>correct preprocessor line for OPT_WIDE_CHARS in drawXtermText()
5510	  from patch #141 which resulted in overstriking for bold fonts not
5511	  working.
5512
5513	<li>correct Imakefile from 4.0.1c resync so UTF-8 modules are in
5514	  UTF8SRC, UTF8OBJ lists, allowing build without UTF-8 support.
5515</ul>
5516
5517<H1><A NAME="xterm_144">Patch #144 - 2000/8/23 - XFree86 4.0.1b</A></H1>
5518<ul>
5519	<li>remove a spurious assignment in ScreenWrite() from Robert Brady's
5520	  patch which set a null at the "end" of the buffer to be written.
5521	  That made the autowrap feature write a blank in the first column for
5522	  the non-UTF-8 configuration, rather than the actual character
5523	  (reported by Alan Citterman &lt;alan@mticket.com&gt;).
5524</ul>
5525
5526<H1><A NAME="xterm_143">Patch #143 - 2000/8/19 - XFree86 4.0.1b</A></H1>
5527<ul>
5528	<li>add a check to ensure that <code>-class</code> command-line option
5529	  is not confused with <code>-c</code> (reported by Paul Townsend
5530	  &lt;aab@aab.cc.purdue.edu&gt;).
5531</ul>
5532
5533<H1><A NAME="xterm_142">Patch #142 - 2000/8/18 - XFree86 4.0.1b</A></H1>
5534<ul>
5535	<li>correction to precompose scripts, so 0061 + 0300 will now be really
5536	  be displayed as 00C0 (patch by Robert Brady
5537	  &lt;robert@susu.org.uk&gt;).
5538
5539	<li>correct macro ClassSelects() in button.c, used to hide ifdef's for
5540	  OPT_WIDE_CHARS in patch #141 (reported by Andreas Paul
5541	  &lt;paula@informatik.tu-muenchen.de&gt;).
5542
5543	<li>change wcwidth.h to include stddef.h rather than wchar.h, which is
5544	  not present on OpenBSD and FreeBSD (reported by Christian
5545	  Weisgerber and Bram Moolenaar).
5546
5547	<li>newer config.sub and config.guess, from lynx 2.8.4dev.7
5548</ul>
5549
5550<H1><A NAME="xterm_141">Patch #141 - 2000/8/14 - XFree86 4.0.1b</A></H1>
5551<ul>
5552	<li>changes for doublewidth and combining characters, from
5553	  http://www.ecs.soton.ac.uk/~rwb197/xterm/
5554	  (integrated patch by Robert Brady).
5555	  In this context,
5556	  doublewidth refers to 16-bit character sets which may have glyphs
5557	  occupying two cells.
5558
5559	<li>add command-line option <code>-class</code>, which allows one
5560	  to override xterm's resource class.  Also add resource file
5561	  <code>UXTerm.ad</code>, which simplifies using xterm for both
5562	  8-bit character sets and UTF-8.
5563
5564	<li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
5565	  Moolenaar, Steve Wall).
5566</ul>
5567
5568<H1><A NAME="xterm_140">Patch #140 - 2000/7/23 - XFree86 4.0.1</A></H1>
5569<ul>
5570	<li>modify Makefile.in to circumvent GNU make's built-in suffix rule
5571	  for ".sh" which confuses install.sh with the "make install" target
5572	  (report/patch by Paul Gilmartin).
5573
5574	<li>implement an experimental control sequence which an application may
5575	  use to query the terminal to determine what sequence of characters it
5576	  would send for a given function key.  This is ifdef'd with
5577	  OPT_TCAP_QUERY (request by Bram Moolenaar).
5578
5579	<li>add /usr/local to search path in CF_X_ATHENA configure macro
5580	  to build with Xaw3d on OpenBSD (patch by Christian Weisgerber).
5581
5582	<li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
5583	  xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate (report
5584	  by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).
5585
5586	<li>correct a few errors in xterm.man:  font in filename example for
5587	  Tektronix emulation, and description of -nul/+nul command-line
5588	  options (report by Eric Fischer &lt;enf@pobox.com&gt;).
5589
5590	<li>update config.guess and config.sub, from tin and lynx.
5591</ul>
5592
5593<H1><A NAME="xterm_139">Patch #139 - 2000/6/17 - XFree86 4.0d</A></H1>
5594<ul>
5595	<li>back out change to <code>-name</code> command-line option,
5596	  restoring its original behavior (as noted by David Madore, the
5597	  correct interpretation of this option is the application instance
5598	  rather than the application class).
5599</ul>
5600
5601<H1><A NAME="xterm_138">Patch #138 - 2000/6/15 - XFree86 4.0c</A></H1>
5602<ul>
5603	<li>workaround for fixed fonts which are generated from Unicode fonts:
5604	  they omit glyphs for some xterm's less-used line-drawing characters,
5605	  which caused xterm to set a flag telling it to use only its internal
5606	  line-drawing characters.  Do not set the flag (it can be set from the
5607	  popup menu), and xterm will generate only the line-drawing glyphs
5608	  which actually are missing.
5609	  <br>
5610	  Otherwise, when used for large fonts, xterm may generate a 2-pixel
5611	  wide line, which can leave dots on the screen.
5612
5613	<li>restore first line of 256colres.pl, omitted in 4.0c diffs.
5614</ul>
5615<H1><A NAME="xterm_137">Patch #137 - 2000/6/10 - XFree86 4.0b</A></H1>
5616<ul>
5617	<li>make command-line <code>-name</code> option work as documented.
5618	  Apparently this was lost in X11R5 when coding to use
5619	  <code>XtAppInitialize</code>.
5620
5621	<li>limit numeric parameters of control sequences to 65535 to
5622	  simplify checks for numeric overflow.
5623
5624	<li>change index into UDK list to unsigned to guard against numeric
5625	  overflow making the index negative (Taneli Huuskonen
5626	  &lt;huuskone@cc.helsinki.fi&gt;).
5627
5628	<li>change <code>sun&nbsp;function-keys</code> resource name to
5629	  <code>sunFunctionKeys</code> to work around redefinition of the
5630	  token <code>sun</code> by xrdb on Solaris.  Similarly, renamed
5631	  resource <code>sun&nbsp;keyboard</code> to <code>sunKeyboard</code>
5632	  (Steve Wall).
5633
5634	<li>change similar resource names for HP and SCO to avoid potential
5635	  conflict with xrdb symbols on other systems, as well as for
5636	  consistency.
5637
5638	<li>reorganized the install targets in the autoconf'd Makefile, adding
5639	  install-app, install-bin, install-dirs and install-man.  The
5640	  app-defaults class can be overridden by setting the make variable
5641	  'CLASS', simplifying customization of xterm as a Unicode terminal,
5642	  e.g., CLASS=UXTerm.
5643
5644	<li>add limit checks to <code>ClearInLine()</code>,
5645	  <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
5646	  correct potential out-of-bounds indexing (prompted by Debian bug
5647	  report #64713, which reported a problem with ICH escape sequences).
5648
5649	<li>updates to config.sub and config.guess
5650	  Kevin Buettner &lt;kev@primenet.com&gt; for elf64_ia64
5651	  Bernd Kuemmerlen &lt;bkuemmer@mevis.de&gt; and MacOS X.
5652
5653	<li>for os390, add check for errno set to
5654	  ENODEV on failure to open /dev/tty when there is no controlling
5655	  terminal (patch by Paul Gilmartin).
5656
5657	<li>fixes for building on Digital Unix 4.0 and AIX 4.2
5658	    (patch from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt;).
5659
5660	<li>modify DECRQSS reply for DECSCL to additionally report if the
5661	  terminal is set for 8-bit controls.
5662</ul>
5663
5664<H1><A NAME="xterm_136">Patch #136 - 2000/6/3 - XFree86 4.0b</A></H1>
5665<ul>
5666	<li>add a resource (<code>limitResize</code>)
5667	  limiting resizing via the CSI 4 t and CSI 8 t sequences.
5668
5669	<li>ignore out-of-bounds resize requests, i.e., where sign-extension
5670	  or truncation of the parameters would occur.
5671</ul>
5672
5673<H1><A NAME="xterm_135">Patch #135 - 2000/5/29 - XFree86 4.0b</A></H1>
5674<ul>
5675	<li>remove code introduced in #134 which made some backgrounds bold.
5676
5677	<li>minor correction to format of updated $TERMCAP when adding
5678	  <code>kb</code> capability for <code>ptyInitialErase</code> logic.
5679
5680	<li>improved test for SVR4 definition.
5681</ul>
5682
5683<H1><A NAME="xterm_134">Patch #134 - 2000/5/28 - XFree86 4.0b</A></H1>
5684<ul>
5685	<li>update URL's and mailing addresses, moved to http://dickey.his.com
5686	  and dickey@herndon4.his.com
5687
5688	<li>correct missing quotes in CF_TTY_GROUP configure script macro in
5689	  case the script is run in batch mode.
5690
5691	<li>modify ownership-check of log file to ignore the group ownership.
5692	  Otherwise xterm cannot create logfiles in directories with set-gid
5693	  permissions.
5694
5695	<li>simplify the logic that reads termcap data.
5696
5697	<li>add fallback definition for B9600 in case line speed definition
5698	  for 38400 is missing (report by Jack J Woehr &lt;jwoehr@ibm.net&gt;,
5699	  for OpenBSD 2.6).
5700
5701	<li>fix:  Set highlightColor, and select a region containing the text
5702	  cursor.  If the window loses focus, the cursor becomes hollow, with
5703	  the region inside the cursor being background/foreground, unlike the
5704	  rest of the selection, which is foreground/highlight
5705	  (patch by Ross Paterson &lt;ross@soi.city.ac.uk&gt;).
5706
5707	<li>add configure script tests to define SVR4, SYSV and USE_POSIX_WAIT,
5708	  which enables xterm to compile on Solaris 7 and SCO Openserver
5709	  without imake, though there are still a few features for the latter
5710	  which require <code>sco</code> to be predefined.
5711
5712	<li>patches from Steve Wall:
5713	<ul>
5714	<li>add support for two Sun-specific function keys.  These keys are
5715	  labeled F11 and F12 on Sun Type 5 keyboards, but return SunXK_F36 and
5716	  SunXK_F37.  Support will only be compiled in if the header file
5717	  &lt;X11/Sunkeysym.h&gt; exists and contains the appropriate symbol
5718	  definitions.  The keycodes for the DEC keycodes were arbitrary unused
5719	  codes, but the ones for the Sun keycodes are what cmdtool and
5720	  shelltool actually send.
5721
5722	<li>add <code>colorRV</code> and <code>colorRVMode</code> resources to
5723	  allow specifying a color to use for reverse video, similar to the
5724	  existing UL, BD, and BL modes.
5725
5726	<li>add <code>alwaysUseMods</code> resource, to override check if
5727	  <code>alt</code> or <code>meta</code> modifiers are used in
5728	  <code>translations</code> resource.  Revamped the code to calculate
5729	  the modifier value, and included Meta if alwaysUseMods is TRUE, using
5730	  values 9-16.
5731	</ul>
5732
5733	<li>fixes for os390 (Paul Gilmartin):
5734	<ul>
5735	<li>regularize the definition of CONTROL() and remove an
5736	  acknowledged "trial and error" table.
5737
5738	<li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
5739	  rather than plain 0177 which is the EBCDIC quotation mark.
5740
5741	<li>modify <code>xtermMissingChar()</code> so that EBCDIC codes 128-159
5742	  are not rendered as blanks by X server running on Solaris, which sees
5743	  those as control characters.
5744
5745	<li>make debugging traces (configure --enable-trace)
5746	 work properly with EBCDIC.
5747	</ul>
5748</ul>
5749
5750<H1><A NAME="xterm_133">Patch #133 - 2000/5/2 - XFree86 4.0a</A></H1>
5751<ul>
5752	<li>add substitutions in autoconf'd Makefile for CPPFLAGS, LDFLAGS and
5753	  AWK (reported by Neil Bird).
5754
5755	<li>correct uninitialized <code>childstat</code> variable from patch
5756	  #131 in <code>creat_as()</code> function, which caused logging to not
5757	  work on Solaris, whose <code>waitpid()</code> function does not
5758	  initialize its parameter.  Add check for EINTR on return from
5759	  <code>waitpid()</code> as well (reported by Neil Bird
5760	  &lt;neil.bird@rdel.co.uk&gt;).
5761
5762	<li>remove a redundant check for working <code>setuid()</code> function
5763	  introduced in patch #132. Greg Smith reports that this does not work
5764	  as intended on os390.
5765
5766	<li>change line speed from 9600bd to 38400bd, to accommodate people who
5767	  mistakenly use $TERM set to <em>vt100</em>, to reduce the effect of
5768	  padding associated with this terminal type.
5769
5770	<li>add configure script check for IRIX 6.5's redefinition of baud
5771	  rates associated with <code>struct termio</code>, to correct a
5772	  situation where the baud rate was initialized to zero (reported by
5773	  Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).
5774
5775	<li>remove unused configure script check for VDISABLE.
5776</ul>
5777
5778<H1><A NAME="xterm_132">Patch #132 - 2000/4/11 - XFree86 4.0a</A></H1>
5779<ul>
5780	<li>undo an incorrect change from patch #113 caused the right scrollbar
5781	  to be positioned incorrectly when re-enabling it (analysis by
5782	  D Roland Walker).
5783
5784	<li>add ctrlFKeys resource, replacing constant for adjusting
5785	  control-F1 to control-F12 to VT220-style F10-F20.  The resource
5786	  changes the constant 12 to a default value of 10 (request by
5787	  Jim Knoble &lt;jmknoble@pobox.com&gt;).
5788
5789	<li>correct ifdef'ing for conflict between definitions in AIX's
5790	  &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
5791	  Olsen).
5792
5793	<li>add checks for return-values of getutid(), initgroups() and
5794	  setuid() in main.c, as well as modifying ifdef's for __osf__ to
5795	  include tty-group and WTMP logic (adapted from patch by Paul Szabo
5796	  &lt;psz@maths.usyd.edu.au&gt;)
5797
5798	<li>modify resize.c to build and work on os390 (uses EBCDIC)
5799	  (adapted from patch by Phil Sidler &lt;Phil.Sidler@airborne.com&gt;)
5800
5801	<li>use Ires(), Bres() and Sres() macros to simplify resource list in
5802	  charproc.c
5803
5804	<li>resync with XFree86 4.0a:
5805	<ul>
5806	  <li>correct a typo in os2main.c (Holger Veit, from 4.0a).
5807	</ul>
5808</ul>
5809
5810<H1><A NAME="xterm_131">Patch #131 - 2000/3/3 - XFree86 3.9.18b</A></H1>
5811<ul>
5812	<li>improve logfile security (integrated patch by Branden Robinson)
5813	  <ul>
5814	  <li>make the <code>creat_as()</code> function more strict by using
5815	    O_EXCL rather than O_APPEND.
5816	  <li>fixes to make DEBUG ifdef's compile/run, including making the
5817	    debug logfile more unique by appending a timestamp to its name.
5818	  <li>include &lt;term.h&gt; in resize.c, to fix a missing-prototype
5819	    warning.
5820	  </ul>
5821
5822	<li>modified <code>creat_as()</code> a little more, retaining the
5823	  ability to append to a logfile If the user specifies the name.
5824	  Also, check if the opened file (which patch #130 ensures is
5825	  owned by the effective user) is not writable by other users.
5826
5827	<li>use <code>creat_as()</code> logic to make tek4014 screen-copy
5828	  more secure (noted by Branden Robinson).
5829
5830	<li>ifdef'd some of Branden's changes to build/work on older machines.
5831
5832	<li>correct missing initialization of the <code>.mode</code> flag in
5833	  <code>ColorRes</code> struct, from patch #129.  This worked on Linux
5834	  because <code>malloc()</code> zeroes memory on that platform
5835	  (reported by Christian Weisgerber).
5836
5837	<li>modify logic for <code>deleteIsDEL</code> resource so it has
5838	  internally 3 states:  unspecified, true and false.  If unspecified,
5839	  the keyboard type determines whether the Delete key transmits
5840	  <code>&lt;ESC&gt;[3~</code> or <code>\177</code>, and the popup menu
5841	  entry reflects the internal state.  Otherwise, the popup menu entry
5842	  overrides the keyboard type (suggested by Dr Werner Fink, to make it
5843	  simpler to set resources that imitate the legacy X11R6 xterm).
5844</ul>
5845
5846<H1><A NAME="xterm_130">Patch #130 - 2000/3/1 - XFree86 3.9.18a</A></H1>
5847<ul>
5848	<li>modify <code>scroll-forw()</code> and <code>scroll-back()</code>
5849	  actions, adding a third parameter which will direct xterm to ignore
5850	  the action when mouse reporting is enabled.  This is needed for
5851	  the wheel mouse to be used to report to the application rather than
5852	  scroll the window.
5853
5854	<li>add menu entry and action to allow disabling xterm's assumption
5855	  that the current font contains line-drawing characters if the
5856	  font cells 1-31 are nonempty.  Some fonts may have other characters
5857	  (reported by Bruno Betro &lt;bruno@iami.mi.cnr.it&gt;).
5858
5859	<li>add a check in <code>creat_as()</code> to ensure that the user
5860	  really owns the logfile that has been opened.
5861
5862	<li>add logic to implement SCO function-keys.  (This is really
5863	  incomplete, since I intend to revisit this and make xterm able to
5864	  emulate scoansi better than just the function-keys).
5865
5866	<li>add configure script option --enable-sco-fkeys, minor related fixes
5867	  (patch by Dr Werner Fink).
5868
5869	<li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)
5870
5871	<li>fix typo in sinstall.sh default for $TST_PROG (reported by
5872	  Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)
5873</ul>
5874
5875<H1><A NAME="xterm_129">Patch #129 - 2000/2/26 - XFree86 3.9.18a</A></H1>
5876<ul>
5877	<li>improve initialization of ANSI colors by delaying allocation until
5878	  each color is first used.
5879
5880	<li>remove ifdef that prevented colorBD/colorUL/colorBL resources from
5881	  working when 256-color configuration was built (reported by
5882	  Todd Larason).
5883
5884	<li>fix some minor inconsistencies in terminfo (Debian #58530).
5885</ul>
5886
5887<H1><A NAME="xterm_128">Patch #128 - 2000/2/17 - XFree86 3.9.18</A></H1>
5888<ul>
5889	<li>correct logic for <code>oldXtermFKeys</code> resource, fixes a core
5890	  dump when attempting to set it from the command-line (reported by Dr
5891	  Werner Fink).
5892	<li>correct ifdef for meta-sends-escap so configure --disable-num-lock
5893	  builds.
5894</ul>
5895
5896<H1><A NAME="xterm_127">Patch #127 - 2000/2/12 - XFree86 3.9.17e</A></H1>
5897<ul>
5898	<li>add resource, popup menu entry and control sequence to allow
5899	  changing the Delete key to send either DEL or the VT220-style
5900	  Remove escape sequence.
5901
5902	<li>remove logic for metaSendsEscape that would allow xterm to send
5903	  <code>&lt;ESC&gt;[3~</code> before a function key that would begin
5904	  with <code>&lt;ESC&gt;[3~</code> (request by Christian Weisgerber).
5905
5906	<li>add missing action and documentation for meta-sends-escape.
5907
5908	<li>correct a few typos in ctlseqs.ms (incorrect code for Cyan color)
5909</ul>
5910
5911<H1><A NAME="xterm_126">Patch #126 - 2000/2/8 - XFree86 3.9.17c</A></H1>
5912<ul>
5913	<li>ensure that xterm will automatically activate the UTF-8 mode whenever
5914	  the name of the locale environment variable suggests that a UTF-8
5915	  locale is in use (patch by Markus Kuhn).
5916	  This will help that by simply setting LC_CTYPE an
5917	  entire system can be switched over to UTF-8, without users having to
5918	  remember the UTF-8 command line options ("-u8", etc.) of the various
5919	  applications.  Command line options and X resource entries can still
5920	  be used to override this default choice.
5921
5922	<li>add old function-keys control sequences and popup menu entry, for
5923	  compatibility with legacy X11R6 xterm.
5924
5925	<li>revert translation of editing keypad "Delete" key to legacy \177.
5926
5927	<li>simplify the color-resource data expressions with macro COLOR_RES,
5928	  for later use in restructuring color initialization.
5929
5930	<li>change encoding of wheel mouse (buttons 4 and 5) to avoid conflict
5931	  with legacy mouse modifiers (suggested by Bram Moolenaar).
5932</ul>
5933
5934<H1><A NAME="xterm_125">Patch #125 - 2000/1/31 - XFree86 3.9.17c</A></H1>
5935<ul>
5936	<li>make this work on OpenVMS
5937	    (integrated patch by David Mathog).
5938
5939	<li>rename some functions, e.g., <code>Index</code> to
5940	  <code>xtermIndex</code> so that ports such as VMS which link
5941	  externals ignoring case will not have library conflicts (reported by
5942	  David Mathog).
5943
5944	<li>correct logic of <code>do_reversevideo()</code>, which did not
5945	  update the corresponding popup menu check mark (reported by David
5946	  Mathog, this was a detail overlooked in patch #94).
5947
5948	<li>change TRACE macro so semicolon is not within definition, making
5949	  <em>indent</em> and similar programs work better.
5950
5951	<li>add <code>depend</code> rule to Makefile.in
5952
5953	<li>modify logic of boldColors resource to suppress it if an extended
5954	  color control has been used, e.g., for 88-color or 256-color mode
5955	  (patch by Todd Larason).
5956
5957	<li>revise logic that handles menus and input translation for keyboard
5958	  type so only one can be selected at a time.
5959
5960	<li>restore kdch1=\177 for the Sun function-key type, and make the
5961	  the Delete key send DEL (\177) if the oldXtermFKeys resource is set.
5962
5963	<li>rephrase logic and ifdef's for POSIX VDISABLE to avoid preprocessor
5964	  expression that will not compile on NetBSD/x86 1.4.1 (reported by
5965	  Takaaki Nomura &lt;amadeus@yk.rim.or.jp&gt;).
5966
5967</ul>
5968
5969<H1><A NAME="xterm_124">Patch #124 - 2000/1/27 - XFree86 3.9.17b</A></H1>
5970<ul>
5971	<li>change coding of editing keypad's "Delete" key to
5972	  &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode.
5973	  This makes the terminfo kdch1 capability independent of the
5974	  coding of the backarrow key, which sends either backspace (8)
5975	  or DEL (127).  The reason for doing this (compatibility with
5976	  the <em>screen</em> program) outweighs the choice of DEL (127)
5977	  which was used in X11R5/X11R6 xterms.  The <em>screen</em>
5978	  program translates whatever matches kdch1 into &lt;escape&gt;[3~,
5979	  even if it happens to be the stty erase character.
5980
5981	<li>add encoding for control/?, to work around xmodmap or key
5982	  translations which may confuse backspace and delete.  A control/?
5983	  will send DEL (127), and a control/H will of course send backspace
5984	  (8).
5985
5986	<li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian #54840).
5987
5988	<li>minor correction to logic that encodes Sun and DEC function keys
5989	  to avoid sending an escape sequence if the key symbol is not found
5990	  in xterm's lookup table.
5991
5992	<li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-" pattern
5993	  is more likely to be implemented when <em>imake</em> configures xterm
5994	  (fixes Debian #55105).
5995
5996	<li>change manpage to make it clearer what codes are sent by the
5997	  backarrow key.
5998</ul>
5999
6000<H1><A NAME="xterm_123">Patch #123 - 2000/1/22 - XFree86 3.9.17a</A></H1>
6001<ul>
6002	<li>add a note reserving OSC 51 for use in Emacs shell (request by
6003	  Rob Mayoff &lt;mayoff@dqd.com&gt;).
6004
6005	<li>correct a missing backslash in xterm-vt220 termcap.
6006
6007	<li>cleanup remaining quoted includes, preferring bracketed form.
6008
6009	<li>minor configure-script macro updates from tin and vile.
6010
6011	<li>add configure-script option for using utempter library, adapted
6012	  from Redhat 6.1 patch for XFree86 3.3.5
6013
6014	<li>resync with XFree86 3.9.17a:
6015	<ul>
6016	  <li>correction to QNX support (Frank Guangxin Liu)
6017	  <li>some cosmetic changes that did not correct any reported problems.
6018	</ul>
6019</ul>
6020
6021<H1><A NAME="xterm_122">Patch #122 - 1999/12/28 - XFree86 3.9.16f</A></H1>
6022<ul>
6023	<li>move the suggested wheel-mouse button translations into charproc.c
6024	  to simplify customization.  Correct some minor logic errors in the
6025	  support for buttons 4 and 5, used for wheel mice (reported by
6026	  Bram Moolenaar).
6027
6028	<li>implement <em>metaSendsEscape</em> resource, with corresponding
6029	  control sequence and menu entry.  Like <em>eightBitInput</em>, this
6030	  causes xterm to send ESC prefixing the given key, but applies to
6031	  all keys and is independent of the 8-bit/7-bit terminal setting.
6032	  (requests by Alexander V Lukyanov and Marc Feeley).
6033
6034	<li>correct potential indexing with negative subscript in udk_lookup(),
6035	  (reported by Ian Collier &lt;Ian.Collier@comlab.ox.ac.uk&gt;).
6036
6037	<li>modify configure script that sets TERMINFO_DIR to use ${prefix}
6038	  rather than /usr if the --prefix option was specified (request by
6039	  Zdenek Sekera &lt;zs@sgi.com&gt;).
6040
6041	<li>modify checks for repeat-character control sequence to test the
6042	  character class against xterm's state table, rather than the
6043	  isprint() macro (patch by Alexander V Lukyanov).
6044
6045	<li>change several functions to macros to improve speed
6046
6047	<li>two corrections to simulation of bold font via overstriking:
6048	<ul>
6049	  <li>use clipping to avoid leaving trash at end of the text, and
6050	  <li>add brackets so wide-character logic does not fall-through
6051	    into the overstriking logic (reported by
6052	    Marc Feeley &lt;feeley@IRO.UMontreal.CA&gt;)
6053	</ul>
6054
6055	<li>add several entries to termcap file to make it have the same set
6056	 of aliases as the terminfo file.
6057
6058	<li>scale the color values used for xterm-256color terminfo entry to
6059	 0..1000, as expected by ncurses.
6060
6061	<li>change xterm-r6 terminfo definitions for F1-F4 to match program.
6062
6063	<li>Add QNX/Neutrino support (Frank Guangxin Liu
6064	 &lt;frank@ctcqnx4.ctc.cummins.com&gt;)
6065</ul>
6066<H1><A NAME="xterm_121">Patch #121 - 1999/11/14 - XFree86 3.9.16c</A></H1>
6067<ul>
6068	<li>change label on "Sun/PC Keyboard" popup menu entry to "VT220
6069	  Keyboard", since the checked state corresponds to VT220 rather than
6070	  Sun/PC.
6071
6072	<li>add configure test CF_UTMP_UT_XSTATUS to handle the variants of
6073	  utmp exit status (reports by Dave Ellement, Jeremie Petit, Tomas
6074	  Vanhala).
6075
6076	<li>amend treatment of ALT key
6077	  (see <a href="#xterm_94">patch #94</a>) so that if ALT is used
6078	  as a modifier in key translations, then no parameter will be sent
6079	  in escape sequences for Sun/PC function keys (request by Dr Werner Fink).
6080
6081	<li>modify default for OPT_I18N_SUPPORT to assume that
6082	  <code>XtSetLanguageProc()</code> is available in X11R5.
6083	  <p>
6084	  Caveat: <code>XtSetLanguageProc()</code> was
6085	  added fairly late in the X11R5 patches, and some vendors shipped
6086	  buggy versions of this function (request by Tomas Vanhala).
6087
6088	<li>correct configure macro CF_SYSV_UTMP to test-link with functions
6089	  consistent with the header, e.g., getutent() for utmp.h and
6090	  getutxent() for utmpx.h (reported by Greg Smith).
6091
6092	<li>modify terminfo entry for <code>xterm-xfree86</code> to reflect
6093	  modifiers for shift and control which (from a patch by Alexander V
6094	  Lukyanov).
6095
6096	<li>modify terminfo entry for <code>xterm-sun</code> to match the
6097	  function-key definitions in ncurses.  The pageup/pagedown and
6098	  related function keys correspond to the Sun keyboard, which does
6099	  not necessarily correspond with X's notion of those keys.
6100
6101	<li>modify treatment of XK_Delete keysym so it transmits parameterized
6102	  VT220-style <code>&lt;ESC&gt;[3~</code> if modifiers (shift, control
6103	  alt) are given (request by Alexander V Lukyanov).
6104
6105	<li>corrected misspelled resource name in command-line option for
6106	  HP function keys.
6107</ul>
6108
6109<H1><A NAME="xterm_120">Patch #120 - 1999/10/28 - XFree86 3.9.16c</A></H1>
6110<ul>
6111	<li>refine the change to <code>SGR_Background()</code> in patch #119,
6112	  by not flushing the pending scrolling operation if the background
6113	  color is not actually changing.  This combination occurs when using
6114	  color-ls to display a long listing, since each line ends with an SGR0
6115	  which affects only the foreground color.  The unnecessary flushing
6116	  made it noticeably slower (reported by D Roland Walker
6117	  &lt;walker@pobox.com&gt;).
6118
6119	<li>remove obsolete documentation about modifiers which can be returned
6120	  in mouse tracking mode, and modify logic to ignore modifiers other
6121	  than the existing ones, e.g., NumLock (prompted by discussions with
6122	  Christian Weisgerber and Brad Pepers &lt;brad@linuxcanada.com&gt;).
6123
6124	<li>use free bit from obsolete shift-modifier coding of mouse tracking
6125	  button events to encode buttons 4 and 5, e.g., for a wheel mouse
6126	  (requests by Brad Pepers and Bram Moolenaar).
6127
6128	<li>correct a place where the ptyInitialErase logic did not set the
6129	  backarrowKey state, and modify it further to use tgetstr() rather
6130	  than parse the termcap data returned from tgetent() so the
6131	  ptyInitialErase logic will work when xterm is linked with a terminfo
6132	  library (based on a patch by Dr Werner Fink &lt;werner@suse.de&gt;).
6133
6134	<li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration
6135	    (patch by Michael Rohleder).
6136
6137	<li>improve configure script's utmp tests (based on reports by Greg
6138	  Smith for os390, and David Ellement for HPUX).
6139
6140	<li>modify sinstall.sh to use uid=0 rather than 'root' to determine if
6141	  the installer is privileged.  This is needed on some systems since
6142	  more than one account may be privileged (report by Greg Smith).
6143
6144	<li>add an application resource, <code>messages</code> (and a
6145	  corresponding -/+mesg option) which controls the initial permission
6146	  on the terminal:  if messages is set to true (the default), behavior
6147	  is as without the patch; if it is set to false (as per -mesg), the
6148	  terminal is opened in mode 0600, thus producing the effect of the
6149	  <code>mesg n</code> command.  This is useful for users who want to
6150	  redirect all their messages to one particular xterm:  it is more
6151	  pleasant to do this with xterm resources than with explicit calls to
6152	  the <code>mesg</code> program  (patch, description by David Madore
6153	  &lt;david.madore@ens.fr&gt;).
6154</ul>
6155
6156<H1><A NAME="xterm_119">Patch #119 - 1999/10/16 - XFree86 3.9.16c</A></H1>
6157<ul>
6158	<li>add responses (DA and DSR) for DEC locator mode
6159
6160	<li>add coding for ANSI color to DA response
6161
6162	<li>implement UTF-8 translation for Media Copy (print) operations.
6163
6164	<li>implement vt320 control sequences for Print Composed Main Display
6165	  and for Print All Pages.  The latter directs xterm to print the
6166	  current screen as well as the scrollback buffer.
6167
6168	<li>correct error in _GNU_SOURCE configure test, which left it always
6169	  defined.
6170
6171	<li>add more information, i.e., with strerror for some system calls in
6172	  the main program which may fail due to insufficient permissions
6173	  (prompted by a problem report for <code>-C</code> by Jeremie Petit
6174	  &lt;Jeremie.Petit@digital.com&gt;).
6175
6176	<li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
6177	  &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
6178	  &lt;griswold@acm.org&gt;).
6179
6180	<li>add configure script test to resolve conflict between between
6181	  &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;
6182
6183	<li>modify translation of UTF-8 sequences to reject "overly long"
6184	  variations (patch by Markus Kuhn).
6185
6186	<li>remove <code>utf8controls</code> resource, since Markus' change
6187	  removes the corresponding logic.
6188
6189	<li>correct a case where colors were not rendered properly.  This
6190	  happened when an application inserted several lines, then changed
6191	  colors.  If this was done all in one write, then there would be no
6192	  intervening refresh, and the new color was applied to the pending
6193	  scrolling operation which was awaiting the next refresh (reported
6194	  by Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).
6195
6196</ul>
6197
6198<H1><A NAME="xterm_118">Patch #118 - 1999/10/5 - XFree86 3.9.16b</A></H1>
6199<ul>
6200	<li>refine configure test for utmp versus utmpx, to build on HP-UX 10.x
6201	  (reported by David Ellement).
6202
6203	<li>move the configure check for <code>const</code> after the check
6204	  for ANSI C compiler options, since those may be required to make
6205	  it work properly on HP-UX.
6206
6207	<li>add configure test for defining <code>_GNU_SOURCE</code>
6208
6209	<li>correction to <em>-hold</em> option, ensure that if data is already
6210	  in the output buffer that it will be displayed before closing the
6211	  PTY.
6212
6213	<li>move the configure checks for setuid install of xterm into a script
6214	  to avoid installing it setuid'd to a non-root user (reported by
6215	  Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).
6216
6217	<li>correct configure script's check for termcap.h to avoid using
6218	  ncurses' version of it on systems that have a working
6219	  <code>tgetent()</code> function.  This is needed to make
6220	  <code>resize</code> work properly.
6221
6222	<li>fix some typography in ctlseqs.ms description of DEC locator events
6223	  (reported by Steve Wall).
6224</ul>
6225
6226<H1><A NAME="xterm_117">Patch #117 - 1999/9/29 - XFree86 3.9.16b</A></H1>
6227<ul>
6228	<li>change order of tests in configure script for utmp and utmpx
6229	  to test utmpx first, to compile on Solaris (reported by
6230	  Leena Heino &lt;liinu@uta.fi&gt;
6231	  and Patrik Hagglund &lt;patha@ida.liu.se&gt;).
6232
6233	<li>add a configure test for utmp.ut_xtime, needed for SCO Openserver,
6234	  and for lastlog, needed for Redhat 6.0, to refine the utmp/utmpx
6235	  auto-configure.
6236
6237	<li>remove a spurious comma in an #undef (reported by
6238	  David Green &lt;greendjf@cvhp152.marconicomms.com&gt; and
6239	  David Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
6240	  compiler does care about syntax).
6241
6242	<li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported by Suhaib
6243	  M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is told that the
6244	  next Cygnus release will drop that symbol in their next release).
6245
6246	<li>minor cleanup of ifdef's for makeColorPair (patch by Steve Wall).
6247
6248	<li>work around problem observed in XFree86 3.3.5
6249	    (patch by Alexander V Lukyanov, Mozilla #5419).
6250	    From the problem report:
6251	<blockquote>
6252	xterm consumes cpu when selecting text with mouse (holding
6253	down left mouse button) and when a program working under the
6254	xterm outputs something to stdout.
6255	<p>
6256	Easy way to reproduce:<br>
6257		<code>while :; do echo aaa; sleep 1; done</code><br>
6258	(while this runs, select text and hold down left mouse button)
6259	watch cpu load.<br>
6260	release left mouse button - spinning stops.
6261	</blockquote>
6262</ul>
6263
6264<H1><A NAME="xterm_116">Patch #116 - 1999/9/25 - XFree86 3.9.16a</A></H1>
6265<ul>
6266	<li>modify warning if change-ownership of PTY fails; some
6267	  configurations may not happen to have old-style pty's (reported by
6268	  Bob Maynard).
6269
6270	<li>improve check in configure script for group ownership of installed
6271	  xterm; some platforms use the -g option of ls to toggle group off
6272	  rather than on (reported by Greg Smith).
6273
6274	<li>minor improvement to toolbar geometry, to make it not resizable.
6275	  This still is not satisfactory (but is usable) since the toolbar
6276	  overlaps the xterm widget if the window is resized to make it
6277	  smaller.  It appears that some work is needed for the xterm widget's
6278	  geometry management to make it function properly.
6279
6280	<li>implement configure script tests for utmp, tty group.
6281
6282	<li>implement <em>-hold</em> option, allowing users to retain the
6283	  window after a shell has exited (this is recently an FAQ, but
6284	  prompted by a comment by Joachim Plaettner-Hochwarth
6285	  &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the IRIX
6286	  winterm provides this option).
6287
6288	<li>add support for DEC Locator control sequences for xterm
6289	  (integrated patch by Steve Wall):
6290	  <pre>
6291
6292		DECEFR, "Enable Filter Rectangle"
6293		DECELR, "Enable Locator Reports"
6294		DECSLE, "Select Locator Events"
6295		DECRQLP, "Request Locator Position"
6296	  </pre>
6297	  This allows the xterm mouse to be used with applications that use the
6298	  DEC Locator sequences, such as VAX Tpu, or SMG$ based applications.
6299
6300	<li>improve print action (patch by Matthias Baake).  From his notes,
6301	  <ul>
6302	    <li>Bug 1<br>
6303	      Underlined text is preceded by ESC&nbsp;[0;2m . This should be ESC&nbsp;[0;4m&nbsp;,
6304	      ESC&nbsp;[2m doesn't seem to have any effect. (print.c/send_SGR)
6305
6306	    <li>Bug 2<br>
6307	      The check for the last non-empty column (while (last &gt; 0) ... in
6308	      print.c/printLine) omits the rightmost column of the screen, the loop must
6309	      start with last = screen-&gt;max_col+1 instead of last = screen-&gt;max_col.
6310
6311	    <li>Bug 3<br>
6312	      Any attributes of the first character (and of all immediately following
6313	      characters with the same attributes) are ignored. The variable attr
6314	      (print.c/printLine) should be initialized with 0, not with *a &amp; SGR_MASK.
6315	  </ul>
6316</ul>
6317
6318<H1><A NAME="xterm_115">Patch #115 - 1999/9/18 - XFree86 3.9.16a</A></H1>
6319<ul>
6320	<li>integrated changes by Steve Wall to implement an 88-color model
6321	  for systems where 256-colors cannot be allocated.
6322
6323	<li>when 256-color configuration is compiled, colored bold and
6324	  underlining is not available; ifdef'd to avoid possible odd effects
6325	  in this case (reported by Steve Wall).
6326
6327	<li>add resource <em>cacheDoublesize</em>, to limit the caching of font
6328	  information for double-sized characters.  This addresses a problem
6329	  reported by Aryeh Koenigsberg for X terminals with limited font
6330	  memory.
6331
6332	<li>modify treatment of line-drawing characters in UTF-8 mode so that
6333	  the Unicode values are used rather than the C0 codes for storing the
6334	  translated characters (request by Markus Kuhn).
6335</ul>
6336
6337<H1><A NAME="xterm_114">Patch #114 - 1999/9/15 - XFree86 3.9.16</A></H1>
6338<ul>
6339
6340	<li>add configure script checks for Athena headers and libraries under
6341	  /usr/contrib to work on HPUX (reported by several people:
6342		David Nixon &lt;djn@csc.liv.ac.uk&gt;
6343		Aryeh Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;
6344		Johannes M&#x00E4;hner &lt;johanm@camline.com&gt;
6345		Andrew Gaylard &lt;andrew.gaylard@bsw.co.za&gt;).
6346
6347	<li>add check to configure script if xterm is installed setgid rather
6348	  than setuid, since wtmp and utmp may be installed with group-writable
6349	  permissions other than root (based on Debian bug report #7112 by Bo
6350	  Branten &lt;bosse@ing.umu.se&gt;).
6351
6352	<li>rewrote logic that removes data from termcap entry, e.g., for
6353	  titeInhibit, to make it less likely to remove the wrong data.
6354
6355	<li>correct logic which checks for missing characters used for line
6356	  drawing.  The 0 character was tested unnecessarily, leading to
6357	  some inefficiency when rendering.
6358
6359	<li>change termcap capability which is used as input or output of
6360	  ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
6361	  Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed out
6362	  in effect that <em>kD</em> (in terminfo <em>kdch1</em>) should
6363	  correspond to the control sequence for <em>dch1</em>, which deletes
6364	  from the current position toward the right.
6365
6366	<li>check for failure to change ownership of the PTY device and warn
6367	  when xterm is running setuid'd to root.  This was reported to happen
6368	  on the FreeBSD/NetBSD/OpenBSD systems as a result of the chflags()
6369	  call.
6370
6371	<li>add xterm-noapp terminfo entry to illustate a nominally
6372	  bash-compatible terminal description.
6373</ul>
6374
6375<H1><A NAME="xterm_113">Patch #113 - 1999/8/15 - XFree86 3.9.15b</A></H1>
6376Several fixes.  The main one is a first draft of pulldown menus.  It's not
6377complete (I have some minor/annoying geometry problems to correct), but is
6378usable.  Once it's complete I plan to add a menu to support additional
6379selections that won't fit on the current popup menus.  Also, this fits into my
6380longterm plan to allow configuring with Motif libraries.
6381
6382<ul>
6383	<li>correct error in input conversion for NRC mode (reported by
6384	  Stefan Traby &lt;stefan@sime.com&gt;).
6385
6386	<li>fix initialization of num_lock data in Misc struct (since those
6387	  fields of the reference widget aren't initialized), and add logic to
6388	  deal with XVision whose NumLock key does not transmit but does alter
6389	  keypad state.
6390
6391	<li>correct a missing return-value in get_pty(), for SCO
6392
6393	<li>add E2A fix for backspace (patch by Greg Smith), i.e.,<br>
6394	  #define VAL_INITIAL_ERASE A2E(127)
6395
6396	<li>correct foreground color within cursor outline when the
6397	  window is unfocused (reported by Stephane Chazelas).
6398
6399	<li>corrected position of scrollbar set in ResizeScrollBar(), which
6400	  left it positioned incorrectly if the right scrollbar were enabled
6401	  from the popup menu but was not initially enabled.
6402
6403	  <p>
6404	  I have noticed some additional problems with right-scrollbar on
6405	  X11R5 which I will correct later.
6406
6407	<li>integrate changes by Jean-Claude Michot for QNX from XFree86 3.3.4c
6408
6409	<li>add resources menuBar/MenuBar, menuHeight/MenuHeight for later
6410	  use in toolbar geometry.
6411
6412	<li>add configure option --enable-toolbar
6413
6414	<li>add missing definition to make ziconbeep logic not compile-in when
6415	  configure script disables it.
6416
6417	<li>add configure-check for input-method support in X libraries
6418</ul>
6419
6420<H1><A NAME="xterm_112">Patch #112 - 1999/7/17 - XFree86 3.9Pw</A></H1>
6421<ul>
6422	<li>add null-pointer check to FlushLog(), fixes a core dump when both
6423	  -l and -lf options are used when xterm is configured with wide-character
6424	  support.
6425
6426	<li>remove "ISO" case for SD, which was due to a typographical error in
6427	  ECMA-48 (reported by Paul Williams &lt;paul@celigne.co.uk&gt; for
6428	  vttest).
6429
6430	<li>add "FILES" section to manpage.
6431
6432	<li>generate header file to initialize default resources for colors
6433	  16-255.
6434
6435	<li>fixes for os390 (Greg Smith):
6436	<ul>
6437	  <li>add README.os390
6438
6439	  <li>use the pty_search() function to find an available pty/tty pair.
6440
6441	  <li>move E2A() call out of getXtermCell() to SaveText() function
6442	      so it will be available in all configurations.
6443	</ul>
6444
6445	<li>patches by Todd Larason:
6446	<ul>
6447	  <li>enable SGR 48 5 in ISO color mode, not just 256 color mode
6448
6449	  <li>change configure's --disable-256-color option to
6450	    --enable-256-color, to match its effect
6451
6452	  <li>fix OSC 4 xx ?  (report ansi color) to report a string which can
6453	    actually be used to set the color back
6454
6455	  <li>fix OSC 4 xx yy (change ansi color) to not allow setting colors &gt;
6456	    15 in 16 color mode
6457
6458	  <li>simplify the COLOR_ settings a bit in ptyx.h, along with setting
6459	    NUM_ANSI_COLORS needed for #1 and #4 above
6460
6461	  <li>correct string-terminator code passed for reference to OSC
6462	    responses; when in 7-bit mode, only the final byte of ST was seen.
6463
6464	  <li>Allow multiple color #;name pairs in OSC 4,
6465	    and document changes to match.
6466	</ul>
6467</ul>
6468
6469<H1><A NAME="xterm_111">Patch #111 - 1999/7/10 - XFree86 3.9Pw</A></H1>
6470<ul>
6471	<li>add control sequences for specifying the RGB value of the ANSI
6472	  colors, and for configuring with 256 colors (patch by Todd Larason
6473	  &lt;jtl@molehill.org&gt;).  I made the default configuration to
6474	  16-colors, because xterm uses the default color map (which has only
6475	  256 colors).
6476
6477	<li>correct an error in DCS $ q m reporting for colors 8-15 (Todd
6478	  Larason).
6479
6480	<li>add test/demo script for double size characters.  Used this to
6481	  test/correct display of double size characters that should wrap,
6482	  underlined double size characters.
6483
6484	<li>increased cache size for double size fonts to 8, to allow for both
6485	  normal and bold fonts (discussion with Aryeh Koenigsberg
6486	  &lt;aryeh.koenigsberg@telrad.co.il&gt;).
6487
6488	<li>add fixes for port to OS390 aka MVS
6489	    (integrated patch from Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;).
6490	    OS390 uses EBCDIC rather than ASCII.
6491
6492	<li>correct an off-by-one in binary search limits in keysym2ucs.c (Markus
6493	  Kuhn).
6494
6495	<li>implement logging for UTF-8 mode.  The output is written in UTF-8 form.
6496</ul>
6497
6498<H1><A NAME="xterm_110">Patch #110 - 1999/6/29 - XFree86 3.9Pu</A></H1>
6499<ul>
6500	<li>If colorMode is enabled by default, compile-in default resources to
6501	  match the colors listed in XTerm-col.ad (this should fix a
6502	  longstanding FAQ).
6503
6504	<li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST escape
6505	  sequence to set an arbitrary X property on the top level xterm X11
6506	  window.  Omit "=VALUE" to delete the X property (patch by Greg Badros
6507	  &lt;gjb@cs.washington.edu&gt;).
6508
6509	<li>change internal flag used for <em>utf8controls</em> resource
6510	  so we allow 31-bit range of characters (suggested by Thomas Wolff).
6511
6512	<li>add check for 16-bit characters in OSC strings, change them to '?'
6513	  (reported by Thomas Wolff).
6514
6515	<li>modify logic of same_font_name() to avoid trying to interpret both
6516	  parameters as wildcard patterns.  That does not (cannot) work, and in
6517	  some instances the font server will return unresolved wildcards for
6518	  the normal or bold fontnames, making them match inadvertently,
6519	  triggering the fallback overstrike logic (reported by Tim Adye).
6520</ul>
6521
6522<H1><A NAME="xterm_109">Patch #109 - 1999/6/23 - XFree86 3.9Pt</A></H1>
6523<ul>
6524	<li>correct range-check from patch #108, which resulted in not being
6525	  able to select from the scrollback buffer (reported by Tim Adye
6526	  &lt;T.J.Adye@rl.ac.uk&gt;)
6527
6528	<li>correct "no available ptys" problem with Cygwin B20.1 (patch by Tim
6529	  Adye).
6530
6531	<li>modified install-ti rule in Makefile.in to allow override of the
6532	  terminfo directory when doing a "make install", i.e., by assigning
6533	  to TERMINFO_DIR (request by Zdenek Sekera &lt;zs@sgi.com&gt;).
6534
6535	<li>added install-full rule to Makefile.in
6536
6537	<li>resync mkdirs.sh and install.sh scripts against current autoconf
6538
6539	<li>implement $(DESTDIR) in Makefile.in, making it simple to install
6540	  xterm and associated files into a directory just for packaging a
6541	  binary release (suggested by CaT &lt;cat@zip.com.au&gt;).
6542
6543	<li>change IChar type to unsigned, rather than unsigned short, making
6544	  room for a flag to keep with 16-bit characters to prevent them from
6545	  being interpreted as C0 or C1 controls (reported by Thomas Wolff).
6546
6547	<li>correct a typo from patch #107, incorrect array name, in the
6548	  filterUTF8 function (patch by Bruno Haible &lt;haible@ilog.fr&gt;)
6549
6550	<li>add <em>utf8controls</em> resource to specify whether xterm should
6551	  interpret 16-bit characters unpacked from UTF-8 form as control
6552	  characters if they happen to fall into that range.  This behavior
6553	  is left unspecified by the Unicode standard (request by Thomas Wolff).
6554
6555	<li>modify handling of OSC to recover if application sends 16-bit
6556	  characters with codes above 255.  We cannot display them as is, but
6557	  translate out-of-range characters to a '?' (reported by Thomas
6558	  Wolff).
6559</ul>
6560
6561<H1><A NAME="xterm_108">Patch #108 - 1999/6/19 - XFree86 3.9Ps</A></H1>
6562<ul>
6563	<li>add a range-check to LastTextCol(), to guard against indexing
6564	  before the beginning of the scrollback buffer.  This appears to
6565	  happen with certain fonts under X11R5 (reported by Stephane Chazelas
6566	  &lt;Stephane_Chazelas@Raytheon.com&gt;).
6567
6568	<li>implement resource <em>boldMode</em>, to allow disabling the
6569	  simulation of bold fonts when the bold and normal fonts are not
6570	  different (requested by Will Day &lt;willday@rom.oit.gatech.edu&gt;).
6571
6572	<li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few bugs in
6573	  the UTF-8 selection (patch by Juliusz Chroboczek).
6574
6575	<li>correct logic of binary-search in keysym2ucs.c (patch by Markus
6576	  Kuhn).
6577
6578	<li>add special interpretation of keysym codes above 0x1000000 as
6579	  the corresponding UCS value plus 0x1000000 (patch by Markus Kuhn).
6580</ul>
6581
6582<H1><A NAME="xterm_107">Patch #107 - 1999/6/12 - XFree86 3.9Pq</A></H1>
6583<ul>
6584	<li>Two changes from Stephen P Wall.
6585	  From his description:
6586	<blockquote>
6587	The first change is simple - I added ESC[3J to erase the stored lines
6588	above the screen.  That's what the changes to util.c and ctlseqs.ms
6589	are.
6590	<p>
6591	The second change is to get the blinking cursor working.  I took out
6592	the cursorBlinkTime resource, and put in cursorBlink (Boolean),
6593	cursorOnTime (time cursor is on in msecs) and cursorOffTime, and added
6594	a cursorblink item to the vtMenu to enable/disable it.
6595	</blockquote>
6596
6597	<li>improve selection (integrated patch by Juliusz Chroboczek).
6598	  From his description:
6599	<blockquote>
6600	With this patch, selection conversion works properly:
6601<pre>
6602	ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
6603	ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
6604	UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
6605	UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
6606</pre>
6607	It will not work properly if one xterm is in, say, ISO 8859-2.
6608	Actually, for this case xterm breaks the ICCCM routinely (sending ISO
6609	8859-2 data as STRING), so I wouldn't worry too much about it.  I have
6610	not changed the behaviour in eight-bit mode in any way.
6611	</blockquote>
6612</ul>
6613
6614<H1><A NAME="xterm_106">Patch #106 - 1999/6/9 - XFree86 3.9Pq</A></H1>
6615<ul>
6616	<li>remove duplicate fix for OpenBSD in resize.c
6617
6618	<li>correct logic in ScreenWrite, which did not reset the high bytes
6619	  of 16-bit characters when overwriting them with a 8-bit character
6620	  string (reported by Thomas Wolff).
6621
6622	<li>provide limited support for
6623	    input of UTF-8 16-bit data by a lookup table
6624	    (integrated patch by Markus Kuhn).
6625
6626	<li>correct check in non_blank_line to ensure we're in wide-character
6627	  mode before looking at the high bytes, for InsertChar.
6628</ul>
6629<H1><A NAME="xterm_105">Patch #105 - 1999/6/5 - XFree86 3.9Pp</A></H1>
6630<ul>
6631	<li>implement new resource <em>trimSelection</em>, which allows xterm
6632	  to trim trailing blanks from selected lines.  This does not affect
6633	  the highlighting. (reported by several people using <em>mutt</em>,
6634	  including
6635	  Hans Morten Kind &lt;edphk@uib.no&gt;,
6636	  Jeremy &lt;jeremy@exit109.com&gt;
6637	  and (Michael Fuller &lt;msf@mds.rmit.edu.au&gt;).
6638
6639	<li>include term.h in resize for OpenBSD (patch by Matthieu Herrb).
6640
6641	<li>correct logic for UTF-8 in functions that hide and show the cursor;
6642	  it was displaying a space whenever the low byte of the character at
6643	  the cursor position was zero (reported by Thomas Wolff
6644	  &lt;Thomas.Wolff@icn.siemens.de&gt;).
6645</ul>
6646
6647<H1><A NAME="xterm_104">Patch #104 - 1999/5/30 - XFree86 3.9Pn</A></H1>
6648This is a resync patch against XFree86 3.9Pn, reflecting changes which were
6649submitted by Branden Robinson, who worked with
6650Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt;
6651to set up ifdef's to handle GNU libc 2.1,
6652and use getpt() which lets xterm avoid having to know the actual PTY name.
6653<p>
6654I have also added a few fixes for signed/unsigned mismatches, and corrected
6655a problem in the configure script (the UTF-8 code was always configured since
6656the Imakefile defines this).
6657
6658<H1><A NAME="xterm_103">Patch #103 - 1999/5/14 - XFree86 3.9Pm</A></H1>
6659<ul>
6660	<li>correct selection logic: I omitted an offset that accounts for
6661	  the distance into the scrollback buffer when rewriting this for
6662	  patch #101.  Also fixed a similar problem for selecting double
6663	  size characters from the scrollback buffer (first was reported
6664	  by D Roland Walker &lt;walker@pobox.com&gt;).
6665
6666	<li>improved support for Unix98 PTY's, using patch in Debian bug report
6667	  #35650, by J.H.M. Dassen &lt;jdassen@wi.leidenuniv.nl&gt;. From
6668	  the patch description:
6669	<blockquote>
6670	<ul>
6671	<li>No longer links xterm against libutil on a glibc2.1 system.
6672	  libutil is a compatibility library and should only be used when
6673	  necessary.  Rather than having get_pty() use openpty() from this
6674	  compatibility library, use the real UNIX98 pty support in get_pty()
6675	  (open()ing the master pty, through getpt() if available (glibc
6676	  extension)).  Use openpty() only under glibc2.0.
6677	<li>GNU libc2 is not Linux-specific; already it runs on the Hurd.  It
6678	  provides the UNIX98 pty functions (plus the getpt() extension),
6679	  regardless of the underlying OS.  Changed two constructs to look for
6680	  GNU libc2 only, not GNU libc2 on Linux.
6681	</ul>
6682	</blockquote>
6683
6684	<li>improve font configuration, by checking if the user's resource
6685	 settings for normal and bold fonts give the same font sizes
6686	 (fixes problem reported by Peter Waltenberg &lt;peterw@dascom.com&gt;).
6687</ul>
6688
6689<H1><A NAME="xterm_102">Patch #102 - 1999/5/12 - XFree86 3.9Pm</A></H1>
6690<ul>
6691	<li>revert change to openpty call in patch #101; this causes xterm to
6692	  fail on DEC-Alpha OSF/1 4.0B (reported by H Merijn Brand).
6693
6694	<li>modify print.c to move include of stdio.h after the autoconf'd
6695	  xtermcfg.h since HP's ANSI C compiler otherwise sees inconsistent
6696	  prototype for getopt, probably due to problem with const (reported by
6697	  H Merijn Brand).
6698</ul>
6699
6700<H1><A NAME="xterm_101">Patch #101 - 1999/5/10 - XFree86 3.9Pm</A></H1>
6701<ul>
6702	<li>moved includes and definitions for 'select' from data.h to xterm.h
6703	  to fix problem introduced by prototype for getPtyData, part of UTF-8
6704	  changes (reported by Jens Schleusener &lt;Jens.Schleusener@dlr.de&gt;)
6705
6706	<li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
6707	  translation (patch by H Merijn Brand)
6708
6709	<li>fixes to configure script and ifdef's in main.c to build on a
6710	  HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with egcs 1.1.2
6711	  and HP's ANSI C compiler (patch by H Merijn Brand
6712	  &lt;PROCURA_BV@CompuServe.com&gt;)
6713
6714	<li>add more parentheses in ifdef's (patch by Bob Maynard).
6715
6716	<li>eliminate conflicting definitions for USE_TERMINFO in resize.c
6717	  (reported by Jeremy Buhler).
6718
6719	<li>change openpty call to pass NULL rather than ttydev parameter,
6720	  since that was used only to estimate the length of the
6721	  corresponding data, and may not really be long enough
6722	  (reported by Andreas Jaeger)
6723
6724	<li>update description in xterm manpage for character class table,
6725	  which said it handles only 7-bit codes.
6726
6727	<li>correct a typo in ScrnDeleteChar() which made it not clear the
6728	  high byte of wide-character data.
6729
6730	<li>add logic to convert selection to UTF-8 form when appropriate.
6731	  This makes select/paste "work", but further work is needed to
6732	  make UTF-8 recognized as a locale in Xlib.
6733
6734	<li>correct right-limit check when selecting double-width characters.
6735
6736	<li>change default answerback response to an empty string.
6737</ul>
6738
6739<H1><A NAME="xterm_100">Patch #100 - 1999/5/3 - XFree86 3.9Pl</A></H1>
6740<ul>
6741	<li>Correct a typo in the default resource value for
6742	  backarrowKeyIsErase:  it was always true (reported by Bram
6743	  Moolenaar).
6744
6745	<li>improve configure script's test if the installed xterm is setuid,
6746	  in case that is a symbolic link.
6747
6748	<li>correct "install-ti" rule in Makefile.in, by not setting a blank
6749	  $TERMINFO value.  That is interpreted as "." by ncurses' tic.
6750</ul>
6751
6752<H1><A NAME="xterm_99">Patch #99 - 1999/5/2 - XFree86 3.9Pk</A></H1>
6753<ul>
6754	<li>correct logic that computes num_ptrs count of the number of indices
6755	  into the screen buffer.  This is the maximum of the colors and
6756	  character-set indices; was incorrect in patch #97.
6757
6758	<li>correct argument type for sigsetjmp, incidental change in patch
6759	  #96's Unix88 PTY patch (reported by Bram Moolenaar).
6760
6761	<li>correct description of secondary DA in ctlseqs.ms (reported by Bram
6762	  Moolenaar).
6763
6764	<li>decouple the backarrowKey and ptyInitialErase resources by
6765	  adding a new resource backarrowKeyIsErase, to accommodate people
6766	  using applications which have hardcoded tests for characters 8 and
6767	  127 rather than relying on the stty settings.
6768
6769	<li>modify the UTF-8 decoder so that all possible illegal UTF-8
6770	  sequences are properly represented by U+FFFD.  This should be very
6771	  helpful for developers of code that output UTF-8 strings for
6772	  debugging.  See the file utf-8-test.txt in
6773	  http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
6774	  demonstration text that contains numerous illegal UTF-8 values.
6775	  (patch by Markus Kuhn).
6776
6777	<li>correct a place in ScrnRefresh where I was filling the high byte of
6778	  a wide character with a space rather than a null (reported by Markus
6779	  Kuhn).
6780</ul>
6781
6782<H1><A NAME="xterm_98">Patch #98 - 1999/4/26 - XFree86 3.9Pk</A></H1>
6783<ul>
6784	<li>correct data manipulation in unparseputc(), broken for
6785	  little-endian machines by patch #97's UTF-8 changes.  This meant that
6786	  keyboard input on SunOS did not work, though Linux i386 was fine.
6787
6788	<li>modify initialization for backarrowKey and logic for initial-erase
6789	  to prevent the initial-erase from overriding an explicitly set
6790	  backarrowKey resource (reported by Vikas Agnihotri).
6791
6792	<li>add a missing null-pointer check in ScrnRefresh, for the
6793	  wide-characters configuration.
6794</ul>
6795
6796<H1><A NAME="xterm_97">Patch #97 - 1999/4/25 - XFree86 3.9Pk</A></H1>
6797<ul>
6798	<li>add configure script test for -lutil, needed for openpty call when
6799	  configuring xterm for Glibc-2.1 and Unix98 PTY's (first reported by
6800	  Martin Lorentz" &lt;m.lorentz@w12.link-goe.de&gt;).
6801
6802	<li>completely parenthesize ifdef expressions for Glibc (suggested by
6803	  Bob Maynard).
6804
6805	<li>add initial-erase options (-ie, +ie) to help message (reported by
6806	  Vikas Agnihotri).
6807
6808	<li>remove duplicate definition of USE_USG_PTYS (reported by Jeremy
6809	  Buhler).
6810
6811	<li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a DEL
6812	  (\177).
6813	  I overlooked this when separating the styles of keyboard with
6814	  the <em>sunKeyboard</em> resources in patch #94, so that it normally
6815	  matches the value of the stty erase character:
6816	  <ul>
6817	  <li>Reported by Jae Gangemi &lt;jgangemi@ccf.rutgers.edu&gt;,
6818	    this caused emacs to not process the DEL properly, combining it
6819	    with succeeding characters.
6820	  <li>This does not appear to be related to a problem which I have
6821	    found with <em>screen</em>, which translates the stty erase into
6822	    the termcap <em>kD</em> or terminfo <em>kdch1</em> value
6823	    (depending on how it is linked)
6824	    if the $TERMCAP variable is set when <em>screen</em> is invoked.
6825	  </ul>
6826
6827	<li>add command-line options for enabling UTF-8 mode: -u8 and +u8.
6828	  The more obvious -utf8 and +utf8 would conflict with xterm's
6829	  -ut and +ut (utmp) options.
6830
6831	  The UTF-8 changes were requested by Markus Kuhn
6832	  &lt;Markus.Kuhn@cl.cam.ac.uk&gt;.  This patch does not complete UTF-8
6833	  implementation, but makes it usable, i.e., display and refresh work,
6834	  and I am able to display the test cases which Markus provides.
6835	  More work is needed to complete this feature:
6836	  <ul>
6837	  <li>the control sequences for switching in/out of UTF-8 mode are
6838	    partly implemented (don't use them).  Similarly, the switching
6839	    between vt100 and tek4014 emulations when UTF-8 mode is enabled
6840	    will not work properly.
6841	    <p>
6842	    You must use the -u8 command line option
6843	    to use this feature, as well as compile with the OPT_WIDE_CHARS
6844	    definition.
6845	  <li>cut/paste only copies 8-bit characters.
6846	  <li>logging is disabled in the wide-character configuration
6847	  <li>printing only writes 8-bit characters.
6848	  <li>input only does 8-bit characters.  This is the area that I know
6849	    least about.
6850	  </ul>
6851</ul>
6852
6853<H1><A NAME="xterm_96">Patch #96 - 1999/4/19 - XFree86 3.9Pj</A></H1>
6854<ul>
6855	<li>modify Makefile.in to work with configure script's --srcdir option.
6856	  (patch by Jeremy Buhler &lt;jbuhler@cs.washington.edu&gt;)
6857
6858	<li>add checks for 'echo -n' equivalent for 8colors.sh and 16colors.sh
6859	  scripts (reported by Vikas Agnihotri).
6860
6861	<li>improve logic that looks for bold fonts to allow for wildcards
6862	  in the specification for normal fonts, and to ensure that if
6863	  a bold font is specified as normal, that xterm will simulate a
6864	  bold version of that using a one-pixel offset overstrike
6865	  (reported by Henrik Harmsen &lt;harmsen@erv.ericsson.se&gt;).
6866
6867	<li>correct horizontal spacing of double width line-drawing characters
6868	  that xterm simulates.
6869
6870	<li>improve support for Unix98 PTY's, using patch in Debian bug report
6871	  #35650, by Topi Miettinen &lt;Topi.Miettinen@medialab.sonera.fi&gt;.
6872	  Andreas Jaeger says this also corrects a permissions problem
6873	  reported by cat@zip.net.au
6874
6875	<li>modify initial-erase logic to ensure that <code>ttyModes</code>
6876	  resource overrides it.
6877</ul>
6878
6879<H1><A NAME="xterm_95">Patch #95 - 1999/4/5 - XFree86 3.9Ph</A></H1>
6880<ul>
6881	<li>modify primary DA response to allow a '1' parameter.
6882
6883	<li>add printer and national replacement character sets to VT220
6884	  primary DA response.
6885
6886	<li>document primary and secondary DA responses in ctlseqs.ms
6887
6888	<li>use the patch number (e.g., 95) in the secondary DA response,
6889	  providing user applications a means of determining the version
6890	  of xterm for feature comparison (request by Bram Moolenaar).
6891
6892	<li>make xterm respond to secondary DA when the decTerminalID
6893	  is set for VT100.
6894
6895	<li>limit user-defined keys (DECUDK) to VT220-style keyboard
6896	  when sunKeyBoard resource is true.
6897
6898	<li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
6899	  Glibc-2.1 and no Unix98 PTY support (patch from Andreas Jaeger
6900	  &lt;aj@arthur.rhein-neckar.de&gt;)
6901
6902	<li>add optional feature (resource and command-line options) to make
6903	  xterm use the PTY's sense of erase character on startup, rather than
6904	  requiring it to be \177, or set the PTY's erase character to match
6905	  xterm's configuration.  Note that while $TERMCAP is modified to
6906	  reflect the actual configuration, the terminfo kdch1 string is not
6907	  (request by Dirk H Hohndel &lt;hohndel@suse.de&gt;)
6908
6909	<li>improve scripts in vttests to work with newer shells that do not
6910	  use 'echo -n'.
6911
6912	<li>add fonts.sh example script
6913
6914	<li>correct inequality in handling of "#1" font specification.
6915
6916	<li>correct call to XGetWMNormalHints() used for computing maximum
6917	  screen size; the size hints may not have been set.
6918
6919	<li>begin implementation of support for wide-characters (configure
6920	  option --enable-wide-chars defines OPT_WIDE_CHARS, invoke xterm with
6921	  -wc option to activate this feature).  This patch optionally widens
6922	  internal data structures, invokes the 16-bit text output rather than
6923	  the 8-bit version and adds some tables.
6924
6925</ul>
6926<H1><A NAME="xterm_94">Patch #94 - 1999/3/27 - XFree86 3.9Pf</A></H1>
6927<ul>
6928	<li>further fixes for terminfo: ka1, ka3, etc., differ between the
6929	  default xterm-xfree86 and xterm-vt220 entries.
6930
6931	<li>change default (with sunKeyboard resource false) behavior of
6932	  the editing keypad "Delete" to send a 127, like xterm-r6.
6933	  The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
6934	  sunKeyboard is true (reported by Tomas Vanhala).
6935
6936	<li>add parameters to function keys to indicate if shift, control
6937	  or alt are set.  The codes are based on a description of
6938	  a DEC VT510 with a PC keyboard, from Jeffrey Altman
6939	  &lt;jaltman@watsun.cc.columbia.edu&gt;.
6940
6941	<li>add control sequence 1035, set-num-lock action and num-lock
6942	  menu entry to control the use of the NumLock and Alt keys for
6943	  the Sun/PC and VT220 keyboard extensions.
6944
6945  	<li>implement DECSET/DECRST numeric keypad (DECNKM) mode.
6946
6947	<li>modify terminfo and termcap to use recommended "X Window" or "X11"
6948	  names rather than "X Windows" (reported by Tomas Vanhala).
6949
6950	<li>suppress translation of shifted keypad "+" when sunKeyboard
6951	  is true.
6952
6953	<li>workaround unexpected behavior (perhaps bug) in XmbLookupString,
6954	  which returns trash in the string buffer for numlock and control-key
6955	  combined with keypad-keys.
6956
6957	<li>modify ScrollBarReverseVideo() to keep scrollbar border visible
6958	  when reverse video is toggled.
6959
6960	<li>correct missing case for parameter 17 (set highlight color) in
6961	  dynamic colors control sequences.
6962
6963	<li>extend dynamic colors control sequences to allow users to
6964	  determine the colors and font which are currently active.
6965
6966	<li>minor tweak to OSC responses, to use BEL if the application used
6967	  that to end the request, rather than ST.  This works better with
6968	  shell scripts, which may not handle an
6969	  <code>&lt;ESC&gt;backslash</code> very well.
6970
6971	<li>separate menu settings for reverse video from that done under
6972	  program control.
6973
6974	<li>corrected ifdef's for menus, which did not allow tek4014 to
6975	  be suppressed properly (reported by Clint Olsen).
6976
6977	<li>changes for Linux-2.2.x with GLibc-2.1 and
6978	  /dev/ptmx support (integrated patch from Pavel Roskin):
6979	<ul>
6980	  <li>main.c and resize.c were using different rules to determine
6981	    whether ATT should be defined (actually USE_USG_PTYS is more
6982	    apt).
6983
6984	  <li>copy definitions from main.c to resize.c to prevent
6985	    sys/stream.h and sys/ptem.h from inclusion when SYSV is not
6986	    defined
6987
6988	  <li>define CNUL if not already defined like other variables.
6989
6990	  <li>/dev/tty does exist in Linux, but it doesn't mean, it
6991	    should be used.  Therefore EACCES is now an acceptable
6992	    result.
6993
6994	  <li>ifdef'd several calls such as <code>ioctl (ptyfd, I_PUSH,
6995	    "ptem")</code> to build on Linux (I_PUSH is not defined when
6996	    sys/stropts.h is not included).
6997	</ul>
6998
6999	<li>initialize second "ltc" variable in main.c (reported by David
7000	  Dawes).
7001
7002	<li>provide definition for USE_USG_PTYS in screen.c
7003
7004	<li>add resource-files to install rule in standalone Makefile.in
7005
7006	<li>add sample scripts to illustrate titlebar controls, resizing
7007	  and colors.
7008</ul>
7009
7010<H1><A NAME="xterm_93">Patch #93 - 1999/3/14 - XFree86 3.9Pd</A></H1>
7011Here are several fixes and minor enhancements.  The chief ones
7012are the fixes for NumLock mode and reverse video, since we had become
7013used to working around the problems.
7014<ul>
7015	<li>remove kfnd/kll/kslt strings from terminfo, because curses
7016	  applications do not necessarily return khome/kend pairs
7017	  (reported by Vikas Agnihotri).
7018
7019	<li>implement NumLock resource which overrides the keyboard tables for the
7020	  special case of keypad keys.  This is a problem introduced in xterm
7021	  by X11R6 changes, i.e., an ambiguity which in effect discarded vt100
7022	  keypad support.
7023
7024	<li>modify Sun/PC keyboard mode to extend this (emulation of DEC vt100
7025	  keypad) to the remainder of the numeric keypad.  Now, the default
7026	  operating mode of xterm uses the keyboard tables as-is (except if
7027	  the NumLock mode overrides), but provides good vt100 keypad compatibility
7028	  if the Sun/PC keyboard menu item is checked.
7029
7030	<li>separate command-line settings for reverse video from that done
7031	  under program control.  This is a problem which was introduced by
7032	  X11R6.  Though <em>correct</em>, most users are confused by allowing
7033	  the reset command to undo the effect of the command-line <kbd>-rv</kbd>
7034	  option.
7035
7036	<li>add description of function keys, keypad and cursor keys to ctlseqs.ms
7037
7038	<li>add terminfo entries for xterm-vt52, xterm-sun and xterm-hp
7039
7040	<li>correct typo (missing case value) for DECSET 35, enable/disable
7041	  shifted keypad action and a few compiler warnings (reported by Zdenek
7042	  Sekera &lt;zs@sgi.com&gt;).
7043
7044	<li>correct reporting of color values 8-15 in DECRQSS (reported by
7045	  Vikas Agnihotri).
7046
7047	<li>modify parsing of ttyModes resource to recognize "^-" as "undef"
7048	  (requested by Tomas Vanhala).
7049
7050	<li>integrate/extend changes to add iconify/maximize actions
7051	  (from Edward S. Arthur &lt;eda@ultranet.com&gt;).
7052
7053	<li>add control sequences for maximizing/restoring window, and
7054	  for reporting maximum screen size.
7055
7056	<li>add 'interpret' action, to support local function-key interpretation.
7057	  Used properly, this makes most of the specialized actions of xterm
7058	  redundant.
7059
7060	<li>add control sequence private modes 1051, 1052 and 1052, for
7061	  setting the Sun and HP function key modes, and for setting the
7062	  Sun/PC keyboard mode.
7063
7064	<li>add configure option --disable-maximize
7065
7066	<li>add configure option --disable-num-lcok
7067
7068	<li>extend descriptions of configure script options in INSTALL.
7069</ul>
7070
7071<H1><A NAME="xterm_92">Patch #92 - 1999/2/5 - XFree86 3.9Nz</A></H1>
7072<ul>
7073	<li>increase buffer size for tgetent (i.e., termcap) to 1500.  This
7074	  fixes a problem where <em>screen</em> is built using ncurses or
7075	  GNU termcap and <em>xterm</em> is built using the standard termcap
7076	  interface.  The former does not limit the termcap size, while the
7077	  latter is assumed to be no longer than 1023 characters.  The
7078	  <em>screen</em> program's termcap entry is about 1200 characters
7079	  long.
7080
7081	<li>change update_menu_item() to a function, to simplify debugging.
7082	  This also reduces the executable by 4Kb.
7083
7084	<li>add control sequences for DECSET 30, 1010, 1011 like rxvt (enable
7085	  or disable some features that were only settable via resources or
7086	  command line arguments).
7087
7088	<li>add control sequence for DECSET 35, which enables/disables the
7089	  shifted keypad functions.
7090
7091	<li>add support for switching font sizes, by stepping through the
7092	  font menu using shifted keypad plus and minus.
7093
7094	<li>correct missing initialization of tekInhibit and tekSmall resources.
7095
7096	<li>correct ifdef's in charproc.c for XtNgeometry and XtCGeometry
7097	  (reported by Bram Moolenaar).
7098</ul>
7099
7100<H1><A NAME="xterm_91">Patch #91 - 1999/1/21 - XFree86 3.9Nw</A></H1>
7101<ul>
7102	<li>Implement logic to translate input characters which are mapped
7103	  when in vt220 National Replacement Character mode (requested by
7104	  Tomas Vanhala).
7105
7106	<li>Resync configure scripts with my patches to autoconf 2.13
7107
7108	<li>Change order of -lXmu and -lXext to accommodate cygwin32
7109	  (reported by Vikas Agnihotri).
7110
7111	<li>Add "-ti" option to set terminal emulation level from command
7112	  line rather than via resource.
7113
7114	<li>Simplify some of the preprocessor logic using #elif.
7115</ul>
7116
7117<H1><A NAME="xterm_90">Patch #90 - 1998/12/13 - XFree86 3.9Nq</A></H1>
7118This implements several small fixes and enhancements.  The chief one implements
7119fallback support for line drawing characters with fonts that do not include
7120those characters.  But I implemented that last.
7121
7122<ul>
7123	<li>If any of the glyphs in positions 0-31 (used by xterm to implement
7124	  the VT100 alternate character set) are zero-sized (i.e., missing),
7125	  xterm will reserve a normal space for the glyph when drawing.  I
7126	  implemented a simple stroke-drawing function to draw the line-drawing
7127	  characters and a couple of the other (simpler) characters such as
7128	  diamond.  (This was suggested by Vikas Agnihotri).
7129
7130	<li>Modify the computation of doublesize characters to work around font
7131	  servers which shift the scaled characters up/down or do not give the
7132	  correct width.
7133
7134	<li>Add popup menu item and corresponding resource settings to disable
7135	  the font-scaling logic for doublesize characters to work around
7136	  (older) font servers which simply do not draw the fonts scaled to the
7137	  size that they said they would.  I see this problem on a SunOS system
7138	  running X11R5; the X11R6 servers seem well behaved.
7139
7140	<li>Implement new escape sequence, private mode 1049, which combines
7141	  the switch to/from alternate screen mode with screen clearing and
7142	  cursor save/restore.  Unlike the existing escape sequence, this
7143	  clears the alternate screen when switching to it rather than when
7144	  switching to the normal screen, thus retaining the alternate screen
7145	  contents for select/paste operations.
7146
7147	<p>When I implemented the popup menu entry to toggle between the normal
7148	  and alternate screens, I considered only pasting from the normal
7149	  screen to the alternate; this improvement allows either direction.
7150
7151	<li>Changed the termcap and terminfo for xterm-xfree86 and xterm-8bit
7152	  to use the new 1049 private mode.
7153
7154	<li>Modify the logic which switches between normal and alternate
7155	  screens so that the save/restore cursor operations apply only to the
7156	  current screen.  That means that applications which use the terminfo
7157	  smcur/rmcur or termcap ti/te capabilities will restore the cursor to
7158	  the original position on the normal screen rather than to the most
7159	  recent place where a save-cursor operation was performed.
7160
7161	<p>I note that a real VT100 terminal would not behave in this way,
7162	  but it is a moot point since the VT100 does not implement alternate
7163	  screen, and therefore the save/restore cursor sequence would not be
7164	  used in this context.  I reviewed the logic which switches between
7165	  normal and alternate screens based on some recent newsgroup postings
7166	  as well as a proposed patch in the Debian group which attempts to
7167	  do this (the patch has a bug, however, so I did not use it).
7168
7169	<li>Add popup menu entry for toggling the titeInhibit resource.
7170
7171	<li>Add new resource answerbackString, which overrides the default
7172	  "xterm" returned by xterm when responding to an ENQ (control/E)
7173	  character (request by Rajesh Vaidheeswarran &lt;rv@fore.com&gt;).
7174
7175	<li>Add new resource keyboardDialect for setting the NRC display
7176	  character set (request by Tomas Vanhala, who notes that I should
7177	  add logic to translate the keyboard as well).
7178
7179	<li>Add new command-line option and corresponding resources for making
7180	  xterm generate escape sequences compatible with HP terminals.  Like
7181	  the existing Sun escape sequences, this is available as a popup menu
7182	  item.  It is enabled by the configure script with the option
7183	  --enable-hp-fkeys (requested by Toni Mueller &lt;sales@oeko.net&gt;).
7184
7185	<li>Add configure script option --disable-boxchars to disable the
7186	  fallback support for line drawing characters.
7187
7188	<li>Fix ifdef's for configure script --disable-ansi-color, and reviewed
7189	  all configure options to ensure that all can be enabled/disabled
7190	  appropriately.
7191
7192	<li>Update config.guess and config.sub, from Lynx.
7193</ul>
7194
7195<H1><A NAME="xterm_89">Patch #89 - 1998/11/20 - XFree86 3.9Nm</A></H1>
7196This patch completes the implementation of double-sized character support
7197for the VT100 emulation, and fixes a few minor bugs:
7198
7199<ul>
7200<li>corrected the cursor position in HideCursor, which did not multiply
7201the column by two when in doublesize mode.
7202This bug, which did not appear in normal use,
7203dates back to my original <a href="#xterm_44">changes</a> to partly implement
7204double-sized characters.
7205I noticed it when cat'ing a typescript from vttest's double-sized character
7206test.
7207<li>ensure that the current line is repainted when switching between
7208single and double width characters.
7209<li>reduce the number of bits used for double-sized character coding
7210from 3 to 2, to make more room for soft-font codes.
7211<li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
7212which address details of glibc and powerpc.
7213<li>moved definition of DECL_ERRNO in xterm.h to match XFree86 3.3.3
7214<li>modify <em>resize</em> to remove the ifdef on SVr4 that suppressed
7215printing the script for $LINES and $COLUMNS.
7216Solaris' resize utility does this; suppressing the behavior is unnecessary.
7217</ul>
7218I tested the double-sized characters using vttest and the xfsft patch.
7219These fonts worked reasonably well:
7220<pre>
7221	-bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
7222	9x15
7223</pre>
7224The iso8859 font does not include box characters, of course, but looks good.
7225
7226<H1><A NAME="xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk and 3.3.2h</A></H1>
7227This refines my #85 patch by checking for a case where the font server
7228returns a bold font that does not quite correspond to the normal font.
7229When I asked for a bold version of the 6x12 font, the font server
7230returned a near equivalent where the ascent and descent values did not
7231match, causing xterm to leave lines across the display.
7232This patch makes xterm reject that type of mismatch, falling back to the
7233old font behavior.
7234
7235<H1><A NAME="xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj and 3.3.2f</A></H1>
7236This corrects a problem reported by Stefan Dalibor.  My table entries for the
7237<em>printerExtent</em> and <em>printerFormFeed</em> resources used the wrong
7238types for sizeof, causing the printer to not work properly on some platforms
7239because the <em>printAttributes</em> resource was overwritten (e.g., Digital Unix with DEC Alpha).
7240<p>
7241I reviewed all of the resource table entries and fixed a potential problem with
7242<em>resizeGravity</em>, which was typed as <em>int</em> rather than
7243<em>XtGravity</em>.
7244
7245<H1><A NAME="xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj and 3.3.2e</A></H1>
7246A small fix: when switching to/from the continuous mouse reporting mode,
7247the event mask was incorrect if xterm was built under X11R5 because the
7248original data was saved under an ifdef for active-icon.
7249
7250<H1><A NAME="xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj and 3.3.2e</A></H1>
7251Some cleanup (I noticed the pixel droppings a few months ago after getting a
7252new 17" monitor):
7253<ul>
7254	<li>split-out the functions that load/reload fonts for xterm as new
7255	  file fontutils.c to extend them to support automatic loading of
7256	  bold font corresponding to the normal font.  Adapted logic from
7257	  EMU 1.3 for this purpose.  This fixes most occurrences of pixel
7258	  droppings from bold characters.
7259
7260	<li>modified by renaming variables and adding casts to permit compile
7261	  with g++.
7262
7263	<li>modify headers so they can all be compiled without order
7264	  dependencies, and use bracketed rather than quoting includes to allow
7265	  compile from separate directory.
7266
7267	<li>renamed xtermm terminfo entry to xterm-mono, to avoid conflict with
7268	  Solaris entry now in ncurses.
7269</ul>
7270
7271<H1><A NAME="xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni</A> and 3.3.2e</H1>
7272Several small fixes and enhancements, including a patch from
7273Bjorn Helgaas:
7274<ul>
7275	<li>correct initialization of TERMCAP environment variable, which
7276	  was frequently set to garbage on non-Linux systems because
7277	  "termcap" and "newtc" contained random data from the stack.
7278
7279	<li>remove the LINEWRAPPED attribute from lines as they are cleared.
7280	  Previously, the attribute was set but never cleared.
7281
7282	<li>make word and line selections work even when lines are wrapped
7283	  by xterm.  Previously, selections were limited to one screen line.
7284</ul>
7285as well as
7286<ul>
7287	<li>modify logic for line-wrapping to reset the associated flag if
7288	  the application deletes a character. This fixes a problem reported
7289	  by Bjorn Helgaas where word/line selection would still wrap even
7290	  after deleting characters from the first line.
7291	<li>add kll/kH capabilities to xterm-xfree86 entries in termcap and
7292	  terminfo (request by Michael Schroeder).
7293	<li>shorten descriptions in termcap to make resolved entries all
7294	  shorter than 1023 character limit.
7295	<li>use DECSTR control sequence to shorten initialization and reset
7296	  strings in xterm-xfree86 termcap and terminfo.
7297	<li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match termcap.
7298	<li>correct typos in initialization and reset strings in xterm-r5
7299	  termcap and terminfo.
7300	<li>disable special translations of key symbols (the backarrow key,
7301	  the editing keypad and the keypad "+") when a modifier other than
7302	  shift, control or numlock is used.  This makes xterm handle the meta
7303	  key as expected by people using emacs (reported by Pete Harlan
7304	  &lt;harlan@pointofchoice.com&gt; in linux.debian.user newsgroup).
7305</ul>
7306
7307<H1><A NAME="sync_83">Resync #83 - 1998/10/7 - XFree86 3.3.2e</A></H1>
7308
7309Merge changes through patch #83 with the 3.3.2e version.
7310<p>
7311This follows a change from XFree86 CVS which adds checks for non-null
7312return from malloc (patch by Matthieu Herrb).
7313
7314<H1><A NAME="xterm_83">Patch #83 - 1998/8/25 - XFree86 3.9Nb</A></H1>
7315Several small fixes and enhancements:
7316<ul>
7317	<li>add configure test to infer if xterm should be installed setuid
7318	  based on previously installed xterm (reported by Stephen Marley
7319	  and Stefan Dalibor).
7320
7321	<li>implement quasi-continuous mouse reporting
7322	    (integrated patch by Jason Bacon).
7323
7324	<li>correct control sequences transmitted by function keys F1 to F4
7325	  when sunFunctionKeys resource is true (it was still using the
7326	  VT100 control sequences).
7327
7328	<li>modify handling of backarrow key so that the control modifier
7329	  toggles the backspace/delete interpretation set by the
7330	  backarrowKey resource.
7331
7332	<li>limit the row and column values used to report mouse position.
7333</ul>
7334
7335From resync with XFree86 3.9Nb:
7336<ul>
7337	<li>add support for the VSTATUS control character (patch by
7338	  Robert Earl &lt;rearl@teleport.com&gt;).
7339</ul>
7340
7341<H1><A NAME="xterm_82">Patch #82 - 1998/7/15 - XFree86 3.9Aj</A></H1>
7342Bug fix for patch #81:
7343<ul>
7344	<li>remove an #undef for NBBY, which caused compile problem on FreeBSD
7345	  (reported by David Dawes).
7346</ul>
7347
7348<H1><A NAME="xterm_81">Patch #81 - 1998/7/14 - XFree86 3.9Aj</A></H1>
7349More bug fixes:
7350<ul>
7351	<li>fix conflicting ifdef's for TIOCSLTC when building with Linux on
7352	  AXP aka DEC Alpha (reported by Robin Cutshaw).
7353
7354	<li>correction to patch #79, move assignment for *utptr-&gt;ut_user = 0;
7355	  back into non-SVR4 ifdef in main.c, since this clobbers username on
7356	  Solaris 2.5.1 (analysis by Will Day
7357	  &lt;willday@rom.oit.gatech.edu&gt;).
7358
7359	<li>corrected khome/kend in xterm-8bit terminfo description.
7360
7361	<li>improve cursor color by making it always the reverse of fg/bg
7362	  unless the cursorColor resource is set, i.e., to something other than
7363	  the default foreground (reported by Vikas Agnihotri and Bram
7364	  Moolenaar).
7365
7366	<li>minor fixes for compiler warnings, including a syntax error in
7367	  the AMOEBA ifdef's.
7368</ul>
7369From resync with XFree86 3.9Aj:
7370<ul>
7371	<li>correction to patch #73, supply missing #else for fallback definitions
7372	  of size_t, time_t (Robin Cutshaw &lt;robin@intercore.com&gt;).
7373</ul>
7374
7375<H1><A NAME="xterm_80">Patch #80 - 1998/6/29 - XFree86 3.9Ai</A></H1>
7376This fixes a couple of items leftover or introduced by patch 79:
7377<ul>
7378	<li>take out the logic that suppresses editing-keypad in vt100 mode
7379	  (those keys are too valuable to give up for a fine point of
7380	  emulation).
7381
7382	<li>corrected a couple of places in terminfo where I missed using the
7383	  vt220-style editing-keypad codes for Find/Select (mapped to Home/End).
7384
7385	<li>checked termcap file against terminfo, fix several places where it
7386	  was inconsistent.
7387</ul>
7388
7389<H1><A NAME="xterm_79">Patch #79 - 1998/6/28 - XFree86 3.9Ai</A></H1>
7390
7391This patch fixes several small bugs:
7392<ul>
7393	<li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas Vanhala).
7394
7395	<li>add new resource 'oldXtermFKeys' which provides backward compatibility
7396	  for F1-F4 control sequences with TOG's xterm.
7397
7398	<li>determine the server's default foreground/background Pixel values,
7399	  needed if the -flipPixels X server option is used (reported by
7400	  David Dawes).
7401
7402	<li>correct logic for F1-F4 function keys so that they generate VT100
7403	  compatible escape sequences in VT220 mode, since that is what the
7404	  numeric keypad is supposed to do (reported by Ron Johnson, Jr.
7405	  &lt;ronjohn@communique.net&gt;).
7406
7407	<li>modify logic for editing keypad to work more like VT220: don't
7408	  pass those codes in VT100-mode unless oldXtermFKeys mode is set.
7409
7410	<li>correct an interaction with the editing-keypad logic that prevented
7411	  backarrow key from sending a 127 for the delete key (the 'remove'
7412	  escape sequence was being sent instead).
7413
7414	<li>use return-value from getuid() rather than the parameter, to work on
7415	  systems which do not update the latter (patch by Kevin Buhr
7416	  &lt;buhr@mozart.stat.wisc.edu&gt;)
7417
7418	<li>correct scrollbar border color when toggling to/from secure keyboard
7419	  mode (patch by Jeff Uphoff &lt;juphoff@tarsier.cv.nrao.edu&gt;)
7420
7421	<li>modifications to terminfo file:
7422<ul>
7423	  <li>rename description to xterm-xfree86, adding an entry 'xterm'
7424	    which is derived from xterm-xfree86 to simplify customization.
7425
7426	  <li>change string for kdch1 from \177 to \E[3~, to address complaints
7427	    from Debian developers.  (This applies to the key labeled "Delete",
7428	    and does not affect the backarrow key).
7429
7430	  <li>add user-strings u6, u7, u8, u9 to entries to make them work with
7431	    Daniel Weaver's "tack" program.
7432
7433	  <li>modify xterm-24, xterm-bold, xterm-boldso entries to disentangle them from
7434	    explicit dependency upon xterm-xfree86.
7435
7436	  <li>add generic 'xterm-color' entry.
7437
7438	  <li>minor corrections to xterm-xfree86, xterm-8bit, xterm-r5 and
7439	    xterm-r6 entries.
7440</ul>
7441</ul>
7442
7443<H1><A NAME="xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah and 3.3.2</A></H1>
7444
7445Again, most of the bulk of this patch is for ANSI conversion.  I used the
7446IRIX compiler's -wlint option to find the remaining functions that use
7447K&amp;R syntax (since gcc does not do this properly).
7448
7449Also, I changed the logic in the print code slightly to close unwanted files
7450before opening a pipe to the printer.  This may help in some configurations
7451where the line printer hangs until xterm closes the pipe.
7452
7453<H1><A NAME="xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah and 3.3.2</A></H1>
7454
7455Most of the bulk of this patch is to convert the extended C (K&amp;R functions
7456with prototypes) to ANSI.  I verified that on Linux by comparing object
7457files, to ensure that I did not, for example, interchange parameters in
7458the function declarations.
7459<p>
7460The rest of the patch fixes several minor bugs, and adds a few features:
7461<ul>
7462	<li>back-out my use of ncurses "captoinfo -f" option (if/then/else/endif)
7463	  formatting, since ncurses did not correctly filter embedded newlines
7464	  in terminfo capability strings until _after_ ncurses 4.1, thus
7465	  corrupting setf/setb/sgr strings (reported by Darren Hiebert and
7466	  others).
7467
7468	<li>document SGR 8, 28 (invisible/visible), add corresponding
7469	  capabilities to terminfo description.
7470<p>
7471	  I would also add the 'prot protected capability, but the control
7472	  sequences for that would not be recognized or properly ignored by the
7473	  older xterm programs.
7474
7475	<li>modify ChangeGroup to not suppress a null-resource, but treat it as an
7476	  empty string (recommended by Stefan Dalibor).
7477
7478	<li>add printerAutoClose resource to control whether printer is closed
7479	  when going offline.  More than one person reports problems (on
7480	  Solaris 2.6 and Digital Unix 4.0) getting the printer to proceed
7481	  unless xterm exits; I think that it is a problem flushing the pipe.
7482	  Closing it ought to flush it.
7483
7484	<li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N (but adapt
7485	  XtStackAlloc/XtStackFree for clarity, as well as fixing memory leak).
7486
7487	<li>change calls on FillCurBackground to ClearCurBackground, in effect
7488	  using XClearArea rather than XFillRectangle when clearing as a
7489	  side-effect of scrolling and insertion  (patch by Alexander V
7490	  Lukyanov)
7491
7492	<li>correct some places where insert/delete did not _move_ the color
7493	  attributes, using memmove (patch by Alexander V  Lukyanov
7494	  &lt;lav@long.yar.ru&gt;)
7495
7496	<li>add ifdef's for __CYGWIN32__, for port to cygnus version B19.1
7497	  (patch by Andrew Sumner &lt;andrew_sumner@hotmail.com&gt;).
7498
7499	<li>remove #define for hpux that turned on USE_SYSV_ENVVARS, since this
7500	  causes some applications (such as 'less') to get incorrect $LINES and
7501	  $COLUMNS values (reported by Clint Olsen).
7502
7503	<li>modify behavior for HP-UX, to set the "reserved" process group
7504	  controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does not produce an
7505	  error (patch by Ben Yoshino &lt;ben@wiliki.eng.hawaii.edu&gt;).
7506
7507	<li>correct length of underlining, reducing it by one pixel to avoid
7508	  leaving a dot when the application does not clear the whole screen
7509	  I noticed this only recently myself (and other people as well); it
7510	  depends on the font chosen.  A 6x10 font shows it, but the other
7511	  fonts from XTerm.ad do not.  I also see a similar problem with the
7512	  emulation of bold fonts.
7513	  (patch by Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).
7514
7515	<li>add include for Xos.h to xterm.h, to ensure proper definitions
7516	  (reported by Holger Veit).
7517
7518	<li>update config.guess to recognize Unixware 2.1 and 7 (patch by
7519	  Mike Hopkirk &lt;hops@sco.com&gt;).
7520</ul>
7521
7522<H1><A NAME="xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah and 3.3.2</A></H1>
7523
7524A fix for the print-window function, and some minor cleanup:
7525<ul>
7526	<li>modify logic that closes pipe in the print-window function to not use
7527	  pclose, which does not work on all systems, since I did not open the
7528	  pipe with popen (reported by Stefan Dalibor).
7529
7530	<li>correct name of $(EXTRA_LOAD_FLAGS) imake variable (reported
7531	  by Stefan Dalibor).
7532
7533	<li>guard logic in ChangeGroup() function against null pointer
7534	  (reported by Stefan Dalibor).
7535
7536	<li>ensure that menu entry for toggling sunKeyboard resource is
7537	  initialized (reported by Branden Robinson &lt;branden@purdue.edu&gt;).
7538
7539	<li>gcc unused-variable warnings (reported by Bernd Ernesti
7540	  &lt;bernd@arresum.inka.de&gt;)
7541
7542	<li>rename global variable 'buffer' to 'VTbuffer'
7543</ul>
7544
7545<H1><A NAME="xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah and 3.3.2</A></H1>
7546
7547This incorporates fixes from several people, as well as some improvements
7548that I made based on feedback from users:
7549<ul>
7550	<li>add option to standalone configure script, "--with-own-terminfo-dir",
7551	  which causes xterm to pass a predefined value of $TERMINFO to the
7552	  application.  Also use this value in install rule "make install-ti",
7553	  for the standalone configure script.
7554
7555	  (patch &amp; feedback from Tor Lillqvist &lt;tml@hemuli.tte.vtt.fi&gt;)
7556
7557	<li>change ifdef's for "hpux" to "__hpux" (patch by Tor Lillqvist).  The
7558	  imake configuration uses the former, but the latter is predefined by
7559	  HP's compilers.
7560
7561	<li>define USE_SYSV_ENVVARS for HP-UX, curses does not use $TERMCAP (patch
7562	  by Tor Lillqvist).
7563
7564	<li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.  Works
7565	  both on HP-UX 9 and 10.  (patch by Tor Lillqvist).
7566
7567	<li>modify configure script to obtain the $(EXTRA_LOADFLAGS) value from
7568	  imake, needed for compiling under DEC OSF/1 (reported by
7569	  Stefan Dalibor)
7570
7571	<li>modify print-window action so that the printer is closed after
7572	  printing a window, unless the printer was already opened (i.e.,
7573	  by an application running in the window).  This makes the printing
7574	  complete without having to exit xterm, since not all systems treat
7575	  fflush through a pipe very well (reported by Stefan Dalibor)
7576
7577	<li>modify printing code so that the ^M's are not printed if the
7578	  printAttribute resource is set to zero (request by Stefan Dalibor).
7579
7580	<li>correct typo in xterm.man, for the default value of printAttribute
7581	  (reported by Stefan Dalibor).
7582
7583	<li>correct printing code so that the alternate character set is
7584	  printed, like other attributes, with escape sequences.
7585
7586	<li>correct termcap description, removing spurious 'm' character from
7587	  the 'op' capability (reported by Greg Woods &lt;woods@weird.com&gt;).
7588
7589	<li>correct trace code so that the initial timestamp is set.
7590
7591	<li>correct/modify utmp data for the Linux glibc 2 configuration,
7592	  so that the ut_line member is set before using it to update wtmp
7593	  (patch by Bill Nottingham &lt;wen1@cec.wustl.edu&gt;).
7594</ul>
7595
7596<H1><A NAME="xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag and 3.3.2</A></H1>
7597
7598This corrects a couple of recent bugs and adds a new resource:
7599<ul>
7600	<li>modify definition of TRACE_CHILD so that it does not conflict with
7601	  ifdef's for USE_USG_PTYS in main.c (reported by Vikas Agnihotri
7602	  &lt;VikasA@att.com&gt; and Stefan Dalibor).
7603
7604	<li>correct ownership of file (actually pipe) written by the print
7605	  controls.  When undoing the setuid changes in patch #69, I overlooked
7606	  this.  Now xterm forks a process which resets setuid and routes the
7607	  printer data as the real user.
7608
7609	<li>add a new resource, "printAttributes", which controls whether
7610	  color attributes (or any attributes) are sent to the printer.
7611</ul>
7612
7613<H1><A NAME="xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag and 3.3.2</A></H1>
7614
7615This patch does the following:
7616<ul>
7617	<li>implements a print-window facility for xterm.  Though useful in
7618	  itself, I added it as part of some debugging which I am doing.
7619	  (Occasionally during an exposure event xterm fails to restore the
7620	  proper colors for highlighted text, and printing the screen will
7621	  show the internal states nicely).
7622<p>
7623	  The print facility now also displays the color information.
7624	  (I will probably make this a resource).
7625
7626	<li>modified the xterm-16color terminfo description to use the setaf and
7627	  setab strings, which is a little more efficient (requested by Stephen
7628	  Marley).
7629
7630	<li>reduced some clutter of the ifdef/includes (e.g., stdlib.h, unistd.h,
7631	  errno) making the configure script test for these.
7632<p>
7633	  I removed the symbols Size_t and Time_t, since they no longer serve
7634	  a useful purpose.
7635
7636	<li>added some debugging traces to show the initial screen size,
7637	  and the success/failure of the ioctl calls pass handle window
7638	  resizing events to the application (for Clint Olsen).
7639<p>
7640	  I also modified the trace code to produce two files since some
7641	  of the information is produced by the child process.  So now
7642	  they are Trace-parent.out and Trace-child.out
7643
7644	<li>updated configure test for ANSI compiler options to handle a
7645	  special case for HP-UX 10.x (reported by Clint Olsen).
7646</ul>
7647
7648<H1><A NAME="xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag and 3.3.2</A></H1>
7649
7650This is a patch from Chris Siebenmann &lt;cks@hawkwind.utcs.toronto.edu&gt;,
7651which I have cleaned up a little, and integrated into the configure script.
7652<p>
7653From his description:
7654<blockquote>
7655 This set of patches is the latest incarnation of patches originally
7656written by Ian! D Allen, then of the University of Waterloo and now of
7657who knows where; I have been carrying them forward from xterm to xterm
7658ever since about X11R4.  What they do is add an option so that when an
7659iconified xterm receives output it prepends '*** ' to its icon title
7660and (optionally) beeps the bell; deiconifying the xterm removes the
7661'*** '. Over the years I've found this to be incredibly convenient for
7662monitoring all sorts of low-activity things.
7663</blockquote>
7664
7665<H1><A NAME="xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag and 3.3.2</A></H1>
7666
7667This patch is a slightly modified version of one by Richard Braakman, which
7668prevents buffer overflow in the input-method and preedit-type parsing in xterm.
7669I changed a couple of details to make the code more maintainable, and looked
7670for similar things - copying into a fixed-size buffer (found none, though I did
7671spot an unused variable).
7672
7673<H1><A NAME="xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af and 3.3.2</A></H1>
7674
7675This patch corrects some minor bugs in xterm, and fills in some more details
7676in the VT220 emulation:
7677<UL>
7678	<LI>modify Imakefile to use SpecialCObjectRule for menu and data modules,
7679	  making xterm build properly if logging is enabled
7680	  (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).
7681
7682	<LI>restore "ich" capability to terminfo entries, since
7683	  Michael Schroeder points out that "ich1"
7684	  is the one which is the problem in Solaris vi.
7685
7686	<LI>correct color of cursor, which would disappear on inverse-video
7687	  since the initialization did not compare the cursor color against
7688	  both foreground and background (reported by Olivier Calle).
7689
7690	<LI>correct abbreviation-test for -version and -help options, making
7691	  command-line option -vb work (reported by Stefan Dalibor).
7692
7693	<LI>correct a dependency between ifdef's for OPT_I18N_SUPPORT and
7694	  OPT_INPUT_METHOD (reported by Stefan Dalibor).
7695
7696	<LI>split-out character-set translations as new module charsets.c, to
7697	  implement VT220 national replacement character sets (a mode where
7698	  some of the characters are displayed as specific European glyphs).
7699	  This relies on xterm using an ISO 8859-1 font (approach suggested by
7700	  Kenneth R. Robinette &lt;zkrr01@mailbox.neosoft.com&gt;).
7701
7702	<LI>correct a missing increment, which made SS2 and SS3 controls
7703	  repeat the shifted character.
7704
7705	<LI>add xterm-nrc to terminfo to illustrate the VT220 national
7706	  replacement character sets.
7707
7708	<LI>reformat terminfo using new ncurses tic option "-f", which makes
7709	  if/then/else/endif expressions easier to read.
7710</UL>
7711
7712<H1><A NAME="xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad and 3.3.2</A></H1>
7713
7714This corrects the problem in xterm with utmp, reported by Olivier Calle
7715&lt;olivier@tc.fluke.com&gt;
7716as well as some other people after the XFree86 3.3.2 release.
7717<P>
7718The error was introduced by my patch #53 in XFree86 3.9r (October 1997).
7719<P>
7720The correction removes the reset of setuid/setgid before the main event loop,
7721and solves the problem which I had worked around in a different manner:  for
7722some reason, the particular waitpid() call in creat_as() hangs, does not
7723return when the child process exits.  I changed the ifdef's to force the Linux
7724configuration to use wait() instead.  This call appears to work properly on
7725other platforms such as SunOS and Solaris.
7726<P>
7727I also added tests in the standalone configure script to check for the
7728existence of waitpid().
7729
7730<H1><A NAME="xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad and 3.3.1z</A></H1>
7731
7732This corrects another problem with the logic for highlightColor resource.
7733As reported by David Dawes:
7734<blockquote>
7735	I've just noticed a problem with with the "inverse" control sequence
7736	(ESC[7m) with the 3.3.2 xterm.  What it does is sets the background
7737	black, and the text the usual foreground colour rather than simply
7738	swapping the foreground/background.
7739
7740</blockquote>
7741This appears to be because when I added logic to check that the highlightColor
7742was distinct from foreground and background colors, I did not add a further
7743check to see that it was not black (I would make an explicit check for the
7744resource not being set, but see nothing definite in the headers that would let
7745me reference an explicitly-undefined Pixel value, though there are some
7746implications in xpm.h).  But this should work.
7747
7748<H1><A NAME="xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad and 3.3.1e</A></H1>
7749
7750This patch does the following:
7751<UL>
7752	<LI>improve test for highlightColor so that xterm does not attempt to
7753	  use that unless it is different from the foreground and background
7754	  colors (reported by Stefan Dalibor
7755	  &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
7756<P>
7757	  I could not reproduce this until I noticed that the -rev option
7758	  exposed it nicely.
7759
7760	<LI>remove ich and ich1 from xterm and xterm-8bit terminfo descriptions.
7761	  SVr4 terminfo documents that you must not combine these with
7762	  smir/rmir, but ncurses allows it, opening a hole.  Solaris 2.6 vi
7763	  does not work properly if it is using a terminfo description when
7764	  these are combined, since it was written to accommodate old terminals
7765	  that required it (reported by Stephen Marley).
7766
7767	<LI>restore 1-pixel overlap of scrollbar border with left edge of window
7768	  (reported by Jim Burmeister &lt;jimb@metrolink.com&gt;).
7769
7770	<LI>add a configure option, --enable-logfile-exec, which allows the
7771	  user to specify a pipe for logfile.  This defines ALLOWLOGFILEEXEC.
7772
7773	<LI>makes the ALLOWLOGFILEEXEC code compile &amp; run, if configured.
7774
7775	<LI>minor documentation nits.
7776</UL>
7777
7778<H1><A NAME="xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad and 3.3.1d</A></H1>
7779
7780This fixes the problem reported with failure to build the <EM>resize</EM>
7781program (BSDI, OSF/1) due to not having &lt;termcap.h&gt;, by changing the
7782ifdef to one that would be set only if the file exists (not currently
7783specified, except by the standalone configure script).  We do not really need
7784to include &lt;termcap.h&gt; to build, but only for a clean compile, since it
7785may declare the tgetent() prototype.
7786
7787I also updated the man-page for <EM>resize</EM>, since I had recently noticed
7788that it can be used to resize <EM>xterm</EM> using the "Sun" control sequences
7789option.
7790
7791<H1><A NAME="xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad and 3.3.1c</A></H1>
7792
7793This is a small patch to xterm's 8-bit terminal description.  I noticed
7794while testing ncurses that I had specified the wrong (VT100-style) codes
7795for the F1-F4.  Xterm only uses VT220-style function keys in 8-bit mode.
7796
7797<H1><A NAME="xterm_64">Patch #64 - 1998/2/8 - XFree86 3.9Ad</A></H1>
7798
7799This fixes the following problems with xterm:
7800<UL>
7801	<LI>save/restore the ANSI foreground and background colors with the other
7802	  visible attributes in the save-cursor and restore-cursor operations.
7803	  This works around a problem with vim, which apparently assumed that
7804	  switching between the normal and alternate screens resets the colors
7805	  (reported by Jim Battle &lt;jb@chromatic.com&gt;).
7806<P>
7807	  It would be nice to implement save/restore cursor as a stack (and
7808	  solve this type of problem completely), but that would lead to
7809	  incompatibility with applications which assume they are running with a
7810	  VT100 or VT220.
7811
7812	<LI>corrects behavior of a restore-cursor operation which does not
7813	  follow a save-cursor (it is supposed to set the character sets
7814	  to a known initial state).
7815
7816	<LI>extends the sunKeyboard resource (and menu toggle) to modify the
7817	  home, end and delete keys on a Sun or PC editing keypad, making them
7818	  generate codes compatible with DEC VT220's Find, Select and Remove
7819	  keys.
7820
7821	<LI>corrects a length in checking command-line options, which caused the
7822	  "-help" message to not work when X was not running.
7823
7824	<LI>add some detail to the man-page (requested by Jason Bacon
7825	  &lt;acadix@execpc.com&gt;)
7826
7827	<LI>modify the standalone configure script to ignore the broken nsl and
7828	  socket libraries on IRIX 6.2 (the ones on 5.2 also are broken, so
7829	  this change just widens the check for the system version number).
7830</UL>
7831
7832<H1><A NAME="xterm_63">Patch #63 - 1998/2/5 - XFree86 3.9Ad</A></H1>
7833
7834This is another patch from Bjorn Helgaas &lt;helgaas@rsn.hp.com&gt;, which I've
7835reviewed (and learned some).  Following are his notes:
7836<P>
7837I poked around some more and finally got xterm-62 to build and run
7838cleanly on HP-UX 10.20.  Here are the patches.  They look sort of
7839ugly, so here's a little explanation:
7840<UL>
7841        <LI>aclocal.m4: Removed side effects from the AC_CACHE_VAL
7842        commands in CF_FUNC_TGETENT.  Previously, LIBS was set inside
7843        AC_CACHE_VAL, which worked fine the first time configure was
7844        run, but failed if there were cached values.
7845
7846        <LI>aclocal.m4: Added temporary setting of LIBS before
7847        AC_TRY_LINK in CF_FUNC_TGETENT.  Previously, the last value set
7848        by the AC_TRY_RUN loop was used, so only -lcurses was checked.
7849
7850        <LI>configure.in: Added temporary setting of CPPFLAGS before
7851        AC_CHECK_HEADERS for X11 files.  Previously &lt;X11/DECkeysym.h&gt;
7852        and &lt;X11/Xpoll.h&gt; were found only if they were in the compiler's
7853        default include directories, even if `--x-includes=DIR' had been
7854        used or AC_PATH_XTRA had found them elsewhere.
7855</UL>
7856The problem on HP-UX was that we were linking with -lcurses rather than
7857-ltermcap due to the second bullet above, and apparently something in
7858HP-UX curses is broken.  This seems very strange, because the only thing
7859used is tgetent, which should affect any tty/pty configuration, but I
7860lost interest in tracking down the exact problem.
7861
7862<H1><A NAME="xterm_62">Patch #62 - 1998/1/23 - XFree86 3.9Ac</A></H1>
7863
7864This is a patch mostly by Bjorn Helgaas &lt;helgaas@dhc.net&gt; (I added the
7865os2main.c change, and a little of the documentation).  From Bjorn's
7866description:
7867<UL>
7868	<LI>If you use the "-hc &lt;color&gt;" option or set the "highlightColor"
7869	  resource, text is highlighted by changing only the background color,
7870	  rather than using reverse video.  I find this easier to read,
7871	  especially when selecting multi-colored text, and it is similar to
7872	  the way Netscape shows selections.
7873
7874	<LI>Most of the code changes are under "#if OPT_HIGHLIGHT_COLOR".  The
7875	  principal exception is in screen.c, where I added a couple calls to
7876	  resetXtermGC().  This seems like it could be a bug even without
7877	  the color highlighting changes (though I don't pretend to understand
7878	  all the logic).
7879</UL>
7880
7881<H1><A NAME="xterm_61">Patch #61 - 1998/1/17 - XFree86 3.9Ac</A></H1>
7882
7883This patch modifies the reset behavior of xterm slightly:
7884<UL>
7885	<LI>change the terminfo entry so that rs1 (one of the strings used by
7886	  the 'reset' program) does a hard reset rather than switching
7887	  character sets.  This is more in accord with other terminal
7888	  descriptions.
7889
7890	<LI>modifies the treatment of hard reset by the xterm program to
7891	  reset the saved lines.
7892
7893	<LI>corrects hard reset by also resetting user-defined keys, i.e., DECUDK.
7894</UL>
7895
7896<H1><A NAME="xterm_60">Patch #60 - 1998/1/10 - XFree86 3.9Ab</A></H1>
7897
7898This fixes some minor bugs and adds new functionality:
7899<UL>
7900	<LI>add support for blinking text.
7901<UL>
7902	  <LI>This does not actually cause the
7903	  text to flash, but text with the blink attribute can be displayed
7904	  in color, using new resources colorBL and colorBLMode.
7905
7906	  <LI>If colors are not used, the blinking text will be displayed as
7907	  before (just like bold).  The main purpose of this is to make
7908	  applications work properly when they assume the emulator supports
7909	  blinking text.
7910
7911	  <LI>I did this by moving the per-cell LINEWRAPPED flag to a per-line
7912	  flag, to make room for the new BLINK flag.  There were no per-line
7913	  flags, so this changes a lot of logic.
7914</UL>
7915
7916	<LI>corrected missing save-cursor logic in the handling of SGR 1048
7917	  (the new control sequence I added in patch #54, 1997/10/17).
7918	  Reported by Darren Hiebert.
7919
7920	<LI>flush the output of the transparent printing after each line
7921	  Reported by Tomas Vanhala &lt;vanhala@ling.helsinki.fi&gt;.
7922
7923	<LI>correct the modes that are affected by save/restore cursor by adding
7924	  WRAPAROUND and PROTECTED.
7925
7926	<LI>corrected placement of one of the XSync calls that I added in patch
7927	  #51, 1997/9/15, which had the side-effect of writing on the window
7928	  border when the xterm was resizing from 132 to 80 columns.
7929
7930	<LI>work around an incompatibility of the XKB definition used in xterm
7931	  versus that symbol from IRIX 6.2's imake definitions (by adjusting
7932	  the standalone configure script).
7933</UL>
7934
7935<H1><A NAME="xterm_59">Patch #59 - 1998/1/5 - XFree86 3.9Ab</A></H1>
7936
7937My last patch has an off-by-one error in the comparison for argc.  Douglas
7938Kosovic &lt;douglask@dstc.edu.au&gt; showed me where (he got a core dump).
7939Also, I think this explains Clint Olsen's problem, but the symptoms were more
7940subtle (EINVAL for a system call if the -display option is omitted).
7941
7942<H1><A NAME="xterm_58">Patch #58 - 1998/1/3 - XFree86 3.9Ab</A></H1>
7943
7944This patch does the following:
7945<UL>
7946	<LI>implement logic to permit xterm to work with proportional fonts.
7947<UL>
7948	  <LI>Thomas Wolff
7949	  &lt;Thomas.Wolff@sietec.de&gt;
7950	  requested this (but it isn't exactly what he's asking
7951	  for - that's a more involved task).
7952
7953	  <LI>I chose to do this by rendering the characters on a fixed pitch,
7954	  because it would not be useful for existing applications to display
7955	  varying numbers of characters on each line.
7956
7957	  <LI>Except that this forces the display to be wider, it works reasonably
7958	  well.  A couple of special cases (reverse + colorBD, for example)
7959	  do not display with proper colors, since the inter-character gaps
7960	  are painted with the background.
7961</UL>
7962
7963	<LI>added a version number to the program (several people have requested
7964	  this).
7965
7966	<LI>make the -version and -help options interpreted before the program
7967	  attempts to open the display.
7968
7969	<LI>minor reorganization of the man-page (ordered the options, resources
7970	  and translations alphabetically - and eliminated some duplication).
7971
7972	<LI>corrected a misspelled filename in Makefile.in, and added a lint
7973	  rule.
7974
7975	<LI>updated the configure script to correct behavior when it cannot
7976	  find imake, as well as to fix the IRIX+gcc build (conflict with
7977	  /usr/include).
7978
7979	<LI>regenerated the configure script with a newer patch to autoconf
7980	  that fixes a problem with environment space vs the configure --help
7981	  message.
7982</UL>
7983<H1><A NAME="xterm_57">Patch #57 - 1997/12/26 - XFree86 3.9Aa</A></H1>
7984
7985This patch is mostly concerned with the standalone configure script; a few
7986minor corrections are added:
7987<UL>
7988	<LI>add configure option --disable-tek4014, to allow xterm to be built
7989	  without the tek4014 emulation.
7990
7991	<LI>add configure option --with-terminal-type, to allow xterm to be
7992	  compiled with default $TERM value other than "xterm" (e.g.,
7993	  "xterm-16color") -- requested by Stephen Marley &lt;stephen@memex.com&gt;.
7994
7995	<LI>fix a typo in the configure --help message -- reported by Darren
7996	  Hiebert &lt;darren@hmi.com&gt;.
7997
7998	<LI>review diffs between main.c and os2main.c, to make them more alike.
7999	  (applies some minor bug-fixes to OS/2's version).
8000
8001	<LI>add missing quotes in memmove/bcopy configure test
8002</UL>
8003
8004
8005<H1><A NAME="xterm_56">Patch #56 - 1997/11/28 - XFree86 3.9x</A></H1>
8006
8007This patch is based on analysis by Arfst Ludwig &lt;arfst@luxor.IN-Berlin.DE&gt;,
8008who reported:
8009<blockquote>
8010	Setting the following resources xterm (all current versions) receives a
8011	segmentation fault on &lt;Btn2Up&gt; after scrolling:
8012<PRE>
8013
8014	  *XTerm*VT100*translations:    #override \
8015	      ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
8016	      Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
8017	      ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
8018	      Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
8019</PRE>
8020	(The above resources intention is to be able to paste the latest
8021	selection even if the xterm was cleared.)
8022<P>
8023	And here is how it works (and a fix!):  The widget given to the action
8024	handler as first argument is not guaranteed to be a XtermWidget (it can
8025	be the ScrollbarWidget).  Instead of accessing the widget's member
8026	directly XtDisplay gives the required pointer in a safe way.
8027</blockquote>
8028I noticed that this was not the only instance (by reading the code, and testing
8029with his example), and extended the solution to check the widget-class to
8030ensure that it is indeed xterm's widget class before attempting to use it in
8031the context of translations.
8032
8033<H1><A NAME="xterm_55">Patch #55 - 1997/11/25 - XFree86 3.9x</A></H1>
8034
8035This fixes the segmentation violation noted by Rogier Wolff about a month
8036ago.  He'd set xterm to 400 (rows) by 150 columns, which broke because there
8037were limited buffers (200 rows) used for juggling data when adding or deleting
8038lines and for switching between alternate and normal screens.  I replaced this
8039by an allocated buffer.
8040<P>
8041The bug is simple to test if you set titeInhibit false.
8042
8043<H1><A NAME="xterm_54">Patch #54 - 1997/10/17 - XFree86 3.9s</A></H1>
8044
8045This patch does the following:
8046<UL>
8047	<LI>correct a minor placement problem with the right scrollbar.
8048
8049	<LI>implement a new set of control sequences for switching between the
8050	  normal and alternate VT100 screens.  These work around the older
8051	  sequences limitation that required modification of the runtime
8052	  $TERMCAP to cooperate with the titeInhibit resource (that can't work
8053	  with terminfo).  I do this by moving all of the functionality of the
8054	  rmcur terminfo capability into the control sequences.
8055
8056	<LI>implement the alternate-screen menu entry
8057</UL>
8058
8059<H1><A NAME="xterm_53">Patch #53 - 1997/10/12 - XFree86 3.9r</A></H1>
8060
8061This patch adds a fix and implements a new feature (as well as some minor
8062typos):
8063<UL>
8064	<LI>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a problem
8065	  with the wait call with the logging option.  It hung when the logfile
8066	  was opened as a command-line option.  I fixed this by moving the
8067	  StartLogging() call down past the place where I'd reset the setuid
8068	  mode.  So the logfile is opened as the real user, without having
8069	  to fork.
8070
8071	<LI>improve Rohleder's changes by
8072	    renaming the command-line options and reducing the number of ifdef's.
8073
8074	<LI>implement right-scrollbars for xterm
8075	  (patch by Michael Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt;).
8076</UL>
8077
8078<H1><A NAME="xterm_52">Patch #52 - 1997/9/29 - XFree86 3.9q</A></H1>
8079
8080This patch addresses bugs and requests reported by
8081<UL>
8082	<LI>Bob Maynard &lt;rmaynard@montana.com&gt;,
8083	<LI>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,
8084	<LI>JCHANDRA@Inf.COM (JCHANDRA),
8085	<LI>Michael Schroeder &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,
8086	<LI>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;
8087</UL>
8088
8089Some of the changes are interrelated (it was an unusually busy week).
8090<UL>
8091
8092	<LI>change the default resource value for colorMode to true, matching
8093	  the Xterm.ad file.
8094
8095	<LI>correct behavior of 'ech' control, making the default and 0
8096	  parameters erase one character rather than to the end of line
8097	  (reported by Michael Schroeder).
8098
8099	<LI>add resource boldColors, command-line options +pc and -pc and
8100	  configure-script option to specify behavior of xterm's mapping bold
8101	  colors 0 through 7 to colors 8 through 15.
8102	  (request by Pablo Ariel Kohan).
8103
8104	<LI>add resource colorAttrMode to specify whether colorULMode and
8105	  colorBDMode can override the ANSI colors
8106	  (report by Clint Olsen).
8107
8108	<LI>correct a conflict between colorULMode/colorBDMode versus ANSI
8109	  colors, where exposure events would occasionally pick up the
8110	  former (e.g., colorBD) rather than ANSI colors.  Testing the
8111	  colorAttrMode made this apparent, though it has been in the
8112	  code since 3.2A (patch #35 in Jan 1997).
8113
8114	<LI>correct two problems with the optional logging support.  On Linux
8115	  at least, the waitpid call in creat_as hangs when the logging is
8116	  toggled from the popup menu.  Also, the mktemp template has the wrong
8117	  number of X's (since X11R5!).  Fixed the waitpid problem by
8118	  exploiting the fact that the setuid behavior is reset before the
8119	  popup menus are available.
8120	  (reported by Jayachandran C.).
8121
8122	<LI>add configure script options for building with the Xaw3d and neXtaw
8123	  libraries.
8124
8125	<LI>correct CF_IMAKE_CFLAGS standalone configure script macro, so that it
8126	  will pick up $(ALLDEFINES) rather than $(STD_DEFINES).  This is
8127	  needed to make scrollbars work on Linux, since that uses narrow
8128	  prototypes.
8129	  (reported by Bob Maynard).
8130
8131	<LI>various minor updates to configure-script macros.
8132</UL>
8133
8134<H1><A NAME="xterm_51">Patch #51 - 1997/9/15 - XFree86 3.9p</A></H1>
8135
8136Most of this patch is related to the standalone configure script, though
8137there are fixes/enhancements as well:
8138<UL>
8139	<LI>add a new resource sunKeyboard, with associated command-line
8140	  option and menu-toggle that allows using a normal Sun or PC
8141	  keyboard to generated the complete DEC-style function keys
8142	  and keypad.
8143
8144	<LI>correct a reversed foreground/background test in the control
8145	  sequence that replies with the current SGR settings.
8146
8147	<LI>correct, by invoking XSync, a display problem that caused the
8148	  program to not properly update newly exposed areas when a font
8149	  change or 80/132 resize request was not completely accepted.
8150
8151	<LI>restructured autoconf macros (I made a library of all of the
8152	  macros across the complicated configure scripts I'm working on).
8153
8154	<LI>use the autoconf config.guess and config.sub scripts to better
8155	  identify the host-os.
8156
8157	<LI>improve the configure script that uses 'imake' as a fallback for
8158	  definitions.
8159
8160	<LI>correct several instances of unsigned/signed mixed expressions.
8161</UL>
8162
8163I've tested the configure script on Linux, SunOS 4.1.3, Solaris 2.5.1,
8164IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but the last run properly
8165as well).
8166
8167<H1><A NAME="xterm_50">Patch #50 - 1997/8/22 - XFree86 3.9m</A></H1>
8168
8169This is a collection of small fixes, and a couple of minor enhancements:
8170<UL>
8171	<LI>plug a security hole in the implementation of Media Copy (print)
8172	  by invoking setuid just before the main loop.
8173
8174	<LI>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX, which allows
8175	  the program to process SIGWINCH events (this is a bug in X11R6.3)
8176
8177	<LI>add state-table entries for VT52 emulation to enter/exit keypad
8178	  application mode.
8179
8180	<LI>disable the popup-menu entry for 8-bit controls when the terminal-id
8181	  is less than 200 (e.g., VT52 or VT100).
8182
8183	<LI>ensure that the popup-menu entry for 8-bit controls is updated when
8184	  the application enables/disables this mode, including the response
8185	  to a full-reset.
8186
8187	<LI>implement VT300 DECBKM feature: set interpretation of the backarrow
8188	  key to either backspace or delete.  The initial setting is via
8189	  resource; it can also be modified in the main popup menu.
8190
8191	<LI>implement VTxxx KAM (ISO AM), which allows a keyboard to be locked
8192	  (i.e., the terminal discards input).
8193
8194	<LI>implement VTxxx SRM, which is used to control local echoing of
8195	  input on the terminal.
8196
8197	<LI>add terminfo and termcap entries for xterm-8bit, a variation of
8198	  the xterm description that uses 8-bit control characters.
8199
8200	<LI>add fallback definitions for Imakefile to allow it to work on some
8201	  X11R5 systems that have no SpecialCObjectRule or ProgramTargetName
8202	  macros.
8203
8204	<LI>add .c.o and .c.i rules to standalone Makefile.in
8205
8206	<LI>correct order of -lXmu and -lXext in standalone configure script.
8207
8208	<LI>add configure script options to allow selective disabling of
8209	  active-icon, input-method and i18n code (mainly for users with X11R5
8210	  or an incomplete X11R6 configuration).
8211
8212	<LI>change menu-indices from #define's to enum values, thereby making
8213	  it work better with the ifdef's for logging and active-icon (the
8214	  X11R6.3 active-icon code is incorrectly ifdef'd; this corrects an
8215	  error introduced by incorporating that code).
8216
8217	<LI>correct minor compile errors in the configuration where active-icon
8218	  is not used.
8219
8220	<LI>add configure option to suppress echoing of long compiler commands
8221
8222	<LI>correct spelling of decTerminalID in configure script help message
8223
8224	<LI>use gcc __attribute__((unused)) to quiet warnings about unused
8225	  parameters when compiling with -W (to make it simpler to find the
8226	  real problems).
8227</UL>
8228
8229<H1><A NAME="xterm_49">Patch #49 - 1997/8/10 - XFree86 3.9k</A></H1>
8230
8231This patch implements the VT100/VT220 Media Copy (i.e., print-screen) control
8232sequences.
8233
8234<H1><A NAME="xterm_48">Patch #48 - 1997/7/26 - XFree86 3.9j</A></H1>
8235
8236This patch does the following (all but the first affect only the standalone
8237configure script):
8238<UL>
8239	<LI>minor correction to positioning of underlines for small (e.g., 5x8)
8240	  font size.
8241	<P>
8242	  The existing behavior allowed underlines to be drawn outside the
8243	  character-cell, so they weren't cleared properly under some
8244	  circumstances.
8245
8246	<LI>adds more special-case tokens to the standalone configure script's
8247	  imake-option filter (e.g., "&amp;&amp;", since a "make -n main.o" on my IRIX
8248	  system uses that shell construct).
8249
8250	<LI>adds a '--enable-logging' option for the standalone configure script.
8251
8252	<LI>adds check and ifdef's for the standalone configure script to allow
8253	  for building on platforms with X11R6, which lacks Xpoll.h (introduced
8254	  in X11R6.1).
8255</UL>
8256
8257<H1><A NAME="xterm_47">Patch #47 - 1997/7/13 - XFree86 3.9i</A></H1>
8258
8259This patch does the following
8260<UL>
8261	<LI>corrects an indexing error in the doublesize character logic
8262	  (button.c) that caused core dump (this was reported by J.  Wunsch).
8263	<LI>corrects the logic of ShowCursor when it is painting in a doublesize
8264	  cell (charproc.c).
8265	<LI>corrects, according to vttest, the behavior when switching to
8266	  doublesize characters and back again (doublechr.c).
8267	<LI>adds cbt (back_tab) to the terminfo description (this was something
8268	  that I'd overlooked as applicable to curses optimization last
8269	  summer).
8270	<LI>corrects, for the standalone xmc test, the logic for disabling xmc.
8271</UL>
8272
8273<H1><A NAME="xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</A></H1>
8274
8275This is a patch to provide test-support for some work I'm doing on ncurses.  It
8276does not modify the normal configuration of xterm; the code is compiled if the
8277standalone configure option "--enable-xmc-glitch" is specified.
8278
8279<H1><A NAME="xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</A></H1>
8280
8281This fixes the problem reported with xterm's cursor color versus the background
8282(the second chunk in this patch) and also removes some duplicate initialization
8283of the cursor GC's.  If the cursor color at startup is the same as the
8284background, then xterm will use the reverse GC, ignoring the setting of the
8285colorMode resource.
8286
8287<H1><A NAME="xterm_44">Patch #44 - 1997/6/22 - XFree86 3.9g</A></H1>
8288
8289This implements the first part of the VT100 doublesize characters for xterm,
8290as well as fixing a handful of bugs:
8291<UL>
8292	<LI>the doublesize character support uses the normal font (using scaled
8293	  fonts will be another patch) with blanks to simulate doublesize
8294	  characters.  This patch does most of the global changes that'll be
8295	  required.  I've hidden most of the details in macros and ifdef's so
8296	  it's easy to configure out (part of the patch is a configure option
8297	  for that purpose).
8298
8299	<LI>corrected limits in DeleteChar() function -- it's always ignored the
8300	  size of the left border and scrollbar.  I noticed this when working
8301	  on the doublesize characters since the glitch was doubled in size
8302	  (i.e., it wrapped some garbage around the right margin).
8303
8304	<LI>corrected 'memmove()' logic, for standalone builds (it referenced a
8305	  malloc wrapper from my development library).
8306
8307	<LI>add a check for HideCursor() to prevent repeated screen updates
8308	  (which can cause a spurious cursor glitch to appear, e.g., during
8309	  scrolling).  I noticed this with the 3.2A version (but only a few
8310	  weeks ago, when I started working on this patch).
8311</UL>
8312
8313<H1><A NAME="xterm_43">Patch #43 - 1997/6/10 - XFree86 3.9d</A></H1>
8314
8315Here's a fix for two problems:
8316<UL>
8317	<LI>modify handling of tgetent results in xterm and resize programs to
8318	  make them tolerant of missing termcap file, or unknown terminal name.
8319	  In this scheme, an explicit "-tn" option will succeed, overriding
8320	  the fallback list.
8321
8322	<LI>a nit in the configure script (log extra information to help diagnose
8323	  which case of the test-compile of tgetent was used).
8324</UL>
8325
8326<H1><A NAME="xterm_42">Patch #42 - 1997/6/8 - XFree86 3.2Xl</A></H1>
8327
8328Bram Moolenaar reported that the cursor color changed unexpectedly while
8329scrolling.  The cause was that it used the same GC's as the logic that draws
8330the ANSI colors.  The bug only appears if the cursorColor resource isn't set,
8331and has been present since the initial implementation early last year.  (The
8332same bug also appears in rxvt ;-).  Here's a fix.
8333
8334<H1><A NAME="xterm_41">Patch #41 - 1997/5/28 - XFree86 3.2Xl</A></H1>
8335
8336Some nits found by Darren Hiebert (missing part of install-rule, incorrect
8337assignment for --enable-color-mode option).
8338
8339<H1><A NAME="xterm_40">Patch #40 - 1997/5/26 - XFree86 3.2Xl</A></H1>
8340
8341Patch for the configure script's logic for obtaining imake predefined
8342symbols.
8343
8344<H1><A NAME="xterm_39">Patch #39 - 1997/5/24 - XFree86 3.2Xl</A></H1>
8345
8346This patch does the following:
8347<UL>
8348	<LI>integrate the 16-color change for 'xterm'
8349
8350	<LI>minor fixes/clarification of tgetent in terminfo vs termcap to
8351	  'resize'
8352</UL>
8353
8354(both changes also modify the configure script)
8355
8356<H1><A NAME="xterm_38">Patch #38 - 1997/5/22 - XFree86 3.2Xh</A></H1>
8357
8358This implements a simple configuration script with autoconf (to which I'll
8359add more options later).  It does the following:
8360<UL>
8361	<LI>configures xterm to build with X11R5 (at least on SunOS 4.1, Solaris
8362	  2.4, possibly IRIX - sorry network was down today, but I did test
8363	  an earlier version yesterday).
8364
8365	<LI>enables/disables the configuration ifdef's for ANSI color and VT52
8366	  emulation.
8367</UL>
8368It does not make tests for the things that imake does (that's another project),
8369instead it uses a hybrid of the autoconf tests for libraries and adds imake's
8370compiler options (which are necessary in some cases to get main.c to compile).
8371
8372<H1><A NAME="xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</A></H1>
8373
8374This corrects a minor, but annoying error in the vt220 emulation: the DECUDK
8375is only supposed to be interpreted for _shifted_ function keys.
8376
8377<H1><A NAME="xterm_36">Patch #36 - 1997/1/16 - XFree86 3.2r</A></H1>
8378
8379This corrects something that I overlooked in patch #27 (21-aug-1996), which is
8380that when trimming the region to be repainted for the highlightSelection
8381resource of xterm, I still have to paint the background past the highlighted
8382region.  This only happens when I first do a selection in a window that's
8383partly off-screen, then move the window on-screen.
8384
8385<H1><A NAME="xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</A></H1>
8386
8387This patch does the following:
8388<UL>
8389	<LI>combines the coding for foreground and background colors into a
8390	  single byte, reducing the memory required to store saved-lines in
8391	  color.  (I'll take back that byte in a following patch to use to
8392	  ensure the character-set, so there's no long-term decrease in memory
8393	  use).
8394
8395	<LI>modifies the PF1-PF4 coding in termcap/terminfo.  Because xterm is
8396	  still by default emulating vt100, the function key codes are
8397	  vt100-compatible (I overlooked this in patch #31).
8398
8399	  I also reformatted the whole terminfo file into a single-column,
8400	  for consistency.
8401
8402	<LI>adds an interim xterm-vt220 description to accommodate the old and new
8403	  styles of function-keys (though probably it'd be better to drop the
8404	  old-style altogether).
8405</UL>
8406
8407<H1><A NAME="xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</A></H1>
8408
8409This patch does the following:
8410<UL>
8411	<LI>implement DECSTR (soft terminal reset).  The biggest diff is due to
8412	  adding another state table (note that there's only one useful state
8413	  here, but it's only 256 bytes rather than 1k as it would have been
8414	  before I reduced the size of state entries).
8415
8416	<LI>some minor tidying up (e.g., signed/unsigned use bitcpy, MODE_DECCKM,
8417	  resetColor, resetCharsets).  More is done in patch #35.
8418</UL>
8419
8420I got the description of DECSTR from a vt420 user's manual.  I'll do some
8421testing with vttest to ensure that there's nothing else to do than what was
8422documented.
8423
8424<H1><A NAME="xterm_33">Patch #33 - 1996/11/24 - XFree86 3.2</A></H1>
8425
8426This adds to the reset-fix by Matthieu Herrb &lt;Mathieu.Herrb@mipnet.fr&gt; a
8427small change to make xterm able to output 8-bit characters in VT100 mode.
8428
8429Applications that run on real VT100's don't do that anyway, and this feature
8430should be removed sometime after finishing off the VT220 emulation (VT220's can
8431do 8-bit characters).  That would be a good time to change the default
8432terminal-id to 220.
8433
8434<H1><A NAME="xterm_32">Patch #32 - 1996/11/21 - XFree86 3.2</A></H1>
8435
8436This implements the REP (repeat) control for xterm.  That isn't part of the DEC
8437VTxxx series, but is defined in ISO 6429.  (Note that the base xterm terminal
8438description is <EM>not</EM> changed -- I added a variant, "xterm-rep").
8439
8440<H1><A NAME="xterm_31">Patch #31 - 1996/11/16 - XFree86 3.2</A></H1>
8441
8442This implements vt52 emulation in xterm (ifdef'd so it can be removed).
8443I've been using it for testing for the past month or so.
8444
8445<H1><A NAME="xterm_30">Patch #30 - 1996/11/16 - XFree86 3.2</A></H1>
8446
8447From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis Auroux), missing reset to
8448ground state.  I checked through the rest of <EM>that</EM> table and found another,
8449in the unimplemented MC (screen print).
8450
8451<H1><A NAME="xterm_29">Patch #29 - 1996/9/15 - XFree86 3.1.2Gb</A></H1>
8452
8453This patch does the following:
8454<UL>
8455	<LI>corrects the restoration of color for bold/underline color mode
8456
8457	<LI>adds a resource 'decTerminalID' to control the reporting level of
8458	  xterm (e.g., VT100, VT220).
8459
8460	<LI>uses the new resource to implement/correct the DA1, DA2 and
8461	  DECRPTUI reports.
8462
8463	<LI>change valid-response code in DECRQSS from 0 to 1 (the manual says 0,
8464	  but the VT420 terminal I've been testing on says 1).
8465</UL>
8466
8467All of these changes are based on vttest 2.6
8468<P>
8469(Most of the volume in the patch is to add 2 more state tables for parsing
8470the 2nd/3rd device-attribute controls).
8471
8472<H1><A NAME="xterm_28">Patch #28 - 1996/8/31 - XFree86 3.1.2F</A></H1>
8473
8474This patch corrects the following reported by Roland Rosenfeld
8475&lt;roland@spinnaker.rhein.de&gt;:
8476<UL>
8477	<LI>handle SGR 22, 24 and 25 in combination with colorUL and colorBD
8478	  resources.  Also noted &amp; fixed reset of colored underline/bold
8479	  with SGR 0.
8480
8481	<LI>a typo in the termcap (missing '['), from 3.1.2Dj (my error)
8482</UL>
8483
8484Roland also complained that he couldn't use box characters with
8485<PRE>
8486	-adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
8487</PRE>
8488but that's a known xterm limitation (the box characters must be part of the
8489font, in the first 32 locations).
8490
8491<H1><A NAME="xterm_27">Patch #27 - 1996/8/21 - XFree86 3.1.2Ek</A></H1>
8492
8493This patch fixes one of my long-term gripes:  xterm's selection doesn't clearly
8494show what's being selected (as per David's request, it's controlled by a
8495resource, which defaults to the older behavior).
8496
8497<H1><A NAME="xterm_26">Patch #26 - 1996/8/20 - XFree86 3.1.2Ei</A></H1>
8498
8499Here's a patch to fix a problem with xterm's cut/paste and another to modify
8500the appearance of the highlighting while selecting.  (The changes are
8501independent, so you can see if the change to screen.c is desirable).
8502
8503<H1><A NAME="xterm_25">Patch #25 - 1996/8/18 - XFree86 3.1.2Ei</A></H1>
8504
8505Here's a correction for two minor bugs that I picked up in testing, plus
8506some lint (from Solaris 2.5) where NULL was used incorrectly:
8507<UL>
8508	<LI>make the second alternate font the same as the first (that's what
8509	  vt420 and dtterm do)
8510
8511	<LI>corrected DECSCL report when DECSCL hasn't been set (i.e., don't
8512	  return a '60').
8513</UL>
8514
8515<H1><A NAME="xterm_24">Patch #24 - 1996/8/11 - XFree86 3.1.2Ee</A></H1>
8516
8517This patch does several things.  In effect, xterm can (I think) do a reasonably
8518good job of emulating vt220 and vt320 terminals (as well as it was doing
8519vt100, at any rate ;-).
8520<P>
8521It does NOT do:
8522<UL>
8523	<LI>soft fonts
8524
8525	<LI>rigel or sixel graphics
8526</UL>
8527<P>
8528Anyway, I:
8529<UL>
8530
8531	<LI>added ECH, CPL, CNL, SU, SD, CBT, CHT controls
8532
8533	<LI>added popup-menu for switching between DEC and Sun function keys.
8534	  (corrected alignment err wrt logging entry at that point).
8535
8536	<LI>make xterm recognize both 8-bit and 7-bit controls (including
8537	  popup menu for switching modes).
8538
8539	<LI>add user-definable function keys (aka DECUDK)
8540
8541	<LI>support concealed text
8542
8543	<LI>support protected text (both ISO compatible and DEC compatible -
8544	  that's not the same thing, btw), with SPA, EPA, DECSCA, DECSED,
8545	  DECSEL controls.
8546
8547	<LI>implement DECSCL.
8548</UL>
8549<P>
8550I'll be continuing to test this patch for a while, but don't expect to add any
8551new functionality (it passes all of the current tests I've built in vttest, but
8552I need to make more tests)..
8553
8554<H1><A NAME="xterm_23">Patch #23 - 1996/7/31 - XFree86 3.1.2Ec</A></H1>
8555
8556This removes the blinking cursor I added last week (for performance reasons).
8557Time-permitting, I'll revisit this after 3.2 is released (there <EM>will</EM> be more
8558work after XFree86 3.2, I assume).
8559
8560<H1><A NAME="xterm_22">Patch #22 - 1996/7/26 - XFree86 3.1.2Ec</A></H1>
8561
8562I looked more closely at my "double-negative" and realized that I had been
8563confused by the default color scheme (black on white) in combination with
8564reverse video.  However, I did see that the original_fg and original_bg data
8565weren't really used - so I removed that logic.
8566<P>
8567Also:
8568<UL>
8569	<LI>during initialization, check if ANSI colors are set with non fg/bg
8570	  values, disable color mode if not.  This makes xterm tolerant of
8571	  applications that allocate the whole color map.
8572
8573	<LI>implemented blinking cursor (default is <EM>off</EM>)
8574</UL>
8575
8576<H1><A NAME="xterm_21">Patch #21 - 1996/7/24 - XFree86 3.1.2Ec</A></H1>
8577
8578This patch does the following:
8579<UL>
8580	<LI>fixes some minor typography in the control-sequences documentation
8581	  (it didn't occur to me til I'd sent the last patch that I could use
8582	  ghostview for previewing the troff output ;-)
8583
8584	<LI>adjusts the shell's background color in ReverseVideo so that flicker
8585	  in resizing is reduced
8586
8587	<LI>adds an ifdef OPT_ISO_COLORS to allow configuring xterm without
8588	  the ISO color support (saves a lot of memory)
8589
8590	<LI>used that ifdef to isolate/modify logic so that if the user doesn't
8591	  have the colorMode enabled, then ISO color support is disabled (saving
8592	  memory).
8593	<P>
8594	  (If anyone needs numbers, I had savedLines set to 2000, and found
8595	  a reduction from ~700k to ~400k of allocated memory, according to
8596	  Purify).
8597</UL>
8598
8599<H1><A NAME="xterm_20">Patch #20 - 1996/7/24 - XFree86 3.1.2Ec</A></H1>
8600
8601This documents the changes in control sequences for window operations that
8602I added in my previous patch.  I'm testing another patch that allows the
8603user to use less memory if colors aren't needed.
8604
8605<H1><A NAME="xterm_19">Patch #19 - 1996/7/21 - XFree86 3.1.2Ec</A></H1>
8606
8607This patch does the following:
8608<UL>
8609	<LI>fixes the core dump that I reported on IRIX 5.2 (in main.c)
8610	<P>
8611	  (it's worth noting that this bug exists in X11R6.1, so I'd like
8612	  to assume that someone's already submitted a fix to X Consortium...)
8613
8614	<LI>change the interpretation of zero rows or columns in a resize-window
8615	  request to use the root window's size (looking more carefully at
8616	  dtterm, that seems to be what it does).
8617
8618	<LI>change some memmove calls to memcpy for slightly better performance.
8619	  also, a couple of memset calls to bzero, since Quantify says bzero runs
8620	  20% faster, I assume because there's one less argument.
8621
8622	<LI>interpret character sets 1 and 2 (so that vttest gives a reasonable
8623	  result) Both rxvt and dtterm do something equivalent.
8624
8625	<LI>fix a minor memory leak in the logic that retrieves the window or
8626	  icon names (Purify found this for me while I ran vttest).
8627</UL>
8628
8629<H1><A NAME="xterm_18">Patch #18 - 1996/7/18 - XFree86 3.1.2Ec</A></H1>
8630
8631This implements the following:
8632<UL>
8633	<LI>escape sequences that act like the CDE dtterm's window operations
8634	  (though I have implemented the default width and height -- I've seen
8635	  a rather buggy dtterm running that seems to treat width=0 or height=0
8636	  literally -- maybe that's a feature, not a bug?)
8637
8638	<LI>minor tweak to the screen-repainting when resizing (I still cannot
8639	  entirely get rid of flicker).
8640
8641	<LI>still more fixes to terminfo &amp; termcap (I corrected my error for
8642	  the hpa code and added some other stuff by comparing to ncurses'
8643	  description and rxvt's).
8644
8645	<LI>a tweak to the changes by Michael Rohleder for the color translation
8646
8647	<LI>re-order attribute codes to allow later implementation of protected
8648	  fields (dtterm supposedly does this; it's probably more useful than
8649	  blinking or invisible text -- that uses up all of the available bits
8650	  without changing the attribute scheme radically).
8651</UL>
8652
8653<H1><A NAME="xterm_17">Patch #17 - 1996/7/2 - XFree86 3.1.2Eb</A></H1>
8654
8655This patch implements for xterm several minor features from ISO 6429 which are
8656useful for terminfo applications.  The HPA and VPA control sequences allow
8657cursor movement along a row or column, cutting down a little on the characters
8658transmitted.  The other codes allow resetting specific graphic rendition
8659attributes without modifying the other attributes.
8660
8661(now if someone just had time to implement blinking cursors...)
8662
8663<H1><A NAME="xterm_16">Patch #16 - 1996/6/25 - XFree86 3.1.2Ea</A></H1>
8664
8665Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks ago that I'd missed
8666some of the background coloring in xterm.  I investigated, and found that while
8667I'd picked up on the clear-to-bottom and clear-to-end-of-line operations, I'd
8668overlooked the insert/delete lines.  Just so I wouldn't overlook any more of
8669these, I updated a copy of vttest to test ISO colors and bce (background color
8670erase).  This patch introduces a new function, ClearCurBackground, whose calls
8671replace the direct XClearArea calls that I'd overlooked.
8672
8673(There's also a few compiler warnings fixed, etc ;-)
8674
8675<H1><A NAME="xterm_15">Patch #15 - 1996/5/29 - XFree86 3.1.2E</A></H1>
8676
8677This fixes the problem reported by David Dawes, by making the 50msec select
8678timeout for the Xaw3d arrow scrollbar a resource.  (I made it a boolean for a
8679variety of reasons -- to make it a number, you'd need an additional resource,
8680to avoid breaking the logic).
8681
8682<H1><A NAME="xterm_14">Patch #14 - 1996/5/12 - XFree86 3.1.2Dj</A></H1>
8683
8684This patch brings the termcap and terminfo descriptions for xterm up to date.
8685I made the following changes:
8686<UL>
8687	<LI>reformatted the terminfo description in a single-column (this is ok
8688	  for terminfo, and will simplify future patches -- can't do that for
8689	  termcap, since it would impact buffer requirements on some systems).
8690
8691	<LI>omitted obsolete features in termcap to save a little space (bs, pt)
8692
8693	<LI>added color capabilities to termcap (ut, Co, NC, op, AB, AF)
8694
8695	<LI>corrected some capabilities (vi, ve)
8696
8697	<LI>added 'st' (set tab)
8698
8699	<LI>reduced function keys in termcap for 'xterm' to 12 because color
8700	  capabilities makes that description larger than 1023 characters.
8701
8702	<LI>created new termcap name 'xtermm' (monochrome) to match the terminfo
8703	  list, and make that description have 20 function keys.
8704
8705	<LI>added corresponding color capabilities to terminfo (bce, colors,
8706	  pairs, op, ncv, setab, setaf)
8707
8708	<LI>corrected corresponding capabilities in terminfo (civis, cnorm,
8709	  rmcup, smcup)
8710
8711	<LI>added capabilities (el1, hts)
8712
8713	<LI>in both, corrected home/end keys to match the code correction made
8714	  by Thomas Mueller in 3.1.2Bk
8715
8716	  <P>=&gt; (I'm still considering modifying the code &amp; description to match
8717	      the rxvt program).
8718</UL>
8719
8720<H1><A NAME="xterm_13">Patch #13 - 1996/4/23 - XFree86 3.1.2Df</A></H1>
8721
8722This corrects my earlier changes for colors - the inner border of the xterm was
8723getting painted with the wrong color, since I'd moved the call to set the
8724background into the logic that tracks SGR information.
8725
8726<H1><A NAME="xterm_12">Patch #12 - 1996/3/16 - XFree86 3.1.2Dc</A></H1>
8727
8728This corrects a memory leak in xterm that happens whenever one switches fonts.
8729
8730<H1><A NAME="xterm_11">Patch #11 - 1996/3/5 - XFree86 3.1.2Db</A></H1>
8731
8732This patch corrects the behavior of the ANSI colors in xterm when reverse
8733video is used, as well as some other lesser sins:
8734<UL>
8735	<LI>button.c
8736<UL>
8737		<LI>(compiler warnings: shadowing of 'time', redundant cast)
8738</UL>
8739
8740	<LI>charproc.c
8741<UL>
8742		<LI>renamed screen.colors[] array to screen.Acolors[] to more
8743		easily distinguish the non-ANSI colors from the ANSI colors.
8744
8745		<LI>moved logic of SGR_Save() into VTInitialize, getting rid of
8746		local private variables original_fg and original_bg.
8747
8748		<LI>moved some logic into getXtermForeground and getXtermBackground
8749		from SGR_Foreground, SGR_Background, etc.
8750
8751		<LI>corrected misleading 'row' to 'col' in case for CUF, CUB
8752		sequences.
8753</UL>
8754
8755	<LI>ctlseqs.ms
8756	<LI>xterm.man
8757<UL>
8758		<LI>(correct a misconception which I'd added that the color0
8759		through color6 resource values apply to non-ANSI colors)
8760</UL>
8761
8762	<LI>ptyx.h
8763<UL>
8764		<LI>added original_fg, original_bg to TScreen structure.
8765</UL>
8766
8767	<LI>scrollbar.c
8768<UL>
8769		<LI>(compiler warnings: redundant cast)
8770</UL>
8771
8772	<LI>util.c
8773<UL>
8774		<LI>new functions getXtermForeground and getXtermBackground replace
8775		the macros GET_FG and GET_BG, with the added functionality of
8776		checking for the reverse-video status of xterm.
8777
8778		<LI>in ReverseVideo, swap the SGR foreground and background colors
8779		also.
8780</UL>
8781</UL>
8782
8783<H1><A NAME="xterm_10">Patch #10 - 1996/2/14 - XFree86 3.1.2Cd</A></H1>
8784
8785I observed an occasional glitch in the xterm's color behavior; a clear to end
8786of line would get a color that had been used in a program that supposedly reset
8787colors.  I traced this down to the way xterm was modifying colors of GC's on
8788the fly; it didn't restore the original color of the GC, even though it would
8789later be used in functions (such as ClearRight) that assumed (my error) that
8790the GC would have the current foreground or background color.
8791<P>
8792I fixed this by resetting the GC's colors with a new function 'resetXtermGC()',
8793and direct calls on SGR_Foreground/SGR_Background, as appropriate and using a
8794new function 'updatedXtermGC()' to encapsulate the logic that modifies the GC's
8795color.  (I also removed some commented-out code that was trying to do this --
8796the problem was a little more obscure).
8797
8798<H1><A NAME="xterm_09">Patch #9 - 1996/2/10 - XFree86 3.1.2Cb</A></H1>
8799
8800This patch fixes the remaining problems that I had making xterm run with x11r5,
8801as well as a couple of other bugs.  It follows my patch from yesterday, that
8802added ifdef's for some of the input-method resources.
8803<UL>
8804	<LI>corrected ifdef's that suppress the input-method code (doesn't
8805	  exist in my x11r5, and xterm works adequately without it).
8806
8807	<LI>corrected fallback definition for 'Select()' macro (oops: I'd
8808	  copied the wrong text...)
8809
8810	<LI>moved the declarations for the fd_set variables to data.[ch]
8811
8812	<LI>corrected an ifdef in resize.c (sunos 4.x doesn't have termcap.h)
8813
8814	<LI>corrected (in main.c) some unused/orphaned variables.
8815</UL>
8816
8817<H1><A NAME="xterm_08">Patch #8 - 1996/2/9 - XFree86 3.1.2Cb</A></H1>
8818
8819This is mostly a documentation patch for xterm.  It describes the color control
8820sequences in more detail, and documents some other features of xterm that
8821aren't described elsewhere.
8822<P>
8823I've also added a couple of ifdef's to fix (part of) the problem that I'm
8824working on (making the program work properly on x11r5, where I'm doing memory
8825testing -- I have a "good" version from mid-January, but my resync version
8826doesn't work properly on x11r5).  I'm not done with <EM>that</EM> yet.
8827
8828<H1><A NAME="xterm_07">Patch #7 - 1996/1/28 - XFree86 3.1.2n</A></H1>
8829
8830I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF).  I've got an S3 card.
8831<P>
8832This fixes the following in the 3.1.2n xterm:
8833<UL>
8834	<LI>initialize cur_foreground, cur_background in charproc.c (Purify
8835	  told me they weren't initialized).
8836
8837	<LI>add interpretation of codes 39, 49, to reset background and
8838	  foreground to default value (I'm told that ISO 6429 does this; but I
8839	  don't have a written reference -- yet -- can anyone help here?).
8840	  Anyway, rxvt does it, and it'll solve my remaining color management
8841	  problems.
8842
8843	<LI>shadowing of 'time' in menu.c
8844
8845	<LI>'Cardinal' vs 'int' in scrollbar.c
8846
8847	<LI>several changes to permit compile with X11R5 (the system that I've
8848	  got Purify on won't be upgraded to X11R6 for a long time).
8849</UL>
8850<P>
8851I built this version (with a minor nit that I'll patch soon) on SunOS 4.1.3 so
8852that I can test it some more with Purify.
8853<P>
8854<EM>btw</EM>:
8855the changes made in Xpoll.h won't work on some older systems, because
8856	fd_set isn't a defined type (I've got one machine at least that this
8857	applies to).
8858
8859<H1><A NAME="xterm_06">Patch #6 - 1996/1/8</A></H1>
8860
8861This patch does all of the SGR foreground/background fixes (i.e., clearing the
8862screen after an SGR color is set causes that color to be used in the foreground
8863and/or background).  If the FG_COLOR and/or BG_COLOR flags aren't set, then the
8864xterm foreground and background default to the window's values.  This usage is
8865consistent with various types of hardware (especially the IBM PC), and is also
8866used in rxvt.
8867<UL>
8868	<LI>charproc.c:
8869<UL>
8870		<LI>add/use new macros GET_FG, GET_BG - n/c.
8871
8872		<LI>add/use new functions SGR_Foreground() and SGR_Background()
8873		  to set corresponding colors in GC's, and to retain sense of
8874		  "original" colors.
8875
8876		  <P>
8877		  =&gt; This makes redundant some of the corresponding logic
8878		     in HideCursor to set the foreground and background,
8879		     but I left it in since it <EM>may</EM> be fixing an unrelated
8880		     requirement.
8881
8882		<LI>set GC's in LoadNewFont() according to whether the SGR fg/bg
8883		  colors are active.
8884
8885		  <P>
8886		  =&gt; This fixes some glitches in the accompanying resize,
8887		     that leaves parts of the window in the original
8888		     background color.
8889</UL>
8890
8891	<LI>screen.c:
8892<UL>
8893		<LI>modified ClearBufRows() to use the SGR fg/bg colors if
8894		  they're set.
8895
8896		<LI>added function ScrnClearLines(), used this to replace
8897		  portions of ScrnInsertLine() and ScrnDeleteLine().
8898		  The new function uses the SGR fg/bg colors if they're
8899		  set.
8900
8901		  <P>
8902		  =&gt; Otherwise, selection after an index or reverse index will
8903		     paint the wrong colors.
8904
8905		<LI>modified ScrnDeleteChar() and ScrnInsertChar()
8906		  to use SGR fg/bg colors.
8907</UL>
8908
8909	<LI>util.c:
8910<UL>
8911		<LI>modified ClearRight() so that if either of the SGR fg/bg
8912		  colors is set, we don't bzero the attributes and color
8913		  arrays, but instead fill them with the appropriate codes.
8914
8915		<LI>modified ClearLeft to use SGR fg/bg colors.
8916</UL>
8917</UL>
8918
8919<H1><A NAME="xterm_05">Patch #5 - 1996/1/7</A></H1>
8920
8921This patch modifies the object code, by replacing indexing expressions with
8922temporary variables with the full indexing expression.  At first glance, this
8923seems inefficient (it did to me ;-), until remembering comments made in the
8924compilers newsgroups that trying to "help" the compiler doesn't really work
8925that well.  A good optimizing compiler can do a better job than the programmer
8926can.  (There's a moral in the use of 'register' variables also, but I won't fix
8927those...).
8928<P>
8929Anyway, the revised code generates a smaller object...
8930<UL>
8931<LI>charproc.c:
8932<UL>
8933<LI>recode index expressions in ShowCursor() and HideCursor()
8934		  using SCRN_BUF_xxxxS macros - changes object.
8935
8936<LI>replace constant '4' by MAX_PTRS - n/c.
8937</UL>
8938
8939<LI>ptyx.h:
8940<UL>
8941<LI>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
8942		  macros, to pick up references to ScrnBuf data directly, and
8943		  added MAX_PTRS symbol to pick up those '4' constants strewn
8944		  about the code - n/c.
8945</UL>
8946
8947<LI>screen.c:
8948<UL>
8949<LI>recode index expressions in ScreenWrite() using
8950		  SCRN_BUF_xxxxS macros - changes object.
8951
8952<LI>replace constant '4' by MAX_PTRS - n/c.
8953
8954<LI>use macros BUF_CHARS, BUF_ATTRS - n/c.
8955
8956<LI>cast calloc to 'Char *' to fix compiler warning on IRIX - n/c
8957</UL>
8958
8959<LI>scrollbar.c:
8960<UL>
8961<LI>replace constant '4' by MAX_PTRS - n/c.
8962
8963<LI>cast calloc to 'Char *' to fix compiler warning on IRIX - n/c
8964</UL>
8965</UL>
8966
8967<H1><A NAME="xterm_04">Patch #4 - 1996/1/7</A></H1>
8968When setting up for this phase, I saw that you'd corrected the bug that I found
8969in ClearLeft.  I decided to make this series of patches anyway, since
8970readability never hurt (and there's the potential for finding another bug while
8971reviewing this set).
8972<UL>
8973<LI>button.c:
8974<UL>
8975<LI>use SCRN_BUF_xxxxS macros - n/c
8976</UL>
8977<LI>charproc.c:
8978<UL>
8979<LI>use SCRN_BUF_xxxxS macros - n/c
8980</UL>
8981<LI>ptyx.h:
8982<UL>
8983<LI>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
8984		  SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four
8985		  arrays that are derived from screen-&gt;buf.
8986</UL>
8987<LI>screen.c:
8988<UL>
8989<LI>use SCRN_BUF_xxxxS macros - n/c
8990</UL>
8991<LI>util.c:
8992<UL>
8993<LI>use SCRN_BUF_xxxxS macros - n/c
8994</UL>
8995</UL>
8996<H1><A NAME="xterm_03">Patch #3 - 1996/1/7</A></H1>
8997
8998This is my third (and final cleanup) patch for xterm.  It gets rid of the
8999unused stuff, and converts several functions to static (thereby reducing their
9000scope).
9001<P>
9002At this point, the only compile warnings I've got (on Linux) are those about
9003the select arguments (int vs fd_set type), and a missing declaration for
9004waitpid.  Those both are hard to get right without autoconfigure.
9005<P>
9006The next patches will address the functional changes...
9007<UL>
9008<LI>Tekproc.c:
9009<UL>
9010<LI>changed several functions to 'static' that aren't used
9011outside this module -- changes object
9012</UL>
9013<LI>charproc.c:
9014<UL>
9015<LI>changed several functions to 'static' that aren't used
9016outside this module -- changes object
9017<LI>deleted unused function unparsefputs -- changes object.
9018</UL>
9019<LI>main.c:
9020<UL>
9021<LI>changed several functions to 'static' that aren't used
9022outside this module -- changes object
9023<LI>ifdef'd out unused function 'consolepr()' -- changes object
9024<LI>removed unused variable 'dummy_tio' -- changes object
9025<LI>moved variable 'discipline' to quiet unused-warning -- changes object
9026</UL>
9027<LI>main.h:
9028<UL>
9029<LI>deleted unused definition of DEFBORDERWIDTH - n/c
9030</UL>
9031<LI>misc.c:
9032<UL>
9033<LI>changed several functions to 'static' that aren't used
9034outside this module -- changes object
9035<LI>provide dummy return statements for xerror and xioerror to
9036quiet compiler warnings -- changes object
9037</UL>
9038<LI>ptyx.h:
9039<UL>
9040<LI>change sbuf_address and abuf_address to 'Char *' - n/c
9041</UL>
9042<LI>resize.c:
9043<UL>
9044<LI>changed several functions to 'static' that aren't used outside this module
9045-- changes object
9046</UL>
9047<LI>screen.c:
9048<UL>
9049<LI>remove unnecessary 'Char **' casts - n/c
9050</UL>
9051<LI>util.c:
9052<UL>
9053<LI>changed several functions to 'static' that aren't used outside this module
9054-- changes object
9055</UL>
9056</UL>
9057<H1><A NAME="xterm_02">Patch #2 - 1996/1/7</A></H1>
9058This is my second patch to xterm.  It corrects most of the gcc warnings (except
9059for some that are due to X header files ;-).  I compared objects to keep track
9060of the changes that don't affect the object code (n/c) versus those that do.
9061<P>
9062At this point, I'm compiling (fairly) clean with gcc options
9063<PRE>
9064	-Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
9065</PRE>
9066(I also compiled with -Wshadow, but while that found some things that I wanted
9067to find, there's far too many warnings from the X headers to be usable in this
9068context).
9069<P>
9070The changes:
9071<UL>
9072<LI>Tekproc.c:
9073<UL>
9074<LI>parenthesized expression to avoid gcc warning -- n/c.
9075
9076<LI>corrected nested-extern declaration for Bool
9077		  waiting_for_initial_map; ourTopLevelShellArgs, and
9078		  number_ourTopLevelShellArgs - n/c
9079
9080</UL>
9081<LI>charproc.c:
9082<UL>
9083<LI>corrected potentially-unintialized variables 'scstype', 'xim',
9084		  and 'input_style' -- changes object.
9085
9086<LI>adjusted logic of VTparse so that gcc won't warn about setjmp
9087		  clobbering parsestate -- changes object.
9088
9089<LI>corrected initialization of 'scstype', which could have been
9090		  clobbered by setjmp/longjmp - changes object.
9091
9092<LI>corrected nested-extern declaration of 'term', 'ProgramName'
9093		  - n/c
9094</UL>
9095
9096<LI>cursor.c:
9097<UL>
9098<LI>corrected nested-extern declaration of 'term' -- n/c
9099
9100<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
9101</UL>
9102
9103<LI>input.c:
9104<UL>
9105<LI>change interface of StringInput to assume size_t (i.e.,
9106		  unsigned) nbytes -- changes object.
9107
9108<LI>change interface of funcvalue, and sunfuncvalue to use
9109		  'KeySym' type instead of 'int' - changes object.
9110</UL>
9111
9112<LI>main.c:
9113<UL>
9114<LI>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h - n/c
9115
9116<LI>corrected missing params of 'do_hangup()' -- changes object
9117		  (note: the missing params were not used).
9118
9119<LI>corrected missing param of 'Error()' -- changes object
9120
9121<LI>corrected nested-extern 'environ' - n/c
9122
9123<LI>adjusted assignments to 'tty_got_hung' and 'no_dev_tty' so
9124		  that gcc can see they won't be clobbered by the longjmp -
9125		  changes object.
9126
9127<LI>use Size_t type - n/c.
9128</UL>
9129
9130<LI>menu.c:
9131<UL>
9132<LI>removed redundant prototype for 'do_hangup()' -- n/c.
9133
9134<LI>renamed 'time' parameters to avoid gcc -Wshadow warning - n/c
9135</UL>
9136
9137<LI>menu.h:
9138<UL>
9139<LI>renamed 'time' parameters to avoid gcc -Wshadow warning - n/c
9140</UL>
9141
9142<LI>misc.c:
9143<UL>
9144<LI>corrected definition of 'HandleFocusChange()' -- changes
9145		  object
9146
9147<LI>cast parameters in call to 'TekExpose()' -- n/c
9148
9149<LI>corrected nested-extern declarations of 'term', 'toplevel',
9150		  ProgramName, and 'environ' -- n/c.
9151
9152<LI>use Size_t type - n/c.
9153</UL>
9154
9155<LI>proto.h:
9156<UL>
9157<LI>moved definition of SIGNAL_T (and SIGNAL_RETURN) here from
9158		  main.c, resize.c to allow use of this symbol in prototypes
9159		  (mostly in xterm.h).
9160
9161<LI>added definition 'Size_t' to use as corrected type for
9162		  strncpy, malloc sizes - n/c.
9163</UL>
9164
9165<LI>resize.c:
9166<UL>
9167<LI>moved SIGNAL_T definition to proto.h -- n/c.
9168
9169<LI>use Size_t type - n/c.
9170</UL>
9171
9172<LI>screen.c:
9173<UL>
9174<LI>use Size_t type - n/c.
9175</UL>
9176
9177<LI>tabs.c:
9178<UL>
9179<LI>corrected nested-extern declaration of 'term' -- n/c
9180</UL>
9181
9182<LI>util.c:
9183<UL>
9184<LI>corrected/supplied parameters to 'TekExpose()' -- changes
9185		  object (note:  'TekExpose()' doesn't use its parameters).
9186
9187<LI>corrected nested-extern declaration of
9188		  'waiting_for_initial_map' -- n/c.
9189
9190<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
9191</UL>
9192
9193<LI>xterm.h:
9194<UL>
9195<LI>prototype 'do_hangup()', 'HandleFocusChange()',
9196		  'TekExpose()', 'Error()', 'Exit()' - forces changes in
9197		  various places.
9198
9199<LI>adjusted prototypes that pass 'Boolean' arguments to use
9200		  'int' (this is the "correct" ANSI approach to extended
9201		  compiles; it's worth mentioning that gcc doesn't meet the
9202		  ANSI spec here).  I used gcc -Wconversion to find these, but
9203		  there's a lot of unrelated warnings that are due to setting
9204		  NARROWPROTO in the config - n/c.
9205
9206<LI>renamed 'term' parameters to avoid gcc -Wshadow warning - n/c
9207</UL>
9208</UL>
9209<H1><A NAME="xterm_01">Patch #1 - 1996/1/6</A></H1>
9210This is my first cleanup patch for xterm.  It addresses all of the gcc warnings
9211for -Wall, -Wmissing-prototypes and -Wstrict-prototypes that I can change
9212without modifying the object code.  (I'm compiling this with gcc 2.7.0 for an
9213aout target, which makes it simple to compare objects.  When I do ELF-only,
9214I've got a tool that compares that sort of thing as well).
9215<P>
9216Briefly, this patch adds (and uses) two header files in the xterm directory:
9217<PRE>
9218	proto.h
9219	xterm.h
9220</PRE>
9221I expect this to be the biggest patch by far.  However (barring a misplaced
9222prototype), it shouldn't break anything, since the intent of the patch is to
9223provide missing declarations.
9224</BODY>
9225</HTML>
9226