xterm.log.html revision 2e4f8982
1<!--
2 *****************************************************************************
3 * this file is part of xterm                                                *
4 *                                                                           *
5 * Copyright 1997-2015,2016 by Thomas E. Dickey                              *
6 *                                                                           *
7 * All Rights Reserved                                                       *
8 *                                                                           *
9 * Permission is hereby granted, free of charge, to any person obtaining a   *
10 * copy of this software and associated documentation files (the             *
11 * "Software"), to deal in the Software without restriction, including       *
12 * without limitation the rights to use, copy, modify, merge, publish,       *
13 * distribute, sublicense, and/or sell copies of the Software, and to        *
14 * permit persons to whom the Software is furnished to do so, subject to     *
15 * the following conditions:                                                 *
16 *                                                                           *
17 * The above copyright notice and this permission notice shall be included   *
18 * in all copies or substantial portions of the Software.                    *
19 *                                                                           *
20 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS   *
21 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF                *
22 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.    *
23 * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY  *
24 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,      *
25 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE         *
26 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                    *
27 *                                                                           *
28 * Except as contained in this notice, the name(s) of the above copyright    *
29 * holders shall not be used in advertising or otherwise to promote the      *
30 * sale, use or other dealings in this Software without prior written        *
31 * authorization.                                                            *
32 *****************************************************************************
33  $XTermId: xterm.log.html,v 1.1693 2016/10/08 00:44:44 tom Exp $
34  -->
35<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
36
37<html>
38<head>
39  <meta name="generator" content=
40  "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
41
42  <title>XTERM - Change Log</title>
43  <link rev="MADE" href="mailto:dickey@invisible-island.net">
44  <meta http-equiv="Content-Type" content=
45  "text/html; charset=us-ascii">
46  <meta name="keywords" content="xterm, change log">
47  <meta name="description" content=
48  "This is the xterm change-log, distributed with xterm, with items listed by patch-number and date">
49  <link rel="SHORTCUT ICON" href="/img/icons/xterm.ico" type=
50  "image/x-icon">
51</head>
52
53<body>
54  <hr>
55
56  <p>Copyright &copy; 1997-2013,2014 by <a href=
57  "mailto:dickey@invisible-island.net">Thomas E. Dickey</a></p>
58  <hr>
59
60  <h1>Contents</h1>
61
62  <p><a href=
63  "http://invisible-island.net/xterm/xterm.log.html">Here</a> is
64  the latest version of this file.</p>
65
66  <p>It began as a list of the changes that I made for xterm, using
67  the notes that I added when submitting a patch. You should note
68  that other changes were made as well, by other people, to fix
69  bugs and correct ifdef's for portability. Until mid-2006, most of
70  these were summarized in the XFree86 <a href=
71  "http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/CHANGELOG">
72  CHANGELOG</a>).</p>
73
74  <ul>
75    <li><a href="#xterm_327">Patch #327 - 2016/10/07</a></li>
76
77    <li><a href="#xterm_326">Patch #326 - 2016/09/25</a></li>
78
79    <li><a href="#xterm_325">Patch #325 - 2016/06/05</a></li>
80
81    <li><a href="#xterm_324">Patch #324 - 2016/03/10</a></li>
82
83    <li><a href="#xterm_323">Patch #323 - 2016/03/07</a></li>
84
85    <li><a href="#xterm_322">Patch #322 - 2016/01/02</a></li>
86
87    <li><a href="#xterm_321">Patch #321 - 2015/12/31</a></li>
88
89    <li><a href="#xterm_320">Patch #320 - 2015/08/28</a></li>
90
91    <li><a href="#xterm_319">Patch #319 - 2015/08/19</a></li>
92
93    <li><a href="#xterm_318">Patch #318 - 2015/04/12</a></li>
94
95    <li><a href="#xterm_317">Patch #317 - 2015/03/27</a></li>
96
97    <li><a href="#xterm_316">Patch #316 - 2015/03/07</a></li>
98
99    <li><a href="#xterm_315">Patch #315 - 2015/03/02</a></li>
100
101    <li><a href="#xterm_314">Patch #314 - 2014/12/28</a></li>
102
103    <li><a href="#xterm_313">Patch #313 - 2014/11/28</a></li>
104
105    <li><a href="#xterm_312">Patch #312 - 2014/09/28</a></li>
106
107    <li><a href="#xterm_311">Patch #311 - 2014/09/18</a></li>
108
109    <li><a href="#xterm_310">Patch #310 - 2014/07/25</a></li>
110
111    <li><a href="#xterm_309">Patch #309 - 2014/07/13</a></li>
112
113    <li><a href="#xterm_308">Patch #308 - 2014/06/19</a></li>
114
115    <li><a href="#xterm_307">Patch #307 - 2014/06/17</a></li>
116
117    <li><a href="#xterm_306">Patch #306 - 2014/06/03</a></li>
118
119    <li><a href="#xterm_305">Patch #305 - 2014/06/02</a></li>
120
121    <li><a href="#xterm_304">Patch #304 - 2014/05/03</a></li>
122
123    <li><a href="#xterm_303">Patch #303 - 2014/03/06</a></li>
124
125    <li><a href="#xterm_302">Patch #302 - 2014/03/02</a></li>
126
127    <li><a href="#xterm_301">Patch #301 - 2014/01/19</a></li>
128
129    <li><a href="#xterm_300">Patch #300 - 2013/12/03</a></li>
130
131    <li><a href="#xterm_299">Patch #299 - 2013/12/01</a></li>
132
133    <li><a href="#xterm_298">Patch #298 - 2013/11/27</a></li>
134
135    <li><a href="#xterm_297">Patch #297 - 2013/09/10</a></li>
136
137    <li><a href="#xterm_296">Patch #296 - 2013/07/10</a></li>
138
139    <li><a href="#xterm_295">Patch #295 - 2013/07/06</a></li>
140
141    <li><a href="#xterm_294">Patch #294 - 2013/07/05</a></li>
142
143    <li><a href="#xterm_293">Patch #293 - 2013/05/27</a></li>
144
145    <li><a href="#xterm_292">Patch #292 - 2013/04/25</a></li>
146
147    <li><a href="#xterm_291">Patch #291 - 2013/02/26</a></li>
148
149    <li><a href="#xterm_290">Patch #290 - 2013/02/12</a></li>
150
151    <li><a href="#xterm_289">Patch #289 - 2013/02/08</a></li>
152
153    <li><a href="#xterm_288">Patch #288 - 2013/01/09</a></li>
154
155    <li><a href="#xterm_287">Patch #287 - 2012/11/25</a></li>
156
157    <li><a href="#xterm_286">Patch #286 - 2012/10/29</a></li>
158
159    <li><a href="#xterm_285">Patch #285 - 2012/10/23</a></li>
160
161    <li><a href="#xterm_284">Patch #284 - 2012/10/14</a></li>
162
163    <li><a href="#xterm_283">Patch #283 - 2012/10/09</a></li>
164
165    <li><a href="#xterm_282">Patch #282 - 2012/09/28</a></li>
166
167    <li><a href="#xterm_281">Patch #281 - 2012/06/26</a></li>
168
169    <li><a href="#xterm_280">Patch #280 - 2012/06/24</a></li>
170
171    <li><a href="#xterm_279">Patch #279 - 2012/05/10</a></li>
172
173    <li><a href="#xterm_278">Patch #278 - 2012/01/18</a></li>
174
175    <li><a href="#xterm_277">Patch #277 - 2012/01/07</a></li>
176
177    <li><a href="#xterm_276">Patch #276 - 2011/10/10</a></li>
178
179    <li><a href="#xterm_275">Patch #275 - 2011/09/11</a></li>
180
181    <li><a href="#xterm_274">Patch #274 - 2011/09/05</a></li>
182
183    <li><a href="#xterm_273">Patch #273 - 2011/08/25</a></li>
184
185    <li><a href="#xterm_272">Patch #272 - 2011/08/24</a></li>
186
187    <li><a href="#xterm_271">Patch #271 - 2011/07/14</a></li>
188
189    <li><a href="#xterm_270">Patch #270 - 2011/04/26</a></li>
190
191    <li><a href="#xterm_269">Patch #269 - 2011/02/19</a></li>
192
193    <li><a href="#xterm_268">Patch #268 - 2011/02/10</a></li>
194
195    <li><a href="#xterm_267">Patch #267 - 2010/11/20</a></li>
196
197    <li><a href="#xterm_266">Patch #266 - 2010/10/24</a></li>
198
199    <li><a href="#xterm_265">Patch #265 - 2010/10/22</a></li>
200
201    <li><a href="#xterm_264">Patch #264 - 2010/10/14</a></li>
202
203    <li><a href="#xterm_263">Patch #263 - 2010/10/13</a></li>
204
205    <li><a href="#xterm_262">Patch #262 - 2010/8/30</a></li>
206
207    <li><a href="#xterm_261">Patch #261 - 2010/6/28</a></li>
208
209    <li><a href="#xterm_260">Patch #260 - 2010/6/20</a></li>
210
211    <li><a href="#xterm_259">Patch #259 - 2010/6/5</a></li>
212
213    <li><a href="#xterm_258">Patch #258 - 2010/5/1</a></li>
214
215    <li><a href="#xterm_257">Patch #257 - 2010/4/22</a></li>
216
217    <li><a href="#xterm_256">Patch #256 - 2010/3/6</a></li>
218
219    <li><a href="#xterm_255">Patch #255 - 2010/1/21</a></li>
220
221    <li><a href="#xterm_254">Patch #254 - 2010/1/6</a></li>
222
223    <li><a href="#xterm_253">Patch #253 - 2009/12/10</a></li>
224
225    <li><a href="#xterm_252">Patch #252 - 2009/12/7</a></li>
226
227    <li><a href="#xterm_251">Patch #251 - 2009/11/11</a></li>
228
229    <li><a href="#xterm_250">Patch #250 - 2009/10/13</a></li>
230
231    <li><a href="#xterm_249">Patch #249 - 2009/10/1</a></li>
232
233    <li><a href="#xterm_248">Patch #248 - 2009/9/11</a></li>
234
235    <li><a href="#xterm_247">Patch #247 - 2009/8/30</a></li>
236
237    <li><a href="#xterm_246">Patch #246 - 2009/8/16</a></li>
238
239    <li><a href="#xterm_245">Patch #245 - 2009/8/12</a></li>
240
241    <li><a href="#xterm_244">Patch #244 - 2009/8/9</a></li>
242
243    <li><a href="#xterm_243">Patch #243 - 2009/3/28</a></li>
244
245    <li><a href="#xterm_242">Patch #242 - 2009/2/15</a></li>
246
247    <li><a href="#xterm_241">Patch #241 - 2009/1/26</a></li>
248
249    <li><a href="#xterm_240">Patch #240 - 2009/1/25</a></li>
250
251    <li><a href="#xterm_239">Patch #239 - 2009/1/8</a></li>
252
253    <li><a href="#xterm_238">Patch #238 - 2008/12/30</a></li>
254
255    <li><a href="#xterm_237">Patch #237 - 2008/09/14</a></li>
256
257    <li><a href="#xterm_236">Patch #236 - 2008/07/27</a></li>
258
259    <li><a href="#xterm_235">Patch #235 - 2008/04/20</a></li>
260
261    <li><a href="#xterm_234">Patch #234 - 2008/03/02</a></li>
262
263    <li><a href="#xterm_233">Patch #233 - 2008/02/24</a></li>
264
265    <li><a href="#xterm_232">Patch #232 - 2008/01/30</a></li>
266
267    <li><a href="#xterm_231">Patch #231 - 2008/01/05</a></li>
268
269    <li><a href="#xterm_230">Patch #230 - 2007/12/31</a></li>
270
271    <li><a href="#xterm_229">Patch #229 - 2007/8/12</a></li>
272
273    <li><a href="#xterm_228">Patch #228 - 2007/7/22</a></li>
274
275    <li><a href="#xterm_227">Patch #227 - 2007/6/27</a></li>
276
277    <li><a href="#xterm_226">Patch #226 - 2007/6/17</a></li>
278
279    <li><a href="#xterm_225">Patch #225 - 2007/3/24</a></li>
280
281    <li><a href="#xterm_224">Patch #224 - 2007/2/11</a></li>
282
283    <li><a href="#xterm_223">Patch #223 - 2006/11/30</a></li>
284
285    <li><a href="#xterm_222">Patch #222 - 2006/10/17</a></li>
286
287    <li><a href="#xterm_221">Patch #221 - 2006/10/1</a></li>
288
289    <li><a href="#xterm_220">Patch #220 - 2006/9/10</a></li>
290
291    <li><a href="#xterm_219">Patch #219 - 2006/9/4</a></li>
292
293    <li><a href="#xterm_218">Patch #218 - 2006/8/27</a></li>
294
295    <li><a href="#xterm_217">Patch #217 - 2006/8/20</a></li>
296
297    <li><a href="#xterm_216">Patch #216 - 2006/8/3</a></li>
298
299    <li><a href="#xterm_215">Patch #215 - 2006/6/19 - XFree86
300    4.6.99.2</a></li>
301
302    <li><a href="#xterm_214">Patch #214 - 2006/6/18 - XFree86
303    4.6.99.2</a></li>
304
305    <li><a href="#xterm_213">Patch #213 - 2006/4/30 - XFree86
306    4.5.99.905</a></li>
307
308    <li><a href="#xterm_212">Patch #212 - 2006/4/9 - XFree86
309    4.5.99.904</a></li>
310
311    <li><a href="#xterm_211">Patch #211 - 2006/3/19 - XFree86
312    4.5.99.902</a></li>
313
314    <li><a href="#xterm_210">Patch #210 - 2006/3/12 - XFree86
315    4.5.99.902</a></li>
316
317    <li><a href="#xterm_209">Patch #209 - 2006/2/12 - XFree86
318    4.5.99.22</a></li>
319
320    <li><a href="#xterm_208">Patch #208 - 2006/1/3 - XFree86
321    4.5.99.19</a></li>
322
323    <li><a href="#xterm_207">Patch #207 - 2005/11/13 - XFree86
324    4.5.99.16</a></li>
325
326    <li><a href="#xterm_206">Patch #206 - 2005/11/3 - XFree86
327    4.5.99.15</a></li>
328
329    <li><a href="#xterm_205">Patch #205 - 2005/9/18 - XFree86
330    4.5.99.12</a></li>
331
332    <li><a href="#xterm_204">Patch #204 - 2005/8/4 - XFree86
333    4.5.99.9</a></li>
334
335    <li><a href="#xterm_203">Patch #203 - 2005/7/6 - XFree86
336    4.5.99.7</a></li>
337
338    <li><a href="#xterm_202">Patch #202 - 2005/5/2 - XFree86
339    4.5.99.3</a></li>
340
341    <li><a href="#xterm_201">Patch #201 - 2005/4/21 - XFree86
342    4.5.99.2</a></li>
343
344    <li><a href="#xterm_200">Patch #200 - 2005/2/6 - XFree86
345    4.4.99.23</a></li>
346
347    <li><a href="#xterm_199">Patch #199 - 2005/1/17 - XFree86
348    4.4.99.22</a></li>
349
350    <li><a href="#xterm_198">Patch #198 - 2005/1/13 - XFree86
351    4.4.99.21</a></li>
352
353    <li><a href="#xterm_197">Patch #197 - 2004/11/30 - XFree86
354    4.4.99.19</a></li>
355
356    <li><a href="#xterm_196">Patch #196 - 2004/8/15 - XFree86
357    4.4.99.12</a></li>
358
359    <li><a href="#xterm_195">Patch #195 - 2004/8/8 - XFree86
360    4.4.99.11</a></li>
361
362    <li><a href="#xterm_194">Patch #194 - 2004/7/27 - XFree86
363    4.4.99.11</a></li>
364
365    <li><a href="#xterm_193">Patch #193 - 2004/7/19 - XFree86
366    4.4.99.10</a></li>
367
368    <li><a href="#xterm_192">Patch #192 - 2004/7/12 - XFree86
369    4.4.99.9</a></li>
370
371    <li><a href="#xterm_191">Patch #191 - 2004/6/6 - XFree86
372    4.4.99.7</a></li>
373
374    <li><a href="#xterm_190">Patch #190 - 2004/5/25 - XFree86
375    4.4.99.6</a></li>
376
377    <li><a href="#xterm_189">Patch #189 - 2004/5/16 - XFree86
378    4.4.99.6</a></li>
379
380    <li><a href="#xterm_188">Patch #188 - 2004/5/12 - XFree86
381    4.4.99.6</a></li>
382
383    <li><a href="#xterm_187">Patch #187 - 2004/4/27 - XFree86
384    4.4.99.4</a></li>
385
386    <li><a href="#xterm_186">Patch #186 - 2004/4/18 - XFree86
387    4.4.99.4</a></li>
388
389    <li><a href="#xterm_185">Patch #185 - 2004/3/3 - XFree86
390    4.4</a></li>
391
392    <li><a href="#xterm_184">Patch #184 - 2003/12/31 - XFree86
393    4.3.99.903</a></li>
394
395    <li><a href="#xterm_183">Patch #183 - 2003/12/26 - XFree86
396    4.3.99.903</a></li>
397
398    <li><a href="#xterm_182">Patch #182 - 2003/12/2 - XFree86
399    4.3.99.901</a></li>
400
401    <li><a href="#xterm_181">Patch #181 - 2003/10/26 - XFree86
402    4.3.99.15</a></li>
403
404    <li><a href="#xterm_180">Patch #180 - 2003/10/12 - XFree86
405    4.3.99.15</a></li>
406
407    <li><a href="#xterm_179">Patch #179 - 2003/5/21 - XFree86
408    4.3.99.5</a></li>
409
410    <li><a href="#xterm_178">Patch #178 - 2003/5/18 - XFree86
411    4.3.99.5</a></li>
412
413    <li><a href="#xterm_177">Patch #177 - 2003/3/23 - XFree86
414    4.3.0</a></li>
415
416    <li><a href="#xterm_176">Patch #176 - 2003/3/22 - XFree86
417    4.3.0</a></li>
418
419    <li><a href="#xterm_175">Patch #175 - 2003/3/9 - XFree86
420    4.3.0</a></li>
421
422    <li><a href="#xterm_174">Patch #174 - 2003/2/25 - XFree86
423    4.2.99.903</a></li>
424
425    <li><a href="#xterm_173">Patch #173 - 2003/2/6 - XFree86
426    4.2.99.902</a></li>
427
428    <li><a href="#xterm_172">Patch #172 - 2002/12/27 - XFree86
429    4.2.99.3</a></li>
430
431    <li><a href="#xterm_171">Patch #171 - 2002/12/12 - XFree86
432    4.2.99.3</a></li>
433
434    <li><a href="#xterm_170">Patch #170 - 2002/10/13 - XFree86
435    4.2.1</a></li>
436
437    <li><a href="#xterm_169">Patch #169 - 2002/10/5 - XFree86
438    4.2.1</a></li>
439
440    <li><a href="#xterm_168">Patch #168 - 2002/9/29 - XFree86
441    4.2.1</a></li>
442
443    <li><a href="#xterm_167">Patch #167 - 2002/8/24 - XFree86
444    4.2.0</a></li>
445
446    <li><a href="#xterm_166">Patch #166 - 2002/3/25 - XFree86
447    4.2.0</a></li>
448
449    <li><a href="#xterm_165">Patch #165 - 2002/1/5 - XFree86
450    4.1.0</a></li>
451
452    <li><a href="#xterm_164">Patch #164 - 2001/11/13 - XFree86
453    4.1.0</a></li>
454
455    <li><a href="#xterm_163">Patch #163 - 2001/11/04 - XFree86
456    4.1.0</a></li>
457
458    <li><a href="#xterm_162">Patch #162 - 2001/10/23 - XFree86
459    4.1.0</a></li>
460
461    <li><a href="#xterm_161">Patch #161 - 2001/10/10 - XFree86
462    4.1.0</a></li>
463
464    <li><a href="#xterm_160">Patch #160 - 2001/10/7 - XFree86
465    4.1.0</a></li>
466
467    <li><a href="#xterm_159">Patch #159 - 2001/9/19 - XFree86
468    4.1.0</a></li>
469
470    <li><a href="#xterm_158">Patch #158 - 2001/9/8 - XFree86
471    4.1.0</a></li>
472
473    <li><a href="#xterm_157">Patch #157 - 2001/6/18 - XFree86
474    4.1.0</a></li>
475
476    <li><a href="#xterm_156">Patch #156 - 2001/4/28 - XFree86
477    4.0.3</a></li>
478
479    <li><a href="#xterm_155">Patch #155 - 2001/4/20 - XFree86
480    4.0.3</a></li>
481
482    <li><a href="#xterm_154">Patch #154 - 2001/4/11 - XFree86
483    4.0.3</a></li>
484
485    <li><a href="#xterm_153">Patch #153 - 2001/3/29 - XFree86
486    4.0.3</a></li>
487
488    <li><a href="#xterm_152">Patch #152 - 2001/3/13 - XFree86
489    4.0.2</a></li>
490
491    <li><a href="#xterm_151">Patch #151 - 2001/3/10 - XFree86
492    4.0.2</a></li>
493
494    <li><a href="#xterm_150">Patch #150 - 2000/12/29 - XFree86
495    4.0.2</a></li>
496
497    <li><a href="#xterm_149">Patch #149 - 2000/12/6 - XFree86
498    4.0.1h</a></li>
499
500    <li><a href="#xterm_148">Patch #148 - 2000/10/31 - XFree86
501    4.0.1d</a></li>
502
503    <li><a href="#xterm_147">Patch #147 - 2000/10/26 - XFree86
504    4.0.1c</a></li>
505
506    <li><a href="#xterm_146">Patch #146 - 2000/9/12 - XFree86
507    4.0.1c</a></li>
508
509    <li><a href="#xterm_145">Patch #145 - 2000/9/11 - XFree86
510    4.0.1c</a></li>
511
512    <li><a href="#xterm_144">Patch #144 - 2000/8/23 - XFree86
513    4.0.1b</a></li>
514
515    <li><a href="#xterm_143">Patch #143 - 2000/8/19 - XFree86
516    4.0.1b</a></li>
517
518    <li><a href="#xterm_142">Patch #142 - 2000/8/18 - XFree86
519    4.0.1b</a></li>
520
521    <li><a href="#xterm_141">Patch #141 - 2000/8/14 - XFree86
522    4.0.1b</a></li>
523
524    <li><a href="#xterm_140">Patch #140 - 2000/7/23 - XFree86
525    4.0.1</a></li>
526
527    <li><a href="#xterm_139">Patch #139 - 2000/6/17 - XFree86
528    4.0d</a></li>
529
530    <li><a href="#xterm_138">Patch #138 - 2000/6/15 - XFree86
531    4.0c</a></li>
532
533    <li><a href="#xterm_137">Patch #137 - 2000/6/10 - XFree86
534    4.0b</a></li>
535
536    <li><a href="#xterm_136">Patch #136 - 2000/6/3 - XFree86
537    4.0b</a></li>
538
539    <li><a href="#xterm_135">Patch #135 - 2000/5/29 - XFree86
540    4.0b</a></li>
541
542    <li><a href="#xterm_134">Patch #134 - 2000/5/28 - XFree86
543    4.0b</a></li>
544
545    <li><a href="#xterm_133">Patch #133 - 2000/5/2 - XFree86
546    4.0a</a></li>
547
548    <li><a href="#xterm_132">Patch #132 - 2000/4/11 - XFree86
549    4.0a</a></li>
550
551    <li><a href="#xterm_131">Patch #131 - 2000/3/3 - XFree86
552    3.9.18b</a></li>
553
554    <li><a href="#xterm_130">Patch #130 - 2000/3/1 - XFree86
555    3.9.18a</a></li>
556
557    <li><a href="#xterm_129">Patch #129 - 2000/2/26 - XFree86
558    3.9.18a</a></li>
559
560    <li><a href="#xterm_128">Patch #128 - 2000/2/17 - XFree86
561    3.9.18</a></li>
562
563    <li><a href="#xterm_127">Patch #127 - 2000/2/12 - XFree86
564    3.9.17e</a></li>
565
566    <li><a href="#xterm_126">Patch #126 - 2000/2/8 - XFree86
567    3.9.17c</a></li>
568
569    <li><a href="#xterm_125">Patch #125 - 2000/1/31 - XFree86
570    3.9.17c</a></li>
571
572    <li><a href="#xterm_124">Patch #124 - 2000/1/27 - XFree86
573    3.9.17b</a></li>
574
575    <li><a href="#xterm_123">Patch #123 - 2000/1/22 - XFree86
576    3.9.17a</a></li>
577
578    <li><a href="#xterm_122">Patch #122 - 1999/12/28 - XFree86
579    3.9.16f</a></li>
580
581    <li><a href="#xterm_121">Patch #121 - 1999/11/14 - XFree86
582    3.9.16c</a></li>
583
584    <li><a href="#xterm_120">Patch #120 - 1999/10/28 - XFree86
585    3.9.16c</a></li>
586
587    <li><a href="#xterm_119">Patch #119 - 1999/10/16 - XFree86
588    3.9.16c</a></li>
589
590    <li><a href="#xterm_118">Patch #118 - 1999/10/5 - XFree86
591    3.9.16b</a></li>
592
593    <li><a href="#xterm_117">Patch #117 - 1999/9/29 - XFree86
594    3.9.16b</a></li>
595
596    <li><a href="#xterm_116">Patch #116 - 1999/9/25 - XFree86
597    3.9.16a</a></li>
598
599    <li><a href="#xterm_115">Patch #115 - 1999/9/18 - XFree86
600    3.9.16a</a></li>
601
602    <li><a href="#xterm_114">Patch #114 - 1999/9/15 - XFree86
603    3.9.16</a></li>
604
605    <li><a href="#xterm_113">Patch #113 - 1999/8/15 - XFree86
606    3.9.15b</a></li>
607
608    <li><a href="#xterm_112">Patch #112 - 1999/7/17 - XFree86
609    3.9Pw</a></li>
610
611    <li><a href="#xterm_111">Patch #111 - 1999/7/10 - XFree86
612    3.9Pw</a></li>
613
614    <li><a href="#xterm_110">Patch #110 - 1999/6/29 - XFree86
615    3.9Pu</a></li>
616
617    <li><a href="#xterm_109">Patch #109 - 1999/6/23 - XFree86
618    3.9Pt</a></li>
619
620    <li><a href="#xterm_108">Patch #108 - 1999/6/19 - XFree86
621    3.9Ps</a></li>
622
623    <li><a href="#xterm_107">Patch #107 - 1999/6/12 - XFree86
624    3.9Pq</a></li>
625
626    <li><a href="#xterm_106">Patch #106 - 1999/6/9 - XFree86
627    3.9Pq</a></li>
628
629    <li><a href="#xterm_105">Patch #105 - 1999/6/5 - XFree86
630    3.9Pp</a></li>
631
632    <li><a href="#xterm_104">Patch #104 - 1999/5/30 - XFree86
633    3.9Pn</a></li>
634
635    <li><a href="#xterm_103">Patch #103 - 1999/5/14 - XFree86
636    3.9Pm</a></li>
637
638    <li><a href="#xterm_102">Patch #102 - 1999/5/12 - XFree86
639    3.9Pm</a></li>
640
641    <li><a href="#xterm_101">Patch #101 - 1999/5/10 - XFree86
642    3.9Pm</a></li>
643
644    <li><a href="#xterm_100">Patch #100 - 1999/5/3 - XFree86
645    3.9Pl</a></li>
646
647    <li><a href="#xterm_99">Patch #99 - 1999/5/2 - XFree86
648    3.9Pk</a></li>
649
650    <li><a href="#xterm_98">Patch #98 - 1999/4/26 - XFree86
651    3.9Pk</a></li>
652
653    <li><a href="#xterm_97">Patch #97 - 1999/4/25 - XFree86
654    3.9Pk</a></li>
655
656    <li><a href="#xterm_96">Patch #96 - 1999/4/19 - XFree86
657    3.9Pj</a></li>
658
659    <li><a href="#xterm_95">Patch #95 - 1999/4/5 - XFree86
660    3.9Ph</a></li>
661
662    <li><a href="#xterm_94">Patch #94 - 1999/3/27 - XFree86
663    3.9Pf</a></li>
664
665    <li><a href="#xterm_93">Patch #93 - 1999/3/14 - XFree86
666    3.9Pd</a></li>
667
668    <li><a href="#xterm_92">Patch #92 - 1999/2/5 - XFree86
669    3.9Nz</a></li>
670
671    <li><a href="#xterm_91">Patch #91 - 1999/1/21 - XFree86
672    3.9Nw</a></li>
673
674    <li><a href="#xterm_90">Patch #90 - 1998/12/13 - XFree86
675    3.9Nq</a></li>
676
677    <li><a href="#xterm_89">Patch #89 - 1998/11/20 - XFree86
678    3.9Nm</a></li>
679
680    <li><a href="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk
681    and 3.3.2h</a></li>
682
683    <li><a href="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj
684    and 3.3.2f</a></li>
685
686    <li><a href="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj
687    and 3.3.2e</a></li>
688
689    <li><a href="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj
690    and 3.3.2e</a></li>
691
692    <li><a href="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni
693    and 3.3.2e</a></li>
694
695    <li><a href="#sync_83">Resync #83 - 1998/10/7 - XFree86
696    3.3.2e</a></li>
697
698    <li><a href="#xterm_83">Patch #83 - 1998/8/25 - XFree86
699    3.9Nb</a></li>
700
701    <li><a href="#xterm_82">Patch #82 - 1998/7/15 - XFree86
702    3.9Aj</a></li>
703
704    <li><a href="#xterm_81">Patch #81 - 1998/7/14 - XFree86
705    3.9Aj</a></li>
706
707    <li><a href="#xterm_80">Patch #80 - 1998/6/29 - XFree86
708    3.9Ai</a></li>
709
710    <li><a href="#xterm_79">Patch #79 - 1998/6/28 - XFree86
711    3.9Ai</a></li>
712
713    <li><a href="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah
714    and 3.3.2</a></li>
715
716    <li><a href="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah
717    and 3.3.2</a></li>
718
719    <li><a href="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah
720    and 3.3.2</a></li>
721
722    <li><a href="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah
723    and 3.3.2</a></li>
724
725    <li><a href="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag
726    and 3.3.2</a></li>
727
728    <li><a href="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag
729    and 3.3.2</a></li>
730
731    <li><a href="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag
732    and 3.3.2</a></li>
733
734    <li><a href="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag
735    and 3.3.2</a></li>
736
737    <li><a href="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af
738    and 3.3.2</a></li>
739
740    <li><a href="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad
741    and 3.3.2</a></li>
742
743    <li><a href="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad
744    and 3.3.1z</a></li>
745
746    <li><a href="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad
747    and 3.3.1e</a></li>
748
749    <li><a href="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad
750    and 3.3.1d</a></li>
751
752    <li><a href="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad
753    and 3.3.1c</a></li>
754
755    <li><a href="#xterm_64">Patch #64 - 1998/2/8 - XFree86
756    3.9Ad</a></li>
757
758    <li><a href="#xterm_63">Patch #63 - 1998/2/5 - XFree86
759    3.9Ad</a></li>
760
761    <li><a href="#xterm_62">Patch #62 - 1998/1/23 - XFree86
762    3.9Ac</a></li>
763
764    <li><a href="#xterm_61">Patch #61 - 1998/1/17 - XFree86
765    3.9Ac</a></li>
766
767    <li><a href="#xterm_60">Patch #60 - 1998/1/10 - XFree86
768    3.9Ab</a></li>
769
770    <li><a href="#xterm_59">Patch #59 - 1998/1/5 - XFree86
771    3.9Ab</a></li>
772
773    <li><a href="#xterm_58">Patch #58 - 1998/1/3 - XFree86
774    3.9Ab</a></li>
775
776    <li><a href="#xterm_57">Patch #57 - 1997/12/26 - XFree86
777    3.9Aa</a></li>
778
779    <li><a href="#xterm_56">Patch #56 - 1997/11/28 - XFree86
780    3.9x</a></li>
781
782    <li><a href="#xterm_55">Patch #55 - 1997/11/25 - XFree86
783    3.9x</a></li>
784
785    <li><a href="#xterm_54">Patch #54 - 1997/10/17 - XFree86
786    3.9s</a></li>
787
788    <li><a href="#xterm_53">Patch #53 - 1997/10/12 - XFree86
789    3.9r</a></li>
790
791    <li><a href="#xterm_52">Patch #52 - 1997/9/29 - XFree86
792    3.9q</a></li>
793
794    <li><a href="#xterm_51">Patch #51 - 1997/9/15 - XFree86
795    3.9p</a></li>
796
797    <li><a href="#xterm_50">Patch #50 - 1997/8/22 - XFree86
798    3.9m</a></li>
799
800    <li><a href="#xterm_49">Patch #49 - 1997/8/10 - XFree86
801    3.9k</a></li>
802
803    <li><a href="#xterm_48">Patch #48 - 1997/7/26 - XFree86
804    3.9j</a></li>
805
806    <li><a href="#xterm_47">Patch #47 - 1997/7/13 - XFree86
807    3.9i</a></li>
808
809    <li><a href="#xterm_46">Patch #46 - 1997/7/4 - XFree86
810    3.9h</a></li>
811
812    <li><a href="#xterm_45">Patch #45 - 1997/7/2 - XFree86
813    3.9h</a></li>
814
815    <li><a href="#xterm_44">Patch #44 - 1997/6/22 - XFree86
816    3.9g</a></li>
817
818    <li><a href="#xterm_43">Patch #43 - 1997/6/10 - XFree86
819    3.9d</a></li>
820
821    <li><a href="#xterm_42">Patch #42 - 1997/6/8 - XFree86
822    3.2Xl</a></li>
823
824    <li><a href="#xterm_41">Patch #41 - 1997/5/28 - XFree86
825    3.2Xl</a></li>
826
827    <li><a href="#xterm_40">Patch #40 - 1997/5/26 - XFree86
828    3.2Xl</a></li>
829
830    <li><a href="#xterm_39">Patch #39 - 1997/5/24 - XFree86
831    3.2Xl</a></li>
832
833    <li><a href="#xterm_38">Patch #38 - 1997/5/22 - XFree86
834    3.2Xh</a></li>
835
836    <li><a href="#xterm_37">Patch #37 - 1997/5/7 - XFree86
837    3.9a</a></li>
838
839    <li><a href="#xterm_36">Patch #36 - 1997/1/16 - XFree86
840    3.2r</a></li>
841
842    <li><a href="#xterm_35">Patch #35 - 1997/1/7 - XFree86
843    3.2o</a></li>
844
845    <li><a href="#xterm_34">Patch #34 - 1997/1/5 - XFree86
846    3.2o</a></li>
847
848    <li><a href="#xterm_33">Patch #33 - 1996/11/24 - XFree86
849    3.2</a></li>
850
851    <li><a href="#xterm_32">Patch #32 - 1996/11/21 - XFree86
852    3.2</a></li>
853
854    <li><a href="#xterm_31">Patch #31 - 1996/11/16 - XFree86
855    3.2</a></li>
856
857    <li><a href="#xterm_30">Patch #30 - 1996/11/16 - XFree86
858    3.2</a></li>
859
860    <li><a href="#xterm_29">Patch #29 - 1996/9/15 - XFree86
861    3.1.2Gb</a></li>
862
863    <li><a href="#xterm_28">Patch #28 - 1996/8/31 - XFree86
864    3.1.2F</a></li>
865
866    <li><a href="#xterm_27">Patch #27 - 1996/8/21 - XFree86
867    3.1.2Ek</a></li>
868
869    <li><a href="#xterm_26">Patch #26 - 1996/8/20 - XFree86
870    3.1.2Ei</a></li>
871
872    <li><a href="#xterm_25">Patch #25 - 1996/8/18 - XFree86
873    3.1.2Ei</a></li>
874
875    <li><a href="#xterm_24">Patch #24 - 1996/8/11 - XFree86
876    3.1.2Ee</a></li>
877
878    <li><a href="#xterm_23">Patch #23 - 1996/7/31 - XFree86
879    3.1.2Ec</a></li>
880
881    <li><a href="#xterm_22">Patch #22 - 1996/7/26 - XFree86
882    3.1.2Ec</a></li>
883
884    <li><a href="#xterm_21">Patch #21 - 1996/7/24 - XFree86
885    3.1.2Ec</a></li>
886
887    <li><a href="#xterm_20">Patch #20 - 1996/7/24 - XFree86
888    3.1.2Ec</a></li>
889
890    <li><a href="#xterm_19">Patch #19 - 1996/7/21 - XFree86
891    3.1.2Ec</a></li>
892
893    <li><a href="#xterm_18">Patch #18 - 1996/7/18 - XFree86
894    3.1.2Ec</a></li>
895
896    <li><a href="#xterm_17">Patch #17 - 1996/7/2 - XFree86
897    3.1.2Eb</a></li>
898
899    <li><a href="#xterm_16">Patch #16 - 1996/6/25 - XFree86
900    3.1.2Ea</a></li>
901
902    <li><a href="#xterm_15">Patch #15 - 1996/5/29 - XFree86
903    3.1.2E</a></li>
904
905    <li><a href="#xterm_14">Patch #14 - 1996/5/12 - XFree86
906    3.1.2Dj</a></li>
907
908    <li><a href="#xterm_13">Patch #13 - 1996/4/23 - XFree86
909    3.1.2Df</a></li>
910
911    <li><a href="#xterm_12">Patch #12 - 1996/3/16 - XFree86
912    3.1.2Dc</a></li>
913
914    <li><a href="#xterm_11">Patch #11 - 1996/3/5 - XFree86
915    3.1.2Db</a></li>
916
917    <li><a href="#xterm_10">Patch #10 - 1996/2/14 - XFree86
918    3.1.2Cd</a></li>
919
920    <li><a href="#xterm_09">Patch #9 - 1996/2/10 - XFree86
921    3.1.2Cb</a></li>
922
923    <li><a href="#xterm_08">Patch #8 - 1996/2/9 - XFree86
924    3.1.2Cb</a></li>
925
926    <li><a href="#xterm_07">Patch #7 - 1996/1/28 - XFree86
927    3.1.2n</a></li>
928
929    <li><a href="#xterm_06">Patch #6 - 1996/1/8</a></li>
930
931    <li><a href="#xterm_05">Patch #5 - 1996/1/7</a></li>
932
933    <li><a href="#xterm_04">Patch #4 - 1996/1/7</a></li>
934
935    <li><a href="#xterm_03">Patch #3 - 1996/1/7</a></li>
936
937    <li><a href="#xterm_02">Patch #2 - 1996/1/7</a></li>
938
939    <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
940  </ul>
941
942  <h1><a name="xterm_327" id="xterm_327">Patch #327 -
943  2016/10/07</a></h1>
944
945  <ul>
946    <li>add a check in the function which handles end-of-line
947    wrapping to ensure that C1 controls are allocated one column
948    when <code>allowC1Printable</code> is set (Debian
949    #738794).</li>
950
951    <li>use consistent error-checking after <code>strtol</code>
952    calls, fixes a case where a query with OSC 6 did not ensure
953    there was a valid color number (report by Alex Smith).</li>
954
955    <li>add <code>-baudrate</code> option, for testing
956    ncurses.</li>
957
958    <li>always generate the <code>CASE_<em>xxx</em></code> symbols
959    in <code>VTparse.h</code> and <code>Tekparse.h</code>, as part
960    of a change to improve debug-logging. This makes the build
961    always depend upon <code>awk</code>.</li>
962
963    <li>modify <code>allowC1Printable</code> to disallow codes
964    160-254 as being equivalent to codes 32-126 when parsing escape
965    sequences (Debian #839220).</li>
966
967    <li>amend fix from <a href="#xterm_326">patch #326</a> for
968    TrueType fonts to exclude the hidden character used for
969    double-width cells (report by Grady Martin).</li>
970
971    <li>fix a typo in <code>ctlseqs.ms</code></li>
972  </ul>
973
974  <h1><a name="xterm_326" id="xterm_326">Patch #326 -
975  2016/09/25</a></h1>
976
977  <ul>
978    <li>updated appdata file (report by Richard Hughes).</li>
979
980    <li>improve discussion of the different terminal emulations
981    provided by xterm in the manual page.</li>
982
983    <li>add examples of setting the icon title with/without the
984    window title in the manual (Debian #833984).</li>
985
986    <li>correct a limit-check when using a numeric value for
987    extended Booleans e.g., <code>*fullscreen:3</code> rather than
988    a name such as <code>*fullscreen:never</code>.</li>
989
990    <li>add action <code>allow-bold-fonts</code></li>
991
992    <li>improved formatting fixes for manual page, using script to
993    find mismatches in spelling of resources, actions and menu
994    entries.</li>
995
996    <li>improve documentation of logging resources.</li>
997
998    <li>fix a special case of flickering cursor by adding
999    <code>GraphicsExpose</code> to the list of event types that
1000    should not trigger making the mouse cursor visible (patch by
1001    Joe Peterson).</li>
1002
1003    <li>correct initialization of line-drawing in VT52-mode,
1004    overlooked in changes for <a href="#xterm_297">patch #297</a>
1005    (report/patch by Ben Wiley Sittler).</li>
1006
1007    <li>minor clarification of form-feed versus line-feed in
1008    <code>ctlseqs.ms</code> (suggested by David Kemper).</li>
1009
1010    <li>amend fix for Debian #738794 to restore a check for missing
1011    characters which are <em>not</em> combining characters. Also
1012    fill in a corresponding special case for TrueType fonts (Debian
1013    #827905).</li>
1014  </ul>
1015
1016  <h1><a name="xterm_325" id="xterm_325">Patch #325 -
1017  2016/06/05</a></h1>
1018
1019  <ul>
1020    <li>improve manual page discussion of function keys (discussion
1021    with Ross Combs).</li>
1022
1023    <li>further improve fix for Debian #545220 in <a href=
1024    "#xterm_248">patch #248</a>, to avoid conflict with combining
1025    characters (Debian #738794).</li>
1026
1027    <li>improve <code>-hold</code> option to avoid 100% CPU usage
1028    with NetBSD after closing the shell, which makes subsequent
1029    checks for X input events fail (prompted by patch by Pierre
1030    Pronchery).</li>
1031
1032    <li>review <code>#ifdef</code> statements, listed those which
1033    do not have a configure option in
1034    <code>xtermcfg.hin</code>.</li>
1035
1036    <li>fixed one case where the menu sensistivity for
1037    <em>Print-All Immediately</em> and <em>Print-All on Error</em>
1038    was not properly ifdef'd.</li>
1039
1040    <li>modify terminfo entries for 16-, 88- and 256-color to reset
1041    palette with <code>rs1</code> capability.</li>
1042
1043    <li>accept <code>legacy</code> value of <code>-kt</code> as
1044    synonym for the <code>oldXtermFKeys</code> resource, and extend
1045    the full-reset logic to use the keyboard type set via
1046    <code>-kt</code>.</li>
1047
1048    <li>modify <code>ioctl</code> calls for <code>I_PUSH</code> to
1049    first check if the module has been added, using
1050    <code>I_FIND</code>. This is needed for newer Solaris libraries
1051    with c11 support (adapted from patch by Alan Coopersmith).</li>
1052
1053    <li>add check in <code>getXtermCombining</code> to ensure that
1054    combining characters were allocated (report by Tor
1055    Andersson).</li>
1056
1057    <li>add configure option <code>--without-xinerama</code> to
1058    allow suppressing the extension (Gentoo #580936).</li>
1059
1060    <li>update keysym2ucs.c based on Unicode 9.0</li>
1061
1062    <li>fixed most <code>cppcheck --enable=all</code> warnings,
1063    including for style (prompted by report by David Binderman).
1064    There was one bug-fix:
1065
1066      <ul>
1067        <li>RGB least-squares computation in
1068        <code>allocateClosestRGB</code> used only one ordinate</li>
1069      </ul>
1070    </li>
1071
1072    <li>add <code>cppcheck</code> to lint-like programs in
1073    configure script and makefile.</li>
1074
1075    <li>updates for SIXEL and ReGIS (Ross Combs):
1076
1077      <ul>
1078        <li>Fixes some const correctness issues and points out an
1079        array lifetime issue</li>
1080
1081        <li>Sixel drawing should still happen after an error if
1082        some commands have been processed</li>
1083
1084        <li>Tiny steps toward reporting ReGIS input</li>
1085      </ul>
1086    </li>
1087  </ul>
1088
1089  <h1><a name="xterm_324" id="xterm_324">Patch #324 -
1090  2016/03/10</a></h1>
1091
1092  <ul>
1093    <li>updated configure macro <code>CF_LD_RPATH_OPT</code> from
1094    ncurses changes.</li>
1095
1096    <li>provide alternate fix for Juha Nurmela's report by turning
1097    on POSIX signals if <code>_POSIX_C_SOURCE</code> is at least
1098    one. This is done to improve the behavior if a direct child
1099    process receives a <code>STOP</code> signal.</li>
1100
1101    <li>revert change to <code>CF_POSIX_C_SOURCE</code> from
1102    <a href="#xterm-323">patch #323</a> (reports by Ashish Shukla,
1103    Christian Weisgerber).</li>
1104  </ul>
1105
1106  <h1><a name="xterm_323" id="xterm_323">Patch #323 -
1107  2016/03/07</a></h1>
1108
1109  <ul>
1110    <li>updated appdata and desktop files to add keywords (report
1111    by Richard Hughes).</li>
1112
1113    <li>modify configure macro <code>CF_POSIX_C_SOURCE</code> to
1114    accommodate some systems, e.g., FreeBSD, which have separated
1115    their implementation specific preprocessor symbols from the
1116    POSIX ones, requiring both to be defined (report by Juha
1117    Nurmela).</li>
1118
1119    <li>change the directory to the current working dir of the
1120    child process in exec-formatted and exec-selectable actions
1121    (patch by Alexander Pohoyda).</li>
1122
1123    <li>correct typo in xterm.man (patch by Larry Hynes).</li>
1124
1125    <li>correct typo in ctlseqs.ms (report by Shriramana
1126    Sharma).</li>
1127
1128    <li>add feature to support XHTML and SVG screen dumps (patch by
1129    Jens Schweikhardt).</li>
1130
1131    <li>correct response to DECRQSS when terminal id is less than
1132    400 (patch by Iwamoto Kouichi).</li>
1133  </ul>
1134
1135  <h1><a name="xterm_322" id="xterm_322">Patch #322 -
1136  2016/01/02</a></h1>
1137
1138  <ul>
1139    <li>fix regression due to incorrect fix for compiler warning
1140    when allocating storage for <code>/etc/shells</code> (reports
1141    by Ashish Shukla, Debian #809646).</li>
1142  </ul>
1143
1144  <h1><a name="xterm_321" id="xterm_321">Patch #321 -
1145  2015/12/31</a></h1>
1146
1147  <ul>
1148    <li>add resource <code>keepClipboard</code>, escape sequence
1149    and action <code>keep-clipboard</code>.</li>
1150
1151    <li>add optional feature to capture text copied to clipboard at
1152    the time of copying rather than at the time the clipboard
1153    contents are requested for pasting (patch by Milan
1154    Mehner).</li>
1155
1156    <li>improve a special case where the <code>-e</code> option was
1157    used to pass a single-quoted command via <code>luit</code>, by
1158    wrapping it in a &ldquo;sh -c&rdquo; (report by Keith
1159    Hedger).</li>
1160
1161    <li>minor fix for type-cleanliness when allocating storage for
1162    <code>/etc/shells</code> (Tobias Stoeckmann).</li>
1163
1164    <li>fix a typo in manual page (Dan Church).</li>
1165
1166    <li>fix minor file-descriptor leak; after calling
1167    <code>openpty</code>, the slave's file descriptor is not needed
1168    (report by Juha Nurmela).</li>
1169
1170    <li>editorial change to ctlseqs.ms (report by David
1171    Gomboc).</li>
1172
1173    <li>minor updates for autoconf macros.</li>
1174
1175    <li>update config.guess, config.sub</li>
1176  </ul>
1177
1178  <h1><a name="xterm_320" id="xterm_320">Patch #320 -
1179  2015/08/28</a></h1>
1180
1181  <ul>
1182    <li>correct documentation for <code>%t</code> format (report by
1183    Martin Tournoij).</li>
1184
1185    <li>add <code>%R</code> for consistency to
1186    <code>exec-formatted()</code> and
1187    <code>insert-formatted()</code> actions.</li>
1188
1189    <li>add <code>%r</code> format to <code>exec-formatted()</code>
1190    and <code>insert-formatted()</code> actions (patch by Martin
1191    Tournoij).</li>
1192
1193    <li>Amend fix for Debian #794201 (report forwarded from
1194    Christian Jachmann by Emanuel Haupt, Debian #797008).</li>
1195  </ul>
1196
1197  <h1><a name="xterm_319" id="xterm_319">Patch #319 -
1198  2015/08/19</a></h1>
1199
1200  <ul>
1201    <li>add a section to <code>ctlseqs.ms</code> discussing control
1202    sequences and ECMA-48, to explain why C1 controls do not occur
1203    in the decoded characters from UTF-8 byte streams (prompted by
1204    discussion with Poul-Henning Kamp).</li>
1205
1206    <li>modify check for cursor-theme from <a href=
1207    "#xterm_301">patch #301</a> to also check if the resource
1208    <code>Xcursor.theme</code> is set to a nonempty value before
1209    fallback to xterm's own dummy theme (request by Robert
1210    Kloefkorn).</li>
1211
1212    <li>explain in <code>ctlseqs.ms</code> that some keys which
1213    normally send SS3-prefixes are changed to CSI-prefixes if
1214    key-modifiers are passed as parameters (report by George
1215    Nachman).</li>
1216
1217    <li>correct double-free of font information when multiple
1218    problems are found, particularly for the wide fonts loaded via
1219    the <code>-wc</code> option (report/testcase by Nelson
1220    Beebe).</li>
1221
1222    <li>make configure option <code>--enable-builtin-xpms</code>
1223    actually work (report by William Bulley).</li>
1224
1225    <li>correct combination of <code>-ls</code> and <code>-e</code>
1226    options for utempter configuration (Debian #794201).</li>
1227
1228    <li>NetBSD build-fix for OPT_RENDERFONT versus OPT_SHIFT_FONTS
1229    (patch by Matthew Green, forwarded by Thomas Klausner).</li>
1230
1231    <li>fix a few minor bugs found with Coverity.</li>
1232
1233    <li>update pixelvector handling (Ross Combs):
1234
1235      <ul>
1236        <li>split pixel-based and coord-based functions with common
1237        parts factored out to a "raw" function</li>
1238
1239        <li>add a "step" variant which loads a single PV digit</li>
1240      </ul>
1241    </li>
1242
1243    <li>make the graphic dirty upon resize or clear, fixing some
1244    missing refreshes (patch by Ross Combs)</li>
1245
1246    <li>fixes scrolling to use user coordinates and move in the
1247    correct direction (patch by Ross Combs)</li>
1248
1249    <li>several fixes/improvements for ReGIS whitespace and
1250    page-handling (patch by Ross Combs).</li>
1251  </ul>
1252
1253  <h1><a name="xterm_318" id="xterm_318">Patch #318 -
1254  2015/04/12</a></h1>
1255
1256  <ul>
1257    <li>rename new(er) configure option
1258    <code>--enable-initial-erase</code> to
1259    <code>--enable-pty-erase</code>, since that conflicted with an
1260    existing option (report by Jens Schweikhardt).</li>
1261
1262    <li>fix cut/paste error in <code>--with-builtin-xpms</code>
1263    configure option (reports by Jens Schweikhardt, Ross
1264    Combs).</li>
1265
1266    <li>fix minor formatting issue in xterm manual (report by Jens
1267    Schweikhardt).</li>
1268
1269    <li>eliminate unnecessary "#(vi" markers in autoconf macros by
1270    using "(" to begin case-statement cases (suggested by Jens
1271    Schweikhardt).</li>
1272
1273    <li>minor fixes to improve <code>const</code> usage (Ross
1274    Combs).</li>
1275  </ul>
1276
1277  <h1><a name="xterm_317" id="xterm_317">Patch #317 -
1278  2015/03/27</a></h1>
1279
1280  <ul>
1281    <li>adapt example for <code>exec-formatted</code> from <a href=
1282    "http://lukas.zapletalovi.com/2013/07/hidden-gems-of-xterm.html">
1283    Luk&aacute;&scaron; Zapletal's</a> webpage to manual (Debian
1284    #780008).</li>
1285
1286    <li>add a short usage section to the xterm manual, including
1287    notes on setting the window title (Debian #742477).</li>
1288
1289    <li>revise a change made to <code>ICH</code> in <a href=
1290    "#xterm_314">patch #314</a> to address limit-checks
1291    (reports/testcases by Zolt&aacute;n K&eacute;ri and Joe
1292    Peterson, also reported by Christian Weisgerber).</li>
1293  </ul>
1294
1295  <h1><a name="xterm_316" id="xterm_316">Patch #316 -
1296  2015/03/07</a></h1>
1297
1298  <ul>
1299    <li>revert change to make <code>DCH</code> honor top/bottom
1300    scrolling margins. For the record, both the VT420 and VT520
1301    reference manuals incorrectly state that <em>"DCH has no effect
1302    outside the scrolling margins."</em></li>
1303
1304    <li>fix regression in <code>DCH</code> introduced in adjustment
1305    for limit-check in <a href="#xterm_314">patch #315</a>
1306    (report/testcase by Zolt&aacute;n K&eacute;ri, also reported by
1307    Christian Weisgerber).</li>
1308
1309    <li>correct default value for configure option
1310    <code>--enable-initial-erase</code>; it should be "False", but
1311    in <a href="#xterm_315">patch #315</a> it was "Maybe", which
1312    differed from default set in <a href="#xterm_192">patch
1313    #192</a>.</li>
1314  </ul>
1315
1316  <h1><a name="xterm_315" id="xterm_315">Patch #315 -
1317  2015/03/02</a></h1>
1318
1319  <ul>
1320    <li>change default for <code>--enable-narrowproto</code> for
1321    Cygwin to "no" to better match contemporary configurations
1322    (report by Jens Schweikhardt, prompted by <a href=
1323    "http://stackoverflow.com/questions/28137618/what-is-a-narrow-prototype-and-why-would-i-need-one/28334574?noredirect=1#comment45022128_28334574">
1324    discussion</a>).</li>
1325
1326    <li>provide <code>OSC&nbsp;106</code> as an alternative to
1327    <code>OSC&nbsp;6</code>, avoiding conflict with one of
1328    Terminal.app's undocumented escape sequences (report by Egmont
1329    Koblinger).</li>
1330
1331    <li>fix an off-by-one in comparison when autowrap and
1332    left/right margins are combined (report by George
1333    Nachman).</li>
1334
1335    <li>modify <code>DECBI</code> and <code>DECFI</code> to work
1336    outside the left/right margins, since the vague VT520 reference
1337    manual could support that interpretation (suggested by George
1338    Nachman).</li>
1339
1340    <li>correct response for <code>DECSCUSR</code> in
1341    <code>DECRQSS</code> (report/analysis by George Nachman).</li>
1342
1343    <li>add <code>DECSLRM</code> to list for <code>DECRQSS</code>
1344    in ctlseqs.ms (report by George Nachman).</li>
1345
1346    <li>improve limit-checks versus assert's in the debugging
1347    version (reports by George Nachman).</li>
1348
1349    <li>correct a problem with multiple writes to the right-margin
1350    when autowrap is turned off (report by George Nachman, also
1351    reported in Gnome #744819 by Ulf Magnusson).</li>
1352
1353    <li>modify <code>DCH</code> to honor top/bottom and left/right
1354    margins (report by George Nachman).</li>
1355
1356    <li>correct off-by-one in comparison so that <code>DL</code>
1357    honors left/right margins (report by George Nachman).</li>
1358
1359    <li>correct logic of <code>DECSCL</code>, which always set
1360    8-bit controls as a side-effect (report by George
1361    Nachman).</li>
1362
1363    <li>correct loop limit for <code>DECSED&nbsp;1</code>, when
1364    <code>DECSCA</code> is enabled (report by George Nachman).</li>
1365
1366    <li>fix a entry in csi_table for &ldquo;<code>$</code>&rdquo;,
1367    needed for <code><em>CSI</em>&nbsp;[&nbsp;$&nbsp;z</code>
1368    (report by George Nachman).</li>
1369
1370    <li>remove restriction from <a href="#xterm_279">patch #279</a>
1371    changes on <code>DECIC</code> and <code>DECDC</code> to
1372    left-right mode (report by George Nachman).</li>
1373
1374    <li>correct PID value returned in response to DECRQCRA
1375    (report/analysis by George Nachman).</li>
1376
1377    <li>fix an ifdef'ing problem, where
1378    <code>--disable-dec-locator</code> would turn off logic needed
1379    for <code>DECIC</code> and <code>DECDC</code> (report by George
1380    Nachman).</li>
1381
1382    <li>correct order of parameters in report for
1383    <code><em>CSI</em>&nbsp;1&nbsp;9&nbsp;t</code>, which gives the
1384    screensize in characters (report by George Nachman).</li>
1385
1386    <li>add null pointer checks for a case in DECCRA where part of
1387    the target rectangle lies outside the screen limits (report by
1388    George Nachman).</li>
1389
1390    <li>remove extra "6" for selective erase from DA1 response
1391    (report by George Nachman).</li>
1392
1393    <li>support Xinerama screen specification in geometry parsing
1394    (patch by Nicolas George).</li>
1395
1396    <li>add configure option <code>--enable-initial-erase</code> to
1397    set <code>ptyInitialErase</code> consistently with manpage, as
1398    well as adding a table in manpage to clarify the relationship
1399    between the resources related to the backarrow key (Debian
1400    #775952).</li>
1401
1402    <li>add configure <code>--enable-builtin-xpms</code> to
1403    simplify compiling-in the icons introduced in <a href=
1404    "#xterm_284">patch #284</a> (prompted by discussion with
1405    William Bulley).</li>
1406
1407    <li>fix/improve autoconf macros:
1408
1409      <ul>
1410        <li>CF_WITH_APP_DEFAULTS, add paths for OSX</li>
1411
1412        <li>CF_WITH_MAN2HTML, configure option "--with-man2html"
1413        provides "man2html" as alternative to groff's man/html
1414        conversion</li>
1415      </ul>
1416    </li>
1417
1418    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
1419  </ul>
1420
1421  <h1><a name="xterm_314" id="xterm_314">Patch #314 -
1422  2014/12/28</a></h1>
1423
1424  <ul>
1425    <li>fix a minor bug in the termcap-specific version of
1426    <code>resize</code> when the lines or columns values are at the
1427    very end of an incomplete termcap string (prompted by coverity
1428    report).</li>
1429
1430    <li>improve paste64 feature (report by Olaf Rogalsky)
1431
1432      <ul>
1433        <li>fix &ldquo;<code>p</code>;&rdquo; command in
1434        <code>paste64.pl</code> example.</li>
1435
1436        <li>modify <code>_OwnSelection</code> to allow the paste64
1437        control to cause primary/clipboard selections to be
1438        disowned and cleared.</li>
1439
1440        <li>omit an extra "=" used in padding, to make the base64
1441        response a multiple of four characters.</li>
1442
1443        <li>modify <code>_ConvertSelectionHelper</code> to not stop
1444        converting on embedded nulls in the primary or clipboard
1445        selection. That makes the behavior consistent with
1446        cut-buffers. Nulls are not passed on to the application
1447        because they are used for separators in the X library calls
1448        that convert <code>XTextProperty</code> values.</li>
1449      </ul>
1450    </li>
1451
1452    <li>add configure option <code>--with-man2html</code> to allow
1453    an alternative to groff's man/html conversion.</li>
1454
1455    <li>review and modify resource-settings which can be set via
1456    control sequences, etc:
1457
1458      <ul>
1459        <li>add <code>OSC&nbsp;6</code>, to enable/disable colors
1460        set via <code>OSC&nbsp;5</code>, without changing the color
1461        assignments (prompted by patch by Ingo Br&uuml;ckl).</li>
1462
1463        <li>add command-line option <code>-itc</code> for
1464        italics.</li>
1465
1466        <li>add <code>colorIT</code> and <code>colorITMode</code>
1467        for italics, like <code>colorBD</code>, etc.</li>
1468
1469        <li>guard <code>allowPasteControls</code> against
1470        modification by <code>editres</code>.</li>
1471      </ul>
1472    </li>
1473
1474    <li>change <code>passedPty</code> from fixed-length to
1475    allocated to ensure that it is long enough to hold the
1476    <code>-S</code> option value (report by Ben Longbons).</li>
1477
1478    <li>improve ReGIS graphics initialization (Ross Combs):
1479
1480      <ul>
1481        <li>add a new string resource to set the default ReGIS
1482        font.</li>
1483
1484        <li>fix a caching problem where the font name wasn't taken
1485        into consideration when looking up cached metrics.</li>
1486
1487        <li>enables use of fractional values in coordinates (which
1488        in turn allows setting the coordinates to something like
1489        [0,1][1,0])</li>
1490
1491        <li>doubles the minimum ReGIS graphic to 200x200</li>
1492
1493        <li>set the default ReGIS image size to "auto"</li>
1494
1495        <li>fix some swapped width/height parameters in TRACE
1496        messages</li>
1497
1498        <li>add support for scaling and mirrored coordinate systems
1499        to the screen address command</li>
1500
1501        <li>sets a minimum ReGIS graphics size of 100x100 --
1502        smaller address ranges will be scaled up</li>
1503
1504        <li>reset the image if either the width or height is zero
1505        (which should happen together or not at all, but switching
1506        the logic gets rid of some parentheses)</li>
1507
1508        <li>adds support for alternate screen coordinates (just
1509        offsets, not inverted coordinates or scaling)</li>
1510
1511        <li>keeps the graphics state across ReGIS calls unless P1
1512        or P3 entry codes are used</li>
1513
1514        <li>changes loops to continue after parsing whitespace to
1515        allow trailing whitespace</li>
1516
1517        <li>fixes some incorrect character casts</li>
1518      </ul>
1519    </li>
1520  </ul>
1521
1522  <h1><a name="xterm_313" id="xterm_313">Patch #313 -
1523  2014/11/28</a></h1>
1524
1525  <ul>
1526    <li>add <code>regisScreenSize</code> resource setting to allow
1527    custom screensizes for ReGIS graphics (prompted by discussion
1528    with Scott Froebe).</li>
1529
1530    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
1531
1532    <li>improve ReGIS font-handling (Ross Combs):
1533
1534      <ul>
1535        <li>remove "random junk" generation for unknown
1536        characters</li>
1537
1538        <li>add xterm extension to load user glyphs for alphabet
1539        0</li>
1540
1541        <li>add xterm extension to specify loading an alphabet from
1542        a font by name</li>
1543
1544        <li>fix bug with use of empty alphabet slots which caused
1545        slot 0 to be clobbered</li>
1546
1547        <li>update/clarify ReGIS-related comments</li>
1548
1549        <li>add DECprint extension for printing/clearing the screen
1550        (only clearing is performed)</li>
1551      </ul>
1552    </li>
1553
1554    <li>improve ReGIS colorspec conversion (Ross Combs):
1555
1556      <ul>
1557        <li>avoid some floating point math for colorspace
1558        conversion</li>
1559
1560        <li>move two copies of colorspec parsing to a single
1561        function</li>
1562
1563        <li>change colorspec parsing to handle components being out
1564        of order or with spaces and commas between them</li>
1565
1566        <li>add support for an extension where RGB components can
1567        be given instead of HLS</li>
1568      </ul>
1569    </li>
1570
1571    <li>improve use of const, e.g., for the <code>LineData</code>
1572    pointers (patch by Ross Combs).</li>
1573
1574    <li>clip of graphics that overlap the scrollback buffer and alt
1575    screen (patch by Ross Combs).</li>
1576
1577    <li>amend change to focus-change events in <a href=
1578    "#xterm_287">patch #287</a> to limit it to suppressing the
1579    reset of the urgency-hint, because some useful
1580    <code>FocusOut</code> events were lost (report by Joe
1581    Peterson).</li>
1582
1583    <li>modify dpkg build-script to configure xterm-dev as an
1584    <code>x-terminal-emulator</code> alternative.</li>
1585
1586    <li>extend the <code>--with-xterm-symlink</code> feature to
1587    make symbolic links for the other programs and scripts.</li>
1588
1589    <li>minor fix to <code>vttests/resize.pl</code> to avoid
1590    undefined variable when receiving broken/missing response,
1591    e.g., from mrxvt.</li>
1592
1593    <li>change the way that ReGIS graphics are refreshed (patch by
1594    Ross Combs):
1595
1596      <ul>
1597        <li>it pre-composes any overlapping graphics to avoid
1598        unnecessary and flickering draws</li>
1599
1600        <li>it adds a three-dimensional lookup table for RGB -&gt;
1601        pixel values and uses this across all graphics</li>
1602
1603        <li>it draws in line segments when there is a run of the
1604        same color</li>
1605
1606        <li>in cases where there are no transparent parts, it uses
1607        an XImage to draw</li>
1608
1609        <li>it hooks into the double-buffering support if it is
1610        enabled (though this doesn't seem to get rid of all
1611        flicker).</li>
1612      </ul>This has the effect of reducing flicker and speeding up
1613      redraws.
1614    </li>
1615  </ul>
1616
1617  <h1><a name="xterm_312" id="xterm_312">Patch #312 -
1618  2014/09/28</a></h1>
1619
1620  <ul>
1621    <li>undo change to <code>do_select_regex()</code> in <a href=
1622    "#xterm_311">patch #311</a> (reports by H Merijn Brand,
1623    Sven-Haegar Koch, Debian #762978).</li>
1624  </ul>
1625
1626  <h1><a name="xterm_311" id="xterm_311">Patch #311 -
1627  2014/09/18</a></h1>
1628
1629  <ul>
1630    <li>mention <code>xclip</code> in manpage as an alternative
1631    workaround for copying clipboard data, noting that
1632    <code>selectToClipboard</code> (see <a href="#xterm_209">patch
1633    #209</a>) is the recommended approach (Debian #639094).</li>
1634
1635    <li>correct comparison in do_select_regex() of working position
1636    against starting column.</li>
1637
1638    <li>correct initialization for regular-expression feature of
1639    <code>exec-selectable</code> and <code>insert-selectable</code>
1640    actions (Debian #758633).</li>
1641
1642    <li>modify logic for <code>exec-formatted</code> and
1643    <code>insert-formatted</code> actions to ensure that the
1644    formatting occurs just after the selection is received (Debian
1645    #758633).</li>
1646
1647    <li>account for state of reverse-video in special case of
1648    cursor coloring (Debian #759734).</li>
1649
1650    <li>fix a sign-extension problem in ReGIS support, as well as
1651    correcting a case where ignored-characters were not really
1652    ignored (patch by Ross Combs).</li>
1653
1654    <li>Enable the "Escape Sequence" menu entry when an OSC&nbsp;50
1655    is received. Also disable it if the escape sequence specifies
1656    no font (Debian #760208).</li>
1657
1658    <li>improve fix for the <code>fontsel</code> menu entry from
1659    <a href="#xterm_304">patch #304</a>: because the recovery used
1660    the "current font", it would fail if one first selected a valid
1661    font, then an invalid font (Debian #760207).</li>
1662
1663    <li>correct an off-by-one in limit-check for
1664    <code>ScrnLimitChar</code> function (report by Egmont
1665    Koblinger).</li>
1666  </ul>
1667
1668  <h1><a name="xterm_310" id="xterm_310">Patch #310 -
1669  2014/07/25</a></h1>
1670
1671  <ul>
1672    <li>update package/freebsd files based on xterm #309 port.</li>
1673
1674    <li>adapt changes from Minux3.2 which ported <a href=
1675    "#xterm_197">xterm #197</a>, to allow building on that platform
1676    both using <code>imake</code> as well as using the configure
1677    script.</li>
1678
1679    <li>update precompose.c based on Unicode 7.0</li>
1680
1681    <li>build-fix for <code>--with-Xaw3dxft</code> option (report
1682    by Emanuel Haupt).</li>
1683  </ul>
1684
1685  <h1><a name="xterm_309" id="xterm_309">Patch #309 -
1686  2014/07/13</a></h1>
1687
1688  <ul>
1689    <li>modify configure script to work around debris left by
1690    XQuartz upgrades.</li>
1691
1692    <li>modify test-package scripts to enable ReGIS graphics.</li>
1693
1694    <li>improvements/additions to ReGIS graphics, e.g., drawing
1695    text (Ross Combs).</li>
1696
1697    <li>add <code>--with-Xaw3dxft</code>, to link with Xaw 3d xft
1698    library (Stephen P Wall).</li>
1699
1700    <li>amend reset for cursor-shape to take into account
1701    <code>cursorUnderline</code> resource (report by Christian
1702    Weisgerber).</li>
1703
1704    <li>update config.guess, config.sub</li>
1705  </ul>
1706
1707  <h1><a name="xterm_308" id="xterm_308">Patch #308 -
1708  2014/06/19</a></h1>
1709
1710  <ul>
1711    <li>corrected font used for clipping double-width bitmap fonts
1712    from <a href="#xterm_307">patch #307</a> changes to work around
1713    mis-scaled fonts (Debian #752947).</li>
1714
1715    <li>improve wording of a warning message.</li>
1716  </ul>
1717
1718  <h1><a name="xterm_307" id="xterm_307">Patch #307 -
1719  2014/06/17</a></h1>
1720
1721  <ul>
1722    <li>fill background for top/bottom parts of
1723    double-width/double-height characters, to cover occasional gaps
1724    due to bitmap font-scaling (report by Egmont Koblinger).</li>
1725
1726    <li>amend resets for keyboard-type, pointer-mode and
1727    title-modes from <a href="#xterm_305">xterm #305</a> changes to
1728    account for resource settings (Debian #751351).</li>
1729
1730    <li>modify <em>printAttributes</em> feature to include new SGR
1731    codes.</li>
1732
1733    <li>modify cursor show/hide logic to work with italic
1734    fonts.</li>
1735
1736    <li>do clipping and filling for a case with bitmap-fonts and
1737    italics when the font server returns only a "close" match
1738    (report/testcase by Egmont Koblinger).</li>
1739
1740    <li>adjust loop comparison for underlining to display
1741    underlines on 5x8 font as in <a href="#xterm_304">patch
1742    #304</a> (Debian #750733).</li>
1743
1744    <li>amend fix for Freedesktop #15979 (Debian #750733).</li>
1745
1746    <li>amend xterm.appdata.xml, making it validate with current
1747    schema.</li>
1748  </ul>
1749
1750  <h1><a name="xterm_306" id="xterm_306">Patch #306 -
1751  2014/06/03</a></h1>
1752
1753  <ul>
1754    <li>fixes for display-errors in new SGR codes (report by Egmont
1755    Koblinger).</li>
1756  </ul>
1757
1758  <h1><a name="xterm_305" id="xterm_305">Patch #305 -
1759  2014/06/02</a></h1>
1760
1761  <ul>
1762    <li>add <code>xterm.appdata.xml</code> (request by Richard
1763    Hughes). By the way, none of the <em>released</em> validators
1764    yet handle <code>&lt;licence&gt;</code> tags (or
1765    <code>&lt;metadata_license&gt;</code>, etc).</li>
1766
1767    <li>fix memory leaks in bitmap font-name caching.</li>
1768
1769    <li>other changes to hard-reset behavior:
1770
1771      <ul>
1772        <li>reset keyboard-type on hard-reset.</li>
1773
1774        <li>reset pointer-mode (<code>pointerMode</code>) on
1775        hard-reset</li>
1776
1777        <li>reset title-modes (<code>titleModes</code>) on
1778        hard-reset</li>
1779
1780        <li>reset cursor-shape on hard or soft-reset</li>
1781
1782        <li>reset LEDs on hard-reset.</li>
1783
1784        <li>reset DECSACE on hard-reset.</li>
1785      </ul>
1786    </li>
1787
1788    <li>reset bracketed-paste mode on hard-reset (suggested by
1789    Egmont Koblinger).</li>
1790
1791    <li>modify UTF-8 decoder to account for
1792    <code>allowC1Printable</code> resource.</li>
1793
1794    <li>revise <code>getXftColor</code> to ensure that its sequence
1795    number will not overflow in long-running sessions.</li>
1796
1797    <li>minor fix to selection to prevent hidden character from
1798    being returned in selection data (report by Egmont
1799    Koblinger).</li>
1800
1801    <li>add <code>-sh</code> to help-message.</li>
1802
1803    <li>amend check for incomplete fonts to always decide that a
1804    character is missing if the font lacks per-character metrics
1805    (prompted by Freedesktop #15979).</li>
1806
1807    <li>minor reorganization to implement &ldquo;filler&rdquo; SGR
1808    features. There are no established applications which rely upon
1809    these; some people find them amusing.
1810
1811      <ul>
1812        <li>separate bits used to manage drawing state from
1813        attribute-bits.</li>
1814
1815        <li>implement SGR codes 2, 3, 9, 21 and their corresponding
1816        resets.</li>
1817
1818        <li>add configure option <code>--disable-wide-attrs</code>
1819        to disable the feature.</li>
1820      </ul>
1821    </li>
1822
1823    <li>additional changes for ReGIS support (Ross Combs):
1824
1825      <ul>
1826        <li>fix some arc drawing bugs and add support for pattern
1827        shading.</li>
1828      </ul>
1829    </li>
1830  </ul>
1831
1832  <h1><a name="xterm_304" id="xterm_304">Patch #304 -
1833  2014/05/03</a></h1>
1834
1835  <ul>
1836    <li>add debugging check for parsing table entries, fixed a few
1837    inconsistencies.</li>
1838
1839    <li>handle utmp/utmpx strings consistently with new function
1840    that null-pads unused locations.</li>
1841
1842    <li>build-fix for imake configuration with FreeBSD 9 and later,
1843    to account for replacing <code>utmp</code> with
1844    <code>utmpx</code>.</li>
1845
1846    <li>improve handling of the <code>fontsel</code>
1847    (font-selection) menu item:
1848
1849      <ul>
1850        <li>initialize the menu entry differently if the toolbar
1851        configuration is used, i.e., enabling it without attempting
1852        to use the current selection as a font name. Because of the
1853        way in which the toolbar is setup, this attempt usually
1854        failed, and would result in a warning.</li>
1855
1856        <li>if the menu action fails, e.g., no font can be loaded
1857        for the given selected name, then recover by resuming with
1858        the current font. Before, the recovery went to the default
1859        font. That was done to work around missing bitmap font in
1860        <a href="#xterm_276">patch #276</a>.</li>
1861      </ul>
1862    </li>
1863
1864    <li>document OSC&nbsp;119 in the control sequences listing
1865    (report by Egmont Koblinger).</li>
1866
1867    <li>modify special handling of <code>XF86Paste</code> or
1868    <code>SunPaste</code> keysyms (see <a href="#xterm_227">patch
1869    #227</a>) to use the standard shift/lock modifiers in case
1870    those are, for example, used in level 3 in an XKB file (patch
1871    by Matthieu Herrb).</li>
1872
1873    <li>configure macro updates:
1874
1875      <ul>
1876        <li>drop the <code>-no-gcc</code> option from
1877        CF_INTEL_COMPILER</li>
1878
1879        <li>modify CF_XOPEN_SOURCE to suppress the check for
1880        defining _XOPEN_SOURCE on Solaris</li>
1881      </ul>
1882    </li>
1883
1884    <li>reduce bss storage used for ReGIS/Sixel modules, as well as
1885    cleanup storage usage in other modules.</li>
1886
1887    <li>initial changes for ReGIS support (Ross Combs):
1888
1889      <ul>
1890        <li>document control-sequences</li>
1891
1892        <li>separate ifdef's for sixel and color-register
1893        features</li>
1894
1895        <li>add configuration for VT382</li>
1896      </ul>
1897    </li>
1898  </ul>
1899
1900  <h1><a name="xterm_303" id="xterm_303">Patch #303 -
1901  2014/03/06</a></h1>
1902
1903  <ul>
1904    <li>improve check for <code>/etc/shells</code> to allow its
1905    entries to be symbolic links.</li>
1906
1907    <li>fix a regression in <a href="#xterm_302">patch #302</a>
1908    fixes relating to interaction of <code>SHELL</code> and
1909    <code>XTERM_SHELL</code> variables (Debian #740919).</li>
1910
1911    <li>improve manpage discussion of use of
1912    <code>/etc/shells</code> for validating the <code>SHELL</code>
1913    environment variable.</li>
1914
1915    <li>further improve the approximation for color map by ignoring
1916    bits which would not be applied by the rgb masks for the
1917    current visual (report by Joe Peterson).</li>
1918
1919    <li>add <code>-report-colors</code> to usage-message (report by
1920    Joe Peterson).</li>
1921  </ul>
1922
1923  <h1><a name="xterm_302" id="xterm_302">Patch #302 -
1924  2014/03/02</a></h1>
1925
1926  <ul>
1927    <li>amend approximation for color map introduced in <a href=
1928    "#xterm_277">patch #277</a> to make that apply only to
1929    <code>TrueColor</code> (adapted from patch by Joe
1930    Peterson).</li>
1931
1932    <li>add <code>-report-colors</code> option, to show colors as
1933    they are allocated.</li>
1934
1935    <li>fix some gcc <code>-Wcast-qual</code> warnings.</li>
1936
1937    <li>correct app-defaults location for CentOS-4 in
1938    xterm.spec</li>
1939
1940    <li>improve check in <code>minstall.sh</code> for X manpage's
1941    section number; add sample dependencies for the relevant
1942    documentation package to packaging test-scripts (prompted by
1943    Novell #779474).</li>
1944
1945    <li>modify sample build-scripts for dpkg and rpm to ensure that
1946    <code>vttests</code> scripts are uncompressed and
1947    executable.</li>
1948
1949    <li>modify Perl scripts in <code>vttests</code> to use
1950    <code>env</code> to find Perl rather than relying on
1951    <code>/usr/bin/perl</code> This makes the sample scripts usable
1952    with NetBSD and other systems using <em>pkgsrc</em>.</li>
1953
1954    <li>amend check from <a href="#xterm_301">patch #301</a> for
1955    valid shell to permit existing <code>SHELL</code> value to
1956    specify the shell; clarify the behavior in the manpage (report
1957    by Emmanuel Thom&eacute;).</li>
1958
1959    <li>amend change to wide-character processing from <a href=
1960    "#xterm_257">patch #257</a> to allow switching to/from UTF-8
1961    encoding if the <code>utf8</code> resource was not set to
1962    &ldquo;always&rdquo; (report by Honza Maly).</li>
1963
1964    <li>fix incorrect free from <a href="#xterm_301">patch #301</a>
1965    changes, if explicit program without <code>-e</code> option is
1966    a valid shell (patch by Romain Francoise).</li>
1967  </ul>
1968
1969  <h1><a name="xterm_301" id="xterm_301">Patch #301 -
1970  2014/01/19</a></h1>
1971
1972  <ul>
1973    <li>OSC&nbsp;104 and 105 did not accept parameter to reset a
1974    specific color (patch by Egmont Koblinger).</li>
1975
1976    <li>add configure check for <code>initgroups</code>, and use
1977    that function to complement its use of <code>setgid</code>
1978    (prompted by patch by Miroslav Lichvar).</li>
1979
1980    <li>improve manpage description of scrollbar translations
1981    versus the vt100 translations (Debian #723573).</li>
1982
1983    <li>add a few paragraphs to manpage explaining the implications
1984    of xterm's reliance on X Toolkit for command-line parsing.</li>
1985
1986    <li>modify cursor-theme logic to check if the environment
1987    variable <code>XCURSOR_THEME</code> is set to a nonempty value
1988    before constructing a dummy them (prompted by similar check
1989    added in OpenBSD CVS).</li>
1990
1991    <li>add check for a case where TrueType bold font is missing a
1992    glyph where the non-bold font has it. Temporarily switch to the
1993    non-bold font to draw the glyph (report by David
1994    Demelier).</li>
1995
1996    <li>minor documentation fixes for ctlseqs.ms</li>
1997
1998    <li>only set <code>SHELL</code> environment variable to
1999    programs found in <code>/etc/shells</code> (prompted by
2000    patch/report by Al Poole).</li>
2001
2002    <li>build-fix, when <code>--disable-wide-chars</code>
2003    <code>--disable-boxchar</code> is used (prompted by patch by
2004    Andrey Panov).</li>
2005  </ul>
2006
2007  <h1><a name="xterm_300" id="xterm_300">Patch #300 -
2008  2013/12/03</a></h1>
2009
2010  <ul>
2011    <li>amend workaround for <code>Xcursor</code> library from
2012    <a href="#xterm_298">patch #298</a>; the suggested solution for
2013    Debian #466704 fell afoul of a bug in <code>Xcursor</code>
2014    which treated an empty value for <code>Inherits=</code> as a
2015    valid theme&mdash;and resulted in a stack overflow due to
2016    unbounded recursion. Certain environments such as XFCE4 exposed
2017    the bug. A related report in Debian #531679 was closed without
2018    following the recommendation to limit stack recursion in this
2019    library (reported by Sergey V Dyatko, Debian #731269).</li>
2020  </ul>
2021
2022  <h1><a name="xterm_299" id="xterm_299">Patch #299 -
2023  2013/12/01</a></h1>
2024
2025  <ul>
2026    <li>fix regression in line-drawing from <a href=
2027    "#xterm_297">patch #297</a> changes for NRCS exposed by change
2028    to <code>assumeAllChars</code> resource in <a href=
2029    "#xterm_298">patch #298</a> (report by Markus Waldeck).</li>
2030  </ul>
2031
2032  <h1><a name="xterm_298" id="xterm_298">Patch #298 -
2033  2013/11/27</a></h1>
2034
2035  <ul>
2036    <li>quiet a warning about ambiguity when <code>-h</code>
2037    command-line option is parsed, since <code>-help</code> is used
2038    rather than the options mentioned in the message. This warning
2039    was caused by fixes in <a href="#xterm_272">patch
2040    #272</a>.</li>
2041
2042    <li>remove an extra check for keypad-mode which interfered with
2043    the <a href="#xterm_280">patch #280</a>
2044    <code>modifyKeyboard</code> feature for the numeric keypad
2045    (report by David Conners).</li>
2046
2047    <li>change default for <code>assumeAllChars</code> resource
2048    (Debian #725682). There are unresolved issues with Terminus
2049    fonts, e.g., Debian #722017.</li>
2050
2051    <li>add <code>-report-fonts</code> command-line option and
2052    <code>reportFonts</code> resource to optionally report the
2053    fonts which are loaded, and their metrics such as the number of
2054    missing glyphs.</li>
2055
2056    <li>work around <code>Xcursor</code> library to make
2057    <code>pointerColor</code> resource work as documented (Debian
2058    #466704, analysis by Vincent Lef&egrave;vre).</li>
2059
2060    <li>amend change from <a href="#xterm_297">patch #297</a> for
2061    ASCII-equivalents to ensure that missing characters which
2062    happen to be double-width are padded to the expected number of
2063    columns. Also, correct the choice between normal/wide Xft fonts
2064    used when checking for missing characters (reported by WU Yue,
2065    Debian #728949, Gentoo #491334).</li>
2066
2067    <li>modify sixel-graphics drawing to account for scrollbar
2068    width (report by Mario Edelmann).</li>
2069
2070    <li>fix remaining issue with <code>DECNRCM</code>; the British
2071    character set was confused with ISO Latin-1 (report by Hayaki
2072    Saito).</li>
2073
2074    <li>build-fix for <code>--disable-boxchars</code> configure
2075    option.</li>
2076
2077    <li>updated configure macros, from ongoing work on lynx and
2078    ncurses.</li>
2079
2080    <li>update config.guess, config.sub</li>
2081  </ul>
2082
2083  <h1><a name="xterm_297" id="xterm_297">Patch #297 -
2084  2013/09/10</a></h1>
2085
2086  <ul>
2087    <li>modify check for missing cells in bitmap font to work
2088    around terminus 10646 encoding, which is mostly missing, add
2089    <code>assumeAllChars</code> resource to provide the older
2090    behavior.</li>
2091
2092    <li>modify macros used to check for missing cells in bitmap
2093    fonts to pick up a long-overlooked improvement made to xfd in
2094    XFree86.</li>
2095
2096    <li>improve workaround for groff versus ASCII-equivalents;
2097    <a href="#xterm_185">patch #185</a> had overlooked Xft
2098    configuration (reported by anonymous user on Arch Linux
2099    forum).</li>
2100
2101    <li>review/extend <code>DECNRCM</code> support (prompted by
2102    report by Hayaki Saito asking about the two "A" codes).
2103
2104      <ul>
2105        <li>make pasting of DECNRCM data work by translating the
2106        pasted data into the selected encoding.</li>
2107
2108        <li>limit mode changes to VT220 and up.</li>
2109
2110        <li>ignore SCS for National Replacement Characters if
2111        <code>DECNRCM</code> is not set.</li>
2112
2113        <li>add tables and logic to decode SCS controls ending with
2114        "%" and one additional character. This expects the parsing
2115        of SCS to VT320.</li>
2116
2117        <li>also added parsing for SCS of DEC Supplemental and DEC
2118        Technical, which are for VT2xx and VT3xx respectively.</li>
2119
2120        <li>implement VT220 Multinational character set "GR" aka
2121        "DEC Supplemental Graphic".</li>
2122
2123        <li>DEC Technical character set based on <a href=
2124        "http://www.vt100.net/charsets/technical.html">vt100.net
2125        description</a>.</li>
2126
2127        <li>implement Portuguese NRC.</li>
2128
2129        <li>provide for temporarily switching to/from NRC mode from
2130        UTF-8 mode when <code>DECNRCM</code> is set or reset.</li>
2131      </ul>
2132    </li>
2133
2134    <li>minor fix to assert's found while testing examples from
2135    <a href="https://gist.github.com/ttdoda">ttdoda's
2136    slrm-test1.txt</a>.</li>
2137
2138    <li>modify <code>DECLRMM</code> to not update the cursor
2139    position (report by Iwamoto Kouichi forwarded by Hayaki
2140    Saito).</li>
2141
2142    <li>modify cursor-position report to take origin-mode into
2143    account (report by Hayaki Saito, see also <a href=
2144    "https://github.com/gnachman/iTerm2/pull/129">iTerm2 pull
2145    request 129</a>).</li>
2146
2147    <li>correct off-by-one comparison in when handling
2148    carriage-return at left margin (patch by Iwamoto Kouichi,
2149    forwarded by Hayaki Saito).</li>
2150
2151    <li>improve handling of <code>faceName</code> resource when a
2152    "size=" property is embedded in it, by using that size to
2153    replace the default <code>faceSize</code> resource. This lets
2154    xterm honor the other faceSize resources (report by Jens
2155    Schweikhardt).</li>
2156
2157    <li>improve OSC&nbsp;52 selection-data by setting its timestamp
2158    to correspond to the most-recent event received by xterm, to
2159    ensure that calls to <code>XtOwnSelect</code> succeed even if
2160    the selection is manipulated solely through the keyboard
2161    (prompted by patch by Richard Tollerton).</li>
2162
2163    <li>change configure-script defaults for "luit" and
2164    "wide-chars" options to match the values used in the imake
2165    configuration, to lessen user surprise if they are accustomed
2166    to building xterm using imake(report by Andries E
2167    Brouwer).</li>
2168
2169    <li>improve the imake-related configuration's check if xterm is
2170    started in a locale that uses UTF-8 encoding. Before, this
2171    checked the locale settings only for "UTF-8", now it checks
2172    ignoring case for "UTF-8" and "UTF-8" (report by Andries E
2173    Brouwer).</li>
2174  </ul>
2175
2176  <h1><a name="xterm_296" id="xterm_296">Patch #296 -
2177  2013/07/10</a></h1>
2178
2179  <ul>
2180    <li>improve experimental sixel feature (Ross Combs).</li>
2181
2182    <li>modify delimiter in configure macro used to add a library
2183    after a given library to avoid confusion with <code>-Wl</code>
2184    pass-through options to linker (NetBSD #48031).</li>
2185
2186    <li>fix quoting in expression used to trim extra libraries from
2187    <a href="#xterm_295">patch #295</a> changes (report by Thomas
2188    Klausner).</li>
2189  </ul>
2190
2191  <h1><a name="xterm_295" id="xterm_295">Patch #295 -
2192  2013/07/06</a></h1>
2193
2194  <ul>
2195    <li>adjust order of libraries to work around incomplete symbol
2196    resolution when using <code>--as-needed</code> option
2197    (ArchLinux #36047).</li>
2198
2199    <li>minor fix for <code>plink.sh</code>, for IRIX64.</li>
2200  </ul>
2201
2202  <h1><a name="xterm_294" id="xterm_294">Patch #294 -
2203  2013/07/05</a></h1>
2204
2205  <ul>
2206    <li>add note in ctlseqs.ms for CPR response pointing out a
2207    potential point of confusion with the string sent by a modified
2208    F1 key (suggested by Bram Moolenaar).</li>
2209
2210    <li>improve <code>plink.sh</code> by checking if the linker
2211    supports the <code>--as-needed</code> option (suggested by
2212    David Philippi).</li>
2213
2214    <li>improve clearing for private mode 1049 when switching to
2215    the alternate screen (Debian #711758).</li>
2216
2217    <li>amend fix from <a href="#xterm_292">patch #292</a> by
2218    removing now-unneeded chunk which introduced problem in
2219    selection (Debian #714527).</li>
2220
2221    <li>add definition to optionally override compiled-in class for
2222    xterm from makefile, needed for test-packages.</li>
2223
2224    <li>add configure option
2225    <code>--enable-sixel-graphics</code></li>
2226
2227    <li>add experimental support for sixel graphics (Ross
2228    Combs).</li>
2229  </ul>
2230
2231  <h1><a name="xterm_293" id="xterm_293">Patch #293 -
2232  2013/05/27</a></h1>
2233
2234  <ul>
2235    <li>modify sample xterm.spec to use newer icon</li>
2236
2237    <li>add configure option <code>--with-icon-symlink</code> to
2238    work around systems which map icon requests for to a single
2239    "xterm" icon, but neglect to install the icon needed for window
2240    decorations (report by H Merijn Brand).</li>
2241
2242    <li>improve parameterizing of sample xterm.spec</li>
2243
2244    <li>amend fix for printer from <a href="#xterm_280">patch
2245    #280</a>, removing a reset of the signal handler for
2246    <code>SIGCHLD</code> (report by Joe Julian).</li>
2247
2248    <li>set environment variable <code>XTERM_FILTER</code> if a
2249    locale-filter is used.</li>
2250
2251    <li>enable <code>DEBUG</code> logic when
2252    <code>--enable-trace</code> configure option is given.</li>
2253
2254    <li>improve description of <code>initialFont</code>,
2255    <code>set-vt-font</code> and <code>set-tex-text</code> in
2256    manpage (Debian #707899).</li>
2257
2258    <li>fix regression from <a href="#xterm_292">patch #292</a>;
2259    selecting a word that ended at the right margin without
2260    wrapping would not select the last cell (report by Christian
2261    Weisgerber).</li>
2262  </ul>
2263
2264  <h1><a name="xterm_292" id="xterm_292">Patch #292 -
2265  2013/04/25</a></h1>
2266
2267  <ul>
2268    <li>add limit-check when double-click selects a word; if the
2269    saved-lines were scrolled back and the word selected wrapped at
2270    the screen's lower right corner, an assertion was triggered
2271    (patch by Taketo Kabe).</li>
2272
2273    <li>correct limit-check in <code>unsaveEditBufLines</code>,
2274    fixing a case where enlarging the terminal size could show a
2275    blank line where there actually is available text (patch by
2276    Bertram Felgenhauer).</li>
2277
2278    <li>add <code>PasteControls</code> feature to
2279    <code>allowWindowOps</code> which by default disallows pasting
2280    control characters other than formatting such as carriage
2281    return (discussion with Hayaki Saito).</li>
2282
2283    <li>fix typo in ctlseqs.ms for DECRQM response (patch by
2284    Emanuele Giaquinta).</li>
2285
2286    <li>update default shown in configure <code>--help</code>
2287    message for <code>--with-terminal-id</code> option (patch by
2288    Andres Perera).</li>
2289
2290    <li>rename script/preprocessor variables used for substituting
2291    the <code>backarrowKey</code> default value for consistency
2292    (patch by Andres Perera).</li>
2293
2294    <li>set umask to 077 before creating debugging-trace
2295    files.</li>
2296
2297    <li>add configure option <code>--disable-openpty</code> to
2298    control whether openpty() may be used in preference to
2299    posix_openpt().</li>
2300
2301    <li>improve workaround from <a href="#xterm_279">patch #279</a>
2302    for BSD systems which do not complete initialization until both
2303    sides of the pseudoterminal are opened, by preferring openpty()
2304    function over posix_openpt() when available (report by
2305    Christian Weisgerber).</li>
2306  </ul>
2307
2308  <h1><a name="xterm_291" id="xterm_291">Patch #291 -
2309  2013/02/26</a></h1>
2310
2311  <ul>
2312    <li>add validity check for xterm widget parameter to
2313    <code>AlternateScroll</code> function, needed to handle wheel
2314    mouse events in the scrollbar area since <a href=
2315    "#xterm_282">patch #282</a> changes which introduced
2316    <code>alternateScroll</code> feature (Redhat #874327).</li>
2317  </ul>
2318
2319  <h1><a name="xterm_290" id="xterm_290">Patch #290 -
2320  2013/02/12</a></h1>
2321
2322  <ul>
2323    <li>revert of <a href="#xterm_282">patch #282</a> change was
2324    incomplete (report by Jim Reisert).</li>
2325
2326    <li>fix typo in manpage (report by Vincent Lefevre).</li>
2327  </ul>
2328
2329  <h1><a name="xterm_289" id="xterm_289">Patch #289 -
2330  2013/02/08</a></h1>
2331
2332  <ul>
2333    <li>revert the <a href="#xterm_282">patch #282</a> change which
2334    restored "lost" text after shrinking/growing the screen size.
2335    If the screen was updated between the two resizing operations,
2336    unexpected text might be shown at the end (report/testcase by
2337    Joe Peterson).</li>
2338
2339    <li>reverse the arrow-keys sent for
2340    <code>alternateScroll</code> to match the usage in browsers
2341    (suggested by Dieter Roelants).</li>
2342
2343    <li>modify mouse reports to consistently indicate motion events
2344    whether or not a button is pressed. Old behavior (since
2345    <a href="#xterm_127">patch #127</a> modified encoding for wheel
2346    mouse) showed only that the button was released if no button
2347    had been pressed (report by Andy Koppe).</li>
2348
2349    <li>correct and improve behavior for SGR 1006 mouse protocol on
2350    button release in any-event mode. Initial implementation in
2351    <a href="#xterm_277">patch #277</a> left internal state showing
2352    the last button pressed when reporting motion events. It now
2353    keeps track of all buttons which have been pressed and
2354    released, showing the lowest remaining button by number in the
2355    response (reports by Hayaki Saito, Andy Koppe).</li>
2356
2357    <li>fix inconsistency between <code>TermColors</code> and
2358    <code>OscTextColors</code> enums which interchanged values for
2359    tektronix cursor color and highlight foreground in control
2360    sequences in <a href="#xterm_225">patch #225</a> (report/patch
2361    by Peder Stray).</li>
2362
2363    <li>fix inconsistent use of noreturn-attribute in
2364    <code>Exit</code> function which interfered with clang
2365    --analyze.</li>
2366
2367    <li>remove incorrect <code>free</code> used in computation of
2368    <code>XTERM_SHELL</code> variable, from Coverity fixes in
2369    <a href="#xterm_288">patch #288</a> (FreeBSD #175782).</li>
2370
2371    <li>add <code>--with-valgrind</code> option to configure script
2372    for consistency with my other programs.</li>
2373
2374    <li>update table of ambiguous width characters in wcwidth.c
2375    based on Unicode 6.2.0</li>
2376
2377    <li>update table of combining characters in wcwidth.c based on
2378    Unicode 6.2.0</li>
2379
2380    <li>update precompose.c based on Unicode 6.2.0</li>
2381  </ul>
2382
2383  <h1><a name="xterm_288" id="xterm_288">Patch #288 -
2384  2013/01/09</a></h1>
2385
2386  <ul>
2387    <li>fix a special case in <code>ShowCursor</code> where the
2388    foreground and background colors of the current position are
2389    the same. In that case, choose the further of the window's
2390    foreground and background colors for the cursor color.</li>
2391
2392    <li>modify <code>alternateScroll</code> feature added in
2393    <a href="#xterm_282">patch #282</a> to use either
2394    <code>CSI</code> or <code>SS3</code> according to the cursor
2395    keys application mode setting, to simplify using it in vi, etc.
2396    (suggested by Dietar Roelants).</li>
2397
2398    <li>revise manpage for <code>resize</code> to clarify the
2399    changes which <code>resize</code> may make to the terminal
2400    settings as well as to the terminal itself.</li>
2401
2402    <li>remove code such as <code>struct ttysize</code>, used for
2403    SunOS 3 and 4.</li>
2404
2405    <li>modify configure script and makefile to check for
2406    <code>groff</code> and suppress groff-specific rules if groff
2407    is not found.</li>
2408
2409    <li>modify ctlseqs.ms and makefile to work around bugs in
2410    <code>grohtml</code> which cause ".png" files to be truncated
2411    when producing html documentation.</li>
2412
2413    <li>modify suffix rules for "make docs" to make the names of
2414    the generated ".png" files predictable, helping to work around
2415    longstanding problems with this feature of groff&mdash;none of
2416    its releases work for <em>all</em> of xterm's tables..</li>
2417
2418    <li>correct typo in ctlseqs.ms for DECIC and DECDC; the
2419    character preceding the final "<code>~</code>" is an ASCII
2420    single-quote "<code>'</code>" rather than a space (report by
2421    Paul LeoNerd Evans).</li>
2422
2423    <li>update CF_GCC_VERSION macro, handling both Debian and
2424    Darwin.</li>
2425
2426    <li>improve configure script checks for the
2427    <code>--with-desktop-category</code> option. After <a href=
2428    "#xterm_280">patch #280</a> changes, if no value was given for
2429    this option, and no existing desktop files found for
2430    comparison, the incorrect "auto" value was passed into the
2431    generated desktop file (report by Julien Cristau).</li>
2432
2433    <li>modify sample build-scripts to disable check for
2434    <code>imake</code> due to code-rot in Xorg.</li>
2435
2436    <li>add <code>-v</code> command-line option to
2437    <code>resize</code>, reporting the same version string as
2438    <code>xterm</code> and the two shell-wrappers.</li>
2439
2440    <li>make name-transformation apply to other occurrences of
2441    <code>resize</code>, other manpages.</li>
2442
2443    <li>special-case the name-transformation in xterm's manpage in
2444    the NAME section so that the result works with
2445    <code>makewhatis</code> (report by Julien Cristau).</li>
2446
2447    <li>modify install-rules for manpages to put each program's
2448    respective transformed name into the header rather than
2449    xterm's.</li>
2450
2451    <li>remove deprecated files: proto.h, os2main.c</li>
2452
2453    <li>minor fixes based on Coverity scan, including:
2454
2455      <ul>
2456        <li>correct caching of Atom value for the font menu's
2457        "Selection" entry.</li>
2458
2459        <li>ensure that utmp/utmpx calls do not depend upon
2460        trailing nulls in the <code>ut_id</code> and
2461        <code>ut_line</code> values.</li>
2462      </ul>
2463    </li>
2464  </ul>
2465
2466  <h1><a name="xterm_287" id="xterm_287">Patch #287 -
2467  2012/11/25</a></h1>
2468
2469  <ul>
2470    <li>fix a case where in_put() loop could continue when it has
2471    found an X event rather than the pty, causing the pty-read to
2472    be delayed (patch by Balazs Kezes).</li>
2473
2474    <li>add option to <code>pointerMode</code> resource and
2475    corresponding control sequences to allow text-cursor to remain
2476    hidden if the pointer leaves/enters the window via accelerator
2477    keys. Ordinary motion within the window restores the pointer
2478    (prompted by patch by Balazs Kezes).</li>
2479
2480    <li>remove special case of modifiers for the
2481    <code>Mode_switch</code> and <code>XK_ISO_Level3_Shift</code>
2482    from <a href="#xterm_223">patch #223</a>. Verified that the
2483    conflict which this was intended to resolve does not happen for
2484    normal compose- or modeswitch-handling (prompted by patch by
2485    Balazs Kezes, Debian #638694).</li>
2486
2487    <li>modify the handling of focus-change events to ignore those
2488    whose detail is <code>NotifyPointer</code>, since those are
2489    sent in addition to focus-change events directed to the old/new
2490    windows having focus. In particular, this prevents the
2491    urgency-hint from being reset inadvertantly (prompted by patch
2492    by Balazs Kezes).</li>
2493
2494    <li>modify description of <code>iconName</code> in manpage to
2495    make it clearer that this resource does not specify the
2496    filename of an icon (discussion with Ian Collier).</li>
2497
2498    <li>modify <code>iconHint</code> resource to allow suppressing
2499    the built-in icon by setting this to "none" (discussion with
2500    Ian Collier).</li>
2501
2502    <li>make <code>-iconic</code> option work with the toolbar
2503    configuration.</li>
2504
2505    <li>correct initialization of window manager hints used to set
2506    the icon-pixmap. That detail from <a href="#xterm_282">patch
2507    #282</a> overwrote state used to control the
2508    <code>-iconic</code> command-line option (report by Ian
2509    Collier).</li>
2510
2511    <li>fix paste64 feature for the case where the selection comes
2512    from the current terminal. The selection callback can happen
2513    after the reply is partly built, making it necessary to flush
2514    the reply-buffer to keep things in the proper order (report by
2515    Ailin Nemui).</li>
2516
2517    <li>reject command-line options which are longer than the
2518    options in xterm's table, to avoid mismatches (Redhat
2519    #875305).</li>
2520
2521    <li>correct attribution for <a href="#xterm_282">patch #282</a>
2522    changes.</li>
2523  </ul>
2524
2525  <h1><a name="xterm_286" id="xterm_286">Patch #286 -
2526  2012/10/29</a></h1>
2527
2528  <ul>
2529    <li>fix <code>minstall.in</code> to work with "make docs" rule,
2530    so that patch number appears in the corresponding generated
2531    documentation.</li>
2532
2533    <li>modify <code>minstall.in</code> to keep the name shown in
2534    the heading consistent with any renaming, e.g., for
2535    test-builds.</li>
2536
2537    <li>check for misconfigured <code>printerCommand</code>
2538    resource on the first use, warn and disable it if it does not
2539    specify an executable command (Debian #691642).</li>
2540
2541    <li>improve check for window-manager name needed to establish
2542    usable default for activeIcon resource. This works around a
2543    scenario where <code>gdm</code> does incomplete cleanup,
2544    leaving window properties that refer to windows which no longer
2545    exist (Redhat #869959).</li>
2546  </ul>
2547
2548  <h1><a name="xterm_285" id="xterm_285">Patch #285 -
2549  2012/10/23</a></h1>
2550
2551  <ul>
2552    <li>add/adapt FreeBSD ports files for test-building.</li>
2553
2554    <li>modify <code>minstall.sh</code> to use the patch-number and
2555    date in the manpage footer.</li>
2556
2557    <li>add check for failure to allocate the fg/bg colors at
2558    startup, e.g., misconfiguration. Work around by setting both to
2559    the default colors (suggested by Scott Bertilson).</li>
2560
2561    <li>amend change for <a href="#xterm_280">patch #280</a> which
2562    added <code>modifyKeyboard</code>, to make
2563    <code>modifyOtherKeys</code> work (report by Ailin Nemui).</li>
2564
2565    <li>add <code>query-colors.pl</code> example for
2566    OSC&nbsp;4.</li>
2567
2568    <li>correct mis-applied fix for minstall.sh (report by Miroslav
2569    Lichvar).</li>
2570  </ul>
2571
2572  <h1><a name="xterm_284" id="xterm_284">Patch #284 -
2573  2012/10/14</a></h1>
2574
2575  <ul>
2576    <li>amend configurability changes for icons from <a href=
2577    "#xterm_283">patch #283</a>, moving the new functionality to
2578    the <code>iconHint</code> resource to avoid conflict with
2579    existing uses of the <code>iconName</code> resource in the
2580    <code>Shell</code> widget (report by Emanuel Haupt).</li>
2581
2582    <li>fix documentation errata reported by Miroslav Lichvar:
2583
2584      <ul>
2585        <li>correct manpage default for <code>allowTcapOps</code>
2586        (see <a href="#xterm_243">patch #243</a></li>
2587
2588        <li>modify documentation for configure
2589        <code>--enable-backarrow-key</code> to match the script
2590        (see <a href="#xterm_280">patch #280</a>).</li>
2591
2592        <li>fix typo in <code>minstall.sh</code> in <a href=
2593        "#xterm_283">patch #283</a>, which made the leading-cap
2594        "Xterm" become "xterm" (patch by Miroslav).</li>
2595      </ul>
2596    </li>
2597
2598    <li>fix two typos in configure.in from <a href=
2599    "#xterm_283">patch #283</a> changes; one broke the
2600    <code>--regex</code> configure option (report by H Merijn
2601    Brand).</li>
2602  </ul>
2603
2604  <h1><a name="xterm_283" id="xterm_283">Patch #283 -
2605  2012/10/09</a></h1>
2606
2607  <ul>
2608    <li>modify makefile and script to generate appropriate renaming
2609    s/xterm/xterm-dev/ for test-package's manpage.</li>
2610
2611    <li>improve makefile rules for installing/uninstalling pixmap
2612    files, to include the newer mini- and filled- variants.</li>
2613
2614    <li>clarify change in manpage regarding <a href=
2615    "#xterm_282">patch #282</a> change to always set a
2616    window-decoration icon, even if <code>iconName</code> is not
2617    set.</li>
2618
2619    <li>add a fourth flavor of window-decoration icons,
2620    "filled-xterm" for a monochrome xterm with filled
2621    interior.</li>
2622
2623    <li>use shape-mask to improve contrast of the window-decoration
2624    icons.</li>
2625
2626    <li>minor changes to icon colors to improve contrast on
2627    bright-mud backgrounds.</li>
2628
2629    <li>drop configure checks for memmove versus bcopy, and
2630    strerror function; all currently tested platforms support
2631    these.</li>
2632
2633    <li>cleanup configure macros, as done in byacc 20121003.</li>
2634
2635    <li>improve configurability of the built-in icon selectable via
2636    the <code>iconName</code> resource.</li>
2637
2638    <li>update config.guess, config.sub</li>
2639  </ul>
2640
2641  <h1><a name="xterm_282" id="xterm_282">Patch #282 -
2642  2012/09/28</a></h1>
2643
2644  <ul>
2645    <li>improve configure check for
2646    <code>XkbKeycodeToKeysym</code>, fixing a regression on some
2647    older systems in the <a href="#xterm_280">patch #280</a>
2648    changes.</li>
2649
2650    <li>add clarification in manpage for
2651    <code>alwaysBoldMode</code> and <code>veryBoldColors</code>
2652    resources (prompted by Derek Martin question about using the
2653    former with TrueType fonts).</li>
2654
2655    <li>add <code>alternateScroll</code> resource and corresponding
2656    control sequences which modify the <code>scroll-forw</code> and
2657    <code>scroll-back</code> actions: when the alternate screen is
2658    displayed, wheel mouse up/down will send cursor keys (Debian
2659    #683942).</li>
2660
2661    <li>improve rendering for the case when a Unicode character is
2662    absent in the bold font but present in the normal font by
2663    temporarily falling back to the normal font (Debian #359006,
2664    Debian #408666).</li>
2665
2666    <li>provide configure option
2667    <code>--enable-double-buffer</code> and ifdef's to allow
2668    comparisons with/without double-buffering. The default uses
2669    normal buffering.</li>
2670
2671    <li>add feature to optionally scroll current page before
2672    clearing, controlled by resource setting
2673    <code>cdXtraScroll</code> (prompted by patch by Balazs
2674    Kezes):</li>
2675
2676    <li>integrated patches from Arch Linux forum posting (patches
2677    by Balazs Kezes):
2678
2679      <ul>
2680        <li>modify reallocation limit of line-data when resizing
2681        screen so that "lost" text will be restored if the screen
2682        is first shrunk and then grown.</li>
2683
2684        <li>modify output to use double-buffering to reduce
2685        flicker.</li>
2686      </ul>
2687    </li>
2688
2689    <li>modify <code>scroll-lock</code> action to handle
2690    on/off/toggle keywords like other actions. Previously the
2691    optional parameter was interpreted as an integer.</li>
2692
2693    <li>extend <code>DECSCUSR</code> to provide a way to set the
2694    cursor to a vertical bar (patch by Paul Bolle).</li>
2695
2696    <li>add <code>-8</code>, <code>-c</code>, <code>-d</code> and
2697    <code>-u</code> options to <code>88colors2.pl</code> and
2698    <code>256colors2.pl</code> scripts. No current terminal
2699    emulator recognizes C1 controls while handling UTF-8
2700    encoding&mdash;see notes in <a href="#xterm_119">patch #119</a>
2701    and <a href="#xterm_109">patch #109</a> regarding
2702    <code>utf8controls</code>&mdash;but the <code>-u</code> and
2703    <code>-8</code> options are useful for demonstrating this
2704    point.</li>
2705
2706    <li>improve speed when changing color palettes using OSC
2707    controls by deferring repaint while followup controls might be
2708    additional color palette changes.</li>
2709
2710    <li>modify <code>SGR&nbsp;38</code> and
2711    <code>SGR&nbsp;48</code> to accept RGB index, matching the
2712    closest entry in xterm's palette.</li>
2713
2714    <li>extend <code>SGR&nbsp;38</code> and
2715    <code>SGR&nbsp;48</code> to accept colon as parameter separator
2716    (request by Paul LeoNerd Evans).</li>
2717
2718    <li>modify <code>fullscreen</code> action to allow it to toggle
2719    the full-screen mode rather than only set or unset it (prompted
2720    by Eeri Kask's suggestion to support
2721    <code>_NET_WM_TOGGLE</code>). This implementation does not yet
2722    use <code>_NET_WM_TOGGLE</code>.</li>
2723
2724    <li>add support for <code>_NET_WM_STATE_MAXIMIZED_VERT</code>
2725    and <code>_NET_WM_STATE_MAXIMIZED_HORZ</code> EWMH properties
2726    (suggested by Eeri Kask).</li>
2727
2728    <li>make fullscreen mode work with the tek4014 window. This
2729    change makes only the currently active window to be changed to
2730    fullscreen rather than changing both windows.</li>
2731
2732    <li>modify <code>TekClear</code> function to discard pending
2733    output before clearing the tek4014 display (patch by Kevin
2734    Ryde).</li>
2735
2736    <li>fix <code>deleteIsDEL</code> feature, broken in <a href=
2737    "#xterm_280">patch #280</a> changes (report by Mike Thornburg,
2738    forwarded by Jeremy Huddleston).</li>
2739
2740    <li>fix a special case of wrapping double-width characters
2741    (report/test-case by Ken Winstein).</li>
2742
2743    <li>add <code>E3</code> extended capability to
2744    <code>xterm-basic</code> to match ncurses <a href=
2745    "http://invisible-island.net/ncurses/NEWS.html#t20120728">20120728</a>
2746    patch.</li>
2747
2748    <li>fix incorrect transformation of row-parameter for
2749    <code>ClearCurBackground</code> in <a href="#xterm_279">patch
2750    #279</a> which caused incorrect painting in some scrolling
2751    scenarios (report by Chuck Silvers).</li>
2752
2753    <li>fix typo in manpage description of <code>+maximized</code>
2754    option (Paul Maier).</li>
2755
2756    <li>change default for configure option
2757    <code>--with-xpm</code>, turning it on unless requested
2758    otherwise.</li>
2759
2760    <li>add configure option <code>--with-icon-name</code> which
2761    can be used to override the default icon used in
2762    icon-themes.</li>
2763
2764    <li>extend <code>activeIcon</code> resource to provide
2765    <code>default</code> value which tells xterm to determine the
2766    window manager's name and automatically enable the feature for
2767    fvwm and window maker. The explicit true/false values can be
2768    used to override this behavior.</li>
2769
2770    <li>add "mini" xterm icon, which scales better than the
2771    standard xterm icon, e.g., for the gnome/kde "panel"
2772    feature.</li>
2773
2774    <li>extend <code>iconName</code> resource to search for icon
2775    named according to resource value and use that if found. If not
2776    found, use compiled-in pixmap. Both set the WM_ICON_NAME
2777    property which is used by various window managers, usually for
2778    window decoration.</li>
2779
2780    <li>updated autoconf patch, adding support for --datarootdir,
2781    which changes the default location of manpages.</li>
2782
2783    <li>further improved autoconf macros for configuring icons,
2784    from vile 9.8h</li>
2785  </ul>
2786
2787  <h1><a name="xterm_281" id="xterm_281">Patch #281 -
2788  2012/06/26</a></h1>
2789
2790  <ul>
2791    <li>remove "$(srcdir)/" from install-icon rule to fix builds
2792    when --srcdir configuration option is used.</li>
2793
2794    <li>fix for configure script's search for icon file when it is
2795    not found in the current directory, e.g., when building out of
2796    tree (patch by Thierry Reding).</li>
2797
2798    <li>undo the XK_Home / XK_End change from <a href=
2799    "#xterm_280">patch #280</a> which broke the non-VT220 keyboard
2800    for those keys (report by H Merijn Brand).</li>
2801  </ul>
2802
2803  <h1><a name="xterm_280" id="xterm_280">Patch #280 -
2804  2012/06/24</a></h1>
2805
2806  <ul>
2807    <li>add configure check to work around warning from
2808    desktop-file-install for "Encoding", noting that it emits
2809    deprecation warnings without providing its version
2810    information.</li>
2811
2812    <li>add configure option <code>--with-icon-theme</code> to tell
2813    xterm whether to install into an icon theme, defaulting to
2814    "hicolor" (Redhat #755206, Redhat #799614 and Redhat
2815    #804279).</li>
2816
2817    <li>change <code>--with-icondir</code> to look for "icons"
2818    directory rather than "pixmaps" by default. Add new option
2819    <code>--with-pixmapdir</code> to allow these two uses to be
2820    installed concurrently.</li>
2821
2822    <li>modify configure options <code>--with-app-defaults</code>
2823    and <code>--with-icondir</code> to accept "auto" as value to
2824    look for existing directory from well-known locations.</li>
2825
2826    <li>add missing codes for secondary DA response which tell the
2827    type of terminal as in the primary DA response.</li>
2828
2829    <li>update primary DA response for VT420 to include user
2830    windows and horizontal scrolling.</li>
2831
2832    <li>add <code>modifyKeyboard</code> resource to support
2833    keypad-modifier changes per request by Thomas Wolff.</li>
2834
2835    <li>add XK_Home / XK_End to editing-keypad checks</li>
2836
2837    <li>add back-tab key <code>kB</code> to termcap entries to
2838    match the terminfo.</li>
2839
2840    <li>update terminfo to match corresponding entries in ncurses,
2841    e.g., add <code>XT</code> and adjust <code>sgr</code> string
2842    for xterm-bold entry.</li>
2843
2844    <li>add configure options to predefine the most commonly
2845    customized resources for terminal-settings, use those to
2846    substitute into the manpage the corresponding compiled-in
2847    values: <code>altSendsEscape</code>, <code>backarrowKey</code>,
2848    <code>backarrowKeyIsErase</code>, <code>deleteIsDEL</code>,
2849    <code>metaSendsEscape</code> (Redhat #819588).</li>
2850
2851    <li>change default emulation level to VT420 (discussion with
2852    Ailin Nemui).</li>
2853
2854    <li>improve logic for DECSCL; <a href="#xterm_279">patch
2855    279</a> partly enforced limitation of this to higher-level
2856    emulations. This patch finishes that change.</li>
2857
2858    <li>improve check for base of combining characters, preventing
2859    combination when cursor movement has intervened. Mosh's webpage
2860    gives two different examples of this, with other causes
2861    ascribed to the behavior.</li>
2862
2863    <li>modify IL/DL to set cursor to first column on row for
2864    better VT102/VT220 compatibility (prompted by code review of
2865    mosh).</li>
2866
2867    <li>separate state-table entries for DECSC/DECRC from the
2868    ANSI.SYS save/restore cursor, since the latter conflicts with
2869    DECSLRM when DECLRMM is enabled since <a href=
2870    "#xterm_279">patch #279</a> (report/analysis by Ailin
2871    Nemui).</li>
2872
2873    <li>fixes to avoid using <code>SIGCHLD</code> handler of main
2874    program in printer's subprocess (report by Joe Julian).</li>
2875
2876    <li>correct restore-parameter for mouse-modes from <a href=
2877    "#xterm_279">patch #279</a> changes.</li>
2878
2879    <li>add null-pointer checks to input-method caching added in
2880    <a href="#xterm_277">patch #277</a> to fix a problem in the
2881    exposure code, when deselecting a window (report by Kriston
2882    Rehberg).</li>
2883
2884    <li>unset <code>DESKTOP_STARTUP_ID</code> environment variable
2885    to lessen confusion on the part of GTK applications which use
2886    the variable without checking it (report by John Little).</li>
2887  </ul>
2888
2889  <h1><a name="xterm_279" id="xterm_279">Patch #279 -
2890  2012/05/10</a></h1>
2891
2892  <ul>
2893    <li>fill in missing cases in the save/restore modes feature
2894    (report by Thomas Wolff).</li>
2895
2896    <li>add check to ensure that combining characters are
2897    precomposed in the order given (report/analysis by Andries E
2898    Brouwer).</li>
2899
2900    <li>improve workability check for posix_openpt(), to take into
2901    account BSD systems which do not complete initialization until
2902    both sides of the pseudoterminal are opened (report by
2903    Christian Weisgerber).</li>
2904
2905    <li>amend fix for Debian #650291 in <a href="#xterm_277">patch
2906    #277</a> changes to account for different data returned by
2907    vnc4server (Debian #670638).</li>
2908
2909    <li>add check in DECCRA operation to make copies of blinking
2910    text also blink by updating a line-level flag.</li>
2911
2912    <li>modify rectangle operations to work with DECOM.</li>
2913
2914    <li>modify DECSERA to use the current protected state rather
2915    than preserving it.</li>
2916
2917    <li>add <code>precompose</code> resource to allow storing
2918    character data in Normalized Form D as described in <a href=
2919    "http://unicode.org/reports/tr15/">http://unicode.org/reports/tr15/</a>
2920    (report/discussion with Andries E Brouwer).</li>
2921
2922    <li>modify CBT, other ISO-6429 controls which are used by VT520
2923    to work with DECOM.</li>
2924
2925    <li>add HPR and VPR controls, ISO 6429 cursor movement used in
2926    VT520.</li>
2927
2928    <li>remove "linux" restriction for IUTF8 ifdef in main.c
2929    (prompted by Matthew Dempsky posting on
2930    mailing.openbsd.tech).</li>
2931
2932    <li>implement the remaining VT420-level device status
2933    reports.</li>
2934
2935    <li>change DECXCPR to return page 1, rather than 0.</li>
2936
2937    <li>improve VT-level checks on reporting functions, such as
2938    DECXCPR.</li>
2939
2940    <li>change limit on <code>decTerminalID</code> to 525.</li>
2941
2942    <li>fixes to improve vttest vt52 screen when running as a
2943    VT420:
2944
2945      <ul>
2946        <li>add checks for some VT2xx and up controls for
2947        consistency: DECSCL, S1C8T, S1C7T.</li>
2948
2949        <li>modify DECRQSS return for DECSCL to only return that
2950        when running as VT2xx and up.</li>
2951
2952        <li>when exiting from VT52-mode, resume in VT100 level
2953        rather than the level before starting VT52-mode.</li>
2954      </ul>
2955    </li>
2956
2957    <li>implement DECLRMM, DECSLRMM and DECNCSM (prompted by
2958    discussions with Ailin Nemui and Paul LeoNerd Evans). This
2959    modifies several controls to obey top/bottom and left/right
2960    margins.</li>
2961
2962    <li>correct macro definition used for testing modes used in
2963    ANSI/DEC request-mode controls introduced in <a href=
2964    "#xterm_262">patch #262</a>.</li>
2965
2966    <li>modify <code>x_getlogin</code> to check $LOGNAME and $USER
2967    before fallback to <code>getlogin</code>, so that user's choice
2968    for these variables can be carried forward to the xterm process
2969    (Debian #611487).</li>
2970
2971    <li>document DECSCUSR response for DECRQSS in ctlseqs.ms</li>
2972
2973    <li>add <code>zIconTitleFormat</code> resource to allow
2974    customizing the "***&nbsp;" prefixed to the icon title when the
2975    <code>zIconBeep</code> feature is activated (request by Thomas
2976    Adam).</li>
2977
2978    <li>modify DECSCUSR to update the same internal variable as
2979    RM/SM 12, and document in manpage the two variables used for
2980    controlling blinking cursor (report by Paul LeoNerd
2981    Evans).</li>
2982
2983    <li>correct response data for DECSCUSR in reply for DECRQSS
2984    response, which had inverted the blink-value (reports by Ailin
2985    Nemui, Paul LeoNerd Evans).</li>
2986
2987    <li>add a null-pointer check in <code>OkPasswd</code> macro to
2988    fix a problem in <code>resize</code> with Fedora 17 and a
2989    serial console (report/patch by Daniel Drake).</li>
2990
2991    <li>add workaround for Mac OS X, which loses the window size of
2992    a pseudo-terminal when the tty device is opened
2993    (report/analysis by Egmont Koblinger).</li>
2994
2995    <li>updated configure check for workable
2996    <code>posix_openpt</code> versus <code>grantpt</code>, from
2997    <code>luit</code> fixes.</li>
2998
2999    <li>modify DECIC/DECDC/DECBI/DECFI implemented in <a href=
3000    "#xterm_277">patch #277</a> to enable them only in VT4xx mode
3001    and up (report by Ailin Nemui).</li>
3002
3003    <li>update config.guess, config.sub</li>
3004  </ul>
3005
3006  <h1><a name="xterm_278" id="xterm_278">Patch #278 -
3007  2012/01/18</a></h1>
3008
3009  <ul>
3010    <li>correct initialization for <code>eightBitMeta</code>
3011    resource (FreeBSD #164101).</li>
3012
3013    <li>make special check for Darwin 9 (and lower) to <em>not</em>
3014    use <code>posix_openpt</code> (report by Christian Ebert).</li>
3015
3016    <li>minor fixes (adding ".ne" directives) to reduce the cases
3017    where groff's utility for generating images for tables dumps
3018    core. Most versions of groff (I've found 1.19.2 to be the most
3019    stable) dump core when attempting to report that there are too
3020    few lines on a page for a table to be shown.</li>
3021  </ul>
3022
3023  <h1><a name="xterm_277" id="xterm_277">Patch #277 -
3024  2012/01/07</a></h1>
3025
3026  <ul>
3027    <li>remove special case for ISC pseudo-terminals which attempts
3028    to open the pty in two different ways.</li>
3029
3030    <li>move call to <code>grantpt</code> before asking utempter to
3031    add a record, to work with kFreeBSD which does not update the
3032    terminal's ownership until this point (Debian #652907).</li>
3033
3034    <li>document limitation of XIM interface in manpage (Debian
3035    #230787).</li>
3036
3037    <li>cleanup error reporting with new xtermWarning
3038    function.</li>
3039
3040    <li>add configure option <code>--disable-selection-ops</code>
3041    to make the new actions optional.</li>
3042
3043    <li>add four new actions for making the selection or data
3044    directly copied from the screen (prompted by discussion in
3045    Debian #637001, as well as report by Arjen van Tol):
3046
3047      <ul>
3048        <li>exec-formatted</li>
3049
3050        <li>exec-selectable</li>
3051
3052        <li>insert-formatted</li>
3053
3054        <li>insert-selectable</li>
3055      </ul>
3056    </li>
3057
3058    <li>add <code>visualBellLine</code> resource to allow
3059    <code>visualBell</code> to flash only the current line
3060    (prompted by patch by Gertjan Halkes).</li>
3061
3062    <li>add <code>eightBitMeta</code> resource to control the
3063    features which modify or interpret the eighth bit of a key when
3064    the meta modifier key is pressed (prompted by Debian
3065    #326200).</li>
3066
3067    <li>improve discussion of <code>eightBitInput</code> in the
3068    manpage (prompted by Debian #326200).</li>
3069
3070    <li>correct logic for <code>alt-sends-escape</code> action,
3071    overlooked when implementing <code>altSendsEscape</code>
3072    resource, which still used <code>eightBitInput</code> resource
3073    value.</li>
3074
3075    <li>add a workaround for <code>XAllocColor()</code>, which does
3076    not actually allocate "a read-only colormap entry corresponding
3077    to the closest RGB value supported by the hardware", but rather
3078    a rough approximation (Debian #650291).</li>
3079
3080    <li>undo parameter checks for <code>RequestResize()</code>
3081    added in <a href="#xterm_251">patch #251</a> and amended in
3082    <a href="#xterm_270">patch #270</a>, because zeros also are
3083    special cases (report by John S Urban).</li>
3084
3085    <li>modify some test-scripts to use <code>/bin/echo</code>
3086    rather than the shell's possibly-builtin <code>echo</code>, to
3087    work around broken configuration on Mac OS X, i.e., neither
3088    honoring the option nor flagging an error.</li>
3089
3090    <li>add SGR 1006, as a better technical solution than SGR 1015:
3091
3092      <ul>
3093        <li>the responses will not be confused with line-deletion
3094        and scrolling controls.</li>
3095
3096        <li>the button encoding is a little simpler, since it does
3097        not add an unnecessary 32 because the integer parameter
3098        does not have to be represented as a printable
3099        character.</li>
3100
3101        <li>the control responses for pressing and releasing a
3102        mouse button differ, allowing an application to tell which
3103        button was released.</li>
3104      </ul>
3105
3106      <p>Besides these improvements, in discussion, it was noted
3107      that urxvt's implementation of 1005 is incorrect, relying
3108      upon a locale that provides UTF-8 encoding. In contrast,
3109      vttest demonstrates a correct decoding, independent of
3110      locale.</p>
3111    </li>
3112
3113    <li>add support for urxvt SGR 1015 to address shortcoming of
3114    SGR 1005 with luit (patch by Egmont Koblinger).</li>
3115
3116    <li>add ISO and DEC controls useful for left/right
3117    scrolling.</li>
3118
3119    <li>add some changes for OpenBSD and MirBSD (adapted from patch
3120    by Thorsten Glaser):
3121
3122      <ul>
3123        <li>disable search for non-Unix96 ptys.</li>
3124
3125        <li>fix a gcc warning in
3126        <code>timestamp_filename</code></li>
3127
3128        <li>modify <code>Imakefile</code> to install xterm setgid
3129        to utmp.</li>
3130      </ul>
3131    </li>
3132
3133    <li>add/use/prefer <code>posix_openpt()</code> for opening
3134    pseudo-terminal.</li>
3135
3136    <li>modify special errno handling case in ptydata.c from
3137    <a href="#xterm_158">patch #158</a> to allow for the
3138    possibility that any platform may have special cases where
3139    "/dev/tty" is absent. For example, this can happen in a FreeBSD
3140    jail (patch by David Wolfskill).</li>
3141
3142    <li>add keyboard logic to map shift-tab into XK_ISO_Left_Tab,
3143    which is usually, not always, done by the X keyboard
3144    configuration.</li>
3145
3146    <li>portability fixes for some configure macros:
3147    <code>CF_XOPEN_SOURCE</code></li>
3148  </ul>
3149
3150  <h1><a name="xterm_276" id="xterm_276">Patch #276 -
3151  2011/10/10</a></h1>
3152
3153  <ul>
3154    <li>modify clipping limits for TrueType fonts to account for
3155    the <code>scaleHeight</code> resource setting, to work around
3156    another problem due to recent FreeType changes. In this case,
3157    the <code>DejaVu Sans Mono</code> set to pixelsize=13.5 is
3158    truncated because the font descent is reduced by FreeType to
3159    match an incorrect height metric (report by Adam Lee).</li>
3160
3161    <li>improve recovery when bitmap fonts are not installed, e.g.,
3162    so that switching font-sizes works for TrueType fonts.</li>
3163
3164    <li>modify lookup for <code>XTERM_SHELL</code> feature to allow
3165    relative pathnames.</li>
3166
3167    <li>modify abbreviation disambiguation check for command-line
3168    parameters to account for <code>-geometry</code>, whose
3169    parameter may begin with "+" or "-" (report by Scott
3170    Bertilson).</li>
3171  </ul>
3172
3173  <h1><a name="xterm_275" id="xterm_275">Patch #275 -
3174  2011/09/11</a></h1>
3175
3176  <ul>
3177    <li>add <code>ash</code>, <code>zsh</code> to known shells for
3178    <code>resize</code>.</li>
3179
3180    <li>modify <code>resize</code> to reuse the logic from
3181    <code>xterm</code> which determines the actual logon-user's
3182    shell if <code>$SHELL</code> is not set.</li>
3183
3184    <li>revert the <code>unsetenv("SHELL")</code> added in <a href=
3185    "#xterm_272">patch #272</a>.</li>
3186
3187    <li>an <code>unsetenv("SHELL")</code> added in <a href=
3188    "#xterm_272">patch #272</a> to help ensure that
3189    <code>luit</code> would get the user's shell consistently did
3190    not work as expected for cases where multiple names are in the
3191    password-file for a given uid. That was because changes in
3192    <a href="#xterm_157">patch #157</a> to handle this situation
3193    did not take into account that repeated calls to
3194    <code>getpwnam</code> and <code>getpwuid</code> return a
3195    pointer to the same static buffer. Fixed the older logic to
3196    work as intended, by ensuring that the passwd-data from each
3197    call is stored separately (report by Paul Keusemann).</li>
3198
3199    <li>adjust ifdef's for <code>putenv</code> and
3200    <code>unsetenv</code> in case only one of those is provided on
3201    a given platform.</li>
3202
3203    <li>correct comparison used in <code>ExposeContains</code>
3204    macro from <a href="#xterm_274">patch #274</a> changes, to
3205    handle window-dragging (patch by Todd Eigenschink).</li>
3206  </ul>
3207
3208  <h1><a name="xterm_274" id="xterm_274">Patch #274 -
3209  2011/09/05</a></h1>
3210
3211  <ul>
3212    <li>portability fixes for cygwin: do not define
3213    <code>SVR4</code>, and work around nonstandard header
3214    location.</li>
3215
3216    <li>ifdef'd use of <code>unsetenv</code> from <a href=
3217    "#xterm_273">patch #273</a> changes to work with Solaris 9
3218    (report by Waldemar Rachwal).</li>
3219
3220    <li>modify logic for <code>XtAppPending</code> to merge
3221    adjacent <code>Expose</code> and <code>ConfigureNotify</code>
3222    events which are redundant (report by Edward McGuire).</li>
3223
3224    <li>fix an unneeded warning message when <code>-r</code> option
3225    is given.</li>
3226
3227    <li>remove a few redundant entries from table used for helping
3228    abbreviation-checking of command-line options, makes
3229    <code>-geom</code> work again after <a href="#xterm_272">patch
3230    #272</a> changes as an abbreviation of
3231    <code>-geometry</code>.</li>
3232
3233    <li>add <code>scaleHeight</code> resource and command-line
3234    option <code>-sh</code> as workaround for some
3235    font-configurations broken by changes in FreeType 2.4.6 (report
3236    by Miroslav Hodak).</li>
3237
3238    <li>portability fixes for some configure macros:
3239    <code>CF_FUNC_TGETENT</code>, <code>CF_XOPEN_SOURCE</code>,
3240    <code>CF_X_ATHENA_LIBS</code>.</li>
3241
3242    <li>add configure option <code>--with-freetype-config</code> to
3243    improve selection over the plethora of configuration options
3244    which freetype has so far provided.</li>
3245
3246    <li>build-fix for configure <code>--enable-load-vt-fonts</code>
3247    when <code>--enable-widec</code> is not specified.</li>
3248
3249    <li>build-fixes for suppressing various features, needed after
3250    changes in patches 270, 271 and 272 (report by Brian
3251    Lindholm)</li>
3252  </ul>
3253
3254  <h1><a name="xterm_273" id="xterm_273">Patch #273 -
3255  2011/08/25</a></h1>
3256
3257  <ul>
3258    <li>build-fix for out-of-tree "make docs" rule.</li>
3259
3260    <li>correct a typo in <code>x_strdup</code>, from <a href=
3261    "#xterm_198">patch #198</a> changes.</li>
3262
3263    <li>correct initialization for <code>-e</code> option, broken
3264    in <a href="#xterm_272">patch #272</a> changes (report by
3265    Gabriele Balducci).</li>
3266
3267    <li>build-fix for out-of-tree builds to address
3268    <code>minstall</code> script changes in <a href=
3269    "#xterm_272">patch #272</a> (patch by Thierry Reding).</li>
3270  </ul>
3271
3272  <h1><a name="xterm_272" id="xterm_272">Patch #272 -
3273  2011/08/24</a></h1>
3274
3275  <ul>
3276    <li>document limitation of <code>Gtk</code> in connection with
3277    xterm's <code>-into</code> option, in the manpage (Ubuntu
3278    #806969).</li>
3279
3280    <li>improve <code>-into</code> by checking for and using the
3281    size of the window within which xterm is embedded, overriding
3282    other clues.</li>
3283
3284    <li>modify logic for <code>localeFilter</code> resource to
3285    allow that to include command-line options of luit.</li>
3286
3287    <li>improve <code>-into</code> by checking for invalid
3288    window-id, and allowing hexadecimal/decimal/octal values.</li>
3289
3290    <li>improve <code>keepSelection</code>, adding the case where
3291    the highlighting is cleared, overlooked in <a href=
3292    "#xterm_230">patch #230</a> (patch by Marco Peereboom).</li>
3293
3294    <li>improve command-line parsing to make abbreviate options
3295    work consistently across xterm-specific versus standard X
3296    toolkit options, and report cases where an abbreviated option
3297    happens to be ambiguous. In particular, <code>-d</code> now
3298    works as an abbreviation for <code>-display</code>.</li>
3299
3300    <li>fix regression in command-line parsing introduced in
3301    <a href="#xterm_271">patch #271</a> changes for Debian #629358,
3302    (Debian #637910).</li>
3303
3304    <li>split-out new termcap/terminfo building block
3305    <code>xterm+kbs</code> for configurability.</li>
3306
3307    <li>modify <code>terminfo</code> file to reflect changes in
3308    ncurses for <code>xterm-16color</code> and
3309    <code>xterm-256color</code>.</li>
3310
3311    <li>modify <code>minstall.sh</code>, etc., to reflect the
3312    default default class, <code>$TERM</code> and
3313    <code>decTerminalID</code> values.</li>
3314
3315    <li>reword <code>resize</code> manpage to reflect the fact that
3316    <code>$TERMCAP</code> is not set on all systems (patch by Alan
3317    Coopersmith).</li>
3318
3319    <li>work around combined Xaw6/Xaw7 package in DragonFlyBSD
3320    which omits the usual symbolic link to the preferred library
3321    name.</li>
3322
3323    <li>further improve build-fix for termcap systems by checking
3324    for some which are only partial implementations, e.g., termcap
3325    2.08 in CentOS 5.2</li>
3326  </ul>
3327
3328  <h1><a name="xterm_271" id="xterm_271">Patch #271 -
3329  2011/07/14</a></h1>
3330
3331  <ul>
3332    <li>omit permissions adjustments to pty on exit except for
3333    pre-Unix98 ptys, since modern implementations handle this
3334    (report by Sean C Farley).</li>
3335
3336    <li>modify logic for switching fonts between UTF-8 and
3337    non-UTF-8 encoding to not merge the derivable bold-, wide- and
3338    widebold values from the VT100 fonts. Also suppress warning
3339    when not using UTF-8 fonts if wide- and widebold-fonts cannot
3340    be derived or otherwise loaded (report by Werner
3341    Scheinast).</li>
3342
3343    <li>modify menu-creation to suppress entries which will never
3344    be used in the current configuration, rather than simply
3345    disabling them.</li>
3346
3347    <li>add resource <code>printModeImmediate</code> and menu item
3348    to allow print of screen plus saved lines to a file.</li>
3349
3350    <li>add menu item to allow runtime enable/disable of the
3351    <code>printFileOnXError</code> feature.</li>
3352
3353    <li>append a timestamp to filename used in
3354    <code>printFileOnXError</code> feature, and restrict its
3355    permissions (request by Vincent Lefevre).</li>
3356
3357    <li>add a check when cancelling cursor-blinking, in case the
3358    cursor is blinked off. Fix so that the cursor is repainted
3359    without waiting for other events, e.g., keypress (report by
3360    Ailin Nemui).</li>
3361
3362    <li>add configure <code>--with-app-class</code> option, to
3363    simplify building "xterm-dev" packages with filenames that do
3364    not conflict with conventional "xterm" packages.</li>
3365
3366    <li>corrected logic flow for DECSCL, which prevented the
3367    updated operating level from being reported via DECRQSS (report
3368    by Ailin Nemui).</li>
3369
3370    <li>corrected default for <code>brokenStringTerm</code>
3371    resource to match manpage.</li>
3372
3373    <li>add vttests/dynamic.pl</li>
3374
3375    <li>add runtime check for locale not supported by X libraries,
3376    and fallback to XA_STRING in this case (request by Bryan
3377    Henderson).</li>
3378
3379    <li>fix a special case in configure script after no FreeType
3380    libraries are found. The script was proceeding to check for a
3381    usable configuration.</li>
3382
3383    <li>add <code>xterm+tmux</code> building block to terminfo
3384    (adapted from changes proposed by Ailin Nemui and Nicholas
3385    Marriott).</li>
3386
3387    <li>improve discussion of <code>faceName</code> resource in
3388    manpage (adapted from suggestions by Jens Schweikhardt).</li>
3389
3390    <li>correct mapping of shifted up/down cursor-keys in termcap
3391    function-keys mode, i.e., resource
3392    <code>tcapFunctionKeys</code> (patch by Gertjan Halkes).</li>
3393
3394    <li>update AIX case in <code>CF_XOPEN_SOURCE</code> configure
3395    macro to add release 7.x.</li>
3396
3397    <li>modify ifdef's in <code>xterm_io.h</code> for
3398    <code>__hpux</code> to force that to use the hacked SYSV
3399    support in that file. This fixes a problem with a non-blocking
3400    socket call (patch by Paul Lampert).</li>
3401
3402    <li>improve filtering of desktop category scanning, to exclude
3403    XFCE.</li>
3404
3405    <li>modify configure script to work with systems that have both
3406    ncurses (or other terminfo) as well as a real termcap library,
3407    e.g., Slackware (report by Andrew Watts).</li>
3408
3409    <li>modify configure script to work around special case where
3410    user's environment adds compiler flags to the <code>CC</code>
3411    variable (prompted by report by Paul Lampert).</li>
3412
3413    <li>amend change for Debian #110226 so that "-h" or "-v"
3414    options cause an exit, rather than simply printing to stdout
3415    while the window is displayed (Debian #629358).</li>
3416
3417    <li>add response for <code>DECRQSS</code> which gives the
3418    setting for <code>DECSCUSR</code>.</li>
3419
3420    <li>modify AllocateTermColor() to handle
3421    <code>XtDefaultForeground</code> and
3422    <code>XtDefaultBackground</code>, which are not recognized by
3423    <code>XParseColor</code>. For example, this fixes the use of
3424    OSC&nbsp;112 when no explicit cursor color was set (report by
3425    Ailin Nemui).</li>
3426
3427    <li>handle special-case of <code>KeyPress</code> translated to
3428    <code>popup-menu</code> action (Ubuntu #756273).</li>
3429  </ul>
3430
3431  <h1><a name="xterm_270" id="xterm_270">Patch #270 -
3432  2011/04/26</a></h1>
3433
3434  <ul>
3435    <li>build-fix, e.g., for using <code>imake</code> on platforms
3436    which use the termcap library.</li>
3437
3438    <li>modify <code>utf8</code> resource to accept a name.</li>
3439
3440    <li>mention default for <code>fontWarnings</code> in manpage
3441    (report by Werner Scheinast).</li>
3442
3443    <li>split "UTF-8" menu entry into "UTF-8 Encoding" and "UTF-8
3444    Fonts" (prompted by discussion with Werner Scheinast).</li>
3445
3446    <li>gray-out font-menu entries when a font fails to load, e.g.,
3447    a bitmap font is not installed.</li>
3448
3449    <li>improve behavior when there is no app-defaults file:
3450
3451      <ul>
3452        <li>set the <code>toolBar</code> resource to false</li>
3453
3454        <li>gray-out the font menu entries where no resource is
3455        found.</li>
3456      </ul>
3457    </li>
3458
3459    <li>add configure option <code>--with-desktop-category</code>
3460    to allow customization of the ".desktop" files.</li>
3461
3462    <li>build-fix for the <code>install-desktop</code>
3463    makefile-rule, when the source/build directories differ (patch
3464    by Lo&iuml;c Minier).</li>
3465
3466    <li>add menu entry and corresponding resource which can be used
3467    to suppress all bold-fonts (discussion with Jan
3468    Engelhardt).</li>
3469
3470    <li>make internal line-size value consistent with allocated
3471    sizes of character and related arrays to ensure that bulk
3472    copying of line data, e.g., in scrolling, accounts for the
3473    padding used for pointer alignment (adapted from patch by
3474    Rajesh Mandalemula, also reported by Ali Bahar).</li>
3475
3476    <li>widen ifdef for screen-resizing logic from <a href=
3477    "#xterm_176">patch #176</a> changes to send
3478    <code>SIGWINCH</code> to process group to include any system
3479    supporting <code>ioctl(*,TIOCGPGRP,*)</code> (prompted by
3480    linux-specific patch in OpenSUSE rpm package).</li>
3481
3482    <li>add <code>printModeOnXError</code> and
3483    <code>printFileOnXError</code> resources, which allow the user
3484    to specify that xterm will write the contents of its screen to
3485    a file if it is exiting due to an X error (Debian
3486    #280457).</li>
3487
3488    <li>restore logic that made reverse-video apply to the
3489    scrollbar's foreground/background, broken in <a href=
3490    "#xterm_158">patch #158</a> (report by Bryan Ischo).</li>
3491
3492    <li>amend some of the window operations parameter-checks added
3493    in <a href="#xterm_251">patch #251</a> for the push/pop title
3494    feature, to allow the parameters used for window resizing to be
3495    -1's, which makes the corresponding values ignored rather than
3496    using the window's maximum width/height (report by Noah
3497    Friedman).</li>
3498
3499    <li>correct order of initialization for
3500    <code>translations</code> vs <code>fullscreen</code> resources
3501    to enable a special case which omits the Alt-Enter translation
3502    when <code>fullscreen</code> is disabled (Debian #612978).</li>
3503
3504    <li>update config.guess, config.sub</li>
3505  </ul>
3506
3507  <h1><a name="xterm_269" id="xterm_269">Patch #269 -
3508  2011/02/19</a></h1>
3509
3510  <ul>
3511    <li>build-fixes for <code>imake</code> (report by Heiko
3512    Berges).</li>
3513
3514    <li>modify autoconf macro CF_PKG_CONFIG to work with
3515    cross-compile environments (patch by Thierry Reding).</li>
3516
3517    <li>modify <code>MapToColorMode()</code> to favor bold over
3518    underline, matching the precedence used before <a href=
3519    "#xterm_252">patch #252</a> (report/analysis by Nicolas
3520    George).</li>
3521
3522    <li>add <code>omitTranslation</code> resource, which can be
3523    used to suppress the default translations for these features:
3524
3525      <ul>
3526        <li>fullscreen</li>
3527
3528        <li>scroll-lock</li>
3529
3530        <li>shift-fonts</li>
3531
3532        <li>wheel-mouse</li>
3533      </ul>
3534    </li>
3535
3536    <li>make the fullscreen feature configurable (Debian #612978)
3537
3538      <ul>
3539        <li>add it to the configurable list
3540        <code>disallowedWindowOps</code>.</li>
3541
3542        <li>add command-line option <code>-fullscreen</code> to
3543        allow the feature to be enabled at startup.</li>
3544
3545        <li>add resource <code>fullscreen</code> to control whether
3546        the feature is active or may be enabled.</li>
3547      </ul>
3548    </li>
3549
3550    <li>modify <code>probe_netwm_fullscreen_capability</code> for
3551    64-bit machines. Contrary to <code>XGetWindowProperty</code>
3552    manpage, that function returns 32-bit data packed as
3553    <code>long</code>'s.</li>
3554
3555    <li>eliminate copy of <code>name</code> resource, which was
3556    otherwise used only to give the terminal-description name for
3557    the tcap-query feature. Use the actual <code>$TERM</code> value
3558    instead, as derived from <code>termName</code> resource,
3559    etc.</li>
3560
3561    <li>eliminate an old inconsistency with error messages, some
3562    used the <code>-name</code> option, while others used
3563    <code>argv[0]</code>. The latter is now used consistently.</li>
3564
3565    <li>improve configure check for rpath-hack, to improve builds
3566    on systems where gcc will not search /usr/local/lib, etc.</li>
3567
3568    <li>build-fix for Xaw3d configuration (report by H Merijn
3569    Brand).</li>
3570
3571    <li>update config.guess, config.sub</li>
3572  </ul>
3573
3574  <h1><a name="xterm_268" id="xterm_268">Patch #268 -
3575  2011/02/10</a></h1>
3576
3577  <ul>
3578    <li>fix an inconsistency of the "Enable Reverse Video" checkbox
3579    in the VT Options menu. This also removes a special case added
3580    in <a href="#xterm_217">patch #217</a> which limited the effect
3581    of the <code>reverseVideo</code> resource (Debian
3582    #603808).</li>
3583
3584    <li>amend decoding of misformed UTF-8 sequences to avoid
3585    absorbing valid characters as documented in Unicode 6.0 section
3586    3.9 (report by Keith Winstein).</li>
3587
3588    <li>do not set urgency hint when window already has focus
3589    (patch by Dimitrios Christidis).</li>
3590
3591    <li>amend extended mouse-coordinate mode from <a href=
3592    "#xterm_262">patch #262</a> changes to include the <em>Cb</em>
3593    button-code, which also may be greater than 127 (report by
3594    Ailin Nemui).</li>
3595
3596    <li>ensure that underline-cursor is visible when an application
3597    happens to set the background color (report by Christian
3598    Weisgerber).</li>
3599
3600    <li>add feature for <a href=
3601    "http://www.davidsimmons.com/soft/xtermhacks/xterm-fullscreen.patch">
3602    full-screen toggling</a> using either Alt-Enter or a menu
3603    selection (integrated patch by Dave Simmons).</li>
3604
3605    <li>add missing logic to handle reallocation of FIFO index for
3606    the "UTF-8" menu entry (report by David Holland, NetBSD
3607    #44344).</li>
3608
3609    <li>add makefile rules <code>docs-ctlseqs</code>,
3610    <code>docs-xterm</code>, etc.</li>
3611
3612    <li>correct typo in description of DECRPM in control sequences
3613    document (report by Ailin Nemui).</li>
3614  </ul>
3615
3616  <h1><a name="xterm_267" id="xterm_267">Patch #267 -
3617  2010/11/20</a></h1>
3618
3619  <ul>
3620    <li>minor formatting changes to ctlseqs.ms to simplify a script
3621    which extracts the feature information. See the results in
3622    <a href=
3623    "http://invisible-island.net/xterm/xterm.faq.html#compare_versions">
3624    Comparing versions, by counting controls</a> in the xterm
3625    FAQ.</li>
3626
3627    <li>add <code>docs-clean</code> makefile rule.</li>
3628
3629    <li>add <code>copy-selection</code> action (request by Timo
3630    Juhani Lindfors, Debian #588785).</li>
3631
3632    <li>trim leading/trailing blanks from string used for
3633    "Selection" font-menu data.</li>
3634
3635    <li>trim leading/trailing blanks from color resource
3636    values.</li>
3637
3638    <li>configure script improvements:
3639
3640      <ul>
3641        <li>add workaround for removal of X11 dependency from Xt's
3642        package file (report by Robert Hooker).</li>
3643
3644        <li>add workaround for removal of fontconfig dependency
3645        from Xft's package file (report by Jeremy Huddleston).</li>
3646
3647        <li>add workaround for removal of Xmu dependency from Xaw's
3648        package file (report by Jeremy Huddleston).</li>
3649
3650        <li>improve workaround in <code>CF_X_TOOLKIT</code> macro,
3651        checking for other possible packages where Xt's
3652        dependencies may be given.</li>
3653
3654        <li>prefer <code>${name:=value}</code> to
3655        <code>${name-value}</code>, since recent bash changes break
3656        legacy support for that feature.</li>
3657      </ul>
3658    </li>
3659  </ul>
3660
3661  <h1><a name="xterm_266" id="xterm_266">Patch #266 -
3662  2010/10/24</a></h1>
3663
3664  <ul>
3665    <li>add rpm and dpkg scripts, for testing.</li>
3666
3667    <li>more fixes for Debian #600707 (report by Cyril
3668    Brulebois).</li>
3669  </ul>
3670
3671  <h1><a name="xterm_265" id="xterm_265">Patch #265 -
3672  2010/10/22</a></h1>
3673
3674  <ul>
3675    <li>fix a regression in fontname logic from <a href=
3676    "#xterm_263">patch #263</a> changes (Debian #600707, reported
3677    by Vincent Lefevre).</li>
3678
3679    <li>revert modification of any-event/any-button protocol from
3680    <a href="#xterm_263">patch #263</a> changes. It interferes with
3681    selection using a shifted mouse button (reports by Neil Bird,
3682    Bram Moolenaar).</li>
3683  </ul>
3684
3685  <h1><a name="xterm_264" id="xterm_264">Patch #264 -
3686  2010/10/14</a></h1>
3687
3688  <ul>
3689    <li>replace a null-pointer check with check for empty string in
3690    <code>xtermOpenFont</code>, to eliminate a warning message from
3691    <a href="#xterm_263">patch #263</a> changes.</li>
3692
3693    <li>build-fix for <a href="#xterm_263">patch #263</a> when
3694    toolbar is not configured (patch by Chris Clayton) (reports by
3695    Robby Workman, David Wood).</li>
3696  </ul>
3697
3698  <h1><a name="xterm_263" id="xterm_263">Patch #263 -
3699  2010/10/13</a></h1>
3700
3701  <ul>
3702    <li>corrected initialization of "misc" resource values, to
3703    ensure that xterm has allocated a copy of strings which may not
3704    have been malloc'd by the X library (Debian #600129).</li>
3705
3706    <li>modify handling of any-event/any-button mouse protocol; it
3707    now is active with any combination of key-modifiers.</li>
3708
3709    <li>add debugging feature <code>showWrapMarks</code>, which
3710    marks lines which xterm knows are wrapped, showing where a
3711    double-click will select past the end of a line.</li>
3712
3713    <li>build-fix to address change in include-guards for
3714    <code>Xlib.h</code> in ongoing Xorg edits (patch by Jeremy
3715    Huddleston).</li>
3716
3717    <li>improve <code>pointerMode</code> by continuing to watch for
3718    motion events after mouse tracking is disabled if the pointer
3719    is hidden (Debian #594856).</li>
3720
3721    <li>further extend initialization for active-icon font to check
3722    if the font was not loaded succesfully, to retry with
3723    <code>font1</code>, or as even (if TrueType fonts are used) to
3724    use a TrueType font. The retries are to help with cases as in
3725    <a href="#xterm_241">patch #241</a> where the bitmap fonts are
3726    not available.</li>
3727
3728    <li>fix special case of active-icon used when TrueType font is
3729    specified for the xterm window, from <a href="#xterm_261">patch
3730    #261</a> change. In that case, the default font's size was used
3731    for layout of the active icon's window (Debian #591265).</li>
3732  </ul>
3733
3734  <h1><a name="xterm_262" id="xterm_262">Patch #262 -
3735  2010/8/30</a></h1>
3736
3737  <ul>
3738    <li>fix a case where changing the cursor color via escape
3739    sequences did not immediately update the screen (report by
3740    Andreas Wagner).</li>
3741
3742    <li>implement ANSI and DEC request-mode control sequences. The
3743    latter includes the xterm-specific private modes such as the
3744    mouse mode. The feature is ifdef'd with the rectangle
3745    operations since its decoding overlaps that feature.</li>
3746
3747    <li>correct typo in ctlseqs.ms for response of OSC 21 (patch by
3748    Kevin Schoedel).</li>
3749
3750    <li>improve discussion of mouse tracking in ctlseqs.ms</li>
3751
3752    <li>increase an array limit used in reporting mouse events
3753    (report by Ryan Johnson).</li>
3754
3755    <li>add extended mouse-coordinates mode, allowing up to
3756    2015x2015 windows, using UTF-8 encoding (patch by Ryan
3757    Johnson).</li>
3758
3759    <li>modify manpage hyphens to conform with <a href=
3760    "http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html">
3761    Debian</a>.</li>
3762  </ul>
3763
3764  <h1><a name="xterm_261" id="xterm_261">Patch #261 -
3765  2010/6/28</a></h1>
3766
3767  <ul>
3768    <li>fix regression in <code>renderFont</code> logic, from
3769    <a href="#xterm_260">patch #260</a> changes (report by Joseph
3770    Quinsey).</li>
3771  </ul>
3772
3773  <h1><a name="xterm_260" id="xterm_260">Patch #260 -
3774  2010/6/20</a></h1>
3775
3776  <ul>
3777    <li>modify <code>plink.sh</code> to work around problem linking
3778    to recent PCRE libraries.</li>
3779
3780    <li>extend <code>renderFont</code> resource to allow deferred
3781    switch to TrueType fonts without affecting existing resource
3782    settings (Debian #585620).</li>
3783
3784    <li>modify configure macro CF_X_TOOLKIT to work around omission
3785    of ICE library from ".pc" file (report by Miroslav
3786    Lichvar).</li>
3787
3788    <li>change configure script default for
3789    <code>--enable-broken-st</code> i.e., the
3790    <code>brokenStringTerm</code> feature) to normally enable it.
3791    If the corresponding resource is enabled, this feature
3792    eliminates an apparent freeze of xterm when sending mis-encoded
3793    data to the screen (Debian #584801).</li>
3794
3795    <li>document in manpage some actions which were overlooked:
3796
3797      <ul>
3798        <li>readline-button</li>
3799
3800        <li>scroll-lock</li>
3801
3802        <li>set-8-bit-control</li>
3803      </ul>
3804    </li>
3805
3806    <li>undo a change to limit-check in <code>ScrnRefresh</code> in
3807    <a href="#xterm_257">patch #257</a>, which broke
3808    <code>fastScroll</code> feature (Debian #584841).</li>
3809
3810    <li>modify handling of <code>brokenLinuxOSC</code> and
3811    <code>brokenStringTerm</code> to also sound the bell.</li>
3812
3813    <li>add control/D and control/Q to controls which will cause
3814    early exit from control string per
3815    <code>brokenStringTerm</code> resource.</li>
3816
3817    <li>improve documentation of <code>brokenStringTerm</code>
3818    resource in manpage.</li>
3819  </ul>
3820
3821  <h1><a name="xterm_259" id="xterm_259">Patch #259 -
3822  2010/6/5</a></h1>
3823
3824  <ul>
3825    <li>modify configure check for <a href=
3826    "http://invisible-island.net/luit/">luit</a> to include new
3827    aliases for the program (<code>xterm-filter</code> and
3828    <code>bluit</code>).</li>
3829
3830    <li>add workaround in <code>xtermClearLEDs()</code> to account
3831    for Xkb's override, making vttest's LED demo reset the scroll
3832    lock.</li>
3833
3834    <li>filter out client-message events when deciding whether to
3835    hide cursor, e.g., when using SCIM (patch/report by anonymous
3836    user).</li>
3837
3838    <li>improve description of <code>-bd</code> option in manpage
3839    (report by Guy Daniel Clotilde).</li>
3840
3841    <li>modify configure checks for PCRE and other libraries to use
3842    <code>pkg-config</code>, if available.</li>
3843
3844    <li>amend change from <a href="#xterm_252">patch #252</a>, to
3845    take <code>veryColorColors</code> resource into account when
3846    checking <code>colorBDMode</code> resource for TrueType fonts
3847    (report by anonymous user).</li>
3848
3849    <li>add <code>vttests/query-fonts.pl</code> script for
3850    demonstrating the <code>OSC&nbsp;50</code> font query.</li>
3851
3852    <li>improve manpage discussion of Scroll Lock feature.</li>
3853
3854    <li>improve configure macros CF_GCC_VERSION and
3855    CF_GCC_WARNINGS.</li>
3856
3857    <li>fix warnings for "clang --analyze".</li>
3858
3859    <li>change default for <code>allowScrollLock</code> resource to
3860    <code>false</code>, noting that the supposedly unused key has
3861    been useful for various rebindings (Debian #580946).</li>
3862  </ul>
3863
3864  <h1><a name="xterm_258" id="xterm_258">Patch #258 -
3865  2010/5/1</a></h1>
3866
3867  <ul>
3868    <li>add pointer-checks in <code>ScrnRefresh</code> to fix a
3869    case in rapid scrolling where an empty record is fetched from
3870    the scrollback FIFO.</li>
3871  </ul>
3872
3873  <h1><a name="xterm_257" id="xterm_257">Patch #257 -
3874  2010/4/22</a></h1>
3875
3876  <ul>
3877    <li>correct ctlseqs.ms description of OSC 17 and OSC 19 (patch
3878    by Emanuele Giaquinta).</li>
3879
3880    <li>corrected logic for <code>menuLocale</code> resource; the
3881    <code>setlocale</code> function returns the original locale
3882    only when querying.</li>
3883
3884    <li>improve filtering of translations resource, narrowing the
3885    scope of the <code>alwaysUseMods</code> to address only the
3886    translations that would cause a key to be sent to the host
3887    (report by Andrew Gaylard).</li>
3888
3889    <li>change default value of <code>menuLocale</code> resource to
3890    "C", to work around longstanding <a href=
3891    "http://invisible-island.net/xterm/xterm.faq.html#slow_menus">Xorg
3892    bug</a>.</li>
3893
3894    <li>modify handling of <code>scrollKey</code> feature to ignore
3895    XON/XOFF keys.</li>
3896
3897    <li>implement scroll-lock feature.</li>
3898
3899    <li>revise memory allocation in UTF8toLatin1() to fix an
3900    out-of-bounds index (Mandriva #54531).</li>
3901
3902    <li>compute value for first wide-character rather than assuming
3903    it is 256, fixes problem with <code>-cjk_width</code>
3904    introduced in patches <a href="#xterm_242">242</a> and <a href=
3905    "#xterm_249">249</a> (report by Thomas Wolff).</li>
3906
3907    <li>improve configure script:
3908
3909      <ul>
3910        <li>corrected check for <code>_XOPEN_SOURCE</code> for
3911        OpenSolaris.</li>
3912
3913        <li>when possible, add rpath option for libraries in
3914        unusual places</li>
3915
3916        <li>add configure option <code>--disable-rpath-hack</code>
3917        to control whether the rpath option can be added.</li>
3918      </ul>
3919    </li>
3920
3921    <li>modify <code>AllocateTermColor()</code> to separate
3922    initialization from control sequences, fixing problem from
3923    <a href="#xterm_254">patch #254</a> changes where enabling
3924    <code>allowSendEvents</code> resource prevents setting cursor
3925    color on command-line (Debian #572928).</li>
3926
3927    <li>amend logic from <a href="#xterm_185">patch #185</a> to not
3928    reallocate cell-array if processing
3929    <code>ESC&nbsp;%&nbsp;G</code> to switch from UTF-8 if already
3930    in ISO-8859-1 character set (report by Michael Koehne).</li>
3931
3932    <li>fix to avoid calling <code>XmuInternStrings()</code> with
3933    zero count (report by Johan Bockg&aring;rd).</li>
3934
3935    <li>fix build when --disable-ansi-color configure option is
3936    used.</li>
3937
3938    <li>fix build when neither OPT_TCAP_QUERY or OPT_TCAP_FKEYS is
3939    defined (patch by Matthieu Herrb)</li>
3940  </ul>
3941
3942  <h1><a name="xterm_256" id="xterm_256">Patch #256 -
3943  2010/3/6</a></h1>
3944
3945  <ul>
3946    <li>add TerminalEmulator to desktop category files.</li>
3947
3948    <li>modify <code>sinstall.sh</code> to ignore the "." appended
3949    to permissions by selinux.</li>
3950
3951    <li>change app-defaults organization, installing UXTerm-color
3952    and KOI8XTerm-color for consistent behavior regarding
3953    <code>customization:&nbsp;color</code> (prompted by discussion
3954    in Ubuntu #421261).</li>
3955
3956    <li>fix typo in <code>minstall.sh</code> from <a href=
3957    "#xterm_255">patch #255</a> changes, and add case for
3958    <code>/var/run</code> needed for full path of utmp (report by
3959    Julien Cristau).</li>
3960
3961    <li>minor fix to xterm manpage, remove a comment stating that
3962    margin bell can be changed via the VT Options menu. That was
3963    replaced in <a href="#xterm_225">patch #225</a></li>
3964
3965    <li>add a "docs" rule to makefile.</li>
3966
3967    <li>fix initialization of Atom used for <code>XkbBell</code>
3968    feature from <a href="#xterm_243">patch 243</a> changes. Unlike
3969    the other calls to <code>XInternAtom()</code>, in this case the
3970    flag telling X to create the Atom was unset (patch by Chris
3971    Adams).</li>
3972  </ul>
3973
3974  <h1><a name="xterm_255" id="xterm_255">Patch #255 -
3975  2010/1/21</a></h1>
3976
3977  <ul>
3978    <li>rename <code>install.sh</code> to <code>install-sh</code>
3979    in case suffix-rules might interfere.</li>
3980
3981    <li>extend range for <code>convertToUTF8</code> function to
3982    full 31-bits, to use with printing, etc.</li>
3983
3984    <li>improve manpage by checking for actual locations of
3985    utmp/wtmp files (Debian #562640).</li>
3986
3987    <li>modify configure macro CF_XOPEN_SOURCE to remove -D's
3988    before adding the same name rather than relying on -U's, to
3989    reduce redefinition warnings for some platforms that have
3990    conflicting definitions in headers.</li>
3991
3992    <li>correct logic used to switch to alternate screen using
3993    FIFO-lines configuration (Debian #565772).</li>
3994
3995    <li>update config.guess, config.sub</li>
3996  </ul>
3997
3998  <h1><a name="xterm_254" id="xterm_254">Patch #254 -
3999  2010/1/6</a></h1>
4000
4001  <ul>
4002    <li>add a configure-check to eliminate <code>install-ti</code>
4003    rule from Makefile when the system has no tic (terminfo
4004    compiler) program. This lets one use the
4005    <code>install-full</code> rule more consistently.</li>
4006
4007    <li>amend change to WriteText() function in <a href=
4008    "#xterm_252">patch #252</a> to take into account the
4009    <code>colorAttrMode</code> resource (report by Krzysztof
4010    Kotlenga).</li>
4011
4012    <li>document <code>titleModes</code> resource in manpage, added
4013    in <a href="#xterm_252">patch #252</a>.</li>
4014
4015    <li>modify tcap-query table entries for shifted up/down cursor
4016    keys to match ncurses convention.</li>
4017
4018    <li>improve lookup of termcap-query data, allowing for
4019    duplicate keycodes versus missing entries.</li>
4020
4021    <li>add control sequence which can be used to modify the
4022    terminal data used for the termcap-keyboard.</li>
4023
4024    <li>improve portability of tcap-query feature, using terminfo
4025    functions in preference to termcap on systems having
4026    terminfo.</li>
4027
4028    <li>improve font-setting/querying control
4029    (<code>OSC&nbsp;50</code>):
4030
4031      <ul>
4032        <li>when TrueType font is selected, the TrueType
4033        <code>faceName</code> will be set, rather than the bitmap
4034        font.</li>
4035
4036        <li>when TrueType font is selected, querying returns the
4037        name of the TrueType font.</li>
4038
4039        <li>querying a font recognizes the relative-font convention
4040        that setting a font could use.</li>
4041      </ul>
4042    </li>
4043
4044    <li>add menu-entry for allowColorOps.</li>
4045
4046    <li>add new resources for fine-tuning menu entries:
4047    <code>allowColorOps</code>, <code>disallowedColorOps</code>,
4048    <code>disallowedFontOps</code> and
4049    <code>disallowedTcapOps</code>.</li>
4050
4051    <li>correct logic for disabling the "TrueType Fonts" menu item;
4052    it was not ensuring that the <code>faceName</code> resource
4053    value was non-empty.</li>
4054
4055    <li>implement VT520-style controls <code>DECSMBV</code> and
4056    <code>DECSWBV</code> for setting the margin- and warning-bell
4057    volume.</li>
4058
4059    <li>fix a minor error from <a href="#xterm_243">patch #243</a>
4060    which made the zIconBeep feature use a minor-error tone rather
4061    than an informational tone.</li>
4062
4063    <li>add a null-pointer check for the case where
4064    <code>renderFont</code> resource is true, but
4065    <code>faceName</code> resource is unset, used in logic to strip
4066    "xft:" prefix from <a href="#xterm_251">patch #251</a> changes
4067    (patch by Michael Riepe).</li>
4068
4069    <li>add special case to configure CF_XOPEN_SOURCE macro to use
4070    extensions on Darwin (patch by Dennis Preiser).</li>
4071
4072    <li>improve configure checks for regular expressions header and
4073    library</li>
4074
4075    <li>update config.guess, config.sub</li>
4076  </ul>
4077
4078  <h1><a name="xterm_253" id="xterm_253">Patch #253 -
4079  2009/12/10</a></h1>
4080
4081  <ul>
4082    <li>add a null-pointer check in <code>getPrinterFlags()</code>
4083    per changes in <a href="#xterm_252">patch #252</a>.</li>
4084
4085    <li>add a null-pointer check, needed in UTF-8 mode for Xft
4086    fonts after changes in <a href="#xterm_252">patch #252</a>
4087    (patch by Alan Coopersmith).</li>
4088
4089    <li>correct size when clearing struct for tek4014 (patch by
4090    Jochen Voss).</li>
4091
4092    <li>parenthesize expression in <code>MoreRows</code> macro,
4093    fixing a limit check added in <a href="#xterm_251">patch
4094    #251</a> (Debian #560039).</li>
4095  </ul>
4096
4097  <h1><a name="xterm_252" id="xterm_252">Patch #252 -
4098  2009/12/7</a></h1>
4099
4100  <ul>
4101    <li>modify title-querying logic to support retrieval of titles
4102    encoded using UTF-8.</li>
4103
4104    <li>add new "title-modes" control sequence for controlling
4105    whether window/icon titles can be set or queried using UTF-8,
4106    optionally encoded in a hexadecimal string.</li>
4107
4108    <li>use <code>mkdir&nbsp;-p</code> rather than
4109    <code>mkdirs.sh</code> (prompted by discussion of mawk by
4110    Aleksey Cheusov).</li>
4111
4112    <li>add appropriate copyright/license notices to the bulk of
4113    files lacking same, and modify to use identical terms in others
4114    which used different wording. The main exceptions are the files
4115    contributed by Markus Kuhn, who appears to prefer public domain
4116    distribution, noting that I have modified/improved several of
4117    these without changing the terms of distribution (request by
4118    Jari Aalto).</li>
4119
4120    <li>add control sequences for resetting the "dynamic" colors to
4121    their default values.</li>
4122
4123    <li>add control sequences for resetting the "special" colors to
4124    their default values.</li>
4125
4126    <li>add control sequences for setting the "special" colors such
4127    as <code>colorBD</code> (bold).</li>
4128
4129    <li>add overlooked case for setting highlight foreground color
4130    with the dynamic-colors control.</li>
4131
4132    <li>add <code>OSC 104</code>, for resetting ANSI/16/88/256
4133    colors to default.</li>
4134
4135    <li>reset ANSI/16/88/256 colors to default in soft/hard reset
4136    functions.</li>
4137
4138    <li>strip "xft:" prefix from <code>faceName</code> and
4139    <code>faceNameDoublesize</code> resource values,</li>
4140
4141    <li>add <code>DECSCUSR</code> (discussion with Andy
4142    Koppe).</li>
4143
4144    <li>add check/warning on failure to load font, to see if the
4145    name looks like an Xft pattern rather than XLFD. This can
4146    happen if someone happens to modify their X resource settings
4147    for programs that read data from xterm's namespace.</li>
4148
4149    <li>modify handling of <code>print</code> and
4150    <code>print-everything</code> actions to allow the various
4151    printer flags to be overridden by supplying parameters.</li>
4152
4153    <li>add resource <code>printerNewLine</code> (request by Ovidiu
4154    Gheorghioiu).</li>
4155
4156    <li>minor cleanup, finish using <code>TScreenOf()</code> and
4157    <code>TekScreenOf()</code> macros introduced in <a href=
4158    "#xterm_224">patch #224</a>.</li>
4159
4160    <li>improve checks in ShowCursor/HideCursor to get the
4161    background color, particularly when
4162    <code>highlightReverse</code> resource is used (reports by Jan
4163    Engelhardt, Christian Weisgerber).</li>
4164
4165    <li>correct <code>checkVeryBoldAttr</code> to omit comparison
4166    of foreground color to special color values used for
4167    <code>color&lt;XX&gt;</code> resources (report by Jan
4168    Engelhardt).</li>
4169
4170    <li>make <code>colorBDMode</code> and <code>colorULMode</code>
4171    resources work with TrueType configuration (report by Jan
4172    Engelhardt).</li>
4173  </ul>
4174
4175  <h1><a name="xterm_251" id="xterm_251">Patch #251 -
4176  2009/11/11</a></h1>
4177
4178  <ul>
4179    <li>add window-ops controls to push/pop icon and/or window
4180    labels on a stack.</li>
4181
4182    <li>minor fixes to align termcap file with terminfo.</li>
4183
4184    <li>add resource <code>disallowedWindowOps</code>, to allow
4185    fine-tuning of features to suppress with the
4186    <code>allowWindowOps</code> resource (prompted by discussion
4187    with Bram Moolenaar).</li>
4188
4189    <li>add makefile rules for resize-manpage to pdf, etc.</li>
4190
4191    <li>further improve limit-checks in select/paste (Mandriva
4192    #54531).</li>
4193  </ul>
4194
4195  <h1><a name="xterm_250" id="xterm_250">Patch #250 -
4196  2009/10/13</a></h1>
4197
4198  <ul>
4199    <li>add check and error-message for fonts that have no
4200    printable values in the ISO-8859-1 range (Debian #542434).</li>
4201
4202    <li>some compiler-warning cleanup, in particular workaround for
4203    defective implementation of gcc's attribute warn_unused_result
4204    (report by Bram Moolenaar).</li>
4205
4206    <li>improve estimate of single-column width for packed TrueType
4207    fonts by ignoring extents for codes 127 and 159.</li>
4208
4209    <li>improve line-drawing for TrueType fonts which happen to
4210    have defined glyphs which are <em>not</em> line-drawing in
4211    0..31 by assuming they're not, and just checking the existence
4212    of the Unicode codepoints. This makes it more likely that the
4213    user can override a misconfigured font using the "Line-Drawing
4214    Characters" menu entry.</li>
4215
4216    <li>limit minimum cell-width for packed font to maximum-advance
4217    reported by Xft. Some fonts are wider than that, even in the
4218    Latin-1 range (Debian #550497).</li>
4219
4220    <li>add list of direct-contributors in "THANKS" file.</li>
4221
4222    <li>stylistic changes to this file to help scripted extraction
4223    of list of contributors.</li>
4224
4225    <li>correct off-by-one in <code>okPosition</code> fix from
4226    <a href="#xterm_249">patch #249</a> limit-checks which
4227    prevented double-click selection on the bottom line of the
4228    screen (reports by Rajeev V. Pillai, Debian #550368).</li>
4229
4230    <li>add <code>-q</code> option to
4231    <code>vttest/256colors2.pl</code> and
4232    <code>vttest/88colors2.pl</code> to demonstrate bulk
4233    initialization of color palette.</li>
4234
4235    <li>improve the workaround from patch #188 by enabling
4236    resources for the 88-color model.</li>
4237
4238    <li>document in xterm manpage the limited availability of
4239    resources <code>color16</code> to <code>color255</code> as
4240    noted in <a href="#xterm_188">patch #188</a> (Ubuntu
4241    #438850).</li>
4242  </ul>
4243
4244  <h1><a name="xterm_249" id="xterm_249">Patch #249 -
4245  2009/10/1</a></h1>
4246
4247  <ul>
4248    <li>change default for <code>allowWindowOps</code> resource to
4249    false. 
4250    <!-- on the other hand, gnome-terminal, pterm and rxvt-unicode
4251                leave most of the related functionality enabled ;-) --></li>
4252
4253    <li>add limit-checks for result of visual_width() function,
4254    needed from <a href="#xterm_242">patch #242</a> and exposed by
4255    #244 changes (Debian #548321).</li>
4256
4257    <li>improve limit-checks in select/paste.</li>
4258
4259    <li>fix a remaining bug from <a href="#xterm_230">patch
4260    #230</a> changes for displaying multi-column characters in a
4261    proportional font (report by Chris Jones).</li>
4262
4263    <li>add new resource forcePackedFont and menu entry "Packed
4264    Font" to control whether to use the font's minimum (default) or
4265    maximum width when those differ. The workaround which xterm
4266    uses to accommodate proportional fonts is not necessary with
4267    certain fonts such as unifont which happen to store a mixture
4268    of multicolumn glyphs (report by Chris Jones).</li>
4269
4270    <li>fix an (old) bug which did not restart the timer for
4271    blinking text if the only blinking text was temporarily
4272    scrolled out of view, e.g., using the scrollbar.</li>
4273
4274    <li>fix an (old) flaw in the delete-line operation where the
4275    text which is scrolled into view while the display is scrolled
4276    up was not repainted.</li>
4277
4278    <li>improve delete-line and insert-line operations, retaining
4279    selection when the selection does not intersect the
4280    deleted/inserted lines.</li>
4281
4282    <li>fix an (old) off-by-one error when an application cleared
4283    above the cursor position while the display was scrolled up,
4284    that would leave an extra line of text uncleared.</li>
4285
4286    <li>fix a similar problem where the double-size attribute would
4287    not be reset when clearing the screen while the display was
4288    scrolled up.</li>
4289
4290    <li>fix an indexing error which would occur if an application
4291    cleared a line while the display was scrolled up and was also
4292    in UTF-8 mode (Redhat #524503). The error was from <a href=
4293    "#xterm_228">patch #228</a> but more visible after changes from
4294    <a href="#xterm_244">patch #244</a>.</li>
4295  </ul>
4296
4297  <h1><a name="xterm_248" id="xterm_248">Patch #248 -
4298  2009/9/11</a></h1>
4299
4300  <ul>
4301    <li>fix an overlooked adjustment for selecting double-width
4302    characters in the narrow-character configuration.</li>
4303
4304    <li>eliminate uses of <code>XTERM_CELL</code> and
4305    <code>XTERM_CELLC</code> where an appropriate
4306    <code>LineData</code> pointer is available.</li>
4307
4308    <li>correct expression in <code>okScrnRow</code> macro, making
4309    selections give the length of lines below the visible screen
4310    (report by Stuart Henderson).</li>
4311
4312    <li>correct logic used to improve performance of missing-glyph
4313    check, which did not handle line-drawing characters (Debian
4314    #545220).</li>
4315  </ul>
4316
4317  <h1><a name="xterm_247" id="xterm_247">Patch #247 -
4318  2009/8/30</a></h1>
4319
4320  <ul>
4321    <li>add ifdef's and check for openpty() on DragonFly (patch by
4322    Alex Hornung).</li>
4323
4324    <li>correct calculation for size of line's data block, which
4325    was sometimes off-by-one when configured using
4326    <code>--enable-16bit-chars</code> (report by H Merijn
4327    Brand).</li>
4328
4329    <li>fix indexing error in print-everything feature from
4330    <a href="#xterm_246">patch #246</a> (patch by Ovidiu
4331    Gheorghioiu).</li>
4332  </ul>
4333
4334  <h1><a name="xterm_246" id="xterm_246">Patch #246 -
4335  2009/8/16</a></h1>
4336
4337  <ul>
4338    <li>remove obsolete logic for saving/restoring wrapping flags,
4339    which did not work on 64-bit platform. Wrapping flags (stored
4340    in the line-index) are now copied with line-data (Debian
4341    #541160).</li>
4342
4343    <li>modify comments in app-defaults files to avoid problem with
4344    C preprocessor used by <code>xrdb</code> (Debian #541603).</li>
4345
4346    <li>restore special case in <code>makeColorPair</code>, needed
4347    for <code>colorBDMode</code> resource (Debian #541089).</li>
4348
4349    <li>correct <code>SetLineFlags()</code> macro, broken in
4350    <a href="#xterm_244">patch #244</a> when recoding to avoid
4351    gcc-specific bitfields (Debian #541236).</li>
4352
4353    <li>modify initialization of screen buffers to ensure that
4354    pointers align to int-boundaries. This fixes a problem
4355    introduced in <a href="#xterm_244">patch #244</a> where the
4356    color- and character-arrays (stored after the video-attributes
4357    in each row) might be misaligned (report by Rajeev V
4358    Pillai).</li>
4359
4360    <li>add limit-check in <code>ScrnRefresh</code> for handling
4361    saved-lines from the circular buffer which are repainted on a
4362    screen whose width has increased. To improve performance,
4363    circular buffer entries are not resized (report by Rajeev V
4364    Pillai).</li>
4365
4366    <li>correct type for <code>CellColor</code> (a late change in
4367    <a href="#xterm_244">patch #244</a> to avoid gcc-specifc enums
4368    made that unsigned rather than unsigned short, for the
4369    256-color option).</li>
4370
4371    <li>fix typo in configure option --enable-16bit-chars (report
4372    by Rajeev V. Pillai).</li>
4373  </ul>
4374
4375  <h1><a name="xterm_245" id="xterm_245">Patch #245 -
4376  2009/8/12</a></h1>
4377
4378  <ul>
4379    <li>correct a special case in saving FIFO-lines from <a href=
4380    "#xterm_244">patch #244</a>. If the screen was shrunk, xterm
4381    used the wrong amount for copying to FIFO-lines, and then used
4382    this amount to adjust the current row on the screen. That was
4383    both a visible defect (Debian #541109) as well as a potential
4384    addressing error (Debian #541132, Debian #541160, and Debian
4385    #541236).</li>
4386
4387    <li>add clarification in xterm manual about the various
4388    <code>allow<em>XXX</em>Ops</code> resources, which are disabled
4389    when the <code>allowSendEvents</code> resource is active (patch
4390    by Julien Cristau, Debian #531597).</li>
4391  </ul>
4392
4393  <h1><a name="xterm_244" id="xterm_244">Patch #244 -
4394  2009/8/9</a></h1>
4395
4396  <ul>
4397    <li>refactored storage of saved-lines, providing a configure
4398    option to manage them as a FIFO (actually a circular buffer),
4399    improving performance. Added configure option
4400    <code>--enable-fifo-lines</code> to enable/disable the new
4401    feature (it is enabled by default).</li>
4402
4403    <li>added <code>fastScroll</code> resource, to amuse people who
4404    measure terminal emulator performance by <code>cat</code>'ing
4405    large files to the screen.</li>
4406
4407    <li>modify check in <code>readPtyData</code> from return values
4408    to provide exit on zero-bytes read from pty for FreeBSD, or
4409    eliminate high-CPU in "xterm-hold" processing (discussion with
4410    Ulrich Spoerlein, FreeBSD ports/136686). The check was
4411    originally modified to combine negative/zero values in
4412    XFree86-3.1.2E, 1996/05/06.</li>
4413
4414    <li>add configure option <code>--enable-16bit-chars</code> to
4415    provide wide-characters with 16-bits (rather than the default
4416    32-bits).</li>
4417
4418    <li>add <code>retryInputMethod</code> resource to allow
4419    configuring out the retries xterm uses to connect to
4420    non-responsive XIM server, to work around defective X
4421    configurations as noted in <a href=
4422    "http://mail-index.netbsd.org/tech-x11/2009/06/07/msg000511.html">
4423    NetBSD mailing list</a>.</li>
4424
4425    <li>make regular-expression selection work for VT100
4426    double-sized characters.</li>
4427
4428    <li>improve layout when drawing missing characters in a
4429    proportional font, e.g., as boxes, to take into account whether
4430    they are double-width (report by Guilbert Stabilo on
4431    comp.unix.shell).</li>
4432
4433    <li>add capability for keypad-center (kb2/KA2) to termcap entry
4434    for xterm-new, as well as xterm-8bit, xterm-sun and xterm-vt220
4435    (FreeBSD conf/136336).</li>
4436
4437    <li>change default for <code>keepSelection</code> resource to
4438    true (prompted by discussion with David Muir Sharnoff).</li>
4439
4440    <li>remove a limit-check in ptydata.c, allowing Unicode values
4441    past 64k to be displayed using TrueType fonts (Debian
4442    #458432).</li>
4443
4444    <li>remove a vt52-specific ifdef to allow mapping F1-F4 to
4445    PF1-PF4 when vt52 support is not compiled (report by Olaf
4446    'Rhialto' Seibert).</li>
4447
4448    <li>save/restore line-wrapping flags when converting from
4449    ISO-8859-1 encoding to UTF-8 encoding, as well as when resizing
4450    screen.</li>
4451
4452    <li>remove extra adjustment of position in fix for Debian
4453    #418324.</li>
4454
4455    <li>modify default check for <code>mkWidth</code> resource to
4456    check for line-drawing characters, which are categorized as
4457    double-width in Solaris 10 (report by Sebastian Kayser).</li>
4458
4459    <li>add "print-everything" action (patch by Ovidiu
4460    Gheorghioiu).</li>
4461
4462    <li>start refactoring scrollback data using new getLineData()
4463    function.</li>
4464
4465    <li>demote recent change to Debian #252873 fix to experimental,
4466    ifdef'd out as <code>EXP_BOGUS_FG</code> (Debian #522141).</li>
4467
4468    <li>work around groff mapping of ASCII quotes using macros
4469    (requested by Reuben Thomas based on Colin Watson advice, fixes
4470    Debian #378700).</li>
4471
4472    <li>correct symbol used for default of
4473    <code>allowWindowOps</code> which was
4474    <code>DEF_ALLOW_FONT</code> rather than
4475    <code>DEF_ALLOW_WINDOW</code> (report by Matthieu Herrb).</li>
4476
4477    <li>amend fix for tek4014 from <a href="#xterm_243">patch
4478    #243</a> to make it only apply to the Tek Options menu.</li>
4479  </ul>
4480
4481  <h1><a name="xterm_243" id="xterm_243">Patch #243 -
4482  2009/3/28</a></h1>
4483
4484  <ul>
4485    <li>revert change to default for <code>allowTcapOps</code>
4486    (request by Bram Moolenaar).</li>
4487
4488    <li>reallocate result returned by <code>xtermEnvLocale()</code>
4489    to avoid reference to freed memory after handling
4490    <code>menuLocale</code> resource.</li>
4491
4492    <li>fix an old (X11R5) bug in tek4014 for switching
4493    fontsizes.</li>
4494
4495    <li>add resource <code>defaultString</code> to make
4496    configurable the use of "#" when pastes of UTF-8 text fail due
4497    to limitations in the current locale settings.</li>
4498
4499    <li>make the set of selection target Atom's configurable by two
4500    new resources <code>eightBitSelectTypes</code> and
4501    <code>utf8SelectTypes</code>, e.g., to use the
4502    <code>TEXT</code> Atom in preference to
4503    <code>UTF8_STRING</code> (discussion with Stanislav Sedov
4504    regarding koi8rxterm and the FreeBSD port).</li>
4505
4506    <li>modify handling of <code>TARGETS</code> Atom by making it
4507    return exactly the set of targets as those which xterm is
4508    currently providing.</li>
4509
4510    <li>set <code>MANPAGER</code> and <code>PAGER</code> explicitly
4511    to /bin/cat in <code>minstall.sh</code> to work around
4512    /etc/man.conf's with those variables already set (report by
4513    &#1052;&#1072;&#1088;&#1100;&#1103;&#1089;&#1080;&#1085;
4514    &#1057;&#1077;&#1084;&#1105;&#1085;).</li>
4515
4516    <li>improve error-checking of tcap-query parser.</li>
4517
4518    <li>add check for keyboard <code>tcap</code>), which ensures
4519    that terminal descriptions containing the same string for
4520    shifted/unshifted keys will be seen by tcap-query as only the
4521    unshifted key. (This would only happen with an incorrect
4522    terminal description).</li>
4523
4524    <li>fix conversion for input event-state to modifier-parameter
4525    which made tcap-query feature not work with
4526    <code>tcapFunctionKeys</code> (keyboard type
4527    <code>tcap</code>).</li>
4528
4529    <li>add "DEF_ALLOW_<em>XXX</em>" definitions to main.h to allow
4530    overriding the default compiled-in values for
4531    "allow<em>xxx</em>" resources.</li>
4532
4533    <li>remove check on bell-percentage added in <a href=
4534    "#xterm_242">patch #242</a>, which disallowed zero/negative
4535    values (Redhat Bugzilla #487829).</li>
4536  </ul>
4537
4538  <h1><a name="xterm_242" id="xterm_242">Patch #242 -
4539  2009/2/15</a></h1>
4540
4541  <ul>
4542    <li>fix configure check for <code>XkbBell</code> and provide
4543    appropriate parameter for it.</li>
4544
4545    <li>fix a caching problem with double-size fonts versus reverse
4546    video that could cause core dump.</li>
4547
4548    <li>repair double-size fonts from workaround used in <a href=
4549    "#xterm_240">patch #240</a>.</li>
4550
4551    <li>add new section to the VT Fonts menu which allows enabling
4552    or disabling the font, termcap (tcap-query), title and window
4553    operations.</li>
4554
4555    <li>add <code>fontWarnings</code> resource, to control whether
4556    to show warnings on failure to load a font.</li>
4557
4558    <li>improve warnings for unloadable fonts introduced in
4559    <a href="#xterm_240">patch #240</a> by limiting those to the
4560    cases where a font would be specified directly by a resource
4561    setting rather than a derived fontname.</li>
4562
4563    <li>further amend fix for Debian #252873 from <a href=
4564    "#xterm_197">patch #197</a> to treat a blank cell which does
4565    not have both foreground and background colored as a
4566    non-colored cell. This improves a special case where the cursor
4567    is on a blank cell which had foreground color scrolled in
4568    (report by Miroslav Lichvar).
4569
4570      <p>Also add the same logic when hiding cursor, so the outline
4571      matches the in-focus cursor.</p>
4572    </li>
4573
4574    <li>modify internals to reduce places PAIRED_CHARS() is used,
4575    making WriteText() and ScrnWriteText() accept IChar array, as
4576    well as providing a wrapper for drawXtermText().</li>
4577
4578    <li>change default XIM font from "*" to "fixed" to improve
4579    startup time in zh_CN.UTF-8 locale (Mike Fabian, SuSE Bugzilla
4580    #464930).</li>
4581
4582    <li>typo in #240 log (Slava Semushin)</li>
4583  </ul>
4584
4585  <h1><a name="xterm_241" id="xterm_241">Patch #241 -
4586  2009/1/26</a></h1>
4587
4588  <ul>
4589    <li>improve checks for missing bitmap fonts, fallback to
4590    "fixed" as needed to work around broken font-packages (report
4591    by Jacek Luczak).</li>
4592
4593    <li>fix breakage from <a href="#xterm_240">patch #240</a>
4594    changes for <code>xtermAddInput()</code> (patches by Jeff Chua,
4595    Julien Cristau).</li>
4596  </ul>
4597
4598  <h1><a name="xterm_240" id="xterm_240">Patch #240 -
4599  2009/1/25</a></h1>
4600
4601  <ul>
4602    <li>use <code>plink.sh</code> for linking xterm (suggested by
4603    Larry Doolittle).</li>
4604
4605    <li>add resource descriptions for input method to xterm
4606    manpage.</li>
4607
4608    <li>update configure script; consistently append to $CFLAGS
4609    rather than prepend.</li>
4610
4611    <li>add <code>install-scripts</code> rule to makefile, to allow
4612    koi8rxterm and uxterm scripts to be altered independently of
4613    <code>install-bin</code></li>
4614
4615    <li>add <code>-maximized</code> command-line option and
4616    corresponding resource (prompted by alt.os.linux newsgroup
4617    comment).</li>
4618
4619    <li>modify translations of scrollbar widget using
4620    <code>xtermAddInput()</code> (see <a href="#xterm_181">patch
4621    #181</a>) to accept the actions that the vt100 widget accepts,
4622    such as shift-insert to perform a paste operation (request by
4623    Martin Zwickel).</li>
4624
4625    <li>change default for <code>allowTcapsOps</code> resource to
4626    false, since it causes unexpected behavior for vim users with
4627    <code>AltGr</code>.</li>
4628
4629    <li>update config.guess, config.sub</li>
4630  </ul>
4631
4632  <h1><a name="xterm_239" id="xterm_239">Patch #239 -
4633  2009/1/8</a></h1>
4634
4635  <ul>
4636    <li>correct a cast in input.c, which broke translation of
4637    numeric keypad codes to pageup, pagedown, etc., on 64-bit
4638    platform (Debian #511138, report by Larry Doolittle).</li>
4639  </ul>
4640
4641  <h1><a name="xterm_238" id="xterm_238">Patch #238 -
4642  2008/12/30</a></h1>
4643
4644  <ul>
4645    <li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
4646    platforms.</li>
4647
4648    <li>reset the screen wrapping-flag at the end of
4649    <code>ClearRight</code> to fix an occasional case where the
4650    last character of a scrolled and wrapped line would be cleared
4651    (patch by Joe Peterson).</li>
4652
4653    <li>modify to use POSIX coding for comparing resource settings
4654    such as <code>locale</code>, to work with locales such as
4655    Turkish (report by M Vefa Bicakci).</li>
4656
4657    <li>turn on configure <code>paste64</code> feature by default
4658    (request by Jean-Philippe Bernardy). It is runtime
4659    enabled/disabled with <code>allowWindowOps</code>.</li>
4660
4661    <li>turn on configure <code>tcap-query</code> feature by
4662    default, add resource <code>allowTcapOps</code> to make this
4663    runtime enabled/disabled.</li>
4664
4665    <li>make <code>OSC 3</code> (change X property, from <a href=
4666    "#xterm_110">patch #110</a>) subject to
4667    <code>allowWindowOps</code> resource.</li>
4668
4669    <li>make VT220 <code>DSR</code> responses inactive in
4670    VT100-mode.</li>
4671
4672    <li>make <code>DECUDK</code> feature inactive in
4673    VT100-mode.</li>
4674
4675    <li>respond to incorrectly formatted <code>DECRQSS</code> with
4676    a cancel.</li>
4677
4678    <li>add <code>allowFontOps</code> resource to allow the
4679    fontsize-switching and font query/set control sequences to be
4680    enabled/disabled (prompted by Debian #510030).</li>
4681
4682    <li>some code cleanup based on gcc 4.x
4683    <code>-Wconversion</code> warnings in button.c and
4684    charproc.c</li>
4685
4686    <li>modify <code>tcap-query</code> feature to not return data
4687    for shifted cursor-keys when the keyboard type is set to vt220,
4688    since returning the same string for shifted/unshifted keys may
4689    confuse some applications (Gentoo #212546).</li>
4690  </ul>
4691
4692  <h1><a name="xterm_237" id="xterm_237">Patch #237 -
4693  2008/09/14</a></h1>
4694
4695  <ul>
4696    <li>improve usability of TrueType fonts by making the font-size
4697    switching for shifted keypad plus/minus use the
4698    <code>faceSize</code> resources to determine the order of fonts
4699    (when TrueType fonts are used) rather than the bitmap fonts,
4700    since their sizes may not be in the same order (report by H
4701    Merijn Brand)</li>
4702
4703    <li>remove an optimization of <code>ConfigureNotify</code>
4704    events from <a href="#xterm_236">patch #236</a> which seems to
4705    interfere with passing <code>SIGWINCH</code> to applications
4706    (Gentoo #233836).</li>
4707
4708    <li>modify handling of <code>altSendsEscape</code> to reset the
4709    <code>eightBitInput</code> mode, like
4710    <code>metaSendsEscape</code> (patch by Ted Phelps).</li>
4711
4712    <li>add feature to show the text-cursor as an underline rather
4713    than a box, plus command-line options <code>-uc</code> and
4714    <code>+uc</code> and resource <code>cursorUnderLine</code> to
4715    control the feature (patch by Paul Lampert).</li>
4716
4717    <li>update config.guess, config.sub</li>
4718  </ul>
4719
4720  <h1><a name="xterm_236" id="xterm_236">Patch #236 -
4721  2008/07/27</a></h1>
4722
4723  <ul>
4724    <li>correct memory reallocation when handling a paste of UTF-8
4725    text from <a href="#xterm_225">patch #225</a> changes
4726    (report/patch by Max Mikhanosha).</li>
4727
4728    <li>correct allocation of temporary buffer in
4729    <code>xtermFindShell</code> in case the user's
4730    <code>$PATH</code> contains no ":" (report/analysis by Victor
4731    Stinner, Freedesktop.Org Bugzilla #16790).</li>
4732
4733    <li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to
4734    fix new compile problem exposed by fix for fd_mask (patch by
4735    Hasso Tepper).</li>
4736
4737    <li>add configure-check for ncurses
4738    <code>use_extended_names</code>, (report by Martin
4739    Mokrejs).</li>
4740
4741    <li>correct computation for toolbar height; layout manager
4742    already takes into account <code>borderWidth</code>
4743    resource.</li>
4744
4745    <li>implement VT320-style SCS (select character set) for ISO
4746    Latin-1 supplemental.</li>
4747
4748    <li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu
4749    #230919).</li>
4750
4751    <li>fix to make <code>luit</code> work with xterm's
4752    <code>-ls</code> option (report/patch by Marius Tolzmann).</li>
4753
4754    <li>update config.guess, config.sub</li>
4755  </ul>
4756
4757  <h1><a name="xterm_235" id="xterm_235">Patch #235 -
4758  2008/04/20</a></h1>
4759
4760  <ul>
4761    <li>add control sequences for some of the recent resource/menu
4762    settings:
4763
4764      <ul>
4765        <li><code>altSendsEscape</code> (private mode 1039)</li>
4766
4767        <li><code>keepSelection</code> (private mode 1040)</li>
4768
4769        <li><code>selectToClipboard</code> (private mode 1041)</li>
4770
4771        <li><code>bellIsUrgent</code> (private mode 1042)</li>
4772
4773        <li><code>popOnBell</code> (private mode 1043)</li>
4774      </ul>
4775    </li>
4776
4777    <li>add resource <code>formatOtherKeys</code> to provide an
4778    alternate escape sequence format for the
4779    <code>modifyOtherKeys</code> resource (request by Paul LeoNerd
4780    Evans).</li>
4781
4782    <li>adjust saved-cursor position if the window is resized while
4783    displaying the alternate screen (Novell #196880, Debian
4784    #383384).</li>
4785
4786    <li>improve pointer-checks to fix a bug exposed by resizing
4787    during initialization under StumpWM window manager (Fedora
4788    Bugzilla #437928).</li>
4789
4790    <li>modify <code>unselectwindow()</code> to ensure that the
4791    mouse pointer is not hidden after xterm loses focus (report by
4792    Jeremy Huddleston).</li>
4793
4794    <li>add special check for fd_mask on Mac OS X (report by Jeremy
4795    Huddleston).</li>
4796
4797    <li>add <code>dylib</code> to autoconf's suffix list used for
4798    checking the result from <code>xmkmf</code>, to work with Mac
4799    OS X (report by Jeremy Huddleston).</li>
4800
4801    <li>correct initialization of bold- and wide-, wide-bold fonts
4802    which may be set via the <code>utf8Fonts</code> subresource
4803    (Debian #347790).</li>
4804  </ul>
4805
4806  <h1><a name="xterm_234" id="xterm_234">Patch #234 -
4807  2008/03/02</a></h1>
4808
4809  <ul>
4810    <li>modify <code>sinstall.sh</code> to use POSIX locale to
4811    bypass GNU ls changes to date-format.</li>
4812
4813    <li>improved/refined changes for closing bitmap font (patch by
4814    Andrea Odetti).</li>
4815
4816    <li>improve resize computation for situations where the
4817    negotiation fails, by invoking the xterm widget's core-class
4818    resize method (Debian #365602, patch by Jim Paris).</li>
4819
4820    <li>restore initialization of terminal's <code>VMIN</code> and
4821    <code>VTIME</code> settings, from <a href="#xterm_232">patch
4822    #232</a> changes (patch by Matthieu Herrb).</li>
4823  </ul>
4824
4825  <h1><a name="xterm_233" id="xterm_233">Patch #233 -
4826  2008/02/24</a></h1>
4827
4828  <ul>
4829    <li>add configure check for <code>ttydefaults.h</code>, include
4830    if needed, e.g., for systems where defining
4831    <code>_POSIX_C_SOURCE</code>, etc., prevents it from being
4832    included via <code>termios.h</code> (prompted by comments by
4833    Robert Delius Royar and Jeremy Huddleston).</li>
4834
4835    <li>bug-fixes for bugs.opensolaris.org (patches from Alan
4836    Coopersmith)
4837
4838      <dl>
4839        <dt>4029911</dt>
4840
4841        <dd>fix a typo in manpage</dd>
4842
4843        <dt>4045962</dt>
4844
4845        <dd>xterm doesn't properly set ut_syslen</dd>
4846
4847        <dt>4192572</dt>
4848
4849        <dd>left-left-right misinterpreted as triple click</dd>
4850      </dl>
4851    </li>
4852
4853    <li>minor optimization to tab-initialization (patch by
4854    N&eacute;meth M&aacute;rton).</li>
4855
4856    <li>fix a case where an incorrect font was freed during
4857    initialization from <a href="#xterm_232">patch #232</a> changes
4858    (patch by Andrea Odetti).</li>
4859
4860    <li>improve comparison used in <code>SameFont</code> function
4861    for GC-caching (Julien Cristau).</li>
4862
4863    <li>correct macro name used for default <code>CKILL</code>
4864    definition to work with Mac OS X (report by Jeremy
4865    Huddleston).</li>
4866  </ul>
4867
4868  <h1><a name="xterm_232" id="xterm_232">Patch #232 -
4869  2008/01/30</a></h1>
4870
4871  <ul>
4872    <li>corrected logic in a font-cache used for reverse-video
4873    (Debian #404079).</li>
4874
4875    <li>add control sequence to alter <code>pointerMode</code> at
4876    runtime.</li>
4877
4878    <li>add limit-checks for rectangle operation parameters (report
4879    by Martin Pirker).</li>
4880
4881    <li>modify <code>minstall.sh</code> to suppress
4882    <code>$MANPAGER</code> and <code>$PAGER</code> environment
4883    variables, which may interfere with redirecting output of
4884    <code>man</code> to a shell variable (report/patch by Zdenek
4885    Sekera).</li>
4886
4887    <li>do not try to hide mouse pointer in the tek4014 window,
4888    fixes broken "-t" option at startup from <a href=
4889    "#xterm_230">patch #230</a> changes (report by Robert K.
4890    Nelson).</li>
4891
4892    <li>correct datatype used when drawing tek4014 data using xterm
4893    compiled for wide-characters, on big-endian machines (reports
4894    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel,
4895    Merle Reinhart).</li>
4896
4897    <li>modify to cache the font-names along with the bitmap font
4898    data, to improve comparison of fonts.</li>
4899
4900    <li>modify to allow building with configure options
4901    <code>--disable-ansi-color</code> and
4902    <code>--disable-leaks</code> (Debian #459817, report/patch by
4903    N&eacute;meth M&aacute;rton).</li>
4904
4905    <li>modify to allow building with configure options
4906    <code>--enable-wide-chars</code> and
4907    <code>--disable-c1-print</code> (Debian #459816, report/patch
4908    by N&eacute;meth M&aacute;rton).</li>
4909
4910    <li>add <code>pointerMode</code> resource to control whether
4911    and when the pointer cursor is hidden as the user types.</li>
4912
4913    <li>simplify initialization of ttyMode- and related characters
4914    using a table.</li>
4915
4916    <li>modify initialization-logic for stty values that correspond
4917    to ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp,
4918    rprnt flush, werase, lnext). These were reset to constants for
4919    both termios and legacy interfaces immediately after asking the
4920    system for the existing values since X11R6.1, rather than using
4921    them to provide inherited values. While the legacy interface
4922    has some constraints, e.g., on HPUX, the POSIX or termios
4923    interface should not. Your shell may reset these anyway
4924    (prompted by patch by Ed Schouten).</li>
4925
4926    <li>improve logic for hiding/displaying pointer-cursor (report
4927    by Mark Brukhartz).</li>
4928
4929    <li>add limit-checks to tabs.c, increase maximum column for
4930    setting tab-stops from 320 to 1024 (report by N&eacute;meth
4931    M&aacute;rton).</li>
4932
4933    <li>correct length, i.e., number of types of selection targets,
4934    computed by <code>ConvertSelection()</code> when not handling
4935    wide characters for the <code>XA_TARGETS()</code> case. This
4936    leaves an extra Atom on the end of the list which is not
4937    handled by <a href=
4938    "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java
4939    applications</a>. The problem was introduced in <a href=
4940    "#xterm_151">patch #151</a> (report by David Wood).</li>
4941  </ul>
4942
4943  <h1><a name="xterm_231" id="xterm_231">Patch #231 -
4944  2008/01/05</a></h1>
4945
4946  <ul>
4947    <li>undo change to <code>getXtermCell()</code> from patch #230
4948    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
4949    Caetano Jimenez Carezzato).</li>
4950
4951    <li>minor documentation fixes (patch by Slava Semushin)</li>
4952
4953    <li>add makefile actions to install KOI8RXTerm app-defaults
4954    file (patch by Julien Cristau).</li>
4955  </ul>
4956
4957  <h1><a name="xterm_230" id="xterm_230">Patch #230 -
4958  2007/12/31</a></h1>
4959
4960  <ul>
4961    <li>add <code>quietGrab</code> resource, which when true,
4962    suppresses cursor repainting when <code>NotifyGrab</code> and
4963    <code>NotifyUngrab</code> event types are received during
4964    change of focus (request by Nicolas George).</li>
4965
4966    <li>do not treat Unicode BIDI control characters as combining
4967    characters (Debian #457634).</li>
4968
4969    <li>add <code>koi8rxterm</code>, from Debian.</li>
4970
4971    <li>add manpage for <code>uxterm</code>, from Debian (Ubuntu
4972    #128136, Debian #438645)</li>
4973
4974    <li>remove ".xpm" suffixes from Icon filenames in desktop files
4975    since it confuses some lookups following the <a href=
4976    "http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">
4977    Icon Theme Specification</a> (report by Slava Semushin)</li>
4978
4979    <li>correct width-calculation used for adjusting proportional
4980    fonts, to work with wide-characters (Debian #441354).</li>
4981
4982    <li>fixes/improvements for double-size characters:
4983
4984      <ul>
4985        <li>correct old clipping calculation which used total
4986        height of glyphs where ascent was needed.</li>
4987
4988        <li>if bold font is unavailable, fall back to normal
4989        font</li>
4990
4991        <li>adjust to "work" with Xft (which does not support
4992        double-width single-height characters).</li>
4993
4994        <li>restore reset of doublesize for a line when it is
4995        cleared, broken in <a href="#xterm_228">patch
4996        #228</a>.</li>
4997      </ul>
4998    </li>
4999
5000    <li>modify logic for <code>forceBoxChars</code> resource when
5001    using TrueType fonts to be consistent with bitmap fonts</li>
5002
5003    <li>modify logic for <code>forceBoxChars</code> resource to
5004    make the "Line-Drawing Characters" menu entry use xterm's
5005    line-drawing characters even asked to draw wide line-drawing
5006    characters which are available in the font.</li>
5007
5008    <li>modify rectangle-support functions to preserve colors when
5009    filling/erasing to match WRQ Reflection behavior (request by
5010    Enzo Toscano).</li>
5011
5012    <li>add getopt-parsing to tcapquery.pl, including feature to
5013    test the extended cursor/editing keys.</li>
5014
5015    <li>make missing double-width glyphs display as double-width
5016    (Debian #456236).</li>
5017
5018    <li>change <code>tcap-fkeys</code> and <code>rectangles</code>
5019    configure options to enable them by default.</li>
5020
5021    <li>hide the mouse pointer while user is typing (request by
5022    Rodolfo Borges).</li>
5023
5024    <li>extend configure options <code>--enable-tcap-query</code>
5025    and <code>--enable-tcap-fkeys</code> to send cursor- and
5026    editing-keypad keys modified according to the keyboard (or
5027    termcap) selection for shift, alt, control, meta.</li>
5028
5029    <li>modify <code>kdch1</code> in termcap, e.g.,
5030    <code>xterm-r6</code> to match the terminfo file.</li>
5031
5032    <li>add <code>-hm</code> option to turn
5033    <code>highlightColorMode</code> on or off.</li>
5034
5035    <li>add <code>highlightColorMode</code> resource to separate
5036    the new (since <a href="#xterm_225">patch #225</a>)
5037    highlighting with both text- and background-colors (prompted by
5038    report/example by Thomas Wolff).</li>
5039
5040    <li>add <em>Keep Selection</em> menu entry to turn the
5041    <code>keepSelection</code> resource on/off at runtime.</li>
5042
5043    <li>add <code>keepSelection</code> resource, which when
5044    enabled, tells xterm to retain the X selection even after it
5045    stops highlighting it (patch by Sergey Vlasov).</li>
5046
5047    <li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to
5048    allow disabling all types of modified-keys that the
5049    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.</li>
5050
5051    <li>move include for <code>&lt;xtermcap.h&gt;</code> in
5052    <code>resize.c</code> to avoid redefinition of
5053    <code>termios</code> structure on OpenSolaris (report by Rahul
5054    Gopinathan Nair).</li>
5055
5056    <li>extend terminfo building blocks for modified editing keys
5057    to include all six keys.</li>
5058
5059    <li>synchronize terminfo with ncurses (report by Stephane
5060    Chazelas)
5061
5062      <ul>
5063        <li>equate <code>xterm-xfree86</code> and
5064        <code>xterm-xf86-v44</code>.</li>
5065
5066        <li>add ncurses extensions OTbs, AX, for termcap
5067        conversions.</li>
5068
5069        <li>make old/legacy entries such as <code>xterm-24</code>,
5070        <code>xterm-65</code> and aliases <code>xterms</code>,
5071        <code>vs100</code> inherit from
5072        <code>xterm-old</code>.</li>
5073
5074        <li>make <code>xterm-r5</code> and <code>xterm-r6</code>
5075        the same, ignoring historical errors in X Consortium's
5076        version.</li>
5077      </ul>
5078    </li>
5079
5080    <li>fix an ifdef in logic for selecting regular expressions
5081    while in a narrow-character locale (Debian #449227).</li>
5082  </ul>
5083
5084  <h1><a name="xterm_229" id="xterm_229">Patch #229 -
5085  2007/8/12</a></h1>
5086
5087  <ul>
5088    <li>override locale in minstall.sh; change in <a href=
5089    "#xterm_226">patch #226</a> does not work in UTF-8 locale
5090    (report by Zdenek Sekera).</li>
5091
5092    <li>undo an incorrect fix for a memory leak in <a href=
5093    "#xterm_209">patch #209</a> (Debian #435858).</li>
5094  </ul>
5095
5096  <h1><a name="xterm_228" id="xterm_228">Patch #228 -
5097  2007/7/22</a></h1>
5098
5099  <ul>
5100    <li>modify configure script to permit combining
5101    <code>--with-utempter</code> and <code>--enable-setuid</code>,
5102    e.g., for using xterm with the utempter library on FreeBSD
5103    (report by Andriy Gapon).</li>
5104
5105    <li>modify "Quit" menu entry to override the <code>-hold</code>
5106    command-line option.</li>
5107
5108    <li>add a check in the startup error-reporting to avoid writing
5109    to pipe when it has not been opened. In that case, report
5110    errors directly to the standard error.</li>
5111
5112    <li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
5113    <a href="#xterm_205">patch #205</a> (report by Kalle Olavi
5114    Niemitalo).</li>
5115
5116    <li>modify <code>88colors2.pl</code> and
5117    <code>256colors2.pl</code>, adding <code>-r</code> option to
5118    reverse the palettes for the extended colors.</li>
5119
5120    <li>check for partial overwrite or deletion of multi-column
5121    characters in several cases, e.g., insert-character,
5122    delete-character, etc., and fill the remainder of the cells
5123    used by the multi-column characters affected with blanks.</li>
5124
5125    <li>correct character-class codes in wide-character mode for
5126    characters 215, 247 (see also <a href="#xterm_165">patch
5127    #165</a>).</li>
5128
5129    <li>fix missing assignment for UTF-8 parsing in widget
5130    initialization (Debian #403360).</li>
5131
5132    <li>correct index expression used to set line-wrapping flag,
5133    making selection from scrollback work consistently (Debian
5134    #430121, report by Vincent Lefevre).</li>
5135
5136    <li>amend changes to handshake in <a href="#xterm_226">patch
5137    #226</a> to accommodate Solaris, which relies on the extra
5138    setting of the terminal size after I/O initialization. Do this
5139    by adding new resource <code>ptySttySize</code>, which is false
5140    for Linux and MacOS X, i.e., true for for Solaris and other
5141    SVR4 platforms, as well as FreeBSD (reports by David Wood,
5142    Renato Botelho).</li>
5143
5144    <li>check for X events after cursor-left, and carriage return,
5145    consistent with indexing operations (comments by Vegard Nossum
5146    and Ingo Molnar on a mailing-list).</li>
5147
5148    <li>initialize the <code>.keyboard</code> structure, needed for
5149    some platforms (such as Solaris) after <a href=
5150    "#xterm_227">patch #227</a> fixes for keysyms (patch by David
5151    Wood).</li>
5152
5153    <li>update config.guess, config.sub</li>
5154  </ul>
5155
5156  <h1><a name="xterm_227" id="xterm_227">Patch #227 -
5157  2007/6/27</a></h1>
5158
5159  <ul>
5160    <li>exclude the Intel compiler from the extra gcc warning
5161    options added in <a href="#xterm_226">patch #226</a>.</li>
5162
5163    <li>modify change for Debian #422521 from <a href=
5164    "#xterm_226">patch #226</a> to work with configurations where
5165    the X server does not recognize the <code>XF86Paste</code> or
5166    <code>SunPaste</code> keysyms (report by Paolo Pumilia).</li>
5167
5168    <li>fix incorrect free in fix for "Selection" menu entry in
5169    <a href="#xterm_226">patch #226</a>.</li>
5170  </ul>
5171
5172  <h1><a name="xterm_226" id="xterm_226">Patch #226 -
5173  2007/6/17</a></h1>
5174
5175  <ul>
5176    <li>add configure check to use
5177    <code>-Wno-unknown-pragmas</code> for Solaris, and a few other
5178    new gcc warning options to address regressions in its warning
5179    options.</li>
5180
5181    <li>add sample desktop and icon files, along with configure
5182    options for manipulating them.</li>
5183
5184    <li>fix an infinite loop when showing a 2-column character in a
5185    1-column screen (Debian #426863).</li>
5186
5187    <li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
5188    default translations (Debian #422521, patch by Bernhard R
5189    Link).</li>
5190
5191    <li>update wcwidth.c (partly based on/prompted by mailing list
5192    comment).</li>
5193
5194    <li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and
5195    Xorg 7.1 keysymdef.h file.</li>
5196
5197    <li>improve <code>gen-pc-fkeys.pl</code>, making it show all of
5198    the building-block terminfo entries used by xterm.</li>
5199
5200    <li>correct strings used for modifiers applied to F1-F4 in
5201    xterm+pcf1 terminfo entry.</li>
5202
5203    <li>improve session management by adding the ICE connection
5204    number to the <code>select</code> call rather than waking up
5205    once per second (patch by Miroslav Lichvar).</li>
5206
5207    <li>add environment variable <code>$XTERM_LOCALE</code> to help
5208    with shell initialization, e.g., to set a specific locale for
5209    xterm on systems where a global locale is set in the shell
5210    startup scripts.</li>
5211
5212    <li>add resource settings <code>mkSampleSize</code> and
5213    <code>mkSamplePass</code> to modify the <code>mkWidth</code>
5214    added in <a href="#xterm_201">patch #201</a>. In <a href=
5215    "#xterm_202">patch #202</a>, xterm would also check if the
5216    system's <code>wcwidth</code> matched its built-in tables "well
5217    enough" to be used when <code>mkWidth</code> was false, and if
5218    not would use the built-in tables anyway. These resources allow
5219    the user to customize the decision (prompted by comments by
5220    Emanuele Giaquinta)</li>
5221
5222    <li>modify logic which resets/updates the screensize on the
5223    child process side of the pseudo-terminal to do this only if a
5224    successful handshake was received, e.g., as determined by the
5225    <code>waitForMap</code> resource (prompted by reports by
5226    Emanuele Giaquinta and Bernhard R Link, but see also <a href=
5227    "#xterm_177">patch #177</a> and <a href="#xterm_159">patch
5228    #159</a>.</li>
5229
5230    <li>improve permissions logic when closing pseudo-terminal
5231    (Debian #12261, patch by Nathanael Nerode, analysis by Richard
5232    Braakman).</li>
5233
5234    <li>add resource <code>highlightReverse</code> which controls
5235    whether xterm will allow selection highlighting to hide
5236    reverse-video or use the older behavior which inverts the
5237    foreground and background colors when selected text with
5238    reverse-video attribute (report by Adam M Costello, comments by
5239    Victor Vaile).</li>
5240
5241    <li>restore a special case for cursor-color in
5242    <code>ReverseVideo()</code> lost in rewrite for <a href=
5243    "#xterm_224">patch #224</a> (report by Adam Sulmicki).</li>
5244
5245    <li>correct initialization for menu entry for
5246    <code>bellIsUrgent</code> (patch by Emanuele Giaquinta).</li>
5247
5248    <li>correct length of underlining for double-width Xft fonts
5249    (report by Shidai Liu "Leo").</li>
5250
5251    <li>correct clipping for double-width Xft fonts (report by
5252    Shidai Liu "Leo").</li>
5253
5254    <li>modify initialization for <code>italicULMode</code> to
5255    avoid <code>XftPatternBuild</code> reusing bold attributes
5256    (report by Shidai Liu "Leo").</li>
5257
5258    <li>add a check in case someone tries to call the
5259    <code>popup-menu()</code> action on a menu which is not
5260    initialized (Debian #426364).</li>
5261
5262    <li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by
5263    Peter Bray).</li>
5264
5265    <li>improve guess for X's manpage section in
5266    <code>minstall.sh</code>, (prompted by comment by Miroslav
5267    Lichvar).</li>
5268
5269    <li>modify <code>minstall.sh</code> to handle manpage patch
5270    with more than one dot (patch by Miroslav Lichvar).</li>
5271
5272    <li>fix configure message for --disable-setgid option (patch by
5273    Miroslav Lichvar).</li>
5274
5275    <li>add <code>allowTitleOps</code> resource to allow users to
5276    prevent the title- and icon-names from changing (request by
5277    John Bashinski).</li>
5278
5279    <li>fix "spawn-new-terminal" action, for the case where no
5280    parameter is passed to the action (patch by Daniel
5281    Colascione).</li>
5282
5283    <li>fix error-checking on internal font switching for
5284    "Selection" menu entry (Debian #421523).</li>
5285
5286    <li>amend select/paste change from <a href="#xterm_225">patch
5287    #225</a> by limiting it to non-UTF-8/non-KOI8-R encoding
5288    (Debian #420974).</li>
5289
5290    <li>add workaround for groff ".URL" codes which are not present
5291    in some commonly-used bitmap fonts (Debian #418324).</li>
5292  </ul>
5293
5294  <h1><a name="xterm_225" id="xterm_225">Patch #225 -
5295  2007/3/24</a></h1>
5296
5297  <ul>
5298    <li>add <code>useClipping</code> resource to allow clipping to
5299    be disabled.</li>
5300
5301    <li>use <code>XftDrawSetClipRectangles</code> to work around
5302    Xft pixel-trash (report by Reuben Thomas).</li>
5303
5304    <li>add configure option <code>--enable-tcap-fkeys</code>, and
5305    resource <code>tcapFunctionKeys</code>, which can be used to
5306    tell xterm to use function-key definitions from the termcap (or
5307    terminfo) which it uses to set $TERM on startup.</li>
5308
5309    <li>add resources <code>altIsNotMeta</code> and
5310    <code>altSendsEscape</code> to allow one to use Alt-keys like
5311    the meta-key even if they are bound to different keycodes
5312    (prompted by discussion with Daniel Jacobowitz).</li>
5313
5314    <li>revert a change from <a href="#xterm_216">patch #216</a>
5315    that unnecessarily made the meta modifier override the
5316    <code>eightBitInput</code> resource if the alt- and
5317    meta-modifiers happened to overlap (report/patch by Daniel
5318    Jacobowitz).</li>
5319
5320    <li>correct associated font for active icon for colored text
5321    (broken in <a href="#xterm_224">patch #224</a>).</li>
5322
5323    <li>correct ifdef's for Darwin (patch by Emanuele
5324    Giaquinta).</li>
5325
5326    <li>add <code>highlightTextColor</code> resource, and options
5327    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
5328    (adapted from patch by Victor Vaile).</li>
5329
5330    <li>revise <code>find_closest_color()</code> function to
5331    address concern about borrowing from <code>Tcl/Tk</code>
5332    (request by Dan McNichol).</li>
5333
5334    <li>add "spawn-new-terminal" action, which can be assigned to
5335    key translation, allowing one to spawn a new copy of xterm
5336    using the current process' working directory (adapted from
5337    patch by Daniel Colascione).</li>
5338
5339    <li>improve select/paste between UTF-8 and Latin1 xterms by
5340    adapting the translations from <a href="#xterm_185">patch
5341    #185</a>. Extend that to include Unicode fullwidth forms
5342    FF00-FF5E. Also modify select/paste of DEC line-drawing
5343    characters in Latin1 mode to use ASCII characters.</li>
5344
5345    <li>add "Enable Bell Urgency" to VT Options menu, removed
5346    "Enable Margin Bell".</li>
5347
5348    <li>add <code>bellIsUrgent</code> resource to control whether
5349    the Urgency hint is set/reset.</li>
5350
5351    <li>modify to set Urgency window manager hint on bell, reset it
5352    on Focus-In event (patch by Emanuele Giaquinta).</li>
5353
5354    <li>add <code>--disable-setgid</code> configure option (request
5355    by Miroslav Lichvar).</li>
5356
5357    <li>fix a possible infinite loop in last change to
5358    <code>dabbrev-expand()</code> (patch by Emanuele
5359    Giaquinta).</li>
5360
5361    <li>modify initialization to set the pty erase value if the
5362    <code>erase</code> is set in the <code>ttyModes</code>
5363    resource. This overrides the <code>ptyInitialErase</code>
5364    setting (request by Llu&iacute;s Batlle i Rossell).</li>
5365
5366    <li>add <code>initialFont</code> resource to xterm widget, like
5367    tek-widget (Debian #299669).</li>
5368
5369    <li>amend change to <code>boldMode</code> from <a href=
5370    "#xterm_223">patch #223</a> for Debian #347790. As noted in
5371    Debian #412599, that made xterm no longer match the documented
5372    behavior. Add new resource <code>alwaysBoldMode</code> to allow
5373    overriding the comparison between normal/bold fonts when
5374    deciding whether to use overstriking to simulate bold
5375    fonts.</li>
5376
5377    <li>restore background color in ClearCurBackground(), omitted
5378    in changes for <a href="#xterm_223">patch #223</a> (report by
5379    Miroslav Lichvar).</li>
5380
5381    <li>correct logic for repainting double-width TrueType
5382    characters (prompted by test-case for Novell #246573).</li>
5383
5384    <li>add a check to avoid trying to repeat a multibyte character
5385    (report by Sami Farin).</li>
5386
5387    <li>modify parameter to <code>XftNameParse()</code> to select
5388    wide face-name as needed, to make <code>-fd</code> option work
5389    (patch by Mike Fabian, Novell #246573).</li>
5390
5391    <li>correct logic for mouse highlight tracking's abort
5392    sequence, broken in a restructuring modification from <a href=
5393    "#xterm_224">patch #224</a> (report by Thomas Wolff).</li>
5394
5395    <li>revert the simplification of blinking cursor, since that
5396    broke the xor'ing introduced in <a href="#xterm_193">patch
5397    #193</a> (report by Thomas Wolff).</li>
5398  </ul>
5399
5400  <h1><a name="xterm_224" id="xterm_224">Patch #224 -
5401  2007/2/11</a></h1>
5402
5403  <ul>
5404    <li>simplify code for set/reset mode for blinking cursor (patch
5405    by Emanuele Giaquinta).</li>
5406
5407    <li>modify <code>dabbrev-expand()</code> to restart after the
5408    last match (patch by Emanuele Giaquinta).</li>
5409
5410    <li>add control sequences for enabling/disabling focus in/out
5411    event reporting (request by Bram Moolenaar).</li>
5412
5413    <li>improve startup performance of menus by adding resource
5414    setting <code>menuLocale</code> which can be set to override
5415    X's lengthy initialization of fontsets - which are seldom used
5416    for the <code>Xaw</code> popup menus (adapted from patch by
5417    Dave Coffin).</li>
5418
5419    <li>modify do_precomposition() function and make-compose.sh to
5420    handle 21-bit codes vs the 16-bit codes those were written for,
5421    and fix a few mis-sorted codes (patch by Thomas Wolff).</li>
5422
5423    <li>handle special case in <code>-cjk_width</code> which
5424    unexpectedly caused a character's width to change when a
5425    combining character (patch by Thomas Wolff)</li>
5426
5427    <li>fix build for GNU/KFreeBSD (Debian #40111).</li>
5428
5429    <li>consolidate GC creation/updating into a single module to
5430    reduce GC manipulation (prompted by Debian #389476, though a
5431    complete fix would involve optimizing the scrolling
5432    behavior).</li>
5433
5434    <li>fix ifdef of xtermCellWidth(), which broke for a case
5435    without TrueType and without wide-character support (report by
5436    Martin Pirker).</li>
5437
5438    <li>undo a comparison in
5439    <code>handle_translated_exposure</code> which did not work due
5440    to X server optimization. That caused the inner border to be
5441    repainted with unexpected colors when handling a repaint, e.g.,
5442    after switching to/from another workspace (Debian #401726,
5443    Redhat Bugzilla #223027).</li>
5444
5445    <li>allow <code>-cr</code> option to override cursor color when
5446    <code>-ah</code> option is used (Debian #406502).</li>
5447
5448    <li>add a note in xterm's manpage explaining that the
5449    <code>-bw</code> (or <code>-w</code>) option is only used by
5450    the window manager, if at all (Debian #405043).</li>
5451
5452    <li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code>
5453    work with <code>selectToClipboard</code> resource.</li>
5454
5455    <li>correct length calculation for <code>Selection</code> entry
5456    of <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
5457    actual selection length since X11R4.</li>
5458
5459    <li>fixes for fontsize changes with <code>-fa</code> option
5460    (Redhat Bugzilla #222340).</li>
5461  </ul>
5462
5463  <h1><a name="xterm_223" id="xterm_223">Patch #223 -
5464  2006/11/30</a></h1>
5465
5466  <ul>
5467    <li>add <code>--enable-rectangles</code> configure option
5468    (request by Martin Pirker).</li>
5469
5470    <li>correct default value for <code>--with-symlink</code>
5471    configure option.</li>
5472
5473    <li>fixes configure script macros that use
5474    <code>$X_EXTRA_LIBS</code>.</li>
5475
5476    <li>modify configure script to provide support for pre-package
5477    config versions of Xft aka "FreeType".</li>
5478
5479    <li>add the Xaw scrollbar translations resource to the xterm
5480    manpage, add an example showing how to change the mouse button
5481    assignments (Debian #382225).</li>
5482
5483    <li>amend a change from <a href="#xterm_216">patch #216</a>,
5484    which omitted modifiers for control, meta, etc., if they were
5485    mixed with any other modifiers. The intent of the change was to
5486    avoid confusion with <code>XK_Mode_switch</code> and
5487    <code>XK_ISO_Level3_Shift</code>; the check is now done
5488    explicitly (report by Daniel Jacobowitz).</li>
5489
5490    <li>interpret a negative value for
5491    <code>modifyCursorKeys</code> or
5492    <code>modifyFunctionKeys</code> resources to disable the
5493    respective features (prompted by Novell #220728).</li>
5494
5495    <li>amend cell-width computation for FreeType from <a href=
5496    "#xterm_217">patch #217</a>, which did not work for VT100
5497    line-drawing characters (Debian #399638, Gentoo #147111).</li>
5498
5499    <li>amend a change from <a href="#xterm_216">patch #216</a>,
5500    which made alt-modifier on a cursor-key send a modifier
5501    parameter (Novell #220728).</li>
5502
5503    <li>correct an off-by-one that made DECCRA not work
5504    (report/patch by Martin Pirker).</li>
5505
5506    <li>revert an optimization in SGR_Foreground() and
5507    SGR_Background from <a href="#xterm_209">patch #209</a> (Debian
5508    #347722, analysis by Pierre Lombard).</li>
5509
5510    <li>fix for <code>boldMode</code> (Debian #347790, patch by Tim
5511    Pope).</li>
5512
5513    <li>amend fix for <code>-iconic</code> in <a href=
5514    "#xterm_208">patch #208</a>, which broke the positioning part
5515    of <code>-geom</code> with toolbar configuration.</li>
5516
5517    <li>fix to prevent indexing error in regular expressions (patch
5518    by Dennis Schneider).</li>
5519
5520    <li>fixes to make the internalBorder area not change color due
5521    to reverseVideo and/or related exposure events. The latter was
5522    a very old bug exposed in <a href="#xterm_196">patch #196</a>
5523    (report by Neil Hoggarth, also Debian #397624).</li>
5524  </ul>
5525
5526  <h1><a name="xterm_222" id="xterm_222">Patch #222 -
5527  2006/10/17</a></h1>
5528
5529  <ul>
5530    <li>minor optimization for recoloring cursor via dynamic
5531    colors.</li>
5532
5533    <li>fix a bug caused by restructuring of tek4014 widget (report
5534    by Paul Schenkeveld)</li>
5535  </ul>
5536
5537  <h1><a name="xterm_221" id="xterm_221">Patch #221 -
5538  2006/10/1</a></h1>
5539
5540  <ul>
5541    <li>fix for regular expressions: the code which converted the
5542    column offset within a line did not check properly for the end
5543    of a line, and if allowed to match the whole line, would select
5544    the beginning of the following line. If the following line were
5545    empty, in turn it would select from the next, etc. (report by
5546    Sean Reifschneider).</li>
5547
5548    <li>minor optimization of color allocation to avoid repainting
5549    the screen if the corresponding color had not been
5550    allocated.</li>
5551
5552    <li>fixes for vttests/256colors.pl (report by Egmont
5553    Koblinger).</li>
5554
5555    <li>add terminfo building block entries for modifiers of the
5556    6-key editing keypad.</li>
5557
5558    <li>fix for initialization of tek4014 which broke on QNX
5559    6.1</li>
5560  </ul>
5561
5562  <h1><a name="xterm_220" id="xterm_220">Patch #220 -
5563  2006/9/10</a></h1>
5564
5565  <ul>
5566    <li>make "xterm -t -iconic" work as expected, i.e., start in
5567    tek4014 mode, but iconified.</li>
5568  </ul>
5569
5570  <h1><a name="xterm_219" id="xterm_219">Patch #219 -
5571  2006/9/4</a></h1>
5572
5573  <ul>
5574    <li>some internal restructuring to separate data for vt100 and
5575    tek4014 widgets.</li>
5576
5577    <li>fix a few cases where form-events would be seen by the
5578    vt100 widget when built with the toolbar configuration.</li>
5579  </ul>
5580
5581  <h1><a name="xterm_218" id="xterm_218">Patch #218 -
5582  2006/8/27</a></h1>
5583
5584  <ul>
5585    <li>change behavior when encountering an illegal character in a
5586    title string. Rather than reject the string, translate illegal
5587    characters into "?" and use the string (requested by Thomas
5588    Wolff).</li>
5589
5590    <li>improve checks for nonprinting characters in title strings
5591    (report by Samuel Thibault).</li>
5592
5593    <li>correct typo in menu labels, changing
5594    <code>print-redirect</code> to <code>print-redir</code>, making
5595    it follow the manpage and match the usage for the actions table
5596    (report by Samuel Thibault).</li>
5597
5598    <li>correct a typo that prevents building with some older
5599    systems such as Solaris 2.6 (report by Julian Bridle).</li>
5600  </ul>
5601
5602  <h1><a name="xterm_217" id="xterm_217">Patch #217 -
5603  2006/8/20</a></h1>
5604
5605  <ul>
5606    <li>minor improvements to FreeType font layout and
5607    drawing.</li>
5608
5609    <li>add a check in the ptyInitialErase logic to ensure that the
5610    termcap was read (Redhat Bugzilla #201246).</li>
5611
5612    <li>limit changes for reverse-video from <a href=
5613    "#xterm_216">patch #216</a> to cases where the reverse-video
5614    command-line option is used (report by Zdenek Sekera).</li>
5615
5616    <li>correct bitmap-derived pointsizes for TrueType fonts; they
5617    should be proportional to the square root of the area of the
5618    bitmap fonts.</li>
5619
5620    <li>add resources to specify pointsize of TrueType fonts
5621    (request by Reuben Thomas).</li>
5622
5623    <li>improve install of terminfo by filtering out harmless
5624    messages related to extended capabilities. At the same time,
5625    use ncurses tic to compile the extended capabilities if
5626    possible (report by Zdenek Sekera).</li>
5627
5628    <li>update "xterm+pcfkeys" terminfo entry to correspond to
5629    <a href="#xterm_216">patch #216</a>.</li>
5630  </ul>
5631
5632  <h1><a name="xterm_216" id="xterm_216">Patch #216 -
5633  2006/8/3</a></h1>
5634
5635  <ul>
5636    <li>improve handling of <code>ConfigureNotify</code> events by
5637    checking if there are further events in the queue which
5638    obsolete the current one (adapted from rxvt 2.7.5). Only the
5639    normal normal (non-toolbar) configuration is addressed in this
5640    patch.</li>
5641
5642    <li>several changes to terminfo:
5643
5644      <ul>
5645        <li>incorporate some minor changes from ncurses to help
5646        keep these synchronized:
5647
5648          <dl>
5649            <dt>2005-02-26</dt>
5650
5651            <dd>modify sgr/sgr0 in xterm-new to improve tgetent's
5652            derived "me".</dd>
5653
5654            <dt>2006-02-18</dt>
5655
5656            <dd>remove ncv flag from xterm-16color</dd>
5657
5658            <dt>2006-06-24</dt>
5659
5660            <dd>improve xterm-256color by combining the 16-color
5661            setaf/setab strings with SGR 48, and cancelling the
5662            setf/setb strings.</dd>
5663          </dl>
5664        </li>
5665
5666        <li>use extended function-key definitions for xterm-sun,
5667        xterm-sco entries.</li>
5668
5669        <li>add terminfo building-blocks corresponding to the
5670        <code>modifyFunctionKeys</code> and
5671        <code>modifyCursorKeys</code> resources.</li>
5672      </ul>
5673    </li>
5674
5675    <li>ifdef'd Sun function-key feature to make it optional, like
5676    HP and SCO.</li>
5677
5678    <li>extend table for termcap-query feature through F63, and
5679    updated tcapquery.pl to match.</li>
5680
5681    <li>modify logic for function-key input processing to allow
5682    function key numbers which are constructed by control- and
5683    shift-modifiers to extend beyond X's hardcoded limit of
5684    35.</li>
5685
5686    <li>add control sequence to set or reset the
5687    <code>eightBitInput</code> resource.</li>
5688
5689    <li>change default resource <code>modifyFunctionKeys</code> to
5690    2 to avoid sending SS3 with parameters (report by Kalle Olavi
5691    Niemitalo).</li>
5692
5693    <li>add control sequences for setting and resetting the values
5694    of the <code>modifyCursorKeys</code>,
5695    <code>modifyFunctionKeys</code> and
5696    <code>modifyOtherKeys</code> resources.</li>
5697
5698    <li>add <code>modifyFunctionKeys</code> resource like
5699    <code>modifyCursorKeys</code>. Setting this to zero allows one
5700    to use the control- and shift-modifiers to construct function
5701    key strings, for terminals using many function keys, e.g., for
5702    <code>xterm-sun</code> or <code>xterm-sco</code>.</li>
5703
5704    <li>modify screen responses and function-key logic to reduce
5705    the number of writes made, to make it less likely that an
5706    application would read only part of a function-key in a read
5707    operation (suggested by John E Urbanczyk).</li>
5708
5709    <li>add <code>combiningChars</code> resource, which allows the
5710    user to specify the maximum number of combining characters that
5711    xterm will store for each cell in wide-character mode (prompted
5712    by request by Markus Kuhn to increase the limit from 2).</li>
5713
5714    <li>improve logic in <code>metaSendsEscape</code> in case the
5715    Alt- and Meta-keys are mapped to different modifiers. That
5716    allows one to use the Alt-key for shifting in the
5717    <code>eightBitInput</code> and use a Meta-key modifier to
5718    prefix the result with an <code>&lt;ESC&gt;</code>.</li>
5719
5720    <li>improve <code>modifyCursorKeys</code> logic to prevent it
5721    from modifying codes where <code>eightBitInput</code> or
5722    <code>metaSendsEscape</code> are set (request by Dan
5723    Nicolaescu).</li>
5724
5725    <li>improve <code>modifyCursorKeys</code> logic to prevent it
5726    from changing the user input when other modifiers such as AltGr
5727    are used (report by Thomas Wolff).</li>
5728
5729    <li>extend <code>modifyCursorKeys</code> to include the numeric
5730    keypad when in application mode.</li>
5731
5732    <li>improve <code>-reverse</code> (<code>-rv</code>) option
5733    (patch by Jason Vas Dias, Redhat #189161).</li>
5734
5735    <li>workaround for color resources on Fedora-5 which made the
5736    toolbar colors inconsistent.</li>
5737
5738    <li>corrected calls used for <code>--disable-setuid</code>
5739    option, add debugging traces to help diagnose this area.</li>
5740
5741    <li>modify configure script to ensure that
5742    <code>USE_UTMP_SETGID</code> is defined only if the check for
5743    POSIX saved-ids succeeds, or corresponds to one of the BSD
5744    systems known to have a workable <code>setegid</code>
5745    function.</li>
5746
5747    <li>extend configure check for POSIX saved-ids to include BSD
5748    systems</li>
5749
5750    <li>modify CF_SYSV configure macro to work with gcc on HPUX
5751    10.20, whose broken <code>&lt;term.h&gt;</code> relies on
5752    including <code>&lt;termios.h&gt;</code>.</li>
5753
5754    <li>change order of setuid/setgid ifdef checks in Imakefile to
5755    make it simpler to produce a setgid install, allowing the
5756    latter to override the former (prompted by an XFree86
5757    commit).</li>
5758
5759    <li>adapt a fix for setgid support from subsequent XFree86
5760    changes (patch by Emanuele Giaquinta).</li>
5761
5762    <li>further improve setgid support (patches by Emanuele
5763    Giaquinta).</li>
5764  </ul>
5765
5766  <h1><a name="xterm_215" id="xterm_215">Patch #215 - 2006/6/19 -
5767  XFree86 4.6.99.2</a></h1>
5768
5769  <ul>
5770    <li>improve setgid support by exploiting the saved-ids feature
5771    on which it relies (patch by Emanuele Giaquinta).</li>
5772
5773    <li>make the <code>modifyOtherKeys</code> resource disabled by
5774    default since the intermediate setting altered some common
5775    bindings (report by Emanuele Giaquinta).</li>
5776  </ul>
5777
5778  <h1><a name="xterm_214" id="xterm_214">Patch #214 - 2006/6/18 -
5779  XFree86 4.6.99.2</a></h1>
5780
5781  <ul>
5782    <li>modify makefile rule for ctlseqs.txt to strip
5783    backspace/overstrikes, and add a copy of ctlseqs.txt to the
5784    source tarballs (requests by Bram Moolenaar, Emanuele
5785    Giaquinta).</li>
5786
5787    <li>add <code>modifyOtherKeys</code> resource, analogous to the
5788    <code>modifyCursorKeys</code> resource. This applies to keys
5789    that normally would transmit nothing when a given modifier is
5790    applied (request by Dan Nicolaescu).</li>
5791
5792    <li>add <code>default</code> to the acceptable values for the
5793    <code>keyboardType</code> resource, allowing the
5794    <code>-kt</code> command-line option to override app-defaults
5795    resource settings of <code>sunKeyboard</code>, etc.</li>
5796
5797    <li>correct ifdef's for <code>XkbBell()</code> which used the
5798    header file but not the corresponding function in <a href=
5799    "#xterm_175">patch #175</a> (report by Zach Beane).</li>
5800
5801    <li>add xterm manpage to the <code>--with-symlink</code>
5802    logic.</li>
5803
5804    <li>regenerated configure script to omit some debugging
5805    artifacts of the SIGWINCH test.</li>
5806
5807    <li>fix <code>install-man</code> rule in
5808    <code>Makefile.in</code> to avoid including the
5809    <code>$(DESTDIR)</code> value in substitutions made on the
5810    manpages (patch by Emanuele Giaquinta).</li>
5811
5812    <li>improved fix for cursor deallocation (Redhat #186935, patch
5813    by Jason Vas Dias).</li>
5814
5815    <li>improve checks for setuid/setgid operation to accommodate
5816    limited resource management in some kernels (Gentoo
5817    #193238).</li>
5818
5819    <li>update config.guess, config.sub</li>
5820  </ul>
5821
5822  <h1><a name="xterm_213" id="xterm_213">Patch #213 - 2006/4/30 -
5823  XFree86 4.5.99.905</a></h1>
5824
5825  <ul>
5826    <li>minor optimization to cell layout; will use that to
5827    simplify some logic and allow for more than two combining
5828    characters in another patch.</li>
5829
5830    <li>add <code>utf8Latin1</code> resource to make optional the
5831    feature from <a href="#xterm_209">patch #209</a> which allowed
5832    ISO-8859-1 fonts to be used in cases where a wide font was
5833    given. This would only work for the special case where the user
5834    normally used Latin-1 and wanted some wide characters (report
5835    by Rostislav Krasny).</li>
5836
5837    <li>add <code>utf8Title</code> resource to manpage (Novell
5838    #52655).</li>
5839
5840    <li>fix typo in table entry for <code>utf8Title</code> resource
5841    which made it treated as an integer rather than boolean (patch
5842    by Mike Fabian, Novell #52655).</li>
5843  </ul>
5844
5845  <h1><a name="xterm_212" id="xterm_212">Patch #212 - 2006/4/9 -
5846  XFree86 4.5.99.904</a></h1>
5847
5848  <ul>
5849    <li>improve description of <code>forceBoxChars</code> in
5850    manpage (discussion with Joe Wells).</li>
5851
5852    <li>set checkmark for "Select To Clipboard" menu entry on
5853    startup, from resource setting.</li>
5854
5855    <li>update manpage to note that
5856    <code>*customization:color</code> is not needed, though it is
5857    useful (Redhat #188034).</li>
5858
5859    <li>add underscore to sample pattern for URL in
5860    <code>XTerm.ad</code> (Redhat #188037).</li>
5861
5862    <li>modify install rule for manpage to use the configured
5863    app-defaults directory (Redhat #188031).</li>
5864
5865    <li>add checks in <code>releaseCursorGCs()</code> to ensure
5866    GC's are distinct, needed since memory leak changes for
5867    <a href="#xterm_208">patch #208</a> (Redhat #186935, patch by
5868    Jason Vas Dias).</li>
5869
5870    <li>modify <code>Imakefile</code> definitions to allow
5871    <code>imake</code> to set <code>InstallXtermSetGID</code>. Add
5872    symbol <code>InstGidFlags</code>.</li>
5873
5874    <li>add configure script check to ensure that SIGWINCH if
5875    defined even when headers undefine this as a side-effect of
5876    <code>_POSIX_C_SOURCE</code>, etc.</li>
5877
5878    <li>resync with XFree86 CVS
5879
5880      <ul>
5881        <li>ifdef-out chmod of terminal device for OS/2 (XFree86
5882        #1663, Frank Giessler).</li>
5883
5884        <li>move new <code>Imakefile</code> chunk which defines
5885        <code>$(CSGIDFLAGS)</code> before DEFINES, e.g., for IRIX64
5886        (Marc La France).</li>
5887      </ul>
5888    </li>
5889  </ul>
5890
5891  <h1><a name="xterm_211" id="xterm_211">Patch #211 - 2006/3/19 -
5892  XFree86 4.5.99.902</a></h1>
5893
5894  <ul>
5895    <li>modify prefix/suffix transformation in makefile to make
5896    <code>uxterm</code> install properly on Cygwin.</li>
5897
5898    <li>restore the sizeof-comparison for <code>struct
5899    lastlog</code> added in <a href="#xterm_208">patch #208</a>,
5900    rendered (mostly) obsolete in <a href="#xterm_210">patch
5901    #210</a>, since an imake configuration can still turn that code
5902    on (prompted by comment by David Dawes).</li>
5903
5904    <li>remove feature for <code>FreeBSDArchitecture</code> from
5905    <code>Imakefile</code> which would install xterm using the
5906    <code>utmp</code> group since a standard FreeBSD system has no
5907    such group, though it would support this configuration. FreeBSD
5908    packager uses the <code>configure</code> script, which can make
5909    the appropriate check (prompted by comment by David
5910    Dawes).</li>
5911
5912    <li>fixes for gcc redefinition warnings when built using imake
5913    (reports by David Dawes, Marc La France).</li>
5914  </ul>
5915
5916  <h1><a name="xterm_210" id="xterm_210">Patch #210 - 2006/3/12 -
5917  XFree86 4.5.99.902</a></h1>
5918
5919  <ul>
5920    <li>add configure check for workaround in <a href=
5921    "#xterm_208">patch #208</a> for Solaris' inconsistent support
5922    for struct lastlog to quiet compiler warnings (prompted by
5923    David Dawes commit message for XFree86).</li>
5924
5925    <li>fixes for BASE64 selection manipulation, e.g., ensure that
5926    the string terminator is written after cut-buffer data (report
5927    by Joe Allen).</li>
5928
5929    <li>add vttests/paste64.pl script to test experimental option
5930    for setting/getting selection data.</li>
5931
5932    <li>add some error-checking in fontutils.c (prompted by David
5933    Dawes commit message for XFree86).</li>
5934
5935    <li>change xterm manpage to show the actual color resource
5936    names <code>XtDefaultForeground</code> and
5937    <code>XtDefaultBackground</code> rather than black and white
5938    (prompted by discussion with Emanuele Giaquinta).</li>
5939
5940    <li>add <code>utf8Title</code> resource and menu entry,
5941    allowing the user to control whether title strings are
5942    interpreted as ISO-8859-1 or UTF-8 encoding (Novell #52655,
5943    Novell #113206).</li>
5944
5945    <li>change order of ifdef's for utempter versus platforms in
5946    <code>Imakefile</code> to ensure a proper value for
5947    <code>InstallXtermSetGID</code> (prompted by Marc La France
5948    commit message for XFree86).</li>
5949
5950    <li>update the cursor GCs when menu entry for reverse video is
5951    toggled. (Redhat #183993).</li>
5952
5953    <li>a memory-leak fix for <code>set_cursor_gcs()</code> in
5954    <a href="#xterm_208">patch #208</a> broke the <code>-cm</code>
5955    option (Redhat #182382).</li>
5956  </ul>
5957
5958  <h1><a name="xterm_209" id="xterm_209">Patch #209 - 2006/2/12 -
5959  XFree86 4.5.99.22</a></h1>
5960
5961  <ul>
5962    <li>remove <code>setf</code> and <code>setb</code> from
5963    <code>xterm-256color</code> terminfo entry to avoid issues with
5964    applications that ignore the ANSI strings (report by Emanuele
5965    Giaquinta).</li>
5966
5967    <li>remove obsolete references to "Xorg" to avoid confusion
5968    with "X.org" (prompted by David Dawes commit message for
5969    XFree86).</li>
5970
5971    <li>improve initial layout performance for the toolbar
5972    configuration by precalculating the height of the toolbar.</li>
5973
5974    <li>remove menu entry for "Enable Curses Emulation" (to make
5975    room for "Select To Clipboard").</li>
5976
5977    <li>add resource <code>selectToClipboard</code>, action
5978    <code>set-select</code> and a menu entry to allow users to
5979    switch between PRIMARY and CLIPBOARD for select/paste.</li>
5980
5981    <li>allow cursor to have the same color as foreground (text),
5982    since it is rendered as reverse (Debian #350664).</li>
5983
5984    <li>amend change for loading <code>utf8Fonts</code> resource
5985    from <a href="#xterm_204">patch #204</a> to allow an ISO-8859-1
5986    "normal" font to be combined with an ISO-10646 font if the
5987    latter is given via the <code>-fw</code> option or its
5988    corresponding resource value (prompted by comment in Novell
5989    #49305).</li>
5990
5991    <li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
5992    <code>__GNU__</code> to set the controlling terminal (Debian
5993    #348457).</li>
5994
5995    <li>add configure option <code>--disable-leaks</code>.</li>
5996
5997    <li>add a check in <code>Bell</code> to ensure that the VT100
5998    widget is realized, since it may be called by
5999    <code>xtermLoadFont</code> given an incorrect font resource
6000    (Redhat #180450).</li>
6001
6002    <li>improve initialization of wide-bold font by not using the
6003    derived value when it happens to have few glyphs (report by
6004    Mboso Sampson).</li>
6005
6006    <li>improve dynamic colors by not repainting the screen if only
6007    the cursor color changes (request by Bram Moolenaar).</li>
6008
6009    <li>fix menu initialization for tek4014 window broken in
6010    <a href="#xterm_206">patch #206</a>.</li>
6011
6012    <li>typo in manpage (Debian #351425).</li>
6013
6014    <li>correct loop logic in <code>dotext</code> to prevent an
6015    infinite loop if a wide character was just at the right margin
6016    when wrapping was disabled (report by Serge van den Boom).</li>
6017
6018    <li>initialize the saved-cursor data so a restore-cursor
6019    operation without a preceding save-cursor operation will not
6020    modify the foreground color.</li>
6021
6022    <li>add a new selection feature: regular expressions, and new
6023    resources which specify what happens on multiple mouse clicks:
6024    <code>on2Clicks</code>, <code>on3Clicks</code>,
6025    <code>on4Clicks</code> and <code>on5Clicks</code>.</li>
6026
6027    <li>revert the <code>XTerm.ad</code> change from <a href=
6028    "#xterm_208">patch #208</a> (Debian #348384).</li>
6029
6030    <li>fixes for the print-window to make it handle combining
6031    characters in UTF-8 mode.</li>
6032
6033    <li>add check to ensure that double-clicking to extend
6034    selection will not extend it into the scrollback area. This
6035    still allows users to scroll back and select text (Debian
6036    #347415).</li>
6037
6038    <li>add configure option <code>--with-tty-group</code> to help
6039    work around deficiencies in packager's build environment
6040    (Debian #349142).</li>
6041
6042    <li>fix typo in configure script option
6043    <code>--disable-narrowproto</code> (report by David
6044    Mart&iacute;nez Moreno).</li>
6045
6046    <li>amend CF_X_FREETYPE changes for <code>pkg-config</code>
6047    check to ensure that <code>Xft</code> is known to that tool
6048    (report and patch by Emanuele Giaquinta).</li>
6049
6050    <li>add an ifdef to allow <code>./configure
6051    --disable-active-icon</code> to work, broken by new code for
6052    testing memory leaks in <a href="#xterm_208">patch #208</a>
6053    (report by Brian Lindholm).</li>
6054  </ul>
6055
6056  <h1><a name="xterm_208" id="xterm_208">Patch #208 - 2006/1/3 -
6057  XFree86 4.5.99.19</a></h1>
6058
6059  <ul>
6060    <li>add <code>charClass</code> resource to
6061    <code>XTerm.ad</code> and <code>UXTerm.ad</code> which
6062    simplifies selecting URLs (prompted by Kirill Ponomarew).</li>
6063
6064    <li>modify install rule for <code>uxterm</code> to account for
6065    the <code>--program-prefix</code>, etc., options by invoking
6066    the transformed name of xterm rather than simply "xterm".</li>
6067
6068    <li>modify configure <code>--with-app-defaults</code> option to
6069    allow <code>--without-app-defaults</code>.</li>
6070
6071    <li>add configure <code>--with-symlink</code> option to make it
6072    simpler to install successive versions of <code>xterm</code>
6073    renamed using the <code>--program-prefix</code>, etc., options
6074    with a symbolic link pointing to the most recent.</li>
6075
6076    <li>make <code>-iconic</code> option work with toolbar
6077    configuration (Gentoo #113604).</li>
6078
6079    <li>suppress <code>lastlog</code> feature for 64-bit Solaris
6080    configuration since that platform provides only a 32-bit
6081    interface (report by Peter Bray).</li>
6082
6083    <li>fix memory reallocation for the "UTF-8" menu entry when
6084    xterm is started using the <code>+u8</code> option (reported by
6085    Jan Willem Stumpel).</li>
6086
6087    <li>add a configure check for the actual path of
6088    <code>luit</code>, to work around broken <code>imake</code>
6089    configurations.</li>
6090
6091    <li>add a configure check for <code>pkg-config</code> (Redhat
6092    Bugzilla #173541).</li>
6093
6094    <li>modify install-rule for <code>uxterm</code> to omit
6095    executable suffix, e.g., for Cygwin.</li>
6096
6097    <li>modify <code>sinstall.sh</code> to work around quirks in
6098    Cygwin configuration.</li>
6099  </ul>
6100
6101  <h1><a name="xterm_207" id="xterm_207">Patch #207 - 2005/11/13 -
6102  XFree86 4.5.99.16</a></h1>
6103
6104  <ul>
6105    <li>enable <code>lastlogx</code> support for NetBSD (was added,
6106    but not enabled in <a href="#xterm_186">patch #186</a>).</li>
6107
6108    <li>work around broken <code>lastlog.h</code> in glibc 2.3.5,
6109    which includes <code>utmp.h</code>.</li>
6110
6111    <li>revert part of recent XFree86 Imakefile change, restoring
6112    the <code>-I.</code> needed for <code>xmkmf</code> builds of
6113    xterm (XFree86 Bugzilla #1633, reports by Alexander Pohoyda,
6114    Matthieu Herrb).</li>
6115
6116    <li>change compiled-in default for <code>printerCommand</code>
6117    resource to an empty string. People who want to use the printer
6118    should be able to read the manual (Debian #311490).</li>
6119
6120    <li>modify <code>Imakefile</code> to work around old problems
6121    in <code>imake</code> configuration to allow test-builds using
6122    <code>xmkmf</code> on Linux. (This was not noticed since
6123    several releases had broken definitions relating to Xft which
6124    were harder to work around).</li>
6125
6126    <li>link <code>resize</code> for SCO platforms (Kean
6127    Johnston).</li>
6128  </ul>
6129
6130  <h1><a name="xterm_206" id="xterm_206">Patch #206 - 2005/11/3 -
6131  XFree86 4.5.99.15</a></h1>
6132
6133  <ul>
6134    <li>add configure <code>--with-app-defaults</code> option to
6135    allow app-defaults directory for install-rules to be
6136    customized.</li>
6137
6138    <li>remove default translations for
6139    <code>dabbrev-expand()</code> due to conflicts with existing
6140    keyboard arrangements.</li>
6141
6142    <li>remove redundant check for <code>_NET_WM_PID</code> (report
6143    by Emanuele Giaquinta).</li>
6144
6145    <li>set icon border width explicitly to work around fvwm
6146    problem with active icon resizing (report by Steve Morris,
6147    analysis by Dominik Vogt).</li>
6148
6149    <li>modify resource files to make the font-resources a little
6150    more specific, e.g., changing "*VT100*" to "*VT100.", to make
6151    the distinction between VT100.font and VT100.utf8Fonts.font
6152    sharper, in case a packager modifies one of those.</li>
6153
6154    <li>expanded comments in <code>UXTerm.ad</code> regarding the
6155    font resources (Debian #319179).</li>
6156
6157    <li>add <code>--enable-narrowproto</code> configure option to
6158    accommodate X.org "modular" build (report by Stephan Hermann,
6159    Gentoo #17220).</li>
6160
6161    <li>fix typo in xterm.man description of <code>+wf</code>
6162    (patch by Tobias Stoeckmann).</li>
6163
6164    <li>add <code>scrollBarBorder</code> resource (request by Floyd
6165    L Davidson).</li>
6166
6167    <li>modify <code>xterm-new</code> terminfo entry to use
6168    capabilities for shifted scroll forward/reverse as shifted
6169    cursor up/down.</li>
6170
6171    <li>correct updating of checkmark for toolbar entry in popup
6172    menu (report by Emanuele Giaquinta).</li>
6173
6174    <li>fix ifdef's to allow compiling with toolbar and without
6175    tek4014 (patch by Emanuele Giaquinta).</li>
6176
6177    <li>use <code>openpty()</code> for Darwin port (patch by
6178    Emanuele Giaquinta).</li>
6179
6180    <li>fix Gentoo #90697 a different way, postponing the logic in
6181    <code>SetupToolbar</code> until the toolbar is actually needed,
6182    i.e., the <code>+tb</code> option is handled as expected.</li>
6183
6184    <li>revert fix made in <a href="#xterm_203">patch #203</a> for
6185    Gentoo #90697. That introduced a problem with the control mouse
6186    click-popups, while most of the performance problems can be
6187    resolved by restricting the menu fonts (report by Emanuele
6188    Giaquinta).</li>
6189
6190    <li>fix a file-descriptor leak when calling
6191    <code>openpty()</code> (OpenBSD system/4561).</li>
6192
6193    <li>make a special case of resizing work like vt100: a hard
6194    reset also resets the 132/80 mode. The code to support this was
6195    present since X11R5, but not used because the corresponding
6196    initial state of the <code>-132</code> option was not
6197    saved.</li>
6198
6199    <li>restore window manager hints after
6200    <code>XtMakeResizeRequest()</code> calls. One instance from
6201    <a href="#xterm_205">patch #205</a> resulted in the window
6202    manager displaying pixels rather than than characters after
6203    selecting a different font size (FreeBSD ports/87424).</li>
6204
6205    <li>remove special case for Darwin in CF_XOPEN_SOURCE (Emanuele
6206    Giaquinta).</li>
6207
6208    <li>modify parsing of control sequence <code>CSI&nbsp;T</code>
6209    to allow scroll-down to be sent while mouse tracking is enabled
6210    (request by D Hugh Redelmeier).</li>
6211
6212    <li>correct termcap "me" (mode-end) string so it does not
6213    modify the alternate character set (report by Andrey
6214    Chernov).</li>
6215
6216    <li>correct size-comparison in HandleInterpret() broken in
6217    changes from <a href="#xterm_201">patch #201</a> to allocate
6218    input buffer (Debian #334317).</li>
6219
6220    <li>amend adjustments for scrollbar layout from <a href=
6221    "#xterm_204">patch #204</a> to make this apply only to the
6222    toolbar configuration. In the non-toolbar configuration, the
6223    resulting scrollbar was shifted by its borderwidth (report by
6224    Matthieu Herrb).</li>
6225
6226    <li>add select-cursor-extend() action.</li>
6227
6228    <li>fix some broken href's in xterm.log.html, and typo in the
6229    INSTALL file (report/patch by David Mart&iacute;nez
6230    Moreno).</li>
6231
6232    <li>modify <code>Imakefile</code> to use setgid mode for
6233    installing with Linux, OpenBSD and FreeBSD.</li>
6234
6235    <li>add configure --with-setuid and --with-reference options to
6236    allow packagers more flexibility in customizing install
6237    permissions.</li>
6238
6239    <li>generalize and make optional (configure --with-utmp-setgid)
6240    the change made for XFree86 Bugzilla #878 in <a href=
6241    "#xterm_205">patch #205</a> (FreeBSD bug report
6242    #ports/86663).</li>
6243  </ul>
6244
6245  <h1><a name="xterm_205" id="xterm_205">Patch #205 - 2005/9/18 -
6246  XFree86 4.5.99.12</a></h1>
6247
6248  <ul>
6249    <li>correct a typo in CF_FUNC_TGETENT introduced in <a href=
6250    "#xterm_198">patch #198</a> fix for Gentoo #69926.</li>
6251
6252    <li>implement logic in termcap query to process multiple
6253    parameters as documented in ctlseqs.ms</li>
6254
6255    <li>fix buffer size used for termcap query, which was not long
6256    enough for the terminfo "colors" name (patch by Bradd W.
6257    Szonye).</li>
6258
6259    <li>add configure option --enable-readline-mouse, which turns
6260    on the experimental OPT_READLINE code (patch by Ilya
6261    Zakharevich).</li>
6262
6263    <li>for FreeBSD, drop setuid privileges after startup (XFree86
6264    Bugzilla #878, report/patch by Alexander Pohoyda)</li>
6265
6266    <li>add menu entry (alt-esc) and corresponding action
6267    (alt-sends-esc) to toggle the <code>eightBitInput</code>
6268    resource setting.</li>
6269
6270    <li>generate configure script with autoconf 2.52 (patched) to
6271    use the feature therein which forces the script's locale to
6272    POSIX (Gentoo Bugzilla #105369).</li>
6273
6274    <li>modify computation of rows/columns on resize to avoid
6275    extending beyond the given limits, e.g., if resizing in
6276    response to a "maximize" in Gnome or KDE which do not use the
6277    window manager hints for this case (Debian #289123, Novell
6278    #61153).</li>
6279
6280    <li>modifications to work with z/OS 1.4 (Paul Giordano).</li>
6281
6282    <li>improve error-reporting when chown/chmod of the
6283    pseudo-terminal fails, e.g., if a copy of xterm which was
6284    designed to work with old-style pseudo-terminals is not
6285    installed setuid or setgid (report by Jeremy C. Reed).</li>
6286
6287    <li>patches from Emanuele Giaquinta:
6288
6289      <ul>
6290        <li>ctlseqs.ms says that primary and secondary DA accept a
6291        nonzero parameter, which is incorrect. Also modify code to
6292        agree with this.</li>
6293
6294        <li>correct a comment in 88colres.pl</li>
6295
6296        <li>ctlseqs.ms says that the DEC Set/Reset control
6297        sequences for the backarrow key make it send DEL/BS,
6298        respectively, while it's the opposite.</li>
6299
6300        <li>update the menu entries for the metaSendsEscape,
6301        deleteIsDEL and numLock resources when changing them with
6302        the corresponding DEC Set/Reset control sequences.</li>
6303      </ul>
6304    </li>
6305
6306    <li>fixes for configure script:
6307
6308      <ul>
6309        <li>add special case for QNX, defining _QNX_SOURCE.</li>
6310
6311        <li>check for preprocessors which do not perform -U and -D
6312        options in the given order.</li>
6313
6314        <li>improve macro to determine gcc version</li>
6315
6316        <li>improve check for Intel compiler and related warning
6317        options</li>
6318      </ul>
6319    </li>
6320
6321    <li>update config.guess, config.sub</li>
6322
6323    <li>improve fix from <a href="#xterm_198">patch #198</a> for
6324    <code>Cleanup()</code> by ensuring it is not called from the
6325    SIGCHLD handler (patch by Todd Miller (OpenBSD CVS)).</li>
6326
6327    <li>eliminate a retry for a better-matching bold font, to work
6328    around recent font server changes.</li>
6329
6330    <li>fixes for Novell #113277:
6331
6332      <ul>
6333        <li>specify weight for wide font which may be derived from
6334        normal fontname.</li>
6335
6336        <li>cache the derived wide- and widebolt-fontnames.</li>
6337      </ul>
6338    </li>
6339
6340    <li>workaround for Gentoo Bugzilla #100728.</li>
6341
6342    <li>add menubar's border width to layout computation. Normally
6343    this is zero, but patterns such as
6344    <code>XTerm*borderWidth:1</code> would give poor layout for the
6345    toolbar configuration.</li>
6346  </ul>
6347
6348  <h1><a name="xterm_204" id="xterm_204">Patch #204 - 2005/8/4 -
6349  XFree86 4.5.99.9</a></h1>
6350
6351  <ul>
6352    <li>work around quirk in shell which allowed user to "run"
6353    uxterm script when there was no UTF-8 locale installed by
6354    entering "sh -x uxterm". Also popup an xmessage to show the
6355    problem for users who run this via a GUI (Debian #318513).</li>
6356
6357    <li>disallow changes to fonts, toolbar and scrollbar when the
6358    vt100 window is iconified, to simplify management of the active
6359    icon.</li>
6360
6361    <li>fixes to make <code>-geom</code> option work properly with
6362    the toolbar configuration (Gentoo #90717, Gentoo #91967).</li>
6363
6364    <li>minor improvements to scrollbar layout: ensure that the
6365    scrollbar border is zero if the vt100 border is zero.</li>
6366
6367    <li>improve initialization due to <code>utf8</code> resource by
6368    loading the <code>utf8Fonts</code> resource in the case where
6369    <code>locale</code> resource is false. Also in this case, do
6370    not disable switching UTF-8 mode on/off.</li>
6371
6372    <li>minor optimization of TrueType font-loading, loads italic
6373    font only when needed.</li>
6374
6375    <li>correct variable used to store temporary result from lookup
6376    of bold font, when initializing the wide-bold-font data and no
6377    immediate match is found by asking for a bold variant of the
6378    wide-font. The result was to use overstriking rather than the
6379    actual bold font (Debian #318162, patch by Eugene Konev).</li>
6380
6381    <li>add checks to ensure vt100 widget is realized when it might
6382    be updated via actions handled from a tek4014-only
6383    configuration.</li>
6384  </ul>
6385
6386  <h1><a name="xterm_203" id="xterm_203">Patch #203 - 2005/7/6 -
6387  XFree86 4.5.99.7</a></h1>
6388
6389  <ul>
6390    <li>modify initialization of <code>allowSendEvents</code> and
6391    <code>allowWindowOps</code> to prevent modification with the
6392    editres protocol.</li>
6393
6394    <li>fix compiler warning for NetBSD by including util.h in
6395    main.c (XFree86 Bugzilla #1596).</li>
6396
6397    <li>fix to build on Darwin 8.x, which no longer provides
6398    <code>setpgrp()</code> (patch by Min Sik Kim).</li>
6399
6400    <li>adapted fixes for Legend (SCO) from diffs attached to
6401    Freedesktop.Org Bugzilla #3180.</li>
6402
6403    <li>fix typo in xterm manpage description of <code>-ls</code>
6404    option (Freedesktop.Org Bugzilla #3543).</li>
6405
6406    <li>add support for interpreting the underline attribute as an
6407    italic font in Xft mode (patch by Chuck Blake).</li>
6408
6409    <li>improve initialization of toolbar so that individual
6410    pulldown menus are initialized on demand, as they are in the
6411    scenario where they are invoked as popup menus (Gentoo Bugzilla
6412    #90697).</li>
6413
6414    <li>fix logic in <code>find_utmp</code>, which did not reset
6415    result in <code>getutid()</code>, causing an infinite loop in
6416    some conditions (report by Emil Mikulic).</li>
6417
6418    <li>set the <code>_NET_WM_PID</code> property (Gentoo Bugzilla
6419    #91008).</li>
6420
6421    <li>modify ifdef's in ptyx.h and xterm_io.h to build with
6422    DragonFly (patch by Jeroen Ruigrok).</li>
6423
6424    <li>change default values for <code>minBufSize</code> and
6425    <code>maxBufSize</code> to 4096 and 32768 respectively so that
6426    the initial read request will match the value from before
6427    changes to use <code>sched_yield()</code>.</li>
6428
6429    <li>make paste of UTF-8 faster for Western character sets by
6430    checking range of incoming data (patch by Joe Allen).</li>
6431
6432    <li>add experimental option to allow applications to get or set
6433    the selection data as a BASE64 string (adapted from patch by
6434    Joe Allen).</li>
6435
6436    <li>fix an off-by-one error parsing <code>-S/nn</code> option
6437    (Debian #311438, report/fix by Peter Chubb).</li>
6438
6439    <li>fix an initialization bug from <a href="#xterm_201">patch
6440    #201</a> that broke logging (report by Rodney Thayer).</li>
6441
6442    <li>amend change to command-line processing in <a href=
6443    "#xterm_201">patch #201</a> to avoid conflict with
6444    <code>-e</code> option (report by Servatius Brandt).</li>
6445
6446    <li>suppress configure check for <code>_XOPEN_SOURCE</code> on
6447    darwin.</li>
6448
6449    <li>update config.guess, config.sub</li>
6450  </ul>
6451
6452  <h1><a name="xterm_202" id="xterm_202">Patch #202 - 2005/5/2 -
6453  XFree86 4.5.99.3</a></h1>
6454
6455  <ul>
6456    <li>add extended shift- and control-modifier cursor keys to
6457    "xterm+pcfkeys" terminfo entry to correspond to ncurses
6458    20050430 patch.</li>
6459
6460    <li>fix a rare case where text would be written with the wrong
6461    colors because output of scrolled text would reset the colors
6462    and the new text would be written with the same colors
6463    (report/testcase by Thomas Glanzmann).</li>
6464
6465    <li>rename <code>$CMD</code> variable in <code>plink.sh</code>
6466    because it is a reserved symbol in bash 3.00.16 (report by Ted
6467    Taylor).</li>
6468
6469    <li>add environment variables <code>$XTERM_SHELL</code> and
6470    <code>$XTERM_VERSION</code> (request by Zdenek Sekera).</li>
6471
6472    <li>corrected workaround for background color of menubar, which
6473    gave a too-broad expression, coloring the background of the
6474    VT100 widget unless overridden by another resource
6475    setting.</li>
6476
6477    <li>correct an error in the logic which decides when
6478    <code>sched_yield()</code> is run; it would occasionally hang
6479    when contending with other pseudo-terminal applications such as
6480    screen (report by Kirill Ponomarew).</li>
6481
6482    <li>modify initialization to decide whether to default to
6483    built-in <code>wcwidth()</code> versus system's version based
6484    on the starting locale and whether the system's version is poor
6485    quality (suggested by Bram Moolenaar).</li>
6486
6487    <li>update table for <code>mk_width()</code> from UnicodeData
6488    4.1.0 using Markus Kuhn's <code>uniset</code> script.</li>
6489  </ul>
6490
6491  <h1><a name="xterm_201" id="xterm_201">Patch #201 - 2005/4/21 -
6492  XFree86 4.5.99.2</a></h1>
6493
6494  <ul>
6495    <li>improve resource files to show how the menubar and popup
6496    menus can be colored (prompted by report by Joe Wells).</li>
6497
6498    <li>modify parsing of OSC (and SOS, etc), strings so their
6499    contents are not interpreted as UTF-8. This allows non-ASCII
6500    title strings to be set, provided that the window manager
6501    complies (report by Thomas Wolff).</li>
6502
6503    <li>improved some of the built-in line-drawing glyphs.</li>
6504
6505    <li>correct color of "box" character drawn for line-drawing
6506    glyph 1 (report by Nicolas George).</li>
6507
6508    <li>improve behavior when switching to UTF-8 mode after startup
6509    so xterm will check if the current fonts are already wide
6510    (ISO10646-1). If they are not, xterm will use the
6511    <code>utf8Fonts</code> subresource to load appropriate fonts
6512    (request by Bram Moolenaar).</li>
6513
6514    <li>modify logic for setting title-string so it applies to the
6515    current widget rather than the vt100 widget.</li>
6516
6517    <li>modify initialization for wide-bold fontname, to search for
6518    one if none is given (report by Michael Schroeder).</li>
6519
6520    <li>add resource <code>mkWidth</code> and command-line option
6521    <code>-mk_width</code> to control whether xterm uses the
6522    built-in version of wcwidth().</li>
6523
6524    <li>add resource settings for minimum/maximum input buffer
6525    size, and call to <code>sched_yield</code> to improve
6526    performance with newer Linux kernels (adapted from patch by
6527    Nicolas George).</li>
6528
6529    <li>correct computation of width for wide characters with the
6530    invisible attribute (report by Thomas Wolff).</li>
6531
6532    <li>modify interaction between <code>+u8</code> and
6533    <code>locale</code> resource to allow the command-line option
6534    to override the resource (requested by Thomas Wolff).</li>
6535
6536    <li>add a limit check for scrolling margins in a one-line
6537    screen, overlooked in fixes for <a href="#xterm_198">patch
6538    #198</a> (Debian #297430).</li>
6539
6540    <li>correct treatment of <code>iconBorderWidth</code> for
6541    resizing an active-icon, and its description in manpage (Debian
6542    #296592).</li>
6543
6544    <li>modify configure script <code>--disable-imake</code> to use
6545    the script's definitions anyway if it cannot detect imake
6546    (prompted by FreeBSD bug 77408).</li>
6547
6548    <li>ignore error in the I/O initialization that tries to set
6549    the tty to 7-bit input for the case where
6550    <code>eightBitInput</code> resource is false (Debian
6551    #298551).</li>
6552
6553    <li>modify command-processing to accept an optional parameter
6554    that tells xterm which shell program to use (request by Zdenek
6555    Sekera).</li>
6556
6557    <li>add simpler resource <code>keyboardType</code> which, when
6558    set, overrides the individual keyboard-type resources and
6559    eliminates the possibility of conflict between them.</li>
6560
6561    <li>add initialization for <code>scoFunctionKeys</code>
6562    resource (report by Rick K).</li>
6563
6564    <li>correct logic of <code>ReallocateBufOffsets()</code> which
6565    did not copy the content of the old screen buffer to the proper
6566    location, making a repaint clear after switching to
6567    wide-character mode (report by Bram Moolenaar):</li>
6568
6569    <li>implement the remaining pieces to make xterm allocate cells
6570    for wide-characters when the "UTF-8" menu entry is selected.
6571    Also, load the UTF-8 font when that menu entry is selected, or
6572    the escape sequence for UTF-8 mode is received (report by Bram
6573    Moolenaar):</li>
6574
6575    <li>add command-line options (<code>-tb</code>,
6576    <code>+tb</code>) and resource <code>toolBar</code> to allow
6577    menu/toolbar to disabled or enabled at startup (prompted by
6578    reports by Joe Wells).</li>
6579
6580    <li>correct typo in configure script's --enable-dec-locator
6581    option (report by Bram Moolenaar).</li>
6582  </ul>
6583
6584  <h1><a name="xterm_200" id="xterm_200">Patch #200 - 2005/2/6 -
6585  XFree86 4.4.99.23</a></h1>
6586
6587  <ul>
6588    <li>increase color pairs value for xterm-256color and
6589    xterm-88color to match ncurses, which has an experimental
6590    option to support this.</li>
6591
6592    <li>modify ifdef's to make AIX use termios rather than termio;
6593    the struct sizes for the two were not the same.</li>
6594
6595    <li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
6596    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and
6597    AIX.</li>
6598
6599    <li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch
6600    by Min Sik Kim).</li>
6601
6602    <li>modify find_utmp() to initialize the whole utmpx struct
6603    (except ut_id), since that is needed for OSF1 4.0D to prevent
6604    an infinite loop on exit.</li>
6605
6606    <li>add configure check before adding -D_POSIX_SOURCE since
6607    some platforms predefine it, e.g., cygwin.</li>
6608
6609    <li>add simplified sed expressions in CF_IMAKE_CFLAGS configure
6610    script macro to ensure value for PROJECTROOT is quoted on
6611    Solaris, i.e., when nested <code>\(</code> and <code>\)</code>
6612    are not interpreted correctly.</li>
6613
6614    <li>correct DEC rectangle operations to reset state after
6615    completing the operations.</li>
6616
6617    <li>modify CASE_ST handling in charproc.c to ensure that the
6618    parse state is reset even if xterm is not currently processing
6619    an OSC or other string (patch by Johnny Billquist forwarded by
6620    Matthias Scheler, NetBSD xsrc/29003).</li>
6621
6622    <li>fix OS/2 build for innotek_libc (patch by David Yeo).</li>
6623
6624    <li>fix a regression from <a href="#xterm_197">patch #197</a>
6625    fix for Debian #277832 which disowned the selection if it was
6626    scrolled, e.g., by the user pressing return at the bottom of
6627    the screen (Debian #291787).</li>
6628
6629    <li>move the warning/exit for missing $DISPLAY into the error
6630    handler in case <code>-display</code> is given, and the connect
6631    fails for some other reason.</li>
6632  </ul>
6633
6634  <h1><a name="xterm_199" id="xterm_199">Patch #199 - 2005/1/17 -
6635  XFree86 4.4.99.22</a></h1>
6636
6637  <ul>
6638    <li>instead of setting <code>$DISPLAY</code>, check for the
6639    unset variable and warn/exit on this condition (comments by H
6640    Merijn Brand and Bernhard R Link).</li>
6641
6642    <li>fix a typo in Imakefile from <a href="#xterm_198">patch
6643    #198</a> (reports/patches by Stefan Dirsch, Mike Castle).</li>
6644  </ul>
6645
6646  <h1><a name="xterm_198" id="xterm_198">Patch #198 - 2005/1/13 -
6647  XFree86 4.4.99.21</a></h1>
6648
6649  <ul>
6650    <li>set <code>$DISPLAY</code> to ":0" if it is not set.</li>
6651
6652    <li>add <code>utmpDisplayId</code> resource to allow users to
6653    control whether the display identifier (display number and
6654    screen number) are retained in the connection information
6655    recorded in utmp (discussion with Edoardo Tirtarahardja).</li>
6656
6657    <li>add <code>bellOnReset</code> resource to allow users to
6658    disable bell which sounds on hard reset since <a href=
6659    "#xterm_183">patch #183</a> changes to DECSCL (discussion with
6660    Danek Duvall).</li>
6661
6662    <li>improve <code>$WINDOWID</code> for configuration with
6663    toolbar by making it refer to the top-level shell rather than
6664    the parent of the current window. For that case, the parent is
6665    a form widget, which does not have a name, which made the
6666    <code>$WINDOWID</code> not very useful as a parameter for
6667    <code>xwininfo</code> (suggested by Dave Bodenstab).</li>
6668
6669    <li>fix a typo in WhichVFont() macro from <a href=
6670    "#xterm_197">patch #197</a> changes which broke the
6671    --disable-active-icon configuration (report by Ralf S.
6672    Engelschall).</li>
6673
6674    <li>improve some limit checks (Gentoo Bugzilla #75604).</li>
6675
6676    <li>add --disable-setuid option to configure script (Gentoo
6677    Bugzilla #76543).</li>
6678
6679    <li>add --disable-full-tgetent option to configure script,
6680    allowing one to ignore a termcap library in favor of
6681    ncurses/curses (Gentoo Bugzilla #69926).</li>
6682
6683    <li>modify configure script to choose useful warning options
6684    for Intel version 8.0 compiler.</li>
6685
6686    <li>update config.guess, config.sub</li>
6687
6688    <li>make active-icon work properly when TrueType fonts are used
6689    (Debian #286068).</li>
6690
6691    <li>correct change from <a href="#xterm_157">patch #157</a>
6692    which uses getlogin() to check for an alias; the storage used
6693    for the related getpwuid() call was overwritten by the data
6694    used for comparison (patch by Per Hedeland).</li>
6695
6696    <li>correct case of SCS for character set 0 (line-drawing) to
6697    allow it to be selected into GR.</li>
6698
6699    <li>fix a file-descriptor leak (Redhat Bugzilla #139597).</li>
6700
6701    <li>modify <code>creat_as()</code> to only fork if xterm is
6702    actually running as setuid and/or setgid. This works around a
6703    Cygwin bug which hangs when logging is enabled and makes xterm
6704    a little faster for systems using interfaces such as utempter
6705    (report by Al Goodman).</li>
6706
6707    <li>modify <code>Cleanup()</code> to avoid operations such as X
6708    calls that might use unsafe functions when it is called by a
6709    signal handler (report by Michiel Boland).</li>
6710
6711    <li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM
6712    changes from <a href="#xterm_197">patch #197</a> that broke
6713    DECSET 38: switch to Tek4014 emulation (report by Dave
6714    Bodenstab).</li>
6715
6716    <li>fix for manpage escapes (Marc La France).</li>
6717
6718    <li>improve on IRIX-specific change for Imakefile in XFree86
6719    CVS versus resize linking against termcap library to reflect
6720    definitions for USE_TERMCAP in resize.c</li>
6721  </ul>
6722
6723  <h1><a name="xterm_197" id="xterm_197">Patch #197 - 2004/11/30 -
6724  XFree86 4.4.99.19</a></h1>
6725
6726  <ul>
6727    <li>modify configure script to remove empty "-DPROJECTROOT="
6728    definition which resulted unusable values for luit's default
6729    path.</li>
6730
6731    <li>update precompose.c based on Unicode 4.0.1</li>
6732
6733    <li>several minor fixes based on Intel compiler warnings.</li>
6734
6735    <li>change default translations so a <code>BtnDown</code> which
6736    is not recognized is simply ignored rather than emitting a
6737    bell. That makes it less obtrusive when the user tries to use a
6738    mouse which provides more capabilities than the X mouse driver
6739    supports, e.g., one with a horizontal scroll wheel (Debian
6740    #265133).</li>
6741
6742    <li>note in xterm's manpage that <code>translations</code> is
6743    not specific to xterm (Debian #278897).</li>
6744
6745    <li>modify uxterm script to use locale program to verify if the
6746    derived locale is installed (Debian #246398).</li>
6747
6748    <li>correct font handling for active icon when in UTF-8 mode
6749    (report by Paolo Liberatore).</li>
6750
6751    <li>make active-icon and toolbar configurations work
6752    together.</li>
6753
6754    <li>modify the criteria for disowning primary selection.
6755    Previously, this happened anytime the cursor was moved before
6756    the end of the selection. That would ensure that any
6757    insert/delete of char or line, as well as scrolling, would
6758    disown the selection. The new criteria change this to checking
6759    if the operations would modify the data which is highlighted
6760    (Debian #277832).</li>
6761
6762    <li>reimplement <code>DECALN</code> with functions for vt420
6763    rectangles, fixes selection for this case.</li>
6764
6765    <li>implement vt420 rectangle operations.</li>
6766
6767    <li>add parsing, for debug/test of vt220 soft-fonts.</li>
6768
6769    <li>add menu entry, actions and escape sequence to allow
6770    enabling/disabling toolbars at runtime.</li>
6771
6772    <li>improve rendering for Xft, allow it to draw non-linedrawing
6773    characters such as "pi", which were drawn from internal tables
6774    with <a href="#xterm_180">patch #180</a> (Freedesktop.org
6775    Bugzilla #1260).</li>
6776
6777    <li>add configure option <code>--enable-mini-luit</code>,
6778    ifdef'd the mini-luit feature with
6779    <code>OPT_MINI_LUIT</code>.</li>
6780
6781    <li>add mini-luit feature, which supports Latin9 directly
6782    rather than via luit, provided that Unicode fonts are used
6783    (Freedesktop.org Bugzilla #1571, request by Stefan Dirsch,
6784    patch by Michael Schroeder).</li>
6785
6786    <li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x
6787    kernels, set the corresponding flag for the slave pty, to
6788    enable UTF-8 interpretation of backspace in cooked mode
6789    (Freedesktop.org Bugzilla #1578, request by Stefan
6790    Dirsch).</li>
6791
6792    <li>modify <code>faceSize</code> resource to use a
6793    floating-point internal value (adapted from patch by Sam
6794    Stephenson).</li>
6795
6796    <li>correct handling selection of tabs over cleared space in
6797    UTF-8 mode. In this special case, xterm represents the
6798    whitespace with a null rather than a space character (Debian
6799    #276447).</li>
6800
6801    <li>amend fix for infinite loop from <a href="#xterm_192">patch
6802    #192</a> to check if there is wrapped text to output in a
6803    following iteration (Debian #273202).</li>
6804
6805    <li>fixes ifdef'd with <code>__INTERIX</code> to allow building
6806    with Interix (Windows Services for UNIX) 3.5 using the xlibs
6807    libraries from freedesktop.org (patch by Min Sik Kim).</li>
6808
6809    <li>amend solution for Debian #252873, Debian #260471 from
6810    <a href="#xterm_194">patch #194</a> by making the cursor not
6811    explicitly colored if only the foreground color is set, and the
6812    cursor is on a blank space (Debian #275473).</li>
6813
6814    <li>correct logic for send/receive mode (SRM) with regard to
6815    control characters.</li>
6816
6817    <li>fix masking of invisible text in wide-character mode, which
6818    did not work for line-drawing characters.</li>
6819
6820    <li>incorporate CF_XOPEN_SOURCE into configure script,
6821    replacing CF_GNU_SOURCE.</li>
6822  </ul>
6823
6824  <h1><a name="xterm_196" id="xterm_196">Patch #196 - 2004/8/15 -
6825  XFree86 4.4.99.12</a></h1>
6826
6827  <ul>
6828    <li>add a special case to configure script to ignore NetBSD's
6829    <code>grantpt()</code> which was recently added (but not part
6830    of a release), until someone is able to ensure that xterm can
6831    use it (report by Min Sik Kim).</li>
6832
6833    <li>clear the buffer returned by getutid(). This fixes an
6834    infinite loop on some platforms introduced in <a href=
6835    "#xterm_193">patch #193</a> by Debian #256468 fix (report by
6836    David Ellement).</li>
6837  </ul>
6838
6839  <h1><a name="xterm_195" id="xterm_195">Patch #195 - 2004/8/8 -
6840  XFree86 4.4.99.11</a></h1>
6841
6842  <ul>
6843    <li>correct length used for blinking text, make the last column
6844    blink (patch by Alexander V Lukyanov).</li>
6845
6846    <li>start changes to make doublesize characters work with
6847    TrueType fonts (see <a href="#xterm_44">patch #44</a>).</li>
6848
6849    <li>trim leading/trailing blanks from color resources as done
6850    for other strings in <a href="#xterm_167">patch #167</a>.</li>
6851
6852    <li>fixes for <code>showBlinkAsBold</code> resource (report by
6853    Christoph Berg).</li>
6854  </ul>
6855
6856  <h1><a name="xterm_194" id="xterm_194">Patch #194 - 2004/7/27 -
6857  XFree86 4.4.99.11</a></h1>
6858
6859  <ul>
6860    <li>change clearing operations so foreground color attribute is
6861    not set. Usually this is benign, but in some cases when the
6862    cursor color is not set explicitly, the cursor would show this
6863    color (Debian #252873, Debian #260471).</li>
6864
6865    <li>add extra state (cursor-moved) to guard against deciding
6866    that the cursor did not require repainting after an indexing
6867    operation that leaves the cursor in the same location on the
6868    screen.</li>
6869
6870    <li>fix a case where a full-screen indexing operation would not
6871    restore the cursor-busy state.</li>
6872
6873    <li>fix a repainting bug introduced in <a href=
6874    "#xterm_180">patch #180</a>: when using a font lacking
6875    line-drawing characters, a repaint of the screen could skip
6876    horizontally an extra amount after filling in the missing
6877    character (reports by Nicolas George, Hans de Goede, Redhat
6878    Bugzilla #128341).</li>
6879
6880    <li>rename terminfo fragment "xterm-pc-fkeys" to
6881    "xterm+pcfkeys" for consistency with ncurses.</li>
6882  </ul>
6883
6884  <h1><a name="xterm_193" id="xterm_193">Patch #193 - 2004/7/19 -
6885  XFree86 4.4.99.10</a></h1>
6886
6887  <ul>
6888    <li>fix for wide-character selection from OpenBSD CVS
6889    (report/patch by Matthieu Herrb).</li>
6890
6891    <li>modify initialization and cleanup of utmp data to also
6892    compare the <code>ut_line</code> member (Debian #256468).</li>
6893
6894    <li>modify check on focus-change to ignore
6895    <code>FocusOut</code> events generated by
6896    <code>XGrabKeyboard</code>. This fixes a case where the text
6897    cursor would act as if focus were lost when selecting the
6898    "Secure Keyboard" menu option.</li>
6899
6900    <li>add <code>gen-pc-fkeys.pl</code> script, use that to
6901    generate terminfo fragment corresponding to the pc-style
6902    function keys.</li>
6903
6904    <li>fix a case where the checkmark by the "VT220 Keyboard" menu
6905    entry was not set on startup.</li>
6906
6907    <li>separated two methods for making the cursor blink (menu and
6908    escape sequence) by using the menu as the primary method and
6909    XOR'ing the state of the escape sequence against that.</li>
6910
6911    <li>modify logic for enabling blinking cursor via escape
6912    sequence as well as the related save/restore operations so this
6913    is only available if the <code>cursorBlink</code> resource was
6914    set on startup.</li>
6915  </ul>
6916
6917  <h1><a name="xterm_192" id="xterm_192">Patch #192 - 2004/7/12 -
6918  XFree86 4.4.99.9</a></h1>
6919
6920  <ul>
6921    <li>change resource settings for color4 and color12, add some
6922    discussion in <code>XTerm-col.ad</code> (Debian #241717).</li>
6923
6924    <li>add a note in xterm manpage discussing the difference
6925    between alt- and meta-keys, and the way the latter is used in
6926    the <code>eightBitInput</code> resource.</li>
6927
6928    <li>add a note in xterm manpage regarding possible conflict
6929    between resource settings for <code>xterm.vt100.font</code> and
6930    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).</li>
6931
6932    <li>add compile-time customization of
6933    <code>backarrowKeyIsErase</code> and
6934    <code>ptyInitialErase</code> default resource values (adapted
6935    from OpenBSD CVS).</li>
6936
6937    <li>change parameter of <code>FIONREAD</code>
6938    <code>ioctl()</code> call from long to int (discussion on
6939    tech-x11@netbsd.org regarding LP64 by John Heasley and Matthias
6940    Scheler).</li>
6941
6942    <li>modify configure script options for Athena widgets to work
6943    as expected for "--without-Xaw3d", etc., (Gentoo Bugzilla
6944    #53455).</li>
6945
6946    <li>add case to uxterm to accommodate locales ending with
6947    "@euro", e.g., fr_FR.UTF-8@euro (Debian #255197,
6948    report/analysis by Matthieu Lagouge).</li>
6949
6950    <li>add special case for VT100 graphic's "box" character
6951    (discussion with Ben Armstrong).</li>
6952
6953    <li>add missing initialization for bitmap-font sizes needed to
6954    make fonts menu work with TrueType fonts (report by Ben
6955    Armstrong).</li>
6956
6957    <li>save the fontnames for bold fonts that are derived from
6958    normal fonts, or from the <code>boldFont</code> resource, so
6959    the same value is restored when switching with the VT Fonts
6960    menu (Debian #256086).</li>
6961
6962    <li>fix manpage preprocessing (Marc La France).</li>
6963
6964    <li>fix typo in manpage's description of character classes
6965    (Debian #257073).</li>
6966
6967    <li>modify terminfo to accommodate luit, which relies on G1
6968    being used via an ISO-2022 escape sequence (Debian #254316,
6969    analysis by Juliusz Chroboczek).</li>
6970
6971    <li>modify Makefile.in rule for ctlseqs.txt to work around
6972    groff SGR misfeature.</li>
6973
6974    <li>modify <code>XTerm.ad</code> to set <code>saveLines</code>
6975    default to 1024 (Redhat Bugzilla #127132).</li>
6976
6977    <li>add a limit-check in <code>dotext()</code> to prevent
6978    infinite loop in a corner case of UTF-8 configuration.</li>
6979
6980    <li>update config.guess, config.sub</li>
6981  </ul>
6982
6983  <h1><a name="xterm_191" id="xterm_191">Patch #191 - 2004/6/6 -
6984  XFree86 4.4.99.7</a></h1>
6985
6986  <ul>
6987    <li>correct options parsing for <code>-into</code> option so it
6988    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
6989    report/patch by James Armstrong).</li>
6990
6991    <li>fix ifdef's for <code>OPT_COLOR_RES2</code> so that the
6992    fake resource table introduced in <a href="#xterm_188">patch
6993    #188</a> is not compiled if it is empty. This happened to work
6994    with gcc (report by Joel Konkle-Parker).</li>
6995
6996    <li>reorganize ptydata.c to use one input buffer shared between
6997    the VTxxx and tek4014 emulators. In the new scheme, UTF-8
6998    decoding is performed on characters as they are needed by the
6999    state machine rather than on buffers as they are read.</li>
7000
7001    <li>work around change in quoting of PROJECTROOT symbol when
7002    using configure script, from changes made in <a href=
7003    "#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS (Gentoo
7004    Bugzilla #50982).</li>
7005  </ul>
7006
7007  <h1><a name="xterm_190" id="xterm_190">Patch #190 - 2004/5/25 -
7008  XFree86 4.4.99.6</a></h1>
7009
7010  <ul>
7011    <li>correct state for values in the range 128-159 after
7012    translating from UTF-8: this should be ignored unless the user
7013    overrides it with the <code>allowC1Printable</code> resource
7014    (reported by Simon Strandgaard).</li>
7015
7016    <li>add configure-script check for nl_langinfo(CODESET), use
7017    this to replace check of environment variables for UTF-8.</li>
7018
7019    <li>change Makefile.in rules for 256colres.h and 88colres.h so
7020    they are only made if they do not exist. The maintainer-clean
7021    rule will remove these files; they require perl to be
7022    made.</li>
7023
7024    <li>remove check in configure script --enable-toolbar that
7025    suppressed this option when building with Xaw7.</li>
7026
7027    <li>apply fixes to Tektronix widget used for VT100 widget to
7028    make toolbar work with Xaw7 (XFree86 4.x).</li>
7029  </ul>
7030
7031  <h1><a name="xterm_189" id="xterm_189">Patch #189 - 2004/5/16 -
7032  XFree86 4.4.99.6</a></h1>
7033
7034  <ul>
7035    <li>do not call xim_real_init() if <code>openIm</code> resource
7036    is false (Debian #249025).</li>
7037
7038    <li>minor improvements to built-in line-drawing.</li>
7039
7040    <li>fix a few portability issues with dynamic abbreviation
7041    support, i.e., did not compile on Tru64.</li>
7042
7043    <li>modify constraints in form used to layout toolbar, to work
7044    with newer Xaw in XFree86 4.x.</li>
7045  </ul>
7046
7047  <h1><a name="xterm_188" id="xterm_188">Patch #188 - 2004/5/12 -
7048  XFree86 4.4.99.6</a></h1>
7049
7050  <ul>
7051    <li>correct table entry for DEL in the ground state, which
7052    marked it as a printable character from <a href=
7053    "#xterm_171">patch #171</a> (report by D Hugh Redelmeier).</li>
7054
7055    <li>improve fix in <a href="#xterm_186">patch #186</a> for
7056    failure in xim_real_init() by adding a sleep.</li>
7057
7058    <li>fix a typo in os2main.c (XFree86 Bugzilla #1358,
7059    report/patch by Frank Giessler).</li>
7060
7061    <li>make escape sequence reporting dynamic colors consistent
7062    with the logic that sets it; choosing the opposite color when
7063    reverse video is set (XFree86 Bugzilla #1361, reported by Bradd
7064    W Szonye).</li>
7065
7066    <li>modify initialization of 256- and 88-colors so that colors
7067    beyond 16 are normally not X resources. This works around a
7068    hard-coded limit in Xt which breaks xterm when 256-colors and
7069    luit are both configured (report by Noah Friedman).</li>
7070
7071    <li>remove <code>ncv</code> from <code>xterm-256color</code>
7072    terminfo entry since it is no longer needed (report by Eli
7073    Zaretskii).</li>
7074
7075    <li>add "erase2" and "eol2" keywords to <code>ttyModes</code>
7076    resource, for recent/current FreeBSD.</li>
7077
7078    <li>improve ifdef's for utempter library to omit direct calls
7079    to <code>setutent()</code> or <code>getutent()</code> (adapted
7080    from patch by Christian Biere).</li>
7081
7082    <li>add dynamic abbreviation support like Emacs (patch by
7083    Tomasz Cholewo). This is ifdef'd with <code>OPT_DABBREV</code>,
7084    and enabled via the configure script
7085    <code>--enable-dabbrev</code> option.</li>
7086
7087    <li>fix problem responding to session management events, e.g.,
7088    which would make logging out very slow (patch by Eddy De Greef,
7089    Debian #233883).</li>
7090
7091    <li>work around a newer bug in toolbar with XFree86 by forcing
7092    menus to be fully initialized at startup. In older versions of
7093    XFree86 and X11R6, it was possible to delay initialization of
7094    the menu contents until it was popped up. (The longstanding bug
7095    with XFree86 4.x layout for toolbar still exists, though).</li>
7096
7097    <li>modify <code>xtermAddInput</code> to work around core dump
7098    on IRIX64 when initializing scrollbar translations if toolbar
7099    is compiled-in.</li>
7100
7101    <li>fix some minor conflicts in the 2-character entry names in
7102    the termcap file.</li>
7103  </ul>
7104
7105  <h1><a name="xterm_187" id="xterm_187">Patch #187 - 2004/4/27 -
7106  XFree86 4.4.99.4</a></h1>
7107
7108  <ul>
7109    <li>change xterm version string to use
7110    <code>__vendorversion__</code> where that is available, and
7111    "XTerm" otherwise.</li>
7112
7113    <li>improve description of <code>utf8</code> resource in
7114    manpage (Debian #179407).</li>
7115
7116    <li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS
7117    to handle <code>-D</code> options that define string values,
7118    e.g., for <code>XVENDORNAME</code>.</li>
7119
7120    <li>modify configure macro CF_IMAKE_CFLAGS to allow (if
7121    <code>$PATH</code> is set accordingly) to use the
7122    <code>xmkmf</code> script within an X build tree.</li>
7123
7124    <li>add missing <code>#undef OPT_SESSION_MGT</code> to
7125    xtermcfg.hin to make the configure script's
7126    --disable-session-mgt option work.</li>
7127
7128    <li>update config.guess, config.sub</li>
7129  </ul>
7130
7131  <h1><a name="xterm_186" id="xterm_186">Patch #186 - 2004/4/18 -
7132  XFree86 4.4.99.4</a></h1>
7133
7134  <ul>
7135    <li>change reset on <code>DECSCL</code> to a soft-reset
7136    (appears some DEC manuals have errors).</li>
7137
7138    <li>add a section to ctlseqs.ms elaborating on normal/alternate
7139    screens.</li>
7140
7141    <li>modify initialization of Acolors[] so that any
7142    XtDefaultForeground or XtDefaultBackground values are
7143    translated as in the Tcolors[], to use the window's
7144    foreground/background colors. This affects the
7145    <code>colorBD</code> and similar resources which normally have
7146    no explicit color assigned.</li>
7147
7148    <li>modify initialization of Tektronix window so that control
7149    sequences setting its color before the window is popped up will
7150    apply to its initial colors.</li>
7151
7152    <li>add control sequence to set Tektronix window's
7153    text-cursor.</li>
7154
7155    <li>modify initialization of terminal colors, e.g., mouse
7156    pointer and text cursor, to treat
7157    <code>XtDefaultForeground</code> and
7158    <code>XtDefaultBackground</code> values as the actual
7159    foreground and background colors of the terminal rather than
7160    white and black (Debian #241717).</li>
7161
7162    <li>remove an incorrect comparison against
7163    <code>PTYCHARLEN</code> in parsing the <code>-S</code> option
7164    (report by Michael B Taylor).</li>
7165
7166    <li>minor restructuring of terminfo/termcap files, having noted
7167    some packager's customizations which caused the structure to be
7168    confused.</li>
7169
7170    <li>eliminate an isolated use of MIN/MAX in charproc.c</li>
7171
7172    <li>replace <code>XtExtdefaultfont</code> and
7173    <code>XtExtdefaultbackground</code> by their more familiar
7174    equivalents <code>XtDefaultFont</code> and
7175    <code>XtDefaultBackground</code>.</li>
7176
7177    <li>replace ifdef's using <code>SCO</code>, <code>sco</code>
7178    and <code>SCO325</code> with <code>__SCO__</code> (XFree86
7179    Bugzilla #1301, Kean Johnston). But ensure that it still builds
7180    on platforms where this symbol is not defined.</li>
7181
7182    <li>add <code>scoFunctionKeys</code> resource, to match
7183    manpage.</li>
7184
7185    <li>update manpage discussion of menus and related
7186    resources.</li>
7187
7188    <li>enable utmpx support for NetBSD 1.6C and newer (patch by
7189    Matthias Scheler).</li>
7190
7191    <li>add a note in the manpage discussing xterm's treatment of
7192    open file-descriptors (request by Dan Shearer).</li>
7193
7194    <li>modify <code>Help()</code> to make "xterm -h" write to
7195    standard output rather than standard error (patch by Bram
7196    Moolenaar).</li>
7197
7198    <li>check for type of failure in xim_real_init() to avoid
7199    looping when the problem is an unsupported input method rather
7200    than a failure to connect to the XIM server. Problem was
7201    introduced in <a href="#xterm_175">patch #175</a> (XFree86
7202    Bugzilla #1306).</li>
7203
7204    <li>modify <code>Imakefile</code> to remove dependency of
7205    "install" target on the <code>xterm</code> executable to make
7206    installs from tree without attempting to rebuild anything
7207    (commit by David Dawes, report/patch from Lee Olsen).</li>
7208
7209    <li>remove call to <code>ShowCursor</code> from
7210    <code>SetCursorBlink()</code> since that is redundant, and can
7211    cause display glitches if the cursor is already blinking
7212    (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).</li>
7213  </ul>
7214
7215  <h1><a name="xterm_185" id="xterm_185">Patch #185 - 2004/3/3 -
7216  XFree86 4.4</a></h1>
7217
7218  <ul>
7219    <li>fix tcap-query logic for the backspace key (XFree86
7220    Bugzilla #1233, report/patch by Anton Kovalenko).</li>
7221
7222    <li>add test-scripts resize.pl and tcapquery.pl</li>
7223
7224    <li>add translation to ASCII of commonly-used characters that
7225    groff translates to Unicode, when the font in use does not
7226    provide the corresponding glyphs (Debian #219551).</li>
7227
7228    <li>modify RequestMaximize(), which performs maximize/restore
7229    via control sequences, to account for window-frame (patch by
7230    Jess Thrysoee).</li>
7231
7232    <li>improve pattern used in <code>uxterm</code> to check for
7233    UTF-8 locale, e.g., for HPUX (patch by H Merijn Brand).</li>
7234
7235    <li>add <code>-fd</code> option and resource
7236    <code>faceNameDoublesize</code> to specify double-wide fonts
7237    with Xft (adapted from patch by Zarick Lau).</li>
7238
7239    <li>change a couple of resource classes from "Boolean" to
7240    specific values: <code>freeBoldBox</code>,
7241    <code>forceBoxChars</code>.</li>
7242
7243    <li>add resource <code>showMissingGlyphs</code> to outline
7244    places on the screen where a font lacks the corresponding
7245    glyph.</li>
7246
7247    <li>add resource <code>showBlinkAsBold</code> to control
7248    whether blinking text should be shown as bold or actual
7249    blinking text.</li>
7250
7251    <li>improve logic in ShowCursor() to avoid repainting the
7252    cursor when it is already visible, e.g., in response to the
7253    DECTCEM escape sequence. This also addresses XFree86 Bugzilla
7254    #1158.</li>
7255
7256    <li>implement blinking text, using the timer for blinking
7257    cursor.</li>
7258
7259    <li>modify FreeType support to allow resizing the font, in the
7260    same ways the window can be resized if fixed fonts are used.
7261    The relative font sizes are derived from the fixed font
7262    sizes.</li>
7263
7264    <li>add menu items and corresponding actions for switching
7265    on/off the UTF-8 mode and Xft (TrueType) support.</li>
7266
7267    <li>add logic to handle switching UTF-8 mode on/off. It worked
7268    if the escape sequences were flushed, but if data was mixed in
7269    with the same write, some were not handled properly (report by
7270    Nicolas George).</li>
7271
7272    <li>modify to allow turning UTF-8 mode on/off via escape
7273    sequence even if <code>-wc</code> option was not given at
7274    startup (patch by Peter Berg Larsen).</li>
7275
7276    <li>amend fix for XFree86 Bugzilla #981, adjusting for
7277    savedlines value (report by Tim Adye).</li>
7278
7279    <li>fix a typo in computing relative font size (Jess
7280    Thrysoee).</li>
7281  </ul>
7282
7283  <h1><a name="xterm_184" id="xterm_184">Patch #184 - 2003/12/31 -
7284  XFree86 4.3.99.903</a></h1>
7285
7286  <ul>
7287    <li>improve configure-script checks for FreeType and related
7288    libraries, using <code>xft-config</code> or
7289    <code>freetype-config</code> scripts when available.</li>
7290
7291    <li>fix configure-script check for <code>SYSV</code> definition
7292    by ensuring whether <code>sys_errlist[]</code> is declared, and
7293    by modifying the test program to include
7294    <code>X11/Intrinsic.h</code> to check that <code>wchar_t</code>
7295    is declared consistently (report by H Merijn Brand).</li>
7296  </ul>
7297
7298  <h1><a name="xterm_183" id="xterm_183">Patch #183 - 2003/12/26 -
7299  XFree86 4.3.99.903</a></h1>
7300
7301  <ul>
7302    <li>correct logic for configurations that may attempt to open
7303    both old/new-style pseudoterminals. In this case, the old-style
7304    are preferred. Logic was broken in <a href="#xterm_145">patch
7305    #145</a> (XFree86 Bugzilla #997, report/patch by Kean
7306    Johnston).</li>
7307
7308    <li>modify handling of <code>eightBitInput</code> resource in
7309    UTF-8 mode to translate the value into UTF-8. Otherwise an
7310    illegal UTF-8 code is sent to the application (report by Bram
7311    Moolenaar).</li>
7312
7313    <li>modify <code>uxterm</code> script to interpret help and
7314    version options so xterm does not always create a window when
7315    the user requests this information (Debian #223926).</li>
7316
7317    <li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla
7318    #981).</li>
7319
7320    <li>modify DECSCL to perform a hard reset (RIS) as per DEC
7321    manuals. Extended DECSCL to accept parameters for vt4XX and
7322    vt5xx terminals.</li>
7323
7324    <li>correct logic for ANSI conformance level escape sequences,
7325    which were confused with DEC conformance level escape
7326    sequences.</li>
7327
7328    <li>correct state for vt52 shift-in/shift-out, which was not
7329    reset properly after <a href="#xterm_171">patch #171</a>.</li>
7330
7331    <li>correct handling of graphics characters for vt52 mode,
7332    which did not display line-drawing characters after G1 fix from
7333    <a href="#xterm_182">patch #182</a>.</li>
7334
7335    <li>fixes for configure script to work with current Cygwin
7336    headers and libraries.</li>
7337
7338    <li>modify <code>Imakefile</code> to put the current directory
7339    at the beginning of the include searchpath (patch by David
7340    Dawes).</li>
7341  </ul>
7342
7343  <h1><a name="xterm_182" id="xterm_182">Patch #182 - 2003/12/2 -
7344  XFree86 4.3.99.901</a></h1>
7345
7346  <ul>
7347    <li>correct logic for <code>metaSendsEscape</code> resource to
7348    allow for the meta-right key to be tested. Improve check for
7349    meta/alt modifiers by dropping the assumption that a keysym is
7350    associated with only one modifier, and by ignoring NoSymbol
7351    entries in the xmodmap data (XFree86 Bugzilla #924, patch by
7352    David Dawes).</li>
7353
7354    <li>correct wrapping logic for line-drawing characters written
7355    in non-UTF-8 mode of xterm build for wide-characters (XFree86
7356    Bugzilla #918, report/patch by J&uuml;rgen Keil).</li>
7357
7358    <li>improve manpage description of resources, in particular the
7359    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).</li>
7360
7361    <li>add definitions to compile with glibc-based GNU/Hurd,
7362    GNU/KFreeBSD and GNU/KNetBSD (XFree86 Bugzilla #893).</li>
7363
7364    <li>compiler-warning fixes (patch by Christian Biere).</li>
7365
7366    <li>add README.i18n (Tomohiro Kubota).</li>
7367
7368    <li>correct initialization of G1 character set mapping, which
7369    used line-drawing set as a result of confusion between "DEC
7370    Supplemental Graphic" and "DEC Special Graphic" character sets
7371    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).</li>
7372
7373    <li>correct ifdef in main.c for variable utret (patch by
7374    Bernhard Rosenkraenzer).</li>
7375
7376    <li>document in xterm's manpage how to use XFree86 ":unscaled"
7377    keyword to suppress scaling of bold fonts.</li>
7378
7379    <li>when deriving bold fontname from normal fontname, use the
7380    normal font's average width to avoid for example selecting
7381    7x13bold from an 8x13 normal font (Debian #107769).</li>
7382  </ul>
7383
7384  <h1><a name="xterm_181" id="xterm_181">Patch #181 - 2003/10/26 -
7385  XFree86 4.3.99.15</a></h1>
7386
7387  <ul>
7388    <li>implement <code>boldMode</code> for wide-character logic in
7389    <code>drawXtermText()</code> (report by Michael
7390    Schroeder).</li>
7391
7392    <li>modify <code>UXTerm.ad</code> resource file to include
7393    "XTerm-color" rather than "XTerm", in case the latter file
7394    contains no color resource definitions, e.g., after <a href=
7395    "#xterm_180">patch #180</a>.</li>
7396
7397    <li>add action <code>load-vt-fonts()</code> and configure
7398    option <code>--enable-load-vt-fonts</code> which allows users
7399    to define additional sets of VT-fonts which can be loaded at
7400    runtime.</li>
7401
7402    <li>add logic to wide-character support which attempts to load
7403    fonts specified by <code>utf8Fonts</code> subresources at
7404    startup. The subresources have the same names as the fonts
7405    which they replace, e.g., <code>font</code>,
7406    <code>font1</code>, etc., so that the ISO-10646-1 fonts can be
7407    specified in the <code>XTerm</code> app-defaults file (adapted
7408    from patch by Tomohiro Kubota).</li>
7409
7410    <li>improve Set Font escape string handling by making the
7411    relative settings apply to the size of the font, as in shift
7412    keypad plus/minus rather than the menu index.</li>
7413
7414    <li>simplify parameter passing for the <code>set-vt-font</code>
7415    action and related code.</li>
7416
7417    <li>cleanup some include-ordering, moving some recently-added
7418    hardcoded stuff into xterm.h where it will not interfere with
7419    the configure script.</li>
7420
7421    <li>modify <code>xtermAddInput()</code> (see note on
7422    augmentation in <a href="#xterm_158">patch #158</a>) to use the
7423    complete set of default keyboard translations so that one can
7424    use shifted pageup, wheel mouse, etc., while the mouse pointer
7425    is over the scrollbar. (Debian #178812).</li>
7426
7427    <li>make save/restore mode controls apply to show/blink cursor
7428    states.</li>
7429
7430    <li>add escape sequence to start/stop blinking cursor, which
7431    allows implementing <code>cvvis</code> terminfo capability
7432    (request by Nate Bargmann).</li>
7433
7434    <li>add <code>indp</code> and <code>rin</code> to terminfo
7435    entry.</li>
7436
7437    <li>fix an out-of-bounds array reference in ScrnRefresh() for
7438    wide characters (report by Dan Harnett, patch by Todd Miller).
7439    This bug dates from <a href="#xterm_141">patch #141</a>.</li>
7440  </ul>
7441
7442  <h1><a name="xterm_180" id="xterm_180">Patch #180 - 2003/10/12 -
7443  XFree86 4.3.99.15</a></h1>
7444
7445  <ul>
7446    <li>several fixes for rendering using Xft via option
7447    <code>-fa</code>:
7448
7449      <ul>
7450        <li>translate Unicode values, i.e,. from UTF-8 output to
7451        xterm, for line-drawing to xterm's internal code, etc.,
7452        since TrueType fonts generally do not have either set of
7453        line-drawing glyphs. xterm can draw these directly (report
7454        by Abigail Brady).</li>
7455
7456        <li>pass 16-bit values rather than 8-bit values to
7457        xtermXftDrawString() to allow for wide-characters.</li>
7458
7459        <li>remove spurious check for <code>colorBDMode</code>
7460        resource in logic that does bold fonts.</li>
7461
7462        <li>implement underlining.</li>
7463      </ul>
7464    </li>
7465
7466    <li>patches by Ilya Zakharevich:
7467
7468      <ul>
7469        <li>improve drawXtermText() by making the recursive calls
7470        communicate through arguments, and not through
7471        saving/restoring global variables.</li>
7472
7473        <li>make double-width characters work with <code>-u8</code>
7474        option.</li>
7475
7476        <li>modify lookup of double-sized fonts by checking for a
7477        match ignoring x/y resolution if the first check
7478        fails.</li>
7479      </ul>
7480    </li>
7481
7482    <li>make height of TrueType fonts match ascent+descent (patch
7483    by Keith Packard).</li>
7484
7485    <li>correct configure-script check for imake $CFLAGS, which did
7486    not check properly if imake was not available.</li>
7487
7488    <li>correct install rule in Makefile.in for
7489    <code>uxterm</code>, which was attempting to strip the script
7490    (newsgroup posting by Fernan Aguero).</li>
7491
7492    <li>correct AF/AB strings in termcap for xterm-256color and
7493    xterm-88color entries (report by Josh Howard).</li>
7494
7495    <li>update wcwidth.c to incorporate changes from Markus Kuhn's
7496    2003-05-20 (Unicode 4.0) version of that file.</li>
7497
7498    <li>modify <code>scroll-back</code> and
7499    <code>scroll-forw</code> actions to accept an adjustment value,
7500    e.g.,
7501      <pre>
7502              <code>scroll-back(1, page-2)</code>
7503</pre>to scroll back by 2 lines less than a page (patch by Greg
7504Klanderman).
7505    </li>
7506
7507    <li>use color resource setting from Debian package for xterm
7508    VT100 widget, since the choice of blues provides better
7509    contrast.</li>
7510
7511    <li>remove color resources from <code>XTerm.ad</code>, leaving
7512    them only in <code>XTerm-col.ad</code> (prompted by Debian
7513    package for xterm).</li>
7514
7515    <li>correct configure script option --enable-pty-handshake
7516    (report by Paul Gilmartin).</li>
7517
7518    <li>add <code>visualBellDelay</code> resource to modify the
7519    length of time used for visual bell, for very slow displays or
7520    very fast computers (reports by Ingo van Lil and Doug
7521    Toppin).</li>
7522
7523    <li>correct logic for initializing dynamic highlight color
7524    (patch by Jess Thrysoee).</li>
7525
7526    <li>add a check for non-zero size in call to
7527    <code>XCopyArea()</code> to accommodate a Solaris bug.</li>
7528
7529    <li>correct typo in example for character classes in xterm
7530    manpage (Debian #198910).</li>
7531
7532    <li>link xterm with bind_on_load option on Darwin to work
7533    around a deadlock in the dynamic loader when a signal is
7534    received while the dynamic loader is looking up symbols
7535    (patches by Rob Braun, Torrey Lyons).</li>
7536
7537    <li>modify configure script to avoid using "head -1".</li>
7538
7539    <li>update config.guess, config.sub</li>
7540
7541    <li>modify ifdef's to work around inclusion of types FcChar32
7542    and XftCharSpec with FreeType 2.0 (see <a href=
7543    "#xterm_175">patch #175</a>).</li>
7544
7545    <li>modify the predictable version of the generated logfile
7546    name (see <a href="#xterm_171">patch #171</a>) to append the
7547    process-id rather than a random value.</li>
7548
7549    <li>resync with XFree86 CVS
7550
7551      <ul>
7552        <li>Enable SCO function keys in xterm</li>
7553
7554        <li>Make Delete key send DEL by default on SCO in
7555        xterm</li>
7556      </ul>
7557    </li>
7558  </ul>
7559
7560  <h1><a name="xterm_179" id="xterm_179">Patch #179 - 2003/5/21 -
7561  XFree86 4.3.99.5</a></h1>
7562
7563  <ul>
7564    <li>modify ifdef's for WTMPX_FILE to allow building on cygwin
7565    again.</li>
7566
7567    <li>change the default of pty-handshaking configure option (and
7568    related default for imake) to assume this feature is
7569    needed.</li>
7570
7571    <li>add ifdef's so configure option for XawPlus library works
7572    (patch by Pavel Roskin).</li>
7573
7574    <li>add <code>$(MAIN_DEFINES)</code> to the variables checked
7575    by the configure script that may contain information set by
7576    imake. This allows xterm to build/run properly using the
7577    configure script on IRIX64.</li>
7578
7579    <li>add configure check for ".exe" suffix on cygwin.</li>
7580  </ul>
7581
7582  <h1><a name="xterm_178" id="xterm_178">Patch #178 - 2003/5/18 -
7583  XFree86 4.3.99.5</a></h1>
7584
7585  <ul>
7586    <li>modify default for configure
7587    <code>--enable-pty-handshake</code> option to enable it for
7588    Solaris (report by Nelson Beebe).</li>
7589
7590    <li>modify <code>in_put()</code> function to call
7591    <code>PreeditPosition()</code> only when the cursor's position
7592    has changed. This addresses report by Stefan Baums of high CPU
7593    usage while xterm with chinput are running in the background
7594    (patch by Yong Li).</li>
7595
7596    <li>improved explanation of <code>-ls</code> conflict with
7597    <code>-e</code> option in xterm manpage (adapted from comments
7598    by Henning Makholm).</li>
7599
7600    <li>correct comment in terminfo file regarding modifier used
7601    for <code>kDC</code> (Debian #189764, report by Henning
7602    Makholm).</li>
7603
7604    <li>correct/extend some of the keypad description in ctlseqs.ms
7605    (report by Henning Makholm).</li>
7606
7607    <li>correct keypad-mapping table in input.c so
7608    <code>XK_KP_Equal</code> works (report by Henning
7609    Makholm).</li>
7610
7611    <li>modified to work with CJK double-width (bi-width/monospace)
7612    fonts. They're similar to Roman Czbora and David Starner's
7613    gnuunifonts in that Latin letters and numbers have all the same
7614    width which is exactly the half of the width of East Asian
7615    characters. (patch by Jungshik Shin
7616    &lt;jshin@mailaps.org&gt;).</li>
7617
7618    <li>add configure option <code>--enable-broken-osc</code> and
7619    resource <code>brokenLinuxOSC</code> to accommodate scripts
7620    which do not distinguish between running in the Linux console
7621    and running in X. Linux console recognizes malformed control
7622    strings which start with an <code>OSC</code>, but are
7623    fixed-length, with no terminator.</li>
7624
7625    <li>add configure option <code>--enable-broken-st</code> and
7626    resource <code>brokenStringTerm</code> to allow user to revert
7627    one part of the parsing table corrections from <a href=
7628    "#xterm_171">patch #171</a>. (reports by Matthias Scheler and
7629    Kirill Ponomarew indicate that someone's network firmware sends
7630    an <code>&lt;escape&gt;X</code>).</li>
7631
7632    <li>modify configure <code>--disable-imake</code> to provide
7633    values for <code>OSMAJORVERSION</code>,
7634    <code>OSMINORVERSION</code>, <code>FUNCPROTO</code> and
7635    <code>NARROWPROTO</code> (report by Heiko Schlichting).</li>
7636
7637    <li>correct <code>vttests/16colors.sh</code>, which omitted the
7638    <code>$SUF</code> variable in output strings (patch by Paul
7639    Gilmartin).</li>
7640
7641    <li>modify shell scripts in <code>vttests</code> directory to
7642    attempt to use named signals in the <code>trap</code>
7643    statement, making this portable to OS/390 (report by Paul
7644    Gilmartin). Tested on SunOS 4.1.4, which implements only
7645    numbers.</li>
7646  </ul>
7647
7648  <h1><a name="xterm_177" id="xterm_177">Patch #177 - 2003/3/23 -
7649  XFree86 4.3.0</a></h1>
7650
7651  <ul>
7652    <li>fix definition of <code>USE_HANDSHAKE</code>, must be
7653    numeric (reported by Jens Schleusener).</li>
7654  </ul>
7655
7656  <h1><a name="xterm_176" id="xterm_176">Patch #176 - 2003/3/22 -
7657  XFree86 4.3.0</a></h1>
7658
7659  <ul>
7660    <li>add configure option <code>--enable-pty-handshake</code> to
7661    allow one to compile-in support for the pty handshaking logic,
7662    and resource <code>ptyHandshake</code> to enable or disable it
7663    (suggested by Ian Collier).</li>
7664
7665    <li>restore <code>USE_HANDSHAKE</code> ifdef removed in
7666    <a href="#xterm_159">patch #159</a> to address Debian
7667    #39964.</li>
7668
7669    <li>move ifdef's for ttysize/winsize into xterm_io.h</li>
7670
7671    <li>simplify loop on <code>tgetent</code>, check if the
7672    successive entries in the lookup table are the same. That makes
7673    xterm do one less lookup if there is no "xterm" entry in the
7674    termcap file (report by Derek Martin).</li>
7675
7676    <li>correct manpage discussion of <code>$TERM</code> and
7677    <code>$TERMCAP</code> variables, which omitted the Tektronix
7678    emulation and a note of the final "dumb" fallback.</li>
7679
7680    <li>broaden ifdef for
7681    <code>XRegisterIMInstantiateCallback()</code> from <a href=
7682    "#xterm_175">patch #175</a> (XIM fix) to exclude non-XFree86
7683    (report by Nelson Beebe indicates this breaks for Solaris, IRIX
7684    and OSF/1).</li>
7685
7686    <li>correct resource-size for <code>iconFont</code> (this was
7687    added by X11R6.3).</li>
7688
7689    <li>improve configure check for XKB bell extension, to work
7690    around inconsistent implementation of this feature (reports by
7691    Nelson Beebe, Kriston Rehberg and David Ellement).</li>
7692
7693    <li>modify configure-check for <code>tty</code> group to be
7694    less strict in batch mode (report by Nelson Beebe).</li>
7695
7696    <li>modify to allow building with g++, to use its compiler
7697    warnings (suggested by Nelson Beebe).</li>
7698
7699    <li>modify <code>dec2ucs[]</code> table to reflect newer codes
7700    available for scanlines 1, 3, 7, 9 (report by Michael
7701    Schroeder).</li>
7702
7703    <li>add configure option for XawPlus library.</li>
7704  </ul>
7705
7706  <h1><a name="xterm_175" id="xterm_175">Patch #175 - 2003/3/9 -
7707  XFree86 4.3.0</a></h1>
7708
7709  <ul>
7710    <li>fix a SIGSEGV which could occur if xterm is connecting to
7711    XIM server, and the XIM server is destroyed (patch by Nam
7712    SungHyun).</li>
7713
7714    <li>modify to use built-in line-drawing characters for Xft
7715    fonts (patch by Andrew Tipton).</li>
7716
7717    <li>make menu reflect the state of the <code>tekInhibit</code>
7718    resource.</li>
7719
7720    <li>make <code>signalInhibit</code> resource work, i.e.,
7721    disable the menu entries that would send signals to, or exit
7722    xterm. This was probably broken in X11R5 when logging was
7723    disabled (report by Sven Mascheck).</li>
7724
7725    <li>changed classes of <code>colorBDMode</code> and similar
7726    resources that override colors when a video attribute is set to
7727    <code>ColorAttrMode</code>, to make them distinct from
7728    <code>ColorMode</code>. This avoids an unexpected rendering of
7729    reverse video, for example (report by Paul Fox).</li>
7730
7731    <li>changed class of <code>veryBoldColors</code> to
7732    <code>VeryBoldColors</code>, since <code>ColorMode</code> is
7733    associated with boolean resources.</li>
7734
7735    <li>add option <code>-k8</code> and resource
7736    <code>allowC1Printable</code> to allow users of non-VTxxx
7737    character sets such as KOI-8 to treat the C1 control area
7738    (character codes 128-159) as printable rather than control
7739    characters.</li>
7740
7741    <li>add a null-pointer check for return-value of
7742    <code>ptsname()</code> in HPUX-specific code (report by David
7743    Ellement).</li>
7744
7745    <li>revise the ifdef's used for <code>XKB</code> bell support.
7746    The code was using a nonstandard call
7747    <code>XkbStdBell()</code>. Changed to use
7748    <code>XkbBell()</code> (based on patch by
7749    &lt;derek@signalmarketing.com&gt;).</li>
7750
7751    <li>add a null-pointer check in <code>xtermLoadFont()</code> in
7752    case there is no wide-bold font (Nam SungHyun).</li>
7753
7754    <li>change <code>Makefile.in</code> to use autoconf's
7755    <code>bindir</code>, <code>libdir</code> and
7756    <code>mandir</code> variables (report by Nam SungHyun).</li>
7757
7758    <li>add <code>le</code> to termcap <code>xterm-basic</code>
7759    entry. Though missing from older termcaps for xterm, some
7760    applications check for it (report by Matthias Buelow).</li>
7761
7762    <li>modify <code>uxterm</code> script to strip modifiers such
7763    as "@euro" from the locale setting before adding ".UTF-8"
7764    (Debian #179929).</li>
7765
7766    <li>modify the remaining places where tek4014 emulation uses
7767    <code>XDefineCursor()</code>, to make it work as originally
7768    implemented, e.g., when switching back to alpha mode. Added
7769    test-screen in vttest to test this feature properly.</li>
7770  </ul>
7771
7772  <h1><a name="xterm_174" id="xterm_174">Patch #174 - 2003/2/25 -
7773  XFree86 4.2.99.903</a></h1>
7774
7775  <ul>
7776    <li>work-around for XFree86 bug which made
7777    <code>XDefineCursor()</code> on a shell-window no longer work.
7778    The tek4014 emulation used this. Use the next lower window
7779    (report by Karl Rudolf Bauchspiess).</li>
7780
7781    <li>add a resource setting <code>allowWindowOps</code> to
7782    control whether the extended window operations should be
7783    allowed, e.g., resize, iconify, report window attributes. This
7784    is to accommodate people who are not capable of using a pager
7785    to view log-files.</li>
7786  </ul>
7787
7788  <h1><a name="xterm_173" id="xterm_173">Patch #173 - 2003/2/6 -
7789  XFree86 4.2.99.902</a></h1>
7790
7791  <ul>
7792    <li>reset mouse mode to normal on a full reset. This does not
7793    apply to mouse hilite tracking mode, of course (see
7794    ctlseqs.ms).</li>
7795
7796    <li>add a time-delay at the point where mouse hilite tracking
7797    mode choses to not handle X events, to avoid runaway CPU usage
7798    (report by D Hugh Redelmeier).</li>
7799
7800    <li>check for illegal character in DECUDK string, quit if
7801    detected.</li>
7802  </ul>
7803
7804  <h1><a name="xterm_172" id="xterm_172">Patch #172 - 2002/12/27 -
7805  XFree86 4.2.99.3</a></h1>
7806
7807  <ul>
7808    <li>fixes to make repainting of 256-color example work properly
7809    (reports by Abigail Brady and Scott A Crosby).
7810
7811      <ul>
7812        <li>set flag in <code>AllocateAnsiColor()</code> to ensure
7813        the color is allocated once only.</li>
7814
7815        <li>fix check in <code>ScrnRefresh</code>, which was
7816        comparing background colors only if the ANSI foreground
7817        colors also were set.</li>
7818      </ul>
7819    </li>
7820
7821    <li>merge <code>Error()</code> calls and some
7822    <code>exit()</code> calls into <code>SysError()</code>, and
7823    change that to add the brief explanation for each error code
7824    which is provided in the manpage. Change a few
7825    <code>SysError()</code>, calls to avoid using code 1, to avoid
7826    confusion with exit status from places that do not use
7827    <code>SysError()</code>.</li>
7828
7829    <li>simplify logic used to open a debug logfile as the standard
7830    error.</li>
7831
7832    <li>modify the <code>-e</code> option so that if it fails,
7833    xterm will check if only one argument follows, e.g., it was
7834    quoted, and then retry using <code>sh&nbsp;-c</code>.</li>
7835
7836    <li>modify parsing of DECUDK string parameter to allow a comma
7837    between pairs of hexadecimal digits (Ray Neuman
7838    &lt;raymond@one.com.au&gt; reports that "real" terminals accept
7839    this; perhaps they simply ignore unexpected characters).</li>
7840
7841    <li>fix a few problems with the <code>$TERMCAP</code> string
7842    generated by <code>resize</code>:
7843
7844      <ul>
7845        <li>for Bourne shell, add an <code>export</code> command.
7846        This was missing as far back as X11R5.</li>
7847
7848        <li>escape exclamation marks, used in xterm's reset
7849        string.</li>
7850
7851        <li>translate literal <code>\177\</code> to "^?".</li>
7852      </ul>
7853    </li>
7854
7855    <li>improve configure check for <code>tgetent()</code> to work
7856    when <code>$TERMCAP</code> has been set to a specific
7857    entry.</li>
7858
7859    <li>modify <code>minstall.sh</code> to use "%" rather than "@",
7860    to avoid problems with AFS (report by Zdenek Sekera).</li>
7861
7862    <li>list fatal error codes from <code>error.h</code> in the
7863    manpage, remove unused codes in <code>error.h</code>.</li>
7864
7865    <li>use more explicit wording for manpage list of color
7866    resources, since at least one user confused the generic names
7867    such as "black" with the names in rgb.txt (the latter are now
7868    used).</li>
7869
7870    <li>minor fix to description of 1003 mouse mode in ctlseqs.ms
7871    (Larry Riedel).</li>
7872  </ul>
7873
7874  <h1><a name="xterm_171" id="xterm_171">Patch #171 - 2002/12/12 -
7875  XFree86 4.2.99.3</a></h1>
7876
7877  <ul>
7878    <li>modify parser tables to improve detection of malformed
7879    control sequences, making xterm behave more like a real DEC
7880    terminal (patch by Paul Williams).</li>
7881
7882    <li>update comment in <code>input.c</code> to document
7883    <code>Meta</code> as a modifier for escape sequences (patch by
7884    D Roland Walker).</li>
7885
7886    <li>add ifdef'd code for logging option which adds the hostname
7887    and a timestamp to the generated logfile name. The ifdef's are
7888    setup with the configure script (patch by Nelson Beebe).</li>
7889
7890    <li>remove <code>xevents()</code> call from the end of
7891    <code>BlinkCursor()</code>, to fix an occasional problem which
7892    caused xterm to pause until a key was pressed. The reason for
7893    this was that there was no check to ensure that there really
7894    were events for <code>xevents()</code> to process. (patch by
7895    Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).</li>
7896
7897    <li>remove unused mode-params from <code>open()</code> calls
7898    that do not create a file.</li>
7899
7900    <li>modify configure script to put new items first on
7901    <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid
7902    conflict with environment's <em>-I</em> and <em>-D</em>
7903    options.</li>
7904
7905    <li>update config.guess, config.sub</li>
7906
7907    <li>resync with XFree86 CVS
7908
7909      <ul>
7910        <li>fix va_args glitches for xterm/libfontconfig: 0 ==
7911        (void*)0 isn't true for all platforms (Egbert Eich).</li>
7912
7913        <li>initialise ProgramName in xterm's main before
7914        referencing it (XFree86 #5473, Peter Valchev).</li>
7915
7916        <li>some cleanup of Imakefile ifdef's (Marc La
7917        France).</li>
7918      </ul>
7919    </li>
7920  </ul>
7921
7922  <h1><a name="xterm_170" id="xterm_170">Patch #170 - 2002/10/13 -
7923  XFree86 4.2.1</a></h1>
7924
7925  <ul>
7926    <li>correct an off-by-one allocating data for sorted help
7927    message.</li>
7928
7929    <li>modify configure script to check for Xpm library, on which
7930    XFree86 Xaw library depends.</li>
7931
7932    <li>update config.guess, config.sub</li>
7933  </ul>
7934
7935  <h1><a name="xterm_169" id="xterm_169">Patch #169 - 2002/10/5 -
7936  XFree86 4.2.1</a></h1>
7937
7938  <ul>
7939    <li>modify wording of some options in help message to make them
7940    use <code>-/+</code> consistently with respect to "on/off" or
7941    "off/on".</li>
7942
7943    <li>sort options list which is displayed in help- and
7944    syntax-messages at runtime to simplify maintenance.</li>
7945
7946    <li>remove support for Amoeba and Minix (Juliusz Chroboczek
7947    noted it was removed from XFree86 server; there have been no
7948    users since 1996).</li>
7949
7950    <li>add configure script option
7951    <code>--disable-session-mgt</code> to control whether the
7952    session management code should be compiled-in (request by H
7953    Merijn Brand).</li>
7954
7955    <li>ifdef'd the session-management changes with
7956    <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which
7957    predates the related definitions.</li>
7958
7959    <li>fix <code>decode_keyvalue()</code>, which did not properly
7960    parse multiple settings as needed for the <code>ttyModes</code>
7961    resource, since it did not skip over the parsed data.</li>
7962
7963    <li>fix an option-parsing conflict between <code>-class</code>
7964    and <code>-cjk_width</code> (Nam SungHyun)</li>
7965
7966    <li>add a missing null in <code>XtVaSetValues()</code> call
7967    used in <code>Cleanup()</code> (Nam SungHyun)</li>
7968  </ul>
7969
7970  <h1><a name="xterm_168" id="xterm_168">Patch #168 - 2002/9/29 -
7971  XFree86 4.2.1</a></h1>
7972
7973  <ul>
7974    <li>improve data reported for control sequence that requests
7975    window position by taking into account the window decorations,
7976    e.g., border and title (patch by Jess Thrysoee
7977    &lt;jess@thrysoee.dk&gt;).</li>
7978
7979    <li>add <code>-cjk_width</code> and corresponding resource
7980    <code>cjkWidth</code> (patch by Jungshik Shin
7981    &lt;jshin@mailaps.org&gt;).</li>
7982
7983    <li>add <code>-into</code> option, for embedding xterm in a
7984    Tcl/Tk application (patch by George Peter Staplin
7985    &lt;georgeps@xmission.com&gt;).</li>
7986
7987    <li>add simple session management (XSM) client capabilities to
7988    xterm. So a session manager such as, e.g., xsm, should be able
7989    to respawn or kill xterms without the help of an SM proxy (like
7990    smproxy), which is a hack and almost always buggy (patch by
7991    David Madore).</li>
7992
7993    <li>fix conflict between ifdef's for
7994    <code>OPT_DEC_LOCATOR</code> and <code>OPT_READLINE</code> in
7995    button.c (reported by Ilya Zakharevich).</li>
7996
7997    <li>fix for inconsistent use of <code>struct utmp</code> versus
7998    <code>struct utmpx</code> introduced in <a href=
7999    "#xterm_167">patch #167</a> (patches by Paul Gilmartin, Marc La
8000    France).</li>
8001
8002    <li>modify logic for <code>metaSendsEscape</code> to allow it
8003    to work in a setup where the Meta-key is not recognized as a
8004    modifier by the key-translations logic (discussion of
8005    eightBitInput with H.J.Lu). Note however that Vincent Lefevre
8006    reported this in January).</li>
8007
8008    <li>use null pointer values consistently, rather than literal
8009    "0", for ending variable-length argument lists, e.g., for
8010    <code>execlp()</code> (based on patch by Matthieu Herrb).</li>
8011
8012    <li>correct logic of <code>ChangeAnsiColorRequest()</code>,
8013    which would do a screen repaint after replying to a request for
8014    information.</li>
8015
8016    <li>improve scripts in vttests to work with systems whose
8017    shells support <code>echo -n</code> and have, as does Debian,
8018    an unrelated <code>print</code> utility.</li>
8019
8020    <li>add vttests/acolors.sh to demonstrate OSC 4, which queries
8021    or sets ANSI colors.</li>
8022
8023    <li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).</li>
8024
8025    <li>typos in xterm manpage (Jens Schweikhardt)</li>
8026
8027    <li>remove a redundant GCC_UNUSED from InitPopup() (Nam
8028    SungHyun)</li>
8029  </ul>
8030
8031  <h1><a name="xterm_167" id="xterm_167">Patch #167 - 2002/8/24 -
8032  XFree86 4.2.0</a></h1>
8033
8034  <ul>
8035    <li>correct ifdef's for <code>USE_TERMCAP</code> to match
8036    cygwin configuration.</li>
8037
8038    <li>fix several places in ctlseqs.ms which had no boxes around
8039    the literal text (report by Ilya Zakharevich).</li>
8040
8041    <li>extend mouse support for readline, ifdef'd with
8042    OPT_READLINE (integrated patch from Ilya Zakharevich).</li>
8043
8044    <li>modify terminfo description to match default for
8045    <code>modifyCursorKeys</code> resource.</li>
8046
8047    <li>add <code>modifyCursorKeys</code> resource to control how
8048    the shift- and similar modifiers are used to make a cursor
8049    escape sequence. The default makes a modified escape sequence
8050    always start with CSI and puts the modifier as the second
8051    parameter, to avoid confusing applications that would interpret
8052    the first parameter as a repeat count. The original behavior
8053    can be obtained by setting the resource to 0 (newsgroup
8054    discussion with Stephen J Turnbull, Jeffrey Altman).</li>
8055
8056    <li>correct missing initializations for
8057    <code>appdefaultCursor</code> and <code>appdefaultKeypad</code>
8058    resources.</li>
8059
8060    <li>add configure option <code>--enable-luit</code> and ifdef'd
8061    the luit-related code with OPT_LUIT_PROG.</li>
8062
8063    <li>modify xterm to invoke luit (integrated patch by Tomohiro
8064    Kubota)</li>
8065
8066    <li>update wcwidth.c to match Markus Kuhn's 2002-05-18
8067    version.</li>
8068
8069    <li>correct limit-checking in <code>ComputeSelect()</code> to
8070    handle selections that extend off the visible area; rather than
8071    modify the parameters to <code>TrackText()</code>, use
8072    <code>ScrollSelection()</code> to update the highlighting
8073    limits. (reported by Yegappan Lakshmanan and Nelson Beebe,
8074    patch by Alexander V Lukyanov).</li>
8075
8076    <li>correct manpage description of <code>tiXtraScroll</code>
8077    resource (reported by Tony Finch).</li>
8078
8079    <li>changes from OpenBSD:
8080
8081      <ul>
8082        <li>Make xterm setgid utmp to be able to update utmp even
8083        with root privileges revoked.</li>
8084
8085        <li>If not updating utmp, revoke group privileges totally
8086        too.</li>
8087      </ul>
8088    </li>
8089
8090    <li>changes from NetBSD:
8091
8092      <ul>
8093        <li>Check that the return value from ttyslot() is greater
8094        than 0 before writing the utmp file. Fixes w's "w: Stale
8095        utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;"
8096        errors.</li>
8097
8098        <li>Use openpty() to deal with new pty naming scheme.</li>
8099      </ul>
8100    </li>
8101
8102    <li>add <code>print-redir</code> action and menu entry to allow
8103    user to switch terminal in/out of printer controller mode. It
8104    appears from the manual that a real vt220 would not switch back
8105    to normal mode, so another mechanism is used (addresses Debian
8106    #37517).</li>
8107
8108    <li>check if <code>printerCommand</code> resource string is
8109    empty, use this to allow user to disable printer function.</li>
8110
8111    <li>trim trailing blanks from resource strings.</li>
8112
8113    <li>check return value from <code>ptsname()</code>, which may
8114    return null for example if someone has changed the permissions
8115    of /dev/pts to zero (Debian #121899).</li>
8116
8117    <li>modify OS/2 version to use <code>__UNIXOS2__</code>
8118    definition rather than <code>__EMX__</code>, related cleanup
8119    (patch by Holger Veit).</li>
8120
8121    <li>used modified indent 2.0 (patch <a href=
8122    "ftp://invisible-island.net/gnu-patches/">20020428</a>) to
8123    reformat most of the C source files, to simplify
8124    maintenance.</li>
8125
8126    <li>fix a couple of places where there were leading tabs on
8127    symbol-definition lines in Imakefile (Marc La France from
8128    report by Tony Finch)</li>
8129
8130    <li>add imake variable (TraceXTerm) to allow building debug
8131    version (Egbert Eich).</li>
8132  </ul>
8133
8134  <h1><a name="xterm_166" id="xterm_166">Patch #166 - 2002/3/25 -
8135  XFree86 4.2.0</a></h1>
8136
8137  <ul>
8138    <li>correct a bug in selection: double clicking on a word which
8139    was partly scrolled off the screen may select that text (report
8140    by Vincent Lefevre &lt;vincent@vinc17.org&gt;).</li>
8141
8142    <li>implement <code>veryBoldColors</code> resource to control
8143    whether the corresponding video attribute such as
8144    <code>bold</code> is displayed when using
8145    <code>colorBDMode</code>, etc. (request by Josh Howard
8146    &lt;jrh@vicor-nb.com&gt;).</li>
8147
8148    <li>define escape sequences for function keys F21-F35 (patch by
8149    Stephen P Wall).</li>
8150
8151    <li>change the colors for the 256-color model, making them less
8152    skewed toward black (patch by Stephen P Wall).</li>
8153
8154    <li>add <code>vt100Graphics</code> resource (see <a href=
8155    "#xterm_115">patch #115</a>, based on discussion with Glenn
8156    Maynard).</li>
8157
8158    <li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid
8159    potential incompatibilities between these flavors of Athena
8160    widgets.</li>
8161
8162    <li>add configure check for XFree86 4.x Xaw library, whose
8163    geometry management is broken, to avoid trying to use it for
8164    toolbar configuration.</li>
8165
8166    <li>updates to configure script from vile and lynx to allow
8167    configure.in to be compiled with autoconf 2.5x</li>
8168
8169    <li>add a check for null pointer return by
8170    <code>ptsname()</code> (newsgroup posting from Mike Silva
8171    &lt;mikesilva@lucent.com&gt;).</li>
8172
8173    <li>fill in a few details needed to allow UTF-8 mode to switch
8174    on/off after startup. This requires that <code>wideChars</code>
8175    resource be set. (based on comments in 4 Aug 2001 by Alexey
8176    Marinichev &lt;lyosha@lyosha.2y.net&gt;).</li>
8177
8178    <li>remove duplicate install rules that make directories, e.g.,
8179    so installing manpage will not create app-defaults
8180    directory.</li>
8181
8182    <li>add comment in in <code>do_osc()</code>, reserving cases 30
8183    and 31 for for Konsole (request by Stephan Binner
8184    &lt;Stephan.Binner@gmx.de&gt;).</li>
8185
8186    <li>fixes for ctlseqs.ms and xterm.man (patch by Werner Lemberg
8187    &lt;wl@gnu.org&gt;).</li>
8188
8189    <li>add check for monochrome display, disabling colorMode in
8190    that case (fixes Debian #134130).</li>
8191
8192    <li>resync with XFree86 CVS
8193
8194      <ul>
8195        <li>Fix some xterm build warnings on *BSD (patch by David
8196        Dawes).</li>
8197
8198        <li>Only use SA_RESTART in xterm when it's available (patch
8199        by Frank Liu).</li>
8200
8201        <li>Fix incorrect code in signal handlers in most of the
8202        clients, xterm and xdm not done yet (patch by Matthieu
8203        Herrb).</li>
8204      </ul>
8205    </li>
8206  </ul>
8207
8208  <h1><a name="xterm_165" id="xterm_165">Patch #165 - 2002/1/5 -
8209  XFree86 4.1.0</a></h1>
8210
8211  <ul>
8212    <li>modify <code>uxterm</code> script to strip encoding part
8213    from environment variable before adding ".UTF-8" (based on
8214    Debian #125947, but using a more portable solution).</li>
8215
8216    <li>add an assignment statement in VTInitialize() to make
8217    <code>awaitInput</code> resource work.</li>
8218
8219    <li>use new macros init_Bres(), etc., in VTInitialize() to add
8220    trace of the initialization of resources.</li>
8221
8222    <li>modify checks for $LC_ALL, related environment variables to
8223    ensure the resulting strings are nonempty (report by Markus
8224    Kuhn).</li>
8225
8226    <li>add an ifdef in charproc.c for num_ptrs variable in case
8227    all configure options are disabled.</li>
8228
8229    <li>modify definition of getXtermBackground() to avoid negative
8230    array index warning on Tru64 (report by Jeremie Petit).</li>
8231
8232    <li>improve fix from patch #165 (still Debian #117184, report
8233    by Matt Zimmerman &lt;mdz@debian.org&gt;)</li>
8234
8235    <li>correct install rule for uxterm in Makefile.in, to handle
8236    the case where building in a different directory than xterm's
8237    source (patch by Paul Gilmartin).</li>
8238
8239    <li>documented ANSI.SYS-style cursor save/restore escape
8240    sequences in ctlseqs.ms, which are in xterm since X11R5.</li>
8241
8242    <li>correct two entries in the default charClass table, which
8243    did not follow the manpage comment about the character number
8244    corresponding to the class (patch by Marc Bevand
8245    &lt;bevand_m@epita.fr&gt;).</li>
8246
8247    <li>fix a couple of typos in comments in the app-defaults files
8248    (David Krause &lt;xfree86@davidkrause.com&gt;).</li>
8249
8250    <li>resync with XFree86 CVS
8251
8252      <ul>
8253        <li>update language of copyrights in some files to reflect
8254        the fact that they were reassigned from X Consortium to The
8255        Open Group in 1998. Note that this xterm source is derived
8256        from the 1996 version from X Consortium, does not
8257        incorporate changes made by X Consortium or The Open Group
8258        after that date, hence we do not add The Open Group's 1998
8259        copyright date to related files.</li>
8260
8261        <li>save/restore <code>errno</code> in signal catcher
8262        (patch by Matthieu Herrb).</li>
8263
8264        <li>modify UXTerm.ad's font5 resource so that xterm can
8265        display double width characters using a font distributed
8266        with XFree86 (Tomohiro Kubota).</li>
8267      </ul>
8268    </li>
8269  </ul>
8270
8271  <h1><a name="xterm_164" id="xterm_164">Patch #164 - 2001/11/13 -
8272  XFree86 4.1.0</a></h1>
8273
8274  <ul>
8275    <li>correct a case where <code>ptyInitialErase</code> and
8276    <code>backarrowKeyIsErase</code> resources combine to set
8277    <code>DECBKM</code> mode, but a <code>reset</code> command
8278    would not reset xterm to that state, making the erase character
8279    revert to ^H (Debian #117184)</li>
8280  </ul>
8281
8282  <h1><a name="xterm_163" id="xterm_163">Patch #163 - 2001/11/04 -
8283  XFree86 4.1.0</a></h1>
8284
8285  <ul>
8286    <li>correct ifdef's for <code>__QNX__</code> and
8287    <code>USE_SYSV_PGRP</code> in main.c call to
8288    <code>tcsetpgrp</code>, which broke bash behavior around
8289    <a href="#xterm_140">patch #140</a> (report/patch by Frank Liu
8290    &lt;fliu@mail.vipstage.com&gt;).</li>
8291
8292    <li>modify trace.c to fix missing definition of GCC_UNUSED for
8293    compilers other than gcc when configured for trace code
8294    (report/patch by Paul Gilmartin).</li>
8295
8296    <li>change format in TraceOptions() to use long rather than
8297    int, since the latter could lose precision on 64-bit machines
8298    (report/patch by Nelson Beebe).</li>
8299
8300    <li>modify xterm manual page and minstall.sh to allow imake
8301    rules to define location of app-defaults directory (Debian
8302    #87611).</li>
8303
8304    <li>review/update list of conflicting preprocesor symbols to
8305    remove from $CPPFLAGS at the end of the configure script. In
8306    particular, this allows one to configure xterm without the
8307    utempter library on Redhat 7.1 (report/patch by Adam
8308    Sulmicki).</li>
8309  </ul>
8310
8311  <h1><a name="xterm_162" id="xterm_162">Patch #162 - 2001/10/23 -
8312  XFree86 4.1.0</a></h1>
8313
8314  <ul>
8315    <li>correct logic that processes <code>-class</code> option, so
8316    that a following <code>-e</code> option is handled (Debian
8317    #116297).</li>
8318
8319    <li>improve options-decoding to allow <code>-version</code> and
8320    <code>-help</code> options to be combined (Debian
8321    #110226).</li>
8322
8323    <li>add a 10 millisecond delay in event loop when processing
8324    <code>-hold</code> option, to avoid using too much CPU time
8325    (Debian #116213).</li>
8326
8327    <li>prefix final program execution in <code>uxterm</code> with
8328    "exec" to avoid a useless shell hanging around (Christian
8329    Weisgerber).</li>
8330  </ul>
8331
8332  <h1><a name="xterm_161" id="xterm_161">Patch #161 - 2001/10/10 -
8333  XFree86 4.1.0</a></h1>
8334
8335  <ul>
8336    <li>modify logic that resets keypad application mode to avoid
8337    doing this if there is no modifier associated with the Num_Lock
8338    keysym (report by John E Davis &lt;davis@space.mit.edu&gt; and
8339    Alan W Irwin &lt;irwin@beluga.phys.uvic.ca&gt;).</li>
8340
8341    <li>add built-in translation for Control/KP_Separator to
8342    KP_Subtract, to accommodate users who wish to use xmodmap to
8343    reassign the top row of the numeric keypad.</li>
8344
8345    <li>correct Imakefile install-rule for <code>uxname</code>
8346    script (reported by Nam SungHyun &lt;namsh@lge.com&gt;).</li>
8347
8348    <li>resync with XFree86 CVS &ndash; correct typo in
8349    <code>&lt;ncurses/term.h&gt;</code> ifdef.</li>
8350  </ul>
8351
8352  <h1><a name="xterm_160" id="xterm_160">Patch #160 - 2001/10/7 -
8353  XFree86 4.1.0</a></h1>
8354
8355  <ul>
8356    <li>modify logic in main.c (see <a href="#xterm_145">patch
8357    #145</a>) to avoid generating the same identifier, for example,
8358    for /dev/tty1 and /dev/pts/1, which is used to denote an entry
8359    in the utmp file (Debian bug report #84676), A similar fix was
8360    also sent by Jerome Borsboom &lt;borsboom@westbrabant.net&gt;
8361    in May, but I overlooked it when reviewing bug reports.</li>
8362
8363    <li>add configure check for <code>&lt;ncurses/term.h&gt;</code>
8364    to get rid of hardcoded <code>__CYGWIN__</code> ifdef in
8365    resize.c
8366
8367      <p>NOTE: The CYGWIN port should not be linking
8368      <code>resize</code> with ncurses. It appears that the only
8369      reason it is, is because both the ncurses and termcap ports
8370      on that platform are badly misconfigured (essential pieces
8371      have been removed, etc). Checking for
8372      <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
8373      since there are some correct installations that are set up
8374      that way.</p>
8375    </li>
8376
8377    <li>add a sample <code>uxterm</code> script, which uses the
8378    <code>UXTerm</code> application defaults for UTF-8
8379    environments.</li>
8380
8381    <li>undo change to xterm application defaults, since this
8382    introduced an unnecessary incompatibility. The intended
8383    functionality was already addressed by the <a href=
8384    "#xterm_141">UXTerm</a> app-defaults file.</li>
8385
8386    <li>resync with XFree86 CVS
8387
8388      <ul>
8389        <li>Modified xterm app default to use LFD fontnames instead
8390        of old type (Michael Schroeder).</li>
8391
8392        <li>Fix xterm when XIM is disabled - caused a segfault
8393        (Tomohiro Kubota).</li>
8394      </ul>
8395    </li>
8396  </ul>
8397
8398  <h1><a name="xterm_159" id="xterm_159">Patch #159 - 2001/9/19 -
8399  XFree86 4.1.0</a></h1>
8400
8401  <ul>
8402    <li>remove an ifdef for <code>USE_HANDSHAKE</code> added in
8403    patch #158 from the second <code>TIOCSSIZE</code> ioctl call in
8404    the initialization code. Paul Gilmartin reports that for
8405    Solaris 2.6 (sparc), stty does not show that xterm sets rows
8406    and columns unless the second ioctl is executed.</li>
8407
8408    <li>correct treatment of empty parameter list for some OSC
8409    strings (report by Sami Farin &lt;sfarin@ratol.fi&gt;).</li>
8410  </ul>
8411
8412  <h1><a name="xterm_158" id="xterm_158">Patch #158 - 2001/9/8 -
8413  XFree86 4.1.0</a></h1>
8414
8415  <ul>
8416    <li>augment key translations for scrollbar widget to ensure
8417    that keystrokes intended for the text area are not lost if the
8418    mouse pointer happens to fall on the scrollbar. This can
8419    happen, for instance, if the user's <code>app-defaults</code>
8420    or <code>.Xdefaults</code> file contains a translations
8421    resource, though it may also happen through unrelated resource
8422    settings: probably a bug in libXt (reported by Paul Fox
8423    &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu. Bolkhovityanov
8424    &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).</li>
8425
8426    <li>widen ifdef's in xterm.h to define
8427    <code>__EXTENSIONS__</code> on Solaris, for compilers other
8428    than gcc. This was added along <code>_POSIX_C_SOURCE</code>
8429    with in <a href="#xterm_151">patch #151</a>, but is not
8430    sufficient since Sun's compiler does not define
8431    <code>__STDC__</code> by default (report by Matthias Scheler
8432    &lt;tron@zhadum.de&gt;).</li>
8433
8434    <li>modify xterm to obtain the closest matching color if an
8435    exact color is not available, e.g., on 8-bit displays (patch by
8436    Stephen P Wall)</li>
8437
8438    <li>implement "OverTheSpot" preedit type of XIM input (patch by
8439    Tomohiro Kubota):
8440
8441      <ul>
8442        <li>This preedit type is a reasonable compromise between
8443        simpleness of implementation and usefulness. "Root" preedit
8444        type is easy to implement but not useful; "OnTheSpot"
8445        preedit type is the best in the point of view of user
8446        interface but very complex. And more, "OverTheSpot" is the
8447        preedit type which the most XIM servers support. Thus, to
8448        achieve reasonable usability, support of "OverTheSpot"
8449        preedit type is needed.</li>
8450
8451        <li>In "OverTheSpot" preedit type, the preedit
8452        (preconversion) string is displayed at the position of the
8453        cursor. On the other hand, it is XIM server's
8454        responsibility to display the preedit string. Thus, it is
8455        needed for XIM client (here XTerm) to inform the XIM server
8456        of the cursor position. And more, to achieve good visual
8457        proportion, preedit string must be written using proper
8458        font. Thus, it is XIM client's responsibility to inform the
8459        XIM server of the proper font. The font must be supplied by
8460        "fontset". Fontset is a set of fonts with charsets which
8461        are specified by the current locale. Since XTerm uses
8462        ISO10646 fonts regardless of the current locale, the fonts
8463        for XIM must be prepared separately. It is difficult to
8464        prepare fonts which are similar to XTerm font. Thus, my
8465        patch uses a simple way - the default font is "*" which
8466        matches every fonts and X library will automatically choose
8467        fonts with proper charsets. I added "-fx" command option
8468        and "ximFont" resource to override this default font
8469        setting.</li>
8470
8471        <li>changed the definition of "OverTheSpot" preedit type
8472        from XIMPreeditPosition|XIMStatusArea to
8473        XIMPreeditPosition|XIMStatusNothing. This matches the
8474        behavior of other programs such as Rxvt, Kterm, Gedit.</li>
8475
8476        <li>A tiny XIM bugfix is also included. By calling
8477        XSetLocaleModifiers() with parameter of "", it can consier
8478        XMODIFIERS environmental variable which is a standard way
8479        for users to specify XIM server to be used.</li>
8480      </ul>
8481    </li>
8482
8483    <li>adjust configure script to accommodate repackaging of
8484    keysym2ucs.c as include-file for xutf8.c (patch by Tomohiro
8485    Kubota).</li>
8486
8487    <li>add the <code>UXTerm</code> app-defaults file to makefile
8488    install rules (request by Juliusz Chroboczek).</li>
8489
8490    <li>correct logic in <code>get_termcap()</code>, which returned
8491    false if the <code>tgetent()</code> call indicated that xterm
8492    was linked with terminfo. Although the <code>$TERMCAP</code>
8493    variable cannot be adjusted in this case, xterm still needs
8494    information from this call to extract data to initialize the
8495    erase-mode when the <code>ptyInitialErase</code> resource is
8496    false.</li>
8497
8498    <li>modify <code>ScrollbarReverseVideo()</code> function to
8499    cache the original border color, so it can restore that when an
8500    application flashes the screen (Bugzilla #38872).</li>
8501
8502    <li>resync with XFree86 CVS
8503
8504      <ul>
8505        <li>remove ifdef's for X_NOT_STDC_ENV (patch by David
8506        Dawes).</li>
8507
8508        <li>add Cygwin to special errno handling case in ptydata.c
8509        (Alan Hourihane)</li>
8510
8511        <li>set screen size earlier in initialization, to address a
8512        race with window manager resizing its clients (Keith
8513        Packard).</li>
8514      </ul>
8515    </li>
8516  </ul>
8517
8518  <h1><a name="xterm_157" id="xterm_157">Patch #157 - 2001/6/18 -
8519  XFree86 4.1.0</a></h1>
8520
8521  <ul>
8522    <li>clean up button.c and input.c (patch by Juliusz
8523    Chroboczek). The basic idea is to use a single set of APIs in
8524    the XTerm core, and put a set of workarounds in a separate
8525    file. As you will notice, this drastically simplifies parts of
8526    the code; in particular, the only remaining ifdefs related to
8527    the differences between Xutf8 and legacy systems are related to
8528    the selection provider logic. This defines two new files,
8529    xutf8.h and xutf8.c, provide some half-hearted but fully
8530    portable emulation for the three Xutf8* functions that XTerm
8531    uses. Putting these in a separate file will allow people to
8532    experiment with more complex versions without making the core
8533    of XTerm more difficult to maintain. The functionality of the
8534    emulation is as follows.
8535
8536      <ul>
8537        <li>Xutf8TextListToTextProperty fully handles XStringstyle
8538        and XUTF8StringStyle. It will only generate STRING for
8539        XStdICCTextStyle, and wil only generate Latin-1 in
8540        XCompoundTextStyle (but label it as COMPOUND_TEXT, as the
8541        spec requires). (I have hesitated to make this function
8542        fail for XStdICCTextStyle and XCompoundTextStyle; this
8543        might be a smart thing to do, in the hope that the
8544        selection requestor will try UTF8_STRING afterwards;
8545        opinions?)</li>
8546
8547        <li>Xutf8TextPropertyToTextList fully handles STRING and
8548        UTF8_STRING. It systematically fails for
8549        COMPOUND_TEXT.</li>
8550
8551        <li>Xutf8LookupString will properly handle single-keystroke
8552        input for the keysyms covered by Markus' keysym2ucs
8553        function. It will not handle either compose key input or
8554        external input methods.</li>
8555      </ul>
8556    </li>
8557
8558    <li>add an ifdef for <code>SunXK_F36</code>, used in
8559    <code>xtermcapKeycode()</code> (patch by Mark Waggoner
8560    &lt;waggoner@ichips.intel.com&gt;).</li>
8561
8562    <li>modify check for login name to try <code>getlogin()</code>
8563    and $LOGNAME, $USER environment variables to detect if the user
8564    has logged in under an alias, i.e., an account with the same
8565    user id but a different name (Debian bug report #70084).</li>
8566
8567    <li>add resource <code>tiXtraScroll</code>, which can be used
8568    to preserve the screen contents in the scrollback rather than
8569    erasing it when starting a fullscreen application such as
8570    <code>vi</code> (patch by Ken Martin
8571    &lt;fletcher@catsreach.org&gt;).</li>
8572
8573    <li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
8574
8575      <ul>
8576        <li>added <code>forceBoxChars</code> resource to control
8577        the "line-drawing characters" option.</li>
8578
8579        <li>added <code>freeBoldBox</code> resource, which, when
8580        set true, suppresses check in
8581        <code>same_font_size()</code>, so xterm does not attempt to
8582        ensure that the bold font is the same size as the normal
8583        font.</li>
8584      </ul>
8585    </li>
8586
8587    <li>change the color class for ANSI colors and similar ones
8588    such as bold-color, etc., to follow the convention that the
8589    classname is the instance name with a leading capital (e.g.,
8590    <code>color0</code> and <code>Color0</code> rather than
8591    <code>color0</code> and <code>Foreground</code>). There was
8592    little use for Foreground as a class other than to create
8593    occasional confusion and bug reports, most recently by Nelson
8594    Beebe who reports that it disables colors in xterm but not on
8595    Linux, which is probably due to a difference in resource
8596    evaluation order. A configure script option
8597    (--disable-color-class) is provided for anyone who did use the
8598    older behavior.</li>
8599
8600    <li>fix a signal-handling bug. When running xterm with
8601    <code>ksh</code> or similar shell such as bash 2.05, xterm will
8602    hang and not respond to keystrokes after the user types
8603    <code>suspend</code>. Additionally the popup menus do not
8604    respond, so it is not possible to send SIGCONT to the shell.
8605    What is happening is that the shell is sending itself SIGSTOP,
8606    and it is being stopped. Per specification it also means that
8607    the operating system is sending SIGCHLD to parent to the bash
8608    (XTERM). Now the issue is that xterm assumes it cannot happen
8609    and it expects to receive SIGCHLD only upon
8610    <em>termination</em> of its children. This causes a deadlock
8611    with xterm waiting for the child to die, and the child waiting
8612    for SIGCONT. (report/patch by Adam Sulmicki), analysis/testing
8613    by Sven Mascheck
8614    &lt;sven.mascheck@student.uni-ulm.de&gt;).</li>
8615
8616    <li>correct some inconsistent checks for
8617    <code>XtReleaseGC()</code> calls in
8618    <code>xtermLoadFont()</code> (patch by Nam SungHyun
8619    &lt;namsh@lge.com&gt;).</li>
8620
8621    <li>updated wcwidth.c and keysym2ucs.c to versions dated
8622    2001/1/12 and 2001/4/18, respectively from
8623    http://www.cl.cam.ac.uk/~mgk25/ucs/</li>
8624
8625    <li>correction to change from <a href="#xterm_90">patch
8626    #90</a>, which was intended to reset the saved cursor position
8627    for normal/alternate screens on a soft reset, but actually
8628    wiped out all of the saved cursor information. Just reset the
8629    saved position for the current screen (report by Michael
8630    Schroeder).</li>
8631
8632    <li>modify ShowCursor() and HideCursor() so that if the cursor
8633    points to the second part of a wide character, make the
8634    show/hide operate on the first position of the wide character
8635    (patch by Sven Verdoolaege).</li>
8636
8637    <li>scrolling in the alternate screen just before switching
8638    back to the main screen can cause extra blank lines to be
8639    inserted into the scrollback buffer (patch by Paul Vojta
8640    &lt;vojta@math.berkeley.edu&gt;).</li>
8641
8642    <li>resync with XFree86 4.1.0:
8643
8644      <ul>
8645        <li>Use TermcapLibrary as -lncurses instead of -ltermcap,
8646        fixes problem building xterm/resize on Cygwin/XFree86
8647        (Harold Hunt).</li>
8648
8649        <li>Install xterm.termcap and xterm.terminfo when
8650        installing xterm (Torrey T. Lyons).</li>
8651
8652        <li>Fix some build issues on Cygwin/XFree86 (Suhaib
8653        Siddiqi).</li>
8654
8655        <li>Define CBAUD, when it's missing in xterm, on LynxOS
8656        (Stuart Lissaman).</li>
8657      </ul>
8658    </li>
8659  </ul>
8660
8661  <h1><a name="xterm_156" id="xterm_156">Patch #156 - 2001/4/28 -
8662  XFree86 4.0.3</a></h1>
8663
8664  <ul>
8665    <li>change order of selection-target types to make 8-bit xterm
8666    prefer UTF8_STRING to COMPOUND_TEXT (patch by Juliusz
8667    Chroboczek).</li>
8668
8669    <li>document <code>-fa</code>, <code>-fs</code> command-line
8670    options and <code>faceName</code>, <code>faceSize</code>
8671    resources which are used by the freetype library support.</li>
8672
8673    <li>if configure script finds freetype libraries, but imake
8674    definitions do not have the XRENDERFONT definition, define it
8675    anyway.</li>
8676
8677    <li>modify configure script check for freetype libraries to
8678    include <code>&lt;Xlib.h&gt;</code>, since an older version of
8679    the related headers relies on this (patch by Adam
8680    Sulmicki).</li>
8681  </ul>
8682
8683  <h1><a name="xterm_155" id="xterm_155">Patch #155 - 2001/4/20 -
8684  XFree86 4.0.3</a></h1>
8685
8686  <ul>
8687    <li>correct return type of in_put() from <a href=
8688    "#xterm_155">patch #153</a> changes, which left it not wide
8689    enough for UTF-8 (patch by Bruno Haible).</li>
8690  </ul>
8691
8692  <h1><a name="xterm_154" id="xterm_154">Patch #154 - 2001/4/11 -
8693  XFree86 4.0.3</a></h1>
8694
8695  <ul>
8696    <li>undo check for return value from <code>pututline</code>
8697    (used for debugging) since that function does not return a
8698    value on Slackware 3.6.</li>
8699
8700    <li>correct length in ScreenWrite, when rendering invisible
8701    text (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).</li>
8702
8703    <li>fixes/improvements for the <code>i18nSelection</code>
8704    resource from patch #153, by Bruno Haible:
8705
8706      <ul>
8707        <li>add missing initialization for
8708        <code>i18nSelection</code> resource.</li>
8709
8710        <li>split-out the non-ICCM aspect of the
8711        <code>i18nSelection</code> resource as a new resource,
8712        <code>brokenSelections</code>.</li>
8713      </ul>
8714    </li>
8715
8716    <li>add configure check for <code>&lt;time.h&gt;</code> and
8717    <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
8718    which requires both. If the configure script is not used, only
8719    <code>&lt;time.h&gt;</code> will be included as before (report
8720    by Thanh Ma).</li>
8721
8722    <li>fix redefinition of <code>dup2</code>,
8723    <code>getutent</code>, <code>getutid</code>,
8724    <code>getutline</code> and <code>sleep</code> functions on
8725    Unixware&nbsp;7 (report by Thanh Ma
8726    &lt;Thanh.Ma@casi-rusco.com&gt;)</li>
8727
8728    <li>add a fall-back definition for <code>__hpux</code>, which
8729    is apparently not defined in some compilers on HPUX 11.0
8730    (reported by Clint Olsen).</li>
8731
8732    <li>change VAL_INITIAL_ERASE, which is used as a fallback for
8733    the <code>"kb"</code> termcap string to 8, since that matches
8734    the xterm terminal description (request by Alexander V
8735    Lukyanov).</li>
8736
8737    <li>correct an off-by-one in <code>ClearInLine</code>, which
8738    caused the erase-characters (ECH) control to display
8739    incorrectly (patch by Alexander V Lukyanov).</li>
8740
8741    <li>correct escape sequences shown in terminfo for shifted
8742    editing keys. The modifier code was for the control key rather
8743    than the shift key.</li>
8744  </ul>
8745
8746  <h1><a name="xterm_153" id="xterm_153">Patch #153 - 2001/3/29 -
8747  XFree86 4.0.3</a></h1>
8748
8749  <ul>
8750    <li>increase PTYCHARLEN to 8 for os390, add some debugging
8751    traces for UTMP functions (patch by Paul Gilmartin).</li>
8752
8753    <li>correct an misplaced brace in
8754    <code>SelectionReceived()</code> (patch by Bruno Haible).</li>
8755
8756    <li>correct an assignment dropped in
8757    <code>SelectionReceived()</code> which made it not compile for
8758    wide-characters combined with debug traces.</li>
8759
8760    <li>correct typo, clarify description of 88- and 256-color
8761    controls (report by Bram Moolenaar).</li>
8762
8763    <li>correct a typo in ctlseqs.ms which caused DEC Locator
8764    control sequences using single quote "'" display grave "`"
8765    instead (reported by Paul Williams, apparently in patch
8766    #114).</li>
8767  </ul>
8768
8769  <h1><a name="xterm_152" id="xterm_152">Patch #152 - 2001/3/13 -
8770  XFree86 4.0.2</a></h1>
8771
8772  <ul>
8773    <li>correct index in inner loop in <code>VTInitI18N()</code>
8774    from patch #151 changes, which resulted in infinite loop under
8775    some conditions (report/analysis by Paul Gilmartin).</li>
8776
8777    <li>remove spurious "%|" from terminfo sgr capabilities
8778    (report/analysis by Adam M Costello, Debian #89222).</li>
8779
8780    <li>add shell script to adjust list of dynamic libraries linked
8781    by <code>resize</code> when building with the standalone
8782    configure script. Otherwise it uses the same list as for xterm,
8783    which is excessive.</li>
8784
8785    <li>fix a few compiler warnings reported by the 20010305 gcc
8786    snapshot.</li>
8787  </ul>
8788
8789  <h1><a name="xterm_151" id="xterm_151">Patch #151 - 2001/3/10 -
8790  XFree86 4.0.2</a></h1>
8791
8792  <ul>
8793    <li>alter the behaviour of selections in XTerm (patch by
8794    Juliusz Chroboczek). It is believed to follow the ICCCM +
8795    UTF8_STRING to the letter, both in UTF-8 and in eight-bit mode.
8796    From his description:
8797
8798      <ul>
8799        <li>When compiled against XFree86 4.0.2, the patched XTerm
8800        will make the selection available as COMPOUND_TEXT, STRING
8801        or UTF8_STRING in both modes. It will request selections in
8802        the following order:
8803
8804          <p>UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT,
8805          STRING.<br>
8806          eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING,
8807          STRING.</p>
8808        </li>
8809
8810        <li>When compiled against an earlier version of XFree86 (or
8811        compiled with OPT_UTF8_API=0), it will still obey the
8812        ICCCM, but will neither request nor provide UTF8_STRING in
8813        eight-bit mode, and neither TEXT nor COMPOUND_TEXT in UTF-8
8814        mode.</li>
8815
8816        <li>For compatibility with previous versions of XTerm, a
8817        resource <code>i18nSelections</code> is provided, please
8818        see the manpage for details. However, due to an unexpected
8819        combination of ICCCM extensions by various bits and pieces
8820        of the libraries, interacting with previous versions of
8821        XTerm will work in many locales even without this flag.
8822        (Please do not set this resource to true by default, as
8823        this would violate the ICCCM.)</li>
8824      </ul>
8825    </li>
8826
8827    <li>improved error checking/reporting in VTInitI18N(), ensuring
8828    that lack of input method styles is treated distinctly from a
8829    mismatch.</li>
8830
8831    <li>remove an incorrect ifdef from patch #141 which suppressed
8832    overstriking to simulate bold font when xterm was compiled to
8833    support wide characters (report/analysis by Adam M Costello
8834    &lt;amc@cs.berkeley.edu&gt;, Debian #76404, Debian
8835    #77575).</li>
8836
8837    <li>modify <code>RequestResize()</code> function to
8838    save/restore window manager hints. Its call to
8839    <code>XtMakeResizeRequest()</code> had the undesirable
8840    side-effect of clearing window manager hints, e.g., when
8841    switching to 132-columns via DECCOLM escape sequence. Window
8842    manager hints make it simple to resize xterm in terms of
8843    character cells rather than pixels (reports by Christian
8844    Weisgerber, Debian #79939).
8845
8846      <p>This applies to the normal configuration. When built with
8847      toolbar support, the hints are applied to a different widget
8848      level (more work will be needed to make hints work with the
8849      toolbar).</p>
8850    </li>
8851
8852    <li>fix a redefinition warning for resize.c on OpenBSD (patch
8853    by Christian Weisgerber).</li>
8854
8855    <li>change resource corresponding to <code>-T</code> option to
8856    match Xt library's <code>-title</code>, i.e.,
8857    <code>.title</code> rather than <code>*title</code> so the
8858    command-line options are interchangeable as documented (Debian
8859    bug report #68843).</li>
8860
8861    <li>add script used from autoconf'd makefile for installing
8862    manpages, since recent XFree86 changing the way section numbers
8863    are represented makes the install dependent on extra
8864    scripts.</li>
8865
8866    <li>add configure check for freetype libraries and configure
8867    option --disable-freetype to override this feature.</li>
8868
8869    <li>modify some configure script macros to avoid using
8870    changequote(), which has been rendered useless in the latest
8871    autoconf alpha 2.49c</li>
8872
8873    <li>update config.guess, config.sub to 2001-2-13</li>
8874
8875    <li>remove redundant/contradictory __CYGWIN__ definitions from
8876    resize.c</li>
8877
8878    <li>correct manpage typo introduced by X11R6.5 resync.</li>
8879  </ul>
8880
8881  <p>Changes from XFree86 4.0.2:</p>
8882
8883  <ul>
8884    <li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris
8885    to make this compile with <code>gcc -ansi -pedantic</code>
8886    (report by &lt;mark@zang.com&gt;.</li>
8887  </ul>
8888
8889  <h1><a name="xterm_150" id="xterm_150">Patch #150 - 2000/12/29 -
8890  XFree86 4.0.2</a></h1>
8891
8892  <ul>
8893    <li>move the binding for shifted keypad plus/minus, which
8894    invokes the <code>larger-vt-font()</code> and
8895    <code>smaller-vt-font()</code> actions, respectively, into the
8896    translations resource (suggested by Marius Gedminas
8897    &lt;mgedmin@puni.osf.lt&gt;).</li>
8898
8899    <li>modify configure script to support the
8900    <code>--program-prefix</code>, <code>--program-suffix</code>
8901    and <code>--program-transform-name</code> options (request by
8902    Alison Winters &lt;alison@mirrabooka.com&gt;).</li>
8903
8904    <li>fixes for wide/combining characters (Robert Brady):
8905
8906      <ul>
8907        <li>fix a scrolling / combining characters display
8908        anomaly</li>
8909
8910        <li>fix a problem with double-width characters where if the
8911        primary font had no box-drawing characters, the right hand
8912        half of double-width characters was erased (reported by Yao
8913        Zhang &lt;yzhang@sharemedia.com&gt;).</li>
8914
8915        <li>fix special case of null byte for key handling in UTF-8
8916        locales.</li>
8917      </ul>
8918    </li>
8919
8920    <li>modify logic that compares sizes of normal and bold fonts
8921    to be more forgiving of the font server's choice of bold font
8922    which must match the normal font's size. Now
8923    <code>same_font_size()</code> compares the height of the fonts
8924    rather than individually ascent and descent, and allows the
8925    bold font to be one pixel smaller than the normal font
8926    (addresses a report by Alan Citterman &lt;alan@mticket.com&gt;,
8927    who says that something in patches #146 to #148 made xterm more
8928    likely to overstrike bold fonts, and indirectly Debian bug
8929    report #76404, which reports the opposite).</li>
8930
8931    <li>make configure script use $CFLAGS and $CPPFLAGS
8932    consistently, including removing a chunk from configure.in
8933    which attempted to save/restore $CPPFLAGS while processing
8934    value set by the --x-includes option, but lost values set in an
8935    intervening AC_CHECK_HEADERS. This change modifies macros
8936    CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and CF_X_TOOLKIT, as well as
8937    removing variables IMAKE_CFLAGS and X_CFLAGS from the generated
8938    makefile (the AC_CHECK_HEADERS problem was reported by Albert
8939    Chin-A-Young &lt;china@thewrittenword.com&lt;).</li>
8940
8941    <li>correct a comparison in SELECTWORD case of ComputeSelect(),
8942    which resulted in a word-selection wrapping past the first
8943    column without checking the first column's character class
8944    (reported by Christian Lacunza
8945    &lt;celacunza@netscape.net&gt;</li>
8946
8947    <li>correct a logic in UTF-8 mode for selecting double-width
8948    characters; a combining character was omitted (patch by Markus
8949    Kuhn).</li>
8950
8951    <li>add feature to pop (raise) window when a bell is received
8952    (patch by Gael Roualland
8953    &lt;gael.roualland@dial.oleane.com&gt;).</li>
8954
8955    <li>add __NetBSD__ and __OpenBSD__ to special-case in
8956    xterm_io.h for USE_POSIX_TERMIOS definition (patch by Christian
8957    Weisgerber).</li>
8958
8959    <li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
8960    xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for
8961    HPUX 10.20 (report by Bruno Betro).</li>
8962  </ul>
8963
8964  <h1><a name="xterm_149" id="xterm_149">Patch #149 - 2000/12/6 -
8965  XFree86 4.0.1h</a></h1>
8966
8967  <ul>
8968    <li>restructured includes for <code>termios.h</code>,
8969    <code>termio.h</code> and related definitions for main.c,
8970    os2main.c, screen.c and resize.c so they will share equivalent
8971    definitions in a new header <code>xterm_io.h</code>. This is
8972    intended to solve some problems mainly for HPUX which appear to
8973    arise from inconsistent definitions for SIGWINCH- and
8974    HAS_LTCHARS-related symbols (reports by Bruno Betro, Jeremie
8975    Petit and Clint Olsen).</li>
8976
8977    <li>improve usability of double-width fonts by allowing normal
8978    fonts to be given as double-width (from a patch by Fabrice
8979    Bellard &lt;bellard@email.enst.fr&gt;).</li>
8980
8981    <li>correct a few compiler warnings in TRACE() macros for
8982    signed/unsigned variable differences (reported by Clint
8983    Olsen).</li>
8984
8985    <li>make configure script use $CFLAGS and $CPPFLAGS more
8986    consistently, i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC
8987    macro.</li>
8988
8989    <li>expanded description of environment variables in
8990    manual-page.</li>
8991
8992    <li>modify OPT_TCAP_QUERY feature to always return the termcap
8993    or terminfo capability string in the response, and to
8994    read/write the names in hexadecimal form to allow for the
8995    special case of termcap's <code>k;</code> name (patch by Bram
8996    Moolenaar).</li>
8997
8998    <li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so
8999    the corresponding configure options work (patch by Bram
9000    Moolenaar).</li>
9001
9002    <li>resync with XFree86 4.0.1g:
9003
9004      <ul>
9005        <li>Rewrite Xft library for Render extension/core text and
9006        font management Change xterm to use new interface (Keith
9007        Packard).</li>
9008      </ul>
9009    </li>
9010  </ul>
9011
9012  <h1><a name="xterm_148" id="xterm_148">Patch #148 - 2000/10/31 -
9013  XFree86 4.0.1d</a></h1>
9014
9015  <ul>
9016    <li>document logfile options in man-page.</li>
9017
9018    <li>correct spelling of <code>-samename</code> option in help
9019    message.</li>
9020
9021    <li>add configure script option
9022    <code>--enable-tcap-query</code> (request by Bram
9023    Moolenaar).</li>
9024
9025    <li>add a "Co" or "colors" entry to the OPT_TCAP_QUERY feature
9026    (patch by Bram Moolenaar).</li>
9027
9028    <li>patch by Kiyokazu Suto &lt;suto@ks-and-ks.ne.jp&gt;:
9029
9030      <ul>
9031        <li>add support for bold font for double width characters.
9032        The font name may be specified with the command line option
9033        <code>-fwb</code> or with resource
9034        <code>wideBoldFont</code> (class
9035        <code>WideBoldFont</code>).</li>
9036
9037        <li>correct underlining of double width character string,
9038        which was drawn only half width.</li>
9039
9040        <li>correct binary search of precomposed character table,
9041        which may return wrong result when <code>int</code> is just
9042        32 bits.</li>
9043      </ul>
9044    </li>
9045
9046    <li>some changes to align terminfo with ncurses 5.2:
9047
9048      <ul>
9049        <li>remove xtermm description, retaining xterm-mono since
9050        the former conflicts with ncurses.</li>
9051
9052        <li>modify initialization and reset strings to avoid
9053        putting the save/restore cursor operations bracketing
9054        changes to video attributes, since the changes could be
9055        lost when the cursor is restored. This affects xterm-r6 and
9056        xterm-8bit (the xterm-xfree86 entry uses the soft-reset
9057        feature which resets scrolling margins and origin mode
9058        without requiring us to save/restore the cursor
9059        position).</li>
9060
9061        <li>make a few entries explicitly inherit from
9062        xterm-xfree86 rather than xterm: xterm-rep, xterm-xmc,
9063        xterm-nrc</li>
9064      </ul>
9065    </li>
9066
9067    <li>ensure that sign-extension does not affect
9068    <code>ctype</code> macros by using <code>CharOf()</code> macro
9069    to coerce the parameter to an unsigned char.</li>
9070
9071    <li>resync with XFree86 4.0.1d:
9072
9073      <ul>
9074        <li>Add primitive support in xterm for Xft based fonts
9075        (Keith Packard). The changes are ifdef'd with
9076        <code>-DXRENDERFONT</code>.</li>
9077      </ul>
9078    </li>
9079  </ul>
9080
9081  <h1><a name="xterm_147" id="xterm_147">Patch #147 - 2000/10/26 -
9082  XFree86 4.0.1c</a></h1>
9083
9084  <ul>
9085    <li>correct implementation of <code>ptyInitialErase</code>: the
9086    value assigned to <code>initial_erase</code> was for the
9087    control terminal, which is correct as far as it goes. But there
9088    was no following test for the pseudo-terminal's erase value,
9089    which would overwrite the default obtained from the control
9090    terminal (reported by Christian Weisgerber
9091    &lt;naddy@mips.inka.de&gt;).</li>
9092
9093    <li>modify check for printable-characters in OSC string to use
9094    xterm's ansi_table rather than isprint() macro, to isolate this
9095    check from locale settings. This fixes a problem using 8-bit
9096    characters to set the title (reported by Ricardas Cepas
9097    &lt;rch@richard.eu.org&gt;).</li>
9098
9099    <li>modify sample scripts to check for printf before print,
9100    since the latter is not as well standardized (e.g., on
9101    Linux).</li>
9102
9103    <li>updated config.sub, config.guess to reflect changes on
9104    subversions.gnu.org</li>
9105  </ul>
9106
9107  <h1><a name="xterm_146" id="xterm_146">Patch #146 - 2000/9/12 -
9108  XFree86 4.0.1c</a></h1>
9109
9110  <ul>
9111    <li>correct two instances overlooked from patch #141 which
9112    assumed UTF-8 mode without checking, causing a core dump in
9113    non-UTF-8 mode (one instance was reported by Tommi Virtanen
9114    &lt;tv@debian.org&gt;).</li>
9115
9116    <li>correct a problem selecting from the scrollback buffer in
9117    UTF-8 mode by changing remaining getXtermCell() calls to
9118    XTERM_CELL() as in the non-UTF-8 cases (report by Markus Kuhn,
9119    patch by Robert Brady).</li>
9120  </ul>
9121
9122  <h1><a name="xterm_145" id="xterm_145">Patch #145 - 2000/9/11 -
9123  XFree86 4.0.1c</a></h1>
9124
9125  <ul>
9126    <li>changes for UTF-8 configuration (Robert Brady):
9127
9128      <ul>
9129        <li>doublewide characters don't lose their accents when the
9130        cursor moves onto or from them (a visual bug)</li>
9131
9132        <li>fix logic in addXtermCombining, which mean that if the
9133        low byte of a cell's first combining char was 0, a
9134        following combining char would go into combining slot 1,
9135        not 2.</li>
9136
9137        <li>modify logic for cut-buffers so UTF-8 data is first
9138        converted to Latin1.</li>
9139
9140        <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.</li>
9141
9142        <li>modify to allow xterm to to show combining characters
9143        attached to doublewidth characters.</li>
9144
9145        <li>correct bug in linewrap with -u8 option (reported by
9146        Andreas Koenig &lt;andreas.koenig@anima.de&gt;).</li>
9147      </ul>
9148    </li>
9149
9150    <li>several changes to PTY logic (based on request by Tim Ryan
9151    &lt;timryan@nortelnetworks.com&gt;).
9152
9153      <ul>
9154        <li>modify treatment of <code>-S</code> option to to make
9155        it work with Unix98 PTY's.</li>
9156
9157        <li>restore sense of IsPts flag in <code>get_pty()</code>,
9158        which was lost in Unix98 changes.</li>
9159
9160        <li>use new functions <code>my_pty_id()</code> and
9161        <code>my_pty_name()</code> to simplify/fix strings used for
9162        utmp, wtmp identifiers.</li>
9163
9164        <li>simplify <code>get_pty()</code> function, making it
9165        have a single return point so its inputs/outputs can be
9166        identified.</li>
9167      </ul>
9168    </li>
9169
9170    <li>update config.guess and config.sub and scripts to my
9171    20000819 patch, adding cases for OS/2 EMX.</li>
9172
9173    <li>add special case for os390 compiler options to configure
9174    script (patch by Paul Gilmartin)</li>
9175
9176    <li>fix some unused-variable compiler warnings (reported by
9177    Zdenek Sekera).</li>
9178
9179    <li>split-out some string functions into xstrings.c, to use
9180    them more consistently among main.c, os2main.c and
9181    resize.c</li>
9182
9183    <li>align termcap/terminfo files, adding entries to make them
9184    match. The termcap entries are necessarily less complete than
9185    the terminfo, to fit within 1023 character per entry.</li>
9186
9187    <li>add terminfo entry for xterm-sco (SCO function keys).</li>
9188
9189    <li>modify <code>same_font_name()</code> to properly handle
9190    wildcard introduced in <code>bold_font_name()</code>, making
9191    comparison for different fonts succeed when only the normal
9192    font is specified. This is needed to decide if 1-pixel offset
9193    should be used. (reported in a newsgroup by Bart Oldeman
9194    &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)</li>
9195
9196    <li>correct preprocessor line for OPT_WIDE_CHARS in
9197    drawXtermText() from patch #141 which resulted in overstriking
9198    for bold fonts not working.</li>
9199
9200    <li>correct Imakefile from 4.0.1c resync so UTF-8 modules are
9201    in UTF8SRC, UTF8OBJ lists, allowing build without UTF-8
9202    support.</li>
9203  </ul>
9204
9205  <h1><a name="xterm_144" id="xterm_144">Patch #144 - 2000/8/23 -
9206  XFree86 4.0.1b</a></h1>
9207
9208  <ul>
9209    <li>remove a spurious assignment in ScreenWrite() from Robert
9210    Brady's patch which set a null at the "end" of the buffer to be
9211    written. That made the autowrap feature write a blank in the
9212    first column for the non-UTF-8 configuration, rather than the
9213    actual character (reported by Alan Citterman
9214    &lt;alan@mticket.com&gt;).</li>
9215  </ul>
9216
9217  <h1><a name="xterm_143" id="xterm_143">Patch #143 - 2000/8/19 -
9218  XFree86 4.0.1b</a></h1>
9219
9220  <ul>
9221    <li>add a check to ensure that <code>-class</code> command-line
9222    option is not confused with <code>-c</code> (reported by Paul
9223    Townsend &lt;aab@aab.cc.purdue.edu&gt;).</li>
9224  </ul>
9225
9226  <h1><a name="xterm_142" id="xterm_142">Patch #142 - 2000/8/18 -
9227  XFree86 4.0.1b</a></h1>
9228
9229  <ul>
9230    <li>correction to precompose scripts, so 0061 + 0300 will now
9231    be really be displayed as 00C0 (patch by Robert Brady
9232    &lt;robert@susu.org.uk&gt;).</li>
9233
9234    <li>correct macro ClassSelects() in button.c, used to hide
9235    ifdef's for OPT_WIDE_CHARS in patch #141 (reported by Andreas
9236    Paul &lt;paula@informatik.tu-muenchen.de&gt;).</li>
9237
9238    <li>change wcwidth.h to include stddef.h rather than wchar.h,
9239    which is not present on OpenBSD and FreeBSD (reported by
9240    Christian Weisgerber and Bram Moolenaar).</li>
9241
9242    <li>newer config.sub and config.guess, from lynx
9243    2.8.4dev.7</li>
9244  </ul>
9245
9246  <h1><a name="xterm_141" id="xterm_141">Patch #141 - 2000/8/14 -
9247  XFree86 4.0.1b</a></h1>
9248
9249  <ul>
9250    <li>changes for doublewidth and combining characters, from
9251    http://www.ecs.soton.ac.uk/~rwb197/xterm/ (integrated patch by
9252    Robert Brady). In this context, doublewidth refers to 16-bit
9253    character sets which may have glyphs occupying two cells.</li>
9254
9255    <li>add command-line option <code>-class</code>, which allows
9256    one to override xterm's resource class. Also add resource file
9257    <code>UXTerm.ad</code>, which simplifies using xterm for both
9258    8-bit character sets and UTF-8.</li>
9259
9260    <li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
9261    Moolenaar, Stephen P Wall).</li>
9262  </ul>
9263
9264  <h1><a name="xterm_140" id="xterm_140">Patch #140 - 2000/7/23 -
9265  XFree86 4.0.1</a></h1>
9266
9267  <ul>
9268    <li>modify Makefile.in to circumvent GNU make's built-in suffix
9269    rule for ".sh" which confuses install.sh with the "make
9270    install" target (report/patch by Paul Gilmartin).</li>
9271
9272    <li>implement an experimental control sequence which an
9273    application may use to query the terminal to determine what
9274    sequence of characters it would send for a given function key.
9275    This is ifdef'd with OPT_TCAP_QUERY (request by Bram
9276    Moolenaar).</li>
9277
9278    <li>add /usr/local to search path in CF_X_ATHENA configure
9279    macro to build with Xaw3d on OpenBSD (patch by Christian
9280    Weisgerber).</li>
9281
9282    <li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
9283    xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate
9284    (report by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).</li>
9285
9286    <li>correct a few errors in xterm.man: font in filename example
9287    for Tektronix emulation, and description of -nul/+nul
9288    command-line options (report by Eric Fischer
9289    &lt;enf@pobox.com&gt;).</li>
9290
9291    <li>update config.guess and config.sub, from tin and lynx.</li>
9292  </ul>
9293
9294  <h1><a name="xterm_139" id="xterm_139">Patch #139 - 2000/6/17 -
9295  XFree86 4.0d</a></h1>
9296
9297  <ul>
9298    <li>back out change to <code>-name</code> command-line option,
9299    restoring its original behavior (as noted by David Madore, the
9300    correct interpretation of this option is the application
9301    instance rather than the application class).</li>
9302  </ul>
9303
9304  <h1><a name="xterm_138" id="xterm_138">Patch #138 - 2000/6/15 -
9305  XFree86 4.0c</a></h1>
9306
9307  <ul>
9308    <li>workaround for fixed fonts which are generated from Unicode
9309    fonts: they omit glyphs for some xterm's less-used line-drawing
9310    characters, which caused xterm to set a flag telling it to use
9311    only its internal line-drawing characters. Do not set the flag
9312    (it can be set from the popup menu), and xterm will generate
9313    only the line-drawing glyphs which actually are missing.<br>
9314    Otherwise, when used for large fonts, xterm may generate a
9315    2-pixel wide line, which can leave dots on the screen.</li>
9316
9317    <li>restore first line of 256colres.pl, omitted in 4.0c
9318    diffs.</li>
9319  </ul>
9320
9321  <h1><a name="xterm_137" id="xterm_137">Patch #137 - 2000/6/10 -
9322  XFree86 4.0b</a></h1>
9323
9324  <ul>
9325    <li>make command-line <code>-name</code> option work as
9326    documented. Apparently this was lost in X11R5 when coding to
9327    use <code>XtAppInitialize</code>.</li>
9328
9329    <li>limit numeric parameters of control sequences to 65535 to
9330    simplify checks for numeric overflow.</li>
9331
9332    <li>change index into UDK list to unsigned to guard against
9333    numeric overflow making the index negative (Taneli Huuskonen
9334    &lt;huuskone@cc.helsinki.fi&gt;).</li>
9335
9336    <li>change <code>sun&nbsp;function-keys</code> resource name to
9337    <code>sunFunctionKeys</code> to work around redefinition of the
9338    token <code>sun</code> by xrdb on Solaris. Similarly, renamed
9339    resource <code>sun&nbsp;keyboard</code> to
9340    <code>sunKeyboard</code> (Stephen P Wall).</li>
9341
9342    <li>change similar resource names for HP and SCO to avoid
9343    potential conflict with xrdb symbols on other systems, as well
9344    as for consistency.</li>
9345
9346    <li>reorganized the install targets in the autoconf'd Makefile,
9347    adding install-app, install-bin, install-dirs and install-man.
9348    The app-defaults class can be overridden by setting the make
9349    variable 'CLASS', simplifying customization of xterm as a
9350    Unicode terminal, e.g., CLASS=UXTerm.</li>
9351
9352    <li>add limit checks to <code>ClearInLine()</code>,
9353    <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
9354    correct potential out-of-bounds indexing (prompted by Debian
9355    bug report #64713, which reported a problem with ICH escape
9356    sequences).</li>
9357
9358    <li>updates to config.sub and config.guess Kevin Buettner
9359    &lt;kev@primenet.com&gt; for elf64_ia64 Bernd Kuemmerlen
9360    &lt;bkuemmer@mevis.de&gt; and MacOS X.</li>
9361
9362    <li>for os390, add check for errno set to ENODEV on failure to
9363    open /dev/tty when there is no controlling terminal (patch by
9364    Paul Gilmartin).</li>
9365
9366    <li>fixes for building on Digital Unix 4.0 and AIX 4.2 (patch
9367    from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt;).</li>
9368
9369    <li>modify DECRQSS reply for DECSCL to additionally report if
9370    the terminal is set for 8-bit controls.</li>
9371  </ul>
9372
9373  <h1><a name="xterm_136" id="xterm_136">Patch #136 - 2000/6/3 -
9374  XFree86 4.0b</a></h1>
9375
9376  <ul>
9377    <li>add a resource (<code>limitResize</code>) limiting resizing
9378    via the CSI 4 t and CSI 8 t sequences.</li>
9379
9380    <li>ignore out-of-bounds resize requests, i.e., where
9381    sign-extension or truncation of the parameters would
9382    occur.</li>
9383  </ul>
9384
9385  <h1><a name="xterm_135" id="xterm_135">Patch #135 - 2000/5/29 -
9386  XFree86 4.0b</a></h1>
9387
9388  <ul>
9389    <li>remove code introduced in #134 which made some backgrounds
9390    bold.</li>
9391
9392    <li>minor correction to format of updated $TERMCAP when adding
9393    <code>kb</code> capability for <code>ptyInitialErase</code>
9394    logic.</li>
9395
9396    <li>improved test for SVR4 definition.</li>
9397  </ul>
9398
9399  <h1><a name="xterm_134" id="xterm_134">Patch #134 - 2000/5/28 -
9400  XFree86 4.0b</a></h1>
9401
9402  <ul>
9403    <li>update URL's and mailing addresses, moved to
9404    http://dickey.his.com and dickey@herndon4.his.com</li>
9405
9406    <li>correct missing quotes in CF_TTY_GROUP configure script
9407    macro in case the script is run in batch mode.</li>
9408
9409    <li>modify ownership-check of log file to ignore the group
9410    ownership. Otherwise xterm cannot create logfiles in
9411    directories with set-gid permissions.</li>
9412
9413    <li>simplify the logic that reads termcap data.</li>
9414
9415    <li>add fallback definition for B9600 in case line speed
9416    definition for 38400 is missing (report by Jack J Woehr
9417    &lt;jwoehr@ibm.net&gt;, for OpenBSD 2.6).</li>
9418
9419    <li>fix: Set highlightColor, and select a region containing the
9420    text cursor. If the window loses focus, the cursor becomes
9421    hollow, with the region inside the cursor being
9422    background/foreground, unlike the rest of the selection, which
9423    is foreground/highlight (patch by Ross Paterson
9424    &lt;ross@soi.city.ac.uk&gt;).</li>
9425
9426    <li>add configure script tests to define SVR4, SYSV and
9427    USE_POSIX_WAIT, which enables xterm to compile on Solaris 7 and
9428    SCO Openserver without imake, though there are still a few
9429    features for the latter which require <code>sco</code> to be
9430    predefined.</li>
9431
9432    <li>patches from Stephen P Wall:
9433
9434      <ul>
9435        <li>add support for two Sun-specific function keys. These
9436        keys are labeled F11 and F12 on Sun Type 5 keyboards, but
9437        return SunXK_F36 and SunXK_F37. Support will only be
9438        compiled in if the header file &lt;X11/Sunkeysym.h&gt;
9439        exists and contains the appropriate symbol definitions. The
9440        keycodes for the DEC keycodes were arbitrary unused codes,
9441        but the ones for the Sun keycodes are what cmdtool and
9442        shelltool actually send.</li>
9443
9444        <li>add <code>colorRV</code> and <code>colorRVMode</code>
9445        resources to allow specifying a color to use for reverse
9446        video, similar to the existing UL, BD, and BL modes.</li>
9447
9448        <li>add <code>alwaysUseMods</code> resource, to override
9449        check if <code>alt</code> or <code>meta</code> modifiers
9450        are used in <code>translations</code> resource. Revamped
9451        the code to calculate the modifier value, and included Meta
9452        if alwaysUseMods is TRUE, using values 9-16.</li>
9453      </ul>
9454    </li>
9455
9456    <li>fixes for os390 (Paul Gilmartin):
9457
9458      <ul>
9459        <li>regularize the definition of CONTROL() and remove an
9460        acknowledged "trial and error" table.</li>
9461
9462        <li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
9463        rather than plain 0177 which is the EBCDIC quotation
9464        mark.</li>
9465
9466        <li>modify <code>xtermMissingChar()</code> so that EBCDIC
9467        codes 128-159 are not rendered as blanks by X server
9468        running on Solaris, which sees those as control
9469        characters.</li>
9470
9471        <li>make debugging traces (configure --enable-trace) work
9472        properly with EBCDIC.</li>
9473      </ul>
9474    </li>
9475  </ul>
9476
9477  <h1><a name="xterm_133" id="xterm_133">Patch #133 - 2000/5/2 -
9478  XFree86 4.0a</a></h1>
9479
9480  <ul>
9481    <li>add substitutions in autoconf'd Makefile for CPPFLAGS,
9482    LDFLAGS and AWK (reported by Neil Bird).</li>
9483
9484    <li>correct uninitialized <code>childstat</code> variable from
9485    patch #131 in <code>creat_as()</code> function, which caused
9486    logging to not work on Solaris, whose <code>waitpid()</code>
9487    function does not initialize its parameter. Add check for EINTR
9488    on return from <code>waitpid()</code> as well (reported by Neil
9489    Bird &lt;neil.bird@rdel.co.uk&gt;).</li>
9490
9491    <li>remove a redundant check for working <code>setuid()</code>
9492    function introduced in patch #132. Greg Smith reports that this
9493    does not work as intended on os390.</li>
9494
9495    <li>change line speed from 9600bd to 38400bd, to accommodate
9496    people who mistakenly use $TERM set to <em>vt100</em>, to
9497    reduce the effect of padding associated with this terminal
9498    type.</li>
9499
9500    <li>add configure script check for IRIX 6.5's redefinition of
9501    baud rates associated with <code>struct termio</code>, to
9502    correct a situation where the baud rate was initialized to zero
9503    (reported by Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).</li>
9504
9505    <li>remove unused configure script check for VDISABLE.</li>
9506  </ul>
9507
9508  <h1><a name="xterm_132" id="xterm_132">Patch #132 - 2000/4/11 -
9509  XFree86 4.0a</a></h1>
9510
9511  <ul>
9512    <li>undo an incorrect change from patch #113 caused the right
9513    scrollbar to be positioned incorrectly when re-enabling it
9514    (analysis by D Roland Walker).</li>
9515
9516    <li>add ctrlFKeys resource, replacing constant for adjusting
9517    control-F1 to control-F12 to VT220-style F10-F20. The resource
9518    changes the constant 12 to a default value of 10 (request by
9519    Jim Knoble &lt;jmknoble@pobox.com&gt;).</li>
9520
9521    <li>correct ifdef'ing for conflict between definitions in AIX's
9522    &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
9523    Olsen).</li>
9524
9525    <li>add checks for return-values of getutid(), initgroups() and
9526    setuid() in main.c, as well as modifying ifdef's for __osf__ to
9527    include tty-group and WTMP logic (adapted from patch by Paul
9528    Szabo &lt;psz@maths.usyd.edu.au&gt;)</li>
9529
9530    <li>modify resize.c to build and work on os390 (uses EBCDIC)
9531    (adapted from patch by Phil Sidler
9532    &lt;Phil.Sidler@airborne.com&gt;)</li>
9533
9534    <li>use Ires(), Bres() and Sres() macros to simplify resource
9535    list in charproc.c</li>
9536
9537    <li>resync with XFree86 4.0a:
9538
9539      <ul>
9540        <li>correct a typo in os2main.c (Holger Veit, from
9541        4.0a).</li>
9542      </ul>
9543    </li>
9544  </ul>
9545
9546  <h1><a name="xterm_131" id="xterm_131">Patch #131 - 2000/3/3 -
9547  XFree86 3.9.18b</a></h1>
9548
9549  <ul>
9550    <li>improve logfile security (integrated patch by Branden
9551    Robinson)
9552
9553      <ul>
9554        <li>make the <code>creat_as()</code> function more strict
9555        by using O_EXCL rather than O_APPEND.</li>
9556
9557        <li>fixes to make DEBUG ifdef's compile/run, including
9558        making the debug logfile more unique by appending a
9559        timestamp to its name.</li>
9560
9561        <li>include &lt;term.h&gt; in resize.c, to fix a
9562        missing-prototype warning.</li>
9563      </ul>
9564    </li>
9565
9566    <li>modified <code>creat_as()</code> a little more, retaining
9567    the ability to append to a logfile If the user specifies the
9568    name. Also, check if the opened file (which patch #130 ensures
9569    is owned by the effective user) is not writable by other
9570    users.</li>
9571
9572    <li>use <code>creat_as()</code> logic to make tek4014
9573    screen-copy more secure (noted by Branden Robinson).</li>
9574
9575    <li>ifdef'd some of Branden's changes to build/work on older
9576    machines.</li>
9577
9578    <li>correct missing initialization of the <code>.mode</code>
9579    flag in <code>ColorRes</code> struct, from patch #129. This
9580    worked on Linux because <code>malloc()</code> zeroes memory on
9581    that platform (reported by Christian Weisgerber).</li>
9582
9583    <li>modify logic for <code>deleteIsDEL</code> resource so it
9584    has internally 3 states: unspecified, true and false. If
9585    unspecified, the keyboard type determines whether the Delete
9586    key transmits <code>&lt;ESC&gt;[3~</code> or <code>\177</code>,
9587    and the popup menu entry reflects the internal state.
9588    Otherwise, the popup menu entry overrides the keyboard type
9589    (suggested by Dr Werner Fink, to make it simpler to set
9590    resources that imitate the legacy X11R6 xterm).</li>
9591  </ul>
9592
9593  <h1><a name="xterm_130" id="xterm_130">Patch #130 - 2000/3/1 -
9594  XFree86 3.9.18a</a></h1>
9595
9596  <ul>
9597    <li>modify <code>scroll-forw()</code> and
9598    <code>scroll-back()</code> actions, adding a third parameter
9599    which will direct xterm to ignore the action when mouse
9600    reporting is enabled. This is needed for the wheel mouse to be
9601    used to report to the application rather than scroll the
9602    window.</li>
9603
9604    <li>add menu entry and action to allow disabling xterm's
9605    assumption that the current font contains line-drawing
9606    characters if the font cells 1-31 are nonempty. Some fonts may
9607    have other characters (reported by Bruno Betro
9608    &lt;bruno@iami.mi.cnr.it&gt;).</li>
9609
9610    <li>add a check in <code>creat_as()</code> to ensure that the
9611    user really owns the logfile that has been opened.</li>
9612
9613    <li>add logic to implement SCO function-keys. (This is really
9614    incomplete, since I intend to revisit this and make xterm able
9615    to emulate scoansi better than just the function-keys).</li>
9616
9617    <li>add configure script option --enable-sco-fkeys, minor
9618    related fixes (patch by Dr Werner Fink).</li>
9619
9620    <li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)</li>
9621
9622    <li>fix typo in sinstall.sh default for $TST_PROG (reported by
9623    Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)</li>
9624  </ul>
9625
9626  <h1><a name="xterm_129" id="xterm_129">Patch #129 - 2000/2/26 -
9627  XFree86 3.9.18a</a></h1>
9628
9629  <ul>
9630    <li>improve initialization of ANSI colors by delaying
9631    allocation until each color is first used.</li>
9632
9633    <li>remove ifdef that prevented colorBD/colorUL/colorBL
9634    resources from working when 256-color configuration was built
9635    (reported by Todd Larason).</li>
9636
9637    <li>fix some minor inconsistencies in terminfo (Debian
9638    #58530).</li>
9639  </ul>
9640
9641  <h1><a name="xterm_128" id="xterm_128">Patch #128 - 2000/2/17 -
9642  XFree86 3.9.18</a></h1>
9643
9644  <ul>
9645    <li>correct logic for <code>oldXtermFKeys</code> resource,
9646    fixes a core dump when attempting to set it from the
9647    command-line (reported by Dr Werner Fink).</li>
9648
9649    <li>correct ifdef for meta-sends-escap so configure
9650    --disable-num-lock builds.</li>
9651  </ul>
9652
9653  <h1><a name="xterm_127" id="xterm_127">Patch #127 - 2000/2/12 -
9654  XFree86 3.9.17e</a></h1>
9655
9656  <ul>
9657    <li>add resource, popup menu entry and control sequence to
9658    allow changing the Delete key to send either DEL or the
9659    VT220-style Remove escape sequence.</li>
9660
9661    <li>remove logic for metaSendsEscape that would allow xterm to
9662    send <code>&lt;ESC&gt;[3~</code> before a function key that
9663    would begin with <code>&lt;ESC&gt;[3~</code> (request by
9664    Christian Weisgerber).</li>
9665
9666    <li>add missing action and documentation for
9667    meta-sends-escape.</li>
9668
9669    <li>correct a few typos in ctlseqs.ms (incorrect code for Cyan
9670    color)</li>
9671  </ul>
9672
9673  <h1><a name="xterm_126" id="xterm_126">Patch #126 - 2000/2/8 -
9674  XFree86 3.9.17c</a></h1>
9675
9676  <ul>
9677    <li>ensure that xterm will automatically activate the UTF-8
9678    mode whenever the name of the locale environment variable
9679    suggests that a UTF-8 locale is in use (patch by Markus Kuhn).
9680    This will help that by simply setting LC_CTYPE an entire system
9681    can be switched over to UTF-8, without users having to remember
9682    the UTF-8 command line options ("-u8", etc.) of the various
9683    applications. Command line options and X resource entries can
9684    still be used to override this default choice.</li>
9685
9686    <li>add old function-keys control sequences and popup menu
9687    entry, for compatibility with legacy X11R6 xterm.</li>
9688
9689    <li>revert translation of editing keypad "Delete" key to legacy
9690    \177.</li>
9691
9692    <li>simplify the color-resource data expressions with macro
9693    COLOR_RES, for later use in restructuring color
9694    initialization.</li>
9695
9696    <li>change encoding of wheel mouse (buttons 4 and 5) to avoid
9697    conflict with legacy mouse modifiers (suggested by Bram
9698    Moolenaar).</li>
9699  </ul>
9700
9701  <h1><a name="xterm_125" id="xterm_125">Patch #125 - 2000/1/31 -
9702  XFree86 3.9.17c</a></h1>
9703
9704  <ul>
9705    <li>make this work on OpenVMS (integrated patch by David
9706    Mathog).</li>
9707
9708    <li>rename some functions, e.g., <code>Index</code> to
9709    <code>xtermIndex</code> so that ports such as VMS which link
9710    externals ignoring case will not have library conflicts
9711    (reported by David Mathog).</li>
9712
9713    <li>correct logic of <code>do_reversevideo()</code>, which did
9714    not update the corresponding popup menu check mark (reported by
9715    David Mathog, this was a detail overlooked in patch #94).</li>
9716
9717    <li>change TRACE macro so semicolon is not within definition,
9718    making <em>indent</em> and similar programs work better.</li>
9719
9720    <li>add <code>depend</code> rule to Makefile.in</li>
9721
9722    <li>modify logic of boldColors resource to suppress it if an
9723    extended color control has been used, e.g., for 88-color or
9724    256-color mode (patch by Todd Larason).</li>
9725
9726    <li>revise logic that handles menus and input translation for
9727    keyboard type so only one can be selected at a time.</li>
9728
9729    <li>restore kdch1=\177 for the Sun function-key type, and make
9730    the the Delete key send DEL (\177) if the oldXtermFKeys
9731    resource is set.</li>
9732
9733    <li>rephrase logic and ifdef's for POSIX VDISABLE to avoid
9734    preprocessor expression that will not compile on NetBSD/x86
9735    1.4.1 (reported by Takaaki Nomura
9736    &lt;amadeus@yk.rim.or.jp&gt;).</li>
9737  </ul>
9738
9739  <h1><a name="xterm_124" id="xterm_124">Patch #124 - 2000/1/27 -
9740  XFree86 3.9.17b</a></h1>
9741
9742  <ul>
9743    <li>change coding of editing keypad's "Delete" key to
9744    &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode. This
9745    makes the terminfo kdch1 capability independent of the coding
9746    of the backarrow key, which sends either backspace (8) or DEL
9747    (127). The reason for doing this (compatibility with the
9748    <em>screen</em> program) outweighs the choice of DEL (127)
9749    which was used in X11R5/X11R6 xterms. The <em>screen</em>
9750    program translates whatever matches kdch1 into
9751    &lt;escape&gt;[3~, even if it happens to be the stty erase
9752    character.</li>
9753
9754    <li>add encoding for control/?, to work around xmodmap or key
9755    translations which may confuse backspace and delete. A
9756    control/? will send DEL (127), and a control/H will of course
9757    send backspace (8).</li>
9758
9759    <li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian
9760    #54840).</li>
9761
9762    <li>minor correction to logic that encodes Sun and DEC function
9763    keys to avoid sending an escape sequence if the key symbol is
9764    not found in xterm's lookup table.</li>
9765
9766    <li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-"
9767    pattern is more likely to be implemented when <em>imake</em>
9768    configures xterm (fixes Debian #55105).</li>
9769
9770    <li>change manpage to make it clearer what codes are sent by
9771    the backarrow key.</li>
9772  </ul>
9773
9774  <h1><a name="xterm_123" id="xterm_123">Patch #123 - 2000/1/22 -
9775  XFree86 3.9.17a</a></h1>
9776
9777  <ul>
9778    <li>add a note reserving OSC 51 for use in Emacs shell (request
9779    by Rob Mayoff &lt;mayoff@dqd.com&gt;).</li>
9780
9781    <li>correct a missing backslash in xterm-vt220 termcap.</li>
9782
9783    <li>cleanup remaining quoted includes, preferring bracketed
9784    form.</li>
9785
9786    <li>minor configure-script macro updates from tin and
9787    vile.</li>
9788
9789    <li>add configure-script option for using utempter library,
9790    adapted from Redhat 6.1 patch for XFree86 3.3.5</li>
9791
9792    <li>resync with XFree86 3.9.17a:
9793
9794      <ul>
9795        <li>correction to QNX support (Frank Guangxin Liu)</li>
9796
9797        <li>some cosmetic changes that did not correct any reported
9798        problems.</li>
9799      </ul>
9800    </li>
9801  </ul>
9802
9803  <h1><a name="xterm_122" id="xterm_122">Patch #122 - 1999/12/28 -
9804  XFree86 3.9.16f</a></h1>
9805
9806  <ul>
9807    <li>move the suggested wheel-mouse button translations into
9808    charproc.c to simplify customization. Correct some minor logic
9809    errors in the support for buttons 4 and 5, used for wheel mice
9810    (reported by Bram Moolenaar).</li>
9811
9812    <li>implement <em>metaSendsEscape</em> resource, with
9813    corresponding control sequence and menu entry. Like
9814    <em>eightBitInput</em>, this causes xterm to send ESC prefixing
9815    the given key, but applies to all keys and is independent of
9816    the 8-bit/7-bit terminal setting. (requests by Alexander V
9817    Lukyanov and Marc Feeley).</li>
9818
9819    <li>correct potential indexing with negative subscript in
9820    udk_lookup(), (reported by Ian Collier
9821    &lt;Ian.Collier@comlab.ox.ac.uk&gt;).</li>
9822
9823    <li>modify configure script that sets TERMINFO_DIR to use
9824    ${prefix} rather than /usr if the --prefix option was specified
9825    (request by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
9826
9827    <li>modify checks for repeat-character control sequence to test
9828    the character class against xterm's state table, rather than
9829    the isprint() macro (patch by Alexander V Lukyanov).</li>
9830
9831    <li>change several functions to macros to improve speed</li>
9832
9833    <li>two corrections to simulation of bold font via
9834    overstriking:
9835
9836      <ul>
9837        <li>use clipping to avoid leaving trash at end of the text,
9838        and</li>
9839
9840        <li>add brackets so wide-character logic does not
9841        fall-through into the overstriking logic (reported by Marc
9842        Feeley &lt;feeley@IRO.UMontreal.CA&gt;)</li>
9843      </ul>
9844    </li>
9845
9846    <li>add several entries to termcap file to make it have the
9847    same set of aliases as the terminfo file.</li>
9848
9849    <li>scale the color values used for xterm-256color terminfo
9850    entry to 0..1000, as expected by ncurses.</li>
9851
9852    <li>change xterm-r6 terminfo definitions for F1-F4 to match
9853    program.</li>
9854
9855    <li>Add QNX/Neutrino support (Frank Guangxin Liu
9856    &lt;frank@ctcqnx4.ctc.cummins.com&gt;)</li>
9857  </ul>
9858
9859  <h1><a name="xterm_121" id="xterm_121">Patch #121 - 1999/11/14 -
9860  XFree86 3.9.16c</a></h1>
9861
9862  <ul>
9863    <li>change label on "Sun/PC Keyboard" popup menu entry to
9864    "VT220 Keyboard", since the checked state corresponds to VT220
9865    rather than Sun/PC.</li>
9866
9867    <li>add configure test CF_UTMP_UT_XSTATUS to handle the
9868    variants of utmp exit status (reports by Dave Ellement, Jeremie
9869    Petit, Tomas Vanhala).</li>
9870
9871    <li>amend treatment of ALT key (see <a href="#xterm_94">patch
9872    #94</a>) so that if ALT is used as a modifier in key
9873    translations, then no parameter will be sent in escape
9874    sequences for Sun/PC function keys (request by Dr Werner
9875    Fink).</li>
9876
9877    <li>modify default for OPT_I18N_SUPPORT to assume that
9878    <code>XtSetLanguageProc()</code> is available in X11R5.
9879
9880      <p>Caveat: <code>XtSetLanguageProc()</code> was added fairly
9881      late in the X11R5 patches, and some vendors shipped buggy
9882      versions of this function (request by Tomas Vanhala).</p>
9883    </li>
9884
9885    <li>correct configure macro CF_SYSV_UTMP to test-link with
9886    functions consistent with the header, e.g., getutent() for
9887    utmp.h and getutxent() for utmpx.h (reported by Greg
9888    Smith).</li>
9889
9890    <li>modify terminfo entry for <code>xterm-xfree86</code> to
9891    reflect modifiers for shift and control (from a patch by
9892    Alexander V Lukyanov).</li>
9893
9894    <li>modify terminfo entry for <code>xterm-sun</code> to match
9895    the function-key definitions in ncurses. The pageup/pagedown
9896    and related function keys correspond to the Sun keyboard, which
9897    does not necessarily correspond with X's notion of those
9898    keys.</li>
9899
9900    <li>modify treatment of XK_Delete keysym so it transmits
9901    parameterized VT220-style <code>&lt;ESC&gt;[3~</code> if
9902    modifiers (shift, control alt) are given (request by Alexander
9903    V Lukyanov).</li>
9904
9905    <li>corrected misspelled resource name in command-line option
9906    for HP function keys.</li>
9907  </ul>
9908
9909  <h1><a name="xterm_120" id="xterm_120">Patch #120 - 1999/10/28 -
9910  XFree86 3.9.16c</a></h1>
9911
9912  <ul>
9913    <li>refine the change to <code>SGR_Background()</code> in patch
9914    #119, by not flushing the pending scrolling operation if the
9915    background color is not actually changing. This combination
9916    occurs when using color-ls to display a long listing, since
9917    each line ends with an SGR0 which affects only the foreground
9918    color. The unnecessary flushing made it noticeably slower
9919    (reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
9920
9921    <li>remove obsolete documentation about modifiers which can be
9922    returned in mouse tracking mode, and modify logic to ignore
9923    modifiers other than the existing ones, e.g., NumLock (prompted
9924    by discussions with Christian Weisgerber and Brad Pepers
9925    &lt;brad@linuxcanada.com&gt;).</li>
9926
9927    <li>use free bit from obsolete shift-modifier coding of mouse
9928    tracking button events to encode buttons 4 and 5, e.g., for a
9929    wheel mouse (requests by Brad Pepers and Bram Moolenaar).</li>
9930
9931    <li>correct a place where the ptyInitialErase logic did not set
9932    the backarrowKey state, and modify it further to use tgetstr()
9933    rather than parse the termcap data returned from tgetent() so
9934    the ptyInitialErase logic will work when xterm is linked with a
9935    terminfo library (based on a patch by Dr Werner Fink
9936    &lt;werner@suse.de&gt;).</li>
9937
9938    <li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration
9939    (patch by Michael Rohleder).</li>
9940
9941    <li>improve configure script's utmp tests (based on reports by
9942    Greg Smith for os390, and David Ellement for HPUX).</li>
9943
9944    <li>modify sinstall.sh to use uid=0 rather than 'root' to
9945    determine if the installer is privileged. This is needed on
9946    some systems since more than one account may be privileged
9947    (report by Greg Smith).</li>
9948
9949    <li>add an application resource, <code>messages</code> (and a
9950    corresponding -/+mesg option) which controls the initial
9951    permission on the terminal: if messages is set to true (the
9952    default), behavior is as without the patch; if it is set to
9953    false (as per -mesg), the terminal is opened in mode 0600, thus
9954    producing the effect of the <code>mesg n</code> command. This
9955    is useful for users who want to redirect all their messages to
9956    one particular xterm: it is more pleasant to do this with xterm
9957    resources than with explicit calls to the <code>mesg</code>
9958    program (patch, description by David Madore
9959    &lt;david.madore@ens.fr&gt;).</li>
9960  </ul>
9961
9962  <h1><a name="xterm_119" id="xterm_119">Patch #119 - 1999/10/16 -
9963  XFree86 3.9.16c</a></h1>
9964
9965  <ul>
9966    <li>add responses (DA and DSR) for DEC locator mode</li>
9967
9968    <li>add coding for ANSI color to DA response</li>
9969
9970    <li>implement UTF-8 translation for Media Copy (print)
9971    operations.</li>
9972
9973    <li>implement vt320 control sequences for Print Composed Main
9974    Display and for Print All Pages. The latter directs xterm to
9975    print the current screen as well as the scrollback buffer.</li>
9976
9977    <li>correct error in _GNU_SOURCE configure test, which left it
9978    always defined.</li>
9979
9980    <li>add more information, i.e., with strerror for some system
9981    calls in the main program which may fail due to insufficient
9982    permissions (prompted by a problem report for <code>-C</code>
9983    by Jeremie Petit &lt;Jeremie.Petit@digital.com&gt;).</li>
9984
9985    <li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
9986    &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
9987    &lt;griswold@acm.org&gt;).</li>
9988
9989    <li>add configure script test to resolve conflict between
9990    between &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;</li>
9991
9992    <li>modify translation of UTF-8 sequences to reject "overly
9993    long" variations (patch by Markus Kuhn).</li>
9994
9995    <li>remove <code>utf8controls</code> resource, since Markus'
9996    change removes the corresponding logic.</li>
9997
9998    <li>correct a case where colors were not rendered properly.
9999    This happened when an application inserted several lines, then
10000    changed colors. If this was done all in one write, then there
10001    would be no intervening refresh, and the new color was applied
10002    to the pending scrolling operation which was awaiting the next
10003    refresh (reported by Stephane Chazelas
10004    &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
10005  </ul>
10006
10007  <h1><a name="xterm_118" id="xterm_118">Patch #118 - 1999/10/5 -
10008  XFree86 3.9.16b</a></h1>
10009
10010  <ul>
10011    <li>refine configure test for utmp versus utmpx, to build on
10012    HP-UX 10.x (reported by David Ellement).</li>
10013
10014    <li>move the configure check for <code>const</code> after the
10015    check for ANSI C compiler options, since those may be required
10016    to make it work properly on HP-UX.</li>
10017
10018    <li>add configure test for defining
10019    <code>_GNU_SOURCE</code></li>
10020
10021    <li>correction to <em>-hold</em> option, ensure that if data is
10022    already in the output buffer that it will be displayed before
10023    closing the PTY.</li>
10024
10025    <li>move the configure checks for setuid install of xterm into
10026    a script to avoid installing it setuid'd to a non-root user
10027    (reported by Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).</li>
10028
10029    <li>correct configure script's check for termcap.h to avoid
10030    using ncurses' version of it on systems that have a working
10031    <code>tgetent()</code> function. This is needed to make
10032    <code>resize</code> work properly.</li>
10033
10034    <li>fix some typography in ctlseqs.ms description of DEC
10035    locator events (reported by Stephen P Wall).</li>
10036  </ul>
10037
10038  <h1><a name="xterm_117" id="xterm_117">Patch #117 - 1999/9/29 -
10039  XFree86 3.9.16b</a></h1>
10040
10041  <ul>
10042    <li>change order of tests in configure script for utmp and
10043    utmpx to test utmpx first, to compile on Solaris (reported by
10044    Leena Heino &lt;liinu@uta.fi&gt; and Patrik Hagglund
10045    &lt;patha@ida.liu.se&gt;).</li>
10046
10047    <li>add a configure test for utmp.ut_xtime, needed for SCO
10048    Openserver, and for lastlog, needed for Redhat 6.0, to refine
10049    the utmp/utmpx auto-configure.</li>
10050
10051    <li>remove a spurious comma in an #undef (reported by David
10052    Green &lt;greendjf@cvhp152.marconicomms.com&gt; and David
10053    Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
10054    compiler does care about syntax).</li>
10055
10056    <li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported
10057    by Suhaib M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is
10058    told that the next Cygnus release will drop that symbol in
10059    their next release).</li>
10060
10061    <li>minor cleanup of ifdef's for makeColorPair (patch by
10062    Stephen P Wall).</li>
10063
10064    <li>work around problem observed in XFree86 3.3.5 (patch by
10065    Alexander V Lukyanov, Redhat #5419). From the problem report:
10066
10067      <blockquote>
10068        <p>xterm consumes cpu when selecting text with mouse
10069        (holding down left mouse button) and when a program working
10070        under the xterm outputs something to stdout.</p>
10071
10072        <p>Easy way to reproduce:<br>
10073        <code>while :; do echo aaa; sleep 1; done</code><br>
10074        (while this runs, select text and hold down left mouse
10075        button) watch cpu load.<br>
10076        release left mouse button - spinning stops.</p>
10077      </blockquote>
10078    </li>
10079  </ul>
10080
10081  <h1><a name="xterm_116" id="xterm_116">Patch #116 - 1999/9/25 -
10082  XFree86 3.9.16a</a></h1>
10083
10084  <ul>
10085    <li>modify warning if change-ownership of PTY fails; some
10086    configurations may not happen to have old-style pty's (reported
10087    by Bob Maynard).</li>
10088
10089    <li>improve check in configure script for group ownership of
10090    installed xterm; some platforms use the -g option of ls to
10091    toggle group off rather than on (reported by Greg Smith).</li>
10092
10093    <li>minor improvement to toolbar geometry, to make it not
10094    resizable. This still is not satisfactory (but is usable) since
10095    the toolbar overlaps the xterm widget if the window is resized
10096    to make it smaller. It appears that some work is needed for the
10097    xterm widget's geometry management to make it function
10098    properly.</li>
10099
10100    <li>implement configure script tests for utmp, tty group.</li>
10101
10102    <li>implement <em>-hold</em> option, allowing users to retain
10103    the window after a shell has exited (this is recently an FAQ,
10104    but prompted by a comment by Joachim Plaettner-Hochwarth
10105    &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the
10106    IRIX winterm provides this option).</li>
10107
10108    <li>add support for DEC Locator control sequences for xterm
10109    (integrated patch by Stephen P Wall):
10110      <pre>
10111                DECEFR, "Enable Filter Rectangle"
10112                DECELR, "Enable Locator Reports"
10113                DECSLE, "Select Locator Events"
10114                DECRQLP, "Request Locator Position"
10115</pre>
10116
10117      <p>This allows the xterm mouse to be used with applications
10118      that use the DEC Locator sequences, such as VAX Tpu, or SMG$
10119      based applications.</p>
10120    </li>
10121
10122    <li>improve print action (patch by Matthias Baake). From his
10123    notes,
10124
10125      <ul>
10126        <li>Bug 1<br>
10127        Underlined text is preceded by ESC&nbsp;[0;2m . This should
10128        be ESC&nbsp;[0;4m&nbsp;, ESC&nbsp;[2m doesn't seem to have
10129        any effect. (print.c/send_SGR)</li>
10130
10131        <li>Bug 2<br>
10132        The check for the last non-empty column (while (last &gt;
10133        0) ... in print.c/printLine) omits the rightmost column of
10134        the screen, the loop must start with last =
10135        screen-&gt;max_col+1 instead of last =
10136        screen-&gt;max_col.</li>
10137
10138        <li>Bug 3<br>
10139        Any attributes of the first character (and of all
10140        immediately following characters with the same attributes)
10141        are ignored. The variable attr (print.c/printLine) should
10142        be initialized with 0, not with *a &amp; SGR_MASK.</li>
10143      </ul>
10144    </li>
10145  </ul>
10146
10147  <h1><a name="xterm_115" id="xterm_115">Patch #115 - 1999/9/18 -
10148  XFree86 3.9.16a</a></h1>
10149
10150  <ul>
10151    <li>integrated changes by Stephen P Wall to implement an
10152    88-color model for systems where 256-colors cannot be
10153    allocated.</li>
10154
10155    <li>when 256-color configuration is compiled, colored bold and
10156    underlining is not available; ifdef'd to avoid possible odd
10157    effects in this case (reported by Stephen P Wall).</li>
10158
10159    <li>add resource <em>cacheDoublesize</em>, to limit the caching
10160    of font information for double-sized characters. This addresses
10161    a problem reported by Aryeh Koenigsberg for X terminals with
10162    limited font memory.</li>
10163
10164    <li>modify treatment of line-drawing characters in UTF-8 mode
10165    so that the Unicode values are used rather than the C0 codes
10166    for storing the translated characters (request by Markus
10167    Kuhn).</li>
10168  </ul>
10169
10170  <h1><a name="xterm_114" id="xterm_114">Patch #114 - 1999/9/15 -
10171  XFree86 3.9.16</a></h1>
10172
10173  <ul>
10174    <li>add configure script checks for Athena headers and
10175    libraries under /usr/contrib to work on HPUX (reported by
10176    several people: David Nixon &lt;djn@csc.liv.ac.uk&gt; Aryeh
10177    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt; Johannes
10178    M&auml;hner &lt;johanm@camline.com&gt; Andrew Gaylard
10179    &lt;andrew.gaylard@bsw.co.za&gt;).</li>
10180
10181    <li>add check to configure script if xterm is installed setgid
10182    rather than setuid, since wtmp and utmp may be installed with
10183    group-writable permissions other than root (based on Debian bug
10184    report #7112 by Bo Branten &lt;bosse@ing.umu.se&gt;).</li>
10185
10186    <li>rewrote logic that removes data from termcap entry, e.g.,
10187    for titeInhibit, to make it less likely to remove the wrong
10188    data.</li>
10189
10190    <li>correct logic which checks for missing characters used for
10191    line drawing. The 0 character was tested unnecessarily, leading
10192    to some inefficiency when rendering.</li>
10193
10194    <li>change termcap capability which is used as input or output
10195    of ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
10196    Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed
10197    out in effect that <em>kD</em> (in terminfo <em>kdch1</em>)
10198    should correspond to the control sequence for <em>dch1</em>,
10199    which deletes from the current position toward the right.</li>
10200
10201    <li>check for failure to change ownership of the PTY device and
10202    warn when xterm is running setuid'd to root. This was reported
10203    to happen on the FreeBSD/NetBSD/OpenBSD systems as a result of
10204    the chflags() call.</li>
10205
10206    <li>add xterm-noapp terminfo entry to illustate a nominally
10207    bash-compatible terminal description.</li>
10208  </ul>
10209
10210  <h1><a name="xterm_113" id="xterm_113">Patch #113 - 1999/8/15 -
10211  XFree86 3.9.15b</a></h1>
10212
10213  <p>Several fixes. The main one is a first draft of pulldown
10214  menus. It's not complete (I have some minor/annoying geometry
10215  problems to correct), but is usable. Once it's complete I plan to
10216  add a menu to support additional selections that won't fit on the
10217  current popup menus. Also, this fits into my longterm plan to
10218  allow configuring with Motif libraries.</p>
10219
10220  <ul>
10221    <li>correct error in input conversion for NRC mode (reported by
10222    Stefan Traby &lt;stefan@sime.com&gt;).</li>
10223
10224    <li>fix initialization of num_lock data in Misc struct (since
10225    those fields of the reference widget aren't initialized), and
10226    add logic to deal with XVision whose NumLock key does not
10227    transmit but does alter keypad state.</li>
10228
10229    <li>correct a missing return-value in get_pty(), for SCO</li>
10230
10231    <li>add E2A fix for backspace (patch by Greg Smith), i.e.,<br>
10232    #define VAL_INITIAL_ERASE A2E(127)</li>
10233
10234    <li>correct foreground color within cursor outline when the
10235    window is unfocused (reported by Stephane Chazelas).</li>
10236
10237    <li>corrected position of scrollbar set in ResizeScrollBar(),
10238    which left it positioned incorrectly if the right scrollbar
10239    were enabled from the popup menu but was not initially enabled.
10240
10241      <p>I have noticed some additional problems with
10242      right-scrollbar on X11R5 which I will correct later.</p>
10243    </li>
10244
10245    <li>integrate changes by Jean-Claude Michot for QNX from
10246    XFree86 3.3.4c</li>
10247
10248    <li>add resources menuBar/MenuBar, menuHeight/MenuHeight for
10249    later use in toolbar geometry.</li>
10250
10251    <li>add configure option --enable-toolbar</li>
10252
10253    <li>add missing definition to make ziconbeep logic not
10254    compile-in when configure script disables it.</li>
10255
10256    <li>add configure-check for input-method support in X
10257    libraries</li>
10258  </ul>
10259
10260  <h1><a name="xterm_112" id="xterm_112">Patch #112 - 1999/7/17 -
10261  XFree86 3.9Pw</a></h1>
10262
10263  <ul>
10264    <li>add null-pointer check to FlushLog(), fixes a core dump
10265    when both -l and -lf options are used when xterm is configured
10266    with wide-character support.</li>
10267
10268    <li>remove "ISO" case for SD, which was due to a typographical
10269    error in ECMA-48 (reported by Paul Williams
10270    &lt;paul@celigne.co.uk&gt; for vttest).</li>
10271
10272    <li>add "FILES" section to manpage.</li>
10273
10274    <li>generate header file to initialize default resources for
10275    colors 16-255.</li>
10276
10277    <li>fixes for os390 (Greg Smith):
10278
10279      <ul>
10280        <li>add README.os390</li>
10281
10282        <li>use the pty_search() function to find an available
10283        pty/tty pair.</li>
10284
10285        <li>move E2A() call out of getXtermCell() to SaveText()
10286        function so it will be available in all
10287        configurations.</li>
10288      </ul>
10289    </li>
10290
10291    <li>patches by Todd Larason:
10292
10293      <ul>
10294        <li>enable SGR 48 5 in ISO color mode, not just 256 color
10295        mode</li>
10296
10297        <li>change configure's --disable-256-color option to
10298        --enable-256-color, to match its effect</li>
10299
10300        <li>fix OSC 4 xx ? (report ansi color) to report a string
10301        which can actually be used to set the color back</li>
10302
10303        <li>fix OSC 4 xx yy (change ansi color) to not allow
10304        setting colors &gt; 15 in 16 color mode</li>
10305
10306        <li>simplify the COLOR_ settings a bit in ptyx.h, along
10307        with setting NUM_ANSI_COLORS needed for #1 and #4
10308        above</li>
10309
10310        <li>correct string-terminator code passed for reference to
10311        OSC responses; when in 7-bit mode, only the final byte of
10312        ST was seen.</li>
10313
10314        <li>Allow multiple color #;name pairs in OSC 4, and
10315        document changes to match.</li>
10316      </ul>
10317    </li>
10318  </ul>
10319
10320  <h1><a name="xterm_111" id="xterm_111">Patch #111 - 1999/7/10 -
10321  XFree86 3.9Pw</a></h1>
10322
10323  <ul>
10324    <li>add control sequences for specifying the RGB value of the
10325    ANSI colors, and for configuring with 256 colors (patch by Todd
10326    Larason &lt;jtl@molehill.org&gt;). I made the default
10327    configuration to 16-colors, because xterm uses the default
10328    color map (which has only 256 colors).</li>
10329
10330    <li>correct an error in DCS $ q m reporting for colors 8-15
10331    (Todd Larason).</li>
10332
10333    <li>add test/demo script for double size characters. Used this
10334    to test/correct display of double size characters that should
10335    wrap, underlined double size characters.</li>
10336
10337    <li>increased cache size for double size fonts to 8, to allow
10338    for both normal and bold fonts (discussion with Aryeh
10339    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;).</li>
10340
10341    <li>add fixes for port to OS390 aka MVS (integrated patch from
10342    Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;). OS390 uses EBCDIC
10343    rather than ASCII.</li>
10344
10345    <li>correct an off-by-one in binary search limits in
10346    keysym2ucs.c (Markus Kuhn).</li>
10347
10348    <li>implement logging for UTF-8 mode. The output is written in
10349    UTF-8 form.</li>
10350  </ul>
10351
10352  <h1><a name="xterm_110" id="xterm_110">Patch #110 - 1999/6/29 -
10353  XFree86 3.9Pu</a></h1>
10354
10355  <ul>
10356    <li>If colorMode is enabled by default, compile-in default
10357    resources to match the colors listed in XTerm-col.ad (this
10358    should fix a longstanding FAQ).</li>
10359
10360    <li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST
10361    escape sequence to set an arbitrary X property on the top level
10362    xterm X11 window. Omit "=VALUE" to delete the X property (patch
10363    by Greg Badros &lt;gjb@cs.washington.edu&gt;).</li>
10364
10365    <li>change internal flag used for <em>utf8controls</em>
10366    resource so we allow 31-bit range of characters (suggested by
10367    Thomas Wolff).</li>
10368
10369    <li>add check for 16-bit characters in OSC strings, change them
10370    to '?' (reported by Thomas Wolff).</li>
10371
10372    <li>modify logic of same_font_name() to avoid trying to
10373    interpret both parameters as wildcard patterns. That does not
10374    (cannot) work, and in some instances the font server will
10375    return unresolved wildcards for the normal or bold fontnames,
10376    making them match inadvertently, triggering the fallback
10377    overstrike logic (reported by Tim Adye).</li>
10378  </ul>
10379
10380  <h1><a name="xterm_109" id="xterm_109">Patch #109 - 1999/6/23 -
10381  XFree86 3.9Pt</a></h1>
10382
10383  <ul>
10384    <li>correct range-check from patch #108, which resulted in not
10385    being able to select from the scrollback buffer (reported by
10386    Tim Adye &lt;T.J.Adye@rl.ac.uk&gt;)</li>
10387
10388    <li>correct "no available ptys" problem with Cygwin B20.1
10389    (patch by Tim Adye).</li>
10390
10391    <li>modified install-ti rule in Makefile.in to allow override
10392    of the terminfo directory when doing a "make install", i.e., by
10393    assigning to TERMINFO_DIR (request by Zdenek Sekera
10394    &lt;zs@sgi.com&gt;).</li>
10395
10396    <li>added install-full rule to Makefile.in</li>
10397
10398    <li>resync mkdirs.sh and install.sh scripts against current
10399    autoconf</li>
10400
10401    <li>implement $(DESTDIR) in Makefile.in, making it simple to
10402    install xterm and associated files into a directory just for
10403    packaging a binary release (suggested by CaT
10404    &lt;cat@zip.com.au&gt;).</li>
10405
10406    <li>change IChar type to unsigned, rather than unsigned short,
10407    making room for a flag to keep with 16-bit characters to
10408    prevent them from being interpreted as C0 or C1 controls
10409    (reported by Thomas Wolff).</li>
10410
10411    <li>correct a typo from patch #107, incorrect array name, in
10412    the filterUTF8 function (patch by Bruno Haible
10413    &lt;haible@ilog.fr&gt;)</li>
10414
10415    <li>add <em>utf8controls</em> resource to specify whether xterm
10416    should interpret 16-bit characters unpacked from UTF-8 form as
10417    control characters if they happen to fall into that range. This
10418    behavior is left unspecified by the Unicode standard (request
10419    by Thomas Wolff).</li>
10420
10421    <li>modify handling of OSC to recover if application sends
10422    16-bit characters with codes above 255. We cannot display them
10423    as is, but translate out-of-range characters to a '?' (reported
10424    by Thomas Wolff).</li>
10425  </ul>
10426
10427  <h1><a name="xterm_108" id="xterm_108">Patch #108 - 1999/6/19 -
10428  XFree86 3.9Ps</a></h1>
10429
10430  <ul>
10431    <li>add a range-check to LastTextCol(), to guard against
10432    indexing before the beginning of the scrollback buffer. This
10433    appears to happen with certain fonts under X11R5 (reported by
10434    Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
10435
10436    <li>implement resource <em>boldMode</em>, to allow disabling
10437    the simulation of bold fonts when the bold and normal fonts are
10438    not different (requested by Will Day
10439    &lt;willday@rom.oit.gatech.edu&gt;).</li>
10440
10441    <li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few
10442    bugs in the UTF-8 selection (patch by Juliusz Chroboczek).</li>
10443
10444    <li>correct logic of binary-search in keysym2ucs.c (patch by
10445    Markus Kuhn).</li>
10446
10447    <li>add special interpretation of keysym codes above 0x1000000
10448    as the corresponding UCS value plus 0x1000000 (patch by Markus
10449    Kuhn).</li>
10450  </ul>
10451
10452  <h1><a name="xterm_107" id="xterm_107">Patch #107 - 1999/6/12 -
10453  XFree86 3.9Pq</a></h1>
10454
10455  <ul>
10456    <li>Two changes from Stephen P Wall. From his description:
10457
10458      <blockquote>
10459        <p>The first change is simple - I added ESC[3J to erase the
10460        stored lines above the screen. That's what the changes to
10461        util.c and ctlseqs.ms are.</p>
10462
10463        <p>The second change is to get the blinking cursor working.
10464        I took out the cursorBlinkTime resource, and put in
10465        cursorBlink (Boolean), cursorOnTime (time cursor is on in
10466        msecs) and cursorOffTime, and added a cursorblink item to
10467        the vtMenu to enable/disable it.</p>
10468      </blockquote>
10469    </li>
10470
10471    <li>improve selection (integrated patch by Juliusz Chroboczek).
10472    From his description:
10473
10474      <blockquote>
10475        <p>With this patch, selection conversion works
10476        properly:</p>
10477        <pre>
10478        ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
10479        ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
10480        UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
10481        UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
10482</pre>
10483
10484        <p>It will not work properly if one xterm is in, say, ISO
10485        8859-2. Actually, for this case xterm breaks the ICCCM
10486        routinely (sending ISO 8859-2 data as STRING), so I
10487        wouldn't worry too much about it. I have not changed the
10488        behaviour in eight-bit mode in any way.</p>
10489      </blockquote>
10490    </li>
10491  </ul>
10492
10493  <h1><a name="xterm_106" id="xterm_106">Patch #106 - 1999/6/9 -
10494  XFree86 3.9Pq</a></h1>
10495
10496  <ul>
10497    <li>remove duplicate fix for OpenBSD in resize.c</li>
10498
10499    <li>correct logic in ScreenWrite, which did not reset the high
10500    bytes of 16-bit characters when overwriting them with a 8-bit
10501    character string (reported by Thomas Wolff).</li>
10502
10503    <li>provide limited support for input of UTF-8 16-bit data by a
10504    lookup table (integrated patch by Markus Kuhn).</li>
10505
10506    <li>correct check in non_blank_line to ensure we're in
10507    wide-character mode before looking at the high bytes, for
10508    InsertChar.</li>
10509  </ul>
10510
10511  <h1><a name="xterm_105" id="xterm_105">Patch #105 - 1999/6/5 -
10512  XFree86 3.9Pp</a></h1>
10513
10514  <ul>
10515    <li>implement new resource <em>trimSelection</em>, which allows
10516    xterm to trim trailing blanks from selected lines. This does
10517    not affect the highlighting. (reported by several people using
10518    <em>mutt</em>, including Hans Morten Kind &lt;edphk@uib.no&gt;,
10519    Jeremy &lt;jeremy@exit109.com&gt; and (Michael Fuller
10520    &lt;msf@mds.rmit.edu.au&gt;).</li>
10521
10522    <li>include term.h in resize for OpenBSD (patch by Matthieu
10523    Herrb).</li>
10524
10525    <li>correct logic for UTF-8 in functions that hide and show the
10526    cursor; it was displaying a space whenever the low byte of the
10527    character at the cursor position was zero (reported by Thomas
10528    Wolff &lt;Thomas.Wolff@icn.siemens.de&gt;).</li>
10529  </ul>
10530
10531  <h1><a name="xterm_104" id="xterm_104">Patch #104 - 1999/5/30 -
10532  XFree86 3.9Pn</a></h1>
10533
10534  <p>This is a resync patch against XFree86 3.9Pn, reflecting
10535  changes which were submitted by Branden Robinson, who worked with
10536  Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt; to set up
10537  ifdef's to handle GNU libc 2.1, and use getpt() which lets xterm
10538  avoid having to know the actual PTY name.</p>
10539
10540  <p>I have also added a few fixes for signed/unsigned mismatches,
10541  and corrected a problem in the configure script (the UTF-8 code
10542  was always configured since the Imakefile defines this).</p>
10543
10544  <h1><a name="xterm_103" id="xterm_103">Patch #103 - 1999/5/14 -
10545  XFree86 3.9Pm</a></h1>
10546
10547  <ul>
10548    <li>correct selection logic: I omitted an offset that accounts
10549    for the distance into the scrollback buffer when rewriting this
10550    for patch #101. Also fixed a similar problem for selecting
10551    double size characters from the scrollback buffer (first was
10552    reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
10553
10554    <li>improved support for Unix98 PTY's, using patch in Debian
10555    bug report #35650, by J.H.M. Dassen
10556    &lt;jdassen@wi.leidenuniv.nl&gt;. From the patch description:
10557
10558      <blockquote>
10559        <ul>
10560          <li>No longer links xterm against libutil on a glibc2.1
10561          system. libutil is a compatibility library and should
10562          only be used when necessary. Rather than having get_pty()
10563          use openpty() from this compatibility library, use the
10564          real UNIX98 pty support in get_pty() (open()ing the
10565          master pty, through getpt() if available (glibc
10566          extension)). Use openpty() only under glibc2.0.</li>
10567
10568          <li>GNU libc2 is not Linux-specific; already it runs on
10569          the Hurd. It provides the UNIX98 pty functions (plus the
10570          getpt() extension), regardless of the underlying OS.
10571          Changed two constructs to look for GNU libc2 only, not
10572          GNU libc2 on Linux.</li>
10573        </ul>
10574      </blockquote>
10575    </li>
10576
10577    <li>improve font configuration, by checking if the user's
10578    resource settings for normal and bold fonts give the same font
10579    sizes (fixes problem reported by Peter Waltenberg
10580    &lt;peterw@dascom.com&gt;).</li>
10581  </ul>
10582
10583  <h1><a name="xterm_102" id="xterm_102">Patch #102 - 1999/5/12 -
10584  XFree86 3.9Pm</a></h1>
10585
10586  <ul>
10587    <li>revert change to openpty call in patch #101; this causes
10588    xterm to fail on DEC-Alpha OSF/1 4.0B (reported by H Merijn
10589    Brand).</li>
10590
10591    <li>modify print.c to move include of stdio.h after the
10592    autoconf'd xtermcfg.h since HP's ANSI C compiler otherwise sees
10593    inconsistent prototype for getopt, probably due to problem with
10594    const (reported by H Merijn Brand).</li>
10595  </ul>
10596
10597  <h1><a name="xterm_101" id="xterm_101">Patch #101 - 1999/5/10 -
10598  XFree86 3.9Pm</a></h1>
10599
10600  <ul>
10601    <li>moved includes and definitions for 'select' from data.h to
10602    xterm.h to fix problem introduced by prototype for getPtyData,
10603    part of UTF-8 changes (reported by Jens Schleusener
10604    &lt;Jens.Schleusener@dlr.de&gt;)</li>
10605
10606    <li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
10607    translation (patch by H Merijn Brand)</li>
10608
10609    <li>fixes to configure script and ifdef's in main.c to build on
10610    a HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with
10611    egcs 1.1.2 and HP's ANSI C compiler (patch by H Merijn Brand
10612    &lt;PROCURA_BV@CompuServe.com&gt;)</li>
10613
10614    <li>add more parentheses in ifdef's (patch by Bob
10615    Maynard).</li>
10616
10617    <li>eliminate conflicting definitions for USE_TERMINFO in
10618    resize.c (reported by Jeremy Buhler).</li>
10619
10620    <li>change openpty call to pass NULL rather than ttydev
10621    parameter, since that was used only to estimate the length of
10622    the corresponding data, and may not really be long enough
10623    (reported by Andreas Jaeger)</li>
10624
10625    <li>update description in xterm manpage for character class
10626    table, which said it handles only 7-bit codes.</li>
10627
10628    <li>correct a typo in ScrnDeleteChar() which made it not clear
10629    the high byte of wide-character data.</li>
10630
10631    <li>add logic to convert selection to UTF-8 form when
10632    appropriate. This makes select/paste "work", but further work
10633    is needed to make UTF-8 recognized as a locale in Xlib.</li>
10634
10635    <li>correct right-limit check when selecting double-width
10636    characters.</li>
10637
10638    <li>change default answerback response to an empty string.</li>
10639  </ul>
10640
10641  <h1><a name="xterm_100" id="xterm_100">Patch #100 - 1999/5/3 -
10642  XFree86 3.9Pl</a></h1>
10643
10644  <ul>
10645    <li>Correct a typo in the default resource value for
10646    backarrowKeyIsErase: it was always true (reported by Bram
10647    Moolenaar).</li>
10648
10649    <li>improve configure script's test if the installed xterm is
10650    setuid, in case that is a symbolic link.</li>
10651
10652    <li>correct "install-ti" rule in Makefile.in, by not setting a
10653    blank $TERMINFO value. That is interpreted as "." by ncurses'
10654    tic.</li>
10655  </ul>
10656
10657  <h1><a name="xterm_99" id="xterm_99">Patch #99 - 1999/5/2 -
10658  XFree86 3.9Pk</a></h1>
10659
10660  <ul>
10661    <li>correct logic that computes num_ptrs count of the number of
10662    indices into the screen buffer. This is the maximum of the
10663    colors and character-set indices; was incorrect in patch
10664    #97.</li>
10665
10666    <li>correct argument type for sigsetjmp, incidental change in
10667    patch #96's Unix88 PTY patch (reported by Bram Moolenaar).</li>
10668
10669    <li>correct description of secondary DA in ctlseqs.ms (reported
10670    by Bram Moolenaar).</li>
10671
10672    <li>decouple the backarrowKey and ptyInitialErase resources by
10673    adding a new resource backarrowKeyIsErase, to accommodate
10674    people using applications which have hardcoded tests for
10675    characters 8 and 127 rather than relying on the stty
10676    settings.</li>
10677
10678    <li>modify the UTF-8 decoder so that all possible illegal UTF-8
10679    sequences are properly represented by U+FFFD. This should be
10680    very helpful for developers of code that output UTF-8 strings
10681    for debugging. See the file utf-8-test.txt in
10682    http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
10683    demonstration text that contains numerous illegal UTF-8 values.
10684    (patch by Markus Kuhn).</li>
10685
10686    <li>correct a place in ScrnRefresh where I was filling the high
10687    byte of a wide character with a space rather than a null
10688    (reported by Markus Kuhn).</li>
10689  </ul>
10690
10691  <h1><a name="xterm_98" id="xterm_98">Patch #98 - 1999/4/26 -
10692  XFree86 3.9Pk</a></h1>
10693
10694  <ul>
10695    <li>correct data manipulation in unparseputc(), broken for
10696    little-endian machines by patch #97's UTF-8 changes. This meant
10697    that keyboard input on SunOS did not work, though Linux i386
10698    was fine.</li>
10699
10700    <li>modify initialization for backarrowKey and logic for
10701    initial-erase to prevent the initial-erase from overriding an
10702    explicitly set backarrowKey resource (reported by Vikas
10703    Agnihotri).</li>
10704
10705    <li>add a missing null-pointer check in ScrnRefresh, for the
10706    wide-characters configuration.</li>
10707  </ul>
10708
10709  <h1><a name="xterm_97" id="xterm_97">Patch #97 - 1999/4/25 -
10710  XFree86 3.9Pk</a></h1>
10711
10712  <ul>
10713    <li>add configure script test for -lutil, needed for openpty
10714    call when configuring xterm for Glibc-2.1 and Unix98 PTY's
10715    (first reported by Martin Lorentz"
10716    &lt;m.lorentz@w12.link-goe.de&gt;).</li>
10717
10718    <li>completely parenthesize ifdef expressions for Glibc
10719    (suggested by Bob Maynard).</li>
10720
10721    <li>add initial-erase options (-ie, +ie) to help message
10722    (reported by Vikas Agnihotri).</li>
10723
10724    <li>remove duplicate definition of USE_USG_PTYS (reported by
10725    Jeremy Buhler).</li>
10726
10727    <li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a
10728    DEL (\177). I overlooked this when separating the styles of
10729    keyboard with the <em>sunKeyboard</em> resources in patch #94,
10730    so that it normally matches the value of the stty erase
10731    character:
10732
10733      <ul>
10734        <li>Reported by Jae Gangemi
10735        &lt;jgangemi@ccf.rutgers.edu&gt;, this caused emacs to not
10736        process the DEL properly, combining it with succeeding
10737        characters.</li>
10738
10739        <li>This does not appear to be related to a problem which I
10740        have found with <em>screen</em>, which translates the stty
10741        erase into the termcap <em>kD</em> or terminfo
10742        <em>kdch1</em> value (depending on how it is linked) if the
10743        $TERMCAP variable is set when <em>screen</em> is
10744        invoked.</li>
10745      </ul>
10746    </li>
10747
10748    <li>add command-line options for enabling UTF-8 mode: -u8 and
10749    +u8. The more obvious -utf8 and +utf8 would conflict with
10750    xterm's -ut and +ut (utmp) options. The UTF-8 changes were
10751    requested by Markus Kuhn &lt;Markus.Kuhn@cl.cam.ac.uk&gt;. This
10752    patch does not complete UTF-8 implementation, but makes it
10753    usable, i.e., display and refresh work, and I am able to
10754    display the test cases which Markus provides. More work is
10755    needed to complete this feature:
10756
10757      <ul>
10758        <li>the control sequences for switching in/out of UTF-8
10759        mode are partly implemented (don't use them). Similarly,
10760        the switching between vt100 and tek4014 emulations when
10761        UTF-8 mode is enabled will not work properly.
10762
10763          <p>You must use the -u8 command line option to use this
10764          feature, as well as compile with the OPT_WIDE_CHARS
10765          definition.</p>
10766        </li>
10767
10768        <li>cut/paste only copies 8-bit characters.</li>
10769
10770        <li>logging is disabled in the wide-character
10771        configuration</li>
10772
10773        <li>printing only writes 8-bit characters.</li>
10774
10775        <li>input only does 8-bit characters. This is the area that
10776        I know least about.</li>
10777      </ul>
10778    </li>
10779  </ul>
10780
10781  <h1><a name="xterm_96" id="xterm_96">Patch #96 - 1999/4/19 -
10782  XFree86 3.9Pj</a></h1>
10783
10784  <ul>
10785    <li>modify Makefile.in to work with configure script's --srcdir
10786    option. (patch by Jeremy Buhler
10787    &lt;jbuhler@cs.washington.edu&gt;)</li>
10788
10789    <li>add checks for 'echo -n' equivalent for 8colors.sh and
10790    16colors.sh scripts (reported by Vikas Agnihotri).</li>
10791
10792    <li>improve logic that looks for bold fonts to allow for
10793    wildcards in the specification for normal fonts, and to ensure
10794    that if a bold font is specified as normal, that xterm will
10795    simulate a bold version of that using a one-pixel offset
10796    overstrike (reported by Henrik Harmsen
10797    &lt;harmsen@erv.ericsson.se&gt;).</li>
10798
10799    <li>correct horizontal spacing of double width line-drawing
10800    characters that xterm simulates.</li>
10801
10802    <li>improve support for Unix98 PTY's, using patch in Debian bug
10803    report #35650, by Topi Miettinen
10804    &lt;Topi.Miettinen@medialab.sonera.fi&gt;. Andreas Jaeger says
10805    this also corrects a permissions problem reported by
10806    cat@zip.net.au</li>
10807
10808    <li>modify initial-erase logic to ensure that
10809    <code>ttyModes</code> resource overrides it.</li>
10810  </ul>
10811
10812  <h1><a name="xterm_95" id="xterm_95">Patch #95 - 1999/4/5 -
10813  XFree86 3.9Ph</a></h1>
10814
10815  <ul>
10816    <li>modify primary DA response to allow a '1' parameter.</li>
10817
10818    <li>add printer and national replacement character sets to
10819    VT220 primary DA response.</li>
10820
10821    <li>document primary and secondary DA responses in
10822    ctlseqs.ms</li>
10823
10824    <li>use the patch number (e.g., 95) in the secondary DA
10825    response, providing user applications a means of determining
10826    the version of xterm for feature comparison (request by Bram
10827    Moolenaar).</li>
10828
10829    <li>make xterm respond to secondary DA when the decTerminalID
10830    is set for VT100.</li>
10831
10832    <li>limit user-defined keys (DECUDK) to VT220-style keyboard
10833    when sunKeyBoard resource is true.</li>
10834
10835    <li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
10836    Glibc-2.1 and no Unix98 PTY support (patch from Andreas Jaeger
10837    &lt;aj@arthur.rhein-neckar.de&gt;)</li>
10838
10839    <li>add optional feature (resource and command-line options) to
10840    make xterm use the PTY's sense of erase character on startup,
10841    rather than requiring it to be \177, or set the PTY's erase
10842    character to match xterm's configuration. Note that while
10843    $TERMCAP is modified to reflect the actual configuration, the
10844    terminfo kdch1 string is not (request by Dirk H Hohndel
10845    &lt;hohndel@suse.de&gt;)</li>
10846
10847    <li>improve scripts in vttests to work with newer shells that
10848    do not use 'echo -n'.</li>
10849
10850    <li>add fonts.sh example script</li>
10851
10852    <li>correct inequality in handling of "#1" font
10853    specification.</li>
10854
10855    <li>correct call to XGetWMNormalHints() used for computing
10856    maximum screen size; the size hints may not have been set.</li>
10857
10858    <li>begin implementation of support for wide-characters
10859    (configure option --enable-wide-chars defines OPT_WIDE_CHARS,
10860    invoke xterm with -wc option to activate this feature). This
10861    patch optionally widens internal data structures, invokes the
10862    16-bit text output rather than the 8-bit version and adds some
10863    tables.</li>
10864  </ul>
10865
10866  <h1><a name="xterm_94" id="xterm_94">Patch #94 - 1999/3/27 -
10867  XFree86 3.9Pf</a></h1>
10868
10869  <ul>
10870    <li>further fixes for terminfo: ka1, ka3, etc., differ between
10871    the default xterm-xfree86 and xterm-vt220 entries.</li>
10872
10873    <li>change default (with sunKeyboard resource false) behavior
10874    of the editing keypad "Delete" to send a 127, like xterm-r6.
10875    The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
10876    sunKeyboard is true (reported by Tomas Vanhala).</li>
10877
10878    <li>add parameters to function keys to indicate if shift,
10879    control or alt are set. The codes are based on a description of
10880    a DEC VT510 with a PC keyboard, from Jeffrey Altman
10881    &lt;jaltman@watsun.cc.columbia.edu&gt;.</li>
10882
10883    <li>add control sequence 1035, set-num-lock action and num-lock
10884    menu entry to control the use of the NumLock and Alt keys for
10885    the Sun/PC and VT220 keyboard extensions.</li>
10886
10887    <li>implement DECSET/DECRST numeric keypad (DECNKM) mode.</li>
10888
10889    <li>modify terminfo and termcap to use recommended "X Window"
10890    or "X11" names rather than "X Windows" (reported by Tomas
10891    Vanhala).</li>
10892
10893    <li>suppress translation of shifted keypad "+" when sunKeyboard
10894    is true.</li>
10895
10896    <li>workaround unexpected behavior (perhaps bug) in
10897    XmbLookupString, which returns trash in the string buffer for
10898    numlock and control-key combined with keypad-keys.</li>
10899
10900    <li>modify ScrollBarReverseVideo() to keep scrollbar border
10901    visible when reverse video is toggled.</li>
10902
10903    <li>correct missing case for parameter 17 (set highlight color)
10904    in dynamic colors control sequences.</li>
10905
10906    <li>extend dynamic colors control sequences to allow users to
10907    determine the colors and font which are currently active.</li>
10908
10909    <li>minor tweak to OSC responses, to use BEL if the application
10910    used that to end the request, rather than ST. This works better
10911    with shell scripts, which may not handle an
10912    <code>&lt;ESC&gt;backslash</code> very well.</li>
10913
10914    <li>separate menu settings for reverse video from that done
10915    under program control.</li>
10916
10917    <li>corrected ifdef's for menus, which did not allow tek4014 to
10918    be suppressed properly (reported by Clint Olsen).</li>
10919
10920    <li>changes for Linux-2.2.x with GLibc-2.1 and /dev/ptmx
10921    support (integrated patch from Pavel Roskin):
10922
10923      <ul>
10924        <li>main.c and resize.c were using different rules to
10925        determine whether ATT should be defined (actually
10926        USE_USG_PTYS is more apt).</li>
10927
10928        <li>copy definitions from main.c to resize.c to prevent
10929        sys/stream.h and sys/ptem.h from inclusion when SYSV is not
10930        defined</li>
10931
10932        <li>define CNUL if not already defined like other
10933        variables.</li>
10934
10935        <li>/dev/tty does exist in Linux, but it doesn't mean, it
10936        should be used. Therefore EACCES is now an acceptable
10937        result.</li>
10938
10939        <li>ifdef'd several calls such as <code>ioctl (ptyfd,
10940        I_PUSH, "ptem")</code> to build on Linux (I_PUSH is not
10941        defined when sys/stropts.h is not included).</li>
10942      </ul>
10943    </li>
10944
10945    <li>initialize second "ltc" variable in main.c (reported by
10946    David Dawes).</li>
10947
10948    <li>provide definition for USE_USG_PTYS in screen.c</li>
10949
10950    <li>add resource-files to install rule in standalone
10951    Makefile.in</li>
10952
10953    <li>add sample scripts to illustrate titlebar controls,
10954    resizing and colors.</li>
10955  </ul>
10956
10957  <h1><a name="xterm_93" id="xterm_93">Patch #93 - 1999/3/14 -
10958  XFree86 3.9Pd</a></h1>
10959
10960  <p>Here are several fixes and minor enhancements. The chief ones
10961  are the fixes for NumLock mode and reverse video, since we had
10962  become used to working around the problems.</p>
10963
10964  <ul>
10965    <li>remove kfnd/kll/kslt strings from terminfo, because curses
10966    applications do not necessarily return khome/kend pairs
10967    (reported by Vikas Agnihotri).</li>
10968
10969    <li>implement NumLock resource which overrides the keyboard
10970    tables for the special case of keypad keys. This is a problem
10971    introduced in xterm by X11R6 changes, i.e., an ambiguity which
10972    in effect discarded vt100 keypad support.</li>
10973
10974    <li>modify Sun/PC keyboard mode to extend this (emulation of
10975    DEC vt100 keypad) to the remainder of the numeric keypad. Now,
10976    the default operating mode of xterm uses the keyboard tables
10977    as-is (except if the NumLock mode overrides), but provides good
10978    vt100 keypad compatibility if the Sun/PC keyboard menu item is
10979    checked.</li>
10980
10981    <li>separate command-line settings for reverse video from that
10982    done under program control. This is a problem which was
10983    introduced by X11R6. Though <em>correct</em>, most users are
10984    confused by allowing the reset command to undo the effect of
10985    the command-line <kbd>-rv</kbd> option.</li>
10986
10987    <li>add description of function keys, keypad and cursor keys to
10988    ctlseqs.ms</li>
10989
10990    <li>add terminfo entries for xterm-vt52, xterm-sun and
10991    xterm-hp</li>
10992
10993    <li>correct typo (missing case value) for DECSET 35,
10994    enable/disable shifted keypad action and a few compiler
10995    warnings (reported by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
10996
10997    <li>correct reporting of color values 8-15 in DECRQSS (reported
10998    by Vikas Agnihotri).</li>
10999
11000    <li>modify parsing of ttyModes resource to recognize "^-" as
11001    "undef" (requested by Tomas Vanhala).</li>
11002
11003    <li>integrate/extend changes to add iconify/maximize actions
11004    (from Edward S. Arthur &lt;eda@ultranet.com&gt;).</li>
11005
11006    <li>add control sequences for maximizing/restoring window, and
11007    for reporting maximum screen size.</li>
11008
11009    <li>add 'interpret' action, to support local function-key
11010    interpretation. Used properly, this makes most of the
11011    specialized actions of xterm redundant.</li>
11012
11013    <li>add control sequence private modes 1051, 1052 and 1052, for
11014    setting the Sun and HP function key modes, and for setting the
11015    Sun/PC keyboard mode.</li>
11016
11017    <li>add configure option --disable-maximize</li>
11018
11019    <li>add configure option --disable-num-lcok</li>
11020
11021    <li>extend descriptions of configure script options in
11022    INSTALL.</li>
11023  </ul>
11024
11025  <h1><a name="xterm_92" id="xterm_92">Patch #92 - 1999/2/5 -
11026  XFree86 3.9Nz</a></h1>
11027
11028  <ul>
11029    <li>increase buffer size for tgetent (i.e., termcap) to 1500.
11030    This fixes a problem where <em>screen</em> is built using
11031    ncurses or GNU termcap and <em>xterm</em> is built using the
11032    standard termcap interface. The former does not limit the
11033    termcap size, while the latter is assumed to be no longer than
11034    1023 characters. The <em>screen</em> program's termcap entry is
11035    about 1200 characters long.</li>
11036
11037    <li>change update_menu_item() to a function, to simplify
11038    debugging. This also reduces the executable by 4Kb.</li>
11039
11040    <li>add control sequences for DECSET 30, 1010, 1011 like rxvt
11041    (enable or disable some features that were only settable via
11042    resources or command line arguments).</li>
11043
11044    <li>add control sequence for DECSET 35, which enables/disables
11045    the shifted keypad functions.</li>
11046
11047    <li>add support for switching font sizes, by stepping through
11048    the font menu using shifted keypad plus and minus.</li>
11049
11050    <li>correct missing initialization of tekInhibit and tekSmall
11051    resources.</li>
11052
11053    <li>correct ifdef's in charproc.c for XtNgeometry and
11054    XtCGeometry (reported by Bram Moolenaar).</li>
11055  </ul>
11056
11057  <h1><a name="xterm_91" id="xterm_91">Patch #91 - 1999/1/21 -
11058  XFree86 3.9Nw</a></h1>
11059
11060  <ul>
11061    <li>Implement logic to translate input characters which are
11062    mapped when in vt220 National Replacement Character mode
11063    (requested by Tomas Vanhala).</li>
11064
11065    <li>Resync configure scripts with my patches to autoconf
11066    2.13</li>
11067
11068    <li>Change order of -lXmu and -lXext to accommodate cygwin32
11069    (reported by Vikas Agnihotri).</li>
11070
11071    <li>Add "-ti" option to set terminal emulation level from
11072    command line rather than via resource.</li>
11073
11074    <li>Simplify some of the preprocessor logic using #elif.</li>
11075  </ul>
11076
11077  <h1><a name="xterm_90" id="xterm_90">Patch #90 - 1998/12/13 -
11078  XFree86 3.9Nq</a></h1>
11079
11080  <p>This implements several small fixes and enhancements. The
11081  chief one implements fallback support for line drawing characters
11082  with fonts that do not include those characters. But I
11083  implemented that last.</p>
11084
11085  <ul>
11086    <li>If any of the glyphs in positions 0-31 (used by xterm to
11087    implement the VT100 alternate character set) are zero-sized
11088    (i.e., missing), xterm will reserve a normal space for the
11089    glyph when drawing. I implemented a simple stroke-drawing
11090    function to draw the line-drawing characters and a couple of
11091    the other (simpler) characters such as diamond. (This was
11092    suggested by Vikas Agnihotri).</li>
11093
11094    <li>Modify the computation of doublesize characters to work
11095    around font servers which shift the scaled characters up/down
11096    or do not give the correct width.</li>
11097
11098    <li>Add popup menu item and corresponding resource settings to
11099    disable the font-scaling logic for doublesize characters to
11100    work around (older) font servers which simply do not draw the
11101    fonts scaled to the size that they said they would. I see this
11102    problem on a SunOS system running X11R5; the X11R6 servers seem
11103    well behaved.</li>
11104
11105    <li>Implement new escape sequence, private mode 1049, which
11106    combines the switch to/from alternate screen mode with screen
11107    clearing and cursor save/restore. Unlike the existing escape
11108    sequence, this clears the alternate screen when switching to it
11109    rather than when switching to the normal screen, thus retaining
11110    the alternate screen contents for select/paste operations.
11111
11112      <p>When I implemented the popup menu entry to toggle between
11113      the normal and alternate screens, I considered only pasting
11114      from the normal screen to the alternate; this improvement
11115      allows either direction.</p>
11116    </li>
11117
11118    <li>Changed the termcap and terminfo for xterm-xfree86 and
11119    xterm-8bit to use the new 1049 private mode.</li>
11120
11121    <li>Modify the logic which switches between normal and
11122    alternate screens so that the save/restore cursor operations
11123    apply only to the current screen. That means that applications
11124    which use the terminfo smcur/rmcur or termcap ti/te
11125    capabilities will restore the cursor to the original position
11126    on the normal screen rather than to the most recent place where
11127    a save-cursor operation was performed.
11128
11129      <p>I note that a real VT100 terminal would not behave in this
11130      way, but it is a moot point since the VT100 does not
11131      implement alternate screen, and therefore the save/restore
11132      cursor sequence would not be used in this context. I reviewed
11133      the logic which switches between normal and alternate screens
11134      based on some recent newsgroup postings as well as a proposed
11135      patch in the Debian group which attempts to do this (the
11136      patch has a bug, however, so I did not use it).</p>
11137    </li>
11138
11139    <li>Add popup menu entry for toggling the titeInhibit
11140    resource.</li>
11141
11142    <li>Add new resource answerbackString, which overrides the
11143    default "xterm" returned by xterm when responding to an ENQ
11144    (control/E) character (request by Rajesh Vaidheeswarran
11145    &lt;rv@fore.com&gt;).</li>
11146
11147    <li>Add new resource keyboardDialect for setting the NRC
11148    display character set (request by Tomas Vanhala, who notes that
11149    I should add logic to translate the keyboard as well).</li>
11150
11151    <li>Add new command-line option and corresponding resources for
11152    making xterm generate escape sequences compatible with HP
11153    terminals. Like the existing Sun escape sequences, this is
11154    available as a popup menu item. It is enabled by the configure
11155    script with the option --enable-hp-fkeys (requested by Toni
11156    Mueller &lt;sales@oeko.net&gt;).</li>
11157
11158    <li>Add configure script option --disable-boxchars to disable
11159    the fallback support for line drawing characters.</li>
11160
11161    <li>Fix ifdef's for configure script --disable-ansi-color, and
11162    reviewed all configure options to ensure that all can be
11163    enabled/disabled appropriately.</li>
11164
11165    <li>Update config.guess and config.sub, from Lynx.</li>
11166  </ul>
11167
11168  <h1><a name="xterm_89" id="xterm_89">Patch #89 - 1998/11/20 -
11169  XFree86 3.9Nm</a></h1>
11170
11171  <p>This patch completes the implementation of double-sized
11172  character support for the VT100 emulation, and fixes a few minor
11173  bugs:</p>
11174
11175  <ul>
11176    <li>corrected the cursor position in HideCursor, which did not
11177    multiply the column by two when in doublesize mode. This bug,
11178    which did not appear in normal use, dates back to my original
11179    <a href="#xterm_44">changes</a> to partly implement
11180    double-sized characters. I noticed it when cat'ing a typescript
11181    from vttest's double-sized character test.</li>
11182
11183    <li>ensure that the current line is repainted when switching
11184    between single and double width characters.</li>
11185
11186    <li>reduce the number of bits used for double-sized character
11187    coding from 3 to 2, to make more room for soft-font codes.</li>
11188
11189    <li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
11190    which address details of glibc and powerpc.</li>
11191
11192    <li>moved definition of DECL_ERRNO in xterm.h to match XFree86
11193    3.3.3</li>
11194
11195    <li>modify <em>resize</em> to remove the ifdef on SVr4 that
11196    suppressed printing the script for $LINES and $COLUMNS.
11197    Solaris' resize utility does this; suppressing the behavior is
11198    unnecessary.</li>
11199  </ul>
11200
11201  <p>I tested the double-sized characters using vttest and the
11202  xfsft patch. These fonts worked reasonably well:</p>
11203  <pre>
11204        -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
11205        9x15
11206</pre>
11207
11208  <p>The iso8859 font does not include box characters, of course,
11209  but looks good.</p>
11210
11211  <h1><a name="xterm_88" id="xterm_88">Patch #88 - 1998/10/31 -
11212  XFree86 3.9Nk and 3.3.2h</a></h1>
11213
11214  <p>This refines my #85 patch by checking for a case where the
11215  font server returns a bold font that does not quite correspond to
11216  the normal font. When I asked for a bold version of the 6x12
11217  font, the font server returned a near equivalent where the ascent
11218  and descent values did not match, causing xterm to leave lines
11219  across the display. This patch makes xterm reject that type of
11220  mismatch, falling back to the old font behavior.</p>
11221
11222  <h1><a name="xterm_87" id="xterm_87">Patch #87 - 1998/10/21 -
11223  XFree86 3.9Nj and 3.3.2f</a></h1>
11224
11225  <p>This corrects a problem reported by Stefan Dalibor. My table
11226  entries for the <em>printerExtent</em> and
11227  <em>printerFormFeed</em> resources used the wrong types for
11228  sizeof, causing the printer to not work properly on some
11229  platforms because the <em>printAttributes</em> resource was
11230  overwritten (e.g., Digital Unix with DEC Alpha).</p>
11231
11232  <p>I reviewed all of the resource table entries and fixed a
11233  potential problem with <em>resizeGravity</em>, which was typed as
11234  <em>int</em> rather than <em>XtGravity</em>.</p>
11235
11236  <h1><a name="xterm_86" id="xterm_86">Patch #86 - 1998/10/14 -
11237  XFree86 3.9Nj and 3.3.2e</a></h1>
11238
11239  <p>A small fix: when switching to/from the continuous mouse
11240  reporting mode, the event mask was incorrect if xterm was built
11241  under X11R5 because the original data was saved under an ifdef
11242  for active-icon.</p>
11243
11244  <h1><a name="xterm_85" id="xterm_85">Patch #85 - 1998/10/12 -
11245  XFree86 3.9Nj and 3.3.2e</a></h1>
11246
11247  <p>Some cleanup (I noticed the pixel droppings a few months ago
11248  after getting a new 17" monitor):</p>
11249
11250  <ul>
11251    <li>split-out the functions that load/reload fonts for xterm as
11252    new file fontutils.c to extend them to support automatic
11253    loading of bold font corresponding to the normal font. Adapted
11254    logic from EMU 1.3 for this purpose. This fixes most
11255    occurrences of pixel droppings from bold characters.</li>
11256
11257    <li>modified by renaming variables and adding casts to permit
11258    compile with g++.</li>
11259
11260    <li>modify headers so they can all be compiled without order
11261    dependencies, and use bracketed rather than quoting includes to
11262    allow compile from separate directory.</li>
11263
11264    <li>renamed xtermm terminfo entry to xterm-mono, to avoid
11265    conflict with Solaris entry now in ncurses.</li>
11266  </ul>
11267
11268  <h1><a name="xterm_84" id="xterm_84">Patch #84 - 1998/10/9 -
11269  XFree86 3.9Ni and 3.3.2e</a></h1>
11270
11271  <p>Several small fixes and enhancements, including a patch from
11272  Bjorn Helgaas:</p>
11273
11274  <ul>
11275    <li>correct initialization of TERMCAP environment variable,
11276    which was frequently set to garbage on non-Linux systems
11277    because "termcap" and "newtc" contained random data from the
11278    stack.</li>
11279
11280    <li>remove the LINEWRAPPED attribute from lines as they are
11281    cleared. Previously, the attribute was set but never
11282    cleared.</li>
11283
11284    <li>make word and line selections work even when lines are
11285    wrapped by xterm. Previously, selections were limited to one
11286    screen line.</li>
11287  </ul>
11288
11289  <p>as well as</p>
11290
11291  <ul>
11292    <li>modify logic for line-wrapping to reset the associated flag
11293    if the application deletes a character. This fixes a problem
11294    reported by Bjorn Helgaas where word/line selection would still
11295    wrap even after deleting characters from the first line.</li>
11296
11297    <li>add kll/kH capabilities to xterm-xfree86 entries in termcap
11298    and terminfo (request by Michael Schroeder).</li>
11299
11300    <li>shorten descriptions in termcap to make resolved entries
11301    all shorter than 1023 character limit.</li>
11302
11303    <li>use DECSTR control sequence to shorten initialization and
11304    reset strings in xterm-xfree86 termcap and terminfo.</li>
11305
11306    <li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match
11307    termcap.</li>
11308
11309    <li>correct typos in initialization and reset strings in
11310    xterm-r5 termcap and terminfo.</li>
11311
11312    <li>disable special translations of key symbols (the backarrow
11313    key, the editing keypad and the keypad "+") when a modifier
11314    other than shift, control or numlock is used. This makes xterm
11315    handle the meta key as expected by people using emacs (reported
11316    by Pete Harlan &lt;harlan@pointofchoice.com&gt; in
11317    linux.debian.user newsgroup).</li>
11318  </ul>
11319
11320  <h1><a name="sync_83" id="sync_83">Resync #83 - 1998/10/7 -
11321  XFree86 3.3.2e</a></h1>
11322
11323  <p>Merge changes through patch #83 with the 3.3.2e version.</p>
11324
11325  <p>This follows a change from XFree86 CVS which adds checks for
11326  non-null return from malloc (patch by Matthieu Herrb).</p>
11327
11328  <h1><a name="xterm_83" id="xterm_83">Patch #83 - 1998/8/25 -
11329  XFree86 3.9Nb</a></h1>
11330
11331  <p>Several small fixes and enhancements:</p>
11332
11333  <ul>
11334    <li>add configure test to infer if xterm should be installed
11335    setuid based on previously installed xterm (reported by Stephen
11336    Marley and Stefan Dalibor).</li>
11337
11338    <li>implement quasi-continuous mouse reporting (integrated
11339    patch by Jason Bacon).</li>
11340
11341    <li>correct control sequences transmitted by function keys F1
11342    to F4 when sunFunctionKeys resource is true (it was still using
11343    the VT100 control sequences).</li>
11344
11345    <li>modify handling of backarrow key so that the control
11346    modifier toggles the backspace/delete interpretation set by the
11347    backarrowKey resource.</li>
11348
11349    <li>limit the row and column values used to report mouse
11350    position.</li>
11351  </ul>
11352
11353  <p>From resync with XFree86 3.9Nb:</p>
11354
11355  <ul>
11356    <li>add support for the VSTATUS control character (patch by
11357    Robert Earl &lt;rearl@teleport.com&gt;).</li>
11358  </ul>
11359
11360  <h1><a name="xterm_82" id="xterm_82">Patch #82 - 1998/7/15 -
11361  XFree86 3.9Aj</a></h1>
11362
11363  <p>Bug fix for patch #81:</p>
11364
11365  <ul>
11366    <li>remove an #undef for NBBY, which caused compile problem on
11367    FreeBSD (reported by David Dawes).</li>
11368  </ul>
11369
11370  <h1><a name="xterm_81" id="xterm_81">Patch #81 - 1998/7/14 -
11371  XFree86 3.9Aj</a></h1>
11372
11373  <p>More bug fixes:</p>
11374
11375  <ul>
11376    <li>fix conflicting ifdef's for TIOCSLTC when building with
11377    Linux on AXP aka DEC Alpha (reported by Robin Cutshaw).</li>
11378
11379    <li>correction to patch #79, move assignment for
11380    *utptr-&gt;ut_user = 0; back into non-SVR4 ifdef in main.c,
11381    since this clobbers username on Solaris 2.5.1 (analysis by Will
11382    Day &lt;willday@rom.oit.gatech.edu&gt;).</li>
11383
11384    <li>corrected khome/kend in xterm-8bit terminfo
11385    description.</li>
11386
11387    <li>improve cursor color by making it always the reverse of
11388    fg/bg unless the cursorColor resource is set, i.e., to
11389    something other than the default foreground (reported by Vikas
11390    Agnihotri and Bram Moolenaar).</li>
11391
11392    <li>minor fixes for compiler warnings, including a syntax error
11393    in the AMOEBA ifdef's.</li>
11394  </ul>
11395
11396  <p>From resync with XFree86 3.9Aj:</p>
11397
11398  <ul>
11399    <li>correction to patch #73, supply missing #else for fallback
11400    definitions of size_t, time_t (Robin Cutshaw
11401    &lt;robin@intercore.com&gt;).</li>
11402  </ul>
11403
11404  <h1><a name="xterm_80" id="xterm_80">Patch #80 - 1998/6/29 -
11405  XFree86 3.9Ai</a></h1>
11406
11407  <p>This fixes a couple of items leftover or introduced by patch
11408  79:</p>
11409
11410  <ul>
11411    <li>take out the logic that suppresses editing-keypad in vt100
11412    mode (those keys are too valuable to give up for a fine point
11413    of emulation).</li>
11414
11415    <li>corrected a couple of places in terminfo where I missed
11416    using the vt220-style editing-keypad codes for Find/Select
11417    (mapped to Home/End).</li>
11418
11419    <li>checked termcap file against terminfo, fix several places
11420    where it was inconsistent.</li>
11421  </ul>
11422
11423  <h1><a name="xterm_79" id="xterm_79">Patch #79 - 1998/6/28 -
11424  XFree86 3.9Ai</a></h1>
11425
11426  <p>This patch fixes several small bugs:</p>
11427
11428  <ul>
11429    <li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas
11430    Vanhala).</li>
11431
11432    <li>add new resource 'oldXtermFKeys' which provides backward
11433    compatibility for F1-F4 control sequences with TOG's
11434    xterm.</li>
11435
11436    <li>determine the server's default foreground/background Pixel
11437    values, needed if the -flipPixels X server option is used
11438    (reported by David Dawes).</li>
11439
11440    <li>correct logic for F1-F4 function keys so that they generate
11441    VT100 compatible escape sequences in VT220 mode, since that is
11442    what the numeric keypad is supposed to do (reported by Ron
11443    Johnson, Jr. &lt;ronjohn@communique.net&gt;).</li>
11444
11445    <li>modify logic for editing keypad to work more like VT220:
11446    don't pass those codes in VT100-mode unless oldXtermFKeys mode
11447    is set.</li>
11448
11449    <li>correct an interaction with the editing-keypad logic that
11450    prevented backarrow key from sending a 127 for the delete key
11451    (the 'remove' escape sequence was being sent instead).</li>
11452
11453    <li>use return-value from getuid() rather than the parameter,
11454    to work on systems which do not update the latter (patch by
11455    Kevin Buhr &lt;buhr@mozart.stat.wisc.edu&gt;)</li>
11456
11457    <li>correct scrollbar border color when toggling to/from secure
11458    keyboard mode (patch by Jeff Uphoff
11459    &lt;juphoff@tarsier.cv.nrao.edu&gt;)</li>
11460
11461    <li>modifications to terminfo file:
11462
11463      <ul>
11464        <li>rename description to xterm-xfree86, adding an entry
11465        'xterm' which is derived from xterm-xfree86 to simplify
11466        customization.</li>
11467
11468        <li>change string for kdch1 from \177 to \E[3~, to address
11469        complaints from Debian developers. (This applies to the key
11470        labeled "Delete", and does not affect the backarrow
11471        key).</li>
11472
11473        <li>add user-strings u6, u7, u8, u9 to entries to make them
11474        work with Daniel Weaver's "tack" program.</li>
11475
11476        <li>modify xterm-24, xterm-bold, xterm-boldso entries to
11477        disentangle them from explicit dependency upon
11478        xterm-xfree86.</li>
11479
11480        <li>add generic 'xterm-color' entry.</li>
11481
11482        <li>minor corrections to xterm-xfree86, xterm-8bit,
11483        xterm-r5 and xterm-r6 entries.</li>
11484      </ul>
11485    </li>
11486  </ul>
11487
11488  <h1><a name="xterm_78" id="xterm_78">Patch #78 - 1998/6/3 -
11489  XFree86 3.9Ah and 3.3.2</a></h1>
11490
11491  <p>Again, most of the bulk of this patch is for ANSI conversion.
11492  I used the IRIX compiler's -wlint option to find the remaining
11493  functions that use K&amp;R syntax (since gcc does not do this
11494  properly). Also, I changed the logic in the print code slightly
11495  to close unwanted files before opening a pipe to the printer.
11496  This may help in some configurations where the line printer hangs
11497  until xterm closes the pipe.</p>
11498
11499  <h1><a name="xterm_77" id="xterm_77">Patch #77 - 1998/5/26 -
11500  XFree86 3.9Ah and 3.3.2</a></h1>
11501
11502  <p>Most of the bulk of this patch is to convert the extended C
11503  (K&amp;R functions with prototypes) to ANSI. I verified that on
11504  Linux by comparing object files, to ensure that I did not, for
11505  example, interchange parameters in the function declarations.</p>
11506
11507  <p>The rest of the patch fixes several minor bugs, and adds a few
11508  features:</p>
11509
11510  <ul>
11511    <li>back-out my use of ncurses "captoinfo -f" option
11512    (if/then/else/endif) formatting, since ncurses did not
11513    correctly filter embedded newlines in terminfo capability
11514    strings until _after_ ncurses 4.1, thus corrupting
11515    setf/setb/sgr strings (reported by Darren Hiebert and
11516    others).</li>
11517
11518    <li>document SGR 8, 28 (invisible/visible), add corresponding
11519    capabilities to terminfo description.
11520
11521      <p>I would also add the 'prot protected capability, but the
11522      control sequences for that would not be recognized or
11523      properly ignored by the older xterm programs.</p>
11524    </li>
11525
11526    <li>modify ChangeGroup to not suppress a null-resource, but
11527    treat it as an empty string (recommended by Stefan
11528    Dalibor).</li>
11529
11530    <li>add printerAutoClose resource to control whether printer is
11531    closed when going offline. More than one person reports
11532    problems (on Solaris 2.6 and Digital Unix 4.0) getting the
11533    printer to proceed unless xterm exits; I think that it is a
11534    problem flushing the pipe. Closing it ought to flush it.</li>
11535
11536    <li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N
11537    (but adapt XtStackAlloc/XtStackFree for clarity, as well as
11538    fixing memory leak).</li>
11539
11540    <li>change calls on FillCurBackground to ClearCurBackground, in
11541    effect using XClearArea rather than XFillRectangle when
11542    clearing as a side-effect of scrolling and insertion (patch by
11543    Alexander V Lukyanov)</li>
11544
11545    <li>correct some places where insert/delete did not _move_ the
11546    color attributes, using memmove (patch by Alexander V Lukyanov
11547    &lt;lav@long.yar.ru&gt;)</li>
11548
11549    <li>add ifdef's for __CYGWIN32__, for port to cygnus version
11550    B19.1 (patch by Andrew Sumner
11551    &lt;andrew_sumner@hotmail.com&gt;).</li>
11552
11553    <li>remove #define for hpux that turned on USE_SYSV_ENVVARS,
11554    since this causes some applications (such as 'less') to get
11555    incorrect $LINES and $COLUMNS values (reported by Clint
11556    Olsen).</li>
11557
11558    <li>modify behavior for HP-UX, to set the "reserved" process
11559    group controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does
11560    not produce an error (patch by Ben Yoshino
11561    &lt;ben@wiliki.eng.hawaii.edu&gt;).</li>
11562
11563    <li>correct length of underlining, reducing it by one pixel to
11564    avoid leaving a dot when the application does not clear the
11565    whole screen I noticed this only recently myself (and other
11566    people as well); it depends on the font chosen. A 6x10 font
11567    shows it, but the other fonts from XTerm.ad do not. I also see
11568    a similar problem with the emulation of bold fonts. (patch by
11569    Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).</li>
11570
11571    <li>add include for Xos.h to xterm.h, to ensure proper
11572    definitions (reported by Holger Veit).</li>
11573
11574    <li>update config.guess to recognize Unixware 2.1 and 7 (patch
11575    by Mike Hopkirk &lt;hops@sco.com&gt;).</li>
11576  </ul>
11577
11578  <h1><a name="xterm_76" id="xterm_76">Patch #76 - 1998/5/8 -
11579  XFree86 3.9Ah and 3.3.2</a></h1>
11580
11581  <p>A fix for the print-window function, and some minor
11582  cleanup:</p>
11583
11584  <ul>
11585    <li>modify logic that closes pipe in the print-window function
11586    to not use pclose, which does not work on all systems, since I
11587    did not open the pipe with popen (reported by Stefan
11588    Dalibor).</li>
11589
11590    <li>correct name of $(EXTRA_LOAD_FLAGS) imake variable
11591    (reported by Stefan Dalibor).</li>
11592
11593    <li>guard logic in ChangeGroup() function against null pointer
11594    (reported by Stefan Dalibor).</li>
11595
11596    <li>ensure that menu entry for toggling sunKeyboard resource is
11597    initialized (reported by Branden Robinson
11598    &lt;branden@purdue.edu&gt;).</li>
11599
11600    <li>gcc unused-variable warnings (reported by Bernd Ernesti
11601    &lt;bernd@arresum.inka.de&gt;)</li>
11602
11603    <li>rename global variable 'buffer' to 'VTbuffer'</li>
11604  </ul>
11605
11606  <h1><a name="xterm_75" id="xterm_75">Patch #75 - 1998/5/7 -
11607  XFree86 3.9Ah and 3.3.2</a></h1>
11608
11609  <p>This incorporates fixes from several people, as well as some
11610  improvements that I made based on feedback from users:</p>
11611
11612  <ul>
11613    <li>add option to standalone configure script,
11614    "--with-own-terminfo-dir", which causes xterm to pass a
11615    predefined value of $TERMINFO to the application. Also use this
11616    value in install rule "make install-ti", for the standalone
11617    configure script. (patch &amp; feedback from Tor Lillqvist
11618    &lt;tml@hemuli.tte.vtt.fi&gt;)</li>
11619
11620    <li>change ifdef's for "hpux" to "__hpux" (patch by Tor
11621    Lillqvist). The imake configuration uses the former, but the
11622    latter is predefined by HP's compilers.</li>
11623
11624    <li>define USE_SYSV_ENVVARS for HP-UX, curses does not use
11625    $TERMCAP (patch by Tor Lillqvist).</li>
11626
11627    <li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.
11628    Works both on HP-UX 9 and 10. (patch by Tor Lillqvist).</li>
11629
11630    <li>modify configure script to obtain the $(EXTRA_LOADFLAGS)
11631    value from imake, needed for compiling under DEC OSF/1
11632    (reported by Stefan Dalibor)</li>
11633
11634    <li>modify print-window action so that the printer is closed
11635    after printing a window, unless the printer was already opened
11636    (i.e., by an application running in the window). This makes the
11637    printing complete without having to exit xterm, since not all
11638    systems treat fflush through a pipe very well (reported by
11639    Stefan Dalibor)</li>
11640
11641    <li>modify printing code so that the ^M's are not printed if
11642    the printAttribute resource is set to zero (request by Stefan
11643    Dalibor).</li>
11644
11645    <li>correct typo in xterm.man, for the default value of
11646    printAttribute (reported by Stefan Dalibor).</li>
11647
11648    <li>correct printing code so that the alternate character set
11649    is printed, like other attributes, with escape sequences.</li>
11650
11651    <li>correct termcap description, removing spurious 'm'
11652    character from the 'op' capability (reported by Greg Woods
11653    &lt;woods@weird.com&gt;).</li>
11654
11655    <li>correct trace code so that the initial timestamp is
11656    set.</li>
11657
11658    <li>correct/modify utmp data for the Linux glibc 2
11659    configuration, so that the ut_line member is set before using
11660    it to update wtmp (patch by Bill Nottingham
11661    &lt;wen1@cec.wustl.edu&gt;).</li>
11662  </ul>
11663
11664  <h1><a name="xterm_74" id="xterm_74">Patch #74 - 1998/4/27 -
11665  XFree86 3.9Ag and 3.3.2</a></h1>
11666
11667  <p>This corrects a couple of recent bugs and adds a new
11668  resource:</p>
11669
11670  <ul>
11671    <li>modify definition of TRACE_CHILD so that it does not
11672    conflict with ifdef's for USE_USG_PTYS in main.c (reported by
11673    Vikas Agnihotri &lt;VikasA@att.com&gt; and Stefan
11674    Dalibor).</li>
11675
11676    <li>correct ownership of file (actually pipe) written by the
11677    print controls. When undoing the setuid changes in patch #69, I
11678    overlooked this. Now xterm forks a process which resets setuid
11679    and routes the printer data as the real user.</li>
11680
11681    <li>add a new resource, "printAttributes", which controls
11682    whether color attributes (or any attributes) are sent to the
11683    printer.</li>
11684  </ul>
11685
11686  <h1><a name="xterm_73" id="xterm_73">Patch #73 - 1998/4/25 -
11687  XFree86 3.9Ag and 3.3.2</a></h1>
11688
11689  <p>This patch does the following:</p>
11690
11691  <ul>
11692    <li>implements a print-window facility for xterm. Though useful
11693    in itself, I added it as part of some debugging which I am
11694    doing. (Occasionally during an exposure event xterm fails to
11695    restore the proper colors for highlighted text, and printing
11696    the screen will show the internal states nicely).
11697
11698      <p>The print facility now also displays the color
11699      information. (I will probably make this a resource).</p>
11700    </li>
11701
11702    <li>modified the xterm-16color terminfo description to use the
11703    setaf and setab strings, which is a little more efficient
11704    (requested by Stephen Marley).</li>
11705
11706    <li>reduced some clutter of the ifdef/includes (e.g., stdlib.h,
11707    unistd.h, errno) making the configure script test for these.
11708
11709      <p>I removed the symbols Size_t and Time_t, since they no
11710      longer serve a useful purpose.</p>
11711    </li>
11712
11713    <li>added some debugging traces to show the initial screen
11714    size, and the success/failure of the ioctl calls pass handle
11715    window resizing events to the application (for Clint Olsen).
11716
11717      <p>I also modified the trace code to produce two files since
11718      some of the information is produced by the child process. So
11719      now they are Trace-parent.out and Trace-child.out</p>
11720    </li>
11721
11722    <li>updated configure test for ANSI compiler options to handle
11723    a special case for HP-UX 10.x (reported by Clint Olsen).</li>
11724  </ul>
11725
11726  <h1><a name="xterm_72" id="xterm_72">Patch #72 - 1998/4/17 -
11727  XFree86 3.9Ag and 3.3.2</a></h1>
11728
11729  <p>This is a patch from Chris Siebenmann
11730  &lt;cks@hawkwind.utcs.toronto.edu&gt;, which I have cleaned up a
11731  little, and integrated into the configure script.</p>
11732
11733  <p>From his description:</p>
11734
11735  <blockquote>
11736    <p>This set of patches is the latest incarnation of patches
11737    originally written by Ian! D Allen, then of the University of
11738    Waterloo and now of who knows where; I have been carrying them
11739    forward from xterm to xterm ever since about X11R4. What they
11740    do is add an option so that when an iconified xterm receives
11741    output it prepends '*** ' to its icon title and (optionally)
11742    beeps the bell; deiconifying the xterm removes the '*** '. Over
11743    the years I've found this to be incredibly convenient for
11744    monitoring all sorts of low-activity things.</p>
11745  </blockquote>
11746
11747  <h1><a name="xterm_71" id="xterm_71">Patch #71 - 1998/4/12 -
11748  XFree86 3.9Ag and 3.3.2</a></h1>
11749
11750  <p>This patch is a slightly modified version of one by Richard
11751  Braakman, which prevents buffer overflow in the input-method and
11752  preedit-type parsing in xterm. I changed a couple of details to
11753  make the code more maintainable, and looked for similar things -
11754  copying into a fixed-size buffer (found none, though I did spot
11755  an unused variable).</p>
11756
11757  <h1><a name="xterm_70" id="xterm_70">Patch #70 - 1998/3/29 -
11758  XFree86 3.9Af and 3.3.2</a></h1>
11759
11760  <p>This patch corrects some minor bugs in xterm, and fills in
11761  some more details in the VT220 emulation:</p>
11762
11763  <ul>
11764    <li>modify Imakefile to use SpecialCObjectRule for menu and
11765    data modules, making xterm build properly if logging is enabled
11766    (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).</li>
11767
11768    <li>restore "ich" capability to terminfo entries, since Michael
11769    Schroeder points out that "ich1" is the one which is the
11770    problem in Solaris vi.</li>
11771
11772    <li>correct color of cursor, which would disappear on
11773    inverse-video since the initialization did not compare the
11774    cursor color against both foreground and background (reported
11775    by Olivier Calle).</li>
11776
11777    <li>correct abbreviation-test for -version and -help options,
11778    making command-line option -vb work (reported by Stefan
11779    Dalibor).</li>
11780
11781    <li>correct a dependency between ifdef's for OPT_I18N_SUPPORT
11782    and OPT_INPUT_METHOD (reported by Stefan Dalibor).</li>
11783
11784    <li>split-out character-set translations as new module
11785    charsets.c, to implement VT220 national replacement character
11786    sets (a mode where some of the characters are displayed as
11787    specific European glyphs). This relies on xterm using an ISO
11788    8859-1 font (approach suggested by Kenneth R. Robinette
11789    &lt;zkrr01@mailbox.neosoft.com&gt;).</li>
11790
11791    <li>correct a missing increment, which made SS2 and SS3
11792    controls repeat the shifted character.</li>
11793
11794    <li>add xterm-nrc to terminfo to illustrate the VT220 national
11795    replacement character sets.</li>
11796
11797    <li>reformat terminfo using new ncurses tic option "-f", which
11798    makes if/then/else/endif expressions easier to read.</li>
11799  </ul>
11800
11801  <h1><a name="xterm_69" id="xterm_69">Patch #69 - 1998/3/16 -
11802  XFree86 3.9Ad and 3.3.2</a></h1>
11803
11804  <p>This corrects the problem in xterm with utmp, reported by
11805  Olivier Calle &lt;olivier@tc.fluke.com&gt; as well as some other
11806  people after the XFree86 3.3.2 release.</p>
11807
11808  <p>The error was introduced by my patch #53 in XFree86 3.9r
11809  (October 1997).</p>
11810
11811  <p>The correction removes the reset of setuid/setgid before the
11812  main event loop, and solves the problem which I had worked around
11813  in a different manner: for some reason, the particular waitpid()
11814  call in creat_as() hangs, does not return when the child process
11815  exits. I changed the ifdef's to force the Linux configuration to
11816  use wait() instead. This call appears to work properly on other
11817  platforms such as SunOS and Solaris.</p>
11818
11819  <p>I also added tests in the standalone configure script to check
11820  for the existence of waitpid().</p>
11821
11822  <h1><a name="xterm_68" id="xterm_68">Patch #68 - 1998/3/4 -
11823  XFree86 3.9Ad and 3.3.1z</a></h1>
11824
11825  <p>This corrects another problem with the logic for
11826  highlightColor resource. As reported by David Dawes:</p>
11827
11828  <blockquote>
11829    <p>I've just noticed a problem with with the "inverse" control
11830    sequence (ESC[7m) with the 3.3.2 xterm. What it does is sets
11831    the background black, and the text the usual foreground colour
11832    rather than simply swapping the foreground/background.</p>
11833  </blockquote>
11834
11835  <p>This appears to be because when I added logic to check that
11836  the highlightColor was distinct from foreground and background
11837  colors, I did not add a further check to see that it was not
11838  black (I would make an explicit check for the resource not being
11839  set, but see nothing definite in the headers that would let me
11840  reference an explicitly-undefined Pixel value, though there are
11841  some implications in xpm.h). But this should work.</p>
11842
11843  <h1><a name="xterm_67" id="xterm_67">Patch #67 - 1998/2/23 -
11844  XFree86 3.9Ad and 3.3.1e</a></h1>
11845
11846  <p>This patch does the following:</p>
11847
11848  <ul>
11849    <li>improve test for highlightColor so that xterm does not
11850    attempt to use that unless it is different from the foreground
11851    and background colors (reported by Stefan Dalibor
11852    &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
11853
11854      <p>I could not reproduce this until I noticed that the -rev
11855      option exposed it nicely.</p>
11856    </li>
11857
11858    <li>remove ich and ich1 from xterm and xterm-8bit terminfo
11859    descriptions. SVr4 terminfo documents that you must not combine
11860    these with smir/rmir, but ncurses allows it, opening a hole.
11861    Solaris 2.6 vi does not work properly if it is using a terminfo
11862    description when these are combined, since it was written to
11863    accommodate old terminals that required it (reported by Stephen
11864    Marley).</li>
11865
11866    <li>restore 1-pixel overlap of scrollbar border with left edge
11867    of window (reported by Jim Burmeister
11868    &lt;jimb@metrolink.com&gt;).</li>
11869
11870    <li>add a configure option, --enable-logfile-exec, which allows
11871    the user to specify a pipe for logfile. This defines
11872    ALLOWLOGFILEEXEC.</li>
11873
11874    <li>makes the ALLOWLOGFILEEXEC code compile &amp; run, if
11875    configured.</li>
11876
11877    <li>minor documentation nits.</li>
11878  </ul>
11879
11880  <h1><a name="xterm_66" id="xterm_66">Patch #66 - 1998/2/16 -
11881  XFree86 3.9Ad and 3.3.1d</a></h1>
11882
11883  <p>This fixes the problem reported with failure to build the
11884  <em>resize</em> program (BSDI, OSF/1) due to not having
11885  &lt;termcap.h&gt;, by changing the ifdef to one that would be set
11886  only if the file exists (not currently specified, except by the
11887  standalone configure script). We do not really need to include
11888  &lt;termcap.h&gt; to build, but only for a clean compile, since
11889  it may declare the tgetent() prototype. I also updated the
11890  man-page for <em>resize</em>, since I had recently noticed that
11891  it can be used to resize <em>xterm</em> using the "Sun" control
11892  sequences option.</p>
11893
11894  <h1><a name="xterm_65" id="xterm_65">Patch #65 - 1998/2/14 -
11895  XFree86 3.9Ad and 3.3.1c</a></h1>
11896
11897  <p>This is a small patch to xterm's 8-bit terminal description. I
11898  noticed while testing ncurses that I had specified the wrong
11899  (VT100-style) codes for the F1-F4. Xterm only uses VT220-style
11900  function keys in 8-bit mode.</p>
11901
11902  <h1><a name="xterm_64" id="xterm_64">Patch #64 - 1998/2/8 -
11903  XFree86 3.9Ad</a></h1>
11904
11905  <p>This fixes the following problems with xterm:</p>
11906
11907  <ul>
11908    <li>save/restore the ANSI foreground and background colors with
11909    the other visible attributes in the save-cursor and
11910    restore-cursor operations. This works around a problem with
11911    vim, which apparently assumed that switching between the normal
11912    and alternate screens resets the colors (reported by Jim Battle
11913    &lt;jb@chromatic.com&gt;).
11914
11915      <p>It would be nice to implement save/restore cursor as a
11916      stack (and solve this type of problem completely), but that
11917      would lead to incompatibility with applications which assume
11918      they are running with a VT100 or VT220.</p>
11919    </li>
11920
11921    <li>corrects behavior of a restore-cursor operation which does
11922    not follow a save-cursor (it is supposed to set the character
11923    sets to a known initial state).</li>
11924
11925    <li>extends the sunKeyboard resource (and menu toggle) to
11926    modify the home, end and delete keys on a Sun or PC editing
11927    keypad, making them generate codes compatible with DEC VT220's
11928    Find, Select and Remove keys.</li>
11929
11930    <li>corrects a length in checking command-line options, which
11931    caused the "-help" message to not work when X was not
11932    running.</li>
11933
11934    <li>add some detail to the man-page (requested by Jason Bacon
11935    &lt;acadix@execpc.com&gt;)</li>
11936
11937    <li>modify the standalone configure script to ignore the broken
11938    nsl and socket libraries on IRIX 6.2 (the ones on 5.2 also are
11939    broken, so this change just widens the check for the system
11940    version number).</li>
11941  </ul>
11942
11943  <h1><a name="xterm_63" id="xterm_63">Patch #63 - 1998/2/5 -
11944  XFree86 3.9Ad</a></h1>
11945
11946  <p>This is another patch from Bjorn Helgaas
11947  &lt;helgaas@rsn.hp.com&gt;, which I've reviewed (and learned
11948  some). Following are his notes:</p>
11949
11950  <p>I poked around some more and finally got xterm-62 to build and
11951  run cleanly on HP-UX 10.20. Here are the patches. They look sort
11952  of ugly, so here's a little explanation:</p>
11953
11954  <ul>
11955    <li>aclocal.m4: Removed side effects from the AC_CACHE_VAL
11956    commands in CF_FUNC_TGETENT. Previously, LIBS was set inside
11957    AC_CACHE_VAL, which worked fine the first time configure was
11958    run, but failed if there were cached values.</li>
11959
11960    <li>aclocal.m4: Added temporary setting of LIBS before
11961    AC_TRY_LINK in CF_FUNC_TGETENT. Previously, the last value set
11962    by the AC_TRY_RUN loop was used, so only -lcurses was
11963    checked.</li>
11964
11965    <li>configure.in: Added temporary setting of CPPFLAGS before
11966    AC_CHECK_HEADERS for X11 files. Previously
11967    &lt;X11/DECkeysym.h&gt; and &lt;X11/Xpoll.h&gt; were found only
11968    if they were in the compiler's default include directories,
11969    even if `--x-includes=DIR' had been used or AC_PATH_XTRA had
11970    found them elsewhere.</li>
11971  </ul>
11972
11973  <p>The problem on HP-UX was that we were linking with -lcurses
11974  rather than -ltermcap due to the second bullet above, and
11975  apparently something in HP-UX curses is broken. This seems very
11976  strange, because the only thing used is tgetent, which should
11977  affect any tty/pty configuration, but I lost interest in tracking
11978  down the exact problem.</p>
11979
11980  <h1><a name="xterm_62" id="xterm_62">Patch #62 - 1998/1/23 -
11981  XFree86 3.9Ac</a></h1>
11982
11983  <p>This is a patch mostly by Bjorn Helgaas
11984  &lt;helgaas@dhc.net&gt; (I added the os2main.c change, and a
11985  little of the documentation). From Bjorn's description:</p>
11986
11987  <ul>
11988    <li>If you use the "-hc &lt;color&gt;" option or set the
11989    "highlightColor" resource, text is highlighted by changing only
11990    the background color, rather than using reverse video. I find
11991    this easier to read, especially when selecting multi-colored
11992    text, and it is similar to the way Netscape shows
11993    selections.</li>
11994
11995    <li>Most of the code changes are under "#if
11996    OPT_HIGHLIGHT_COLOR". The principal exception is in screen.c,
11997    where I added a couple calls to resetXtermGC(). This seems like
11998    it could be a bug even without the color highlighting changes
11999    (though I don't pretend to understand all the logic).</li>
12000  </ul>
12001
12002  <h1><a name="xterm_61" id="xterm_61">Patch #61 - 1998/1/17 -
12003  XFree86 3.9Ac</a></h1>
12004
12005  <p>This patch modifies the reset behavior of xterm slightly:</p>
12006
12007  <ul>
12008    <li>change the terminfo entry so that rs1 (one of the strings
12009    used by the 'reset' program) does a hard reset rather than
12010    switching character sets. This is more in accord with other
12011    terminal descriptions.</li>
12012
12013    <li>modifies the treatment of hard reset by the xterm program
12014    to reset the saved lines.</li>
12015
12016    <li>corrects hard reset by also resetting user-defined keys,
12017    i.e., DECUDK.</li>
12018  </ul>
12019
12020  <h1><a name="xterm_60" id="xterm_60">Patch #60 - 1998/1/10 -
12021  XFree86 3.9Ab</a></h1>
12022
12023  <p>This fixes some minor bugs and adds new functionality:</p>
12024
12025  <ul>
12026    <li>add support for blinking text.
12027
12028      <ul>
12029        <li>This does not actually cause the text to flash, but
12030        text with the blink attribute can be displayed in color,
12031        using new resources colorBL and colorBLMode.</li>
12032
12033        <li>If colors are not used, the blinking text will be
12034        displayed as before (just like bold). The main purpose of
12035        this is to make applications work properly when they assume
12036        the emulator supports blinking text.</li>
12037
12038        <li>I did this by moving the per-cell LINEWRAPPED flag to a
12039        per-line flag, to make room for the new BLINK flag. There
12040        were no per-line flags, so this changes a lot of
12041        logic.</li>
12042      </ul>
12043    </li>
12044
12045    <li>corrected missing save-cursor logic in the handling of SGR
12046    1048 (the new control sequence I added in patch #54,
12047    1997/10/17). Reported by Darren Hiebert.</li>
12048
12049    <li>flush the output of the transparent printing after each
12050    line Reported by Tomas Vanhala
12051    &lt;vanhala@ling.helsinki.fi&gt;.</li>
12052
12053    <li>correct the modes that are affected by save/restore cursor
12054    by adding WRAPAROUND and PROTECTED.</li>
12055
12056    <li>corrected placement of one of the XSync calls that I added
12057    in patch #51, 1997/9/15, which had the side-effect of writing
12058    on the window border when the xterm was resizing from 132 to 80
12059    columns.</li>
12060
12061    <li>work around an incompatibility of the XKB definition used
12062    in xterm versus that symbol from IRIX 6.2's imake definitions
12063    (by adjusting the standalone configure script).</li>
12064  </ul>
12065
12066  <h1><a name="xterm_59" id="xterm_59">Patch #59 - 1998/1/5 -
12067  XFree86 3.9Ab</a></h1>
12068
12069  <p>My last patch has an off-by-one error in the comparison for
12070  argc. Douglas Kosovic &lt;douglask@dstc.edu.au&gt; showed me
12071  where (he got a core dump). Also, I think this explains Clint
12072  Olsen's problem, but the symptoms were more subtle (EINVAL for a
12073  system call if the -display option is omitted).</p>
12074
12075  <h1><a name="xterm_58" id="xterm_58">Patch #58 - 1998/1/3 -
12076  XFree86 3.9Ab</a></h1>
12077
12078  <p>This patch does the following:</p>
12079
12080  <ul>
12081    <li>implement logic to permit xterm to work with proportional
12082    fonts.
12083
12084      <ul>
12085        <li>Thomas Wolff &lt;Thomas.Wolff@sietec.de&gt; requested
12086        this (but it isn't exactly what he's asking for - that's a
12087        more involved task).</li>
12088
12089        <li>I chose to do this by rendering the characters on a
12090        fixed pitch, because it would not be useful for existing
12091        applications to display varying numbers of characters on
12092        each line.</li>
12093
12094        <li>Except that this forces the display to be wider, it
12095        works reasonably well. A couple of special cases (reverse +
12096        colorBD, for example) do not display with proper colors,
12097        since the inter-character gaps are painted with the
12098        background.</li>
12099      </ul>
12100    </li>
12101
12102    <li>added a version number to the program (several people have
12103    requested this).</li>
12104
12105    <li>make the -version and -help options interpreted before the
12106    program attempts to open the display.</li>
12107
12108    <li>minor reorganization of the man-page (ordered the options,
12109    resources and translations alphabetically - and eliminated some
12110    duplication).</li>
12111
12112    <li>corrected a misspelled filename in Makefile.in, and added a
12113    lint rule.</li>
12114
12115    <li>updated the configure script to correct behavior when it
12116    cannot find imake, as well as to fix the IRIX+gcc build
12117    (conflict with /usr/include).</li>
12118
12119    <li>regenerated the configure script with a newer patch to
12120    autoconf that fixes a problem with environment space vs the
12121    configure --help message.</li>
12122  </ul>
12123
12124  <h1><a name="xterm_57" id="xterm_57">Patch #57 - 1997/12/26 -
12125  XFree86 3.9Aa</a></h1>
12126
12127  <p>This patch is mostly concerned with the standalone configure
12128  script; a few minor corrections are added:</p>
12129
12130  <ul>
12131    <li>add configure option --disable-tek4014, to allow xterm to
12132    be built without the tek4014 emulation.</li>
12133
12134    <li>add configure option --with-terminal-type, to allow xterm
12135    to be compiled with default $TERM value other than "xterm"
12136    (e.g., "xterm-16color") -- requested by Stephen Marley
12137    &lt;stephen@memex.com&gt;.</li>
12138
12139    <li>fix a typo in the configure --help message -- reported by
12140    Darren Hiebert &lt;darren@hmi.com&gt;.</li>
12141
12142    <li>review diffs between main.c and os2main.c, to make them
12143    more alike. (applies some minor bug-fixes to OS/2's
12144    version).</li>
12145
12146    <li>add missing quotes in memmove/bcopy configure test</li>
12147  </ul>
12148
12149  <h1><a name="xterm_56" id="xterm_56">Patch #56 - 1997/11/28 -
12150  XFree86 3.9x</a></h1>
12151
12152  <p>This patch is based on analysis by Arfst Ludwig
12153  &lt;arfst@luxor.IN-Berlin.DE&gt;, who reported:</p>
12154
12155  <blockquote>
12156    <p>Setting the following resources xterm (all current versions)
12157    receives a segmentation fault on &lt;Btn2Up&gt; after
12158    scrolling:</p>
12159    <pre>
12160          *XTerm*VT100*translations:    #override \
12161              ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
12162              Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
12163              ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
12164              Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
12165</pre>
12166
12167    <p>(The above resources intention is to be able to paste the
12168    latest selection even if the xterm was cleared.)</p>
12169
12170    <p>And here is how it works (and a fix!): The widget given to
12171    the action handler as first argument is not guaranteed to be a
12172    XtermWidget (it can be the ScrollbarWidget). Instead of
12173    accessing the widget's member directly XtDisplay gives the
12174    required pointer in a safe way.</p>
12175  </blockquote>
12176
12177  <p>I noticed that this was not the only instance (by reading the
12178  code, and testing with his example), and extended the solution to
12179  check the widget-class to ensure that it is indeed xterm's widget
12180  class before attempting to use it in the context of
12181  translations.</p>
12182
12183  <h1><a name="xterm_55" id="xterm_55">Patch #55 - 1997/11/25 -
12184  XFree86 3.9x</a></h1>
12185
12186  <p>This fixes the segmentation violation noted by Rogier Wolff
12187  about a month ago. He'd set xterm to 400 (rows) by 150 columns,
12188  which broke because there were limited buffers (200 rows) used
12189  for juggling data when adding or deleting lines and for switching
12190  between alternate and normal screens. I replaced this by an
12191  allocated buffer.</p>
12192
12193  <p>The bug is simple to test if you set titeInhibit false.</p>
12194
12195  <h1><a name="xterm_54" id="xterm_54">Patch #54 - 1997/10/17 -
12196  XFree86 3.9s</a></h1>
12197
12198  <p>This patch does the following:</p>
12199
12200  <ul>
12201    <li>correct a minor placement problem with the right
12202    scrollbar.</li>
12203
12204    <li>implement a new set of control sequences for switching
12205    between the normal and alternate VT100 screens. These work
12206    around the older sequences limitation that required
12207    modification of the runtime $TERMCAP to cooperate with the
12208    titeInhibit resource (that can't work with terminfo). I do this
12209    by moving all of the functionality of the rmcur terminfo
12210    capability into the control sequences.</li>
12211
12212    <li>implement the alternate-screen menu entry</li>
12213  </ul>
12214
12215  <h1><a name="xterm_53" id="xterm_53">Patch #53 - 1997/10/12 -
12216  XFree86 3.9r</a></h1>
12217
12218  <p>This patch adds a fix and implements a new feature (as well as
12219  some minor typos):</p>
12220
12221  <ul>
12222    <li>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a
12223    problem with the wait call with the logging option. It hung
12224    when the logfile was opened as a command-line option. I fixed
12225    this by moving the StartLogging() call down past the place
12226    where I'd reset the setuid mode. So the logfile is opened as
12227    the real user, without having to fork.</li>
12228
12229    <li>improve Rohleder's changes by renaming the command-line
12230    options and reducing the number of ifdef's.</li>
12231
12232    <li>implement right-scrollbars for xterm (patch by Michael
12233    Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt;).</li>
12234  </ul>
12235
12236  <h1><a name="xterm_52" id="xterm_52">Patch #52 - 1997/9/29 -
12237  XFree86 3.9q</a></h1>
12238
12239  <p>This patch addresses bugs and requests reported by</p>
12240
12241  <ul>
12242    <li>Bob Maynard &lt;rmaynard@montana.com&gt;,</li>
12243
12244    <li>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,</li>
12245
12246    <li>JCHANDRA@Inf.COM (JCHANDRA),</li>
12247
12248    <li>Michael Schroeder
12249    &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,</li>
12250
12251    <li>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;</li>
12252  </ul>
12253
12254  <p>Some of the changes are interrelated (it was an unusually busy
12255  week).</p>
12256
12257  <ul>
12258    <li>change the default resource value for colorMode to true,
12259    matching the Xterm.ad file.</li>
12260
12261    <li>correct behavior of 'ech' control, making the default and 0
12262    parameters erase one character rather than to the end of line
12263    (reported by Michael Schroeder).</li>
12264
12265    <li>add resource boldColors, command-line options +pc and -pc
12266    and configure-script option to specify behavior of xterm's
12267    mapping bold colors 0 through 7 to colors 8 through 15.
12268    (request by Pablo Ariel Kohan).</li>
12269
12270    <li>add resource colorAttrMode to specify whether colorULMode
12271    and colorBDMode can override the ANSI colors (report by Clint
12272    Olsen).</li>
12273
12274    <li>correct a conflict between colorULMode/colorBDMode versus
12275    ANSI colors, where exposure events would occasionally pick up
12276    the former (e.g., colorBD) rather than ANSI colors. Testing the
12277    colorAttrMode made this apparent, though it has been in the
12278    code since 3.2A (patch #35 in Jan 1997).</li>
12279
12280    <li>correct two problems with the optional logging support. On
12281    Linux at least, the waitpid call in creat_as hangs when the
12282    logging is toggled from the popup menu. Also, the mktemp
12283    template has the wrong number of X's (since X11R5!). Fixed the
12284    waitpid problem by exploiting the fact that the setuid behavior
12285    is reset before the popup menus are available. (reported by
12286    Jayachandran C.).</li>
12287
12288    <li>add configure script options for building with the Xaw3d
12289    and neXtaw libraries.</li>
12290
12291    <li>correct CF_IMAKE_CFLAGS standalone configure script macro,
12292    so that it will pick up $(ALLDEFINES) rather than
12293    $(STD_DEFINES). This is needed to make scrollbars work on
12294    Linux, since that uses narrow prototypes. (reported by Bob
12295    Maynard).</li>
12296
12297    <li>various minor updates to configure-script macros.</li>
12298  </ul>
12299
12300  <h1><a name="xterm_51" id="xterm_51">Patch #51 - 1997/9/15 -
12301  XFree86 3.9p</a></h1>
12302
12303  <p>Most of this patch is related to the standalone configure
12304  script, though there are fixes/enhancements as well:</p>
12305
12306  <ul>
12307    <li>add a new resource sunKeyboard, with associated
12308    command-line option and menu-toggle that allows using a normal
12309    Sun or PC keyboard to generated the complete DEC-style function
12310    keys and keypad.</li>
12311
12312    <li>correct a reversed foreground/background test in the
12313    control sequence that replies with the current SGR
12314    settings.</li>
12315
12316    <li>correct, by invoking XSync, a display problem that caused
12317    the program to not properly update newly exposed areas when a
12318    font change or 80/132 resize request was not completely
12319    accepted.</li>
12320
12321    <li>restructured autoconf macros (I made a library of all of
12322    the macros across the complicated configure scripts I'm working
12323    on).</li>
12324
12325    <li>use the autoconf config.guess and config.sub scripts to
12326    better identify the host-os.</li>
12327
12328    <li>improve the configure script that uses 'imake' as a
12329    fallback for definitions.</li>
12330
12331    <li>correct several instances of unsigned/signed mixed
12332    expressions.</li>
12333  </ul>
12334
12335  <p>I've tested the configure script on Linux, SunOS 4.1.3,
12336  Solaris 2.5.1, IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but
12337  the last run properly as well).</p>
12338
12339  <h1><a name="xterm_50" id="xterm_50">Patch #50 - 1997/8/22 -
12340  XFree86 3.9m</a></h1>
12341
12342  <p>This is a collection of small fixes, and a couple of minor
12343  enhancements:</p>
12344
12345  <ul>
12346    <li>plug a security hole in the implementation of Media Copy
12347    (print) by invoking setuid just before the main loop.</li>
12348
12349    <li>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX,
12350    which allows the program to process SIGWINCH events (this is a
12351    bug in X11R6.3)</li>
12352
12353    <li>add state-table entries for VT52 emulation to enter/exit
12354    keypad application mode.</li>
12355
12356    <li>disable the popup-menu entry for 8-bit controls when the
12357    terminal-id is less than 200 (e.g., VT52 or VT100).</li>
12358
12359    <li>ensure that the popup-menu entry for 8-bit controls is
12360    updated when the application enables/disables this mode,
12361    including the response to a full-reset.</li>
12362
12363    <li>implement VT300 DECBKM feature: set interpretation of the
12364    backarrow key to either backspace or delete. The initial
12365    setting is via resource; it can also be modified in the main
12366    popup menu.</li>
12367
12368    <li>implement VTxxx KAM (ISO AM), which allows a keyboard to be
12369    locked (i.e., the terminal discards input).</li>
12370
12371    <li>implement VTxxx SRM, which is used to control local echoing
12372    of input on the terminal.</li>
12373
12374    <li>add terminfo and termcap entries for xterm-8bit, a
12375    variation of the xterm description that uses 8-bit control
12376    characters.</li>
12377
12378    <li>add fallback definitions for Imakefile to allow it to work
12379    on some X11R5 systems that have no SpecialCObjectRule or
12380    ProgramTargetName macros.</li>
12381
12382    <li>add .c.o and .c.i rules to standalone Makefile.in</li>
12383
12384    <li>correct order of -lXmu and -lXext in standalone configure
12385    script.</li>
12386
12387    <li>add configure script options to allow selective disabling
12388    of active-icon, input-method and i18n code (mainly for users
12389    with X11R5 or an incomplete X11R6 configuration).</li>
12390
12391    <li>change menu-indices from #define's to enum values, thereby
12392    making it work better with the ifdef's for logging and
12393    active-icon (the X11R6.3 active-icon code is incorrectly
12394    ifdef'd; this corrects an error introduced by incorporating
12395    that code).</li>
12396
12397    <li>correct minor compile errors in the configuration where
12398    active-icon is not used.</li>
12399
12400    <li>add configure option to suppress echoing of long compiler
12401    commands</li>
12402
12403    <li>correct spelling of decTerminalID in configure script help
12404    message</li>
12405
12406    <li>use gcc __attribute__((unused)) to quiet warnings about
12407    unused parameters when compiling with -W (to make it simpler to
12408    find the real problems).</li>
12409  </ul>
12410
12411  <h1><a name="xterm_49" id="xterm_49">Patch #49 - 1997/8/10 -
12412  XFree86 3.9k</a></h1>
12413
12414  <p>This patch implements the VT100/VT220 Media Copy (i.e.,
12415  print-screen) control sequences.</p>
12416
12417  <h1><a name="xterm_48" id="xterm_48">Patch #48 - 1997/7/26 -
12418  XFree86 3.9j</a></h1>
12419
12420  <p>This patch does the following (all but the first affect only
12421  the standalone configure script):</p>
12422
12423  <ul>
12424    <li>minor correction to positioning of underlines for small
12425    (e.g., 5x8) font size.
12426
12427      <p>The existing behavior allowed underlines to be drawn
12428      outside the character-cell, so they weren't cleared properly
12429      under some circumstances.</p>
12430    </li>
12431
12432    <li>adds more special-case tokens to the standalone configure
12433    script's imake-option filter (e.g., "&amp;&amp;", since a "make
12434    -n main.o" on my IRIX system uses that shell construct).</li>
12435
12436    <li>adds a '--enable-logging' option for the standalone
12437    configure script.</li>
12438
12439    <li>adds check and ifdef's for the standalone configure script
12440    to allow for building on platforms with X11R6, which lacks
12441    Xpoll.h (introduced in X11R6.1).</li>
12442  </ul>
12443
12444  <h1><a name="xterm_47" id="xterm_47">Patch #47 - 1997/7/13 -
12445  XFree86 3.9i</a></h1>
12446
12447  <p>This patch does the following</p>
12448
12449  <ul>
12450    <li>corrects an indexing error in the doublesize character
12451    logic (button.c) that caused core dump (this was reported by J.
12452    Wunsch).</li>
12453
12454    <li>corrects the logic of ShowCursor when it is painting in a
12455    doublesize cell (charproc.c).</li>
12456
12457    <li>corrects, according to vttest, the behavior when switching
12458    to doublesize characters and back again (doublechr.c).</li>
12459
12460    <li>adds cbt (back_tab) to the terminfo description (this was
12461    something that I'd overlooked as applicable to curses
12462    optimization last summer).</li>
12463
12464    <li>corrects, for the standalone xmc test, the logic for
12465    disabling xmc.</li>
12466  </ul>
12467
12468  <h1><a name="xterm_46" id="xterm_46">Patch #46 - 1997/7/4 -
12469  XFree86 3.9h</a></h1>
12470
12471  <p>This is a patch to provide test-support for some work I'm
12472  doing on ncurses. It does not modify the normal configuration of
12473  xterm; the code is compiled if the standalone configure option
12474  "--enable-xmc-glitch" is specified.</p>
12475
12476  <h1><a name="xterm_45" id="xterm_45">Patch #45 - 1997/7/2 -
12477  XFree86 3.9h</a></h1>
12478
12479  <p>This fixes the problem reported with xterm's cursor color
12480  versus the background (the second chunk in this patch) and also
12481  removes some duplicate initialization of the cursor GC's. If the
12482  cursor color at startup is the same as the background, then xterm
12483  will use the reverse GC, ignoring the setting of the colorMode
12484  resource.</p>
12485
12486  <h1><a name="xterm_44" id="xterm_44">Patch #44 - 1997/6/22 -
12487  XFree86 3.9g</a></h1>
12488
12489  <p>This implements the first part of the VT100 doublesize
12490  characters for xterm, as well as fixing a handful of bugs:</p>
12491
12492  <ul>
12493    <li>the doublesize character support uses the normal font
12494    (using scaled fonts will be another patch) with blanks to
12495    simulate doublesize characters. This patch does most of the
12496    global changes that'll be required. I've hidden most of the
12497    details in macros and ifdef's so it's easy to configure out
12498    (part of the patch is a configure option for that
12499    purpose).</li>
12500
12501    <li>corrected limits in DeleteChar() function -- it's always
12502    ignored the size of the left border and scrollbar. I noticed
12503    this when working on the doublesize characters since the glitch
12504    was doubled in size (i.e., it wrapped some garbage around the
12505    right margin).</li>
12506
12507    <li>corrected 'memmove()' logic, for standalone builds (it
12508    referenced a malloc wrapper from my development library).</li>
12509
12510    <li>add a check for HideCursor() to prevent repeated screen
12511    updates (which can cause a spurious cursor glitch to appear,
12512    e.g., during scrolling). I noticed this with the 3.2A version
12513    (but only a few weeks ago, when I started working on this
12514    patch).</li>
12515  </ul>
12516
12517  <h1><a name="xterm_43" id="xterm_43">Patch #43 - 1997/6/10 -
12518  XFree86 3.9d</a></h1>
12519
12520  <p>Here's a fix for two problems:</p>
12521
12522  <ul>
12523    <li>modify handling of tgetent results in xterm and resize
12524    programs to make them tolerant of missing termcap file, or
12525    unknown terminal name. In this scheme, an explicit "-tn" option
12526    will succeed, overriding the fallback list.</li>
12527
12528    <li>a nit in the configure script (log extra information to
12529    help diagnose which case of the test-compile of tgetent was
12530    used).</li>
12531  </ul>
12532
12533  <h1><a name="xterm_42" id="xterm_42">Patch #42 - 1997/6/8 -
12534  XFree86 3.2Xl</a></h1>
12535
12536  <p>Bram Moolenaar reported that the cursor color changed
12537  unexpectedly while scrolling. The cause was that it used the same
12538  GC's as the logic that draws the ANSI colors. The bug only
12539  appears if the cursorColor resource isn't set, and has been
12540  present since the initial implementation early last year. (The
12541  same bug also appears in rxvt ;-). Here's a fix.</p>
12542
12543  <h1><a name="xterm_41" id="xterm_41">Patch #41 - 1997/5/28 -
12544  XFree86 3.2Xl</a></h1>
12545
12546  <p>Some nits found by Darren Hiebert (missing part of
12547  install-rule, incorrect assignment for --enable-color-mode
12548  option).</p>
12549
12550  <h1><a name="xterm_40" id="xterm_40">Patch #40 - 1997/5/26 -
12551  XFree86 3.2Xl</a></h1>
12552
12553  <p>Patch for the configure script's logic for obtaining imake
12554  predefined symbols.</p>
12555
12556  <h1><a name="xterm_39" id="xterm_39">Patch #39 - 1997/5/24 -
12557  XFree86 3.2Xl</a></h1>
12558
12559  <p>This patch does the following:</p>
12560
12561  <ul>
12562    <li>integrate the 16-color change for 'xterm'</li>
12563
12564    <li>minor fixes/clarification of tgetent in terminfo vs termcap
12565    to 'resize'</li>
12566  </ul>
12567
12568  <p>(both changes also modify the configure script)</p>
12569
12570  <h1><a name="xterm_38" id="xterm_38">Patch #38 - 1997/5/22 -
12571  XFree86 3.2Xh</a></h1>
12572
12573  <p>This implements a simple configuration script with autoconf
12574  (to which I'll add more options later). It does the
12575  following:</p>
12576
12577  <ul>
12578    <li>configures xterm to build with X11R5 (at least on SunOS
12579    4.1, Solaris 2.4, possibly IRIX - sorry network was down today,
12580    but I did test an earlier version yesterday).</li>
12581
12582    <li>enables/disables the configuration ifdef's for ANSI color
12583    and VT52 emulation.</li>
12584  </ul>
12585
12586  <p>It does not make tests for the things that imake does (that's
12587  another project), instead it uses a hybrid of the autoconf tests
12588  for libraries and adds imake's compiler options (which are
12589  necessary in some cases to get main.c to compile).</p>
12590
12591  <h1><a name="xterm_37" id="xterm_37">Patch #37 - 1997/5/7 -
12592  XFree86 3.9a</a></h1>
12593
12594  <p>This corrects a minor, but annoying error in the vt220
12595  emulation: the DECUDK is only supposed to be interpreted for
12596  _shifted_ function keys.</p>
12597
12598  <h1><a name="xterm_36" id="xterm_36">Patch #36 - 1997/1/16 -
12599  XFree86 3.2r</a></h1>
12600
12601  <p>This corrects something that I overlooked in patch #27
12602  (21-aug-1996), which is that when trimming the region to be
12603  repainted for the highlightSelection resource of xterm, I still
12604  have to paint the background past the highlighted region. This
12605  only happens when I first do a selection in a window that's
12606  partly off-screen, then move the window on-screen.</p>
12607
12608  <h1><a name="xterm_35" id="xterm_35">Patch #35 - 1997/1/7 -
12609  XFree86 3.2o</a></h1>
12610
12611  <p>This patch does the following:</p>
12612
12613  <ul>
12614    <li>combines the coding for foreground and background colors
12615    into a single byte, reducing the memory required to store
12616    saved-lines in color. (I'll take back that byte in a following
12617    patch to use to ensure the character-set, so there's no
12618    long-term decrease in memory use).</li>
12619
12620    <li>modifies the PF1-PF4 coding in termcap/terminfo. Because
12621    xterm is still by default emulating vt100, the function key
12622    codes are vt100-compatible (I overlooked this in patch #31). I
12623    also reformatted the whole terminfo file into a single-column,
12624    for consistency.</li>
12625
12626    <li>adds an interim xterm-vt220 description to accommodate the
12627    old and new styles of function-keys (though probably it'd be
12628    better to drop the old-style altogether).</li>
12629  </ul>
12630
12631  <h1><a name="xterm_34" id="xterm_34">Patch #34 - 1997/1/5 -
12632  XFree86 3.2o</a></h1>
12633
12634  <p>This patch does the following:</p>
12635
12636  <ul>
12637    <li>implement DECSTR (soft terminal reset). The biggest diff is
12638    due to adding another state table (note that there's only one
12639    useful state here, but it's only 256 bytes rather than 1k as it
12640    would have been before I reduced the size of state
12641    entries).</li>
12642
12643    <li>some minor tidying up (e.g., signed/unsigned use bitcpy,
12644    MODE_DECCKM, resetColor, resetCharsets). More is done in patch
12645    #35.</li>
12646  </ul>
12647
12648  <p>I got the description of DECSTR from a vt420 user's manual.
12649  I'll do some testing with vttest to ensure that there's nothing
12650  else to do than what was documented.</p>
12651
12652  <h1><a name="xterm_33" id="xterm_33">Patch #33 - 1996/11/24 -
12653  XFree86 3.2</a></h1>
12654
12655  <p>This adds to the reset-fix by Matthieu Herrb
12656  &lt;Mathieu.Herrb@mipnet.fr&gt; a small change to make xterm able
12657  to output 8-bit characters in VT100 mode. Applications that run
12658  on real VT100's don't do that anyway, and this feature should be
12659  removed sometime after finishing off the VT220 emulation (VT220's
12660  can do 8-bit characters). That would be a good time to change the
12661  default terminal-id to 220.</p>
12662
12663  <h1><a name="xterm_32" id="xterm_32">Patch #32 - 1996/11/21 -
12664  XFree86 3.2</a></h1>
12665
12666  <p>This implements the REP (repeat) control for xterm. That isn't
12667  part of the DEC VTxxx series, but is defined in ISO 6429. (Note
12668  that the base xterm terminal description is <em>not</em> changed
12669  -- I added a variant, "xterm-rep").</p>
12670
12671  <h1><a name="xterm_31" id="xterm_31">Patch #31 - 1996/11/16 -
12672  XFree86 3.2</a></h1>
12673
12674  <p>This implements vt52 emulation in xterm (ifdef'd so it can be
12675  removed). I've been using it for testing for the past month or
12676  so.</p>
12677
12678  <h1><a name="xterm_30" id="xterm_30">Patch #30 - 1996/11/16 -
12679  XFree86 3.2</a></h1>
12680
12681  <p>From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis
12682  Auroux), missing reset to ground state. I checked through the
12683  rest of <em>that</em> table and found another, in the
12684  unimplemented MC (screen print).</p>
12685
12686  <h1><a name="xterm_29" id="xterm_29">Patch #29 - 1996/9/15 -
12687  XFree86 3.1.2Gb</a></h1>
12688
12689  <p>This patch does the following:</p>
12690
12691  <ul>
12692    <li>corrects the restoration of color for bold/underline color
12693    mode</li>
12694
12695    <li>adds a resource 'decTerminalID' to control the reporting
12696    level of xterm (e.g., VT100, VT220).</li>
12697
12698    <li>uses the new resource to implement/correct the DA1, DA2 and
12699    DECRPTUI reports.</li>
12700
12701    <li>change valid-response code in DECRQSS from 0 to 1 (the
12702    manual says 0, but the VT420 terminal I've been testing on says
12703    1).</li>
12704  </ul>
12705
12706  <p>All of these changes are based on vttest 2.6</p>
12707
12708  <p>(Most of the volume in the patch is to add 2 more state tables
12709  for parsing the 2nd/3rd device-attribute controls).</p>
12710
12711  <h1><a name="xterm_28" id="xterm_28">Patch #28 - 1996/8/31 -
12712  XFree86 3.1.2F</a></h1>
12713
12714  <p>This patch corrects the following reported by Roland Rosenfeld
12715  &lt;roland@spinnaker.rhein.de&gt;:</p>
12716
12717  <ul>
12718    <li>handle SGR 22, 24 and 25 in combination with colorUL and
12719    colorBD resources. Also noted &amp; fixed reset of colored
12720    underline/bold with SGR 0.</li>
12721
12722    <li>a typo in the termcap (missing '['), from 3.1.2Dj (my
12723    error)</li>
12724  </ul>
12725
12726  <p>Roland also complained that he couldn't use box characters
12727  with</p>
12728  <pre>
12729        -adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
12730</pre>
12731
12732  <p>but that's a known xterm limitation (the box characters must
12733  be part of the font, in the first 32 locations).</p>
12734
12735  <h1><a name="xterm_27" id="xterm_27">Patch #27 - 1996/8/21 -
12736  XFree86 3.1.2Ek</a></h1>
12737
12738  <p>This patch fixes one of my long-term gripes: xterm's selection
12739  doesn't clearly show what's being selected (as per David's
12740  request, it's controlled by a resource, which defaults to the
12741  older behavior).</p>
12742
12743  <h1><a name="xterm_26" id="xterm_26">Patch #26 - 1996/8/20 -
12744  XFree86 3.1.2Ei</a></h1>
12745
12746  <p>Here's a patch to fix a problem with xterm's cut/paste and
12747  another to modify the appearance of the highlighting while
12748  selecting. (The changes are independent, so you can see if the
12749  change to screen.c is desirable).</p>
12750
12751  <h1><a name="xterm_25" id="xterm_25">Patch #25 - 1996/8/18 -
12752  XFree86 3.1.2Ei</a></h1>
12753
12754  <p>Here's a correction for two minor bugs that I picked up in
12755  testing, plus some lint (from Solaris 2.5) where NULL was used
12756  incorrectly:</p>
12757
12758  <ul>
12759    <li>make the second alternate font the same as the first
12760    (that's what vt420 and dtterm do)</li>
12761
12762    <li>corrected DECSCL report when DECSCL hasn't been set (i.e.,
12763    don't return a '60').</li>
12764  </ul>
12765
12766  <h1><a name="xterm_24" id="xterm_24">Patch #24 - 1996/8/11 -
12767  XFree86 3.1.2Ee</a></h1>
12768
12769  <p>This patch does several things. In effect, xterm can (I think)
12770  do a reasonably good job of emulating vt220 and vt320 terminals
12771  (as well as it was doing vt100, at any rate ;-).</p>
12772
12773  <p>It does NOT do:</p>
12774
12775  <ul>
12776    <li>soft fonts</li>
12777
12778    <li>rigel or sixel graphics</li>
12779  </ul>
12780
12781  <p>Anyway, I:</p>
12782
12783  <ul>
12784    <li>added ECH, CPL, CNL, SU, SD, CBT, CHT controls</li>
12785
12786    <li>added popup-menu for switching between DEC and Sun function
12787    keys. (corrected alignment err wrt logging entry at that
12788    point).</li>
12789
12790    <li>make xterm recognize both 8-bit and 7-bit controls
12791    (including popup menu for switching modes).</li>
12792
12793    <li>add user-definable function keys (aka DECUDK)</li>
12794
12795    <li>support concealed text</li>
12796
12797    <li>support protected text (both ISO compatible and DEC
12798    compatible - that's not the same thing, btw), with SPA, EPA,
12799    DECSCA, DECSED, DECSEL controls.</li>
12800
12801    <li>implement DECSCL.</li>
12802  </ul>
12803
12804  <p>I'll be continuing to test this patch for a while, but don't
12805  expect to add any new functionality (it passes all of the current
12806  tests I've built in vttest, but I need to make more tests)..</p>
12807
12808  <h1><a name="xterm_23" id="xterm_23">Patch #23 - 1996/7/31 -
12809  XFree86 3.1.2Ec</a></h1>
12810
12811  <p>This removes the blinking cursor I added last week (for
12812  performance reasons). Time-permitting, I'll revisit this after
12813  3.2 is released (there <em>will</em> be more work after XFree86
12814  3.2, I assume).</p>
12815
12816  <h1><a name="xterm_22" id="xterm_22">Patch #22 - 1996/7/26 -
12817  XFree86 3.1.2Ec</a></h1>
12818
12819  <p>I looked more closely at my "double-negative" and realized
12820  that I had been confused by the default color scheme (black on
12821  white) in combination with reverse video. However, I did see that
12822  the original_fg and original_bg data weren't really used - so I
12823  removed that logic.</p>
12824
12825  <p>Also:</p>
12826
12827  <ul>
12828    <li>during initialization, check if ANSI colors are set with
12829    non fg/bg values, disable color mode if not. This makes xterm
12830    tolerant of applications that allocate the whole color
12831    map.</li>
12832
12833    <li>implemented blinking cursor (default is <em>off</em>)</li>
12834  </ul>
12835
12836  <h1><a name="xterm_21" id="xterm_21">Patch #21 - 1996/7/24 -
12837  XFree86 3.1.2Ec</a></h1>
12838
12839  <p>This patch does the following:</p>
12840
12841  <ul>
12842    <li>fixes some minor typography in the control-sequences
12843    documentation (it didn't occur to me til I'd sent the last
12844    patch that I could use ghostview for previewing the troff
12845    output ;-)</li>
12846
12847    <li>adjusts the shell's background color in ReverseVideo so
12848    that flicker in resizing is reduced</li>
12849
12850    <li>adds an ifdef OPT_ISO_COLORS to allow configuring xterm
12851    without the ISO color support (saves a lot of memory)</li>
12852
12853    <li>used that ifdef to isolate/modify logic so that if the user
12854    doesn't have the colorMode enabled, then ISO color support is
12855    disabled (saving memory).
12856
12857      <p>(If anyone needs numbers, I had savedLines set to 2000,
12858      and found a reduction from ~700k to ~400k of allocated
12859      memory, according to Purify).</p>
12860    </li>
12861  </ul>
12862
12863  <h1><a name="xterm_20" id="xterm_20">Patch #20 - 1996/7/24 -
12864  XFree86 3.1.2Ec</a></h1>
12865
12866  <p>This documents the changes in control sequences for window
12867  operations that I added in my previous patch. I'm testing another
12868  patch that allows the user to use less memory if colors aren't
12869  needed.</p>
12870
12871  <h1><a name="xterm_19" id="xterm_19">Patch #19 - 1996/7/21 -
12872  XFree86 3.1.2Ec</a></h1>
12873
12874  <p>This patch does the following:</p>
12875
12876  <ul>
12877    <li>fixes the core dump that I reported on IRIX 5.2 (in main.c)
12878
12879      <p>(it's worth noting that this bug exists in X11R6.1, so I'd
12880      like to assume that someone's already submitted a fix to X
12881      Consortium...)</p>
12882    </li>
12883
12884    <li>change the interpretation of zero rows or columns in a
12885    resize-window request to use the root window's size (looking
12886    more carefully at dtterm, that seems to be what it does).</li>
12887
12888    <li>change some memmove calls to memcpy for slightly better
12889    performance. also, a couple of memset calls to bzero, since
12890    Quantify says bzero runs 20% faster, I assume because there's
12891    one less argument.</li>
12892
12893    <li>interpret character sets 1 and 2 (so that vttest gives a
12894    reasonable result) Both rxvt and dtterm do something
12895    equivalent.</li>
12896
12897    <li>fix a minor memory leak in the logic that retrieves the
12898    window or icon names (Purify found this for me while I ran
12899    vttest).</li>
12900  </ul>
12901
12902  <h1><a name="xterm_18" id="xterm_18">Patch #18 - 1996/7/18 -
12903  XFree86 3.1.2Ec</a></h1>
12904
12905  <p>This implements the following:</p>
12906
12907  <ul>
12908    <li>escape sequences that act like the CDE dtterm's window
12909    operations (though I have implemented the default width and
12910    height -- I've seen a rather buggy dtterm running that seems to
12911    treat width=0 or height=0 literally -- maybe that's a feature,
12912    not a bug?)</li>
12913
12914    <li>minor tweak to the screen-repainting when resizing (I still
12915    cannot entirely get rid of flicker).</li>
12916
12917    <li>still more fixes to terminfo &amp; termcap (I corrected my
12918    error for the hpa code and added some other stuff by comparing
12919    to ncurses' description and rxvt's).</li>
12920
12921    <li>a tweak to the changes by Michael Rohleder for the color
12922    translation</li>
12923
12924    <li>re-order attribute codes to allow later implementation of
12925    protected fields (dtterm supposedly does this; it's probably
12926    more useful than blinking or invisible text -- that uses up all
12927    of the available bits without changing the attribute scheme
12928    radically).</li>
12929  </ul>
12930
12931  <h1><a name="xterm_17" id="xterm_17">Patch #17 - 1996/7/2 -
12932  XFree86 3.1.2Eb</a></h1>
12933
12934  <p>This patch implements for xterm several minor features from
12935  ISO 6429 which are useful for terminfo applications. The HPA and
12936  VPA control sequences allow cursor movement along a row or
12937  column, cutting down a little on the characters transmitted. The
12938  other codes allow resetting specific graphic rendition attributes
12939  without modifying the other attributes. (now if someone just had
12940  time to implement blinking cursors...)</p>
12941
12942  <h1><a name="xterm_16" id="xterm_16">Patch #16 - 1996/6/25 -
12943  XFree86 3.1.2Ea</a></h1>
12944
12945  <p>Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks
12946  ago that I'd missed some of the background coloring in xterm. I
12947  investigated, and found that while I'd picked up on the
12948  clear-to-bottom and clear-to-end-of-line operations, I'd
12949  overlooked the insert/delete lines. Just so I wouldn't overlook
12950  any more of these, I updated a copy of vttest to test ISO colors
12951  and bce (background color erase). This patch introduces a new
12952  function, ClearCurBackground, whose calls replace the direct
12953  XClearArea calls that I'd overlooked. (There's also a few
12954  compiler warnings fixed, etc ;-)</p>
12955
12956  <h1><a name="xterm_15" id="xterm_15">Patch #15 - 1996/5/29 -
12957  XFree86 3.1.2E</a></h1>
12958
12959  <p>This fixes the problem reported by David Dawes, by making the
12960  50msec select timeout for the Xaw3d arrow scrollbar a resource.
12961  (I made it a boolean for a variety of reasons -- to make it a
12962  number, you'd need an additional resource, to avoid breaking the
12963  logic).</p>
12964
12965  <h1><a name="xterm_14" id="xterm_14">Patch #14 - 1996/5/12 -
12966  XFree86 3.1.2Dj</a></h1>
12967
12968  <p>This patch brings the termcap and terminfo descriptions for
12969  xterm up to date. I made the following changes:</p>
12970
12971  <ul>
12972    <li>reformatted the terminfo description in a single-column
12973    (this is ok for terminfo, and will simplify future patches --
12974    can't do that for termcap, since it would impact buffer
12975    requirements on some systems).</li>
12976
12977    <li>omitted obsolete features in termcap to save a little space
12978    (bs, pt)</li>
12979
12980    <li>added color capabilities to termcap (ut, Co, NC, op, AB,
12981    AF)</li>
12982
12983    <li>corrected some capabilities (vi, ve)</li>
12984
12985    <li>added 'st' (set tab)</li>
12986
12987    <li>reduced function keys in termcap for 'xterm' to 12 because
12988    color capabilities makes that description larger than 1023
12989    characters.</li>
12990
12991    <li>created new termcap name 'xtermm' (monochrome) to match the
12992    terminfo list, and make that description have 20 function
12993    keys.</li>
12994
12995    <li>added corresponding color capabilities to terminfo (bce,
12996    colors, pairs, op, ncv, setab, setaf)</li>
12997
12998    <li>corrected corresponding capabilities in terminfo (civis,
12999    cnorm, rmcup, smcup)</li>
13000
13001    <li>added capabilities (el1, hts)</li>
13002
13003    <li>in both, corrected home/end keys to match the code
13004    correction made by Thomas Mueller in 3.1.2Bk
13005
13006      <p>=&gt; (I'm still considering modifying the code &amp;
13007      description to match the rxvt program).</p>
13008    </li>
13009  </ul>
13010
13011  <h1><a name="xterm_13" id="xterm_13">Patch #13 - 1996/4/23 -
13012  XFree86 3.1.2Df</a></h1>
13013
13014  <p>This corrects my earlier changes for colors - the inner border
13015  of the xterm was getting painted with the wrong color, since I'd
13016  moved the call to set the background into the logic that tracks
13017  SGR information.</p>
13018
13019  <h1><a name="xterm_12" id="xterm_12">Patch #12 - 1996/3/16 -
13020  XFree86 3.1.2Dc</a></h1>
13021
13022  <p>This corrects a memory leak in xterm that happens whenever one
13023  switches fonts.</p>
13024
13025  <h1><a name="xterm_11" id="xterm_11">Patch #11 - 1996/3/5 -
13026  XFree86 3.1.2Db</a></h1>
13027
13028  <p>This patch corrects the behavior of the ANSI colors in xterm
13029  when reverse video is used, as well as some other lesser
13030  sins:</p>
13031
13032  <ul>
13033    <li>button.c
13034
13035      <ul>
13036        <li>(compiler warnings: shadowing of 'time', redundant
13037        cast)</li>
13038      </ul>
13039    </li>
13040
13041    <li>charproc.c
13042
13043      <ul>
13044        <li>renamed screen.colors[] array to screen.Acolors[] to
13045        more easily distinguish the non-ANSI colors from the ANSI
13046        colors.</li>
13047
13048        <li>moved logic of SGR_Save() into VTInitialize, getting
13049        rid of local private variables original_fg and
13050        original_bg.</li>
13051
13052        <li>moved some logic into getXtermForeground and
13053        getXtermBackground from SGR_Foreground, SGR_Background,
13054        etc.</li>
13055
13056        <li>corrected misleading 'row' to 'col' in case for CUF,
13057        CUB sequences.</li>
13058      </ul>
13059    </li>
13060
13061    <li>ctlseqs.ms</li>
13062
13063    <li>xterm.man
13064
13065      <ul>
13066        <li>(correct a misconception which I'd added that the
13067        color0 through color6 resource values apply to non-ANSI
13068        colors)</li>
13069      </ul>
13070    </li>
13071
13072    <li>ptyx.h
13073
13074      <ul>
13075        <li>added original_fg, original_bg to TScreen
13076        structure.</li>
13077      </ul>
13078    </li>
13079
13080    <li>scrollbar.c
13081
13082      <ul>
13083        <li>(compiler warnings: redundant cast)</li>
13084      </ul>
13085    </li>
13086
13087    <li>util.c
13088
13089      <ul>
13090        <li>new functions getXtermForeground and getXtermBackground
13091        replace the macros GET_FG and GET_BG, with the added
13092        functionality of checking for the reverse-video status of
13093        xterm.</li>
13094
13095        <li>in ReverseVideo, swap the SGR foreground and background
13096        colors also.</li>
13097      </ul>
13098    </li>
13099  </ul>
13100
13101  <h1><a name="xterm_10" id="xterm_10">Patch #10 - 1996/2/14 -
13102  XFree86 3.1.2Cd</a></h1>
13103
13104  <p>I observed an occasional glitch in the xterm's color behavior;
13105  a clear to end of line would get a color that had been used in a
13106  program that supposedly reset colors. I traced this down to the
13107  way xterm was modifying colors of GC's on the fly; it didn't
13108  restore the original color of the GC, even though it would later
13109  be used in functions (such as ClearRight) that assumed (my error)
13110  that the GC would have the current foreground or background
13111  color.</p>
13112
13113  <p>I fixed this by resetting the GC's colors with a new function
13114  'resetXtermGC()', and direct calls on
13115  SGR_Foreground/SGR_Background, as appropriate and using a new
13116  function 'updatedXtermGC()' to encapsulate the logic that
13117  modifies the GC's color. (I also removed some commented-out code
13118  that was trying to do this -- the problem was a little more
13119  obscure).</p>
13120
13121  <h1><a name="xterm_09" id="xterm_09">Patch #9 - 1996/2/10 -
13122  XFree86 3.1.2Cb</a></h1>
13123
13124  <p>This patch fixes the remaining problems that I had making
13125  xterm run with x11r5, as well as a couple of other bugs. It
13126  follows my patch from yesterday, that added ifdef's for some of
13127  the input-method resources.</p>
13128
13129  <ul>
13130    <li>corrected ifdef's that suppress the input-method code
13131    (doesn't exist in my x11r5, and xterm works adequately without
13132    it).</li>
13133
13134    <li>corrected fallback definition for 'Select()' macro (oops:
13135    I'd copied the wrong text...)</li>
13136
13137    <li>moved the declarations for the fd_set variables to
13138    data.[ch]</li>
13139
13140    <li>corrected an ifdef in resize.c (sunos 4.x doesn't have
13141    termcap.h)</li>
13142
13143    <li>corrected (in main.c) some unused/orphaned variables.</li>
13144  </ul>
13145
13146  <h1><a name="xterm_08" id="xterm_08">Patch #8 - 1996/2/9 -
13147  XFree86 3.1.2Cb</a></h1>
13148
13149  <p>This is mostly a documentation patch for xterm. It describes
13150  the color control sequences in more detail, and documents some
13151  other features of xterm that aren't described elsewhere.</p>
13152
13153  <p>I've also added a couple of ifdef's to fix (part of) the
13154  problem that I'm working on (making the program work properly on
13155  x11r5, where I'm doing memory testing -- I have a "good" version
13156  from mid-January, but my resync version doesn't work properly on
13157  x11r5). I'm not done with <em>that</em> yet.</p>
13158
13159  <h1><a name="xterm_07" id="xterm_07">Patch #7 - 1996/1/28 -
13160  XFree86 3.1.2n</a></h1>
13161
13162  <p>I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF). I've
13163  got an S3 card.</p>
13164
13165  <p>This fixes the following in the 3.1.2n xterm:</p>
13166
13167  <ul>
13168    <li>initialize cur_foreground, cur_background in charproc.c
13169    (Purify told me they weren't initialized).</li>
13170
13171    <li>add interpretation of codes 39, 49, to reset background and
13172    foreground to default value (I'm told that ISO 6429 does this;
13173    but I don't have a written reference -- yet -- can anyone help
13174    here?). Anyway, rxvt does it, and it'll solve my remaining
13175    color management problems.</li>
13176
13177    <li>shadowing of 'time' in menu.c</li>
13178
13179    <li>'Cardinal' vs 'int' in scrollbar.c</li>
13180
13181    <li>several changes to permit compile with X11R5 (the system
13182    that I've got Purify on won't be upgraded to X11R6 for a long
13183    time).</li>
13184  </ul>
13185
13186  <p>I built this version (with a minor nit that I'll patch soon)
13187  on SunOS 4.1.3 so that I can test it some more with Purify.</p>
13188
13189  <p><em>btw</em>: the changes made in Xpoll.h won't work on some
13190  older systems, because fd_set isn't a defined type (I've got one
13191  machine at least that this applies to).</p>
13192
13193  <h1><a name="xterm_06" id="xterm_06">Patch #6 - 1996/1/8</a></h1>
13194
13195  <p>This patch does all of the SGR foreground/background fixes
13196  (i.e., clearing the screen after an SGR color is set causes that
13197  color to be used in the foreground and/or background). If the
13198  FG_COLOR and/or BG_COLOR flags aren't set, then the xterm
13199  foreground and background default to the window's values. This
13200  usage is consistent with various types of hardware (especially
13201  the IBM PC), and is also used in rxvt.</p>
13202
13203  <ul>
13204    <li>charproc.c:
13205
13206      <ul>
13207        <li>add/use new macros GET_FG, GET_BG - n/c.</li>
13208
13209        <li>add/use new functions SGR_Foreground() and
13210        SGR_Background() to set corresponding colors in GC's, and
13211        to retain sense of "original" colors.
13212
13213          <p>=&gt; This makes redundant some of the corresponding
13214          logic in HideCursor to set the foreground and background,
13215          but I left it in since it <em>may</em> be fixing an
13216          unrelated requirement.</p>
13217        </li>
13218
13219        <li>set GC's in LoadNewFont() according to whether the SGR
13220        fg/bg colors are active.
13221
13222          <p>=&gt; This fixes some glitches in the accompanying
13223          resize, that leaves parts of the window in the original
13224          background color.</p>
13225        </li>
13226      </ul>
13227    </li>
13228
13229    <li>screen.c:
13230
13231      <ul>
13232        <li>modified ClearBufRows() to use the SGR fg/bg colors if
13233        they're set.</li>
13234
13235        <li>added function ScrnClearLines(), used this to replace
13236        portions of ScrnInsertLine() and ScrnDeleteLine(). The new
13237        function uses the SGR fg/bg colors if they're set.
13238
13239          <p>=&gt; Otherwise, selection after an index or reverse
13240          index will paint the wrong colors.</p>
13241        </li>
13242
13243        <li>modified ScrnDeleteChar() and ScrnInsertChar() to use
13244        SGR fg/bg colors.</li>
13245      </ul>
13246    </li>
13247
13248    <li>util.c:
13249
13250      <ul>
13251        <li>modified ClearRight() so that if either of the SGR
13252        fg/bg colors is set, we don't bzero the attributes and
13253        color arrays, but instead fill them with the appropriate
13254        codes.</li>
13255
13256        <li>modified ClearLeft to use SGR fg/bg colors.</li>
13257      </ul>
13258    </li>
13259  </ul>
13260
13261  <h1><a name="xterm_05" id="xterm_05">Patch #5 - 1996/1/7</a></h1>
13262
13263  <p>This patch modifies the object code, by replacing indexing
13264  expressions with temporary variables with the full indexing
13265  expression. At first glance, this seems inefficient (it did to me
13266  ;-), until remembering comments made in the compilers newsgroups
13267  that trying to "help" the compiler doesn't really work that well.
13268  A good optimizing compiler can do a better job than the
13269  programmer can. (There's a moral in the use of 'register'
13270  variables also, but I won't fix those...).</p>
13271
13272  <p>Anyway, the revised code generates a smaller object...</p>
13273
13274  <ul>
13275    <li>charproc.c:
13276
13277      <ul>
13278        <li>recode index expressions in ShowCursor() and
13279        HideCursor() using SCRN_BUF_xxxxS macros - changes
13280        object.</li>
13281
13282        <li>replace constant '4' by MAX_PTRS - n/c.</li>
13283      </ul>
13284    </li>
13285
13286    <li>ptyx.h:
13287
13288      <ul>
13289        <li>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
13290        macros, to pick up references to ScrnBuf data directly, and
13291        added MAX_PTRS symbol to pick up those '4' constants strewn
13292        about the code - n/c.</li>
13293      </ul>
13294    </li>
13295
13296    <li>screen.c:
13297
13298      <ul>
13299        <li>recode index expressions in ScreenWrite() using
13300        SCRN_BUF_xxxxS macros - changes object.</li>
13301
13302        <li>replace constant '4' by MAX_PTRS - n/c.</li>
13303
13304        <li>use macros BUF_CHARS, BUF_ATTRS - n/c.</li>
13305
13306        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
13307        - n/c</li>
13308      </ul>
13309    </li>
13310
13311    <li>scrollbar.c:
13312
13313      <ul>
13314        <li>replace constant '4' by MAX_PTRS - n/c.</li>
13315
13316        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
13317        - n/c</li>
13318      </ul>
13319    </li>
13320  </ul>
13321
13322  <h1><a name="xterm_04" id="xterm_04">Patch #4 - 1996/1/7</a></h1>
13323
13324  <p>When setting up for this phase, I saw that you'd corrected the
13325  bug that I found in ClearLeft. I decided to make this series of
13326  patches anyway, since readability never hurt (and there's the
13327  potential for finding another bug while reviewing this set).</p>
13328
13329  <ul>
13330    <li>button.c:
13331
13332      <ul>
13333        <li>use SCRN_BUF_xxxxS macros - n/c</li>
13334      </ul>
13335    </li>
13336
13337    <li>charproc.c:
13338
13339      <ul>
13340        <li>use SCRN_BUF_xxxxS macros - n/c</li>
13341      </ul>
13342    </li>
13343
13344    <li>ptyx.h:
13345
13346      <ul>
13347        <li>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
13348        SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four arrays
13349        that are derived from screen-&gt;buf.</li>
13350      </ul>
13351    </li>
13352
13353    <li>screen.c:
13354
13355      <ul>
13356        <li>use SCRN_BUF_xxxxS macros - n/c</li>
13357      </ul>
13358    </li>
13359
13360    <li>util.c:
13361
13362      <ul>
13363        <li>use SCRN_BUF_xxxxS macros - n/c</li>
13364      </ul>
13365    </li>
13366  </ul>
13367
13368  <h1><a name="xterm_03" id="xterm_03">Patch #3 - 1996/1/7</a></h1>
13369
13370  <p>This is my third (and final cleanup) patch for xterm. It gets
13371  rid of the unused stuff, and converts several functions to static
13372  (thereby reducing their scope).</p>
13373
13374  <p>At this point, the only compile warnings I've got (on Linux)
13375  are those about the select arguments (int vs fd_set type), and a
13376  missing declaration for waitpid. Those both are hard to get right
13377  without autoconfigure.</p>
13378
13379  <p>The next patches will address the functional changes...</p>
13380
13381  <ul>
13382    <li>Tekproc.c:
13383
13384      <ul>
13385        <li>changed several functions to 'static' that aren't used
13386        outside this module -- changes object</li>
13387      </ul>
13388    </li>
13389
13390    <li>charproc.c:
13391
13392      <ul>
13393        <li>changed several functions to 'static' that aren't used
13394        outside this module -- changes object</li>
13395
13396        <li>deleted unused function unparsefputs -- changes
13397        object.</li>
13398      </ul>
13399    </li>
13400
13401    <li>main.c:
13402
13403      <ul>
13404        <li>changed several functions to 'static' that aren't used
13405        outside this module -- changes object</li>
13406
13407        <li>ifdef'd out unused function 'consolepr()' -- changes
13408        object</li>
13409
13410        <li>removed unused variable 'dummy_tio' -- changes
13411        object</li>
13412
13413        <li>moved variable 'discipline' to quiet unused-warning --
13414        changes object</li>
13415      </ul>
13416    </li>
13417
13418    <li>main.h:
13419
13420      <ul>
13421        <li>deleted unused definition of DEFBORDERWIDTH - n/c</li>
13422      </ul>
13423    </li>
13424
13425    <li>misc.c:
13426
13427      <ul>
13428        <li>changed several functions to 'static' that aren't used
13429        outside this module -- changes object</li>
13430
13431        <li>provide dummy return statements for xerror and xioerror
13432        to quiet compiler warnings -- changes object</li>
13433      </ul>
13434    </li>
13435
13436    <li>ptyx.h:
13437
13438      <ul>
13439        <li>change sbuf_address and abuf_address to 'Char *' -
13440        n/c</li>
13441      </ul>
13442    </li>
13443
13444    <li>resize.c:
13445
13446      <ul>
13447        <li>changed several functions to 'static' that aren't used
13448        outside this module -- changes object</li>
13449      </ul>
13450    </li>
13451
13452    <li>screen.c:
13453
13454      <ul>
13455        <li>remove unnecessary 'Char **' casts - n/c</li>
13456      </ul>
13457    </li>
13458
13459    <li>util.c:
13460
13461      <ul>
13462        <li>changed several functions to 'static' that aren't used
13463        outside this module -- changes object</li>
13464      </ul>
13465    </li>
13466  </ul>
13467
13468  <h1><a name="xterm_02" id="xterm_02">Patch #2 - 1996/1/7</a></h1>
13469
13470  <p>This is my second patch to xterm. It corrects most of the gcc
13471  warnings (except for some that are due to X header files ;-). I
13472  compared objects to keep track of the changes that don't affect
13473  the object code (n/c) versus those that do.</p>
13474
13475  <p>At this point, I'm compiling (fairly) clean with gcc
13476  options</p>
13477  <pre>
13478        -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
13479</pre>
13480
13481  <p>(I also compiled with -Wshadow, but while that found some
13482  things that I wanted to find, there's far too many warnings from
13483  the X headers to be usable in this context).</p>
13484
13485  <p>The changes:</p>
13486
13487  <ul>
13488    <li>Tekproc.c:
13489
13490      <ul>
13491        <li>parenthesized expression to avoid gcc warning --
13492        n/c.</li>
13493
13494        <li>corrected nested-extern declaration for Bool
13495        waiting_for_initial_map; ourTopLevelShellArgs, and
13496        number_ourTopLevelShellArgs - n/c</li>
13497      </ul>
13498    </li>
13499
13500    <li>charproc.c:
13501
13502      <ul>
13503        <li>corrected potentially-unintialized variables 'scstype',
13504        'xim', and 'input_style' -- changes object.</li>
13505
13506        <li>adjusted logic of VTparse so that gcc won't warn about
13507        setjmp clobbering parsestate -- changes object.</li>
13508
13509        <li>corrected initialization of 'scstype', which could have
13510        been clobbered by setjmp/longjmp - changes object.</li>
13511
13512        <li>corrected nested-extern declaration of 'term',
13513        'ProgramName' - n/c</li>
13514      </ul>
13515    </li>
13516
13517    <li>cursor.c:
13518
13519      <ul>
13520        <li>corrected nested-extern declaration of 'term' --
13521        n/c</li>
13522
13523        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
13524        - n/c</li>
13525      </ul>
13526    </li>
13527
13528    <li>input.c:
13529
13530      <ul>
13531        <li>change interface of StringInput to assume size_t (i.e.,
13532        unsigned) nbytes -- changes object.</li>
13533
13534        <li>change interface of funcvalue, and sunfuncvalue to use
13535        'KeySym' type instead of 'int' - changes object.</li>
13536      </ul>
13537    </li>
13538
13539    <li>main.c:
13540
13541      <ul>
13542        <li>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h
13543        - n/c</li>
13544
13545        <li>corrected missing params of 'do_hangup()' -- changes
13546        object (note: the missing params were not used).</li>
13547
13548        <li>corrected missing param of 'Error()' -- changes
13549        object</li>
13550
13551        <li>corrected nested-extern 'environ' - n/c</li>
13552
13553        <li>adjusted assignments to 'tty_got_hung' and 'no_dev_tty'
13554        so that gcc can see they won't be clobbered by the longjmp
13555        - changes object.</li>
13556
13557        <li>use Size_t type - n/c.</li>
13558      </ul>
13559    </li>
13560
13561    <li>menu.c:
13562
13563      <ul>
13564        <li>removed redundant prototype for 'do_hangup()' --
13565        n/c.</li>
13566
13567        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
13568        - n/c</li>
13569      </ul>
13570    </li>
13571
13572    <li>menu.h:
13573
13574      <ul>
13575        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
13576        - n/c</li>
13577      </ul>
13578    </li>
13579
13580    <li>misc.c:
13581
13582      <ul>
13583        <li>corrected definition of 'HandleFocusChange()' --
13584        changes object</li>
13585
13586        <li>cast parameters in call to 'TekExpose()' -- n/c</li>
13587
13588        <li>corrected nested-extern declarations of 'term',
13589        'toplevel', ProgramName, and 'environ' -- n/c.</li>
13590
13591        <li>use Size_t type - n/c.</li>
13592      </ul>
13593    </li>
13594
13595    <li>proto.h:
13596
13597      <ul>
13598        <li>moved definition of SIGNAL_T (and SIGNAL_RETURN) here
13599        from main.c, resize.c to allow use of this symbol in
13600        prototypes (mostly in xterm.h).</li>
13601
13602        <li>added definition 'Size_t' to use as corrected type for
13603        strncpy, malloc sizes - n/c.</li>
13604      </ul>
13605    </li>
13606
13607    <li>resize.c:
13608
13609      <ul>
13610        <li>moved SIGNAL_T definition to proto.h -- n/c.</li>
13611
13612        <li>use Size_t type - n/c.</li>
13613      </ul>
13614    </li>
13615
13616    <li>screen.c:
13617
13618      <ul>
13619        <li>use Size_t type - n/c.</li>
13620      </ul>
13621    </li>
13622
13623    <li>tabs.c:
13624
13625      <ul>
13626        <li>corrected nested-extern declaration of 'term' --
13627        n/c</li>
13628      </ul>
13629    </li>
13630
13631    <li>util.c:
13632
13633      <ul>
13634        <li>corrected/supplied parameters to 'TekExpose()' --
13635        changes object (note: 'TekExpose()' doesn't use its
13636        parameters).</li>
13637
13638        <li>corrected nested-extern declaration of
13639        'waiting_for_initial_map' -- n/c.</li>
13640
13641        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
13642        - n/c</li>
13643      </ul>
13644    </li>
13645
13646    <li>xterm.h:
13647
13648      <ul>
13649        <li>prototype 'do_hangup()', 'HandleFocusChange()',
13650        'TekExpose()', 'Error()', 'Exit()' - forces changes in
13651        various places.</li>
13652
13653        <li>adjusted prototypes that pass 'Boolean' arguments to
13654        use 'int' (this is the "correct" ANSI approach to extended
13655        compiles; it's worth mentioning that gcc doesn't meet the
13656        ANSI spec here). I used gcc -Wconversion to find these, but
13657        there's a lot of unrelated warnings that are due to setting
13658        NARROWPROTO in the config - n/c.</li>
13659
13660        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
13661        - n/c</li>
13662      </ul>
13663    </li>
13664  </ul>
13665
13666  <h1><a name="xterm_01" id="xterm_01">Patch #1 - 1996/1/6</a></h1>
13667
13668  <p>This is my first cleanup patch for xterm. It addresses all of
13669  the gcc warnings for -Wall, -Wmissing-prototypes and
13670  -Wstrict-prototypes that I can change without modifying the
13671  object code. (I'm compiling this with gcc 2.7.0 for an aout
13672  target, which makes it simple to compare objects. When I do
13673  ELF-only, I've got a tool that compares that sort of thing as
13674  well).</p>
13675
13676  <p>Briefly, this patch adds (and uses) two header files in the
13677  xterm directory:</p>
13678  <pre>
13679        proto.h
13680        xterm.h
13681</pre>
13682
13683  <p>I expect this to be the biggest patch by far. However (barring
13684  a misplaced prototype), it shouldn't break anything, since the
13685  intent of the patch is to provide missing declarations.</p>
13686</body>
13687</html>
13688