xterm.log.html revision 04b94745
1<!--
2 *****************************************************************************
3 * this file is part of xterm                                                *
4 *                                                                           *
5 * Copyright 1997-2023,2024 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.2618 2024/05/22 22:50:14 tom Exp $
34  -->
35<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
36<html>
37<head>
38  <meta name="generator" content=
39  "HTML Tidy for HTML5 for Linux version 5.6.0">
40  <title>XTERM - Change Log</title>
41  <link rel="author" href="mailto:dickey@invisible-island.net">
42  <meta http-equiv="Content-Type" content=
43  "text/html; charset=us-ascii">
44  <meta name="keywords" content="xterm, change log">
45  <meta name="description" content=
46  "This is the xterm change-log, distributed with xterm, with items listed by patch-number and date">
47  <link rel="SHORTCUT ICON" href="/img/icons/xterm.ico" type=
48  "image/x-icon">
49</head>
50<body>
51  <hr>
52
53  <p>Copyright &copy; 1997-2023,2024 by <a href=
54  "mailto:dickey@invisible-island.net">Thomas E. Dickey</a></p>
55
56  <hr>
57
58  <h1>Contents</h1>
59
60  <p><a href=
61  "https://invisible-island.net/xterm/xterm.log.html">Here</a> is
62  the latest version of this file.</p>
63
64  <p>It began as a list of the changes that I made for xterm, using
65  the notes that I added when submitting a patch. You should note
66  that other changes were made as well, by other people, to fix
67  bugs and correct ifdef's for portability. Until mid-2006, most of
68  these were summarized in the XFree86 <a href=
69  "https://web.archive.org/web/20070101220948/http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/CHANGELOG">
70  CHANGELOG</a>).</p>
71
72  <ul>
73    <li><a href="#xterm_392">Patch #392 - 2024/05/22</a></li>
74
75    <li><a href="#xterm_391">Patch #391 - 2024/05/12</a></li>
76
77    <li><a href="#xterm_390">Patch #390 - 2024/02/19</a></li>
78
79    <li><a href="#xterm_389">Patch #389 - 2024/01/01</a></li>
80
81    <li><a href="#xterm_388">Patch #388 - 2023/10/22</a></li>
82
83    <li><a href="#xterm_387">Patch #387 - 2023/10/15</a></li>
84
85    <li><a href="#xterm_386">Patch #386 - 2023/10/09</a></li>
86
87    <li><a href="#xterm_385">Patch #385 - 2023/10/01</a></li>
88
89    <li><a href="#xterm_384">Patch #384 - 2023/07/10</a></li>
90
91    <li><a href="#xterm_383">Patch #383 - 2023/06/27</a></li>
92
93    <li><a href="#xterm_382">Patch #382 - 2023/05/30</a></li>
94
95    <li><a href="#xterm_381">Patch #381 - 2023/05/28</a></li>
96
97    <li><a href="#xterm_380">Patch #380 - 2023/05/09</a></li>
98
99    <li><a href="#xterm_379">Patch #379 - 2023/02/15</a></li>
100
101    <li><a href="#xterm_378">Patch #378 - 2023/01/09</a></li>
102
103    <li><a href="#xterm_377">Patch #377 - 2022/11/25</a></li>
104
105    <li><a href="#xterm_376">Patch #376 - 2022/11/16</a></li>
106
107    <li><a href="#xterm_375">Patch #375 - 2022/10/23</a></li>
108
109    <li><a href="#xterm_374">Patch #374 - 2022/10/10</a></li>
110
111    <li><a href="#xterm_373">Patch #373 - 2022/09/25</a></li>
112
113    <li><a href="#xterm_372">Patch #372 - 2022/03/09</a></li>
114
115    <li><a href="#xterm_371">Patch #371 - 2022/02/24</a></li>
116
117    <li><a href="#xterm_370">Patch #370 - 2021/11/13</a></li>
118
119    <li><a href="#xterm_369">Patch #369 - 2021/09/21</a></li>
120
121    <li><a href="#xterm_368">Patch #368 - 2021/06/07</a></li>
122
123    <li><a href="#xterm_367">Patch #367 - 2021/03/26</a></li>
124
125    <li><a href="#xterm_366">Patch #366 - 2021/02/10</a></li>
126
127    <li><a href="#xterm_365">Patch #365 - 2021/02/03</a></li>
128
129    <li><a href="#xterm_364">Patch #364 - 2021/02/02</a></li>
130
131    <li><a href="#xterm_363">Patch #363 - 2020/12/26</a></li>
132
133    <li><a href="#xterm_362">Patch #362 - 2020/11/11</a></li>
134
135    <li><a href="#xterm_361">Patch #361 - 2020/10/14</a></li>
136
137    <li><a href="#xterm_360">Patch #360 - 2020/09/20</a></li>
138
139    <li><a href="#xterm_359">Patch #359 - 2020/08/17</a></li>
140
141    <li><a href="#xterm_358">Patch #358 - 2020/07/12</a></li>
142
143    <li><a href="#xterm_357">Patch #357 - 2020/07/05</a></li>
144
145    <li><a href="#xterm_356">Patch #356 - 2020/05/02</a></li>
146
147    <li><a href="#xterm_355">Patch #355 - 2020/05/01</a></li>
148
149    <li><a href="#xterm_354">Patch #354 - 2020/04/26</a></li>
150
151    <li><a href="#xterm_353">Patch #353 - 2020/02/01</a></li>
152
153    <li><a href="#xterm_352">Patch #352 - 2020/01/16</a></li>
154
155    <li><a href="#xterm_351">Patch #351 - 2019/11/17</a></li>
156
157    <li><a href="#xterm_350">Patch #350 - 2019/11/02</a></li>
158
159    <li><a href="#xterm_349">Patch #349 - 2019/09/22</a></li>
160
161    <li><a href="#xterm_348">Patch #348 - 2019/07/22</a></li>
162
163    <li><a href="#xterm_347">Patch #347 - 2019/06/30</a></li>
164
165    <li><a href="#xterm_346">Patch #346 - 2019/05/27</a></li>
166
167    <li><a href="#xterm_345">Patch #345 - 2019/05/14</a></li>
168
169    <li><a href="#xterm_344">Patch #344 - 2019/02/12</a></li>
170
171    <li><a href="#xterm_343">Patch #343 - 2019/01/13</a></li>
172
173    <li><a href="#xterm_342">Patch #342 - 2019/01/03</a></li>
174
175    <li><a href="#xterm_341">Patch #341 - 2018/12/24</a></li>
176
177    <li><a href="#xterm_340">Patch #340 - 2018/12/16</a></li>
178
179    <li><a href="#xterm_339">Patch #339 - 2018/12/12</a></li>
180
181    <li><a href="#xterm_338">Patch #338 - 2018/12/09</a></li>
182
183    <li><a href="#xterm_337">Patch #337 - 2018/09/21</a></li>
184
185    <li><a href="#xterm_336">Patch #336 - 2018/09/19</a></li>
186
187    <li><a href="#xterm_335">Patch #335 - 2018/08/14</a></li>
188
189    <li><a href="#xterm_334">Patch #334 - 2018/08/12</a></li>
190
191    <li><a href="#xterm_333">Patch #333 - 2018/05/03</a></li>
192
193    <li><a href="#xterm_332">Patch #332 - 2018/04/15</a></li>
194
195    <li><a href="#xterm_331">Patch #331 - 2017/12/30</a></li>
196
197    <li><a href="#xterm_330">Patch #330 - 2017/06/20</a></li>
198
199    <li><a href="#xterm_329">Patch #329 - 2017/06/12</a></li>
200
201    <li><a href="#xterm_328">Patch #328 - 2017/06/01</a></li>
202
203    <li><a href="#xterm_327">Patch #327 - 2016/10/07</a></li>
204
205    <li><a href="#xterm_326">Patch #326 - 2016/09/25</a></li>
206
207    <li><a href="#xterm_325">Patch #325 - 2016/06/05</a></li>
208
209    <li><a href="#xterm_324">Patch #324 - 2016/03/10</a></li>
210
211    <li><a href="#xterm_323">Patch #323 - 2016/03/07</a></li>
212
213    <li><a href="#xterm_322">Patch #322 - 2016/01/02</a></li>
214
215    <li><a href="#xterm_321">Patch #321 - 2015/12/31</a></li>
216
217    <li><a href="#xterm_320">Patch #320 - 2015/08/28</a></li>
218
219    <li><a href="#xterm_319">Patch #319 - 2015/08/19</a></li>
220
221    <li><a href="#xterm_318">Patch #318 - 2015/04/12</a></li>
222
223    <li><a href="#xterm_317">Patch #317 - 2015/03/27</a></li>
224
225    <li><a href="#xterm_316">Patch #316 - 2015/03/07</a></li>
226
227    <li><a href="#xterm_315">Patch #315 - 2015/03/02</a></li>
228
229    <li><a href="#xterm_314">Patch #314 - 2014/12/28</a></li>
230
231    <li><a href="#xterm_313">Patch #313 - 2014/11/28</a></li>
232
233    <li><a href="#xterm_312">Patch #312 - 2014/09/28</a></li>
234
235    <li><a href="#xterm_311">Patch #311 - 2014/09/18</a></li>
236
237    <li><a href="#xterm_310">Patch #310 - 2014/07/25</a></li>
238
239    <li><a href="#xterm_309">Patch #309 - 2014/07/13</a></li>
240
241    <li><a href="#xterm_308">Patch #308 - 2014/06/19</a></li>
242
243    <li><a href="#xterm_307">Patch #307 - 2014/06/17</a></li>
244
245    <li><a href="#xterm_306">Patch #306 - 2014/06/03</a></li>
246
247    <li><a href="#xterm_305">Patch #305 - 2014/06/02</a></li>
248
249    <li><a href="#xterm_304">Patch #304 - 2014/05/03</a></li>
250
251    <li><a href="#xterm_303">Patch #303 - 2014/03/06</a></li>
252
253    <li><a href="#xterm_302">Patch #302 - 2014/03/02</a></li>
254
255    <li><a href="#xterm_301">Patch #301 - 2014/01/19</a></li>
256
257    <li><a href="#xterm_300">Patch #300 - 2013/12/03</a></li>
258
259    <li><a href="#xterm_299">Patch #299 - 2013/12/01</a></li>
260
261    <li><a href="#xterm_298">Patch #298 - 2013/11/27</a></li>
262
263    <li><a href="#xterm_297">Patch #297 - 2013/09/10</a></li>
264
265    <li><a href="#xterm_296">Patch #296 - 2013/07/10</a></li>
266
267    <li><a href="#xterm_295">Patch #295 - 2013/07/06</a></li>
268
269    <li><a href="#xterm_294">Patch #294 - 2013/07/05</a></li>
270
271    <li><a href="#xterm_293">Patch #293 - 2013/05/27</a></li>
272
273    <li><a href="#xterm_292">Patch #292 - 2013/04/25</a></li>
274
275    <li><a href="#xterm_291">Patch #291 - 2013/02/26</a></li>
276
277    <li><a href="#xterm_290">Patch #290 - 2013/02/12</a></li>
278
279    <li><a href="#xterm_289">Patch #289 - 2013/02/08</a></li>
280
281    <li><a href="#xterm_288">Patch #288 - 2013/01/09</a></li>
282
283    <li><a href="#xterm_287">Patch #287 - 2012/11/25</a></li>
284
285    <li><a href="#xterm_286">Patch #286 - 2012/10/29</a></li>
286
287    <li><a href="#xterm_285">Patch #285 - 2012/10/23</a></li>
288
289    <li><a href="#xterm_284">Patch #284 - 2012/10/14</a></li>
290
291    <li><a href="#xterm_283">Patch #283 - 2012/10/09</a></li>
292
293    <li><a href="#xterm_282">Patch #282 - 2012/09/28</a></li>
294
295    <li><a href="#xterm_281">Patch #281 - 2012/06/26</a></li>
296
297    <li><a href="#xterm_280">Patch #280 - 2012/06/24</a></li>
298
299    <li><a href="#xterm_279">Patch #279 - 2012/05/10</a></li>
300
301    <li><a href="#xterm_278">Patch #278 - 2012/01/18</a></li>
302
303    <li><a href="#xterm_277">Patch #277 - 2012/01/07</a></li>
304
305    <li><a href="#xterm_276">Patch #276 - 2011/10/10</a></li>
306
307    <li><a href="#xterm_275">Patch #275 - 2011/09/11</a></li>
308
309    <li><a href="#xterm_274">Patch #274 - 2011/09/05</a></li>
310
311    <li><a href="#xterm_273">Patch #273 - 2011/08/25</a></li>
312
313    <li><a href="#xterm_272">Patch #272 - 2011/08/24</a></li>
314
315    <li><a href="#xterm_271">Patch #271 - 2011/07/14</a></li>
316
317    <li><a href="#xterm_270">Patch #270 - 2011/04/26</a></li>
318
319    <li><a href="#xterm_269">Patch #269 - 2011/02/19</a></li>
320
321    <li><a href="#xterm_268">Patch #268 - 2011/02/10</a></li>
322
323    <li><a href="#xterm_267">Patch #267 - 2010/11/20</a></li>
324
325    <li><a href="#xterm_266">Patch #266 - 2010/10/24</a></li>
326
327    <li><a href="#xterm_265">Patch #265 - 2010/10/22</a></li>
328
329    <li><a href="#xterm_264">Patch #264 - 2010/10/14</a></li>
330
331    <li><a href="#xterm_263">Patch #263 - 2010/10/13</a></li>
332
333    <li><a href="#xterm_262">Patch #262 - 2010/8/30</a></li>
334
335    <li><a href="#xterm_261">Patch #261 - 2010/6/28</a></li>
336
337    <li><a href="#xterm_260">Patch #260 - 2010/6/20</a></li>
338
339    <li><a href="#xterm_259">Patch #259 - 2010/6/5</a></li>
340
341    <li><a href="#xterm_258">Patch #258 - 2010/5/1</a></li>
342
343    <li><a href="#xterm_257">Patch #257 - 2010/4/22</a></li>
344
345    <li><a href="#xterm_256">Patch #256 - 2010/3/6</a></li>
346
347    <li><a href="#xterm_255">Patch #255 - 2010/1/21</a></li>
348
349    <li><a href="#xterm_254">Patch #254 - 2010/1/6</a></li>
350
351    <li><a href="#xterm_253">Patch #253 - 2009/12/10</a></li>
352
353    <li><a href="#xterm_252">Patch #252 - 2009/12/7</a></li>
354
355    <li><a href="#xterm_251">Patch #251 - 2009/11/11</a></li>
356
357    <li><a href="#xterm_250">Patch #250 - 2009/10/13</a></li>
358
359    <li><a href="#xterm_249">Patch #249 - 2009/10/1</a></li>
360
361    <li><a href="#xterm_248">Patch #248 - 2009/9/11</a></li>
362
363    <li><a href="#xterm_247">Patch #247 - 2009/8/30</a></li>
364
365    <li><a href="#xterm_246">Patch #246 - 2009/8/16</a></li>
366
367    <li><a href="#xterm_245">Patch #245 - 2009/8/12</a></li>
368
369    <li><a href="#xterm_244">Patch #244 - 2009/8/9</a></li>
370
371    <li><a href="#xterm_243">Patch #243 - 2009/3/28</a></li>
372
373    <li><a href="#xterm_242">Patch #242 - 2009/2/15</a></li>
374
375    <li><a href="#xterm_241">Patch #241 - 2009/1/26</a></li>
376
377    <li><a href="#xterm_240">Patch #240 - 2009/1/25</a></li>
378
379    <li><a href="#xterm_239">Patch #239 - 2009/1/8</a></li>
380
381    <li><a href="#xterm_238">Patch #238 - 2008/12/30</a></li>
382
383    <li><a href="#xterm_237">Patch #237 - 2008/09/14</a></li>
384
385    <li><a href="#xterm_236">Patch #236 - 2008/07/27</a></li>
386
387    <li><a href="#xterm_235">Patch #235 - 2008/04/20</a></li>
388
389    <li><a href="#xterm_234">Patch #234 - 2008/03/02</a></li>
390
391    <li><a href="#xterm_233">Patch #233 - 2008/02/24</a></li>
392
393    <li><a href="#xterm_232">Patch #232 - 2008/01/30</a></li>
394
395    <li><a href="#xterm_231">Patch #231 - 2008/01/05</a></li>
396
397    <li><a href="#xterm_230">Patch #230 - 2007/12/31</a></li>
398
399    <li><a href="#xterm_229">Patch #229 - 2007/8/12</a></li>
400
401    <li><a href="#xterm_228">Patch #228 - 2007/7/22</a></li>
402
403    <li><a href="#xterm_227">Patch #227 - 2007/6/27</a></li>
404
405    <li><a href="#xterm_226">Patch #226 - 2007/6/17</a></li>
406
407    <li><a href="#xterm_225">Patch #225 - 2007/3/24</a></li>
408
409    <li><a href="#xterm_224">Patch #224 - 2007/2/11</a></li>
410
411    <li><a href="#xterm_223">Patch #223 - 2006/11/30</a></li>
412
413    <li><a href="#xterm_222">Patch #222 - 2006/10/17</a></li>
414
415    <li><a href="#xterm_221">Patch #221 - 2006/10/1</a></li>
416
417    <li><a href="#xterm_220">Patch #220 - 2006/9/10</a></li>
418
419    <li><a href="#xterm_219">Patch #219 - 2006/9/4</a></li>
420
421    <li><a href="#xterm_218">Patch #218 - 2006/8/27</a></li>
422
423    <li><a href="#xterm_217">Patch #217 - 2006/8/20</a></li>
424
425    <li><a href="#xterm_216">Patch #216 - 2006/8/3</a></li>
426
427    <li><a href="#xterm_215">Patch #215 - 2006/6/19 - XFree86
428    4.6.99.2</a></li>
429
430    <li><a href="#xterm_214">Patch #214 - 2006/6/18 - XFree86
431    4.6.99.2</a></li>
432
433    <li><a href="#xterm_213">Patch #213 - 2006/4/30 - XFree86
434    4.5.99.905</a></li>
435
436    <li><a href="#xterm_212">Patch #212 - 2006/4/9 - XFree86
437    4.5.99.904</a></li>
438
439    <li><a href="#xterm_211">Patch #211 - 2006/3/19 - XFree86
440    4.5.99.902</a></li>
441
442    <li><a href="#xterm_210">Patch #210 - 2006/3/12 - XFree86
443    4.5.99.902</a></li>
444
445    <li><a href="#xterm_209">Patch #209 - 2006/2/12 - XFree86
446    4.5.99.22</a></li>
447
448    <li><a href="#xterm_208">Patch #208 - 2006/1/3 - XFree86
449    4.5.99.19</a></li>
450
451    <li><a href="#xterm_207">Patch #207 - 2005/11/13 - XFree86
452    4.5.99.16</a></li>
453
454    <li><a href="#xterm_206">Patch #206 - 2005/11/3 - XFree86
455    4.5.99.15</a></li>
456
457    <li><a href="#xterm_205">Patch #205 - 2005/9/18 - XFree86
458    4.5.99.12</a></li>
459
460    <li><a href="#xterm_204">Patch #204 - 2005/8/4 - XFree86
461    4.5.99.9</a></li>
462
463    <li><a href="#xterm_203">Patch #203 - 2005/7/6 - XFree86
464    4.5.99.7</a></li>
465
466    <li><a href="#xterm_202">Patch #202 - 2005/5/2 - XFree86
467    4.5.99.3</a></li>
468
469    <li><a href="#xterm_201">Patch #201 - 2005/4/21 - XFree86
470    4.5.99.2</a></li>
471
472    <li><a href="#xterm_200">Patch #200 - 2005/2/6 - XFree86
473    4.4.99.23</a></li>
474
475    <li><a href="#xterm_199">Patch #199 - 2005/1/17 - XFree86
476    4.4.99.22</a></li>
477
478    <li><a href="#xterm_198">Patch #198 - 2005/1/13 - XFree86
479    4.4.99.21</a></li>
480
481    <li><a href="#xterm_197">Patch #197 - 2004/11/30 - XFree86
482    4.4.99.19</a></li>
483
484    <li><a href="#xterm_196">Patch #196 - 2004/8/15 - XFree86
485    4.4.99.12</a></li>
486
487    <li><a href="#xterm_195">Patch #195 - 2004/8/8 - XFree86
488    4.4.99.11</a></li>
489
490    <li><a href="#xterm_194">Patch #194 - 2004/7/27 - XFree86
491    4.4.99.11</a></li>
492
493    <li><a href="#xterm_193">Patch #193 - 2004/7/19 - XFree86
494    4.4.99.10</a></li>
495
496    <li><a href="#xterm_192">Patch #192 - 2004/7/12 - XFree86
497    4.4.99.9</a></li>
498
499    <li><a href="#xterm_191">Patch #191 - 2004/6/6 - XFree86
500    4.4.99.7</a></li>
501
502    <li><a href="#xterm_190">Patch #190 - 2004/5/25 - XFree86
503    4.4.99.6</a></li>
504
505    <li><a href="#xterm_189">Patch #189 - 2004/5/16 - XFree86
506    4.4.99.6</a></li>
507
508    <li><a href="#xterm_188">Patch #188 - 2004/5/12 - XFree86
509    4.4.99.6</a></li>
510
511    <li><a href="#xterm_187">Patch #187 - 2004/4/27 - XFree86
512    4.4.99.4</a></li>
513
514    <li><a href="#xterm_186">Patch #186 - 2004/4/18 - XFree86
515    4.4.99.4</a></li>
516
517    <li><a href="#xterm_185">Patch #185 - 2004/3/3 - XFree86
518    4.4</a></li>
519
520    <li><a href="#xterm_184">Patch #184 - 2003/12/31 - XFree86
521    4.3.99.903</a></li>
522
523    <li><a href="#xterm_183">Patch #183 - 2003/12/26 - XFree86
524    4.3.99.903</a></li>
525
526    <li><a href="#xterm_182">Patch #182 - 2003/12/2 - XFree86
527    4.3.99.901</a></li>
528
529    <li><a href="#xterm_181">Patch #181 - 2003/10/26 - XFree86
530    4.3.99.15</a></li>
531
532    <li><a href="#xterm_180">Patch #180 - 2003/10/12 - XFree86
533    4.3.99.15</a></li>
534
535    <li><a href="#xterm_179">Patch #179 - 2003/5/21 - XFree86
536    4.3.99.5</a></li>
537
538    <li><a href="#xterm_178">Patch #178 - 2003/5/18 - XFree86
539    4.3.99.5</a></li>
540
541    <li><a href="#xterm_177">Patch #177 - 2003/3/23 - XFree86
542    4.3.0</a></li>
543
544    <li><a href="#xterm_176">Patch #176 - 2003/3/22 - XFree86
545    4.3.0</a></li>
546
547    <li><a href="#xterm_175">Patch #175 - 2003/3/9 - XFree86
548    4.3.0</a></li>
549
550    <li><a href="#xterm_174">Patch #174 - 2003/2/25 - XFree86
551    4.2.99.903</a></li>
552
553    <li><a href="#xterm_173">Patch #173 - 2003/2/6 - XFree86
554    4.2.99.902</a></li>
555
556    <li><a href="#xterm_172">Patch #172 - 2002/12/27 - XFree86
557    4.2.99.3</a></li>
558
559    <li><a href="#xterm_171">Patch #171 - 2002/12/12 - XFree86
560    4.2.99.3</a></li>
561
562    <li><a href="#xterm_170">Patch #170 - 2002/10/13 - XFree86
563    4.2.1</a></li>
564
565    <li><a href="#xterm_169">Patch #169 - 2002/10/5 - XFree86
566    4.2.1</a></li>
567
568    <li><a href="#xterm_168">Patch #168 - 2002/9/29 - XFree86
569    4.2.1</a></li>
570
571    <li><a href="#xterm_167">Patch #167 - 2002/8/24 - XFree86
572    4.2.0</a></li>
573
574    <li><a href="#xterm_166">Patch #166 - 2002/3/25 - XFree86
575    4.2.0</a></li>
576
577    <li><a href="#xterm_165">Patch #165 - 2002/1/5 - XFree86
578    4.1.0</a></li>
579
580    <li><a href="#xterm_164">Patch #164 - 2001/11/13 - XFree86
581    4.1.0</a></li>
582
583    <li><a href="#xterm_163">Patch #163 - 2001/11/04 - XFree86
584    4.1.0</a></li>
585
586    <li><a href="#xterm_162">Patch #162 - 2001/10/23 - XFree86
587    4.1.0</a></li>
588
589    <li><a href="#xterm_161">Patch #161 - 2001/10/10 - XFree86
590    4.1.0</a></li>
591
592    <li><a href="#xterm_160">Patch #160 - 2001/10/7 - XFree86
593    4.1.0</a></li>
594
595    <li><a href="#xterm_159">Patch #159 - 2001/9/19 - XFree86
596    4.1.0</a></li>
597
598    <li><a href="#xterm_158">Patch #158 - 2001/9/8 - XFree86
599    4.1.0</a></li>
600
601    <li><a href="#xterm_157">Patch #157 - 2001/6/18 - XFree86
602    4.1.0</a></li>
603
604    <li><a href="#xterm_156">Patch #156 - 2001/4/28 - XFree86
605    4.0.3</a></li>
606
607    <li><a href="#xterm_155">Patch #155 - 2001/4/20 - XFree86
608    4.0.3</a></li>
609
610    <li><a href="#xterm_154">Patch #154 - 2001/4/11 - XFree86
611    4.0.3</a></li>
612
613    <li><a href="#xterm_153">Patch #153 - 2001/3/29 - XFree86
614    4.0.3</a></li>
615
616    <li><a href="#xterm_152">Patch #152 - 2001/3/13 - XFree86
617    4.0.2</a></li>
618
619    <li><a href="#xterm_151">Patch #151 - 2001/3/10 - XFree86
620    4.0.2</a></li>
621
622    <li><a href="#xterm_150">Patch #150 - 2000/12/29 - XFree86
623    4.0.2</a></li>
624
625    <li><a href="#xterm_149">Patch #149 - 2000/12/6 - XFree86
626    4.0.1h</a></li>
627
628    <li><a href="#xterm_148">Patch #148 - 2000/10/31 - XFree86
629    4.0.1d</a></li>
630
631    <li><a href="#xterm_147">Patch #147 - 2000/10/26 - XFree86
632    4.0.1c</a></li>
633
634    <li><a href="#xterm_146">Patch #146 - 2000/9/12 - XFree86
635    4.0.1c</a></li>
636
637    <li><a href="#xterm_145">Patch #145 - 2000/9/11 - XFree86
638    4.0.1c</a></li>
639
640    <li><a href="#xterm_144">Patch #144 - 2000/8/23 - XFree86
641    4.0.1b</a></li>
642
643    <li><a href="#xterm_143">Patch #143 - 2000/8/19 - XFree86
644    4.0.1b</a></li>
645
646    <li><a href="#xterm_142">Patch #142 - 2000/8/18 - XFree86
647    4.0.1b</a></li>
648
649    <li><a href="#xterm_141">Patch #141 - 2000/8/14 - XFree86
650    4.0.1b</a></li>
651
652    <li><a href="#xterm_140">Patch #140 - 2000/7/23 - XFree86
653    4.0.1</a></li>
654
655    <li><a href="#xterm_139">Patch #139 - 2000/6/17 - XFree86
656    4.0d</a></li>
657
658    <li><a href="#xterm_138">Patch #138 - 2000/6/15 - XFree86
659    4.0c</a></li>
660
661    <li><a href="#xterm_137">Patch #137 - 2000/6/10 - XFree86
662    4.0b</a></li>
663
664    <li><a href="#xterm_136">Patch #136 - 2000/6/3 - XFree86
665    4.0b</a></li>
666
667    <li><a href="#xterm_135">Patch #135 - 2000/5/29 - XFree86
668    4.0b</a></li>
669
670    <li><a href="#xterm_134">Patch #134 - 2000/5/28 - XFree86
671    4.0b</a></li>
672
673    <li><a href="#xterm_133">Patch #133 - 2000/5/2 - XFree86
674    4.0a</a></li>
675
676    <li><a href="#xterm_132">Patch #132 - 2000/4/11 - XFree86
677    4.0a</a></li>
678
679    <li><a href="#xterm_131">Patch #131 - 2000/3/3 - XFree86
680    3.9.18b</a></li>
681
682    <li><a href="#xterm_130">Patch #130 - 2000/3/1 - XFree86
683    3.9.18a</a></li>
684
685    <li><a href="#xterm_129">Patch #129 - 2000/2/26 - XFree86
686    3.9.18a</a></li>
687
688    <li><a href="#xterm_128">Patch #128 - 2000/2/17 - XFree86
689    3.9.18</a></li>
690
691    <li><a href="#xterm_127">Patch #127 - 2000/2/12 - XFree86
692    3.9.17e</a></li>
693
694    <li><a href="#xterm_126">Patch #126 - 2000/2/8 - XFree86
695    3.9.17c</a></li>
696
697    <li><a href="#xterm_125">Patch #125 - 2000/1/31 - XFree86
698    3.9.17c</a></li>
699
700    <li><a href="#xterm_124">Patch #124 - 2000/1/27 - XFree86
701    3.9.17b</a></li>
702
703    <li><a href="#xterm_123">Patch #123 - 2000/1/22 - XFree86
704    3.9.17a</a></li>
705
706    <li><a href="#xterm_122">Patch #122 - 1999/12/28 - XFree86
707    3.9.16f</a></li>
708
709    <li><a href="#xterm_121">Patch #121 - 1999/11/14 - XFree86
710    3.9.16c</a></li>
711
712    <li><a href="#xterm_120">Patch #120 - 1999/10/28 - XFree86
713    3.9.16c</a></li>
714
715    <li><a href="#xterm_119">Patch #119 - 1999/10/16 - XFree86
716    3.9.16c</a></li>
717
718    <li><a href="#xterm_118">Patch #118 - 1999/10/5 - XFree86
719    3.9.16b</a></li>
720
721    <li><a href="#xterm_117">Patch #117 - 1999/9/29 - XFree86
722    3.9.16b</a></li>
723
724    <li><a href="#xterm_116">Patch #116 - 1999/9/25 - XFree86
725    3.9.16a</a></li>
726
727    <li><a href="#xterm_115">Patch #115 - 1999/9/18 - XFree86
728    3.9.16a</a></li>
729
730    <li><a href="#xterm_114">Patch #114 - 1999/9/15 - XFree86
731    3.9.16</a></li>
732
733    <li><a href="#xterm_113">Patch #113 - 1999/8/15 - XFree86
734    3.9.15b</a></li>
735
736    <li><a href="#xterm_112">Patch #112 - 1999/7/17 - XFree86
737    3.9Pw</a></li>
738
739    <li><a href="#xterm_111">Patch #111 - 1999/7/10 - XFree86
740    3.9Pw</a></li>
741
742    <li><a href="#xterm_110">Patch #110 - 1999/6/29 - XFree86
743    3.9Pu</a></li>
744
745    <li><a href="#xterm_109">Patch #109 - 1999/6/23 - XFree86
746    3.9Pt</a></li>
747
748    <li><a href="#xterm_108">Patch #108 - 1999/6/19 - XFree86
749    3.9Ps</a></li>
750
751    <li><a href="#xterm_107">Patch #107 - 1999/6/12 - XFree86
752    3.9Pq</a></li>
753
754    <li><a href="#xterm_106">Patch #106 - 1999/6/9 - XFree86
755    3.9Pq</a></li>
756
757    <li><a href="#xterm_105">Patch #105 - 1999/6/5 - XFree86
758    3.9Pp</a></li>
759
760    <li><a href="#xterm_104">Patch #104 - 1999/5/30 - XFree86
761    3.9Pn</a></li>
762
763    <li><a href="#xterm_103">Patch #103 - 1999/5/14 - XFree86
764    3.9Pm</a></li>
765
766    <li><a href="#xterm_102">Patch #102 - 1999/5/12 - XFree86
767    3.9Pm</a></li>
768
769    <li><a href="#xterm_101">Patch #101 - 1999/5/10 - XFree86
770    3.9Pm</a></li>
771
772    <li><a href="#xterm_100">Patch #100 - 1999/5/3 - XFree86
773    3.9Pl</a></li>
774
775    <li><a href="#xterm_99">Patch #99 - 1999/5/2 - XFree86
776    3.9Pk</a></li>
777
778    <li><a href="#xterm_98">Patch #98 - 1999/4/26 - XFree86
779    3.9Pk</a></li>
780
781    <li><a href="#xterm_97">Patch #97 - 1999/4/25 - XFree86
782    3.9Pk</a></li>
783
784    <li><a href="#xterm_96">Patch #96 - 1999/4/19 - XFree86
785    3.9Pj</a></li>
786
787    <li><a href="#xterm_95">Patch #95 - 1999/4/5 - XFree86
788    3.9Ph</a></li>
789
790    <li><a href="#xterm_94">Patch #94 - 1999/3/27 - XFree86
791    3.9Pf</a></li>
792
793    <li><a href="#xterm_93">Patch #93 - 1999/3/14 - XFree86
794    3.9Pd</a></li>
795
796    <li><a href="#xterm_92">Patch #92 - 1999/2/5 - XFree86
797    3.9Nz</a></li>
798
799    <li><a href="#xterm_91">Patch #91 - 1999/1/21 - XFree86
800    3.9Nw</a></li>
801
802    <li><a href="#xterm_90">Patch #90 - 1998/12/13 - XFree86
803    3.9Nq</a></li>
804
805    <li><a href="#xterm_89">Patch #89 - 1998/11/20 - XFree86
806    3.9Nm</a></li>
807
808    <li><a href="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk
809    and 3.3.2h</a></li>
810
811    <li><a href="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj
812    and 3.3.2f</a></li>
813
814    <li><a href="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj
815    and 3.3.2e</a></li>
816
817    <li><a href="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj
818    and 3.3.2e</a></li>
819
820    <li><a href="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni
821    and 3.3.2e</a></li>
822
823    <li><a href="#sync_83">Resync #83 - 1998/10/7 - XFree86
824    3.3.2e</a></li>
825
826    <li><a href="#xterm_83">Patch #83 - 1998/8/25 - XFree86
827    3.9Nb</a></li>
828
829    <li><a href="#xterm_82">Patch #82 - 1998/7/15 - XFree86
830    3.9Aj</a></li>
831
832    <li><a href="#xterm_81">Patch #81 - 1998/7/14 - XFree86
833    3.9Aj</a></li>
834
835    <li><a href="#xterm_80">Patch #80 - 1998/6/29 - XFree86
836    3.9Ai</a></li>
837
838    <li><a href="#xterm_79">Patch #79 - 1998/6/28 - XFree86
839    3.9Ai</a></li>
840
841    <li><a href="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah
842    and 3.3.2</a></li>
843
844    <li><a href="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah
845    and 3.3.2</a></li>
846
847    <li><a href="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah
848    and 3.3.2</a></li>
849
850    <li><a href="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah
851    and 3.3.2</a></li>
852
853    <li><a href="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag
854    and 3.3.2</a></li>
855
856    <li><a href="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag
857    and 3.3.2</a></li>
858
859    <li><a href="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag
860    and 3.3.2</a></li>
861
862    <li><a href="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag
863    and 3.3.2</a></li>
864
865    <li><a href="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af
866    and 3.3.2</a></li>
867
868    <li><a href="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad
869    and 3.3.2</a></li>
870
871    <li><a href="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad
872    and 3.3.1z</a></li>
873
874    <li><a href="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad
875    and 3.3.1e</a></li>
876
877    <li><a href="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad
878    and 3.3.1d</a></li>
879
880    <li><a href="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad
881    and 3.3.1c</a></li>
882
883    <li><a href="#xterm_64">Patch #64 - 1998/2/8 - XFree86
884    3.9Ad</a></li>
885
886    <li><a href="#xterm_63">Patch #63 - 1998/2/5 - XFree86
887    3.9Ad</a></li>
888
889    <li><a href="#xterm_62">Patch #62 - 1998/1/23 - XFree86
890    3.9Ac</a></li>
891
892    <li><a href="#xterm_61">Patch #61 - 1998/1/17 - XFree86
893    3.9Ac</a></li>
894
895    <li><a href="#xterm_60">Patch #60 - 1998/1/10 - XFree86
896    3.9Ab</a></li>
897
898    <li><a href="#xterm_59">Patch #59 - 1998/1/5 - XFree86
899    3.9Ab</a></li>
900
901    <li><a href="#xterm_58">Patch #58 - 1998/1/3 - XFree86
902    3.9Ab</a></li>
903
904    <li><a href="#xterm_57">Patch #57 - 1997/12/26 - XFree86
905    3.9Aa</a></li>
906
907    <li><a href="#xterm_56">Patch #56 - 1997/11/28 - XFree86
908    3.9x</a></li>
909
910    <li><a href="#xterm_55">Patch #55 - 1997/11/25 - XFree86
911    3.9x</a></li>
912
913    <li><a href="#xterm_54">Patch #54 - 1997/10/17 - XFree86
914    3.9s</a></li>
915
916    <li><a href="#xterm_53">Patch #53 - 1997/10/12 - XFree86
917    3.9r</a></li>
918
919    <li><a href="#xterm_52">Patch #52 - 1997/9/29 - XFree86
920    3.9q</a></li>
921
922    <li><a href="#xterm_51">Patch #51 - 1997/9/15 - XFree86
923    3.9p</a></li>
924
925    <li><a href="#xterm_50">Patch #50 - 1997/8/22 - XFree86
926    3.9m</a></li>
927
928    <li><a href="#xterm_49">Patch #49 - 1997/8/10 - XFree86
929    3.9k</a></li>
930
931    <li><a href="#xterm_48">Patch #48 - 1997/7/26 - XFree86
932    3.9j</a></li>
933
934    <li><a href="#xterm_47">Patch #47 - 1997/7/13 - XFree86
935    3.9i</a></li>
936
937    <li><a href="#xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</a></li>
938
939    <li><a href="#xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</a></li>
940
941    <li><a href="#xterm_44">Patch #44 - 1997/6/22 - XFree86
942    3.9g</a></li>
943
944    <li><a href="#xterm_43">Patch #43 - 1997/6/10 - XFree86
945    3.9d</a></li>
946
947    <li><a href="#xterm_42">Patch #42 - 1997/6/8 - XFree86
948    3.2Xl</a></li>
949
950    <li><a href="#xterm_41">Patch #41 - 1997/5/28 - XFree86
951    3.2Xl</a></li>
952
953    <li><a href="#xterm_40">Patch #40 - 1997/5/26 - XFree86
954    3.2Xl</a></li>
955
956    <li><a href="#xterm_39">Patch #39 - 1997/5/24 - XFree86
957    3.2Xl</a></li>
958
959    <li><a href="#xterm_38">Patch #38 - 1997/5/22 - XFree86
960    3.2Xh</a></li>
961
962    <li><a href="#xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</a></li>
963
964    <li><a href="#xterm_36">Patch #36 - 1997/1/16 - XFree86
965    3.2r</a></li>
966
967    <li><a href="#xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</a></li>
968
969    <li><a href="#xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</a></li>
970
971    <li><a href="#xterm_33">Patch #33 - 1996/11/24 - XFree86
972    3.2</a></li>
973
974    <li><a href="#xterm_32">Patch #32 - 1996/11/21 - XFree86
975    3.2</a></li>
976
977    <li><a href="#xterm_31">Patch #31 - 1996/11/16 - XFree86
978    3.2</a></li>
979
980    <li><a href="#xterm_30">Patch #30 - 1996/11/16 - XFree86
981    3.2</a></li>
982
983    <li><a href="#xterm_29">Patch #29 - 1996/9/15 - XFree86
984    3.1.2Gb</a></li>
985
986    <li><a href="#xterm_28">Patch #28 - 1996/8/31 - XFree86
987    3.1.2F</a></li>
988
989    <li><a href="#xterm_27">Patch #27 - 1996/8/21 - XFree86
990    3.1.2Ek</a></li>
991
992    <li><a href="#xterm_26">Patch #26 - 1996/8/20 - XFree86
993    3.1.2Ei</a></li>
994
995    <li><a href="#xterm_25">Patch #25 - 1996/8/18 - XFree86
996    3.1.2Ei</a></li>
997
998    <li><a href="#xterm_24">Patch #24 - 1996/8/11 - XFree86
999    3.1.2Ee</a></li>
1000
1001    <li><a href="#xterm_23">Patch #23 - 1996/7/31 - XFree86
1002    3.1.2Ec</a></li>
1003
1004    <li><a href="#xterm_22">Patch #22 - 1996/7/26 - XFree86
1005    3.1.2Ec</a></li>
1006
1007    <li><a href="#xterm_21">Patch #21 - 1996/7/24 - XFree86
1008    3.1.2Ec</a></li>
1009
1010    <li><a href="#xterm_20">Patch #20 - 1996/7/24 - XFree86
1011    3.1.2Ec</a></li>
1012
1013    <li><a href="#xterm_19">Patch #19 - 1996/7/21 - XFree86
1014    3.1.2Ec</a></li>
1015
1016    <li><a href="#xterm_18">Patch #18 - 1996/7/18 - XFree86
1017    3.1.2Ec</a></li>
1018
1019    <li><a href="#xterm_17">Patch #17 - 1996/7/2 - XFree86
1020    3.1.2Eb</a></li>
1021
1022    <li><a href="#xterm_16">Patch #16 - 1996/6/25 - XFree86
1023    3.1.2Ea</a></li>
1024
1025    <li><a href="#xterm_15">Patch #15 - 1996/5/29 - XFree86
1026    3.1.2E</a></li>
1027
1028    <li><a href="#xterm_14">Patch #14 - 1996/5/12 - XFree86
1029    3.1.2Dj</a></li>
1030
1031    <li><a href="#xterm_13">Patch #13 - 1996/4/23 - XFree86
1032    3.1.2Df</a></li>
1033
1034    <li><a href="#xterm_12">Patch #12 - 1996/3/16 - XFree86
1035    3.1.2Dc</a></li>
1036
1037    <li><a href="#xterm_11">Patch #11 - 1996/3/5 - XFree86
1038    3.1.2Db</a></li>
1039
1040    <li><a href="#xterm_10">Patch #10 - 1996/2/14 - XFree86
1041    3.1.2Cd</a></li>
1042
1043    <li><a href="#xterm_09">Patch #9 - 1996/2/10 - XFree86
1044    3.1.2Cb</a></li>
1045
1046    <li><a href="#xterm_08">Patch #8 - 1996/2/9 - XFree86
1047    3.1.2Cb</a></li>
1048
1049    <li><a href="#xterm_07">Patch #7 - 1996/1/28 - XFree86
1050    3.1.2n</a></li>
1051
1052    <li><a href="#xterm_06">Patch #6 - 1996/1/8</a></li>
1053
1054    <li><a href="#xterm_05">Patch #5 - 1996/1/7</a></li>
1055
1056    <li><a href="#xterm_04">Patch #4 - 1996/1/7</a></li>
1057
1058    <li><a href="#xterm_03">Patch #3 - 1996/1/7</a></li>
1059
1060    <li><a href="#xterm_02">Patch #2 - 1996/1/7</a></li>
1061
1062    <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
1063  </ul>
1064
1065  <h1><a name="xterm_392" id="xterm_392">Patch #392 -
1066  2024/05/22</a></h1>
1067
1068  <ul>
1069    <li>improve input decoding for non-Latin1 character sets by
1070    preserving the sense of GL/GR.</li>
1071
1072    <li>add resource <tt>preferLatin1</tt> to simplify UPSS
1073    configuration (Gentoo #932154).</li>
1074
1075    <li>build-fix for <tt>--disable-boxchars</tt>; <a href=
1076    "#xterm_390">patch #390</a> reuses that feature's code to draw
1077    the part of the DEC Technical character set which has no
1078    Unicode equivalent.</li>
1079
1080    <li>modify <tt>#include</tt> of <tt>pty.h</tt> to work with
1081    musl (report by Khem Raj).</li>
1082
1083    <li>improve definitions used in <tt>clock_gettime</tt> logic in
1084    <tt>graphics_sixel.c</tt>, as well as updating comments (patch
1085    by Ben Wong).</li>
1086
1087    <li>amend <code>allowC1Printable</code> changes from <a href=
1088    "#xterm_391">patch #391</a>, restoring a special case which
1089    caused C1 characters to be ignored (report/testcase by Dmytro
1090    Bagrii).</li>
1091  </ul>
1092
1093  <h1><a name="xterm_391" id="xterm_391">Patch #391 -
1094  2024/05/12</a></h1>
1095
1096  <ul>
1097    <li>improve integration between UTF-8 and
1098    <code>allowC1Printable</code>.</li>
1099
1100    <li>alter SIXEL HLS computation to make blue 0 degrees (patch
1101    by Ben Wong).</li>
1102
1103    <li>disable SIXEL aspect-ratio, pending a rewrite (patch by Ben
1104    Wong).</li>
1105
1106    <li>add resource <code>incrementalGraphics</code> (prompted by
1107    patch by Ben Wong).</li>
1108
1109    <li>reorganize <tt>graphics_sixel.c</tt> as a step toward
1110    eliminating graphics buffer-size (integrated patch by Ben
1111    Wong).</li>
1112
1113    <li>use <code>__linux__</code> consistently rather than the
1114    older <code>linux</code>.</li>
1115
1116    <li>build-fix for musl (report by Jon&aacute;&scaron; Vidra,
1117    adapted patch by Khem Raj):
1118      <ul>
1119        <li>modify <code><em>ifdef</em></code> for
1120        <code>USE_OPENPTY</code>, changing test for
1121        <code>__GLIBC__</code> to <code>__linux__</code></li>
1122
1123        <li>change <code><em>ifdef</em></code>'s for
1124        <code>_POSIX_SOURCE</code> to
1125        <code>_POSIX_VERSION</code></li>
1126
1127        <li>modify <code><em>ifdef</em></code> for
1128        <code>setsid</code> to use a configure-script check for
1129        that function's existence and move the old check to imake
1130        fallbacks.</li>
1131      </ul>
1132    </li>
1133
1134    <li>minor consistency fixes for manpage.</li>
1135
1136    <li>fix regression in <a href="#xterm_390">patch #390</a>:
1137    non-UTF8 text pasted as a XA_UTF8_STRING was not decoded
1138    (report by Petri Kaukasoina).</li>
1139  </ul>
1140
1141  <h1><a name="xterm_390" id="xterm_390">Patch #390 -
1142  2024/02/19</a></h1>
1143
1144  <ul>
1145    <li>improve typography of control-sequences page (patches by
1146    Branden Robinson).</li>
1147
1148    <li>amend UPSS change from <a href="#xterm_389">patch #389</a>,
1149    fixing a regression in VT100/VT220 character sets.</li>
1150
1151    <li>modify ANSI conformance per ECMA-43 and DEC 070:
1152      <ul>
1153        <li>set ANSI conformance level to 3 for DEC levels 2 and
1154        up.</li>
1155
1156        <li>disable locking shifts in level 1, e.g., VT100.</li>
1157
1158        <li>disable single-shifts from G2/G3 in level 1.</li>
1159
1160        <li>use UPSS for G2/G3 in levels 2 and up.</li>
1161      </ul>
1162    </li>
1163
1164    <li>modify invisible-character attribute to permit
1165    <tt>DECRQCRA</tt> to report a consistent checksum
1166    (report/testcase by Thomas Wolff).</li>
1167
1168    <li>align terminfo building blocks in terminfo to correspond to
1169    recent refactoring/trimming in ncurses.</li>
1170
1171    <li>set flag in regexec call for
1172    <code>on<em>N</em>Clicks</code> to handle
1173    &ldquo;<tt>^</tt>&rdquo; anchor (patch by Matthew Martin).</li>
1174
1175    <li>add line-drawing data for the characters in <a href=
1176    "https://www.vt100.net/charsets/technical.html"><em>DEC
1177    Technical</em></a> which have no Unicode equivalents.</li>
1178
1179    <li>remove a special case in <tt>encode_scs</tt> which made
1180    xterm report Latin-1 when encoding is set to UTF-8, where ASCII
1181    is the selected character set. This fixes a regression in
1182    vttest for the <tt>DECRSPS</tt> cursor test.</li>
1183
1184    <li>correct values for <em>Ps</em> of <tt>DECAUPSS</tt> in
1185    <tt>ctlseqs.ms</tt> (report by James Holderness).</li>
1186
1187    <li>simplify/correct expression for checking Unicode
1188    non-characters (report by Thomas Wolff).</li>
1189
1190    <li>correct loop for trimming environment variables
1191    (report/patch by Casper Dik).</li>
1192
1193    <li>fixes for manpage formatting (Debian #1041809).</li>
1194
1195    <li>update config.guess, config.sub</li>
1196  </ul>
1197
1198  <h1><a name="xterm_389" id="xterm_389">Patch #389 -
1199  2024/01/01</a></h1>
1200
1201  <ul>
1202    <li>interchange variables in subparameter parsing, fixing a bug
1203    where subparameters after the first parameter could be
1204    misidentified (patch by Adam Saponara).</li>
1205
1206    <li>correct popping of icon/window titles in a case where only
1207    one was pushed from <a href="#xterm_385">patch #385</a>
1208    changes.</li>
1209
1210    <li>add <tt>XTQMODKEYS</tt> response in <tt>DECRQSS</tt>, as
1211    alternative for vim.</li>
1212
1213    <li>correct <tt>DECCIR</tt> encoded information on character
1214    set size, handle a VT525 quirk, and add <tt>DECST8C</tt>
1215    (Windows Terminal #14984).</li>
1216
1217    <li>improve <tt>DECRQCRA</tt> (prompted by discussion with
1218    James Holderness, Windows Terminal #14974).</li>
1219
1220    <li>add part of VT525 color controls:
1221      <ul>
1222        <li><tt>DECAC</tt>, to update default
1223        foreground/background, respond to <tt>DECRQSS</tt></li>
1224
1225        <li><tt>DECATC</tt>, to respond with <tt>DECRQSS</tt></li>
1226      </ul>
1227    </li>
1228
1229    <li>prevent Unicode non-characters from being printed (prompted
1230    by patch by Grady Martin).</li>
1231
1232    <li>modify <tt>send_SGR()</tt> to avoid modifying colors 16 to
1233    255 in printed output (patch by Grady Martin).</li>
1234
1235    <li>minor cleanup of miscellaneous error-codes with
1236    <tt>ERROR_MISC</tt>.</li>
1237
1238    <li>remove legacy <tt><em>CSI</em> 53</tt> for locator status,
1239    corrected in <a href="#xterm_294">patch #294</a>.</li>
1240
1241    <li>modify <tt>DECRQUPSS</tt> and <tt>DECAUPSS</tt> feature to
1242    support VT5xx character sets (report by Thomas Wolff).</li>
1243
1244    <li>improve configure script:
1245      <ul>
1246        <li>reduce configure-check compiler warnings (prompted by
1247        Florian Weimer, Redhat #2251945)</li>
1248
1249        <li>improve usage messages in configure script to make it
1250        clearer when an option value is optional.</li>
1251      </ul>
1252    </li>
1253
1254    <li>improve EWMH handling (report/analysis by Edward Rosten)
1255      <ul>
1256        <li>reset <tt>_NET_WM_STATE_HIDDEN</tt> flag from
1257        <tt>_NET_WM_STATE</tt> before mapping the window to
1258        deiconify.</li>
1259
1260        <li>cache X properties to reduce latency (adapted from
1261        patch by Edward Rosten).</li>
1262      </ul>
1263    </li>
1264  </ul>
1265
1266  <h1><a name="xterm_388" id="xterm_388">Patch #388 -
1267  2023/10/22</a></h1>
1268
1269  <ul>
1270    <li>improve <tt>disallowPasteControls</tt> by adding a category
1271    for the special characters known to <tt>stty</tt> (prompted by
1272    discussion with David Leadbeater).</li>
1273
1274    <li>amend support of <tt>DECAUPSS</tt>, undoing change to
1275    initialization of G2/G3 so that pasting of GR characters works
1276    properly (report/analysis by Petri Kaukasoina).</li>
1277
1278    <li>update config.guess, config.sub</li>
1279  </ul>
1280
1281  <h1><a name="xterm_387" id="xterm_387">Patch #387 -
1282  2023/10/15</a></h1>
1283
1284  <ul>
1285    <li>add <tt>DECRQUPSS</tt> and <tt>DECAUPSS</tt>.</li>
1286
1287    <li>add <tt>DECRQDE</tt> (report by Jake Hamby).</li>
1288
1289    <li>correct indexing expression in title-stack, from <a href=
1290    "#xterm_385">patch #385</a> changes (report by Brian
1291    Lindholm).</li>
1292  </ul>
1293
1294  <h1><a name="xterm_386" id="xterm_386">Patch #386 -
1295  2023/10/09</a></h1>
1296
1297  <ul>
1298    <li>improve references in <tt>ctlseqs.ms</tt> (prompted by
1299    discussion with Kirill Chibisov).</li>
1300
1301    <li>make the maximum amount of memory used for buffering DCS
1302    and OSC strings configurable with <tt>maxStringParse</tt>
1303    resource (report by Daniel Franke).</li>
1304
1305    <li>improve performance of ReGIS when initializing the largest
1306    fontsize (report by Ben Wong).</li>
1307
1308    <li>fix regression in SIXEL colors, in <a href=
1309    "#xterm_385">patch #385</a> (report/patch by Jonny
1310    Langley).</li>
1311
1312    <li>fix typo in <code>--with-wtmp</code> (report/patch by Sven
1313    Joachim)</li>
1314  </ul>
1315
1316  <h1><a name="xterm_385" id="xterm_385">Patch #385 -
1317  2023/10/01</a></h1>
1318
1319  <ul>
1320    <li>fixes for ReGIS (report by Ben Wong).
1321      <ul>
1322        <li>correct conversion from HLS to RGB</li>
1323
1324        <li>improve font-caching performance.</li>
1325      </ul>
1326    </li>
1327
1328    <li>update tables in <code>wcwidth.c</code> based on Unicode
1329    15.1.0</li>
1330
1331    <li>improve <code>fastScroll</code> resource:
1332      <ul>
1333        <li>suppress screen-refreshes for carriage-returns</li>
1334
1335        <li>add <code>-jf</code> option to simplify use of this
1336        resource.</li>
1337
1338        <li>add a control sequence for enabling/disabling the
1339        resource.</li>
1340
1341        <li>enable this feature by default</li>
1342      </ul>
1343    </li>
1344
1345    <li>extend title-stack feature to allow an additional parameter
1346    to directly access the stack, like the
1347    <code>XTPUSHCOLORS</code> and <code>XTPOPCOLORS</code>
1348    feature.</li>
1349
1350    <li>correct size and position of box shown for double-cell
1351    character which happens to be missing from the bitmap font
1352    (report by Peter Fabinski).</li>
1353
1354    <li>improved configure script:
1355      <ul>
1356        <li>add pattern for uClibc-ng to <tt>CF_XOPEN_SOURCE</tt>
1357        (report/patch by Waldemar Brodkorb).</li>
1358
1359        <li>add configure options <tt>--with-utmp-path</tt> and
1360        <tt>--with-wtmp-path</tt> to override configure script's
1361        check for utmp/wtmp pathnames which are shown in the manual
1362        (Debian #1042767).</li>
1363
1364        <li><tt>CF_XOPEN_SOURCE</tt> provides for defining
1365        <tt>_DEFAULT_SOURCE</tt> for MinGW32 and MinGW64.</li>
1366
1367        <li>sed expression used to report gcc version now works
1368        with MinGW</li>
1369      </ul>
1370    </li>
1371
1372    <li>ensure that line-attributes are reset after drawing missing
1373    character (report by Christian Weisgerber).</li>
1374
1375    <li>update config.guess, config.sub</li>
1376  </ul>
1377
1378  <h1><a name="xterm_384" id="xterm_384">Patch #384 -
1379  2023/07/10</a></h1>
1380
1381  <ul>
1382    <li>exclude ASCII space from <code>showMissingGlyphs</code>,
1383    since a few bitmap fonts lack this (report by "SanRemo",
1384    Emanuel Haupt).</li>
1385
1386    <li>correct a step in rendering double-width characters with
1387    bitmap-fonts (report by Peter Fabinski, Debian #1039986).</li>
1388
1389    <li>fixes for ReGIS-related problems (report by Ben Wong):
1390      <ul>
1391        <li>mimic an undocumented hardware VT340 feature which
1392        handles color initialization with incomplete
1393        parameters.</li>
1394
1395        <li>handle whitespace between operator/operands for color
1396        values.</li>
1397
1398        <li>reset ReGIS-context when resetting graphics in
1399        <tt>RIS</tt>.</li>
1400      </ul>
1401    </li>
1402  </ul>
1403
1404  <h1><a name="xterm_383" id="xterm_383">Patch #383 -
1405  2023/06/27</a></h1>
1406
1407  <ul>
1408    <li>expand description of full- and soft-reset in the
1409    manual.</li>
1410
1411    <li>fixes for full- and soft-reset:
1412      <ul>
1413        <li>clear alternate screen on full reset.</li>
1414
1415        <li>disable menu-entry for active icon; it merely shows
1416        whether the feature is enabled.</li>
1417
1418        <li>use <tt>appcursorDefault</tt> and
1419        <tt>appkeypadDefault</tt> resources for reset of
1420        <tt>DECCKM</tt> and <tt>DECKPM</tt>.</li>
1421
1422        <li>save initial resource values for
1423        <tt>sixelScrolling</tt> and <tt>privateColorRegisters</tt>,
1424        using those in full reset.</li>
1425
1426        <li>update checkbox for <em>Enable Blinking Cursor</em>
1427        (report by Rajeev V. Pillai).</li>
1428      </ul>
1429    </li>
1430
1431    <li>add reply for <tt>DECSACE</tt> with <tt>DECRQSS</tt>.</li>
1432
1433    <li>modify status-line feature to exit without erasing for
1434    <tt>DECSTR</tt>.</li>
1435
1436    <li>add private mode <tt>1045</tt> which imitates the original
1437    xterm cursor-back reverse wrapping mode <tt>45</tt> (see
1438    <a href="#xterm_380">patch #380</a>).</li>
1439
1440    <li>improve checks for non-Unicode values, e.g., in
1441    <tt>DECRQCRA</tt>.</li>
1442
1443    <li>re-checkout from RCS archive to fix stale identifiers
1444    (report by Sven Joachim).</li>
1445  </ul>
1446
1447  <h1><a name="xterm_382" id="xterm_382">Patch #382 -
1448  2023/05/30</a></h1>
1449
1450  <ul>
1451    <li>amend change to <tt>CursorBack</tt> in <a href=
1452    "#xterm_380">patch #380</a>, allowing the result to be on the
1453    hidden right-half of double-cell characters (report by Rajeev
1454    V. Pillai).</li>
1455
1456    <li>amend <tt>xtermDrawString</tt>, fixing regression with
1457    <tt>--disable-wide-chars</tt> configuration from <a href=
1458    "#xterm_380">patch #380</a>.</li>
1459
1460    <li>corrected pathname for <tt>run-tic.sh</tt>, for full
1461    install in an out-of-tree build (report by Rajeev V.
1462    Pillai).</li>
1463  </ul>
1464
1465  <h1><a name="xterm_381" id="xterm_381">Patch #381 -
1466  2023/05/28</a></h1>
1467
1468  <ul>
1469    <li>fix a regression in wide bitmap fonts versus check for
1470    missing glyphs (report by Rajeev V. Pillai).</li>
1471  </ul>
1472
1473  <h1><a name="xterm_380" id="xterm_380">Patch #380 -
1474  2023/05/09</a></h1>
1475
1476  <ul>
1477    <li>simplify the change for <code>sixelScrolling</code> from
1478    <a href="#xterm_374">patch #374</a> (report by Per
1479    Bothner).</li>
1480
1481    <li>add <tt>xterm+focus</tt> and <tt>report+da2</tt>, update
1482    <tt>report+version</tt> building blocks in terminfo, from
1483    post-ncurses 6.4</li>
1484
1485    <li>drop the <tt>-title</tt> option from <tt>uxterm</tt> and
1486    <tt>koi8rxterm</tt>, because that interferes with deriving the
1487    default title from the <tt>-e</tt> option (Debian #1031837).
1488    Compensate for this by using the <tt>-class</tt> option to
1489    derive a default title.</li>
1490
1491    <li>improve description of readline 2003 mode in
1492    <tt>ctlseqs.ms</tt> (report by Thomas Wolff).</li>
1493
1494    <li>other improvements to status-line feature (report by Thomas
1495    Wolff):
1496      <ul>
1497        <li>clear status line on <tt>DECCOLM</tt></li>
1498
1499        <li>ignore <tt>DECSASD</tt> if no previous
1500        <tt>DECSSDT</tt></li>
1501
1502        <li>allow <tt>DECSSDT&nbsp;1</tt> immediately after
1503        <tt>DECSSDT&nbsp;2</tt>, i.e., without switching back to
1504        host mode.</li>
1505      </ul>
1506    </li>
1507
1508    <li>adjust <tt>RequestResize</tt> to avoid shrinking screen
1509    when using <tt>DECCOLM</tt> while the status-line is active
1510    (report/patch by Thomas Wolff).</li>
1511
1512    <li>disallow wrapping before the beginning of the screen, to
1513    the end of the screen, for cursor-back sequences (Redhat
1514    #2182357).</li>
1515
1516    <li>modify makefile to install the 16x16 xpm files (report by
1517    Harald Dunkel).</li>
1518
1519    <li>update test-package to reflect resolution of Debian
1520    #906901.</li>
1521
1522    <li>change default of <code>showMissingGlyphs</code> to
1523    <em>True</em>.</li>
1524
1525    <li>improve handling of double-sized characters when those
1526    happen to be missing from the bitmap font and/or are
1527    fullwidth.</li>
1528
1529    <li>pointer/overflow fixes (reported by David Leadbeater):
1530      <ul>
1531        <li>improve limit-checks for control-sequence numeric
1532        parameters in SIXEL graphics.</li>
1533
1534        <li>add null-pointer checks in <tt>WriteNow</tt> macro to
1535        handle a case where <tt>SS2</tt> or <tt>SS3</tt> might be
1536        in effect while processing a combining character.</li>
1537
1538        <li>disallow ReGIS reporting for character-set names
1539        containing characters other than alphanumerics or
1540        underscore.</li>
1541
1542        <li>implement TrueType fallback font for double-sized
1543        characters, including Unicode fullwidth. Also add
1544        <tt>limitFontHeight</tt> to provide for configuring the
1545        distinction between slightly-oversized glyphs and
1546        double-sized glyphs.</li>
1547      </ul>
1548    </li>
1549
1550    <li>configure script improvements:
1551      <ul>
1552        <li>check for <tt>nfsd_t</tt></li>
1553      </ul>
1554    </li>
1555
1556    <li>fix a typo in the underline cursor thickness derivation
1557    (patch by Jan Engelhardt).</li>
1558  </ul>
1559
1560  <h1><a name="xterm_379" id="xterm_379">Patch #379 -
1561  2023/02/15</a></h1>
1562
1563  <ul>
1564    <li>improve text-cursor (patch by Jan Engelhardt):
1565      <ul>
1566        <li>allow selecting <tt>CURSOR_BAR</tt> mode from
1567        command-line/Xresources.</li>
1568
1569        <li>draw cursor using filled rectangle instead of rectangle
1570        outline to permit thicker underlines/bars.</li>
1571
1572        <li>scale up cursor relative to font size.</li>
1573      </ul>
1574    </li>
1575
1576    <li>improve readline modes (Fedora #2166860):
1577      <ul>
1578        <li>document readline modes</li>
1579
1580        <li>change the feature to configure by default</li>
1581
1582        <li>replace hard-coded SS3 for cursor movement with current
1583        mode</li>
1584
1585        <li>replace hard-coded erase/lnext characters with current
1586        values</li>
1587      </ul>
1588    </li>
1589
1590    <li>improve status-line (report by Thomas Wolff):
1591      <ul>
1592        <li><tt>RIS</tt> turns off status-line</li>
1593
1594        <li>Right-margin (<tt>DECLRMM</tt> and <tt>DECSLRM</tt>)
1595        limits the length of text written/updated in the
1596        status-line.</li>
1597
1598        <li>Most controls which affect the whole screen are ignored
1599        while updating the status-line.</li>
1600      </ul>
1601    </li>
1602
1603    <li>modify configure check for <tt>tgetent</tt> to allow for
1604    some special cases of ncurses configuration (report by Satadru
1605    Pramani).</li>
1606
1607    <li>reduce timeout, improve warning message if resize is run on
1608    a terminal which is not VT100-compatible.</li>
1609
1610    <li>reduce compiler warnings in configure script.</li>
1611  </ul>
1612
1613  <h1><a name="xterm_378" id="xterm_378">Patch #378 -
1614  2023/01/09</a></h1>
1615
1616  <ul>
1617    <li>improve descriptions of <em>XTQMODKEYS</em> and
1618    <em>XTQALLOWED</em> features in <tt>ctlseqs.ms</tt> (reports by
1619    Bram Moolenaar, Thomas Wolff).</li>
1620
1621    <li>add <tt>bracketed+paste</tt> and <tt>report+version</tt>
1622    building blocks to terminfo, from ncurses 6.4</li>
1623
1624    <li>improve check for unsupported formatting characters, e.g.,
1625    zero-width space, to properly ignore them (report by Thomas
1626    Wolff).</li>
1627
1628    <li>improve/document error-checking for some of the controls
1629    which return responses: DECRQSS, XTGETXRES, XTSETTCAP,
1630    XTGETTCAP (prompted by discussion with David Leadbeater).</li>
1631
1632    <li>improve limit-checks for fallback font cache (report by
1633    Dimitrije Erdeljan).</li>
1634
1635    <li>improve check for too-wide glyph in fallback font by
1636    allowing xterm to continue searching for a suitable font rather
1637    than just failing on the first. Also add
1638    <tt>limitFontWidth</tt> to allow changing the amount by which a
1639    glyph must extend outside the font's bounding box to disallow
1640    it.</li>
1641  </ul>
1642
1643  <h1><a name="xterm_377" id="xterm_377">Patch #377 -
1644  2022/11/25</a></h1>
1645
1646  <ul>
1647    <li>add control sequences for reporting the current state of
1648    the modified keys options (XTQMODKEYS) and allowed/disallowed
1649    operations (XTQALLOWED), (prompted by discussion with Bram
1650    Moolenaar).</li>
1651
1652    <li>amend <code>modifyOtherKeys</code> case 2 to distinguish
1653    the escape character with modifiers, e.g., shift-escape, from a
1654    plain escape character (suggested by Bram Moolenaar).</li>
1655
1656    <li>improve parsing and error-recovery in the case where a list
1657    of X11 bitmap fonts is given in the <code>-fn</code> and
1658    related options.</li>
1659
1660    <li>change default for <code>xftTrackMemUsage</code> to false,
1661    because libXft does not handle certain fonts.</li>
1662  </ul>
1663
1664  <h1><a name="xterm_376" id="xterm_376">Patch #376 -
1665  2022/11/16</a></h1>
1666
1667  <ul>
1668    <li>modify configure script to always check for gcc
1669    attributes,</li>
1670
1671    <li>update <code>install-sh</code>.</li>
1672
1673    <li>fix parsing of <code>result&nbsp;-u</code> in
1674    <code>vttests/halves.pl</code>.</li>
1675
1676    <li>add a note in <code>ctlseqs.ms</code> about compatibility
1677    of <code>TBC</code>.</li>
1678
1679    <li>fix a copy/paste error in manual (patch by Grady
1680    Martin).</li>
1681
1682    <li>add null-pointer checks in <code>x_strcasecmp</code> and
1683    <code>x_strncasecmp</code>, to help with error-recovery for a
1684    missing font (Debian #1022942).</li>
1685  </ul>
1686
1687  <h1><a name="xterm_375" id="xterm_375">Patch #375 -
1688  2022/10/23</a></h1>
1689
1690  <ul>
1691    <li>improve error-recovery when setting a bitmap font for the
1692    VT100 window, e.g., in case <em>OSC&nbsp;50</em> failed,
1693    restoring the most recent valid font so that a subsequent
1694    <em>OSC&nbsp;50</em> reports this correctly (report by David
1695    Leadbeater).</li>
1696
1697    <li>exclude <code>MC_XDG_OPEN</code> from environment variables
1698    trimmed on startup (report by Gabor Hauzer).</li>
1699
1700    <li>check for null pointer in <code>isSelect()</code> (report
1701    by Column Paget).</li>
1702  </ul>
1703
1704  <h1><a name="xterm_374" id="xterm_374">Patch #374 -
1705  2022/10/10</a></h1>
1706
1707  <ul>
1708    <li>eliminate use of grep aliases from vttests scripts.</li>
1709
1710    <li>amend discussion of <code>DECSDM</code> versus <em>Sixel
1711    Scrolling</em> in <code>ctlseqs.ms</code> (reports by Hayaki
1712    Saito, Ben Wong).</li>
1713
1714    <li>change default for <code>sixelScrolling</code> resource to
1715    better match VT330/VT340 <code>DECSDM</code> setting (patch by
1716    Ben Wong).</li>
1717
1718    <li>fix some gcc and coverity warnings.</li>
1719
1720    <li>improve memory usage for <tt>OSC&nbsp;52</tt> (report by
1721    David Leadbeater).</li>
1722
1723    <li>fix regression in <a href="#xterm_373">xterm-373</a> change
1724    adding resources <tt>xftTrackMemUsage</tt> to
1725    <tt>xftMaxGlyphMemory</tt>, which did not first cache the
1726    server's resource-settings (report/testcase by Gabor Hauzer, as
1727    well as Debian #1021243).</li>
1728
1729    <li>fix regression in <a href="#xterm_373">xterm-373</a> change
1730    for status-line vs alternate screen (report by Rajeev V.
1731    Pillai).</li>
1732
1733    <li>configure script improvements:
1734      <ul>
1735        <li>modify <tt>CF_XOPEN_SOURCE</tt> to handle more special
1736        cases of Linux (reports by Adam Sampson, Sven
1737        Joachim).</li>
1738
1739        <li>modify checks for egrep/fgrep aliases to work around
1740        warning messages from GNU grep 3.8</li>
1741      </ul>
1742    </li>
1743  </ul>
1744
1745  <h1><a name="xterm_373" id="xterm_373">Patch #373 -
1746  2022/09/25</a></h1>
1747
1748  <ul>
1749    <li>improve rendering of TrueType fonts:
1750      <ul>
1751        <li>add resource <tt>xftTrackMemUsage</tt> to
1752        enable/disable a new feature of Xft which improves
1753        performance.</li>
1754
1755        <li>add resources <tt>xftMaxGlyphMemory</tt> and
1756        <tt>xftMaxUnrefFonts</tt> to customize memory-usage of Xft
1757        and fontconfig.</li>
1758
1759        <li>provide for display of colored fonts in libXft
1760        2.3.5</li>
1761
1762        <li>allow for an extra TrueType font to be specified using
1763        the <code>-fa</code> option, as an override to the
1764        <em>fontconfig</em> scheme of fallback fonts (request by
1765        Nickolas Raymond Kaczynski).</li>
1766
1767        <li>improve caching of TrueType missing-glyph tests.</li>
1768
1769        <li>allow no more than 255 fonts to be scanned for a
1770        fontset.</li>
1771
1772        <li>eliminate a table-lookup in <tt>findXftGlyph</tt></li>
1773      </ul>
1774    </li>
1775
1776    <li>improvements status-line feature:
1777      <ul>
1778        <li>save/restore wraparound flag when updating the
1779        status-line (report by Rajeev V. Pillai).</li>
1780
1781        <li>avoid clearing the status-line when switching between
1782        normal and alternate screens (report by Valtteri
1783        Vuorikoski).</li>
1784
1785        <li>remove adjustment from <tt>update_winsize</tt> leftover
1786        from initial work (report by Valtteri Vuorikoski).</li>
1787      </ul>
1788    </li>
1789
1790    <li>modify <tt>wcwidth</tt> tables to separate Unicode
1791    <em>Cf</em> category as <em>formatting</em> control-characters,
1792    to better match the guideline for <a href=
1793    "http://www.unicode.org/faq/unsup_char.html">unsupported
1794    characters</a> (report by Tim Chase).</li>
1795
1796    <li>add configure option
1797    <tt>--disable-exec-selection</tt>.</li>
1798
1799    <li>use <tt>mkstemp</tt> where <tt>mkdtemp</tt> is unavailable,
1800    when initializing colored cursor.</li>
1801
1802    <li>adapt fixes from OpenBSD xenocara:
1803      <ul>
1804        <li>improve ifdef's for a few optional features.</li>
1805
1806        <li>correct <tt>#ifdef</tt> to <tt>#if</tt> in a few uses
1807        of <tt>OPT_PRINT_ON_EXIT</tt>.</li>
1808      </ul>
1809    </li>
1810
1811    <li>set <tt>StartupWMClass</tt> in
1812    &ldquo;<tt>.desktop</tt>&rdquo; files, e.g., to help
1813    <tt>cinnamon-session</tt> notice that xterm sets
1814    <tt>WM_CLASS</tt> and use its icon (patch by Richard de
1815    Boer).</li>
1816
1817    <li>disable pixel computation when rgb width is greater than 8,
1818    to work with depth 30 (patch by Denis Kaganovich).</li>
1819
1820    <li>improve color-computation for SGR 2 faint/dim (patch by
1821    Boian Bonev). Add resource <tt>faintIsRelative</tt> to specify
1822    if the modified computation should be used (prompted by
1823    discussion with Matthieu Herrb).</li>
1824
1825    <li>correct comparison-length for environment variable cleanup
1826    (patch by Brendan O' Dea).</li>
1827
1828    <li>correct <tt>dsl</tt> capability for <tt>dec+sl</tt> block
1829    in terminfo (report by Rajeev V. Pillai).</li>
1830
1831    <li>improve output formatting by <tt>vttests/utf8.pl</tt></li>
1832
1833    <li>repair test/demo scripts still using "vxt-" prefix, some
1834    cleanup with shellcheck.</li>
1835
1836    <li>enable page-number for <tt>DECXCPR</tt> response in
1837    VT330.</li>
1838
1839    <li>amend change for combining characters in <a href=
1840    "#xterm_371">patch #371</a> to limit it to the
1841    currently-defined codes (report by Thomas Wolff).</li>
1842
1843    <li>add directory-template parameter to <tt>mktemp</tt> in
1844    shell-scripts to improve portability to older systems (patch by
1845    Ryan Schmidt).</li>
1846
1847    <li>mention webpage <a href=
1848    "https://invisible-island.net/xterm/xterm-paste64.html"><em>XTerm
1849    &ndash; bracketed-paste</em></a> in
1850    <code>ctlseqs.ms</code></li>
1851
1852    <li>update manual-page descriptions for
1853    <code>allowPasteControls</code> and
1854    <code>disallowedPasteControls</code> (<a href=
1855    "#xterm_363">patch #363</a>).</li>
1856
1857    <li>further extended list of environment variables to purge on
1858    startup (suggested by Thomas Wolff).</li>
1859
1860    <li>update config.guess, config.sub</li>
1861  </ul>
1862
1863  <h1><a name="xterm_372" id="xterm_372">Patch #372 -
1864  2022/03/09</a></h1>
1865
1866  <ul>
1867    <li>amend allocation/freeing of scrollback lines, eliminating
1868    an adjustment for status-line added in <a href=
1869    "#xterm_371">patch #371</a> (report/testcase by Rajeev V.
1870    Pillai).</li>
1871  </ul>
1872
1873  <h1><a name="xterm_371" id="xterm_371">Patch #371 -
1874  2022/02/24</a></h1>
1875
1876  <ul>
1877    <li>drop double-buffer default from test-packages, since that
1878    interferes with status-line.</li>
1879
1880    <li>add <code>faceSize7</code> to table in
1881    <code>charproc.c</code>, overlooked in <a href=
1882    "#xterm_360">patch #360</a> (patch by Vladimir A. Pavlov).</li>
1883
1884    <li>use <code>XDrawString</code> rather than
1885    <code>XDrawString16</code> for text when the latter is not
1886    needed.</li>
1887
1888    <li>improve performance for initializing/reusing graphic
1889    objects in the SIXEL feature.</li>
1890
1891    <li>improve error-checking for <code>resize</code>.</li>
1892
1893    <li>fix errata in manual page (Debian #988221).</li>
1894
1895    <li>extended list of environment variables to purge on startup,
1896    i.e., in case a user starts xterm from another terminal
1897    emulator.</li>
1898
1899    <li>add comment in <code>cursor.c</code> to explain why
1900    autowrap (<code>DECAWM</code>) does not apply to data
1901    saved/restored with save/restore cursor-operations (report by
1902    Thomas Wolff).</li>
1903
1904    <li>add special case in generating the combining-character
1905    table in <code>wcwidth.c</code>, for Hangul Jamo Extended-B
1906    (report by Luis Javier Merino).</li>
1907
1908    <li>simplify/improve portability of <code>trap</code> commands
1909    in shell-scripts.</li>
1910
1911    <li>update configure options<br>
1912    <code>--disable-rectangles</code>,<br>
1913    <code>--disable-tcap-fkeys</code> and<br>
1914    <code>--disable-tcap-query</code><br>
1915    to account for changed default settings.</li>
1916
1917    <li>rather than ignore empty parameter for setting title, use
1918    that to reset it to &ldquo;xterm&rdquo; for scripting.</li>
1919
1920    <li>check for out-of-bounds condition while drawing sixels, and
1921    quit that operation (report by Nick Black).</li>
1922
1923    <li>add fallback definition for <code>PROJECTROOT</code> so
1924    that a suitable default location for <code>luit</code> will be
1925    compiled-in on build-servers.</li>
1926
1927    <li>implement DEC status-line controls DECSASD/DECSSDT:
1928      <ul>
1929        <li>decode controls, set state</li>
1930
1931        <li>implement DECRQSS responses</li>
1932
1933        <li>implement indicator-style status-line</li>
1934
1935        <li>add configure option
1936        <code>--enable-status-line</code></li>
1937
1938        <li>add resource <code>indicatorFormat</code></li>
1939
1940        <li>implement host-writable status-line, able to handle
1941        video-attributes and simple left/right cursor movement.
1942        This disallows all of the DEC/xterm private modes such as
1943        switching to/from the alternate screen.</li>
1944
1945        <li>move the status-line if the window is resized.</li>
1946
1947        <li><em>Note:</em> the associated screen-resizing does not
1948        work for the special case of TrueType fonts with
1949        double-buffering (see note in <a href=
1950        "#xterm_349_xft_bug">patch #349</a>).</li>
1951      </ul>
1952    </li>
1953
1954    <li>modify configure-script fixup for <code>-Werror</code>
1955    options to exclude fixup for <code>-Werror=format</code>, e.g.,
1956    <code>-Werror=format-security</code>.</li>
1957
1958    <li>amend change from <a href="#xterm_370">patch #370</a>; DEC
1959    070's pseudo-code for DECCOLM incorrectly suggests that it
1960    enables DECLRMM as a side-effect.</li>
1961
1962    <li>fix some memory leaks seen using esctest and asan2 (patch
1963    by Luis Javier Merino).</li>
1964  </ul>
1965
1966  <h1><a name="xterm_370" id="xterm_370">Patch #370 -
1967  2021/11/13</a></h1>
1968
1969  <ul>
1970    <li>add <code>-a</code>, <code>-c</code> and <code>-d</code>
1971    options to <code>query-status.pl</code> to improve test for
1972    <code>DECRQSS</code>.</li>
1973
1974    <li>expanded discussion of maximum graphics geometry in
1975    <code>ctlseqs.ms</code> (suggested by Bon Wong).</li>
1976
1977    <li>corrected parameter symbol for <code>DECCARA</code> and
1978    <code>DECRARA</code> in <code>ctlseqs.ms</code> to indicate
1979    that multiple parameters may be used (report by Thomas
1980    Wolff).</li>
1981
1982    <li>add several test/demo scripts.</li>
1983
1984    <li>improve <code>DECCOLM</code>, <code>DECLRMM</code> and
1985    <code>DECALN</code> referring to pseudo-code in DEC 070.</li>
1986
1987    <li>amend a change in patch #348 which caused left/right margin
1988    mode to be reset when resizing the terminal window (report by
1989    Valentine Barshak).</li>
1990
1991    <li>fix a misnamed macro-parameter (patch by Rajeev V.
1992    Pillai).</li>
1993
1994    <li>fix spacing of <code>wideFont</code> when its width is not
1995    exactly twice as wide as the normal font (report by Rajeev V.
1996    Pillai).</li>
1997
1998    <li>suppress loading of italic font in a few places when
1999    <code>colorITmode</code> is enabled (report/analysis by Rajeev
2000    V. Pillai).</li>
2001
2002    <li>modify <code>XTSMGRAPHICS</code> to return failure status
2003    if the terminal is not configured to support the corresponding
2004    ReGIS or SIXEL feature (report by Nick Black, notcurses #2252,
2005    notcurses #2257).</li>
2006
2007    <li>modify <code>DECERA</code> and <code>DECFRA</code> to erase
2008    corresponding area in SIXEL graphics (patch by Nick Black,
2009    notcurses #1740, vt340test #16). Also modify
2010    <code>DECSERA</code>.</li>
2011
2012    <li>equate visuals for TrueColor and DirectColor (patch by
2013    Denis Kaganovich).</li>
2014
2015    <li>correct computation for pixel value of rgb when using depth
2016    16 (report by Denis Kaganovich).</li>
2017
2018    <li>correct wrapping of VT100-style double-sized characters
2019    when configured for Unicode wide-characters (report by Luis
2020    Javier Merino).</li>
2021
2022    <li>updated default value for <code>sixelScrolling</code>
2023    resource to match expected behavior versus <code>DECSDM</code>
2024    change in <a href="#xterm_369">patch #369</a> (report by Grant
2025    Taylor).</li>
2026  </ul>
2027
2028  <h1><a name="xterm_369" id="xterm_369">Patch #369 -
2029  2021/09/21</a></h1>
2030
2031  <ul>
2032    <li>modify <code>run-tic.sh</code> to work around bug in
2033    development version of ncurses which was packaged in FreeBSD
2034    ports.</li>
2035
2036    <li>remove ifdef's for <code>OPT_COLOR_RES</code> and
2037    <code>OPT_COLOR_RES2</code>.</li>
2038
2039    <li>improve performance over slow connections (report by Harald
2040    Dunkel).</li>
2041
2042    <li>update cursor if restoring mode for DECTCEM.</li>
2043
2044    <li>modify <code>CharWidth</code> macro to ensure that the
2045    shortcut for Latin-1 is only applied when UTF-8 is not enabled,
2046    to fix a bug in handling soft-hyphen from <a href=
2047    "#xterm_334">patch #334</a> changes (patch by Martijn van
2048    Duren).</li>
2049
2050    <li>improve terminfo:
2051      <ul>
2052        <li>fill-in function-keys in terminfo which are not Sun/HP
2053        keyboards using <code>xterm+nopcfkeys</code>
2054        building-block.</li>
2055
2056        <li>add kbeg to xterm+keypad to accommodate termcap
2057        applications</li>
2058
2059        <li>add smglp and smgrp to vt420+lrmm, to provide useful
2060        data for the "tabs" <code><strong>+m</strong></code>
2061        option</li>
2062      </ul>
2063    </li>
2064
2065    <li>support shift-tab in Sun, HP and SCO keyboards.</li>
2066
2067    <li>document some legacy features in <code>ctlseqs.ms</code>
2068    (prompted by discussion with Jimmy Aguilar Mena "Ergus").</li>
2069
2070    <li>add &ldquo;trim&rdquo; option to <code>cdXtraScroll</code>
2071    and <code>tiXtraScroll</code>.</li>
2072
2073    <li>remove support for non-fifo save-lines configuration.</li>
2074
2075    <li>extend <code>cdXtraScroll</code> to check if the cursor is
2076    at the upper-left of the scrolling region when the erasure is
2077    for the remainder of the screen versus the whole screen
2078    (prompted by discussion with J&ouml;rg Breitbart).</li>
2079
2080    <li>add workaround for broken pcre2 package in Debian 10.</li>
2081
2082    <li>change screen-refresh call used for <code>DECCARA</code>
2083    and <code>DECRARA</code> to ensure that trailing blanks which
2084    are part of the rectangle are repainted (report/analysis by
2085    Dennis Filder).</li>
2086
2087    <li>when resetting the terminal, ensure that the cursor shape
2088    also is reset, e.g., if <code>DECSCUSR</code> has been used to
2089    modify the cursor shape for an xterm which was started with the
2090    underlined cursor option (report/analysis by Luis Javier
2091    Merino).</li>
2092
2093    <li>prevent <code>DECSCUSR</code> from blinking the cursor if
2094    the <code>cursorBlink</code> resource is &ldquo;never&rdquo;
2095    (report by Vladimir D Seleznev).</li>
2096
2097    <li>invert the sense of <code>DECSDM</code>, to correspond with
2098    VT382 manuals (lsix #41).</li>
2099
2100    <li>update tables in <code>wcwidth.c</code> based on Unicode
2101    14.0.0</li>
2102  </ul>
2103
2104  <h1><a name="xterm_368" id="xterm_368">Patch #368 -
2105  2021/06/07</a></h1>
2106
2107  <ul>
2108    <li>add <code>DefaultOff</code> option to
2109    <code>RenderFont</code> resource, as part of the
2110    session-management feature.</li>
2111
2112    <li>add auto-scroll-lock feature (patch by Stelios
2113    Bounanos).</li>
2114
2115    <li>update the window-size information returned via
2116    <code>TIOCGWINSZ</code> when rows/columns are unchanged but the
2117    font-size changes (report by Nick Black).</li>
2118
2119    <li>improve session-management feature by saving/restoring the
2120    font settings.</li>
2121
2122    <li>update config.guess, config.sub</li>
2123  </ul>
2124
2125  <h1><a name="xterm_367" id="xterm_367">Patch #367 -
2126  2021/03/26</a></h1>
2127
2128  <ul>
2129    <li>add <code>OSC&nbsp;22</code> to allow programs to select
2130    different pointer cursor at runtime.</li>
2131
2132    <li>change configuration for <em>no-return</em> functions to
2133    use <code>_Noreturn</code> when it is available, because
2134    <code>clang --analyze</code> does not properly handle the gcc
2135    noreturn attribute.</li>
2136
2137    <li>add <code>cursorTheme</code> resource to provide a way to
2138    enable or disable the cursor theme feature.</li>
2139
2140    <li>modified <code>CopyWait</code> event retries to use shorter
2141    sleeps, to improve responsiveness (tmux #2556).</li>
2142
2143    <li>improve quoting/escaping in demo-scripts per
2144    shellcheck.</li>
2145
2146    <li>add <code>resizeByPixel</code> resource, to permit
2147    disabling window manager resizing-hints (patch by Tim
2148    Oehl).</li>
2149
2150    <li>corrected <code>printOptsImmediate</code> handling of
2151    alternate-screen (report by Abhijit Dasgupta).</li>
2152
2153    <li>update sample terminfo to more closely match ncurses.</li>
2154
2155    <li>add/improve limit-checks for Xlib calls (report by Roman
2156    Fiedler).</li>
2157
2158    <li>fix a typo in the help-message (report by Tomas
2159    Korbar).</li>
2160  </ul>
2161
2162  <h1><a name="xterm_366" id="xterm_366">Patch #366 -
2163  2021/02/10</a></h1>
2164
2165  <ul>
2166    <li>correct a compiler-warning fix in <a href=
2167    "#xterm_352">patch #352</a> which allowed sign-extension of
2168    coordinate values (report by "CismonX").</li>
2169
2170    <li>correct upper-limit for selection buffer, accounting for
2171    combining characters (report/testcase by Tavis Ormandy).</li>
2172
2173    <li>with <code>alwaysHighlight</code> true, xterm does not
2174    properly track focus. The <em>screen-&gt;select</em>
2175    <code>FOCUS</code> flag remains always on, which prevents
2176    <code>bellIsUrgent</code> from working, as the urgent
2177    <code>WM_HINT</code> flag is only set in
2178    <code>setXUrgency()</code> when the window is not focused. Fix
2179    this by updating <em>screen-&gt;select</em> in
2180    <code>unselectwindow()</code> regardless of the value of
2181    <code>always_highlight</code> (patch by Jiri Bohac).</li>
2182
2183    <li>improve fix for interaction between SRM and ENQ (report by
2184    Grant Taylor).</li>
2185
2186    <li>build-fix for <code>--with-Xaw3dxft</code>, needed when
2187    <code>--with-toolbar</code> is omitted (report by Jimmy Olgeni,
2188    Emanuel Haupt).</li>
2189  </ul>
2190
2191  <h1><a name="xterm_365" id="xterm_365">Patch #365 -
2192  2021/02/03</a></h1>
2193
2194  <ul>
2195    <li>amend fix for &ldquo;word&rdquo; selection in <a href=
2196    "#xterm_364">patch #364</a> to limit that to the
2197    <code>insert-selectable</code> <em>action</em>, which reads
2198    data from the screen. This restores the interactive behavior
2199    where double-clicking on a &ldquo;word&rdquo; would make
2200    subsequent selection extensions by words as well as suppressing
2201    some boundary-checks (report by David Wolfskill, FreeBSD
2202    #253225).</li>
2203  </ul>
2204
2205  <h1><a name="xterm_364" id="xterm_364">Patch #364 -
2206  2021/02/02</a></h1>
2207
2208  <ul>
2209    <li>add <code>-fc</code> option.</li>
2210
2211    <li>correct/improve limit-checks for SRM versus ENQ from
2212    <a href="#xterm_344">patch #344</a> (report by Tom
2213    Szilagyi).</li>
2214
2215    <li>enable <code>XftFont</code> resource in Xaw3dxft
2216    configuration (patch by Tavis Ormandy).</li>
2217
2218    <li>improve quoting/escaping in build-scripts per
2219    shellcheck.</li>
2220
2221    <li>add <code>libpcre2-posix</code> to the packages tested for
2222    <code>--with-pcre2</code> option, needed with Fedora (report by
2223    Tomas Korbar).</li>
2224
2225    <li>correct a typo in manual page, and note that
2226    <code>KeepClipboard</code> may not be compiled-in (report/patch
2227    by Sean C Farley).</li>
2228
2229    <li>corrected boundary-checks for &ldquo;word&rdquo; selection
2230    used in <code>on<em>N</em>Clicks</code> resources (report by
2231    Tavis Ormandy).</li>
2232
2233    <li>update to autoconf-2.52-20210101, to improve shellcheck
2234    warnings.</li>
2235
2236    <li>improve configure check for desktop categories.</li>
2237  </ul>
2238
2239  <h1><a name="xterm_363" id="xterm_363">Patch #363 -
2240  2020/12/26</a></h1>
2241
2242  <ul>
2243    <li>disable groff hyphenation in generated html when using
2244    man2html.</li>
2245
2246    <li>change SCS &ldquo;<code>&amp;4</code>&rdquo; Cyrillic to
2247    non-NRCS, per VT520 manual.</li>
2248
2249    <li>amend fix for SCS in <a href="#xterm_198">patch #198</a> to
2250    remove <code>DEL</code> rather than converting it to a space
2251    (report by Thomas Wolff).</li>
2252
2253    <li>modify state transitions for selecting character sets to
2254    eliminate an ambiguity between the &ldquo;A&rdquo; used in
2255    VT220 versus VT320.</li>
2256
2257    <li>improve error recovery when selecting characters by
2258    resetting to US ASCII when no suitable encoding is found, e.g.,
2259    attempting to use an NRCS sequence when NRCS is not
2260    enabled.</li>
2261
2262    <li>turn off hyphenation in &ldquo;<code>.txt</code>&rdquo;
2263    conversion, prompted by groff changes.</li>
2264
2265    <li>add VT5xx ISO Latin-2 (prompted by discussion with Thomas
2266    Wolff).</li>
2267
2268    <li>amend change from <a href="#xterm_361">patch #361</a> to
2269    event-handling in <code>CopyWait</code> to handle active-icon
2270    as a special case (Debian #975687).</li>
2271
2272    <li>add call to <code>loadColorTable</code> to get the visual
2273    information needed to decode BE RGBA32 color format (patch by
2274    Leandro Lupori).</li>
2275
2276    <li>modify the resource-parsing for
2277    <code>disallowedPasteControls</code> and similar lists of
2278    names/numbers to recognize &ldquo;~;&rdquo; (tilde) for
2279    cancelling a given name/number.</li>
2280
2281    <li>add ENQ, EOT and NUL to default for
2282    <code>disallowedPasteControls</code>.</li>
2283
2284    <li>change default for <code>disallowedPasteControls</code> to
2285    omit the tab character (suggested by Harald Dunkel).</li>
2286
2287    <li>fix swapped height/width in <code>regisScreenSize</code>
2288    and <code>maxGraphicSize</code> resources using "auto" value,
2289    from <a href="#xterm_314">patch #314</a> (report by Anton
2290    Lavrentiev)</li>
2291
2292    <li>revise <a href="#xterm_362">patch #362</a> change for
2293    shift-modifier versus mouse protocol and select/paste by adding
2294    resource <code>shiftEscape</code>, which can be enabled via a
2295    control sequence (prompted by discussion with Matthijs van
2296    Duin).</li>
2297
2298    <li>simplify/improve ifdef in trace code for using a separate
2299    set of files for each run of xterm.</li>
2300
2301    <li>add options <code>-r</code> and <code>-t</code> to
2302    <code>vttests/query-color.pl</code> to show the 6-digit RGB
2303    code and actual colors.</li>
2304
2305    <li>add <code>nel</code> to <code>xterm-basic</code>
2306    terminfo.</li>
2307
2308    <li>alter <code>vttests/modify-keys.pl</code> to omit HTML
2309    reference links to the modified-keys table where no keycode was
2310    available.</li>
2311  </ul>
2312
2313  <h1><a name="xterm_362" id="xterm_362">Patch #362 -
2314  2020/11/11</a></h1>
2315
2316  <ul>
2317    <li>cleanup of calls to <code>free</code>, removing checks for
2318    null (Walter Harms).</li>
2319
2320    <li>improved mouse-button reporting (prompted by discussion
2321    with Stephane Chazelas)
2322      <ul>
2323        <li>narrow the scope of the change for shift-key in
2324        <a href="#xterm_361">patch #361</a> to make it apply only
2325        when the <code>modifyOtherKeys</code> resource is set to 2
2326        (i.e., &ldquo;program mode&rdquo;). Also, when checking the
2327        shift-key, ignore modifiers other than shift, control and
2328        &ldquo;meta&rdquo;</li>
2329
2330        <li>use the alt/meta modifier information obtained in
2331        <code>VTInitModifiers</code> to replace a hard-coded
2332        <em>mod1</em> used to detect &ldquo;Meta&rdquo; for
2333        mouse-button responses.</li>
2334      </ul>
2335    </li>
2336
2337    <li>reduce <code>SIGWINCH</code>'s sent to the client by
2338    filtering out duplicates.</li>
2339
2340    <li>improve display when <code>scaleHeight</code> is greater
2341    than 1:
2342      <ul>
2343        <li>the text-cursor is vertically-centered on the current
2344        line, rather than only extending below the current line
2345        (report by Manu Chaturvedi).</li>
2346
2347        <li>the built-in line-drawing characters extend to the
2348        scaled cell-height.</li>
2349      </ul>
2350    </li>
2351
2352    <li>fill-in special case for motion-events to match the changes
2353    for shift-key in pointer-button events from <a href=
2354    "#xterm_361">patch #361</a>.</li>
2355  </ul>
2356
2357  <h1><a name="xterm_361" id="xterm_361">Patch #361 -
2358  2020/10/14</a></h1>
2359
2360  <ul>
2361    <li>treat the return value of <code>strerror</code> as readonly
2362    (patch by Philipp Klaus Krause).</li>
2363
2364    <li>modify event-handling in <code>CopyWait</code> to work
2365    around hanging while writing large amounts of text to an active
2366    icon and at the same time iconifying/deiconifying (report by
2367    Dave Kemper).</li>
2368
2369    <li>initialize double-buffer for active-icon window.</li>
2370
2371    <li>improve manual page description of scrollbar resources
2372    (report by Brian Lindholm).</li>
2373
2374    <li>correct ifdef for menu entry for active-icon, when
2375    initializing it with toolbar configuration.</li>
2376
2377    <li>add preprocessor option to makefile to set internal
2378    definition of pixmaps directory to match the
2379    install-configuration (FreeBSD #250036).</li>
2380
2381    <li>cleanup of calls to <code>free</code>, removing checks for
2382    null (Walter Harms).</li>
2383
2384    <li>add fallback actions <code>pointer-button</code> and
2385    <code>pointer-motion</code> which handle events for the mouse
2386    control-sequences protocol if the <em>select</em>-related
2387    translations are omitted with
2388    <code>*omitTranslation:select</code> (prompted by discussion
2389    with "Ergus")</li>
2390
2391    <li>amend rule for using shift-key to override mouse-protocol
2392    for select/paste to limit that feature to mouse-buttons which
2393    are actually bound to select/paste actions (prompted by
2394    discussion with "Ergus").</li>
2395
2396    <li>corrected mapping in special case for repainting wrap-marks
2397    when viewing the scrollback area.</li>
2398
2399    <li>use separate <em>GCs</em> for <code>showWrapMarks</code>
2400    feature, to work around cursor coloring change in <a href=
2401    "#xterm_345">patch #345</a> (report by Paulo Silva de
2402    Al&iacute;bano).</li>
2403  </ul>
2404
2405  <h1><a name="xterm_360" id="xterm_360">Patch #360 -
2406  2020/09/20</a></h1>
2407
2408  <ul>
2409    <li>mention <code>decGraphicsID</code> in
2410    <code>ctlseqs.ms</code> (suggested by Thomas Wolff).</li>
2411
2412    <li>modify pixel-coordinate mouse response to use as origin the
2413    VT100-window rather than the underlying widget, which includes
2414    the scrollbar (report by Thomas Wolff).</li>
2415
2416    <li>add configure option <code>--disable-print-graphics</code>
2417    (Ross Combs).</li>
2418
2419    <li>add <code>test_ptydata</code> to &ldquo;make check&rdquo;
2420    rule.</li>
2421
2422    <li>minor fixes for <code>ctlseqs.ms</code> (report by
2423    Jean-Marc Bourguet).</li>
2424
2425    <li>minor fixes for manpage style (report/patch by
2426    "a1346054").</li>
2427
2428    <li>correct cleanup from switch between italics/normal font in
2429    the show/hide cursor functions (report/testcase by Peter
2430    Fabinski).</li>
2431
2432    <li>integrated patch by Ross Combs:
2433      <ul>
2434        <li>internal renaming of GraphicsID symbols, for
2435        readability.</li>
2436
2437        <li>adjust logic for VT125, treating it as a ReGIS
2438        terminal.</li>
2439      </ul>
2440    </li>
2441
2442    <li>update configure macros, for compiler-warning fixes.</li>
2443
2444    <li>integrated patch by Ross Combs:
2445      <ul>
2446        <li>add control sequence modes for graphics printing.</li>
2447
2448        <li>improve conversion to bitmaps for TrueType fonts in
2449        ReGIS</li>
2450
2451        <li>add <code>font7</code> resource, for an
2452        &ldquo;enormous&rdquo; bitmap font.</li>
2453
2454        <li>do not reset graphics in a soft-reset.</li>
2455
2456        <li>add <code>pointerFont</code> resource, and
2457        <code>-pf</code> command-line option.</li>
2458      </ul>
2459    </li>
2460
2461    <li>improve typography of manual page (patch by Branden
2462    Robinson).</li>
2463
2464    <li>amend <a href="#xterm_359">patch #359</a> change to
2465    <code>df-install.in</code> to ignore a command-line assignment
2466    to <code>DESTDIR</code> if followed by an explicit
2467    <code>--dir</code> (report by Sven Joachim).</li>
2468  </ul>
2469
2470  <h1><a name="xterm_359" id="xterm_359">Patch #359 -
2471  2020/08/17</a></h1>
2472
2473  <ul>
2474    <li>add special case in <code>WriteText</code> to allow colors
2475    8-15 to override <code>colorBDMode</code> (patch by Ingo
2476    Br&uuml;ckl).</li>
2477
2478    <li>add <code>utf8Weblike</code> resource, to provide an
2479    alternate scheme for handling ill-formed UTF-8 sequences
2480    (adapted from patch by Dan Gohman).</li>
2481
2482    <li>improve computation for the number of lines needed to
2483    scroll-up a SIXEL graphic (report/patch by Ben Wong).</li>
2484
2485    <li>correct manpage description for default value of
2486    <code>disallowWindowOps</code> from changes in <a href=
2487    "#xterm_331">xterm #331</a> (patch by Ben Wong).</li>
2488
2489    <li>correct a loop starting-point in
2490    <code>refresh_graphics</code> from optimization in <a href=
2491    "#xterm_358">patch #358</a> changes (report by Ben Wong).</li>
2492
2493    <li>add a new mouse mode 1016, which uses the same format as
2494    mode 1006, but sends the mouse's position in pixels (suggested
2495    by Igor van den Hoven).</li>
2496
2497    <li>fix an issue from <a href="#xterm_338">patch #338</a>
2498    changes where only the first selection buffer specified in the
2499    request would be updated using OSC 52 (patch by Michael
2500    Gulick).</li>
2501
2502    <li>modify makefile/scripts to allow <code>DESTDIR</code> to
2503    prefix the target directory for desktop-file-install (report by
2504    Fred Heitkamp).</li>
2505
2506    <li>enable SIXEL feature by default.</li>
2507
2508    <li>update config.guess, config.sub</li>
2509  </ul>
2510
2511  <h1><a name="xterm_358" id="xterm_358">Patch #358 -
2512  2020/07/12</a></h1>
2513
2514  <ul>
2515    <li>correct logic for decodeTerminalID changes in <a href=
2516    "#xterm_357">patch #357</a> (report by "Chartreuse").</li>
2517
2518    <li>modify makefile to use <code>plink.sh</code> when linking
2519    test-programs, to fix build when using pcre (report by H Merijn
2520    Brand)</li>
2521
2522    <li>build-fix for test_ptydata program (patch by H Merijn
2523    Brand)</li>
2524  </ul>
2525
2526  <h1><a name="xterm_357" id="xterm_357">Patch #357 -
2527  2020/07/05</a></h1>
2528
2529  <ul>
2530    <li>several minor optimizations for the ReGIS and SIXEL
2531    features, improving performance by 10%.</li>
2532
2533    <li>add resource <code>decGraphicsID</code> to allow displaying
2534    graphics when the emulation level would ordinarily disallow
2535    this (prompted by discussion with Thomas Wolff).</li>
2536
2537    <li>add control sequences for fast switching of color palettes:
2538    <code>XTPUSHCOLORS</code>, <code>XTPOPCOLORS</code>,
2539    <code>XTREPORTCOLORS</code></li>
2540
2541    <li>amend change for soft-hyphen from <a href=
2542    "#xterm_328">patch #328</a> to avoid stripping
2543    replacement-characters which would be shown with malformed or
2544    overlong UTF-8 input.</li>
2545
2546    <li>corrected an error-handling case in
2547    <code>decodeUtf8</code>, matching a similar fix in <a href=
2548    "#xterm_268">patch #268</a> (report/patch by Dan Gohman).</li>
2549
2550    <li>add a test-driver for <code>ptydata.c</code></li>
2551
2552    <li>minor cleanup of macros (adapted from patch by Walter
2553    Harms).</li>
2554
2555    <li>fix some errata in <code>ctlseqs.ms</code> (report by
2556    Thomas Wolff).</li>
2557
2558    <li>allow immediate repaint-on-palette-changed if
2559    double-buffering is enabled.</li>
2560
2561    <li>deprecate codes 10/11 in sgr push controls, changing those
2562    to 30/31, to avoid confusion with sgr 10-19.</li>
2563
2564    <li>modify <code>SGR</code> parameter handling to stop if an
2565    unrecognized parameter is encountered, to guard against
2566    malformed or nonstandard sequences (report by Bram
2567    Moolenaar).</li>
2568
2569    <li>modify <code>DECERA</code> color for consistency with other
2570    erasures/clearing (report by Thomas Wolff).</li>
2571
2572    <li><code>ECH</code> should not be masked by
2573    <code>DECSCA</code> (report by Thomas Wolff).</li>
2574
2575    <li>extend <code>DECFRA</code> and <code>REP</code> to accept
2576    any &ldquo;graphic&rdquo; character rather than just Latin1,
2577    etc. (report by Thomas Wolff).</li>
2578
2579    <li>add <code>-C</code> option to 256colors2.pl and
2580    88colors2.pl, to demonstrate mixed semicolon/colon separators
2581    which are implied by ECMA-48.</li>
2582
2583    <li>update sample terminfo to reflect the documentation
2584    improvements.</li>
2585
2586    <li>update description of 88/256/direct color in
2587    <code>ctlseqs.ms</code> to point out that using semicolons is a
2588    deprecated legacy feature, and standard terminal applications
2589    should use colons (prompted by discussion with Bram
2590    Moolenaar).</li>
2591
2592    <li>modify configure-check for <code>tgetent</code> to
2593    conditionally include <code>termcap.h</code>, enabling
2594    configuration using <code>clang</code>'s pedantic-errors option
2595    (report by Dennis Clarke). See <a href=
2596    "https://invisible-island.net/ncurses/man/curs_termcap.3x.html#h3-Other-Compatibility">
2597    <em>Other Compatibility</em></a> in ncurses'
2598    <em>curs_termcap(3X)</em>.</li>
2599
2600    <li>remove some unnecessary pointer checks (patch by Walter
2601    Harms).</li>
2602
2603    <li>accept terminal-id and add DA response for VT131,
2604    VT132.</li>
2605  </ul>
2606
2607  <h1><a name="xterm_356" id="xterm_356">Patch #356 -
2608  2020/05/02</a></h1>
2609
2610  <ul>
2611    <li>revise fix for Debian #954730, which interfered with wheel
2612    mouse events (report by Gabriele Balducci).</li>
2613  </ul>
2614
2615  <h1><a name="xterm_355" id="xterm_355">Patch #355 -
2616  2020/05/01</a></h1>
2617
2618  <ul>
2619    <li>revise fix for Debian #954730, which interfered with wheel
2620    mouse events (report by Henri Menke).</li>
2621
2622    <li>fix typos in documentation (reports by Stephen Hurd, Stefan
2623    Assmann).</li>
2624
2625    <li>add mapping for <code>decTerminalID</code> for
2626    &ldquo;100&rdquo; overlooked in <a href="#xterm_354">patch
2627    #354</a>.</li>
2628
2629    <li>update tables in wcwidth.c based on Unicode 13.0.0</li>
2630
2631    <li>build-fix for &ldquo;make check&rdquo; when building
2632    out-of-tree (report by Sven Joachim).</li>
2633  </ul>
2634
2635  <h1><a name="xterm_354" id="xterm_354">Patch #354 -
2636  2020/04/26</a></h1>
2637
2638  <ul>
2639    <li>work around performance problems of
2640    <code>XDrawImageString</code> and
2641    <code>XDrawImageString16</code> functions (Debian
2642    #954845).</li>
2643
2644    <li>add a control sequence which reports xterm's version (patch
2645    by Nicholas Marriott, mintty #881).</li>
2646
2647    <li>temporarily set numeric locale category to "C" when parsing
2648    resources, so that <code>scaleHeight</code> and
2649    <code>faceSize</code> settings do not depend on locale (Debian
2650    #820803).</li>
2651
2652    <li>improve DA/DA2 response by ensuring that the
2653    <code>decTerminalID</code> maps to one of the known
2654    identifiers, as well as providing DA2 response for VT241 and
2655    VT382.</li>
2656
2657    <li>terminfo improvements:
2658      <ul>
2659        <li>add (my) comments from ncurses which explain the keypad
2660        layouts.</li>
2661
2662        <li>add <code>vt52+keypad</code> from ncurses</li>
2663
2664        <li>use improved <code>xm</code> example for
2665        <code>xterm+x11mouse</code>, <code>xterm+sm+1006</code>
2666        from ncurses 6.2 terminfo.src</li>
2667      </ul>
2668    </li>
2669
2670    <li>two fixes for left/right wheel mouse event reporting
2671    (Debian #954730):
2672      <ul>
2673        <li>filter identical button-events</li>
2674
2675        <li>correct order of button-range versus protocol type (see
2676        <a href="#xterm_345">patch #345</a>)</li>
2677      </ul>
2678    </li>
2679
2680    <li>change &ldquo;make check&rdquo; makefile-rule to use
2681    test-drivers for charclass and wcwidth data.</li>
2682
2683    <li>quiet &ldquo;did not find a usable <em>xxx</em> TrueType
2684    font&rdquo; warnings by making <code>fontWarnings</code> apply
2685    to these messages (report by Jim Rees).</li>
2686
2687    <li>improve reinitialization of parameter list (report/testcase
2688    by James Holderness).</li>
2689
2690    <li>temporarily set numeric locale category to "C" when
2691    formatting SVG or XHTML screendumps, to make the radix
2692    separator used in RGB values consistent (adapted from patch by
2693    George Kouryachy).</li>
2694
2695    <li>add resource <code>forceXftHeight</code> to control whether
2696    workaround from Debian #880407 is used.</li>
2697
2698    <li>apply updated ascent/descent in workaround from Debian
2699    #880407 to fix a 1-pixel gap in built-in vertical lines
2700    (report/testcase by Stefan Assmann).</li>
2701
2702    <li>improve round-off of scaling for built-in line-drawing
2703    (prompted by discussion with Stefan Assmann).</li>
2704
2705    <li>adjust fonts in svg-icon files to accommodate reduced
2706    functionality of new pango (report/analysis by YOKOTA
2707    Hiroshi).</li>
2708
2709    <li>improve configure check for X Toolkit library.</li>
2710
2711    <li>correct Y-coordinate transformation in
2712    <code>ClearCurBackground</code>, overlooked in changes for
2713    <a href="#xterm_334">patch #334</a> (report/analysis by Chuck
2714    Silvers).</li>
2715
2716    <li>remove <code>--vendor</code> option from test-packages'
2717    install of desktop files; the feature is badly broken in
2718    <em>gnome-shell</em>.</li>
2719
2720    <li>modify <code>uxterm</code> to make it possible to select
2721    nonstandard locale <em>C.UTF-8</em>, e.g, if the user's locale
2722    is set to &ldquo;C&rdquo; (Debian #940626).</li>
2723
2724    <li>re-save/tweak &ldquo;.svg&rdquo; icon-files to work around
2725    breakage in toolset since the files were created in <a href=
2726    "#xterm_283">patch #283</a>.</li>
2727  </ul>
2728
2729  <h1><a name="xterm_353" id="xterm_353">Patch #353 -
2730  2020/02/01</a></h1>
2731
2732  <ul>
2733    <li>amend change in <a href="#xterm_352">patch #352</a> for
2734    button-events to fix a case where some followup events were not
2735    processed soon enough (report/patch by Jimmy Aguilar
2736    Mena).</li>
2737
2738    <li>handle <em>MappingNotify</em> X event, to improve recovery
2739    when switching keyboard configurations using
2740    <code>xkbcomp</code> (prompted by discussion with Frank Mosch,
2741    Debian #661295). There is more work needed here, possibly in
2742    the X libraries.</li>
2743
2744    <li>improve discussion of mouse-mode in <code>ctlseqs.ms</code>
2745    (suggested by Igor van den Hoven).</li>
2746
2747    <li>further improve checks for Xft <em>max-advance-width</em>
2748    to take into account fonts which use two cells for ambiguous
2749    width characters. Also improve the time used for these checks
2750    (reports by Yuri Pankov, Frank Mosch).</li>
2751
2752    <li>fix a few spelling errors reported by codespell (report by
2753    Jens Schleusener).</li>
2754
2755    <li>modify <code>run-tic.sh</code> to prefer development
2756    version of ncurses since changes to terminfo file in <a href=
2757    "#xterm_345">patch #345</a> rely upon bug-fixes in ncurses
2758    (prompted by discussion with Will Senn).</li>
2759  </ul>
2760
2761  <h1><a name="xterm_352" id="xterm_352">Patch #352 -
2762  2020/01/16</a></h1>
2763
2764  <ul>
2765    <li>adjust fontsize data to handle a minor inconsistency from
2766    recent Xft versions (Debian #880407, adapted from patch by
2767    Vincent Lef&egrave;vre).</li>
2768
2769    <li>add a table to the manual page description of
2770    <code>forceBoxChars</code> to alert the reader to the special
2771    characters aside from &ldquo;line-drawing&rdquo; which are
2772    drawn directly when this resource is set (Debian #931305).</li>
2773
2774    <li>improve <code>checkXft</code> logic which attempts to
2775    detect fonts whose <em>max-advance-width</em> is inconsistent
2776    with the actual glyph widths. For some fonts, it is necessary
2777    to check additional characters (report/analysis by Jan
2778    Engelhardt).</li>
2779
2780    <li>improve configure-checks for X headers and libraries on
2781    recent MacOS, which has moved those files under
2782    <code>/usr/X11</code>.</li>
2783
2784    <li>improve portability of iconify/deiconify feature by taking
2785    into account some window managers which manipulate the EWMH
2786    <code>_NET_WM_STATE</code> property, adding/removing
2787    <code>_NET_WM_STATE_HIDDEN</code> rather than actually
2788    <em>minimizing</em> the window (prompted by discussion with
2789    J&ouml;rg Breitbart).</li>
2790
2791    <li>improve workaround from <a href="#xterm_287">patch #287</a>
2792    for the <code>-iconic</code> option when configured with
2793    toolbar by postponing the extra request for minimizing the
2794    window to the end of menu-initialization.</li>
2795
2796    <li>modify <code>xevents</code> special-case for mouse-events
2797    to include button-events so that the meta key by itself can
2798    generate button-events (report/analysis by Mattias
2799    Engdeg&aring;rd).</li>
2800
2801    <li>amend SGR-stack change from <a href="#xterm_348">patch
2802    #348</a> to not associate bold attribute with background color
2803    (report by Nicholas Marriott).</li>
2804
2805    <li>fix copy/paste error in manual page (patch by Larry
2806    Hynes).</li>
2807
2808    <li>add definitions in <code>xterm_io.h</code> so that GNU/Hurd
2809    will use <code>posix_openpty</code> (patch by Samuel
2810    Thibault).</li>
2811
2812    <li>build-fix in debug-tracing, for <code>esctest</code>.</li>
2813
2814    <li>updated autoconf macros</li>
2815
2816    <li>update config.guess</li>
2817  </ul>
2818
2819  <h1><a name="xterm_351" id="xterm_351">Patch #351 -
2820  2019/11/17</a></h1>
2821
2822  <ul>
2823    <li>correct logic in <code>property_to_string</code> for
2824    deciding when to fallback from UTF-8 decoding to ISO-8859-1
2825    decoding, broken in <a href="#xterm_350">xterm #350</a>
2826    (FreeBSD #241961).</li>
2827
2828    <li>add <code>-report-icons</code> to help-message.</li>
2829
2830    <li>improved autoconf macros:
2831      <ul>
2832        <li><code>CF_ADD_LIBS</code>: the change to filter out
2833        duplicates caused this to append rather than prepend.
2834        revise to fix that.</li>
2835
2836        <li><code>CF_GCC_VERSION</code> and
2837        <code>CF_GCC_WARNINGS</code>: move checks to distinguish
2838        icc/clang from gcc from the macro which handles the
2839        --enable-warnings option, to make this work
2840        without-warnings for the inline-checks.</li>
2841      </ul>
2842    </li>
2843
2844    <li>update config.guess, config.sub</li>
2845
2846    <li>correct status in <code>XTGETXRES</code> replies when the
2847    resource was not found.</li>
2848
2849    <li>fix some gcc, cppcheck, clang and coverity warnings.</li>
2850
2851    <li>guard call to <code>RequestResize</code> from the
2852    struct-notify event handler to prevent recursion in the
2853    Xft+buffered workaround in some cases when doing manual
2854    resizing rather than resizing via escape sequences (reports by
2855    Stefan Assmann, Mike Thornburg).</li>
2856
2857    <li>amend the workaround for Xft+buffered blanking by moving
2858    the switch to bitmap-fonts to account for differences in font
2859    metrics between bitmap- and TrueType-fonts (report by Stefan
2860    Assmann).</li>
2861
2862    <li>improve the note on the <code>xterm-rep</code> terminfo
2863    entry (prompted by discussion with Sven Joachim).</li>
2864  </ul>
2865
2866  <h1><a name="xterm_350" id="xterm_350">Patch #350 -
2867  2019/11/02</a></h1>
2868
2869  <ul>
2870    <li>modify html/svg dump to not ignore zero'd/blank cells.</li>
2871
2872    <li>align terminfo file with ncurses, e.g., add
2873    <code>xterm+osc104</code> block.</li>
2874
2875    <li>improve discussion of <code>modifyOtherKeys</code> in
2876    manual page and in <code>ctlseqs.ms</code>.</li>
2877
2878    <li>add <code>vttests/modify-keys.pl</code> script to
2879    illustrate the <code>modifyOtherKeys</code> resource (prompted
2880    by discussion with Bram Moolenaar).</li>
2881
2882    <li>various improvements to <code>ctlseqs.ms</code>, as part of
2883    autogenerating links for the website.</li>
2884
2885    <li>update manual page default for <code>saveLines</code>
2886    resource default value (Branden Robinson, Debian #913815).</li>
2887
2888    <li>add command-line option <code>-report-xres</code> to show
2889    the values of the VT100 widget X resources when initialization
2890    is complete.</li>
2891
2892    <li>add a control sequence which, like tcap-query, allows an
2893    application to inspect most X resource settings of the VT100
2894    widget.</li>
2895
2896    <li>adjust some optional features to enable them in the imake
2897    configuration as they would be by default via the configure
2898    script.</li>
2899
2900    <li>add null-pointer checks to improve error recovery when
2901    bitmap fonts are missing or corrupt (report by Jonne
2902    Ransijn).</li>
2903
2904    <li>correct the condition for deleting the EWMH window-title
2905    property, i.e., if UTF-8 titles are disabled, rather than if an
2906    update to the EWHM property found no change (report by Sven
2907    Joachim).</li>
2908
2909    <li>build-fix for the case when configure
2910    <code>--enable-trace</code> is used without
2911    <code>--enable-warnings</code> (report by Sven Joachim).</li>
2912
2913    <li>fix a few minor bugs found with Coverity.</li>
2914
2915    <li>add a check in <code>property_to_string</code> to avoid
2916    translating <code>UTF8_STRING</code> or
2917    <code>COMPOUND_TEXT</code> into Latin-1 when UTF-8 encoding is
2918    active, e.g., when pushing onto the title-stack while switching
2919    to the alternate screen.</li>
2920
2921    <li>build-fix for the <code>--disable-doublechars</code>
2922    configure option (report by Brian Lindholm).</li>
2923  </ul>
2924
2925  <h1><a name="xterm_349" id="xterm_349">Patch #349 -
2926  2019/09/22</a></h1>
2927
2928  <ul>
2929    <li>add graphic context to support bold+italics (patch by Quinn
2930    Strahl).</li>
2931
2932    <li>document window properties in the manual page.</li>
2933
2934    <li>improve title-string feature:
2935      <ul>
2936        <li>if any of <code>allowC1Printable</code>,
2937        <code>utf8Title</code> or <code>titleModes</code> hint that
2938        an application might send a title-string encoded in UTF-8,
2939        check if that is the case, and if it is recodable into
2940        ISO-8859-1, use that for the ICCCM-style title.</li>
2941
2942        <li>check if the title given by a control sequence happens
2943        to be already encoded in UTF-8, to avoid double-encoding
2944        (FreeBSD #240393).</li>
2945
2946        <li>Make <code>sameName</code> resource work for the EWMH
2947        titles.</li>
2948
2949        <li>Modify menu-state of <code>utf8Title</code> to be
2950        consistent with the <code>utf8</code> source, i.e., setting
2951        the EWMH properties automatically when UTF-8 is
2952        active.</li>
2953      </ul>
2954    </li>
2955
2956    <li id="xterm_349_xft_bug">reorganize text-drawing to make it
2957    possible to investigate using Xft to implement VT100-style
2958    double-sized characters. While doing this, made a workaround
2959    for apparent Xft bug which loses its drawable state when
2960    switching from 132 to 80 columns.</li>
2961
2962    <li>improve font-warning messages by showing which are
2963    <em>derived</em> rather than directly from resource settings
2964    (suggested by Tomas Korbar). Also filter repeated font-warning
2965    messages, to accommodate broken X configurations.</li>
2966
2967    <li>fix an inconsistency between failure to load derived wide
2968    font versus failure to load derived wide-bold font (Redhat
2969    #1679790). That relies upon the &ldquo;:unscaled&rdquo;
2970    property which is broken in some distributions (however, recent
2971    Debian and the BSDs such as MacOS work).</li>
2972
2973    <li>updated autoconf-252 to check X11R7 include/lib directories
2974    found on some older configurations.</li>
2975
2976    <li>set a graphic-context for border when double-buffering is
2977    active; to prevent the border color from changing when
2978    switching to reverse-video.</li>
2979
2980    <li>build-fix for <code>--disable-ziconbeep</code>, which
2981    conflicted with the new double-buffer configuration (report by
2982    Brian Lindholm).</li>
2983
2984    <li>fix loop-limit for lookup of <code>fullscreen</code>
2985    resource broken in <a href="#xterm_347">xterm #347</a> (report
2986    by Scott Bertilson).</li>
2987  </ul>
2988
2989  <h1><a name="xterm_348" id="xterm_348">Patch #348 -
2990  2019/07/22</a></h1>
2991
2992  <ul>
2993    <li>update window-manager hints when exiting Tek4014 mode
2994    (Debian #932569, patch by Jonathan Irwin).</li>
2995
2996    <li>fix a misformatted printf in
2997    <code>report-sgr.pl</code>.</li>
2998
2999    <li>add configure check for termios types, to improve
3000    compiler-warnings.</li>
3001
3002    <li>ensure that when resetting margins, to also reset
3003    <code>DECLRMM</code>. This affects <code>DECCOLM</code>,
3004    <code>DECALN</code> (although DEC STD 070 mentions only
3005    top/bottom margins), and <code>DECSTR</code>.</li>
3006
3007    <li>corrected order of reset/move when setting
3008    <code>DECCOLM</code>, and make it more consistent by always
3009    resetting margins, rather than only when the mode is changed
3010    (report by James Holderness).</li>
3011
3012    <li>compile-in double-buffer support by default, changing the
3013    configure option to set the default resource value for
3014    <code>buffered</code> to true or false.</li>
3015
3016    <li>take in account the reverse-video state when computing the
3017    filler-color used when clearing the screen in double-buffering
3018    configuration.</li>
3019
3020    <li>correct logic for filtering scrollbar-updates when
3021    <code>buffered</code> resource is compiled-in but not enabled
3022    (report by Paul Lampert).</li>
3023
3024    <li>improve state saved/restored for cursor-save and SGR stack
3025    features.</li>
3026
3027    <li>improve description of 1006 and 1005 mouse modes, to avoid
3028    implying that they use character-parameters (report by Bryan
3029    Christ).</li>
3030
3031    <li>explain in <code>ctlseqs.ms</code> that some of the numeric
3032    keypad keys were xterm extensions rather than VT100/VT220
3033    terminal features (prompted by discussion with Thomas
3034    Wolff).</li>
3035
3036    <li>explain in <code>ctlseqs.ms</code> how the DEC windowing
3037    extension is supported by xterm.</li>
3038
3039    <li>add 28 rectangular editing to the primary response
3040    (suggested by Thomas Wolff).</li>
3041
3042    <li>fix a typo, improve wording in <code>ctlseqs.ms</code>
3043    (Thomas Wolff).</li>
3044
3045    <li>fix internal column-parameter when <code>SL</code> or
3046    <code>SR</code> is used with left/right margins (patch by
3047    Thomas Wolff).</li>
3048
3049    <li>fix off-by-one in VT52 graphics character mapping (patch by
3050    Thomas Wolff).</li>
3051
3052    <li>use <code>_X_UNUSED</code>, etc., when available as a
3053    fallback for <code>GCC_UNUSED</code>, etc., to reduce compiler
3054    warnings when building with <code><em>imake</em></code>.</li>
3055
3056    <li>update config.sub</li>
3057  </ul>
3058
3059  <h1><a name="xterm_347" id="xterm_347">Patch #347 -
3060  2019/06/30</a></h1>
3061
3062  <ul>
3063    <li>fix a few minor bugs found with Coverity.</li>
3064
3065    <li>improve double-buffering for scrollbars combined with
3066    scrolled text; add <code>bufferedFPS</code> resource to control
3067    the maximum rate of screen updates (report by Mike
3068    Thornburg).</li>
3069
3070    <li>improve fixes for <code>DECCRA</code> handling of
3071    double-width characters (patch by Martin Hostettler).</li>
3072
3073    <li>improve discussion of ECMA-48's typographical error for
3074    <code>SD</code> in <code>ctlseqs.ms</code> (prompted by report
3075    by Martin Hostettler).</li>
3076
3077    <li>correct off-by-one in parameter limit-check for
3078    <code>DECCRA</code> (report by Martin Hostettler).</li>
3079
3080    <li>modify <code>saveCellData</code> to handle case where
3081    double-width character is partially copied; that should be
3082    blanked (report/testcase by Thomas Wolff).</li>
3083
3084    <li>add resource <code>buffered</code> to allow
3085    enabling/disabling double-buffered mode.</li>
3086
3087    <li>two fixes for the double-buffer configuration, prompted by
3088    MacPorts' switch to double-buffering (patch by Mike Thornburg,
3089    MacPorts #58313):
3090      <ul>
3091        <li>ensure that the needSwap flag is set after drawing
3092        TrueType text</li>
3093
3094        <li>corrected the drawable-parameter used for the
3095        bar-cursor</li>
3096      </ul>
3097    </li>
3098
3099    <li>modify <code>ScrnRefresh</code> to ignore a case where the
3100    left/right halves of a double-width character have been set to
3101    different video attributes. The attribute to use is in the
3102    left-half (report/testcase by Thomas Wolff).</li>
3103
3104    <li>correct a limit-check for <code>DECCRA</code> in case the
3105    target lies off-screen (report/testcase by Thomas Wolff).</li>
3106
3107    <li>documentation errata (report by Thomas Wolff).</li>
3108
3109    <li>reset flags including wraparound and reverse-wrap when
3110    switching to VT52 mode, while noting that DEC's standard
3111    documentation leaves that behavior <em>undefined</em> (report
3112    by Thomas Wolff).</li>
3113
3114    <li>ensure that italic font is turned off on hard/soft resets
3115    (report by Martin Hostettler).</li>
3116
3117    <li>improve responsiveness to X events while processing HTML or
3118    SVG dumps (report by Martin Hostettler).</li>
3119
3120    <li>replace logic in <code>wcwidth.c</code> for detecting
3121    double-width characters with binary-search table generated
3122    using updated <code>uniset</code> (report by Robert Ross).</li>
3123
3124    <li>add test-driver for <code>wcwidth.c</code> to simplify
3125    comparison with system's <code>wcwidth</code>.</li>
3126
3127    <li>ensure that window-manager name comparisons work when
3128    active-icon is enabled, since <code><em>CSI</em>13t</code> uses
3129    the window-manager name (report by Glenn Golden, Arch
3130    #62818).</li>
3131
3132    <li>trim a stray &ldquo;experimental&rdquo; in one of the
3133    comments about the tcap-query feature, which has been a
3134    supported feature since 2008 (see <a href="#xterm_238">patch
3135    #238</a>).</li>
3136  </ul>
3137
3138  <h1><a name="xterm_346" id="xterm_346">Patch #346 -
3139  2019/05/27</a></h1>
3140
3141  <ul>
3142    <li>update description of the &ldquo;default&rdquo; setting for
3143    the <code>renderFont</code> resource to match the behavior in
3144    <a href="#xterm_261">patch #261</a> (Debian #862042).</li>
3145
3146    <li>account for <code>internalBorder</code> in
3147    <code>useBorderClipping</code> (report by Robert Ross).</li>
3148
3149    <li>update table of unknown-width characters in wcwidth.c based
3150    on Unicode 12.1.0 (prompted by discussion with Robert
3151    Ross).</li>
3152
3153    <li>improve description of DECSCL versus S7C1T and S8C1T in
3154    <code>ctlseqs.ms</code>.</li>
3155
3156    <li>improve consistency between <code><em>CSI</em>3t</code> and
3157    <code><em>CSI</em>13t</code>, accounting for differences
3158    between some window managers' handling of EMWH extents (report
3159    by Bram Moolenaar).</li>
3160
3161    <li>fix a sign-extension when reporting offscreen window
3162    position (report by Bram Moolenaar).</li>
3163  </ul>
3164
3165  <h1><a name="xterm_345" id="xterm_345">Patch #345 -
3166  2019/05/14</a></h1>
3167
3168  <ul>
3169    <li>updated FreeBSD test-package from recent /usr/ports
3170    scripts.</li>
3171
3172    <li>workaround in <code>run-tic.sh</code> for HPUX, whose
3173    <code>mktemp</code> prints the name of a temporary directory
3174    without creating it.</li>
3175
3176    <li>add left/right margin capabilities to terminfo, since the
3177    default terminal emulation is VT420 (suggested by Thomas
3178    Wolff).</li>
3179
3180    <li>modify treatment of <code>reverseVideo</code> for dynamic
3181    colors to make text foreground/background consistent with the
3182    cursor color (prompted by discussion with Ben Wong, lsix
3183    #20).</li>
3184
3185    <li>modify button-handling to make SGR button-release distinct
3186    from button-press for button-codes starting with 8 (patch by
3187    Mikulas Patocka).</li>
3188
3189    <li>add aliases for the sgr push/pop controls to work around
3190    language limitations of C# (request by Dan Thompson).</li>
3191
3192    <li>correct a typo in <code>setDirectFG</code>, which could
3193    cause setting of indexed-color after a direct-color to be
3194    ignored.</li>
3195
3196    <li>add resource <code>useBorderClipping</code> as an
3197    alternative to <code>useClipping</code> (request by Robert
3198    Ross).</li>
3199
3200    <li>improve logic for displaying xterm's built-in line-drawing
3201    characters vs missing glyphs, e.g., for U+2409 to U+240D (patch
3202    by Robert Ross).</li>
3203
3204    <li>add <code>vttests/sgrPushPop2.pl</code> to illustrate how
3205    selective pushes work, as well as to demonstrate push/pop of
3206    the various color types supported by xterm.</li>
3207
3208    <li>fix a special case in <code>XTPOPSGR</code> where
3209    direct-colors were not checked as a dependency of
3210    indexed-colors, contrary to documentation.</li>
3211
3212    <li>reduce buffer-flushes for <code>OSC&nbsp;4</code> and
3213    <code>OSC&nbsp;5</code> color-queries, as well as in the
3214    queries for dynamic colors.<br>
3215    <strong>Note:</strong> this change makes the reply for
3216    <code>OSC&nbsp;5</code> use the &ldquo;5&rdquo; in the
3217    response; formerly it was mapped to &rdquo;4&rdquo; after
3218    adding the maximum number of colors.</li>
3219
3220    <li>modify <code>vttests/query-color.pl</code> to demonstrate
3221    multiple queries in one request.</li>
3222
3223    <li>update tables of combining and unknown-width characters in
3224    wcwidth.c based on Unicode 12.0.0.</li>
3225
3226    <li>modify response for <code>OSC&nbsp;5</code> to be
3227    consistent with documentation.</li>
3228
3229    <li>add <code>vttests/query-dynamic.pl</code></li>
3230
3231    <li>modify <code>vttests/query-color.pl</code> to accept bold,
3232    underline, etc., keywords to decide whether to use
3233    <code>OSC&nbsp;5</code> rather than
3234    <code>OSC&nbsp;4</code>.</li>
3235
3236    <li>modify cursor coloring to avoid a case where the cursor
3237    matched the foreground color while the text was displayed in
3238    reverse-video (report by Nuno Silva).</li>
3239
3240    <li>fix an inconsistency in X10 mouse responses from <a href=
3241    "#xterm_342">patch #342</a> changes; the legacy protocol
3242    supports only buttons 1-3.</li>
3243
3244    <li>reduce the number of buffer-flushes for tcap-query
3245    batches.</li>
3246
3247    <li>modify <code>tcapquery.pl</code> to demonstrate batch
3248    queries with <code>-q</code> option.</li>
3249
3250    <li>increase response-buffer size, and make it configurable as
3251    <code>limitResponse</code> (prompted by discussion with Stephen
3252    P Wall).</li>
3253
3254    <li>modified configure script:
3255      <ul>
3256        <li>check/workaround for non-POSIX manipulation of
3257        predefined symbols</li>
3258
3259        <li>check for updated X Toolkit, which uses
3260        <code>const</code>.</li>
3261      </ul>
3262    </li>
3263
3264    <li>update config.guess, config.sub</li>
3265
3266    <li>provide for secondary-selection, overlooked in <a href=
3267    "#xterm_338">patch #338</a> (report by Emile LeBlanc).</li>
3268
3269    <li>documentation errata (patch by Larry Hynes).</li>
3270
3271    <li>improve pointer-checks in <code>Tekproc.c</code></li>
3272
3273    <li>revise solution for Debian #919475, to allow for
3274    struct-notify events occurring as a side-effect of toggling
3275    to/from full-screen mode.</li>
3276
3277    <li>window's border-size was incorrectly added to position when
3278    maximizing window (report by Gary Langshaw).</li>
3279  </ul>
3280
3281  <h1><a name="xterm_344" id="xterm_344">Patch #344 -
3282  2019/02/12</a></h1>
3283
3284  <ul>
3285    <li>add ASCII escape to default for
3286    <code>disallowedPasteControls</code> (prompted by discussion
3287    with Martin Hostettler).</li>
3288
3289    <li>fix typo in <code>ctlseqs.ms</code> (Robert Ross).</li>
3290
3291    <li>implement DEC Cyrillic NRCS (based on screenshots of vttest
3292    provided by Markus Schmidt).</li>
3293
3294    <li>correct control returning sixel geometry maximum versus
3295    actual size (patch by Ben Wong).</li>
3296
3297    <li>improve manual page for <code>resize</code> to clarify that
3298    <code>resize</code> does not execute the shell commands which
3299    it generates for setting environment variables.</li>
3300
3301    <li>improve memory-management for parser, to handle response
3302    strings that might occur with <code>ENQ</code> or when
3303    <code>SRM</code> mode is active (patch by Martin
3304    Hostettler).</li>
3305
3306    <li>change <code>Comment</code> text in uxterm's desktop file
3307    to work around a limitation of GNOME's GIO application
3308      (<a href="https://gitlab.gnome.org/GNOME/gnome-shell/issues/940#note_427334">issue
3309      #940</a>). The <a href=
3310      "https://developer.gnome.org/gio/stable/gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-search">
3311      documentation</a> reads:
3312      <blockquote>
3313        <p>Searches desktop files for ones that match
3314        <em><code>search_string</code></em>.</p>
3315
3316        <p>The return value is an array of <em>strv</em>s. Each
3317        <em>strv</em> contains a list of applications that matched
3318        search_string with an equal score. The outer list is sorted
3319        by score so that the first <em>strv</em> contains the
3320        best-matching applications, and so on. The algorithm for
3321        determining matches is undefined and may change at any
3322        time.</p>
3323      </blockquote>
3324    </li>
3325
3326    <li>a check of <code>zIconBeep</code> resource was removed in
3327    double-buffer fix in <a href="#xterm_334">patch #334</a>. That
3328    is used to decide whether to handle struct-notify events. When
3329    xterm does handle the events, it may negotiate a new
3330    window-size with the window manager. In that case, the
3331    <code>limitResize</code> resource setting limited the new
3332    window-size to the screen-size. Amended that by eliminating the
3333    limit for this special case when double-buffer is configured,
3334    and restoring the check for <code>zIconBeep</code> when
3335    double-buffer is not configured (Debian #919475).</li>
3336
3337    <li>disallow recursion which could happen if a user configures
3338    the <code>answerbackString</code> resource with the
3339    <code>ENQ</code> code and experiments with that code when
3340    <code>SRM</code> is enabled (report by by Martin
3341    Hostettler).</li>
3342
3343    <li>add remaining credits in <code>COPYING</code> file.</li>
3344
3345    <li>modify <code>run-tic.sh</code> to check if it is using an
3346    older version of ncurses which does not support large terminal
3347    descriptions, and if so, remove a non-essential feature to keep
3348    within the 4096-byte legacy limit.</li>
3349  </ul>
3350
3351  <h1><a name="xterm_343" id="xterm_343">Patch #343 -
3352  2019/01/13</a></h1>
3353
3354  <ul>
3355    <li>modify <code>run-tic.sh</code> to prefer ncurses6 over
3356    ncurses5, when available.</li>
3357
3358    <li>add <code>COPYING</code> file, and dummy "check" makefile
3359    rule for testing Arch packages.</li>
3360
3361    <li>add/update package scripts for FreeBSD and NetBSD, for
3362    testing.</li>
3363
3364    <li>update tables of combining and ambiguous-width characters
3365    in wcwidth.c based on Unicode 11.0.0.</li>
3366
3367    <li>modify <code>xterm-new</code> sample terminfo entry to
3368    correspond to ncurses 6.1, using the SGR 1006 mouse
3369    protocol.</li>
3370
3371    <li>improve manual page discussion of selection ownership
3372    versus highlighting (prompted by discussion with Martin
3373    Hostettler).</li>
3374
3375    <li>restore/repair <code>keepClipboard</code> feature which was
3376    broken by changes in <a href="#xterm_338">patch #338</a>
3377    (report by Martin Hostettler).</li>
3378
3379    <li>improve documentation for <code>deleteIsDEL</code>
3380    resource.</li>
3381
3382    <li>modify DECRQM response for private mode 1037 to account for
3383    cases where the resource <code>deleteIsDEL</code> is initially
3384    neither true nor false, but dependent upon the keyboard type
3385    (report/analysis by Martin Hostettler).</li>
3386
3387    <li>clear pointers for pattern/fontset after destroying their
3388    data when switching facename with an escape sequence (report by
3389    Robert Ross).</li>
3390
3391    <li>modify logic for TrueType fallback fonts to match the
3392    sort-order used by <code>fc-match</code> (report by Robert
3393    Ross).</li>
3394
3395    <li>add resource setting <code>limitFontsets</code> which can
3396    be used to limit or disable the new TrueType fontset feature
3397    (request by Robert Ross).</li>
3398  </ul>
3399
3400  <h1><a name="xterm_342" id="xterm_342">Patch #342 -
3401  2019/01/03</a></h1>
3402
3403  <ul>
3404    <li>limit mouse-button events to 11 buttons in the original
3405    protocol, and 15 in the extended mouse-protocol (patch by
3406    Martin Hostettler).</li>
3407
3408    <li>correct calculation for buttons past 11 in
3409    <code>mouse-codes</code> sample script (patch by Martin
3410    Hostettler).</li>
3411
3412    <li>disable a supplementary check added in <a href=
3413    "#xterm_341">patch #341</a> which interferes with using
3414    fontconfig to select different-sized bitmap fonts (Arch
3415    #61237).</li>
3416  </ul>
3417
3418  <h1><a name="xterm_341" id="xterm_341">Patch #341 -
3419  2018/12/24</a></h1>
3420
3421  <ul>
3422    <li>add options to <code>mouse-codes</code> script to
3423    demonstrate that the encoding used for mouse events limits
3424    button numbers to 11.</li>
3425
3426    <li>allow mouse button numbers up to 11 using an offset of 128
3427    for button numbers 8-11 rather than the offset of 64 used for
3428    wheel-mouse, etc., buttons 4-7 in <a href="#xterm_338">patch
3429    #338</a> (adapted from patch by Martin Hostettler).</li>
3430
3431    <li>correct off-by-one right-margin checks for double-width
3432    character adjustments in DECERA/DECFRA (patch by Martin
3433    Hostettler).</li>
3434
3435    <li>allocated size of selection buffer was not reset when
3436    freeing the buffer in <a href="#xterm_338">patch #338</a>
3437    (report/analysis by Stefan Assmann).</li>
3438
3439    <li>modify the initial pattern passed to fontconfig to disallow
3440    color bitmap fonts.</li>
3441
3442    <li>improve error recovery for a case where fontconfig ignores
3443    the requested pattern due to override in the user's font
3444    configuration (report/testcase by Stefan Assmann).</li>
3445  </ul>
3446
3447  <h1><a name="xterm_340" id="xterm_340">Patch #340 -
3448  2018/12/16</a></h1>
3449
3450  <ul>
3451    <li>suppress a spurious warning about fontsets when
3452    initializing menus for the toolbar configuration.</li>
3453
3454    <li>fix some strict compiler warnings.</li>
3455
3456    <li>improve checks for TrueType font, to help with the case of
3457    color bitmap fonts, which fontconfig misrepresents (Arch Linux
3458    #58706).</li>
3459  </ul>
3460
3461  <h1><a name="xterm_339" id="xterm_339">Patch #339 -
3462  2018/12/12</a></h1>
3463
3464  <ul>
3465    <li>modify <code>CF_GNU_SOURCE</code> macro to treat
3466    <em>newlib</em> as similar to <em>glibc</em>, fixing a problem
3467    with the configure checks for pseudoterminals in Cygwin
3468    overlooked in <a href="#xterm_334">patch #334</a> updates for
3469    configure-macros.</li>
3470  </ul>
3471
3472  <h1><a name="xterm_338" id="xterm_338">Patch #338 -
3473  2018/12/09</a></h1>
3474
3475  <ul>
3476    <li>ignore <code>$TERMINFO</code> in the configure script if it
3477    is set to a non-directory value.</li>
3478
3479    <li>updated configure macros:
3480      <ul>
3481        <li><code>CF_WITH_PCRE2</code>, modified to work with
3482        Debian's (mis-numbered) pcre3 package.</li>
3483
3484        <li><code>CF_CC_ENV_FLAGS</code> , report preprocessor
3485        options in <code>CFLAGS</code></li>
3486
3487        <li><code>CF_LD_RPATH_OPT</code> , suppress check if
3488        <code>--disable-rpath</code> option was given.</li>
3489
3490        <li><code>CF_XOPEN_SOURCE</code>, add case for
3491        midnightbsd</li>
3492      </ul>
3493    </li>
3494
3495    <li>update config.guess, config.sub</li>
3496
3497    <li>add a check to ensure that the filename parameter passed to
3498    <code>XpmReadFileToPixmap</code> is actually a file, since that
3499    function does not check (report by Ben Nott).</li>
3500
3501    <li>amend solution for Debian #758633 to ensure that replies
3502    for bracketed paste are not sent while processing a selection
3503    for <code>exec-formatted</code> (Debian #913237).</li>
3504
3505    <li>improve adjustments/clearing for double-width characters in
3506    <code>DECERA</code>, <code>DECFRA</code>,
3507    <code>DECSERA</code>.</li>
3508
3509    <li>improve adjustments/clearing for double-width characters
3510    when doing vertical scrolling within left/right margins (patch
3511    by Martin Hostettler).</li>
3512
3513    <li>modify wcwidth to encode a few spacing combining marks as
3514    regular combining characters.</li>
3515
3516    <li>change compiled-in default for <code>saveLines</code> to
3517    match the resource-file changed in <a href="#xterm_192">patch
3518    #192</a> (Debian #913815).</li>
3519
3520    <li>change default <code>faceSize</code> to 8.0, to simplify
3521    switching back/forth between bitmap fonts and TrueType. This
3522    was originally (mis)set to 14.0 in <a href="#xterm_148">patch
3523    #148</a>.</li>
3524
3525    <li>add fallback support in Xft configuration for missing
3526    glyphs (prompted by discussion with Mike Burns).</li>
3527
3528    <li>fix a problem with using direct-colors for the background
3529    color when clearing/scrolling (report by Nicholas
3530    Marriott).</li>
3531
3532    <li>add a "sources" rule for the makefile's generated
3533    source.</li>
3534
3535    <li>add a short explanation in <code>ctlseqs.ms</code>
3536    discussing the differences in error-recovery for malformed
3537    sequences versus unimplemented features, and amend one case for
3538    consistency (prompted by discussion with Martin
3539    Hostettler).</li>
3540
3541    <li>adjusted ifdef's so that the paste64 configure option does
3542    not automatically enable the readline-mouse configure
3543    option.</li>
3544
3545    <li>revert the change which prevented concurrent ownership of
3546    different selection targets, and instead modify selection
3547    storage so that different concurrent requests for different
3548    selection targets will be stored/retrieved independently
3549    (Debian #901249).</li>
3550
3551    <li>remove a check which prevented returning button-codes past
3552    the documented 4/5 for wheel mouse, and add a script
3553    <code>mouse-codes</code> which makes a report showing the
3554    various mouse codes for different button/modifier combinations
3555    (discussion with P&#345;emysl Janouch).</li>
3556
3557    <li>improve display and checksum for DEC Special Graphics by
3558    mapping 0x5f to 0.</li>
3559
3560    <li>add a null-pointer check for table-ending in the
3561    extended-boolean resource-handling (report by Felix von
3562    Leitner).</li>
3563
3564    <li>remove stray <code>]</code>'s from INSTALL-file (Larry
3565    Hynes).</li>
3566  </ul>
3567
3568  <h1><a name="xterm_337" id="xterm_337">Patch #337 -
3569  2018/09/21</a></h1>
3570
3571  <ul>
3572    <li>regenerated configure script (report by Sven Joachim).</li>
3573
3574    <li>revise/improve fix for scrolling in margins
3575    (report/analysis by Martin Hostettler):</li>
3576
3577    <li>amend change to default-translations "select" subset to
3578    ensure that specific key-press actions are listed before
3579    generic key-press actions (reports by H Merijn Brand, Sven
3580    Joachim).</li>
3581  </ul>
3582
3583  <h1><a name="xterm_336" id="xterm_336">Patch #336 -
3584  2018/09/19</a></h1>
3585
3586  <ul>
3587    <li>ensure that only one of PRIMARY and CLIPBOARD is owned by
3588    xterm at a given time (Debian #901249).</li>
3589
3590    <li>documentation fixes (report by Lars Krueger):
3591      <ul>
3592        <li>document <code>SL</code> and <code>SR</code>.</li>
3593
3594        <li>document <code>DECRPTUI</code>, change number of digits
3595        to match VT420.</li>
3596      </ul>
3597    </li>
3598
3599    <li>revise <code>omitTranslation</code> resource, e.g.,
3600    splitting &ldquo;default&rdquo; into several more useful
3601    categories.</li>
3602
3603    <li>modify mask-logic to permit <em>control-</em> and
3604    <em>meta-</em> modifiers to be used in mouse protocol.</li>
3605
3606    <li>several fixes for parsing/state (report/testcases by Martin
3607    Hostettler):
3608      <ul>
3609        <li>remove an old/unimplemented entry for xterm-title from
3610        state table.</li>
3611
3612        <li>save/restore wrap-flag when scrolling, to fix an
3613        inconsistency between jump-scrolling and
3614        normal-scrolling.</li>
3615
3616        <li>improve a special case of wrapping where the cursor
3617        starts beyond the right-margin, and wraps at the terminal's
3618        last-column before the settable-margins can take
3619        effect.</li>
3620
3621        <li>if origin mode is set, adjust a restored cursor column
3622        relative to the left margin.</li>
3623
3624        <li>when scrolling a line within left/right margins,
3625        correct order of the fixups needed when a double-width
3626        character crosses the margin boundary.</li>
3627      </ul>
3628    </li>
3629
3630    <li>review/fix a few cases where the parsing state was not
3631    reset after completing a control sequence (prompted by report
3632    by Martin Hostettler).</li>
3633
3634    <li>disallow <code>XTCHECKSUM</code> if the corresponding
3635    window-ops "SetChecksum" is unset.</li>
3636
3637    <li>add <code>print-vt-chars.pl</code> script to illustrate the
3638    NRCS and codepages supported by xterm.</li>
3639
3640    <li>add <code>other-sgr.sh</code> script to demonstrate the
3641    non-VT100 video attributes implemented in <a href=
3642    "#xterm_305">patch #305</a>, and added a summary of their
3643    introduction in ECMA-48 to the control sequences document.</li>
3644
3645    <li>add <code>tabs</code> and <code>-tabs</code> keywords to
3646    <code>ttyModes</code> resource to simplify workaround for
3647    terminal drivers which are not aware of UTF-8 (FreeBSD
3648    #229682).</li>
3649
3650    <li>add VT5xx NRCS 7-bit Turkish and DEC Turkish.</li>
3651
3652    <li>add VT5xx NRCS 7-bit Hebrew and DEC Hebrew.</li>
3653
3654    <li>add VT5xx NRCS 7-bit Greek and DEC Greek.</li>
3655
3656    <li>correct a few post-VT220 codepages to make them display
3657    without setting the NRCS state.</li>
3658
3659    <li>extend <code>vt100Graphics</code> resource to include other
3660    character-sets such as the VT500 codepages in UTF-8 mode.</li>
3661
3662    <li>add some VT5xx codepages to help with the discussion of
3663    96-character sets: <em>ISO Greek Supplemental</em>, <em>ISO
3664    Hebrew Supplemental</em>, <em>ISO Latin&ndash;5
3665    Supplemental</em>, and <em>ISO Latin&ndash;Cyrillic</em>.</li>
3666
3667    <li>improve description of the VT300-controls for designating
3668    character sets, and fix a typo which indicated that some were
3669    used for 94-character sets (prompted by discussion with Lars
3670    Krueger).</li>
3671
3672    <li>add private control <code>XTCHECKSUM</code> for modifying
3673    <code>checksumExtension</code>.</li>
3674
3675    <li>factor out xterm's <code>DECRQCRA</code> checksum
3676    extensions as a resource setting
3677    <code>checksumExtension</code>.</li>
3678
3679    <li>revise calculation of checksum for <code>DECRQCRA</code> to
3680    match DEC's terminals (using screenshots of vttest provided by
3681    Markus Schmidt).</li>
3682
3683    <li>restore a fix for memory-checksum setup of
3684    <code>DECCKSR</code> from <a href="#xterm_315">patch #315</a>
3685    incorrectly reverted in <a href="#xterm_334">patch #334</a> as
3686    part of fix for <code>DECRQCRA</code>.</li>
3687  </ul>
3688
3689  <h1><a name="xterm_335" id="xterm_335">Patch #335 -
3690  2018/08/14</a></h1>
3691
3692  <ul>
3693    <li>add <code>colorInnerBorder</code> resource to make a change
3694    from <a href="#xterm_334">patch #334</a> configurable (reports
3695    by H Merijn Brand, Gabriele Balducci).</li>
3696  </ul>
3697
3698  <h1><a name="xterm_334" id="xterm_334">Patch #334 -
3699  2018/08/12</a></h1>
3700
3701  <ul>
3702    <li>modify <code>Imakefile</code> to reflect the fact that
3703    NetBSD no longer has a working termcap emulation.</li>
3704
3705    <li>add resource-setting <code>validShells</code> which can be
3706    used to augment the system's <code>/etc/shell</code> (prompted
3707    by discussion with Paul Lampert).</li>
3708
3709    <li>stifle some useless warnings from lintian in
3710    test-packages.</li>
3711
3712    <li>add the ncurses extension &ldquo;RGB&rdquo; to the
3713    responses for the termcap-query feature.</li>
3714
3715    <li>improved getopts-handling in sample scripts.</li>
3716
3717    <li>fix some warnings from gcc8 and clang --analyze.</li>
3718
3719    <li>update note about incorrect documentation for
3720    <code>DECRQSS</code> to include VT525 (report by Markus
3721    Schmidt).</li>
3722
3723    <li>correct check for default-values in rectangular parsing; a
3724    zero counts as a missing or default parameter (report/testcase
3725    by Markus Schmidt).</li>
3726
3727    <li>correct some ranges in the <code>ambiguous[]</code> table
3728    in wcwidth (adapted from patch by KUGA Tsutomu).</li>
3729
3730    <li>fix a special case with faint video attribute incorrectly
3731    combined with default color.</li>
3732
3733    <li>add private control <code>XTREPORTSGR</code> for reporting
3734    video-attributes and color on a rectangle, and script
3735    <code>report-sgr.pl</code> to demonstrate it.</li>
3736
3737    <li>modify some of the markup in <code>ctlseqs.ms</code> to
3738    work around groff's reassignment of ASCII punctuation
3739    characters as documented in <em>groff_char(7)</em>.</li>
3740
3741    <li>treat ECMA-48 SGR 6 the same as SGR 5.</li>
3742
3743    <li>add private controls <code>XTPUSHSGR</code> and
3744    <code>XTPOPSGR</code> for saving/restoring the current
3745    video-attributes on a stack (adapted from patch by Dan
3746    Thompson).</li>
3747
3748    <li>modify <code>DECRPM</code> response for logging enable to
3749    indicate its state even when enabling/disabling it is not
3750    allowed.</li>
3751
3752    <li>implement <code>DECSNLS</code></li>
3753
3754    <li>implement <code>DECRSPS</code></li>
3755
3756    <li>improve fill-color for double-buffer configuration, which
3757    was sharing a graphic context with the cursor.</li>
3758
3759    <li>fix a couple of cases where double-sized VT100 characters
3760    were not clipped, seen in Joe Smith's <a href=
3761    "http://www.inwap.com/pdp10/#Tymnet">VT100 torture
3762    test</a>.</li>
3763
3764    <li>color the inner border using the same
3765    <code>borderColor</code> as the outer border, rather than
3766    filling with the VT100's default background.</li>
3767
3768    <li>change encoding of &ldquo;THANKS&rdquo; to UTF-8.</li>
3769
3770    <li>modify handling of <code>DECELR</code> to recognize
3771    <code>MotionNotify</code> events again, amending a check for
3772    <code>allowMouseOps</code> which limited that to button-events
3773    in <a href="#xterm_328">patch #328</a> (Olaf Rogalsky).</li>
3774
3775    <li>fix some screen-painting problems with left/right margins
3776    when using insert-line or delete-line (report/testcase by
3777    Martin Hostettler). also fix similar case with
3778    index/reverse-index.</li>
3779
3780    <li>several minor performance improvements using macros, e.g.,
3781    inline checks for character width.</li>
3782
3783    <li>add <code>DECSCPP</code> and <code>DECSLPP</code> to
3784    <code>DECRQSS</code>.</li>
3785
3786    <li>implement <code>DECSCPP</code>.</li>
3787
3788    <li>implement <code>DECCIR</code> and <code>DECTABSR</code>
3789    presentation reports.</li>
3790
3791    <li>modify checksum computation for <code>DECRQCRA</code> to
3792    treat uninitialized cells as blanks rather than nulls.</li>
3793
3794    <li>drop custom-entity from HTML-dump, use UTF-8 for &amp;nbsp;
3795    (Debian #902381).</li>
3796
3797    <li>modify display of non-BMP characters when using bitmap
3798    fonts to show a null/empty box rather than the replacement
3799    character which was used in cleanup changes for <a href=
3800    "#xterm_233">patch #233</a> (report by Christian
3801    Weisgerber).</li>
3802
3803    <li>when setting up clipping rectangle for Xft, allow for the
3804    case where xterm is only displaying a combining character,
3805    where the base was already written (report by Joshua
3806    Crowgey).</li>
3807
3808    <li>allow reset Xft's state if switching font-sizes when
3809    double-buffering is used.</li>
3810
3811    <li>fix repainting, e.g., on resize, when double-buffering is
3812    used with Xft (patch by Daniel Colascione).</li>
3813
3814    <li>correct some interchanged pairs of symbols in
3815    <code>unicode/keysym.map</code> (Brad Town).</li>
3816
3817    <li>improve configure macros CF_GCC_WARNINGS, CF_GNU_SOURCE,
3818    CF_POSIX_C_SOURCE, CF_TRY_XOPEN_SOURCE, CF_XOPEN_SOURCE,
3819    CF_X_ATHENA_CPPFLAGS.</li>
3820
3821    <li>modify <code>logFile</code> resource to interpret
3822    &ldquo;<code>-</code>&rdquo; as the standard output (adapted
3823    patch by Colum Paget).</li>
3824
3825    <li>improve documentation of Tek4014 menu options; fix a case
3826    where the Tek4014 window was not displayed before switching
3827    modes.</li>
3828
3829    <li>re-correct parameter for <em>pid</em> used for DECCKSR,
3830    DECRQCSR (see <a href="#xterm_315">xterm #315</a>).</li>
3831
3832    <li>hard/soft reset now resets the cursor-blinking state that
3833    may have been set via escape sequences; the cursor-blinking
3834    menu-entry feature is unmodified (report by Matthieu
3835    Herrb).</li>
3836
3837    <li>update config.guess, config.sub</li>
3838  </ul>
3839
3840  <h1><a name="xterm_333" id="xterm_333">Patch #333 -
3841  2018/05/03</a></h1>
3842
3843  <ul>
3844    <li>ensure that i18n is enabled if input-method is
3845    enabled.</li>
3846
3847    <li>modify logic for pre-edit to update spot-location while the
3848    cursor is invisible (Kakoune #1940).</li>
3849
3850    <li>change default icon to newer one, "mini.xterm".</li>
3851
3852    <li>install a complete set of icons, to simplify post-install
3853    customization.</li>
3854
3855    <li>add resource <code>disallowedPasteControls</code> to extend
3856    filtering of control characters from pastes.</li>
3857
3858    <li>add <code>print-on-error</code> action-hook, and document
3859    action-hooks for dump-html, dump-svg.</li>
3860
3861    <li>provide action-hook for <code>print-immediate</code>, which
3862    was available only as a menu-item (report by Rastislav
3863    Barlik).</li>
3864
3865    <li>continue to improve notes in <code>ctlseqs.ms</code> which
3866    mention where various controls originated.</li>
3867
3868    <li>add case to accept ECMA-48's bogus <code>SD</code>, but
3869    document the issue in <code>ctlseqs.ms</code>.</li>
3870
3871    <li>add control sequence for loading XPM-icon file, using the
3872    analogous control sequence from shelltool/dtterm.</li>
3873
3874    <li>add <code>-report-icons</code> option, to report on
3875    XPM-icon and title-bar updates.</li>
3876
3877    <li>correct a discrepancy between locator-reports for VT220 vs
3878    VT330.</li>
3879
3880    <li>add window-ops control sequences to complement existing
3881    ones for reporting window-position and text-area size with
3882    reports for text-area position and window-size.</li>
3883
3884    <li>display vt52 graphics mode characters.</li>
3885
3886    <li>correct case-statement for window-ops 10, overlooked since
3887    some window managers equate vertical-maximize and
3888    horizontal-maximize window hints with full-screen
3889    maximize.</li>
3890  </ul>
3891
3892  <h1><a name="xterm_332" id="xterm_332">Patch #332 -
3893  2018/04/15</a></h1>
3894
3895  <ul>
3896    <li>add a <code>GetChecksum</code> item to
3897    <code>disallowedWindowOps</code></li>
3898
3899    <li>improve notes in <code>ctlseqs.ms</code> which mention
3900    where various controls originated.</li>
3901
3902    <li>add control sequences for querying the X display size and
3903    the character size, both in pixels to help eliminate some of
3904    the constants in <code>esctest</code>.</li>
3905
3906    <li>fixes prompted by review of George Nachman's
3907    <code>esctest</code> script:
3908      <ul>
3909        <li>add a null-pointer check and a limit-check in
3910        <code>xtermCheckRect</code>.</li>
3911
3912        <li>correct limit-check for right-margin when processing
3913        autowrapping if xterm is not built for
3914        wide-characters.</li>
3915
3916        <li>repair logic in <code>RIS</code> to reset 132-column
3917        mode when an escape sequence is used to enable
3918        80/132-column switching.</li>
3919
3920        <li>correct array-limit for EWMH working state.</li>
3921
3922        <li>further improve limit-checks versus assert's (see
3923        <a href="#xterm_315">patch #315</a>).</li>
3924
3925        <li>correct order of check-margins and move-to-left margin
3926        for <code>DL</code> and <code>IL</code>.</li>
3927
3928        <li>modify reverse-wrap to pay attention to top/bottom
3929        margins as it has done for left/right margins since
3930        <a href="#xterm_279">patch #279</a>.</li>
3931
3932        <li>modify behavior of <code>DECFI</code> and
3933        <code>DECBI</code> to not index the screen at the
3934        left/right edge of the display unless those happen to be
3935        the left/right margins.</li>
3936
3937        <li>add case for VT320 DSR response for keyboard
3938        status.</li>
3939      </ul>
3940    </li>
3941
3942    <li>improve check for valid shell path using
3943    <code>getusershell</code> and <code>endusershell</code> if
3944    available, in case <code>/etc/shells</code> does not exist
3945    (suggested by Rainer Orth).</li>
3946
3947    <li>modified configure checks for groff and man2html, to use
3948    the latter by default, but allowing mandoc as a partial
3949    replacement for former.</li>
3950
3951    <li>revisited the inconsistent copyright notices mentioned in
3952    <a href="#xterm_165">patch #165</a>, and eliminate the issue as
3953    mentioned in this <a href=
3954    "https://invisible-island.net/personal/copyrights.html">copyright
3955    discussion</a>.</li>
3956
3957    <li>fix typo in this change-log (report by Sven Joachim)</li>
3958
3959    <li>update config.guess, config.sub</li>
3960  </ul>
3961
3962  <h1><a name="xterm_331" id="xterm_331">Patch #331 -
3963  2017/12/30</a></h1>
3964
3965  <ul>
3966    <li>add workaround for improper grayscale adjustments made in
3967    FreeType library, exposed by changes to rounding in 2.8.1,
3968    which shows up as a gap in line-drawing characters (Debian
3969    #880407).</li>
3970
3971    <li>improve a special case where a non-Unicode font's
3972    line-drawing characters were not used, when specifying it via
3973    the <code>utf8Fonts</code> resource, e.g.,
3974      <blockquote>
3975        <pre>
3976        -fs 15 \
3977        -xrm '*VT100.font:12x24' \
3978        -xrm '*VT100.boldFont:12x24' \
3979        -xrm '*VT100.utf8Fonts.font: 12x24' \
3980        -xrm '*VT100.utf8Fonts.boldFont: 12x24' \
3981</pre>
3982      </blockquote>
3983    </li>
3984
3985    <li>replace constant 10msec delay for next X event with new
3986    resource <code>nextEventDelay</code>, and reduce that to 1msec
3987    to accommodate faster machines than used when
3988    <code>-hold</code> was implemented in <a href=
3989    "#xterm_116">1999</a> (Debian #877628).</li>
3990
3991    <li>add <code>scroll-to</code> action, which simplifies binding
3992    a key to scroll to the beginning or end of the saved-lines
3993    (Debian #880120).</li>
3994
3995    <li>add building blocks for alternate screen and/or title-stack
3996    features in the <code>terminfo</code> file.</li>
3997
3998    <li>improve calculations for cell-data size.</li>
3999
4000    <li>change configure script to enable XHTML/SVG screen dumps by
4001    default.</li>
4002
4003    <li>change configure script to enable 256-colors by
4004    default.</li>
4005
4006    <li>update config.guess, config.sub</li>
4007
4008    <li>change configure script option for
4009    <code>--with-man2html</code> to use improved script by
4010    default.</li>
4011
4012    <li>add case for private mode 1044 in DECRQM, to report the
4013    keepClipboard resource setting and corresponding menu
4014    entry.</li>
4015
4016    <li>fix an inconsistency between private mode 12 (the AT&amp;T
4017    610 cursor blink) and <code>DECSCUSR</code>: the former relied
4018    on having the <code>cursorBlink</code> resource set initially
4019    to enable the escape sequence, while the latter does not.</li>
4020
4021    <li>add private modes 13 and 14, as well as resource
4022    <code>cursorBlinkXOR</code> to allow better control over the
4023    cursor-blinking state (discussion with Bram Moolenaar).</li>
4024
4025    <li>modify the html and svg screen dumps to support direct
4026    color</li>
4027
4028    <li>modify media copy (screen-printing) to support the same SGR
4029    codes as <code>DECRQSS</code>, including 88/256 indexed color
4030    as well as direct color.</li>
4031
4032    <li>improve options-parsing for query-status.pl script.</li>
4033
4034    <li>modify parsing of <code>SGR</code> direct-color control
4035    making <em>color space identitier</em> optional. The
4036    corresponding <code>DECRQSS</code> reply always returns an
4037    empty (default) field for the identifier.</li>
4038
4039    <li>add wide-attributes to <code>DECRQSS</code> reply for
4040    <code>SGR</code>.</li>
4041
4042    <li>add private mode 1046 to help with scripting
4043    applications.</li>
4044
4045    <li>correct expression used for readline-flags in DECRQM; to
4046    test the current flag rather than information <em>stacked</em>
4047    within the same variable.</li>
4048
4049    <li>correct typo in <code>ctlseqs.ms</code> reference to
4050    ISO-8613-6 (patch by Mike Frysinger).</li>
4051
4052    <li>fix lintian warning for test-package.</li>
4053
4054    <li>fix typo in <code>DECRQSS</code> for <code>SGR</code> 48,
4055    which printed the foreground value for colors past 15. Also use
4056    colon delimiter for codes 38/48 in response (report by Paul
4057    LeoNerd Evans).</li>
4058
4059    <li>improve workaround for Debian #542434 by using the font's
4060    maximum width when no ISO-8859-1 glyphs are provided (Debian
4061    #879936).</li>
4062
4063    <li>work around a special case of <em>Xft</em>'s mismanagement
4064    of its cached data by adding a check before the
4065    <code>-report-fonts</code> option to ensure that it does not
4066    use an <code>XftPattern</code> which may have been freed during
4067    a call to <code>XftFontOpenPattern</code>.</li>
4068
4069    <li>improve manual page description of <code>regex</code>
4070    option for <code>on<em>X</em>Clicks</code> resources (report by
4071    Lukas Mai).</li>
4072
4073    <li>add <code>directColor</code> resource.</li>
4074
4075    <li>additional manpage macro cleanup (Branden Robinson, Debian
4076    #880551).</li>
4077
4078    <li>add optional support for direct-colors (adapted from patch
4079    by anonymous &ldquo;Nibby Nebbulous&rdquo;).</li>
4080
4081    <li>improve legacy/NRC character set mapping (patch by Thomas
4082    Wolff), e.g.,
4083      <ul>
4084        <li>enable alternate NRC set designators for French and
4085        French Canadian, &lsquo;9&rsquo; and &lsquo;f&rsquo;
4086        respectively, as documented in ctlseqs. (&lsquo;9&rsquo; is
4087        documented for VT510, &lsquo;f&rsquo; is a Kermit
4088        feature).</li>
4089
4090        <li>correct the Unicode value in the <em>DEC Technical</em>
4091        table to show capital delta.</li>
4092
4093        <li>referring to
4094          <blockquote>
4095            <p><a href=
4096            "http://vt100.net/docs/vt220-rm/table2-3b.html">http://vt100.net/docs/vt220-rm/table2-3b.html</a><br>
4097
4098            <a href=
4099            "http://vt100.net/docs/vt320-uu/appendixe.html">http://vt100.net/docs/vt320-uu/appendixe.html</a></p>
4100          </blockquote>
4101
4102          <p>add entries for the <em>DEC Supplemental Graphics</em>
4103          table to display 0x28/0xa8 as &curren; and 0x5d/0xdd as
4104          &Yuml;.</p>
4105        </li>
4106
4107        <li>referring to
4108          <blockquote>
4109            <p><a href=
4110            "http://www.vt100.net/charsets/technical.html">http://www.vt100.net/charsets/technical.html</a></p>
4111          </blockquote>
4112
4113          <p>alter the Unicode values used for 0x2b through 0x2c to
4114          use <em>curly braces</em> to work with the
4115          &ldquo;middle&rdquo; parts displayed with 0x2f and
4116          0x30.</p>
4117        </li>
4118
4119        <li>modify the VT220 &ldquo;Supplemental&rdquo; table,
4120        giving a hint that it was probably meant to be
4121        &ldquo;Supplemental Graphics&rdquo; and is the same as
4122        VT320's table.</li>
4123      </ul>
4124    </li>
4125
4126    <li>quiet a few font-warnings when a derived fontname cannot be
4127    opened, overlooked in refactoring of font resources in <a href=
4128    "#xterm_328">patch #328</a> (initially reported on <a href=
4129    "https://cygwin.com/ml/cygwin/2017-06/msg00255.html">Cygwin
4130    mailing list</a>, with <a href=
4131    "https://cygwin.com/ml/cygwin/2017-07/msg00216.html">followup</a>).</li>
4132
4133    <li>correct error response for <code>DECRQSS</code> broken in
4134    cleanup of Coverity reports in <a href="#xterm_288">patch
4135    #288</a> (reports by Bram Moolenaar and IWAMOTO Kouichi).</li>
4136
4137    <li>improve <code>DECRPM</code> responses by returning <em>mode
4138    not recognized</em> for modes which may not be settable due to
4139    the selected <code>decTerminalID</code> resource (report by
4140    IWAMOTO Kouichi).</li>
4141
4142    <li>correct logic for <code>print-immediate</code> action, and
4143    enable corresponding menu entry (patch by Lauri
4144    Tirkkonen).</li>
4145
4146    <li>add configure option <code>--with-pcre2</code> (patch by
4147    David Michael).</li>
4148
4149    <li>fix a misspelled subsection title in ctlseqs.ms and add a
4150    note regarding blink which was rendered as bold in X11R6.
4151    Blinking text was implemented in <a href="#xterm_60">Patch
4152    #60</a>.</li>
4153
4154    <li>fix typos in <code>xterm.man</code> (patches by Sven
4155    Joachim, Larry Hynes).</li>
4156
4157    <li>fix typography in <code>xterm.man</code> (patch by Bjarni
4158    Ingi Gislason, Debian #869248).</li>
4159
4160    <li>fix typo in <code>INSTALL</code> (Larry Hynes).</li>
4161
4162    <li>add <code>xterm-direct</code> terminal description based on
4163    changes introduced in <a href="#xterm_277">patch #277</a>, and
4164    relying upon ncurses <code><strong>RGB</strong></code>
4165    extension.</li>
4166
4167    <li>modify <code>xterm-new</code> terminal description to use
4168    ECMA-48 <code>REP</code>, reflecting its use in xterm since
4169    <a href="#xterm_32">patch #32</a> (1996).</li>
4170
4171    <li>clarify comment in ctlseqs.ms regarding blink: it has been
4172    part of xterm since <a href="#xterm_60">patch #60</a>
4173    (1998).</li>
4174
4175    <li>update ftp URLs in documentation.</li>
4176  </ul>
4177
4178  <h1><a name="xterm_330" id="xterm_330">Patch #330 -
4179  2017/06/20</a></h1>
4180
4181  <ul>
4182    <li>updates for ReGIS (Ross Combs):
4183      <ul>
4184        <li>remove redundant text command error check which broke
4185        <code>T(B)</code> and <code>T(E)</code>.</li>
4186
4187        <li>retain the loading alphabet number across multiple
4188        &ldquo;L&rdquo; commands.</li>
4189
4190        <li>add <code>S(T)</code> delay handler.</li>
4191
4192        <li>fix some color handling error messages.</li>
4193
4194        <li>add stubbed-out macrograph handling.</li>
4195
4196        <li>use <code>fragment_remaining()</code> and
4197        <code>fragment_consumed()</code> instead of manually
4198        checking position / length in various places.</li>
4199
4200        <li>rename some local variables in string / extent / option
4201        parsing</li>
4202
4203        <li>wrap some long lines.</li>
4204
4205        <li>move macrograph command handling out of the
4206        top-level.</li>
4207      </ul>
4208    </li>
4209
4210    <li>add a summary of the italic fonts loaded to
4211    <code>-report-fonts</code> option.</li>
4212
4213    <li>modify the font-lookup for italics to allow for
4214    &ldquo;<code>-i-</code>&rdquo; if no match is found with slant
4215    &ldquo;<code>-o-</code>&rdquo; (prompted by patch by Ben
4216    Wong).</li>
4217
4218    <li>change default values for <code>mkSamplePass</code> and
4219    <code>mkSampleSize</code> to reflect generally-improved locale
4220    support in various operating systems (FreeBSD #219800).</li>
4221
4222    <li>modify <code>wcwidth.c</code> to return -1 for non-Unicode
4223    values, and adjust a couple of blocks to better match
4224    assumptions about ambiguous-width characters in other
4225    implementations. Also modify <code>wcwidth.c</code> to support
4226    configurable soft-hyphen, so there is no drawback to using this
4227    version rather than a system <code>wcwidth</code>.</li>
4228
4229    <li>amend change made in <a href="#xterm_328">patch #328</a>
4230    for cursor-visibility to handle case where an application is
4231    updating the reverse-video state (FreeBSD #219800).</li>
4232
4233    <li>update tables of combining and ambiguous-width characters
4234    in wcwidth.c based on Unicode 10.0.0.</li>
4235
4236    <li>build-fix for <code>--enable-sixel-graphics</code> without
4237    <code>--enable-regis-graphics</code> (reports by Sven Joachim,
4238    FreeBSD #219945).</li>
4239  </ul>
4240
4241  <h1><a name="xterm_329" id="xterm_329">Patch #329 -
4242  2017/06/12</a></h1>
4243
4244  <ul>
4245    <li>add control sequences for reading the Sixel and ReGIS
4246    graphics sizes (suggested by Ben Wong).</li>
4247
4248    <li>add a workaround for <code>wcwidth</code> returning -1 for
4249    characters which should have been printable (FreeBSD
4250    #219800).</li>
4251
4252    <li>fix a bug in font initialization from <a href=
4253    "#xterm_328">patch #328</a> (FreeBSD #219800).</li>
4254
4255    <li>fix a special case in <code>HideCursor</code> which
4256    assigned a bold font to the slot used for normal font in
4257    changes for italics in <a href="#xterm_307">patch #307</a>
4258    (Debian #858304).</li>
4259
4260    <li>updates for ReGIS (Ross Combs):
4261      <ul>
4262        <li>Strings specified with no command are used as
4263        "comments". Print these in the log when tracing.</li>
4264
4265        <li>Catch attempts to use "alternate display" mode (AKA
4266        "blink") from the GIGI, but do not implement it.</li>
4267
4268        <li>The <code>T(M)</code> command should only multiply the
4269        height by 10, not 20.</li>
4270
4271        <li>Make the <code>S(E)</code> command reset more state
4272        than just the screen contents.</li>
4273
4274        <li>Remove two rotation variables which were only being
4275        printed.</li>
4276
4277        <li>Numerous minor fixes and comment updates in the
4278        <code>R</code> command.</li>
4279
4280        <li>Unknown <code>R</code> command option names trigger an
4281        empty response.</li>
4282
4283        <li>Fix the output position after printing rotated text (it
4284        was missing the the sign before).</li>
4285
4286        <li>Fix the position change with pixelvectors and rotated
4287        text (the rotation transform was not being applied).</li>
4288
4289        <li>Update the <em>TODO</em> list and remove a verification
4290        <em>FIXME</em> (slanted text positioning is correct as
4291        is).</li>
4292
4293        <li>Emulate the approximately 1.4x enlargement for text
4294        which isn't rotated at right angles.</li>
4295
4296        <li>Only update the color planes specified in the plane
4297        mask (the <code>W</code> command's <code>F</code>
4298        option).</li>
4299      </ul>
4300    </li>
4301
4302    <li>fix a bug introduced by the changes to font information in
4303    <a href="#xterm_328">patch #328</a>. When processing the
4304    "checkfont" option of the <code>locale</code> resource, the
4305    program referred to the <em>request</em> data, to an array
4306    which was only allocated in the <em>new/result</em> widget
4307    (report by H Merijn Brand).</li>
4308
4309    <li>fix a missing assignment initialization to make the
4310    <code>utf8</code> resource control whether escape sequences to
4311    enable/disable UTF-8 mode are allowed.</li>
4312  </ul>
4313
4314  <h1><a name="xterm_328" id="xterm_328">Patch #328 -
4315  2017/06/01</a></h1>
4316
4317  <ul>
4318    <li>revise parser for <code>charClass</code> resource, making
4319    these improvements:
4320      <ul>
4321        <li>accept octal and hexadecimal values</li>
4322
4323        <li>allow embedded whitespace</li>
4324
4325        <li>allow the class after colon to be optional, e.g., to
4326        clear class settings for a range of characters.</li>
4327      </ul>
4328    </li>
4329
4330    <li>add command-line option
4331    <code>-report-charclass</code>.</li>
4332
4333    <li>fix most lintian warnings about test-package</li>
4334
4335    <li>add <code>eraseSavedLines</code> resource.</li>
4336
4337    <li>document <code>DECSED&nbsp;3</code> in
4338    <code>ctlseqs.ms</code> (report by Ben Longmans).</li>
4339
4340    <li>improve integration between configure-events and updates
4341    for reported screensize, in particular when switching between
4342    vt100 and tek4014 modes.</li>
4343
4344    <li>modify selection-highlighting of reverse-video text to keep
4345    that distinct, e.g., by reversing the selection foreground and
4346    background colors as one would expect. This fixes a "useless"
4347    case in the description of
4348    <code>highlightColorMode</code>.</li>
4349
4350    <li>improve fix for Debian #759734, addressing a case where
4351    non-colored cursor would be invisible against reverse-video
4352    (see <a href="#xterm_311">patch #311</a>).</li>
4353
4354    <li>updates for ReGIS (Ross Combs):
4355      <ul>
4356        <li>the "H" option of the "T" command should multiply by
4357        10, not 20.</li>
4358
4359        <li>display unknown glyphs as a solid block.</li>
4360
4361        <li>given a succession of text-direction options, use the
4362        last.</li>
4363
4364        <li>fix the direction of ReGIS slanted text so that
4365        negative values produce oblique output .</li>
4366
4367        <li>fix the ReGIS text direction option to only rotate
4368        characters when no following size option is used.</li>
4369      </ul>
4370    </li>
4371
4372    <li>update terminfo to better match corresponding entries in
4373    ncurses, e.g., <code>u8</code> pattern to match the VT220,
4374    VT420, etc., primary responses, as well as adding
4375    <code>smxx</code> and <code>rmxx</code>.</li>
4376
4377    <li>fixes from J&ouml;rg Sommer:
4378      <ul>
4379        <li>corrected a trace-message regarding maximum
4380        graphics-size; it used the similar ReGIS maximum size which
4381        might not be configured.</li>
4382
4383        <li>in <code>do_select_regex</code>, clear selection if
4384        there is no match. If the regex does not match anything
4385        around the cursor, the selection returned must be empty,
4386        otherwise the whole line is treated as a match. This way
4387        the command defined by <code>exec-selectable</code> will
4388        not be executed if there is no match.</li>
4389
4390        <li>modify limit in <code>do_select_regex</code> to include
4391        the character at the cursor in the match, making it easier
4392        to type something and then hit the key to trigger
4393        <code>exec-selectable</code>.</li>
4394
4395        <li>If <code>exec-selectable</code> or
4396        <code>insert-selection</code> is triggered by a mouse
4397        button click, the position of the mouse pointer should be
4398        used. This makes it easier to address any position on the
4399        window and it makes it possible to use the mouse, e.g., for
4400        applications such as mutt where you cannot move the
4401        cursor.</li>
4402      </ul>
4403    </li>
4404
4405    <li>modify <code>DECRC</code> to save/restore xterm's
4406    last-column flag used to control wrapping behavior rather than
4407    manipulating <code>DECAWM</code> (report/analysis by Mattias
4408    Engdeg&aring;rd).</li>
4409
4410    <li>add configure option <code>--enable-terminfo-env</code> to
4411    use the value set by <code>--with-own-terminfo</code> for the
4412    <code>$TERMINFO</code> environment variable. That variable was
4413    set automatically for HPUX, but would be useful in other
4414    systems, e.g., for Solaris (request by Jeff Wieland).</li>
4415
4416    <li>fix a race condition when setting up a signal handler to
4417    timeout if opening <code>/dev/tty</code> hangs (patch by Tobias
4418    Stoeckmann).</li>
4419
4420    <li>review/cleanup resources which were not in the manual page
4421    (report by Maxwell Anselm):
4422      <ul>
4423        <li>add manual page description as needed.</li>
4424
4425        <li>drop resource name for <code>menuBar</code>, as
4426        unnecessary.</li>
4427
4428        <li>modify fallback numeric value for
4429        <code>regisScreenSize</code> resource to match that for
4430        <code>maxGraphicSize</code>.</li>
4431      </ul>
4432    </li>
4433
4434    <li>updated configure macros <code>CF_ADD_CFLAGS</code>,
4435    <code>CF_CC_ENV_FLAGS</code>, <code>CF_GNU_SOURCE</code>,
4436    <code>CF_MATH_LIB</code>, and <code>CF_XOPEN_SOURCE</code> from
4437    other program-changes.</li>
4438
4439    <li>update config.guess, config.sub</li>
4440
4441    <li>change &ldquo;maximum screensize&rdquo; assumed by
4442    <code>resize</code> to 9999x9999, to accommodate people using
4443    the <em><code>Unreadable</code></em> font.</li>
4444
4445    <li>drop <code>Utility</code> from default value of
4446    <code>--with-desktop-category</code> (Debian #780176).</li>
4447
4448    <li>widen the configure script pattern used for finding related
4449    ".desktop" files, including &ldquo;Terminal&rdquo;</li>
4450
4451    <li>several minor improvements to font utility functions:
4452      <ul>
4453        <li>provide for later modification to implement font-sets
4454        by parsing the font resources as comma-separated
4455        lists.</li>
4456
4457        <li>parse <code>-fn</code> and <code>-fa</code> similarly,
4458        using &ldquo;x:&rdquo; and &ldquo;xft:&rdquo; prefixes for
4459        font name/family strings to distinguish between XLFD and
4460        Xft font specifications.</li>
4461
4462        <li>use loops to iterate over font classes</li>
4463
4464        <li>use getters/setters for font data to allow for
4465        on-demand lookups.</li>
4466
4467        <li>make the debugging trace for missing glyph less verbose
4468        since that interferes with the <code>-report-fonts</code>
4469        option.</li>
4470
4471        <li>refactor <code>xtermLoadFont</code> to make it clearer
4472        how some fonts are derived from others, e.g., bold,
4473        wide.</li>
4474
4475        <li>make the triggering and suppressing of font-warnings
4476        more consistent by storing the last state in the
4477        widget.</li>
4478
4479        <li>reduce font-warnings by checking for repeated
4480        warnings.</li>
4481      </ul>
4482    </li>
4483
4484    <li>add <code>vttests/query-status.pl</code></li>
4485
4486    <li>add <code>vttests/closest-rgb</code></li>
4487
4488    <li>add special case for displaying soft-hyphen if it happens
4489    to fall at the right margin, and omitting similar case such as
4490    the BIDI markers, where a zero-width character is neither a
4491    control character nor a combining character (Debian
4492    #844325).</li>
4493
4494    <li>modify logic for <code>OSC&nbsp;52</code>, <em>manipulate
4495    selection data</em>, to update the selection-time to include
4496    the latest X events. This fixes some cases where the selection
4497    was invalid, e.g., after an event due to focus-follows-mouse
4498    (report/testcase by Stephane Chauveau).</li>
4499
4500    <li>revise macro <code>CastMallocN</code> as new macro
4501    <code>TextAlloc</code> to make explicit use of
4502    <code>sizeof(char)</code> (prompted by patch by Cade
4503    Foster).</li>
4504
4505    <li>add <em>&ldquo;Mouse Ops&rdquo;</em> menu entry and related
4506    resources to allow runtime disabling/enabling of the mouse
4507    protocol escape sequences (discussion with Bob Proulx).</li>
4508
4509    <li>improve discussion of mouse actions versus protocol in the
4510    manual (discussion with Bob Proulx).</li>
4511
4512    <li>improve discussion of environment variables in the manual,
4513    pointing out where some features (such as termcap and the
4514    System5 <code>COLUMNS</code> and <code>LINES</code> variables)
4515    are used rarely, mainly to support legacy applications.</li>
4516
4517    <li>add examples of <code>translations</code> resource for
4518    select/paste, and for font-size changes to the manual.</li>
4519
4520    <li>minor reordering of some entries in <code>ctlseqs.ms</code>
4521    for consistency (report by Arran Ubels).</li>
4522
4523    <li>add <code>-s</code> option to <code>256colors2.pl</code>
4524    and <code>88colors2.pl</code>, to demonstrate modifying the
4525    &ldquo;system&rdquo; colors 0&ndash;15.</li>
4526
4527    <li>omit <code>XFT_SPACING</code> property from call to <code>
4528      XftPatternBuild</code>, to work around a bug in
4529      <em>fontconfig</em> for handling Google Go fonts, whose names
4530      sort in an order not expected by <em>fontconfig</em>, causing
4531      the request for a monospaced font to return <em>italics</em>,
4532      e.g.,
4533      <blockquote>
4534        <pre>
4535$ fc-match 'Go Mono:spacing=monospace'
4536Go-Mono-Italic.ttf: "Go Mono" "Italic"
4537(report by Giacomo Boffi on <a href=
4538"http://unix.stackexchange.com/questions/324941/xterm-displays-an-italic-face-instead-of-regular">Stackoverflow</a>).
4539
4540</pre>
4541      </blockquote>
4542    </li>
4543
4544    <li>modify <code>minstall.in</code> to improve a workaround
4545    added to the manual page in <a href="#xterm_182">patch #182</a>
4546    to avoid having the C preprocessor used in the imake
4547    configuration strip out the comments in the character classes
4548    section (reports by Ted Unangst, Anthony J Bentley).</li>
4549  </ul>
4550
4551  <h1><a name="xterm_327" id="xterm_327">Patch #327 -
4552  2016/10/07</a></h1>
4553
4554  <ul>
4555    <li>add a check in the function which handles end-of-line
4556    wrapping to ensure that C1 controls are allocated one column
4557    when <code>allowC1Printable</code> is set (Debian
4558    #738794).</li>
4559
4560    <li>use consistent error-checking after <code>strtol</code>
4561    calls, fixes a case where a query with OSC 6 did not ensure
4562    there was a valid color number (report by Alex Smith).</li>
4563
4564    <li>add <code>-baudrate</code> option, for testing
4565    ncurses.</li>
4566
4567    <li>always generate the <code>CASE_<em>xxx</em></code> symbols
4568    in <code>VTparse.h</code> and <code>Tekparse.h</code>, as part
4569    of a change to improve debug-logging. This makes the build
4570    always depend upon <code>awk</code>.</li>
4571
4572    <li>modify <code>allowC1Printable</code> to disallow codes
4573    160-254 as being equivalent to codes 32-126 when parsing escape
4574    sequences (Debian #839220).</li>
4575
4576    <li>amend fix from <a href="#xterm_326">patch #326</a> for
4577    TrueType fonts to exclude the hidden character used for
4578    double-width cells (report by Grady Martin).</li>
4579
4580    <li>fix a typo in <code>ctlseqs.ms</code></li>
4581  </ul>
4582
4583  <h1><a name="xterm_326" id="xterm_326">Patch #326 -
4584  2016/09/25</a></h1>
4585
4586  <ul>
4587    <li>updated appdata file (report by Richard Hughes).</li>
4588
4589    <li>improve discussion of the different terminal emulations
4590    provided by xterm in the manual page.</li>
4591
4592    <li>add examples of setting the icon title with/without the
4593    window title in the manual (Debian #833984).</li>
4594
4595    <li>correct a limit-check when using a numeric value for
4596    extended Booleans e.g., <code>*fullscreen:3</code> rather than
4597    a name such as <code>*fullscreen:never</code>.</li>
4598
4599    <li>add action <code>allow-bold-fonts</code></li>
4600
4601    <li>improved formatting fixes for manual page, using script to
4602    find mismatches in spelling of resources, actions and menu
4603    entries.</li>
4604
4605    <li>improve documentation of logging resources.</li>
4606
4607    <li>fix a special case of flickering cursor by adding
4608    <code>GraphicsExpose</code> to the list of event types that
4609    should not trigger making the mouse cursor visible (patch by
4610    Joe Peterson).</li>
4611
4612    <li>correct initialization of line-drawing in VT52-mode,
4613    overlooked in changes for <a href="#xterm_297">patch #297</a>
4614    (report/patch by Ben Wiley Sittler).</li>
4615
4616    <li>minor clarification of form-feed versus line-feed in
4617    <code>ctlseqs.ms</code> (suggested by David Kemper).</li>
4618
4619    <li>amend fix for Debian #738794 to restore a check for missing
4620    characters which are <em>not</em> combining characters. Also
4621    fill in a corresponding special case for TrueType fonts (Debian
4622    #827905).</li>
4623  </ul>
4624
4625  <h1><a name="xterm_325" id="xterm_325">Patch #325 -
4626  2016/06/05</a></h1>
4627
4628  <ul>
4629    <li>improve manual page discussion of function keys (discussion
4630    with Ross Combs).</li>
4631
4632    <li>further improve fix for Debian #545220 in <a href=
4633    "#xterm_248">patch #248</a>, to avoid conflict with combining
4634    characters (Debian #738794).</li>
4635
4636    <li>improve <code>-hold</code> option to avoid 100% CPU usage
4637    with NetBSD after closing the shell, which makes subsequent
4638    checks for X input events fail (prompted by patch by Pierre
4639    Pronchery).</li>
4640
4641    <li>review <code>#ifdef</code> statements, listed those which
4642    do not have a configure option in
4643    <code>xtermcfg.hin</code>.</li>
4644
4645    <li>fixed one case where the menu sensistivity for
4646    <em>Print-All Immediately</em> and <em>Print-All on Error</em>
4647    was not properly ifdef'd.</li>
4648
4649    <li>modify terminfo entries for 16-, 88- and 256-color to reset
4650    palette with <code>rs1</code> capability.</li>
4651
4652    <li>accept <code>legacy</code> value of <code>-kt</code> as
4653    synonym for the <code>oldXtermFKeys</code> resource, and extend
4654    the full-reset logic to use the keyboard type set via
4655    <code>-kt</code>.</li>
4656
4657    <li>modify <code>ioctl</code> calls for <code>I_PUSH</code> to
4658    first check if the module has been added, using
4659    <code>I_FIND</code>. This is needed for newer Solaris libraries
4660    with c11 support (adapted from patch by Alan Coopersmith).</li>
4661
4662    <li>add check in <code>getXtermCombining</code> to ensure that
4663    combining characters were allocated (report by Tor
4664    Andersson).</li>
4665
4666    <li>add configure option <code>--without-xinerama</code> to
4667    allow suppressing the extension (Gentoo #580936).</li>
4668
4669    <li>update keysym2ucs.c based on Unicode 9.0</li>
4670
4671    <li>fixed most <code>cppcheck --enable=all</code> warnings,
4672    including for style (prompted by report by David Binderman).
4673    There was one bug-fix:
4674      <ul>
4675        <li>RGB least-squares computation in
4676        <code>allocateClosestRGB</code> used only one ordinate</li>
4677      </ul>
4678    </li>
4679
4680    <li>add <code>cppcheck</code> to lint-like programs in
4681    configure script and makefile.</li>
4682
4683    <li>fix some const correctness issues and point out an array
4684    lifetime issue (Ross Combs).</li>
4685
4686    <li>updates for SIXEL and ReGIS (Ross Combs):
4687      <ul>
4688        <li>Sixel drawing should still happen after an error if
4689        some commands have been processed</li>
4690
4691        <li>Tiny steps toward reporting ReGIS input</li>
4692      </ul>
4693    </li>
4694  </ul>
4695
4696  <h1><a name="xterm_324" id="xterm_324">Patch #324 -
4697  2016/03/10</a></h1>
4698
4699  <ul>
4700    <li>updated configure macro <code>CF_LD_RPATH_OPT</code> from
4701    ncurses changes.</li>
4702
4703    <li>provide alternate fix for Juha Nurmela's report by turning
4704    on POSIX signals if <code>_POSIX_C_SOURCE</code> is at least
4705    one. This is done to improve the behavior if a direct child
4706    process receives a <code>STOP</code> signal.</li>
4707
4708    <li>revert change to <code>CF_POSIX_C_SOURCE</code> from
4709    <a href="#xterm_323">patch #323</a> (reports by Ashish Shukla,
4710    Christian Weisgerber).</li>
4711  </ul>
4712
4713  <h1><a name="xterm_323" id="xterm_323">Patch #323 -
4714  2016/03/07</a></h1>
4715
4716  <ul>
4717    <li>updated appdata and desktop files to add keywords (report
4718    by Richard Hughes).</li>
4719
4720    <li>modify configure macro <code>CF_POSIX_C_SOURCE</code> to
4721    accommodate some systems, e.g., FreeBSD, which have separated
4722    their implementation specific preprocessor symbols from the
4723    POSIX ones, requiring both to be defined (report by Juha
4724    Nurmela).</li>
4725
4726    <li>change the directory to the current working dir of the
4727    child process in exec-formatted and exec-selectable actions
4728    (patch by Alexander Pohoyda).</li>
4729
4730    <li>correct typo in xterm.man (patch by Larry Hynes).</li>
4731
4732    <li>correct typo in ctlseqs.ms (report by Shriramana
4733    Sharma).</li>
4734
4735    <li>add feature to support XHTML and SVG screen dumps (patch by
4736    Jens Schweikhardt).</li>
4737
4738    <li>correct response to DECRQSS when terminal id is less than
4739    400 (patch by Iwamoto Kouichi).</li>
4740  </ul>
4741
4742  <h1><a name="xterm_322" id="xterm_322">Patch #322 -
4743  2016/01/02</a></h1>
4744
4745  <ul>
4746    <li>fix regression due to incorrect fix for compiler warning
4747    when allocating storage for <code>/etc/shells</code> (reports
4748    by Ashish Shukla, Debian #809646).</li>
4749  </ul>
4750
4751  <h1><a name="xterm_321" id="xterm_321">Patch #321 -
4752  2015/12/31</a></h1>
4753
4754  <ul>
4755    <li>add resource <code>keepClipboard</code>, escape sequence
4756    and action <code>keep-clipboard</code>.</li>
4757
4758    <li>add optional feature to capture text copied to clipboard at
4759    the time of copying rather than at the time the clipboard
4760    contents are requested for pasting (patch by Milan
4761    Mehner).</li>
4762
4763    <li>improve a special case where the <code>-e</code> option was
4764    used to pass a single-quoted command via <code>luit</code>, by
4765    wrapping it in a &ldquo;sh -c&rdquo; (report by Keith
4766    Hedger).</li>
4767
4768    <li>minor fix for type-cleanliness when allocating storage for
4769    <code>/etc/shells</code> (Tobias Stoeckmann).</li>
4770
4771    <li>fix a typo in manual page (Dan Church).</li>
4772
4773    <li>fix minor file-descriptor leak; after calling
4774    <code>openpty</code>, the slave's file descriptor is not needed
4775    (report by Juha Nurmela).</li>
4776
4777    <li>editorial change to ctlseqs.ms (report by David
4778    Gomboc).</li>
4779
4780    <li>minor updates for autoconf macros.</li>
4781
4782    <li>update config.guess, config.sub</li>
4783  </ul>
4784
4785  <h1><a name="xterm_320" id="xterm_320">Patch #320 -
4786  2015/08/28</a></h1>
4787
4788  <ul>
4789    <li>correct documentation for <code>%t</code> format (report by
4790    Martin Tournoij).</li>
4791
4792    <li>add <code>%R</code> for consistency to
4793    <code>exec-formatted()</code> and
4794    <code>insert-formatted()</code> actions.</li>
4795
4796    <li>add <code>%r</code> format to <code>exec-formatted()</code>
4797    and <code>insert-formatted()</code> actions (patch by Martin
4798    Tournoij).</li>
4799
4800    <li>Amend fix for Debian #794201 (report forwarded from
4801    Christian Jachmann by Emanuel Haupt, Debian #797008).</li>
4802  </ul>
4803
4804  <h1><a name="xterm_319" id="xterm_319">Patch #319 -
4805  2015/08/19</a></h1>
4806
4807  <ul>
4808    <li>add a section to <code>ctlseqs.ms</code> discussing control
4809    sequences and ECMA-48, to explain why C1 controls do not occur
4810    in the decoded characters from UTF-8 byte streams (prompted by
4811    discussion with Poul-Henning Kamp).</li>
4812
4813    <li>modify check for cursor-theme from <a href=
4814    "#xterm_301">patch #301</a> to also check if the resource
4815    <code>Xcursor.theme</code> is set to a nonempty value before
4816    fallback to xterm's own dummy theme (request by Robert
4817    Kloefkorn).</li>
4818
4819    <li>explain in <code>ctlseqs.ms</code> that some keys which
4820    normally send SS3-prefixes are changed to CSI-prefixes if
4821    key-modifiers are passed as parameters (report by George
4822    Nachman).</li>
4823
4824    <li>correct double-free of font information when multiple
4825    problems are found, particularly for the wide fonts loaded via
4826    the <code>-wc</code> option (report/testcase by Nelson
4827    Beebe).</li>
4828
4829    <li>make configure option <code>--enable-builtin-xpms</code>
4830    actually work (report by William Bulley).</li>
4831
4832    <li>correct combination of <code>-ls</code> and <code>-e</code>
4833    options for utempter configuration (Debian #794201).</li>
4834
4835    <li>NetBSD build-fix for OPT_RENDERFONT versus OPT_SHIFT_FONTS
4836    (patch by Matthew Green, forwarded by Thomas Klausner).</li>
4837
4838    <li>fix a few minor bugs found with Coverity.</li>
4839
4840    <li>update pixelvector handling (Ross Combs):
4841      <ul>
4842        <li>split pixel-based and coord-based functions with common
4843        parts factored out to a "raw" function</li>
4844
4845        <li>add a "step" variant which loads a single PV digit</li>
4846      </ul>
4847    </li>
4848
4849    <li>make the graphic dirty upon resize or clear, fixing some
4850    missing refreshes (patch by Ross Combs)</li>
4851
4852    <li>fixes scrolling to use user coordinates and move in the
4853    correct direction (patch by Ross Combs)</li>
4854
4855    <li>several fixes/improvements for ReGIS whitespace and
4856    page-handling (patch by Ross Combs).</li>
4857  </ul>
4858
4859  <h1><a name="xterm_318" id="xterm_318">Patch #318 -
4860  2015/04/12</a></h1>
4861
4862  <ul>
4863    <li>rename new(er) configure option
4864    <code>--enable-initial-erase</code> to
4865    <code>--enable-pty-erase</code>, since that conflicted with an
4866    existing option (report by Jens Schweikhardt).</li>
4867
4868    <li>fix cut/paste error in <code>--with-builtin-xpms</code>
4869    configure option (reports by Jens Schweikhardt, Ross
4870    Combs).</li>
4871
4872    <li>fix minor formatting issue in xterm manual (report by Jens
4873    Schweikhardt).</li>
4874
4875    <li>eliminate unnecessary "#(vi" markers in autoconf macros by
4876    using "(" to begin case-statement cases (suggested by Jens
4877    Schweikhardt).</li>
4878
4879    <li>minor fixes to improve <code>const</code> usage (Ross
4880    Combs).</li>
4881  </ul>
4882
4883  <h1><a name="xterm_317" id="xterm_317">Patch #317 -
4884  2015/03/27</a></h1>
4885
4886  <ul>
4887    <li>adapt example for <code>exec-formatted</code> from <a href=
4888    "http://lukas.zapletalovi.com/2013/07/hidden-gems-of-xterm.html">
4889    Luk&aacute;&scaron; Zapletal's</a> webpage to manual (Debian
4890    #780008).</li>
4891
4892    <li>add a short usage section to the xterm manual, including
4893    notes on setting the window title (Debian #742477).</li>
4894
4895    <li>revise a change made to <code>ICH</code> in <a href=
4896    "#xterm_314">patch #314</a> to address limit-checks
4897    (reports/testcases by Zolt&aacute;n K&eacute;ri and Joe
4898    Peterson, also reported by Christian Weisgerber).</li>
4899  </ul>
4900
4901  <h1><a name="xterm_316" id="xterm_316">Patch #316 -
4902  2015/03/07</a></h1>
4903
4904  <ul>
4905    <li>revert change to make <code>DCH</code> honor top/bottom
4906    scrolling margins. For the record, both the VT420 and VT520
4907    reference manuals incorrectly state that <em>"DCH has no effect
4908    outside the scrolling margins."</em></li>
4909
4910    <li>fix regression in <code>DCH</code> introduced in adjustment
4911    for limit-check in <a href="#xterm_314">patch #315</a>
4912    (report/testcase by Zolt&aacute;n K&eacute;ri, also reported by
4913    Christian Weisgerber).</li>
4914
4915    <li>correct default value for configure option
4916    <code>--enable-initial-erase</code>; it should be "False", but
4917    in <a href="#xterm_315">patch #315</a> it was "Maybe", which
4918    differed from default set in <a href="#xterm_192">patch
4919    #192</a>.</li>
4920  </ul>
4921
4922  <h1><a name="xterm_315" id="xterm_315">Patch #315 -
4923  2015/03/02</a></h1>
4924
4925  <ul>
4926    <li>change default for <code>--enable-narrowproto</code> for
4927    Cygwin to "no" to better match contemporary configurations
4928    (report by Jens Schweikhardt, prompted by <a href=
4929    "http://stackoverflow.com/questions/28137618/what-is-a-narrow-prototype-and-why-would-i-need-one/28334574?noredirect=1#comment45022128_28334574">
4930    discussion</a>).</li>
4931
4932    <li>provide <code>OSC&nbsp;106</code> as an alternative to
4933    <code>OSC&nbsp;6</code>, avoiding conflict with one of
4934    Terminal.app's undocumented escape sequences (report by Egmont
4935    Koblinger).</li>
4936
4937    <li>fix an off-by-one in comparison when autowrap and
4938    left/right margins are combined (report by George
4939    Nachman).</li>
4940
4941    <li>modify <code>DECBI</code> and <code>DECFI</code> to work
4942    outside the left/right margins, since the vague VT520 reference
4943    manual could support that interpretation (suggested by George
4944    Nachman).</li>
4945
4946    <li>correct response for <code>DECSCUSR</code> in
4947    <code>DECRQSS</code> (report/analysis by George Nachman).</li>
4948
4949    <li>add <code>DECSLRM</code> to list for <code>DECRQSS</code>
4950    in ctlseqs.ms (report by George Nachman).</li>
4951
4952    <li>improve limit-checks versus assert's in the debugging
4953    version (reports by George Nachman).</li>
4954
4955    <li>correct a problem with multiple writes to the right-margin
4956    when autowrap is turned off (report by George Nachman, also
4957    reported in Gnome #744819 by Ulf Magnusson).</li>
4958
4959    <li>modify <code>DCH</code> to honor top/bottom and left/right
4960    margins (report by George Nachman).</li>
4961
4962    <li>correct off-by-one in comparison so that <code>DL</code>
4963    honors left/right margins (report by George Nachman).</li>
4964
4965    <li>correct logic of <code>DECSCL</code>, which always set
4966    8-bit controls as a side-effect (report by George
4967    Nachman).</li>
4968
4969    <li>correct loop limit for <code>DECSED&nbsp;1</code>, when
4970    <code>DECSCA</code> is enabled (report by George Nachman).</li>
4971
4972    <li>fix a entry in csi_table for &ldquo;<code>$</code>&rdquo;,
4973    needed for <code><em>CSI</em>&nbsp;[&nbsp;$&nbsp;z</code>
4974    (report by George Nachman).</li>
4975
4976    <li>remove restriction from <a href="#xterm_279">patch #279</a>
4977    changes on <code>DECIC</code> and <code>DECDC</code> to
4978    left-right mode (report by George Nachman).</li>
4979
4980    <li>correct PID value returned in response to DECRQCRA
4981    (report/analysis by George Nachman).</li>
4982
4983    <li>fix an ifdef'ing problem, where
4984    <code>--disable-dec-locator</code> would turn off logic needed
4985    for <code>DECIC</code> and <code>DECDC</code> (report by George
4986    Nachman).</li>
4987
4988    <li>correct order of parameters in report for
4989    <code><em>CSI</em>&nbsp;1&nbsp;9&nbsp;t</code>, which gives the
4990    screensize in characters (report by George Nachman).</li>
4991
4992    <li>add null pointer checks for a case in DECCRA where part of
4993    the target rectangle lies outside the screen limits (report by
4994    George Nachman).</li>
4995
4996    <li>remove extra "6" for selective erase from DA1 response
4997    (report by George Nachman).</li>
4998
4999    <li>support Xinerama screen specification in geometry parsing
5000    (patch by Nicolas George).</li>
5001
5002    <li>add configure option <code>--enable-initial-erase</code> to
5003    set <code>ptyInitialErase</code> consistently with manpage, as
5004    well as adding a table in manpage to clarify the relationship
5005    between the resources related to the backarrow key (Debian
5006    #775952).</li>
5007
5008    <li>add configure <code>--enable-builtin-xpms</code> to
5009    simplify compiling-in the icons introduced in <a href=
5010    "#xterm_284">patch #284</a> (prompted by discussion with
5011    William Bulley).</li>
5012
5013    <li>fix/improve autoconf macros:
5014      <ul>
5015        <li>CF_WITH_APP_DEFAULTS, add paths for OSX</li>
5016
5017        <li>CF_WITH_MAN2HTML, configure option "--with-man2html"
5018        provides "man2html" as alternative to groff's man/html
5019        conversion</li>
5020      </ul>
5021    </li>
5022
5023    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
5024  </ul>
5025
5026  <h1><a name="xterm_314" id="xterm_314">Patch #314 -
5027  2014/12/28</a></h1>
5028
5029  <ul>
5030    <li>fix a minor bug in the termcap-specific version of
5031    <code>resize</code> when the lines or columns values are at the
5032    very end of an incomplete termcap string (prompted by coverity
5033    report).</li>
5034
5035    <li>improve paste64 feature (report by Olaf Rogalsky)
5036      <ul>
5037        <li>fix &ldquo;<code>p</code>;&rdquo; command in
5038        <code>paste64.pl</code> example.</li>
5039
5040        <li>modify <code>_OwnSelection</code> to allow the paste64
5041        control to cause primary/clipboard selections to be
5042        disowned and cleared.</li>
5043
5044        <li>omit an extra "=" used in padding, to make the base64
5045        response a multiple of four characters.</li>
5046
5047        <li>modify <code>_ConvertSelectionHelper</code> to not stop
5048        converting on embedded nulls in the primary or clipboard
5049        selection. That makes the behavior consistent with
5050        cut-buffers. Nulls are not passed on to the application
5051        because they are used for separators in the X library calls
5052        that convert <code>XTextProperty</code> values.</li>
5053      </ul>
5054    </li>
5055
5056    <li>add configure option <code>--with-man2html</code> to allow
5057    an alternative to groff's man/html conversion.</li>
5058
5059    <li>review and modify resource-settings which can be set via
5060    control sequences, etc:
5061      <ul>
5062        <li>add <code>OSC&nbsp;6</code>, to enable/disable colors
5063        set via <code>OSC&nbsp;5</code>, without changing the color
5064        assignments (prompted by patch by Ingo Br&uuml;ckl).</li>
5065
5066        <li>add command-line option <code>-itc</code> for
5067        italics.</li>
5068
5069        <li>add <code>colorIT</code> and <code>colorITMode</code>
5070        for italics, like <code>colorBD</code>, etc.</li>
5071
5072        <li>guard <code>allowPasteControls</code> against
5073        modification by <code>editres</code>.</li>
5074      </ul>
5075    </li>
5076
5077    <li>change <code>passedPty</code> from fixed-length to
5078    allocated to ensure that it is long enough to hold the
5079    <code>-S</code> option value (report by Ben Longbons).</li>
5080
5081    <li>improve ReGIS graphics initialization (Ross Combs):
5082      <ul>
5083        <li>add a new string resource to set the default ReGIS
5084        font.</li>
5085
5086        <li>fix a caching problem where the font name wasn't taken
5087        into consideration when looking up cached metrics.</li>
5088
5089        <li>enables use of fractional values in coordinates (which
5090        in turn allows setting the coordinates to something like
5091        [0,1][1,0])</li>
5092
5093        <li>doubles the minimum ReGIS graphic to 200x200</li>
5094
5095        <li>set the default ReGIS image size to "auto"</li>
5096
5097        <li>fix some swapped width/height parameters in TRACE
5098        messages</li>
5099
5100        <li>add support for scaling and mirrored coordinate systems
5101        to the screen address command</li>
5102
5103        <li>sets a minimum ReGIS graphics size of 100x100 --
5104        smaller address ranges will be scaled up</li>
5105
5106        <li>reset the image if either the width or height is zero
5107        (which should happen together or not at all, but switching
5108        the logic gets rid of some parentheses)</li>
5109
5110        <li>adds support for alternate screen coordinates (just
5111        offsets, not inverted coordinates or scaling)</li>
5112
5113        <li>keeps the graphics state across ReGIS calls unless P1
5114        or P3 entry codes are used</li>
5115
5116        <li>changes loops to continue after parsing whitespace to
5117        allow trailing whitespace</li>
5118
5119        <li>fixes some incorrect character casts</li>
5120      </ul>
5121    </li>
5122  </ul>
5123
5124  <h1><a name="xterm_313" id="xterm_313">Patch #313 -
5125  2014/11/28</a></h1>
5126
5127  <ul>
5128    <li>add <code>regisScreenSize</code> resource setting to allow
5129    custom screensizes for ReGIS graphics (prompted by discussion
5130    with Scott Froebe).</li>
5131
5132    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
5133
5134    <li>improve ReGIS font-handling (Ross Combs):
5135      <ul>
5136        <li>remove "random junk" generation for unknown
5137        characters</li>
5138
5139        <li>add xterm extension to load user glyphs for alphabet
5140        0</li>
5141
5142        <li>add xterm extension to specify loading an alphabet from
5143        a font by name</li>
5144
5145        <li>fix bug with use of empty alphabet slots which caused
5146        slot 0 to be clobbered</li>
5147
5148        <li>update/clarify ReGIS-related comments</li>
5149
5150        <li>add DECprint extension for printing/clearing the screen
5151        (only clearing is performed)</li>
5152      </ul>
5153    </li>
5154
5155    <li>improve ReGIS colorspec conversion (Ross Combs):
5156      <ul>
5157        <li>avoid some floating point math for colorspace
5158        conversion</li>
5159
5160        <li>move two copies of colorspec parsing to a single
5161        function</li>
5162
5163        <li>change colorspec parsing to handle components being out
5164        of order or with spaces and commas between them</li>
5165
5166        <li>add support for an extension where RGB components can
5167        be given instead of HLS</li>
5168      </ul>
5169    </li>
5170
5171    <li>improve use of const, e.g., for the <code>LineData</code>
5172    pointers (patch by Ross Combs).</li>
5173
5174    <li>clip of graphics that overlap the scrollback buffer and alt
5175    screen (patch by Ross Combs).</li>
5176
5177    <li>amend change to focus-change events in <a href=
5178    "#xterm_287">patch #287</a> to limit it to suppressing the
5179    reset of the urgency-hint, because some useful
5180    <code>FocusOut</code> events were lost (report by Joe
5181    Peterson).</li>
5182
5183    <li>modify dpkg build-script to configure xterm-dev as an
5184    <code>x-terminal-emulator</code> alternative.</li>
5185
5186    <li>extend the <code>--with-xterm-symlink</code> feature to
5187    make symbolic links for the other programs and scripts.</li>
5188
5189    <li>minor fix to <code>vttests/resize.pl</code> to avoid
5190    undefined variable when receiving broken/missing response,
5191    e.g., from mrxvt.</li>
5192
5193    <li>change the way that ReGIS graphics are refreshed (patch by
5194    Ross Combs):
5195      <ul>
5196        <li>it pre-composes any overlapping graphics to avoid
5197        unnecessary and flickering draws</li>
5198
5199        <li>it adds a three-dimensional lookup table for RGB -&gt;
5200        pixel values and uses this across all graphics</li>
5201
5202        <li>it draws in line segments when there is a run of the
5203        same color</li>
5204
5205        <li>in cases where there are no transparent parts, it uses
5206        an XImage to draw</li>
5207
5208        <li>it hooks into the double-buffering support if it is
5209        enabled (though this doesn't seem to get rid of all
5210        flicker).</li>
5211      </ul>
5212      This has the effect of reducing flicker and speeding up
5213      redraws.
5214    </li>
5215  </ul>
5216
5217  <h1><a name="xterm_312" id="xterm_312">Patch #312 -
5218  2014/09/28</a></h1>
5219
5220  <ul>
5221    <li>undo change to <code>do_select_regex()</code> in <a href=
5222    "#xterm_311">patch #311</a> (reports by H Merijn Brand,
5223    Sven-Haegar Koch, Debian #762978).</li>
5224  </ul>
5225
5226  <h1><a name="xterm_311" id="xterm_311">Patch #311 -
5227  2014/09/18</a></h1>
5228
5229  <ul>
5230    <li>mention <code>xclip</code> in manpage as an alternative
5231    workaround for copying clipboard data, noting that
5232    <code>selectToClipboard</code> (see <a href="#xterm_209">patch
5233    #209</a>) is the recommended approach (Debian #639094).</li>
5234
5235    <li>correct comparison in do_select_regex() of working position
5236    against starting column.</li>
5237
5238    <li>correct initialization for regular-expression feature of
5239    <code>exec-selectable</code> and <code>insert-selectable</code>
5240    actions (Debian #758633).</li>
5241
5242    <li>modify logic for <code>exec-formatted</code> and
5243    <code>insert-formatted</code> actions to ensure that the
5244    formatting occurs just after the selection is received (Debian
5245    #758633).</li>
5246
5247    <li>account for state of reverse-video in special case of
5248    cursor coloring (Debian #759734).</li>
5249
5250    <li>fix a sign-extension problem in ReGIS support, as well as
5251    correcting a case where ignored-characters were not really
5252    ignored (patch by Ross Combs).</li>
5253
5254    <li>Enable the "Escape Sequence" menu entry when an OSC&nbsp;50
5255    is received. Also disable it if the escape sequence specifies
5256    no font (Debian #760208).</li>
5257
5258    <li>improve fix for the <code>fontsel</code> menu entry from
5259    <a href="#xterm_304">patch #304</a>: because the recovery used
5260    the "current font", it would fail if one first selected a valid
5261    font, then an invalid font (Debian #760207).</li>
5262
5263    <li>correct an off-by-one in limit-check for
5264    <code>ScrnLimitChar</code> function (report by Egmont
5265    Koblinger).</li>
5266  </ul>
5267
5268  <h1><a name="xterm_310" id="xterm_310">Patch #310 -
5269  2014/07/25</a></h1>
5270
5271  <ul>
5272    <li>update package/freebsd files based on xterm #309 port.</li>
5273
5274    <li>adapt changes from Minux3.2 which ported <a href=
5275    "#xterm_197">xterm #197</a>, to allow building on that platform
5276    both using <code>imake</code> as well as using the configure
5277    script.</li>
5278
5279    <li>update precompose.c based on Unicode 7.0</li>
5280
5281    <li>build-fix for <code>--with-Xaw3dxft</code> option (report
5282    by Emanuel Haupt).</li>
5283  </ul>
5284
5285  <h1><a name="xterm_309" id="xterm_309">Patch #309 -
5286  2014/07/13</a></h1>
5287
5288  <ul>
5289    <li>modify configure script to work around debris left by
5290    XQuartz upgrades.</li>
5291
5292    <li>modify test-package scripts to enable ReGIS graphics.</li>
5293
5294    <li>improvements/additions to ReGIS graphics, e.g., drawing
5295    text (Ross Combs).</li>
5296
5297    <li>add <code>--with-Xaw3dxft</code>, to link with Xaw 3d xft
5298    library (Stephen P Wall).</li>
5299
5300    <li>amend reset for cursor-shape to take into account
5301    <code>cursorUnderline</code> resource (report by Christian
5302    Weisgerber).</li>
5303
5304    <li>update config.guess, config.sub</li>
5305  </ul>
5306
5307  <h1><a name="xterm_308" id="xterm_308">Patch #308 -
5308  2014/06/19</a></h1>
5309
5310  <ul>
5311    <li>corrected font used for clipping double-width bitmap fonts
5312    from <a href="#xterm_307">patch #307</a> changes to work around
5313    mis-scaled fonts (Debian #752947).</li>
5314
5315    <li>improve wording of a warning message.</li>
5316  </ul>
5317
5318  <h1><a name="xterm_307" id="xterm_307">Patch #307 -
5319  2014/06/17</a></h1>
5320
5321  <ul>
5322    <li>fill background for top/bottom parts of
5323    double-width/double-height characters, to cover occasional gaps
5324    due to bitmap font-scaling (report by Egmont Koblinger).</li>
5325
5326    <li>amend resets for keyboard-type, pointer-mode and
5327    title-modes from <a href="#xterm_305">xterm #305</a> changes to
5328    account for resource settings (Debian #751351).</li>
5329
5330    <li>modify <em>printAttributes</em> feature to include new SGR
5331    codes.</li>
5332
5333    <li>modify cursor show/hide logic to work with italic
5334    fonts.</li>
5335
5336    <li>do clipping and filling for a case with bitmap-fonts and
5337    italics when the font server returns only a "close" match
5338    (report/testcase by Egmont Koblinger).</li>
5339
5340    <li>adjust loop comparison for underlining to display
5341    underlines on 5x8 font as in <a href="#xterm_304">patch
5342    #304</a> (Debian #750733).</li>
5343
5344    <li>amend fix for Freedesktop #15979 (Debian #750733).</li>
5345
5346    <li>amend xterm.appdata.xml, making it validate with current
5347    schema.</li>
5348  </ul>
5349
5350  <h1><a name="xterm_306" id="xterm_306">Patch #306 -
5351  2014/06/03</a></h1>
5352
5353  <ul>
5354    <li>fixes for display-errors in new SGR codes (report by Egmont
5355    Koblinger).</li>
5356  </ul>
5357
5358  <h1><a name="xterm_305" id="xterm_305">Patch #305 -
5359  2014/06/02</a></h1>
5360
5361  <ul>
5362    <li>add <code>xterm.appdata.xml</code> (request by Richard
5363    Hughes). By the way, none of the <em>released</em> validators
5364    yet handle <code>&lt;licence&gt;</code> tags (or
5365    <code>&lt;metadata_license&gt;</code>, etc).</li>
5366
5367    <li>fix memory leaks in bitmap font-name caching.</li>
5368
5369    <li>other changes to hard-reset behavior:
5370      <ul>
5371        <li>reset keyboard-type on hard-reset.</li>
5372
5373        <li>reset pointer-mode (<code>pointerMode</code>) on
5374        hard-reset</li>
5375
5376        <li>reset title-modes (<code>titleModes</code>) on
5377        hard-reset</li>
5378
5379        <li>reset cursor-shape on hard or soft-reset</li>
5380
5381        <li>reset LEDs on hard-reset.</li>
5382
5383        <li>reset DECSACE on hard-reset.</li>
5384      </ul>
5385    </li>
5386
5387    <li>reset bracketed-paste mode on hard-reset (suggested by
5388    Egmont Koblinger).</li>
5389
5390    <li>modify UTF-8 decoder to account for
5391    <code>allowC1Printable</code> resource.</li>
5392
5393    <li>revise <code>getXftColor</code> to ensure that its sequence
5394    number will not overflow in long-running sessions.</li>
5395
5396    <li>minor fix to selection to prevent hidden character from
5397    being returned in selection data (report by Egmont
5398    Koblinger).</li>
5399
5400    <li>add <code>-sh</code> to help-message.</li>
5401
5402    <li>amend check for incomplete fonts to always decide that a
5403    character is missing if the font lacks per-character metrics
5404    (prompted by Freedesktop #15979).</li>
5405
5406    <li>minor reorganization to implement &ldquo;filler&rdquo; SGR
5407    features. There are no established applications which rely upon
5408    these; some people find them amusing.
5409      <ul>
5410        <li>separate bits used to manage drawing state from
5411        attribute-bits.</li>
5412
5413        <li>implement SGR codes 2, 3, 9, 21 and their corresponding
5414        resets.</li>
5415
5416        <li>add configure option <code>--disable-wide-attrs</code>
5417        to disable the feature.</li>
5418      </ul>
5419    </li>
5420
5421    <li>additional changes for ReGIS support (Ross Combs):
5422      <ul>
5423        <li>fix some arc drawing bugs and add support for pattern
5424        shading.</li>
5425      </ul>
5426    </li>
5427  </ul>
5428
5429  <h1><a name="xterm_304" id="xterm_304">Patch #304 -
5430  2014/05/03</a></h1>
5431
5432  <ul>
5433    <li>add debugging check for parsing table entries, fixed a few
5434    inconsistencies.</li>
5435
5436    <li>handle utmp/utmpx strings consistently with new function
5437    that null-pads unused locations.</li>
5438
5439    <li>build-fix for imake configuration with FreeBSD 9 and later,
5440    to account for replacing <code>utmp</code> with
5441    <code>utmpx</code>.</li>
5442
5443    <li>improve handling of the <code>fontsel</code>
5444    (font-selection) menu item:
5445      <ul>
5446        <li>initialize the menu entry differently if the toolbar
5447        configuration is used, i.e., enabling it without attempting
5448        to use the current selection as a font name. Because of the
5449        way in which the toolbar is setup, this attempt usually
5450        failed, and would result in a warning.</li>
5451
5452        <li>if the menu action fails, e.g., no font can be loaded
5453        for the given selected name, then recover by resuming with
5454        the current font. Before, the recovery went to the default
5455        font. That was done to work around missing bitmap font in
5456        <a href="#xterm_276">patch #276</a>.</li>
5457      </ul>
5458    </li>
5459
5460    <li>document OSC&nbsp;119 in the control sequences listing
5461    (report by Egmont Koblinger).</li>
5462
5463    <li>modify special handling of <code>XF86Paste</code> or
5464    <code>SunPaste</code> keysyms (see <a href="#xterm_227">patch
5465    #227</a>) to use the standard shift/lock modifiers in case
5466    those are, for example, used in level 3 in an XKB file (patch
5467    by Matthieu Herrb).</li>
5468
5469    <li>configure macro updates:
5470      <ul>
5471        <li>drop the <code>-no-gcc</code> option from
5472        CF_INTEL_COMPILER</li>
5473
5474        <li>modify CF_XOPEN_SOURCE to suppress the check for
5475        defining _XOPEN_SOURCE on Solaris</li>
5476      </ul>
5477    </li>
5478
5479    <li>reduce bss storage used for ReGIS/Sixel modules, as well as
5480    cleanup storage usage in other modules.</li>
5481
5482    <li>initial changes for ReGIS support (Ross Combs):
5483      <ul>
5484        <li>document control-sequences</li>
5485
5486        <li>separate ifdef's for sixel and color-register
5487        features</li>
5488
5489        <li>add configuration for VT382</li>
5490      </ul>
5491    </li>
5492  </ul>
5493
5494  <h1><a name="xterm_303" id="xterm_303">Patch #303 -
5495  2014/03/06</a></h1>
5496
5497  <ul>
5498    <li>improve check for <code>/etc/shells</code> to allow its
5499    entries to be symbolic links.</li>
5500
5501    <li>fix a regression in <a href="#xterm_302">patch #302</a>
5502    fixes relating to interaction of <code>SHELL</code> and
5503    <code>XTERM_SHELL</code> variables (Debian #740919).</li>
5504
5505    <li>improve manpage discussion of use of
5506    <code>/etc/shells</code> for validating the <code>SHELL</code>
5507    environment variable.</li>
5508
5509    <li>further improve the approximation for color map by ignoring
5510    bits which would not be applied by the rgb masks for the
5511    current visual (report by Joe Peterson).</li>
5512
5513    <li>add <code>-report-colors</code> to usage-message (report by
5514    Joe Peterson).</li>
5515  </ul>
5516
5517  <h1><a name="xterm_302" id="xterm_302">Patch #302 -
5518  2014/03/02</a></h1>
5519
5520  <ul>
5521    <li>amend approximation for color map introduced in <a href=
5522    "#xterm_277">patch #277</a> to make that apply only to
5523    <code>TrueColor</code> (adapted from patch by Joe
5524    Peterson).</li>
5525
5526    <li>add <code>-report-colors</code> option, to show colors as
5527    they are allocated.</li>
5528
5529    <li>fix some gcc <code>-Wcast-qual</code> warnings.</li>
5530
5531    <li>correct app-defaults location for CentOS-4 in
5532    xterm.spec</li>
5533
5534    <li>improve check in <code>minstall.sh</code> for X manpage's
5535    section number; add sample dependencies for the relevant
5536    documentation package to packaging test-scripts (prompted by
5537    Novell #779474).</li>
5538
5539    <li>modify sample build-scripts for dpkg and rpm to ensure that
5540    <code>vttests</code> scripts are uncompressed and
5541    executable.</li>
5542
5543    <li>modify Perl scripts in <code>vttests</code> to use
5544    <code>env</code> to find Perl rather than relying on
5545    <code>/usr/bin/perl</code> This makes the sample scripts usable
5546    with NetBSD and other systems using <em>pkgsrc</em>.</li>
5547
5548    <li>amend check from <a href="#xterm_301">patch #301</a> for
5549    valid shell to permit existing <code>SHELL</code> value to
5550    specify the shell; clarify the behavior in the manpage (report
5551    by Emmanuel Thom&eacute;).</li>
5552
5553    <li>amend change to wide-character processing from <a href=
5554    "#xterm_257">patch #257</a> to allow switching to/from UTF-8
5555    encoding if the <code>utf8</code> resource was not set to
5556    &ldquo;always&rdquo; (report by Honza Maly).</li>
5557
5558    <li>fix incorrect free from <a href="#xterm_301">patch #301</a>
5559    changes, if explicit program without <code>-e</code> option is
5560    a valid shell (patch by Romain Francoise).</li>
5561  </ul>
5562
5563  <h1><a name="xterm_301" id="xterm_301">Patch #301 -
5564  2014/01/19</a></h1>
5565
5566  <ul>
5567    <li>OSC&nbsp;104 and 105 did not accept parameter to reset a
5568    specific color (patch by Egmont Koblinger).</li>
5569
5570    <li>add configure check for <code>initgroups</code>, and use
5571    that function to complement its use of <code>setgid</code>
5572    (prompted by patch by Miroslav Lichvar).</li>
5573
5574    <li>improve manpage description of scrollbar translations
5575    versus the vt100 translations (Debian #723573).</li>
5576
5577    <li>add a few paragraphs to manpage explaining the implications
5578    of xterm's reliance on X Toolkit for command-line parsing.</li>
5579
5580    <li>modify cursor-theme logic to check if the environment
5581    variable <code>XCURSOR_THEME</code> is set to a nonempty value
5582    before constructing a dummy them (prompted by similar check
5583    added in OpenBSD CVS).</li>
5584
5585    <li>add check for a case where TrueType bold font is missing a
5586    glyph where the non-bold font has it. Temporarily switch to the
5587    non-bold font to draw the glyph (report by David
5588    Demelier).</li>
5589
5590    <li>minor documentation fixes for ctlseqs.ms</li>
5591
5592    <li>only set <code>SHELL</code> environment variable to
5593    programs found in <code>/etc/shells</code> (prompted by
5594    patch/report by Al Poole).</li>
5595
5596    <li>build-fix, when <code>--disable-wide-chars</code>
5597    <code>--disable-boxchar</code> is used (prompted by patch by
5598    Andrey Panov).</li>
5599  </ul>
5600
5601  <h1><a name="xterm_300" id="xterm_300">Patch #300 -
5602  2013/12/03</a></h1>
5603
5604  <ul>
5605    <li>amend workaround for <code>Xcursor</code> library from
5606    <a href="#xterm_298">patch #298</a>; the suggested solution for
5607    Debian #466704 fell afoul of a bug in <code>Xcursor</code>
5608    which treated an empty value for <code>Inherits=</code> as a
5609    valid theme&mdash;and resulted in a stack overflow due to
5610    unbounded recursion. Certain environments such as XFCE4 exposed
5611    the bug. A related report in Debian #531679 was closed without
5612    following the recommendation to limit stack recursion in this
5613    library (reported by Sergey V Dyatko, Debian #731269).</li>
5614  </ul>
5615
5616  <h1><a name="xterm_299" id="xterm_299">Patch #299 -
5617  2013/12/01</a></h1>
5618
5619  <ul>
5620    <li>fix regression in line-drawing from <a href=
5621    "#xterm_297">patch #297</a> changes for NRCS exposed by change
5622    to <code>assumeAllChars</code> resource in <a href=
5623    "#xterm_298">patch #298</a> (report by Markus Waldeck).</li>
5624  </ul>
5625
5626  <h1><a name="xterm_298" id="xterm_298">Patch #298 -
5627  2013/11/27</a></h1>
5628
5629  <ul>
5630    <li>quiet a warning about ambiguity when <code>-h</code>
5631    command-line option is parsed, since <code>-help</code> is used
5632    rather than the options mentioned in the message. This warning
5633    was caused by fixes in <a href="#xterm_272">patch
5634    #272</a>.</li>
5635
5636    <li>remove an extra check for keypad-mode which interfered with
5637    the <a href="#xterm_280">patch #280</a>
5638    <code>modifyKeyboard</code> feature for the numeric keypad
5639    (report by David Conners).</li>
5640
5641    <li>change default for <code>assumeAllChars</code> resource
5642    (Debian #725682). There are unresolved issues with Terminus
5643    fonts, e.g., Debian #722017.</li>
5644
5645    <li>add <code>-report-fonts</code> command-line option and
5646    <code>reportFonts</code> resource to optionally report the
5647    fonts which are loaded, and their metrics such as the number of
5648    missing glyphs.</li>
5649
5650    <li>work around <code>Xcursor</code> library to make
5651    <code>pointerColor</code> resource work as documented (Debian
5652    #466704, analysis by Vincent Lef&egrave;vre).</li>
5653
5654    <li>amend change from <a href="#xterm_297">patch #297</a> for
5655    ASCII-equivalents to ensure that missing characters which
5656    happen to be double-width are padded to the expected number of
5657    columns. Also, correct the choice between normal/wide Xft fonts
5658    used when checking for missing characters (reported by WU Yue,
5659    Debian #728949, Gentoo #491334).</li>
5660
5661    <li>modify sixel-graphics drawing to account for scrollbar
5662    width (report by Mario Edelmann).</li>
5663
5664    <li>fix remaining issue with <code>DECNRCM</code>; the British
5665    character set was confused with ISO Latin-1 (report by Hayaki
5666    Saito).</li>
5667
5668    <li>build-fix for <code>--disable-boxchars</code> configure
5669    option.</li>
5670
5671    <li>updated configure macros, from ongoing work on lynx and
5672    ncurses.</li>
5673
5674    <li>update config.guess, config.sub</li>
5675  </ul>
5676
5677  <h1><a name="xterm_297" id="xterm_297">Patch #297 -
5678  2013/09/10</a></h1>
5679
5680  <ul>
5681    <li>modify check for missing cells in bitmap font to work
5682    around terminus 10646 encoding, which is mostly missing, add
5683    <code>assumeAllChars</code> resource to provide the older
5684    behavior.</li>
5685
5686    <li>modify macros used to check for missing cells in bitmap
5687    fonts to pick up a long-overlooked improvement made to xfd in
5688    XFree86.</li>
5689
5690    <li>improve workaround for groff versus ASCII-equivalents;
5691    <a href="#xterm_185">patch #185</a> had overlooked Xft
5692    configuration (reported by anonymous user on Arch Linux
5693    forum).</li>
5694
5695    <li>review/extend <code>DECNRCM</code> support (prompted by
5696    report by Hayaki Saito asking about the two "A" codes).
5697      <ul>
5698        <li>make pasting of DECNRCM data work by translating the
5699        pasted data into the selected encoding.</li>
5700
5701        <li>limit mode changes to VT220 and up.</li>
5702
5703        <li>ignore SCS for National Replacement Characters if
5704        <code>DECNRCM</code> is not set.</li>
5705
5706        <li>add tables and logic to decode SCS controls ending with
5707        "%" and one additional character. This expects the parsing
5708        of SCS to VT320.</li>
5709
5710        <li>also added parsing for SCS of DEC Supplemental and DEC
5711        Technical, which are for VT2xx and VT3xx respectively.</li>
5712
5713        <li>implement VT220 Multinational character set "GR" aka
5714        "DEC Supplemental Graphic".</li>
5715
5716        <li>DEC Technical character set based on <a href=
5717        "http://www.vt100.net/charsets/technical.html">vt100.net
5718        description</a>.</li>
5719
5720        <li>implement Portuguese NRC.</li>
5721
5722        <li>provide for temporarily switching to/from NRC mode from
5723        UTF-8 mode when <code>DECNRCM</code> is set or reset.</li>
5724      </ul>
5725    </li>
5726
5727    <li>minor fix to assert's found while testing examples from
5728    <a href="https://gist.github.com/ttdoda">ttdoda's
5729    slrm-test1.txt</a>.</li>
5730
5731    <li>modify <code>DECLRMM</code> to not update the cursor
5732    position (report by Iwamoto Kouichi forwarded by Hayaki
5733    Saito).</li>
5734
5735    <li>modify cursor-position report to take origin-mode into
5736    account (report by Hayaki Saito, see also <a href=
5737    "https://github.com/gnachman/iTerm2/pull/129">iTerm2 pull
5738    request 129</a>).</li>
5739
5740    <li>correct off-by-one comparison in when handling
5741    carriage-return at left margin (patch by Iwamoto Kouichi,
5742    forwarded by Hayaki Saito).</li>
5743
5744    <li>improve handling of <code>faceName</code> resource when a
5745    "size=" property is embedded in it, by using that size to
5746    replace the default <code>faceSize</code> resource. This lets
5747    xterm honor the other faceSize resources (report by Jens
5748    Schweikhardt).</li>
5749
5750    <li>improve OSC&nbsp;52 selection-data by setting its timestamp
5751    to correspond to the most-recent event received by xterm, to
5752    ensure that calls to <code>XtOwnSelect</code> succeed even if
5753    the selection is manipulated solely through the keyboard
5754    (prompted by patch by Richard Tollerton).</li>
5755
5756    <li>change configure-script defaults for "luit" and
5757    "wide-chars" options to match the values used in the imake
5758    configuration, to lessen user surprise if they are accustomed
5759    to building xterm using imake(report by Andries E
5760    Brouwer).</li>
5761
5762    <li>improve the imake-related configuration's check if xterm is
5763    started in a locale that uses UTF-8 encoding. Before, this
5764    checked the locale settings only for "UTF-8", now it checks
5765    ignoring case for "UTF-8" and "UTF-8" (report by Andries E
5766    Brouwer).</li>
5767  </ul>
5768
5769  <h1><a name="xterm_296" id="xterm_296">Patch #296 -
5770  2013/07/10</a></h1>
5771
5772  <ul>
5773    <li>improve experimental sixel feature (Ross Combs).</li>
5774
5775    <li>modify delimiter in configure macro used to add a library
5776    after a given library to avoid confusion with <code>-Wl</code>
5777    pass-through options to linker (NetBSD #48031).</li>
5778
5779    <li>fix quoting in expression used to trim extra libraries from
5780    <a href="#xterm_295">patch #295</a> changes (report by Thomas
5781    Klausner).</li>
5782  </ul>
5783
5784  <h1><a name="xterm_295" id="xterm_295">Patch #295 -
5785  2013/07/06</a></h1>
5786
5787  <ul>
5788    <li>adjust order of libraries to work around incomplete symbol
5789    resolution when using <code>--as-needed</code> option
5790    (ArchLinux #36047).</li>
5791
5792    <li>minor fix for <code>plink.sh</code>, for IRIX64.</li>
5793  </ul>
5794
5795  <h1><a name="xterm_294" id="xterm_294">Patch #294 -
5796  2013/07/05</a></h1>
5797
5798  <ul>
5799    <li>add note in ctlseqs.ms for CPR response pointing out a
5800    potential point of confusion with the string sent by a modified
5801    F1 key (suggested by Bram Moolenaar).</li>
5802
5803    <li>improve <code>plink.sh</code> by checking if the linker
5804    supports the <code>--as-needed</code> option (suggested by
5805    David Philippi).</li>
5806
5807    <li>improve clearing for private mode 1049 when switching to
5808    the alternate screen (Debian #711758).</li>
5809
5810    <li>amend fix from <a href="#xterm_292">patch #292</a> by
5811    removing now-unneeded chunk which introduced problem in
5812    selection (Debian #714527).</li>
5813
5814    <li>add definition to optionally override compiled-in class for
5815    xterm from makefile, needed for test-packages.</li>
5816
5817    <li>add configure option
5818    <code>--enable-sixel-graphics</code></li>
5819
5820    <li>add experimental support for sixel graphics (Ross
5821    Combs).</li>
5822  </ul>
5823
5824  <h1><a name="xterm_293" id="xterm_293">Patch #293 -
5825  2013/05/27</a></h1>
5826
5827  <ul>
5828    <li>modify sample xterm.spec to use newer icon</li>
5829
5830    <li>add configure option <code>--with-icon-symlink</code> to
5831    work around systems which map icon requests for to a single
5832    "xterm" icon, but neglect to install the icon needed for window
5833    decorations (report by H Merijn Brand).</li>
5834
5835    <li>improve parameterizing of sample xterm.spec</li>
5836
5837    <li>amend fix for printer from <a href="#xterm_280">patch
5838    #280</a>, removing a reset of the signal handler for
5839    <code>SIGCHLD</code> (report by Joe Julian).</li>
5840
5841    <li>set environment variable <code>XTERM_FILTER</code> if a
5842    locale-filter is used.</li>
5843
5844    <li>enable <code>DEBUG</code> logic when
5845    <code>--enable-trace</code> configure option is given.</li>
5846
5847    <li>improve description of <code>initialFont</code>,
5848    <code>set-vt-font</code> and <code>set-tex-text</code> in
5849    manpage (Debian #707899).</li>
5850
5851    <li>fix regression from <a href="#xterm_292">patch #292</a>;
5852    selecting a word that ended at the right margin without
5853    wrapping would not select the last cell (report by Christian
5854    Weisgerber).</li>
5855  </ul>
5856
5857  <h1><a name="xterm_292" id="xterm_292">Patch #292 -
5858  2013/04/25</a></h1>
5859
5860  <ul>
5861    <li>add limit-check when double-click selects a word; if the
5862    saved-lines were scrolled back and the word selected wrapped at
5863    the screen's lower right corner, an assertion was triggered
5864    (patch by Taketo Kabe).</li>
5865
5866    <li>correct limit-check in <code>unsaveEditBufLines</code>,
5867    fixing a case where enlarging the terminal size could show a
5868    blank line where there actually is available text (patch by
5869    Bertram Felgenhauer).</li>
5870
5871    <li>add <code>PasteControls</code> feature to
5872    <code>allowWindowOps</code> which by default disallows pasting
5873    control characters other than formatting such as carriage
5874    return (discussion with Hayaki Saito).</li>
5875
5876    <li>fix typo in ctlseqs.ms for DECRQM response (patch by
5877    Emanuele Giaquinta).</li>
5878
5879    <li>update default shown in configure <code>--help</code>
5880    message for <code>--with-terminal-id</code> option (patch by
5881    Andres Perera).</li>
5882
5883    <li>rename script/preprocessor variables used for substituting
5884    the <code>backarrowKey</code> default value for consistency
5885    (patch by Andres Perera).</li>
5886
5887    <li>set umask to 077 before creating debugging-trace
5888    files.</li>
5889
5890    <li>add configure option <code>--disable-openpty</code> to
5891    control whether openpty() may be used in preference to
5892    posix_openpt().</li>
5893
5894    <li>improve workaround from <a href="#xterm_279">patch #279</a>
5895    for BSD systems which do not complete initialization until both
5896    sides of the pseudoterminal are opened, by preferring openpty()
5897    function over posix_openpt() when available (report by
5898    Christian Weisgerber).</li>
5899  </ul>
5900
5901  <h1><a name="xterm_291" id="xterm_291">Patch #291 -
5902  2013/02/26</a></h1>
5903
5904  <ul>
5905    <li>add validity check for xterm widget parameter to
5906    <code>AlternateScroll</code> function, needed to handle wheel
5907    mouse events in the scrollbar area since <a href=
5908    "#xterm_282">patch #282</a> changes which introduced
5909    <code>alternateScroll</code> feature (Redhat #874327).</li>
5910  </ul>
5911
5912  <h1><a name="xterm_290" id="xterm_290">Patch #290 -
5913  2013/02/12</a></h1>
5914
5915  <ul>
5916    <li>revert of <a href="#xterm_282">patch #282</a> change was
5917    incomplete (report by Jim Reisert).</li>
5918
5919    <li>fix typo in manpage (report by Vincent
5920    Lef&egrave;vre).</li>
5921  </ul>
5922
5923  <h1><a name="xterm_289" id="xterm_289">Patch #289 -
5924  2013/02/08</a></h1>
5925
5926  <ul>
5927    <li>revert the <a href="#xterm_282">patch #282</a> change which
5928    restored "lost" text after shrinking/growing the screen size.
5929    If the screen was updated between the two resizing operations,
5930    unexpected text might be shown at the end (report/testcase by
5931    Joe Peterson).</li>
5932
5933    <li>reverse the arrow-keys sent for
5934    <code>alternateScroll</code> to match the usage in browsers
5935    (suggested by Dieter Roelants).</li>
5936
5937    <li>modify mouse reports to consistently indicate motion events
5938    whether or not a button is pressed. Old behavior (since
5939    <a href="#xterm_127">patch #127</a> modified encoding for wheel
5940    mouse) showed only that the button was released if no button
5941    had been pressed (report by Andy Koppe).</li>
5942
5943    <li>correct and improve behavior for SGR 1006 mouse protocol on
5944    button release in any-event mode. Initial implementation in
5945    <a href="#xterm_277">patch #277</a> left internal state showing
5946    the last button pressed when reporting motion events. It now
5947    keeps track of all buttons which have been pressed and
5948    released, showing the lowest remaining button by number in the
5949    response (reports by Hayaki Saito, Andy Koppe).</li>
5950
5951    <li>fix inconsistency between <code>TermColors</code> and
5952    <code>OscTextColors</code> enums which interchanged values for
5953    tektronix cursor color and highlight foreground in control
5954    sequences in <a href="#xterm_225">patch #225</a> (report/patch
5955    by Peder Stray).</li>
5956
5957    <li>fix inconsistent use of noreturn-attribute in
5958    <code>Exit</code> function which interfered with clang
5959    --analyze.</li>
5960
5961    <li>remove incorrect <code>free</code> used in computation of
5962    <code>XTERM_SHELL</code> variable, from Coverity fixes in
5963    <a href="#xterm_288">patch #288</a> (FreeBSD #175782).</li>
5964
5965    <li>add <code>--with-valgrind</code> option to configure script
5966    for consistency with my other programs.</li>
5967
5968    <li>update table of ambiguous width characters in wcwidth.c
5969    based on Unicode 6.2.0</li>
5970
5971    <li>update table of combining characters in wcwidth.c based on
5972    Unicode 6.2.0</li>
5973
5974    <li>update precompose.c based on Unicode 6.2.0</li>
5975  </ul>
5976
5977  <h1><a name="xterm_288" id="xterm_288">Patch #288 -
5978  2013/01/09</a></h1>
5979
5980  <ul>
5981    <li>fix a special case in <code>ShowCursor</code> where the
5982    foreground and background colors of the current position are
5983    the same. In that case, choose the further of the window's
5984    foreground and background colors for the cursor color.</li>
5985
5986    <li>modify <code>alternateScroll</code> feature added in
5987    <a href="#xterm_282">patch #282</a> to use either
5988    <code>CSI</code> or <code>SS3</code> according to the cursor
5989    keys application mode setting, to simplify using it in vi, etc.
5990    (suggested by Dietar Roelants).</li>
5991
5992    <li>revise manpage for <code>resize</code> to clarify the
5993    changes which <code>resize</code> may make to the terminal
5994    settings as well as to the terminal itself.</li>
5995
5996    <li>remove code such as <code>struct ttysize</code>, used for
5997    SunOS 3 and 4.</li>
5998
5999    <li>modify configure script and makefile to check for
6000    <code>groff</code> and suppress groff-specific rules if groff
6001    is not found.</li>
6002
6003    <li>modify ctlseqs.ms and makefile to work around bugs in
6004    <code>grohtml</code> which cause ".png" files to be truncated
6005    when producing html documentation.</li>
6006
6007    <li>modify suffix rules for "make docs" to make the names of
6008    the generated ".png" files predictable, helping to work around
6009    longstanding problems with this feature of groff&mdash;none of
6010    its releases work for <em>all</em> of xterm's tables..</li>
6011
6012    <li>correct typo in ctlseqs.ms for DECIC and DECDC; the
6013    character preceding the final "<code>~</code>" is an ASCII
6014    single-quote "<code>'</code>" rather than a space (report by
6015    Paul LeoNerd Evans).</li>
6016
6017    <li>update CF_GCC_VERSION macro, handling both Debian and
6018    Darwin.</li>
6019
6020    <li>improve configure script checks for the
6021    <code>--with-desktop-category</code> option. After <a href=
6022    "#xterm_280">patch #280</a> changes, if no value was given for
6023    this option, and no existing desktop files found for
6024    comparison, the incorrect "auto" value was passed into the
6025    generated desktop file (report by Julien Cristau).</li>
6026
6027    <li>modify sample build-scripts to disable check for
6028    <code>imake</code> due to code-rot in Xorg.</li>
6029
6030    <li>add <code>-v</code> command-line option to
6031    <code>resize</code>, reporting the same version string as
6032    <code>xterm</code> and the two shell-wrappers.</li>
6033
6034    <li>make name-transformation apply to other occurrences of
6035    <code>resize</code>, other manpages.</li>
6036
6037    <li>special-case the name-transformation in xterm's manpage in
6038    the NAME section so that the result works with
6039    <code>makewhatis</code> (report by Julien Cristau).</li>
6040
6041    <li>modify install-rules for manpages to put each program's
6042    respective transformed name into the header rather than
6043    xterm's.</li>
6044
6045    <li>remove deprecated files: proto.h, os2main.c</li>
6046
6047    <li>minor fixes based on Coverity scan, including:
6048      <ul>
6049        <li>correct caching of Atom value for the font menu's
6050        "Selection" entry.</li>
6051
6052        <li>ensure that utmp/utmpx calls do not depend upon
6053        trailing nulls in the <code>ut_id</code> and
6054        <code>ut_line</code> values.</li>
6055      </ul>
6056    </li>
6057  </ul>
6058
6059  <h1><a name="xterm_287" id="xterm_287">Patch #287 -
6060  2012/11/25</a></h1>
6061
6062  <ul>
6063    <li>fix a case where in_put() loop could continue when it has
6064    found an X event rather than the pty, causing the pty-read to
6065    be delayed (patch by Balazs Kezes).</li>
6066
6067    <li>add option to <code>pointerMode</code> resource and
6068    corresponding control sequences to allow text-cursor to remain
6069    hidden if the pointer leaves/enters the window via accelerator
6070    keys. Ordinary motion within the window restores the pointer
6071    (prompted by patch by Balazs Kezes).</li>
6072
6073    <li>remove special case of modifiers for the
6074    <code>Mode_switch</code> and <code>XK_ISO_Level3_Shift</code>
6075    from <a href="#xterm_223">patch #223</a>. Verified that the
6076    conflict which this was intended to resolve does not happen for
6077    normal compose- or modeswitch-handling (prompted by patch by
6078    Balazs Kezes, Debian #638694).</li>
6079
6080    <li>modify the handling of focus-change events to ignore those
6081    whose detail is <code>NotifyPointer</code>, since those are
6082    sent in addition to focus-change events directed to the old/new
6083    windows having focus. In particular, this prevents the
6084    urgency-hint from being reset inadvertently (prompted by patch
6085    by Balazs Kezes).</li>
6086
6087    <li>modify description of <code>iconName</code> in manpage to
6088    make it clearer that this resource does not specify the
6089    filename of an icon (discussion with Ian Collier).</li>
6090
6091    <li>modify <code>iconHint</code> resource to allow suppressing
6092    the built-in icon by setting this to "none" (discussion with
6093    Ian Collier).</li>
6094
6095    <li>make <code>-iconic</code> option work with the toolbar
6096    configuration.</li>
6097
6098    <li>correct initialization of window manager hints used to set
6099    the icon-pixmap. That detail from <a href="#xterm_282">patch
6100    #282</a> overwrote state used to control the
6101    <code>-iconic</code> command-line option (report by Ian
6102    Collier).</li>
6103
6104    <li>fix paste64 feature for the case where the selection comes
6105    from the current terminal. The selection callback can happen
6106    after the reply is partly built, making it necessary to flush
6107    the reply-buffer to keep things in the proper order (report by
6108    Ailin Nemui).</li>
6109
6110    <li>reject command-line options which are longer than the
6111    options in xterm's table, to avoid mismatches (Redhat
6112    #875305).</li>
6113
6114    <li>correct attribution for <a href="#xterm_282">patch #282</a>
6115    changes.</li>
6116  </ul>
6117
6118  <h1><a name="xterm_286" id="xterm_286">Patch #286 -
6119  2012/10/29</a></h1>
6120
6121  <ul>
6122    <li>fix <code>minstall.in</code> to work with "make docs" rule,
6123    so that patch number appears in the corresponding generated
6124    documentation.</li>
6125
6126    <li>modify <code>minstall.in</code> to keep the name shown in
6127    the heading consistent with any renaming, e.g., for
6128    test-builds.</li>
6129
6130    <li>check for misconfigured <code>printerCommand</code>
6131    resource on the first use, warn and disable it if it does not
6132    specify an executable command (Debian #691642).</li>
6133
6134    <li>improve check for window-manager name needed to establish
6135    usable default for activeIcon resource. This works around a
6136    scenario where <code>gdm</code> does incomplete cleanup,
6137    leaving window properties that refer to windows which no longer
6138    exist (Redhat #869959).</li>
6139  </ul>
6140
6141  <h1><a name="xterm_285" id="xterm_285">Patch #285 -
6142  2012/10/23</a></h1>
6143
6144  <ul>
6145    <li>add/adapt FreeBSD ports files for test-building.</li>
6146
6147    <li>modify <code>minstall.sh</code> to use the patch-number and
6148    date in the manpage footer.</li>
6149
6150    <li>add check for failure to allocate the fg/bg colors at
6151    startup, e.g., misconfiguration. Work around by setting both to
6152    the default colors (suggested by Scott Bertilson).</li>
6153
6154    <li>amend change for <a href="#xterm_280">patch #280</a> which
6155    added <code>modifyKeyboard</code>, to make
6156    <code>modifyOtherKeys</code> work (report by Ailin Nemui).</li>
6157
6158    <li>add <code>query-colors.pl</code> example for
6159    OSC&nbsp;4.</li>
6160
6161    <li>correct mis-applied fix for minstall.sh (report by Miroslav
6162    Lichvar).</li>
6163  </ul>
6164
6165  <h1><a name="xterm_284" id="xterm_284">Patch #284 -
6166  2012/10/14</a></h1>
6167
6168  <ul>
6169    <li>amend configurability changes for icons from <a href=
6170    "#xterm_283">patch #283</a>, moving the new functionality to
6171    the <code>iconHint</code> resource to avoid conflict with
6172    existing uses of the <code>iconName</code> resource in the
6173    <code>Shell</code> widget (report by Emanuel Haupt).</li>
6174
6175    <li>fix documentation errata reported by Miroslav Lichvar:
6176      <ul>
6177        <li>correct manpage default for <code>allowTcapOps</code>
6178        (see <a href="#xterm_243">patch #243</a></li>
6179
6180        <li>modify documentation for configure
6181        <code>--enable-backarrow-key</code> to match the script
6182        (see <a href="#xterm_280">patch #280</a>).</li>
6183
6184        <li>fix typo in <code>minstall.sh</code> in <a href=
6185        "#xterm_283">patch #283</a>, which made the leading-cap
6186        "Xterm" become "xterm" (patch by Miroslav).</li>
6187      </ul>
6188    </li>
6189
6190    <li>fix two typos in configure.in from <a href=
6191    "#xterm_283">patch #283</a> changes; one broke the
6192    <code>--regex</code> configure option (report by H Merijn
6193    Brand).</li>
6194  </ul>
6195
6196  <h1><a name="xterm_283" id="xterm_283">Patch #283 -
6197  2012/10/09</a></h1>
6198
6199  <ul>
6200    <li>modify makefile and script to generate appropriate renaming
6201    s/xterm/xterm-dev/ for test-package's manpage.</li>
6202
6203    <li>improve makefile rules for installing/uninstalling pixmap
6204    files, to include the newer mini- and filled- variants.</li>
6205
6206    <li>clarify change in manpage regarding <a href=
6207    "#xterm_282">patch #282</a> change to always set a
6208    window-decoration icon, even if <code>iconName</code> is not
6209    set.</li>
6210
6211    <li>add a fourth flavor of window-decoration icons,
6212    "filled-xterm" for a monochrome xterm with filled
6213    interior.</li>
6214
6215    <li>use shape-mask to improve contrast of the window-decoration
6216    icons.</li>
6217
6218    <li>minor changes to icon colors to improve contrast on
6219    bright-mud backgrounds.</li>
6220
6221    <li>drop configure checks for memmove versus bcopy, and
6222    strerror function; all currently tested platforms support
6223    these.</li>
6224
6225    <li>cleanup configure macros, as done in byacc 20121003.</li>
6226
6227    <li>improve configurability of the built-in icon selectable via
6228    the <code>iconName</code> resource.</li>
6229
6230    <li>update config.guess, config.sub</li>
6231  </ul>
6232
6233  <h1><a name="xterm_282" id="xterm_282">Patch #282 -
6234  2012/09/28</a></h1>
6235
6236  <ul>
6237    <li>improve configure check for
6238    <code>XkbKeycodeToKeysym</code>, fixing a regression on some
6239    older systems in the <a href="#xterm_280">patch #280</a>
6240    changes.</li>
6241
6242    <li>add clarification in manpage for
6243    <code>alwaysBoldMode</code> and <code>veryBoldColors</code>
6244    resources (prompted by Derek Martin question about using the
6245    former with TrueType fonts).</li>
6246
6247    <li>add <code>alternateScroll</code> resource and corresponding
6248    control sequences which modify the <code>scroll-forw</code> and
6249    <code>scroll-back</code> actions: when the alternate screen is
6250    displayed, wheel mouse up/down will send cursor keys (Debian
6251    #683942).</li>
6252
6253    <li>improve rendering for the case when a Unicode character is
6254    absent in the bold font but present in the normal font by
6255    temporarily falling back to the normal font (Debian #359006,
6256    Debian #408666).</li>
6257
6258    <li>provide configure option
6259    <code>--enable-double-buffer</code> and ifdef's to allow
6260    comparisons with/without double-buffering. The default uses
6261    normal buffering.</li>
6262
6263    <li>add feature to optionally scroll current page before
6264    clearing, controlled by resource setting
6265    <code>cdXtraScroll</code> (prompted by patch by Balazs
6266    Kezes):</li>
6267
6268    <li>integrated patches from Arch Linux forum posting (patches
6269    by Balazs Kezes):
6270      <ul>
6271        <li>modify reallocation limit of line-data when resizing
6272        screen so that "lost" text will be restored if the screen
6273        is first shrunk and then grown.</li>
6274
6275        <li>modify output to use double-buffering to reduce
6276        flicker.</li>
6277      </ul>
6278    </li>
6279
6280    <li>modify <code>scroll-lock</code> action to handle
6281    on/off/toggle keywords like other actions. Previously the
6282    optional parameter was interpreted as an integer.</li>
6283
6284    <li>extend <code>DECSCUSR</code> to provide a way to set the
6285    cursor to a vertical bar (patch by Paul Bolle).</li>
6286
6287    <li>add <code>-8</code>, <code>-c</code>, <code>-d</code> and
6288    <code>-u</code> options to <code>88colors2.pl</code> and
6289    <code>256colors2.pl</code> scripts. No current terminal
6290    emulator recognizes C1 controls while handling UTF-8
6291    encoding&mdash;see notes in <a href="#xterm_119">patch #119</a>
6292    and <a href="#xterm_109">patch #109</a> regarding
6293    <code>utf8controls</code>&mdash;but the <code>-u</code> and
6294    <code>-8</code> options are useful for demonstrating this
6295    point.</li>
6296
6297    <li>improve speed when changing color palettes using OSC
6298    controls by deferring repaint while followup controls might be
6299    additional color palette changes.</li>
6300
6301    <li>modify <code>SGR&nbsp;38</code> and
6302    <code>SGR&nbsp;48</code> to accept RGB index, matching the
6303    closest entry in xterm's palette.</li>
6304
6305    <li>extend <code>SGR&nbsp;38</code> and
6306    <code>SGR&nbsp;48</code> to accept colon as parameter separator
6307    (request by Paul LeoNerd Evans).</li>
6308
6309    <li>modify <code>fullscreen</code> action to allow it to toggle
6310    the full-screen mode rather than only set or unset it (prompted
6311    by Eeri Kask's suggestion to support
6312    <code>_NET_WM_TOGGLE</code>). This implementation does not yet
6313    use <code>_NET_WM_TOGGLE</code>.</li>
6314
6315    <li>add support for <code>_NET_WM_STATE_MAXIMIZED_VERT</code>
6316    and <code>_NET_WM_STATE_MAXIMIZED_HORZ</code> EWMH properties
6317    (suggested by Eeri Kask).</li>
6318
6319    <li>make fullscreen mode work with the tek4014 window. This
6320    change makes only the currently active window to be changed to
6321    fullscreen rather than changing both windows.</li>
6322
6323    <li>modify <code>TekClear</code> function to discard pending
6324    output before clearing the tek4014 display (patch by Kevin
6325    Ryde).</li>
6326
6327    <li>fix <code>deleteIsDEL</code> feature, broken in <a href=
6328    "#xterm_280">patch #280</a> changes (report by Mike Thornburg,
6329    forwarded by Jeremy Huddleston).</li>
6330
6331    <li>fix a special case of wrapping double-width characters
6332    (report/test-case by Ken Winstein).</li>
6333
6334    <li>add <code>E3</code> extended capability to
6335    <code>xterm-basic</code> to match ncurses <a href=
6336    "https://invisible-island.net/ncurses/NEWS.html#t20120728">20120728</a>
6337    patch.</li>
6338
6339    <li>fix incorrect transformation of row-parameter for
6340    <code>ClearCurBackground</code> in <a href="#xterm_279">patch
6341    #279</a> which caused incorrect painting in some scrolling
6342    scenarios (report by Chuck Silvers).</li>
6343
6344    <li>fix typo in manpage description of <code>+maximized</code>
6345    option (Paul Maier).</li>
6346
6347    <li>change default for configure option
6348    <code>--with-xpm</code>, turning it on unless requested
6349    otherwise.</li>
6350
6351    <li>add configure option <code>--with-icon-name</code> which
6352    can be used to override the default icon used in
6353    icon-themes.</li>
6354
6355    <li>extend <code>activeIcon</code> resource to provide
6356    <code>default</code> value which tells xterm to determine the
6357    window manager's name and automatically enable the feature for
6358    fvwm and window maker. The explicit true/false values can be
6359    used to override this behavior.</li>
6360
6361    <li>add "mini" xterm icon, which scales better than the
6362    standard xterm icon, e.g., for the gnome/kde "panel"
6363    feature.</li>
6364
6365    <li>extend <code>iconName</code> resource to search for icon
6366    named according to resource value and use that if found. If not
6367    found, use compiled-in pixmap. Both set the WM_ICON_NAME
6368    property which is used by various window managers, usually for
6369    window decoration.</li>
6370
6371    <li>updated autoconf patch, adding support for --datarootdir,
6372    which changes the default location of manpages.</li>
6373
6374    <li>further improved autoconf macros for configuring icons,
6375    from vile 9.8h</li>
6376  </ul>
6377
6378  <h1><a name="xterm_281" id="xterm_281">Patch #281 -
6379  2012/06/26</a></h1>
6380
6381  <ul>
6382    <li>remove "$(srcdir)/" from install-icon rule to fix builds
6383    when --srcdir configuration option is used.</li>
6384
6385    <li>fix for configure script's search for icon file when it is
6386    not found in the current directory, e.g., when building out of
6387    tree (patch by Thierry Reding).</li>
6388
6389    <li>undo the XK_Home / XK_End change from <a href=
6390    "#xterm_280">patch #280</a> which broke the non-VT220 keyboard
6391    for those keys (report by H Merijn Brand).</li>
6392  </ul>
6393
6394  <h1><a name="xterm_280" id="xterm_280">Patch #280 -
6395  2012/06/24</a></h1>
6396
6397  <ul>
6398    <li>add configure check to work around warning from
6399    desktop-file-install for "Encoding", noting that it emits
6400    deprecation warnings without providing its version
6401    information.</li>
6402
6403    <li>add configure option <code>--with-icon-theme</code> to tell
6404    xterm whether to install into an icon theme, defaulting to
6405    "hicolor" (Redhat #755206, Redhat #799614 and Redhat
6406    #804279).</li>
6407
6408    <li>change <code>--with-icondir</code> to look for "icons"
6409    directory rather than "pixmaps" by default. Add new option
6410    <code>--with-pixmapdir</code> to allow these two uses to be
6411    installed concurrently.</li>
6412
6413    <li>modify configure options <code>--with-app-defaults</code>
6414    and <code>--with-icondir</code> to accept "auto" as value to
6415    look for existing directory from well-known locations.</li>
6416
6417    <li>add missing codes for secondary DA response which tell the
6418    type of terminal as in the primary DA response.</li>
6419
6420    <li>update primary DA response for VT420 to include user
6421    windows and horizontal scrolling.</li>
6422
6423    <li>add <code>modifyKeyboard</code> resource to support
6424    keypad-modifier changes per request by Thomas Wolff.</li>
6425
6426    <li>add XK_Home / XK_End to editing-keypad checks</li>
6427
6428    <li>add back-tab key <code>kB</code> to termcap entries to
6429    match the terminfo.</li>
6430
6431    <li>update terminfo to match corresponding entries in ncurses,
6432    e.g., add <code>XT</code> and adjust <code>sgr</code> string
6433    for xterm-bold entry.</li>
6434
6435    <li>add configure options to predefine the most commonly
6436    customized resources for terminal-settings, use those to
6437    substitute into the manpage the corresponding compiled-in
6438    values: <code>altSendsEscape</code>, <code>backarrowKey</code>,
6439    <code>backarrowKeyIsErase</code>, <code>deleteIsDEL</code>,
6440    <code>metaSendsEscape</code> (Redhat #819588).</li>
6441
6442    <li>change default emulation level to VT420 (discussion with
6443    Ailin Nemui).</li>
6444
6445    <li>improve logic for DECSCL; <a href="#xterm_279">patch
6446    279</a> partly enforced limitation of this to higher-level
6447    emulations. This patch finishes that change.</li>
6448
6449    <li>improve check for base of combining characters, preventing
6450    combination when cursor movement has intervened. Mosh's webpage
6451    gives two different examples of this, with other causes
6452    ascribed to the behavior.</li>
6453
6454    <li>modify IL/DL to set cursor to first column on row for
6455    better VT102/VT220 compatibility (prompted by code review of
6456    mosh).</li>
6457
6458    <li>separate state-table entries for DECSC/DECRC from the
6459    ANSI.SYS save/restore cursor, since the latter conflicts with
6460    DECSLRM when DECLRMM is enabled since <a href=
6461    "#xterm_279">patch #279</a> (report/analysis by Ailin
6462    Nemui).</li>
6463
6464    <li>fixes to avoid using <code>SIGCHLD</code> handler of main
6465    program in printer's subprocess (report by Joe Julian).</li>
6466
6467    <li>correct restore-parameter for mouse-modes from <a href=
6468    "#xterm_279">patch #279</a> changes.</li>
6469
6470    <li>add null-pointer checks to input-method caching added in
6471    <a href="#xterm_277">patch #277</a> to fix a problem in the
6472    exposure code, when deselecting a window (report by Kriston
6473    Rehberg).</li>
6474
6475    <li>unset <code>DESKTOP_STARTUP_ID</code> environment variable
6476    to lessen confusion on the part of GTK applications which use
6477    the variable without checking it (report by John Little).</li>
6478  </ul>
6479
6480  <h1><a name="xterm_279" id="xterm_279">Patch #279 -
6481  2012/05/10</a></h1>
6482
6483  <ul>
6484    <li>fill in missing cases in the save/restore modes feature
6485    (report by Thomas Wolff).</li>
6486
6487    <li>add check to ensure that combining characters are
6488    precomposed in the order given (report/analysis by Andries E
6489    Brouwer).</li>
6490
6491    <li>improve workability check for posix_openpt(), to take into
6492    account BSD systems which do not complete initialization until
6493    both sides of the pseudoterminal are opened (report by
6494    Christian Weisgerber).</li>
6495
6496    <li>amend fix for Debian #650291 in <a href="#xterm_277">patch
6497    #277</a> changes to account for different data returned by
6498    vnc4server (Debian #670638).</li>
6499
6500    <li>add check in DECCRA operation to make copies of blinking
6501    text also blink by updating a line-level flag.</li>
6502
6503    <li>modify rectangle operations to work with DECOM.</li>
6504
6505    <li>modify DECSERA to use the current protected state rather
6506    than preserving it.</li>
6507
6508    <li>add <code>precompose</code> resource to allow storing
6509    character data in Normalized Form D as described in <a href=
6510    "http://unicode.org/reports/tr15/">http://unicode.org/reports/tr15/</a>
6511    (report/discussion with Andries E Brouwer).</li>
6512
6513    <li>modify CBT, other ISO-6429 controls which are used by VT520
6514    to work with DECOM.</li>
6515
6516    <li>add HPR and VPR controls, ISO 6429 cursor movement used in
6517    VT520.</li>
6518
6519    <li>remove "linux" restriction for IUTF8 ifdef in main.c
6520    (prompted by Matthew Dempsky posting on
6521    mailing.openbsd.tech).</li>
6522
6523    <li>implement the remaining VT420-level device status
6524    reports.</li>
6525
6526    <li>change DECXCPR to return page 1, rather than 0.</li>
6527
6528    <li>improve VT-level checks on reporting functions, such as
6529    DECXCPR.</li>
6530
6531    <li>change limit on <code>decTerminalID</code> to 525.</li>
6532
6533    <li>fixes to improve vttest vt52 screen when running as a
6534    VT420:
6535      <ul>
6536        <li>add checks for some VT2xx and up controls for
6537        consistency: DECSCL, S1C8T, S1C7T.</li>
6538
6539        <li>modify DECRQSS return for DECSCL to only return that
6540        when running as VT2xx and up.</li>
6541
6542        <li>when exiting from VT52-mode, resume in VT100 level
6543        rather than the level before starting VT52-mode.</li>
6544      </ul>
6545    </li>
6546
6547    <li>implement DECLRMM, DECSLRMM and DECNCSM (prompted by
6548    discussions with Ailin Nemui and Paul LeoNerd Evans). This
6549    modifies several controls to obey top/bottom and left/right
6550    margins.</li>
6551
6552    <li>correct macro definition used for testing modes used in
6553    ANSI/DEC request-mode controls introduced in <a href=
6554    "#xterm_262">patch #262</a>.</li>
6555
6556    <li>modify <code>x_getlogin</code> to check $LOGNAME and $USER
6557    before fallback to <code>getlogin</code>, so that user's choice
6558    for these variables can be carried forward to the xterm process
6559    (Debian #611487).</li>
6560
6561    <li>document DECSCUSR response for DECRQSS in ctlseqs.ms</li>
6562
6563    <li>add <code>zIconTitleFormat</code> resource to allow
6564    customizing the "***&nbsp;" prefixed to the icon title when the
6565    <code>zIconBeep</code> feature is activated (request by Thomas
6566    Adam).</li>
6567
6568    <li>modify DECSCUSR to update the same internal variable as
6569    RM/SM 12, and document in manpage the two variables used for
6570    controlling blinking cursor (report by Paul LeoNerd
6571    Evans).</li>
6572
6573    <li>correct response data for DECSCUSR in reply for DECRQSS
6574    response, which had inverted the blink-value (reports by Ailin
6575    Nemui, Paul LeoNerd Evans).</li>
6576
6577    <li>add a null-pointer check in <code>OkPasswd</code> macro to
6578    fix a problem in <code>resize</code> with Fedora 17 and a
6579    serial console (report/patch by Daniel Drake).</li>
6580
6581    <li>add workaround for Mac OS X, which loses the window size of
6582    a pseudo-terminal when the tty device is opened
6583    (report/analysis by Egmont Koblinger).</li>
6584
6585    <li>updated configure check for workable
6586    <code>posix_openpt</code> versus <code>grantpt</code>, from
6587    <code>luit</code> fixes.</li>
6588
6589    <li>modify DECIC/DECDC/DECBI/DECFI implemented in <a href=
6590    "#xterm_277">patch #277</a> to enable them only in VT4xx mode
6591    and up (report by Ailin Nemui).</li>
6592
6593    <li>update config.guess, config.sub</li>
6594  </ul>
6595
6596  <h1><a name="xterm_278" id="xterm_278">Patch #278 -
6597  2012/01/18</a></h1>
6598
6599  <ul>
6600    <li>correct initialization for <code>eightBitMeta</code>
6601    resource (FreeBSD #164101).</li>
6602
6603    <li>make special check for Darwin 9 (and lower) to <em>not</em>
6604    use <code>posix_openpt</code> (report by Christian Ebert).</li>
6605
6606    <li>minor fixes (adding ".ne" directives) to reduce the cases
6607    where groff's utility for generating images for tables dumps
6608    core. Most versions of groff (I've found 1.19.2 to be the most
6609    stable) dump core when attempting to report that there are too
6610    few lines on a page for a table to be shown.</li>
6611  </ul>
6612
6613  <h1><a name="xterm_277" id="xterm_277">Patch #277 -
6614  2012/01/07</a></h1>
6615
6616  <ul>
6617    <li>remove special case for ISC pseudo-terminals which attempts
6618    to open the pty in two different ways.</li>
6619
6620    <li>move call to <code>grantpt</code> before asking utempter to
6621    add a record, to work with kFreeBSD which does not update the
6622    terminal's ownership until this point (Debian #652907).</li>
6623
6624    <li>document limitation of XIM interface in manpage (Debian
6625    #230787).</li>
6626
6627    <li>cleanup error reporting with new xtermWarning
6628    function.</li>
6629
6630    <li>add configure option <code>--disable-selection-ops</code>
6631    to make the new actions optional.</li>
6632
6633    <li>add four new actions for making the selection or data
6634    directly copied from the screen (prompted by discussion in
6635    Debian #637001, as well as report by Arjen van Tol):
6636      <ul>
6637        <li>exec-formatted</li>
6638
6639        <li>exec-selectable</li>
6640
6641        <li>insert-formatted</li>
6642
6643        <li>insert-selectable</li>
6644      </ul>
6645    </li>
6646
6647    <li>add <code>visualBellLine</code> resource to allow
6648    <code>visualBell</code> to flash only the current line
6649    (prompted by patch by Gertjan Halkes).</li>
6650
6651    <li>add <code>eightBitMeta</code> resource to control the
6652    features which modify or interpret the eighth bit of a key when
6653    the meta modifier key is pressed (prompted by Debian
6654    #326200).</li>
6655
6656    <li>improve discussion of <code>eightBitInput</code> in the
6657    manpage (prompted by Debian #326200).</li>
6658
6659    <li>correct logic for <code>alt-sends-escape</code> action,
6660    overlooked when implementing <code>altSendsEscape</code>
6661    resource, which still used <code>eightBitInput</code> resource
6662    value.</li>
6663
6664    <li>add a workaround for <code>XAllocColor()</code>, which does
6665    not actually allocate "a read-only colormap entry corresponding
6666    to the closest RGB value supported by the hardware", but rather
6667    a rough approximation (Debian #650291).</li>
6668
6669    <li>undo parameter checks for <code>RequestResize()</code>
6670    added in <a href="#xterm_251">patch #251</a> and amended in
6671    <a href="#xterm_270">patch #270</a>, because zeros also are
6672    special cases (report by John S Urban).</li>
6673
6674    <li>modify some test-scripts to use <code>/bin/echo</code>
6675    rather than the shell's possibly-builtin <code>echo</code>, to
6676    work around broken configuration on Mac OS X, i.e., neither
6677    honoring the option nor flagging an error.</li>
6678
6679    <li>add SGR 1006, as a better technical solution than SGR 1015:
6680      <ul>
6681        <li>the responses will not be confused with line-deletion
6682        and scrolling controls.</li>
6683
6684        <li>the button encoding is a little simpler, since it does
6685        not add an unnecessary 32 because the integer parameter
6686        does not have to be represented as a printable
6687        character.</li>
6688
6689        <li>the control responses for pressing and releasing a
6690        mouse button differ, allowing an application to tell which
6691        button was released.</li>
6692      </ul>
6693
6694      <p>Besides these improvements, in discussion, it was noted
6695      that urxvt's implementation of 1005 is incorrect, relying
6696      upon a locale that provides UTF-8 encoding. In contrast,
6697      vttest demonstrates a correct decoding, independent of
6698      locale.</p>
6699    </li>
6700
6701    <li>add support for urxvt SGR 1015 to address shortcoming of
6702    SGR 1005 with luit (patch by Egmont Koblinger).</li>
6703
6704    <li>add ISO and DEC controls useful for left/right
6705    scrolling.</li>
6706
6707    <li>add some changes for OpenBSD and MirBSD (adapted from patch
6708    by Thorsten Glaser):
6709      <ul>
6710        <li>disable search for non-Unix96 ptys.</li>
6711
6712        <li>fix a gcc warning in
6713        <code>timestamp_filename</code></li>
6714
6715        <li>modify <code>Imakefile</code> to install xterm setgid
6716        to utmp.</li>
6717      </ul>
6718    </li>
6719
6720    <li>add/use/prefer <code>posix_openpt()</code> for opening
6721    pseudo-terminal.</li>
6722
6723    <li>modify special errno handling case in ptydata.c from
6724    <a href="#xterm_158">patch #158</a> to allow for the
6725    possibility that any platform may have special cases where
6726    "/dev/tty" is absent. For example, this can happen in a FreeBSD
6727    jail (patch by David Wolfskill).</li>
6728
6729    <li>add keyboard logic to map shift-tab into XK_ISO_Left_Tab,
6730    which is usually, not always, done by the X keyboard
6731    configuration.</li>
6732
6733    <li>portability fixes for some configure macros:
6734    <code>CF_XOPEN_SOURCE</code></li>
6735  </ul>
6736
6737  <h1><a name="xterm_276" id="xterm_276">Patch #276 -
6738  2011/10/10</a></h1>
6739
6740  <ul>
6741    <li>modify clipping limits for TrueType fonts to account for
6742    the <code>scaleHeight</code> resource setting, to work around
6743    another problem due to recent FreeType changes. In this case,
6744    the <code>DejaVu Sans Mono</code> set to pixelsize=13.5 is
6745    truncated because the font descent is reduced by FreeType to
6746    match an incorrect height metric (report by Adam Lee).</li>
6747
6748    <li>improve recovery when bitmap fonts are not installed, e.g.,
6749    so that switching font-sizes works for TrueType fonts.</li>
6750
6751    <li>modify lookup for <code>XTERM_SHELL</code> feature to allow
6752    relative pathnames.</li>
6753
6754    <li>modify abbreviation disambiguation check for command-line
6755    parameters to account for <code>-geometry</code>, whose
6756    parameter may begin with "+" or "-" (report by Scott
6757    Bertilson).</li>
6758  </ul>
6759
6760  <h1><a name="xterm_275" id="xterm_275">Patch #275 -
6761  2011/09/11</a></h1>
6762
6763  <ul>
6764    <li>add <code>ash</code>, <code>zsh</code> to known shells for
6765    <code>resize</code>.</li>
6766
6767    <li>modify <code>resize</code> to reuse the logic from
6768    <code>xterm</code> which determines the actual logon-user's
6769    shell if <code>$SHELL</code> is not set.</li>
6770
6771    <li>revert the <code>unsetenv("SHELL")</code> added in <a href=
6772    "#xterm_272">patch #272</a>.</li>
6773
6774    <li>an <code>unsetenv("SHELL")</code> added in <a href=
6775    "#xterm_272">patch #272</a> to help ensure that
6776    <code>luit</code> would get the user's shell consistently did
6777    not work as expected for cases where multiple names are in the
6778    password-file for a given uid. That was because changes in
6779    <a href="#xterm_157">patch #157</a> to handle this situation
6780    did not take into account that repeated calls to
6781    <code>getpwnam</code> and <code>getpwuid</code> return a
6782    pointer to the same static buffer. Fixed the older logic to
6783    work as intended, by ensuring that the passwd-data from each
6784    call is stored separately (report by Paul Keusemann).</li>
6785
6786    <li>adjust ifdef's for <code>putenv</code> and
6787    <code>unsetenv</code> in case only one of those is provided on
6788    a given platform.</li>
6789
6790    <li>correct comparison used in <code>ExposeContains</code>
6791    macro from <a href="#xterm_274">patch #274</a> changes, to
6792    handle window-dragging (patch by Todd Eigenschink).</li>
6793  </ul>
6794
6795  <h1><a name="xterm_274" id="xterm_274">Patch #274 -
6796  2011/09/05</a></h1>
6797
6798  <ul>
6799    <li>portability fixes for cygwin: do not define
6800    <code>SVR4</code>, and work around nonstandard header
6801    location.</li>
6802
6803    <li>ifdef'd use of <code>unsetenv</code> from <a href=
6804    "#xterm_273">patch #273</a> changes to work with Solaris 9
6805    (report by Waldemar Rachwal).</li>
6806
6807    <li>modify logic for <code>XtAppPending</code> to merge
6808    adjacent <code>Expose</code> and <code>ConfigureNotify</code>
6809    events which are redundant (report by Edward McGuire).</li>
6810
6811    <li>fix an unneeded warning message when <code>-r</code> option
6812    is given.</li>
6813
6814    <li>remove a few redundant entries from table used for helping
6815    abbreviation-checking of command-line options, makes
6816    <code>-geom</code> work again after <a href="#xterm_272">patch
6817    #272</a> changes as an abbreviation of
6818    <code>-geometry</code>.</li>
6819
6820    <li>add <code>scaleHeight</code> resource and command-line
6821    option <code>-sh</code> as workaround for some
6822    font-configurations broken by changes in FreeType 2.4.6 (report
6823    by Miroslav Hodak).</li>
6824
6825    <li>portability fixes for some configure macros:
6826    <code>CF_FUNC_TGETENT</code>, <code>CF_XOPEN_SOURCE</code>,
6827    <code>CF_X_ATHENA_LIBS</code>.</li>
6828
6829    <li>add configure option <code>--with-freetype-config</code> to
6830    improve selection over the plethora of configuration options
6831    which freetype has so far provided.</li>
6832
6833    <li>build-fix for configure <code>--enable-load-vt-fonts</code>
6834    when <code>--enable-widec</code> is not specified.</li>
6835
6836    <li>build-fixes for suppressing various features, needed after
6837    changes in patches 270, 271 and 272 (report by Brian
6838    Lindholm)</li>
6839  </ul>
6840
6841  <h1><a name="xterm_273" id="xterm_273">Patch #273 -
6842  2011/08/25</a></h1>
6843
6844  <ul>
6845    <li>build-fix for out-of-tree "make docs" rule.</li>
6846
6847    <li>correct a typo in <code>x_strdup</code>, from <a href=
6848    "#xterm_198">patch #198</a> changes.</li>
6849
6850    <li>correct initialization for <code>-e</code> option, broken
6851    in <a href="#xterm_272">patch #272</a> changes (report by
6852    Gabriele Balducci).</li>
6853
6854    <li>build-fix for out-of-tree builds to address
6855    <code>minstall</code> script changes in <a href=
6856    "#xterm_272">patch #272</a> (patch by Thierry Reding).</li>
6857  </ul>
6858
6859  <h1><a name="xterm_272" id="xterm_272">Patch #272 -
6860  2011/08/24</a></h1>
6861
6862  <ul>
6863    <li>document limitation of <code>Gtk</code> in connection with
6864    xterm's <code>-into</code> option, in the manpage (Ubuntu
6865    #806969).</li>
6866
6867    <li>improve <code>-into</code> by checking for and using the
6868    size of the window within which xterm is embedded, overriding
6869    other clues.</li>
6870
6871    <li>modify logic for <code>localeFilter</code> resource to
6872    allow that to include command-line options of luit.</li>
6873
6874    <li>improve <code>-into</code> by checking for invalid
6875    window-id, and allowing hexadecimal/decimal/octal values.</li>
6876
6877    <li>improve <code>keepSelection</code>, adding the case where
6878    the highlighting is cleared, overlooked in <a href=
6879    "#xterm_230">patch #230</a> (patch by Marco Peereboom).</li>
6880
6881    <li>improve command-line parsing to make abbreviate options
6882    work consistently across xterm-specific versus standard X
6883    toolkit options, and report cases where an abbreviated option
6884    happens to be ambiguous. In particular, <code>-d</code> now
6885    works as an abbreviation for <code>-display</code>.</li>
6886
6887    <li>fix regression in command-line parsing introduced in
6888    <a href="#xterm_271">patch #271</a> changes for Debian #629358,
6889    (Debian #637910).</li>
6890
6891    <li>split-out new termcap/terminfo building block
6892    <code>xterm+kbs</code> for configurability.</li>
6893
6894    <li>modify <code>terminfo</code> file to reflect changes in
6895    ncurses for <code>xterm-16color</code> and
6896    <code>xterm-256color</code>.</li>
6897
6898    <li>modify <code>minstall.sh</code>, etc., to reflect the
6899    default default class, <code>$TERM</code> and
6900    <code>decTerminalID</code> values.</li>
6901
6902    <li>reword <code>resize</code> manpage to reflect the fact that
6903    <code>$TERMCAP</code> is not set on all systems (patch by Alan
6904    Coopersmith).</li>
6905
6906    <li>work around combined Xaw6/Xaw7 package in DragonFlyBSD
6907    which omits the usual symbolic link to the preferred library
6908    name.</li>
6909
6910    <li>further improve build-fix for termcap systems by checking
6911    for some which are only partial implementations, e.g., termcap
6912    2.08 in CentOS 5.2</li>
6913  </ul>
6914
6915  <h1><a name="xterm_271" id="xterm_271">Patch #271 -
6916  2011/07/14</a></h1>
6917
6918  <ul>
6919    <li>omit permissions adjustments to pty on exit except for
6920    pre-Unix98 ptys, since modern implementations handle this
6921    (report by Sean C Farley).</li>
6922
6923    <li>modify logic for switching fonts between UTF-8 and
6924    non-UTF-8 encoding to not merge the derivable bold-, wide- and
6925    widebold values from the VT100 fonts. Also suppress warning
6926    when not using UTF-8 fonts if wide- and widebold-fonts cannot
6927    be derived or otherwise loaded (report by Werner
6928    Scheinast).</li>
6929
6930    <li>modify menu-creation to suppress entries which will never
6931    be used in the current configuration, rather than simply
6932    disabling them.</li>
6933
6934    <li>add resource <code>printModeImmediate</code> and menu item
6935    to allow print of screen plus saved lines to a file.</li>
6936
6937    <li>add menu item to allow runtime enable/disable of the
6938    <code>printFileOnXError</code> feature.</li>
6939
6940    <li>append a timestamp to filename used in
6941    <code>printFileOnXError</code> feature, and restrict its
6942    permissions (request by Vincent Lef&egrave;vre).</li>
6943
6944    <li>add a check when cancelling cursor-blinking, in case the
6945    cursor is blinked off. Fix so that the cursor is repainted
6946    without waiting for other events, e.g., keypress (report by
6947    Ailin Nemui).</li>
6948
6949    <li>add configure <code>--with-app-class</code> option, to
6950    simplify building "xterm-dev" packages with filenames that do
6951    not conflict with conventional "xterm" packages.</li>
6952
6953    <li>corrected logic flow for DECSCL, which prevented the
6954    updated operating level from being reported via DECRQSS (report
6955    by Ailin Nemui).</li>
6956
6957    <li>corrected default for <code>brokenStringTerm</code>
6958    resource to match manpage.</li>
6959
6960    <li>add vttests/dynamic.pl</li>
6961
6962    <li>add runtime check for locale not supported by X libraries,
6963    and fallback to XA_STRING in this case (request by Bryan
6964    Henderson).</li>
6965
6966    <li>fix a special case in configure script after no FreeType
6967    libraries are found. The script was proceeding to check for a
6968    usable configuration.</li>
6969
6970    <li>add <code>xterm+tmux</code> building block to terminfo
6971    (adapted from changes proposed by Ailin Nemui and Nicholas
6972    Marriott).</li>
6973
6974    <li>improve discussion of <code>faceName</code> resource in
6975    manpage (adapted from suggestions by Jens Schweikhardt).</li>
6976
6977    <li>correct mapping of shifted up/down cursor-keys in termcap
6978    function-keys mode, i.e., resource
6979    <code>tcapFunctionKeys</code> (patch by Gertjan Halkes).</li>
6980
6981    <li>update AIX case in <code>CF_XOPEN_SOURCE</code> configure
6982    macro to add release 7.x.</li>
6983
6984    <li>modify ifdef's in <code>xterm_io.h</code> for
6985    <code>__hpux</code> to force that to use the hacked SYSV
6986    support in that file. This fixes a problem with a non-blocking
6987    socket call (patch by Paul Lampert).</li>
6988
6989    <li>improve filtering of desktop category scanning, to exclude
6990    XFCE.</li>
6991
6992    <li>modify configure script to work with systems that have both
6993    ncurses (or other terminfo) as well as a real termcap library,
6994    e.g., Slackware (report by Andrew Watts).</li>
6995
6996    <li>modify configure script to work around special case where
6997    user's environment adds compiler flags to the <code>CC</code>
6998    variable (prompted by report by Paul Lampert).</li>
6999
7000    <li>amend change for Debian #110226 so that "-h" or "-v"
7001    options cause an exit, rather than simply printing to stdout
7002    while the window is displayed (Debian #629358).</li>
7003
7004    <li>add response for <code>DECRQSS</code> which gives the
7005    setting for <code>DECSCUSR</code>.</li>
7006
7007    <li>modify AllocateTermColor() to handle
7008    <code>XtDefaultForeground</code> and
7009    <code>XtDefaultBackground</code>, which are not recognized by
7010    <code>XParseColor</code>. For example, this fixes the use of
7011    OSC&nbsp;112 when no explicit cursor color was set (report by
7012    Ailin Nemui).</li>
7013
7014    <li>handle special-case of <code>KeyPress</code> translated to
7015    <code>popup-menu</code> action (Ubuntu #756273).</li>
7016  </ul>
7017
7018  <h1><a name="xterm_270" id="xterm_270">Patch #270 -
7019  2011/04/26</a></h1>
7020
7021  <ul>
7022    <li>build-fix, e.g., for using <code>imake</code> on platforms
7023    which use the termcap library.</li>
7024
7025    <li>modify <code>utf8</code> resource to accept a name.</li>
7026
7027    <li>mention default for <code>fontWarnings</code> in manpage
7028    (report by Werner Scheinast).</li>
7029
7030    <li>split "UTF-8" menu entry into "UTF-8 Encoding" and "UTF-8
7031    Fonts" (prompted by discussion with Werner Scheinast).</li>
7032
7033    <li>gray-out font-menu entries when a font fails to load, e.g.,
7034    a bitmap font is not installed.</li>
7035
7036    <li>improve behavior when there is no app-defaults file:
7037      <ul>
7038        <li>set the <code>toolBar</code> resource to false</li>
7039
7040        <li>gray-out the font menu entries where no resource is
7041        found.</li>
7042      </ul>
7043    </li>
7044
7045    <li>add configure option <code>--with-desktop-category</code>
7046    to allow customization of the ".desktop" files.</li>
7047
7048    <li>build-fix for the <code>install-desktop</code>
7049    makefile-rule, when the source/build directories differ (patch
7050    by Lo&iuml;c Minier).</li>
7051
7052    <li>add menu entry and corresponding resource which can be used
7053    to suppress all bold-fonts (discussion with Jan
7054    Engelhardt).</li>
7055
7056    <li>make internal line-size value consistent with allocated
7057    sizes of character and related arrays to ensure that bulk
7058    copying of line data, e.g., in scrolling, accounts for the
7059    padding used for pointer alignment (adapted from patch by
7060    Rajesh Mandalemula, also reported by Ali Bahar).</li>
7061
7062    <li>widen ifdef for screen-resizing logic from <a href=
7063    "#xterm_176">patch #176</a> changes to send
7064    <code>SIGWINCH</code> to process group to include any system
7065    supporting <code>ioctl(*,TIOCGPGRP,*)</code> (prompted by
7066    linux-specific patch in OpenSUSE rpm package).</li>
7067
7068    <li>add <code>printModeOnXError</code> and
7069    <code>printFileOnXError</code> resources, which allow the user
7070    to specify that xterm will write the contents of its screen to
7071    a file if it is exiting due to an X error (Debian
7072    #280457).</li>
7073
7074    <li>restore logic that made reverse-video apply to the
7075    scrollbar's foreground/background, broken in <a href=
7076    "#xterm_158">patch #158</a> (report by Bryan Ischo).</li>
7077
7078    <li>amend some of the window operations parameter-checks added
7079    in <a href="#xterm_251">patch #251</a> for the push/pop title
7080    feature, to allow the parameters used for window resizing to be
7081    -1's, which makes the corresponding values ignored rather than
7082    using the window's maximum width/height (report by Noah
7083    Friedman).</li>
7084
7085    <li>correct order of initialization for
7086    <code>translations</code> vs <code>fullscreen</code> resources
7087    to enable a special case which omits the Alt-Enter translation
7088    when <code>fullscreen</code> is disabled (Debian #612978).</li>
7089
7090    <li>update config.guess, config.sub</li>
7091  </ul>
7092
7093  <h1><a name="xterm_269" id="xterm_269">Patch #269 -
7094  2011/02/19</a></h1>
7095
7096  <ul>
7097    <li>build-fixes for <code>imake</code> (report by Heiko
7098    Berges).</li>
7099
7100    <li>modify autoconf macro CF_PKG_CONFIG to work with
7101    cross-compile environments (patch by Thierry Reding).</li>
7102
7103    <li>modify <code>MapToColorMode()</code> to favor bold over
7104    underline, matching the precedence used before <a href=
7105    "#xterm_252">patch #252</a> (report/analysis by Nicolas
7106    George).</li>
7107
7108    <li>add <code>omitTranslation</code> resource, which can be
7109    used to suppress the default translations for these features:
7110      <ul>
7111        <li>fullscreen</li>
7112
7113        <li>scroll-lock</li>
7114
7115        <li>shift-fonts</li>
7116
7117        <li>wheel-mouse</li>
7118      </ul>
7119    </li>
7120
7121    <li>make the fullscreen feature configurable (Debian #612978)
7122      <ul>
7123        <li>add it to the configurable list
7124        <code>disallowedWindowOps</code>.</li>
7125
7126        <li>add command-line option <code>-fullscreen</code> to
7127        allow the feature to be enabled at startup.</li>
7128
7129        <li>add resource <code>fullscreen</code> to control whether
7130        the feature is active or may be enabled.</li>
7131      </ul>
7132    </li>
7133
7134    <li>modify <code>probe_netwm_fullscreen_capability</code> for
7135    64-bit machines. Contrary to <code>XGetWindowProperty</code>
7136    manpage, that function returns 32-bit data packed as
7137    <code>long</code>'s.</li>
7138
7139    <li>eliminate copy of <code>name</code> resource, which was
7140    otherwise used only to give the terminal-description name for
7141    the tcap-query feature. Use the actual <code>$TERM</code> value
7142    instead, as derived from <code>termName</code> resource,
7143    etc.</li>
7144
7145    <li>eliminate an old inconsistency with error messages, some
7146    used the <code>-name</code> option, while others used
7147    <code>argv[0]</code>. The latter is now used consistently.</li>
7148
7149    <li>improve configure check for rpath-hack, to improve builds
7150    on systems where gcc will not search /usr/local/lib, etc.</li>
7151
7152    <li>build-fix for Xaw3d configuration (report by H Merijn
7153    Brand).</li>
7154
7155    <li>update config.guess, config.sub</li>
7156  </ul>
7157
7158  <h1><a name="xterm_268" id="xterm_268">Patch #268 -
7159  2011/02/10</a></h1>
7160
7161  <ul>
7162    <li>fix an inconsistency of the "Enable Reverse Video" checkbox
7163    in the VT Options menu. This also removes a special case added
7164    in <a href="#xterm_217">patch #217</a> which limited the effect
7165    of the <code>reverseVideo</code> resource (Debian
7166    #603808).</li>
7167
7168    <li>amend decoding of misformed UTF-8 sequences to avoid
7169    absorbing valid characters as documented in Unicode 6.0 section
7170    3.9 (report by Keith Winstein).</li>
7171
7172    <li>do not set urgency hint when window already has focus
7173    (patch by Dimitrios Christidis).</li>
7174
7175    <li>amend extended mouse-coordinate mode from <a href=
7176    "#xterm_262">patch #262</a> changes to include the <em>Cb</em>
7177    button-code, which also may be greater than 127 (report by
7178    Ailin Nemui).</li>
7179
7180    <li>ensure that underline-cursor is visible when an application
7181    happens to set the background color (report by Christian
7182    Weisgerber).</li>
7183
7184    <li>add feature for <a href=
7185    "http://www.davidsimmons.com/soft/xtermhacks/xterm-fullscreen.patch">
7186    full-screen toggling</a> using either Alt-Enter or a menu
7187    selection (integrated patch by Dave Simmons).</li>
7188
7189    <li>add missing logic to handle reallocation of FIFO index for
7190    the "UTF-8" menu entry (report by David Holland, NetBSD
7191    #44344).</li>
7192
7193    <li>add makefile rules <code>docs-ctlseqs</code>,
7194    <code>docs-xterm</code>, etc.</li>
7195
7196    <li>correct typo in description of DECRPM in control sequences
7197    document (report by Ailin Nemui).</li>
7198  </ul>
7199
7200  <h1><a name="xterm_267" id="xterm_267">Patch #267 -
7201  2010/11/20</a></h1>
7202
7203  <ul>
7204    <li>minor formatting changes to ctlseqs.ms to simplify a script
7205    which extracts the feature information. See the results in
7206    <a href=
7207    "https://invisible-island.net/xterm/xterm.faq.html#compare_versions">
7208    Comparing versions, by counting controls</a> in the xterm
7209    FAQ.</li>
7210
7211    <li>add <code>docs-clean</code> makefile rule.</li>
7212
7213    <li>add <code>copy-selection</code> action (request by Timo
7214    Juhani Lindfors, Debian #588785).</li>
7215
7216    <li>trim leading/trailing blanks from string used for
7217    "Selection" font-menu data.</li>
7218
7219    <li>trim leading/trailing blanks from color resource
7220    values.</li>
7221
7222    <li>configure script improvements:
7223      <ul>
7224        <li>add workaround for removal of X11 dependency from Xt's
7225        package file (report by Robert Hooker).</li>
7226
7227        <li>add workaround for removal of fontconfig dependency
7228        from Xft's package file (report by Jeremy Huddleston).</li>
7229
7230        <li>add workaround for removal of Xmu dependency from Xaw's
7231        package file (report by Jeremy Huddleston).</li>
7232
7233        <li>improve workaround in <code>CF_X_TOOLKIT</code> macro,
7234        checking for other possible packages where Xt's
7235        dependencies may be given.</li>
7236
7237        <li>prefer <code>${name:=value}</code> to
7238        <code>${name-value}</code>, since recent bash changes break
7239        legacy support for that feature.</li>
7240      </ul>
7241    </li>
7242  </ul>
7243
7244  <h1><a name="xterm_266" id="xterm_266">Patch #266 -
7245  2010/10/24</a></h1>
7246
7247  <ul>
7248    <li>add rpm and dpkg scripts, for testing.</li>
7249
7250    <li>more fixes for Debian #600707 (report by Cyril
7251    Brulebois).</li>
7252  </ul>
7253
7254  <h1><a name="xterm_265" id="xterm_265">Patch #265 -
7255  2010/10/22</a></h1>
7256
7257  <ul>
7258    <li>fix a regression in fontname logic from <a href=
7259    "#xterm_263">patch #263</a> changes (Debian #600707, reported
7260    by Vincent Lef&egrave;vre).</li>
7261
7262    <li>revert modification of any-event/any-button protocol from
7263    <a href="#xterm_263">patch #263</a> changes. It interferes with
7264    selection using a shifted mouse button (reports by Neil Bird,
7265    Bram Moolenaar).</li>
7266  </ul>
7267
7268  <h1><a name="xterm_264" id="xterm_264">Patch #264 -
7269  2010/10/14</a></h1>
7270
7271  <ul>
7272    <li>replace a null-pointer check with check for empty string in
7273    <code>xtermOpenFont</code>, to eliminate a warning message from
7274    <a href="#xterm_263">patch #263</a> changes.</li>
7275
7276    <li>build-fix for <a href="#xterm_263">patch #263</a> when
7277    toolbar is not configured (patch by Chris Clayton) (reports by
7278    Robby Workman, David Wood).</li>
7279  </ul>
7280
7281  <h1><a name="xterm_263" id="xterm_263">Patch #263 -
7282  2010/10/13</a></h1>
7283
7284  <ul>
7285    <li>corrected initialization of "misc" resource values, to
7286    ensure that xterm has allocated a copy of strings which may not
7287    have been malloc'd by the X library (Debian #600129).</li>
7288
7289    <li>modify handling of any-event/any-button mouse protocol; it
7290    now is active with any combination of key-modifiers.</li>
7291
7292    <li>add debugging feature <code>showWrapMarks</code>, which
7293    marks lines which xterm knows are wrapped, showing where a
7294    double-click will select past the end of a line.</li>
7295
7296    <li>build-fix to address change in include-guards for
7297    <code>Xlib.h</code> in ongoing Xorg edits (patch by Jeremy
7298    Huddleston).</li>
7299
7300    <li>improve <code>pointerMode</code> by continuing to watch for
7301    motion events after mouse tracking is disabled if the pointer
7302    is hidden (Debian #594856).</li>
7303
7304    <li>further extend initialization for active-icon font to check
7305    if the font was not loaded successfully, to retry with
7306    <code>font1</code>, or as even (if TrueType fonts are used) to
7307    use a TrueType font. The retries are to help with cases as in
7308    <a href="#xterm_241">patch #241</a> where the bitmap fonts are
7309    not available.</li>
7310
7311    <li>fix special case of active-icon used when TrueType font is
7312    specified for the xterm window, from <a href="#xterm_261">patch
7313    #261</a> change. In that case, the default font's size was used
7314    for layout of the active icon's window (Debian #591265).</li>
7315  </ul>
7316
7317  <h1><a name="xterm_262" id="xterm_262">Patch #262 - 2010/8/30</a></h1>
7318
7319  <ul>
7320    <li>fix a case where changing the cursor color via escape
7321    sequences did not immediately update the screen (report by
7322    Andreas Wagner).</li>
7323
7324    <li>implement ANSI and DEC request-mode control sequences. The
7325    latter includes the xterm-specific private modes such as the
7326    mouse mode. The feature is ifdef'd with the rectangle
7327    operations since its decoding overlaps that feature.</li>
7328
7329    <li>correct typo in ctlseqs.ms for response of OSC 21 (patch by
7330    Kevin Schoedel).</li>
7331
7332    <li>improve discussion of mouse tracking in ctlseqs.ms</li>
7333
7334    <li>increase an array limit used in reporting mouse events
7335    (report by Ryan Johnson).</li>
7336
7337    <li>add extended mouse-coordinates mode, allowing up to
7338    2015x2015 windows, using UTF-8 encoding (patch by Ryan
7339    Johnson).</li>
7340
7341    <li>modify manpage hyphens to conform with <a href=
7342    "http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html">
7343    Debian</a>.</li>
7344  </ul>
7345
7346  <h1><a name="xterm_261" id="xterm_261">Patch #261 - 2010/6/28</a></h1>
7347
7348  <ul>
7349    <li>fix regression in <code>renderFont</code> logic, from
7350    <a href="#xterm_260">patch #260</a> changes (report by Joseph
7351    Quinsey).</li>
7352  </ul>
7353
7354  <h1><a name="xterm_260" id="xterm_260">Patch #260 - 2010/6/20</a></h1>
7355
7356  <ul>
7357    <li>modify <code>plink.sh</code> to work around problem linking
7358    to recent PCRE libraries.</li>
7359
7360    <li>extend <code>renderFont</code> resource to allow deferred
7361    switch to TrueType fonts without affecting existing resource
7362    settings (Debian #585620).</li>
7363
7364    <li>modify configure macro CF_X_TOOLKIT to work around omission
7365    of ICE library from ".pc" file (report by Miroslav
7366    Lichvar).</li>
7367
7368    <li>change configure script default for
7369    <code>--enable-broken-st</code> i.e., the
7370    <code>brokenStringTerm</code> feature) to normally enable it.
7371    If the corresponding resource is enabled, this feature
7372    eliminates an apparent freeze of xterm when sending mis-encoded
7373    data to the screen (Debian #584801).</li>
7374
7375    <li>document in manpage some actions which were overlooked:
7376      <ul>
7377        <li>readline-button</li>
7378
7379        <li>scroll-lock</li>
7380
7381        <li>set-8-bit-control</li>
7382      </ul>
7383    </li>
7384
7385    <li>undo a change to limit-check in <code>ScrnRefresh</code> in
7386    <a href="#xterm_257">patch #257</a>, which broke
7387    <code>fastScroll</code> feature (Debian #584841).</li>
7388
7389    <li>modify handling of <code>brokenLinuxOSC</code> and
7390    <code>brokenStringTerm</code> to also sound the bell.</li>
7391
7392    <li>add control/D and control/Q to controls which will cause
7393    early exit from control string per
7394    <code>brokenStringTerm</code> resource.</li>
7395
7396    <li>improve documentation of <code>brokenStringTerm</code>
7397    resource in manpage.</li>
7398  </ul>
7399
7400  <h1><a name="xterm_259" id="xterm_259">Patch #259 - 2010/6/5</a></h1>
7401
7402  <ul>
7403    <li>modify configure check for <a href=
7404    "https://invisible-island.net/luit/">luit</a> to include new
7405    aliases for the program (<code>xterm-filter</code> and
7406    <code>bluit</code>).</li>
7407
7408    <li>add workaround in <code>xtermClearLEDs()</code> to account
7409    for Xkb's override, making vttest's LED demo reset the scroll
7410    lock.</li>
7411
7412    <li>filter out client-message events when deciding whether to
7413    hide cursor, e.g., when using SCIM (patch/report by anonymous
7414    user).</li>
7415
7416    <li>improve description of <code>-bd</code> option in manpage
7417    (report by Guy Daniel Clotilde).</li>
7418
7419    <li>modify configure checks for PCRE and other libraries to use
7420    <code>pkg-config</code>, if available.</li>
7421
7422    <li>amend change from <a href="#xterm_252">patch #252</a>, to
7423    take <code>veryColorColors</code> resource into account when
7424    checking <code>colorBDMode</code> resource for TrueType fonts
7425    (report by anonymous user).</li>
7426
7427    <li>add <code>vttests/query-fonts.pl</code> script for
7428    demonstrating the <code>OSC&nbsp;50</code> font query.</li>
7429
7430    <li>improve manpage discussion of Scroll Lock feature.</li>
7431
7432    <li>improve configure macros CF_GCC_VERSION and
7433    CF_GCC_WARNINGS.</li>
7434
7435    <li>fix warnings for "clang --analyze".</li>
7436
7437    <li>change default for <code>allowScrollLock</code> resource to
7438    <code>false</code>, noting that the supposedly unused key has
7439    been useful for various rebindings (Debian #580946).</li>
7440  </ul>
7441
7442  <h1><a name="xterm_258" id="xterm_258">Patch #258 - 2010/5/1</a></h1>
7443
7444  <ul>
7445    <li>add pointer-checks in <code>ScrnRefresh</code> to fix a
7446    case in rapid scrolling where an empty record is fetched from
7447    the scrollback FIFO.</li>
7448  </ul>
7449
7450  <h1><a name="xterm_257" id="xterm_257">Patch #257 - 2010/4/22</a></h1>
7451
7452  <ul>
7453    <li>correct ctlseqs.ms description of OSC 17 and OSC 19 (patch
7454    by Emanuele Giaquinta).</li>
7455
7456    <li>corrected logic for <code>menuLocale</code> resource; the
7457    <code>setlocale</code> function returns the original locale
7458    only when querying.</li>
7459
7460    <li>improve filtering of translations resource, narrowing the
7461    scope of the <code>alwaysUseMods</code> to address only the
7462    translations that would cause a key to be sent to the host
7463    (report by Andrew Gaylard).</li>
7464
7465    <li>change default value of <code>menuLocale</code> resource to
7466    "C", to work around longstanding <a href=
7467    "https://invisible-island.net/xterm/xterm.faq.html#slow_menus">Xorg
7468    bug</a>.</li>
7469
7470    <li>modify handling of <code>scrollKey</code> feature to ignore
7471    XON/XOFF keys.</li>
7472
7473    <li>implement scroll-lock feature.</li>
7474
7475    <li>revise memory allocation in UTF8toLatin1() to fix an
7476    out-of-bounds index (Mandriva #54531).</li>
7477
7478    <li>compute value for first wide-character rather than assuming
7479    it is 256, fixes problem with <code>-cjk_width</code>
7480    introduced in patches <a href="#xterm_242">242</a> and <a href=
7481    "#xterm_249">249</a> (report by Thomas Wolff).</li>
7482
7483    <li>improve configure script:
7484      <ul>
7485        <li>corrected check for <code>_XOPEN_SOURCE</code> for
7486        OpenSolaris.</li>
7487
7488        <li>when possible, add rpath option for libraries in
7489        unusual places</li>
7490
7491        <li>add configure option <code>--disable-rpath-hack</code>
7492        to control whether the rpath option can be added.</li>
7493      </ul>
7494    </li>
7495
7496    <li>modify <code>AllocateTermColor()</code> to separate
7497    initialization from control sequences, fixing problem from
7498    <a href="#xterm_254">patch #254</a> changes where enabling
7499    <code>allowSendEvents</code> resource prevents setting cursor
7500    color on command-line (Debian #572928).</li>
7501
7502    <li>amend logic from <a href="#xterm_185">patch #185</a> to not
7503    reallocate cell-array if processing
7504    <code>ESC&nbsp;%&nbsp;G</code> to switch from UTF-8 if already
7505    in ISO-8859-1 character set (report by Michael Koehne).</li>
7506
7507    <li>fix to avoid calling <code>XmuInternStrings()</code> with
7508    zero count (report by Johan Bockg&aring;rd).</li>
7509
7510    <li>fix build when --disable-ansi-color configure option is
7511    used.</li>
7512
7513    <li>fix build when neither OPT_TCAP_QUERY or OPT_TCAP_FKEYS is
7514    defined (patch by Matthieu Herrb)</li>
7515  </ul>
7516
7517  <h1><a name="xterm_256" id="xterm_256">Patch #256 - 2010/3/6</a></h1>
7518
7519  <ul>
7520    <li>add TerminalEmulator to desktop category files.</li>
7521
7522    <li>modify <code>sinstall.sh</code> to ignore the "." appended
7523    to permissions by selinux.</li>
7524
7525    <li>change app-defaults organization, installing UXTerm-color
7526    and KOI8XTerm-color for consistent behavior regarding
7527    <code>customization:&nbsp;color</code> (prompted by discussion
7528    in Ubuntu #421261).</li>
7529
7530    <li>fix typo in <code>minstall.sh</code> from <a href=
7531    "#xterm_255">patch #255</a> changes, and add case for
7532    <code>/var/run</code> needed for full path of utmp (report by
7533    Julien Cristau).</li>
7534
7535    <li>minor fix to xterm manpage, remove a comment stating that
7536    margin bell can be changed via the VT Options menu. That was
7537    replaced in <a href="#xterm_225">patch #225</a></li>
7538
7539    <li>add a "docs" rule to makefile.</li>
7540
7541    <li>fix initialization of Atom used for <code>XkbBell</code>
7542    feature from <a href="#xterm_243">patch 243</a> changes. Unlike
7543    the other calls to <code>XInternAtom()</code>, in this case the
7544    flag telling X to create the Atom was unset (patch by Chris
7545    Adams).</li>
7546  </ul>
7547
7548  <h1><a name="xterm_255" id="xterm_255">Patch #255 - 2010/1/21</a></h1>
7549
7550  <ul>
7551    <li>rename <code>install.sh</code> to <code>install-sh</code>
7552    in case suffix-rules might interfere.</li>
7553
7554    <li>extend range for <code>convertToUTF8</code> function to
7555    full 31-bits, to use with printing, etc.</li>
7556
7557    <li>improve manpage by checking for actual locations of
7558    utmp/wtmp files (Debian #562640).</li>
7559
7560    <li>modify configure macro CF_XOPEN_SOURCE to remove -D's
7561    before adding the same name rather than relying on -U's, to
7562    reduce redefinition warnings for some platforms that have
7563    conflicting definitions in headers.</li>
7564
7565    <li>correct logic used to switch to alternate screen using
7566    FIFO-lines configuration (Debian #565772).</li>
7567
7568    <li>update config.guess, config.sub</li>
7569  </ul>
7570
7571  <h1><a name="xterm_254" id="xterm_254">Patch #254 - 2010/1/6</a></h1>
7572
7573  <ul>
7574    <li>add a configure-check to eliminate <code>install-ti</code>
7575    rule from Makefile when the system has no tic (terminfo
7576    compiler) program. This lets one use the
7577    <code>install-full</code> rule more consistently.</li>
7578
7579    <li>amend change to WriteText() function in <a href=
7580    "#xterm_252">patch #252</a> to take into account the
7581    <code>colorAttrMode</code> resource (report by Krzysztof
7582    Kotlenga).</li>
7583
7584    <li>document <code>titleModes</code> resource in manpage, added
7585    in <a href="#xterm_252">patch #252</a>.</li>
7586
7587    <li>modify tcap-query table entries for shifted up/down cursor
7588    keys to match ncurses convention.</li>
7589
7590    <li>improve lookup of termcap-query data, allowing for
7591    duplicate keycodes versus missing entries.</li>
7592
7593    <li>add control sequence which can be used to modify the
7594    terminal data used for the termcap-keyboard.</li>
7595
7596    <li>improve portability of tcap-query feature, using terminfo
7597    functions in preference to termcap on systems having
7598    terminfo.</li>
7599
7600    <li>improve font-setting/querying control
7601    (<code>OSC&nbsp;50</code>):
7602      <ul>
7603        <li>when TrueType font is selected, the TrueType
7604        <code>faceName</code> will be set, rather than the bitmap
7605        font.</li>
7606
7607        <li>when TrueType font is selected, querying returns the
7608        name of the TrueType font.</li>
7609
7610        <li>querying a font recognizes the relative-font convention
7611        that setting a font could use.</li>
7612      </ul>
7613    </li>
7614
7615    <li>add menu-entry for allowColorOps.</li>
7616
7617    <li>add new resources for fine-tuning menu entries:
7618    <code>allowColorOps</code>, <code>disallowedColorOps</code>,
7619    <code>disallowedFontOps</code> and
7620    <code>disallowedTcapOps</code>.</li>
7621
7622    <li>correct logic for disabling the "TrueType Fonts" menu item;
7623    it was not ensuring that the <code>faceName</code> resource
7624    value was non-empty.</li>
7625
7626    <li>implement VT520-style controls <code>DECSMBV</code> and
7627    <code>DECSWBV</code> for setting the margin- and warning-bell
7628    volume.</li>
7629
7630    <li>fix a minor error from <a href="#xterm_243">patch #243</a>
7631    which made the zIconBeep feature use a minor-error tone rather
7632    than an informational tone.</li>
7633
7634    <li>add a null-pointer check for the case where
7635    <code>renderFont</code> resource is true, but
7636    <code>faceName</code> resource is unset, used in logic to strip
7637    "xft:" prefix from <a href="#xterm_251">patch #251</a> changes
7638    (patch by Michael Riepe).</li>
7639
7640    <li>add special case to configure CF_XOPEN_SOURCE macro to use
7641    extensions on Darwin (patch by Dennis Preiser).</li>
7642
7643    <li>improve configure checks for regular expressions header and
7644    library</li>
7645
7646    <li>update config.guess, config.sub</li>
7647  </ul>
7648
7649  <h1><a name="xterm_253" id="xterm_253">Patch #253 -
7650  2009/12/10</a></h1>
7651
7652  <ul>
7653    <li>add a null-pointer check in <code>getPrinterFlags()</code>
7654    per changes in <a href="#xterm_252">patch #252</a>.</li>
7655
7656    <li>add a null-pointer check, needed in UTF-8 mode for Xft
7657    fonts after changes in <a href="#xterm_252">patch #252</a>
7658    (patch by Alan Coopersmith).</li>
7659
7660    <li>correct size when clearing struct for tek4014 (patch by
7661    Jochen Voss).</li>
7662
7663    <li>parenthesize expression in <code>MoreRows</code> macro,
7664    fixing a limit check added in <a href="#xterm_251">patch
7665    #251</a> (Debian #560039).</li>
7666  </ul>
7667
7668  <h1><a name="xterm_252" id="xterm_252">Patch #252 - 2009/12/7</a></h1>
7669
7670  <ul>
7671    <li>modify title-querying logic to support retrieval of titles
7672    encoded using UTF-8.</li>
7673
7674    <li>add new "title-modes" control sequence for controlling
7675    whether window/icon titles can be set or queried using UTF-8,
7676    optionally encoded in a hexadecimal string.</li>
7677
7678    <li>use <code>mkdir&nbsp;-p</code> rather than
7679    <code>mkdirs.sh</code> (prompted by discussion of mawk by
7680    Aleksey Cheusov).</li>
7681
7682    <li>add appropriate copyright/license notices to the bulk of
7683    files lacking same, and modify to use identical terms in others
7684    which used different wording. The main exceptions are the files
7685    contributed by Markus Kuhn, who appears to prefer public domain
7686    distribution, noting that I have modified/improved several of
7687    these without changing the terms of distribution (request by
7688    Jari Aalto).</li>
7689
7690    <li>add control sequences for resetting the "dynamic" colors to
7691    their default values.</li>
7692
7693    <li>add control sequences for resetting the "special" colors to
7694    their default values.</li>
7695
7696    <li>add control sequences for setting the "special" colors such
7697    as <code>colorBD</code> (bold).</li>
7698
7699    <li>add overlooked case for setting highlight foreground color
7700    with the dynamic-colors control.</li>
7701
7702    <li>add <code>OSC 104</code>, for resetting ANSI/16/88/256
7703    colors to default.</li>
7704
7705    <li>reset ANSI/16/88/256 colors to default in soft/hard reset
7706    functions.</li>
7707
7708    <li>strip "xft:" prefix from <code>faceName</code> and
7709    <code>faceNameDoublesize</code> resource values,</li>
7710
7711    <li>add <code>DECSCUSR</code> (discussion with Andy
7712    Koppe).</li>
7713
7714    <li>add check/warning on failure to load font, to see if the
7715    name looks like an Xft pattern rather than XLFD. This can
7716    happen if someone happens to modify their X resource settings
7717    for programs that read data from xterm's namespace.</li>
7718
7719    <li>modify handling of <code>print</code> and
7720    <code>print-everything</code> actions to allow the various
7721    printer flags to be overridden by supplying parameters.</li>
7722
7723    <li>add resource <code>printerNewLine</code> (request by Ovidiu
7724    Gheorghioiu).</li>
7725
7726    <li>minor cleanup, finish using <code>TScreenOf()</code> and
7727    <code>TekScreenOf()</code> macros introduced in <a href=
7728    "#xterm_224">patch #224</a>.</li>
7729
7730    <li>improve checks in ShowCursor/HideCursor to get the
7731    background color, particularly when
7732    <code>highlightReverse</code> resource is used (reports by Jan
7733    Engelhardt, Christian Weisgerber).</li>
7734
7735    <li>correct <code>checkVeryBoldAttr</code> to omit comparison
7736    of foreground color to special color values used for
7737    <code>color&lt;XX&gt;</code> resources (report by Jan
7738    Engelhardt).</li>
7739
7740    <li>make <code>colorBDMode</code> and <code>colorULMode</code>
7741    resources work with TrueType configuration (report by Jan
7742    Engelhardt).</li>
7743  </ul>
7744
7745  <h1><a name="xterm_251" id="xterm_251">Patch #251 -
7746  2009/11/11</a></h1>
7747
7748  <ul>
7749    <li>add window-ops controls to push/pop icon and/or window
7750    labels on a stack.</li>
7751
7752    <li>minor fixes to align termcap file with terminfo.</li>
7753
7754    <li>add resource <code>disallowedWindowOps</code>, to allow
7755    fine-tuning of features to suppress with the
7756    <code>allowWindowOps</code> resource (prompted by discussion
7757    with Bram Moolenaar).</li>
7758
7759    <li>add makefile rules for resize-manpage to pdf, etc.</li>
7760
7761    <li>further improve limit-checks in select/paste (Mandriva
7762    #54531).</li>
7763  </ul>
7764
7765  <h1><a name="xterm_250" id="xterm_250">Patch #250 -
7766  2009/10/13</a></h1>
7767
7768  <ul>
7769    <li>add check and error-message for fonts that have no
7770    printable values in the ISO-8859-1 range (Debian #542434).</li>
7771
7772    <li>some compiler-warning cleanup, in particular workaround for
7773    defective implementation of gcc's attribute warn_unused_result
7774    (report by Bram Moolenaar).</li>
7775
7776    <li>improve estimate of single-column width for packed TrueType
7777    fonts by ignoring extents for codes 127 and 159.</li>
7778
7779    <li>improve line-drawing for TrueType fonts which happen to
7780    have defined glyphs which are <em>not</em> line-drawing in
7781    0..31 by assuming they're not, and just checking the existence
7782    of the Unicode codepoints. This makes it more likely that the
7783    user can override a misconfigured font using the "Line-Drawing
7784    Characters" menu entry.</li>
7785
7786    <li>limit minimum cell-width for packed font to maximum-advance
7787    reported by Xft. Some fonts are wider than that, even in the
7788    Latin-1 range (Debian #550497).</li>
7789
7790    <li>add list of direct-contributors in "THANKS" file.</li>
7791
7792    <li>stylistic changes to this file to help scripted extraction
7793    of list of contributors.</li>
7794
7795    <li>correct off-by-one in <code>okPosition</code> fix from
7796    <a href="#xterm_249">patch #249</a> limit-checks which
7797    prevented double-click selection on the bottom line of the
7798    screen (reports by Rajeev V. Pillai, Debian #550368).</li>
7799
7800    <li>add <code>-q</code> option to
7801    <code>vttests/256colors2.pl</code> and
7802    <code>vttests/88colors2.pl</code> to demonstrate bulk
7803    initialization of color palette.</li>
7804
7805    <li>improve the workaround from patch #188 by enabling
7806    resources for the 88-color model.</li>
7807
7808    <li>document in xterm manpage the limited availability of
7809    resources <code>color16</code> to <code>color255</code> as
7810    noted in <a href="#xterm_188">patch #188</a> (Ubuntu
7811    #438850).</li>
7812  </ul>
7813
7814  <h1><a name="xterm_249" id="xterm_249">Patch #249 - 2009/10/1</a></h1>
7815
7816  <ul>
7817    <li>change default for <code>allowWindowOps</code> resource to
7818    false. 
7819    <!-- on the other hand, gnome-terminal, pterm and rxvt-unicode
7820                leave most of the related functionality enabled ;-) --></li>
7821
7822    <li>add limit-checks for result of visual_width() function,
7823    needed from <a href="#xterm_242">patch #242</a> and exposed by
7824    #244 changes (Debian #548321).</li>
7825
7826    <li>improve limit-checks in select/paste.</li>
7827
7828    <li>fix a remaining bug from <a href="#xterm_230">patch
7829    #230</a> changes for displaying multi-column characters in a
7830    proportional font (report by Chris Jones).</li>
7831
7832    <li>add new resource forcePackedFont and menu entry "Packed
7833    Font" to control whether to use the font's minimum (default) or
7834    maximum width when those differ. The workaround which xterm
7835    uses to accommodate proportional fonts is not necessary with
7836    certain fonts such as unifont which happen to store a mixture
7837    of multicolumn glyphs (report by Chris Jones).</li>
7838
7839    <li>fix an (old) bug which did not restart the timer for
7840    blinking text if the only blinking text was temporarily
7841    scrolled out of view, e.g., using the scrollbar.</li>
7842
7843    <li>fix an (old) flaw in the delete-line operation where the
7844    text which is scrolled into view while the display is scrolled
7845    up was not repainted.</li>
7846
7847    <li>improve delete-line and insert-line operations, retaining
7848    selection when the selection does not intersect the
7849    deleted/inserted lines.</li>
7850
7851    <li>fix an (old) off-by-one error when an application cleared
7852    above the cursor position while the display was scrolled up,
7853    that would leave an extra line of text uncleared.</li>
7854
7855    <li>fix a similar problem where the double-size attribute would
7856    not be reset when clearing the screen while the display was
7857    scrolled up.</li>
7858
7859    <li>fix an indexing error which would occur if an application
7860    cleared a line while the display was scrolled up and was also
7861    in UTF-8 mode (Redhat #524503). The error was from <a href=
7862    "#xterm_228">patch #228</a> but more visible after changes from
7863    <a href="#xterm_244">patch #244</a>.</li>
7864  </ul>
7865
7866  <h1><a name="xterm_248" id="xterm_248">Patch #248 - 2009/9/11</a></h1>
7867
7868  <ul>
7869    <li>fix an overlooked adjustment for selecting double-width
7870    characters in the narrow-character configuration.</li>
7871
7872    <li>eliminate uses of <code>XTERM_CELL</code> and
7873    <code>XTERM_CELLC</code> where an appropriate
7874    <code>LineData</code> pointer is available.</li>
7875
7876    <li>correct expression in <code>okScrnRow</code> macro, making
7877    selections give the length of lines below the visible screen
7878    (report by Stuart Henderson).</li>
7879
7880    <li>correct logic used to improve performance of missing-glyph
7881    check, which did not handle line-drawing characters (Debian
7882    #545220).</li>
7883  </ul>
7884
7885  <h1><a name="xterm_247" id="xterm_247">Patch #247 - 2009/8/30</a></h1>
7886
7887  <ul>
7888    <li>add ifdef's and check for openpty() on DragonFly (patch by
7889    Alex Hornung).</li>
7890
7891    <li>correct calculation for size of line's data block, which
7892    was sometimes off-by-one when configured using
7893    <code>--enable-16bit-chars</code> (report by H Merijn
7894    Brand).</li>
7895
7896    <li>fix indexing error in print-everything feature from
7897    <a href="#xterm_246">patch #246</a> (patch by Ovidiu
7898    Gheorghioiu).</li>
7899  </ul>
7900
7901  <h1><a name="xterm_246" id="xterm_246">Patch #246 - 2009/8/16</a></h1>
7902
7903  <ul>
7904    <li>remove obsolete logic for saving/restoring wrapping flags,
7905    which did not work on 64-bit platform. Wrapping flags (stored
7906    in the line-index) are now copied with line-data (Debian
7907    #541160).</li>
7908
7909    <li>modify comments in app-defaults files to avoid problem with
7910    C preprocessor used by <code>xrdb</code> (Debian #541603).</li>
7911
7912    <li>restore special case in <code>makeColorPair</code>, needed
7913    for <code>colorBDMode</code> resource (Debian #541089).</li>
7914
7915    <li>correct <code>SetLineFlags()</code> macro, broken in
7916    <a href="#xterm_244">patch #244</a> when recoding to avoid
7917    gcc-specific bitfields (Debian #541236).</li>
7918
7919    <li>modify initialization of screen buffers to ensure that
7920    pointers align to int-boundaries. This fixes a problem
7921    introduced in <a href="#xterm_244">patch #244</a> where the
7922    color- and character-arrays (stored after the video-attributes
7923    in each row) might be misaligned (report by Rajeev V
7924    Pillai).</li>
7925
7926    <li>add limit-check in <code>ScrnRefresh</code> for handling
7927    saved-lines from the circular buffer which are repainted on a
7928    screen whose width has increased. To improve performance,
7929    circular buffer entries are not resized (report by Rajeev V
7930    Pillai).</li>
7931
7932    <li>correct type for <code>CellColor</code> (a late change in
7933    <a href="#xterm_244">patch #244</a> to avoid gcc-specifc enums
7934    made that unsigned rather than unsigned short, for the
7935    256-color option).</li>
7936
7937    <li>fix typo in configure option --enable-16bit-chars (report
7938    by Rajeev V. Pillai).</li>
7939  </ul>
7940
7941  <h1><a name="xterm_245" id="xterm_245">Patch #245 - 2009/8/12</a></h1>
7942
7943  <ul>
7944    <li>correct a special case in saving FIFO-lines from <a href=
7945    "#xterm_244">patch #244</a>. If the screen was shrunk, xterm
7946    used the wrong amount for copying to FIFO-lines, and then used
7947    this amount to adjust the current row on the screen. That was
7948    both a visible defect (Debian #541109) as well as a potential
7949    addressing error (Debian #541132, Debian #541160, and Debian
7950    #541236).</li>
7951
7952    <li>add clarification in xterm manual about the various
7953    <code>allow<em>XXX</em>Ops</code> resources, which are disabled
7954    when the <code>allowSendEvents</code> resource is active (patch
7955    by Julien Cristau, Debian #531597).</li>
7956  </ul>
7957
7958  <h1><a name="xterm_244" id="xterm_244">Patch #244 - 2009/8/9</a></h1>
7959
7960  <ul>
7961    <li>refactored storage of saved-lines, providing a configure
7962    option to manage them as a FIFO (actually a circular buffer),
7963    improving performance. Added configure option
7964    <code>--enable-fifo-lines</code> to enable/disable the new
7965    feature (it is enabled by default).</li>
7966
7967    <li>added <code>fastScroll</code> resource, to amuse people who
7968    measure terminal emulator performance by <code>cat</code>'ing
7969    large files to the screen.</li>
7970
7971    <li>modify check in <code>readPtyData</code> from return values
7972    to provide exit on zero-bytes read from pty for FreeBSD, or
7973    eliminate high-CPU in "xterm-hold" processing (discussion with
7974    Ulrich Spoerlein, FreeBSD ports/136686). The check was
7975    originally modified to combine negative/zero values in
7976    XFree86-3.1.2E, 1996/05/06.</li>
7977
7978    <li>add configure option <code>--enable-16bit-chars</code> to
7979    provide wide-characters with 16-bits (rather than the default
7980    32-bits).</li>
7981
7982    <li>add <code>retryInputMethod</code> resource to allow
7983    configuring out the retries xterm uses to connect to
7984    non-responsive XIM server, to work around defective X
7985    configurations as noted in <a href=
7986    "http://mail-index.netbsd.org/tech-x11/2009/06/07/msg000511.html">
7987    NetBSD mailing list</a>.</li>
7988
7989    <li>make regular-expression selection work for VT100
7990    double-sized characters.</li>
7991
7992    <li>improve layout when drawing missing characters in a
7993    proportional font, e.g., as boxes, to take into account whether
7994    they are double-width (report by Guilbert Stabilo on
7995    comp.unix.shell).</li>
7996
7997    <li>add capability for keypad-center (kb2/KA2) to termcap entry
7998    for xterm-new, as well as xterm-8bit, xterm-sun and xterm-vt220
7999    (FreeBSD conf/136336).</li>
8000
8001    <li>change default for <code>keepSelection</code> resource to
8002    true (prompted by discussion with David Muir Sharnoff).</li>
8003
8004    <li>remove a limit-check in ptydata.c, allowing Unicode values
8005    past 64k to be displayed using TrueType fonts (Debian
8006    #458432).</li>
8007
8008    <li>remove a vt52-specific ifdef to allow mapping F1-F4 to
8009    PF1-PF4 when vt52 support is not compiled (report by Olaf
8010    'Rhialto' Seibert).</li>
8011
8012    <li>save/restore line-wrapping flags when converting from
8013    ISO-8859-1 encoding to UTF-8 encoding, as well as when resizing
8014    screen.</li>
8015
8016    <li>remove extra adjustment of position in fix for Debian
8017    #418324.</li>
8018
8019    <li>modify default check for <code>mkWidth</code> resource to
8020    check for line-drawing characters, which are categorized as
8021    double-width in Solaris 10 (report by Sebastian Kayser).</li>
8022
8023    <li>add "print-everything" action (patch by Ovidiu
8024    Gheorghioiu).</li>
8025
8026    <li>start refactoring scrollback data using new getLineData()
8027    function.</li>
8028
8029    <li>demote recent change to Debian #252873 fix to experimental,
8030    ifdef'd out as <code>EXP_BOGUS_FG</code> (Debian #522141).</li>
8031
8032    <li>work around groff mapping of ASCII quotes using macros
8033    (requested by Reuben Thomas based on Colin Watson advice, fixes
8034    Debian #378700).</li>
8035
8036    <li>correct symbol used for default of
8037    <code>allowWindowOps</code> which was
8038    <code>DEF_ALLOW_FONT</code> rather than
8039    <code>DEF_ALLOW_WINDOW</code> (report by Matthieu Herrb).</li>
8040
8041    <li>amend fix for tek4014 from <a href="#xterm_243">patch
8042    #243</a> to make it only apply to the Tek Options menu.</li>
8043  </ul>
8044
8045  <h1><a name="xterm_243" id="xterm_243">Patch #243 - 2009/3/28</a></h1>
8046
8047  <ul>
8048    <li>revert change to default for <code>allowTcapOps</code>
8049    (request by Bram Moolenaar).</li>
8050
8051    <li>reallocate result returned by <code>xtermEnvLocale()</code>
8052    to avoid reference to freed memory after handling
8053    <code>menuLocale</code> resource.</li>
8054
8055    <li>fix an old (X11R5) bug in tek4014 for switching
8056    fontsizes.</li>
8057
8058    <li>add resource <code>defaultString</code> to make
8059    configurable the use of "#" when pastes of UTF-8 text fail due
8060    to limitations in the current locale settings.</li>
8061
8062    <li>make the set of selection target Atom's configurable by two
8063    new resources <code>eightBitSelectTypes</code> and
8064    <code>utf8SelectTypes</code>, e.g., to use the
8065    <code>TEXT</code> Atom in preference to
8066    <code>UTF8_STRING</code> (discussion with Stanislav Sedov
8067    regarding koi8rxterm and the FreeBSD port).</li>
8068
8069    <li>modify handling of <code>TARGETS</code> Atom by making it
8070    return exactly the set of targets as those which xterm is
8071    currently providing.</li>
8072
8073    <li>set <code>MANPAGER</code> and <code>PAGER</code> explicitly
8074    to /bin/cat in <code>minstall.sh</code> to work around
8075    /etc/man.conf's with those variables already set (report by
8076    &#1052;&#1072;&#1088;&#1100;&#1103;&#1089;&#1080;&#1085;
8077    &#1057;&#1077;&#1084;&#1105;&#1085;).</li>
8078
8079    <li>improve error-checking of tcap-query parser.</li>
8080
8081    <li>add check for keyboard <code>tcap</code>), which ensures
8082    that terminal descriptions containing the same string for
8083    shifted/unshifted keys will be seen by tcap-query as only the
8084    unshifted key. (This would only happen with an incorrect
8085    terminal description).</li>
8086
8087    <li>fix conversion for input event-state to modifier-parameter
8088    which made tcap-query feature not work with
8089    <code>tcapFunctionKeys</code> (keyboard type
8090    <code>tcap</code>).</li>
8091
8092    <li>add "DEF_ALLOW_<em>XXX</em>" definitions to main.h to allow
8093    overriding the default compiled-in values for
8094    "allow<em>xxx</em>" resources.</li>
8095
8096    <li>remove check on bell-percentage added in <a href=
8097    "#xterm_242">patch #242</a>, which disallowed zero/negative
8098    values (Redhat Bugzilla #487829).</li>
8099  </ul>
8100
8101  <h1><a name="xterm_242" id="xterm_242">Patch #242 - 2009/2/15</a></h1>
8102
8103  <ul>
8104    <li>fix configure check for <code>XkbBell</code> and provide
8105    appropriate parameter for it.</li>
8106
8107    <li>fix a caching problem with double-size fonts versus reverse
8108    video that could cause core dump.</li>
8109
8110    <li>repair double-size fonts from workaround used in <a href=
8111    "#xterm_240">patch #240</a>.</li>
8112
8113    <li>add new section to the VT Fonts menu which allows enabling
8114    or disabling the font, termcap (tcap-query), title and window
8115    operations.</li>
8116
8117    <li>add <code>fontWarnings</code> resource, to control whether
8118    to show warnings on failure to load a font.</li>
8119
8120    <li>improve warnings for unloadable fonts introduced in
8121    <a href="#xterm_240">patch #240</a> by limiting those to the
8122    cases where a font would be specified directly by a resource
8123    setting rather than a derived fontname.</li>
8124
8125    <li>further amend fix for Debian #252873 from <a href=
8126    "#xterm_197">patch #197</a> to treat a blank cell which does
8127    not have both foreground and background colored as a
8128    non-colored cell. This improves a special case where the cursor
8129    is on a blank cell which had foreground color scrolled in
8130    (report by Miroslav Lichvar).
8131      <p>Also add the same logic when hiding cursor, so the outline
8132      matches the in-focus cursor.</p>
8133    </li>
8134
8135    <li>modify internals to reduce places PAIRED_CHARS() is used,
8136    making WriteText() and ScrnWriteText() accept IChar array, as
8137    well as providing a wrapper for drawXtermText().</li>
8138
8139    <li>change default XIM font from "*" to "fixed" to improve
8140    startup time in zh_CN.UTF-8 locale (Mike Fabian, SuSE Bugzilla
8141    #464930).</li>
8142
8143    <li>typo in #240 log (Slava Semushin)</li>
8144  </ul>
8145
8146  <h1><a name="xterm_241" id="xterm_241">Patch #241 - 2009/1/26</a></h1>
8147
8148  <ul>
8149    <li>improve checks for missing bitmap fonts, fallback to
8150    "fixed" as needed to work around broken font-packages (report
8151    by Jacek Luczak).</li>
8152
8153    <li>fix breakage from <a href="#xterm_240">patch #240</a>
8154    changes for <code>xtermAddInput()</code> (patches by Jeff Chua,
8155    Julien Cristau).</li>
8156  </ul>
8157
8158  <h1><a name="xterm_240" id="xterm_240">Patch #240 - 2009/1/25</a></h1>
8159
8160  <ul>
8161    <li>use <code>plink.sh</code> for linking xterm (suggested by
8162    Larry Doolittle).</li>
8163
8164    <li>add resource descriptions for input method to xterm
8165    manpage.</li>
8166
8167    <li>update configure script; consistently append to $CFLAGS
8168    rather than prepend.</li>
8169
8170    <li>add <code>install-scripts</code> rule to makefile, to allow
8171    koi8rxterm and uxterm scripts to be altered independently of
8172    <code>install-bin</code></li>
8173
8174    <li>add <code>-maximized</code> command-line option and
8175    corresponding resource (prompted by alt.os.linux newsgroup
8176    comment).</li>
8177
8178    <li>modify translations of scrollbar widget using
8179    <code>xtermAddInput()</code> (see <a href="#xterm_181">patch
8180    #181</a>) to accept the actions that the vt100 widget accepts,
8181    such as shift-insert to perform a paste operation (request by
8182    Martin Zwickel).</li>
8183
8184    <li>change default for <code>allowTcapsOps</code> resource to
8185    false, since it causes unexpected behavior for vim users with
8186    <code>AltGr</code>.</li>
8187
8188    <li>update config.guess, config.sub</li>
8189  </ul>
8190
8191  <h1><a name="xterm_239" id="xterm_239">Patch #239 - 2009/1/8</a></h1>
8192
8193  <ul>
8194    <li>correct a cast in input.c, which broke translation of
8195    numeric keypad codes to pageup, pagedown, etc., on 64-bit
8196    platform (Debian #511138, report by Larry Doolittle).</li>
8197  </ul>
8198
8199  <h1><a name="xterm_238" id="xterm_238">Patch #238 -
8200  2008/12/30</a></h1>
8201
8202  <ul>
8203    <li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
8204    platforms.</li>
8205
8206    <li>reset the screen wrapping-flag at the end of
8207    <code>ClearRight</code> to fix an occasional case where the
8208    last character of a scrolled and wrapped line would be cleared
8209    (patch by Joe Peterson).</li>
8210
8211    <li>modify to use POSIX coding for comparing resource settings
8212    such as <code>locale</code>, to work with locales such as
8213    Turkish (report by M Vefa Bicakci).</li>
8214
8215    <li>turn on configure <code>paste64</code> feature by default
8216    (request by Jean-Philippe Bernardy). It is runtime
8217    enabled/disabled with <code>allowWindowOps</code>.</li>
8218
8219    <li>turn on configure <code>tcap-query</code> feature by
8220    default, add resource <code>allowTcapOps</code> to make this
8221    runtime enabled/disabled.</li>
8222
8223    <li>make <code>OSC 3</code> (change X property, from <a href=
8224    "#xterm_110">patch #110</a>) subject to
8225    <code>allowWindowOps</code> resource.</li>
8226
8227    <li>make VT220 <code>DSR</code> responses inactive in
8228    VT100-mode.</li>
8229
8230    <li>make <code>DECUDK</code> feature inactive in
8231    VT100-mode.</li>
8232
8233    <li>respond to incorrectly formatted <code>DECRQSS</code> with
8234    a cancel.</li>
8235
8236    <li>add <code>allowFontOps</code> resource to allow the
8237    fontsize-switching and font query/set control sequences to be
8238    enabled/disabled (prompted by Debian #510030).</li>
8239
8240    <li>some code cleanup based on gcc 4.x
8241    <code>-Wconversion</code> warnings in button.c and
8242    charproc.c</li>
8243
8244    <li>modify <code>tcap-query</code> feature to not return data
8245    for shifted cursor-keys when the keyboard type is set to vt220,
8246    since returning the same string for shifted/unshifted keys may
8247    confuse some applications (Gentoo #212546).</li>
8248  </ul>
8249
8250  <h1><a name="xterm_237" id="xterm_237">Patch #237 -
8251  2008/09/14</a></h1>
8252
8253  <ul>
8254    <li>improve usability of TrueType fonts by making the font-size
8255    switching for shifted keypad plus/minus use the
8256    <code>faceSize</code> resources to determine the order of fonts
8257    (when TrueType fonts are used) rather than the bitmap fonts,
8258    since their sizes may not be in the same order (report by H
8259    Merijn Brand)</li>
8260
8261    <li>remove an optimization of <code>ConfigureNotify</code>
8262    events from <a href="#xterm_236">patch #236</a> which seems to
8263    interfere with passing <code>SIGWINCH</code> to applications
8264    (Gentoo #233836).</li>
8265
8266    <li>modify handling of <code>altSendsEscape</code> to reset the
8267    <code>eightBitInput</code> mode, like
8268    <code>metaSendsEscape</code> (patch by Ted Phelps).</li>
8269
8270    <li>add feature to show the text-cursor as an underline rather
8271    than a box, plus command-line options <code>-uc</code> and
8272    <code>+uc</code> and resource <code>cursorUnderLine</code> to
8273    control the feature (patch by Paul Lampert).</li>
8274
8275    <li>update config.guess, config.sub</li>
8276  </ul>
8277
8278  <h1><a name="xterm_236" id="xterm_236">Patch #236 -
8279  2008/07/27</a></h1>
8280
8281  <ul>
8282    <li>correct memory reallocation when handling a paste of UTF-8
8283    text from <a href="#xterm_225">patch #225</a> changes
8284    (report/patch by Max Mikhanosha).</li>
8285
8286    <li>correct allocation of temporary buffer in
8287    <code>xtermFindShell</code> in case the user's
8288    <code>$PATH</code> contains no ":" (report/analysis by Victor
8289    Stinner, Freedesktop.Org Bugzilla #16790).</li>
8290
8291    <li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to
8292    fix new compile problem exposed by fix for fd_mask (patch by
8293    Hasso Tepper).</li>
8294
8295    <li>add configure-check for ncurses
8296    <code>use_extended_names</code>, (report by Martin
8297    Mokrejs).</li>
8298
8299    <li>correct computation for toolbar height; layout manager
8300    already takes into account <code>borderWidth</code>
8301    resource.</li>
8302
8303    <li>implement VT320-style SCS (select character set) for ISO
8304    Latin-1 supplemental.</li>
8305
8306    <li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu
8307    #230919).</li>
8308
8309    <li>fix to make <code>luit</code> work with xterm's
8310    <code>-ls</code> option (report/patch by Marius Tolzmann).</li>
8311
8312    <li>update config.guess, config.sub</li>
8313  </ul>
8314
8315  <h1><a name="xterm_235" id="xterm_235">Patch #235 -
8316  2008/04/20</a></h1>
8317
8318  <ul>
8319    <li>add control sequences for some of the recent resource/menu
8320    settings:
8321      <ul>
8322        <li><code>altSendsEscape</code> (private mode 1039)</li>
8323
8324        <li><code>keepSelection</code> (private mode 1040)</li>
8325
8326        <li><code>selectToClipboard</code> (private mode 1041)</li>
8327
8328        <li><code>bellIsUrgent</code> (private mode 1042)</li>
8329
8330        <li><code>popOnBell</code> (private mode 1043)</li>
8331      </ul>
8332    </li>
8333
8334    <li>add resource <code>formatOtherKeys</code> to provide an
8335    alternate escape sequence format for the
8336    <code>modifyOtherKeys</code> resource (request by Paul LeoNerd
8337    Evans).</li>
8338
8339    <li>adjust saved-cursor position if the window is resized while
8340    displaying the alternate screen (Novell #196880, Debian
8341    #383384).</li>
8342
8343    <li>improve pointer-checks to fix a bug exposed by resizing
8344    during initialization under StumpWM window manager (Fedora
8345    Bugzilla #437928).</li>
8346
8347    <li>modify <code>unselectwindow()</code> to ensure that the
8348    mouse pointer is not hidden after xterm loses focus (report by
8349    Jeremy Huddleston).</li>
8350
8351    <li>add special check for fd_mask on Mac OS X (report by Jeremy
8352    Huddleston).</li>
8353
8354    <li>add <code>dylib</code> to autoconf's suffix list used for
8355    checking the result from <code>xmkmf</code>, to work with Mac
8356    OS X (report by Jeremy Huddleston).</li>
8357
8358    <li>correct initialization of bold- and wide-, wide-bold fonts
8359    which may be set via the <code>utf8Fonts</code> subresource
8360    (Debian #347790).</li>
8361  </ul>
8362
8363  <h1><a name="xterm_234" id="xterm_234">Patch #234 -
8364  2008/03/02</a></h1>
8365
8366  <ul>
8367    <li>modify <code>sinstall.sh</code> to use POSIX locale to
8368    bypass GNU ls changes to date-format.</li>
8369
8370    <li>improved/refined changes for closing bitmap font (patch by
8371    Andrea Odetti).</li>
8372
8373    <li>improve resize computation for situations where the
8374    negotiation fails, by invoking the xterm widget's core-class
8375    resize method (Debian #365602, patch by Jim Paris).</li>
8376
8377    <li>restore initialization of terminal's <code>VMIN</code> and
8378    <code>VTIME</code> settings, from <a href="#xterm_232">patch
8379    #232</a> changes (patch by Matthieu Herrb).</li>
8380  </ul>
8381
8382  <h1><a name="xterm_233" id="xterm_233">Patch #233 -
8383  2008/02/24</a></h1>
8384
8385  <ul>
8386    <li>add configure check for <code>ttydefaults.h</code>, include
8387    if needed, e.g., for systems where defining
8388    <code>_POSIX_C_SOURCE</code>, etc., prevents it from being
8389    included via <code>termios.h</code> (prompted by comments by
8390    Robert Delius Royar and Jeremy Huddleston).</li>
8391
8392    <li>bug-fixes for bugs.opensolaris.org (patches from Alan
8393    Coopersmith)
8394      <dl>
8395        <dt>4029911</dt>
8396
8397        <dd>fix a typo in manpage</dd>
8398
8399        <dt>4045962</dt>
8400
8401        <dd>xterm doesn't properly set ut_syslen</dd>
8402
8403        <dt>4192572</dt>
8404
8405        <dd>left-left-right misinterpreted as triple click</dd>
8406      </dl>
8407    </li>
8408
8409    <li>minor optimization to tab-initialization (patch by
8410    N&eacute;meth M&aacute;rton).</li>
8411
8412    <li>fix a case where an incorrect font was freed during
8413    initialization from <a href="#xterm_232">patch #232</a> changes
8414    (patch by Andrea Odetti).</li>
8415
8416    <li>improve comparison used in <code>SameFont</code> function
8417    for GC-caching (Julien Cristau).</li>
8418
8419    <li>correct macro name used for default <code>CKILL</code>
8420    definition to work with Mac OS X (report by Jeremy
8421    Huddleston).</li>
8422  </ul>
8423
8424  <h1><a name="xterm_232" id="xterm_232">Patch #232 -
8425  2008/01/30</a></h1>
8426
8427  <ul>
8428    <li>corrected logic in a font-cache used for reverse-video
8429    (Debian #404079).</li>
8430
8431    <li>add control sequence to alter <code>pointerMode</code> at
8432    runtime.</li>
8433
8434    <li>add limit-checks for rectangle operation parameters (report
8435    by Martin Pirker).</li>
8436
8437    <li>modify <code>minstall.sh</code> to suppress
8438    <code>$MANPAGER</code> and <code>$PAGER</code> environment
8439    variables, which may interfere with redirecting output of
8440    <code>man</code> to a shell variable (report/patch by Zdenek
8441    Sekera).</li>
8442
8443    <li>do not try to hide mouse pointer in the tek4014 window,
8444    fixes broken "-t" option at startup from <a href=
8445    "#xterm_230">patch #230</a> changes (report by Robert K.
8446    Nelson).</li>
8447
8448    <li>correct datatype used when drawing tek4014 data using xterm
8449    compiled for wide-characters, on big-endian machines (reports
8450    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel,
8451    Merle Reinhart).</li>
8452
8453    <li>modify to cache the font-names along with the bitmap font
8454    data, to improve comparison of fonts.</li>
8455
8456    <li>modify to allow building with configure options
8457    <code>--disable-ansi-color</code> and
8458    <code>--disable-leaks</code> (Debian #459817, report/patch by
8459    N&eacute;meth M&aacute;rton).</li>
8460
8461    <li>modify to allow building with configure options
8462    <code>--enable-wide-chars</code> and
8463    <code>--disable-c1-print</code> (Debian #459816, report/patch
8464    by N&eacute;meth M&aacute;rton).</li>
8465
8466    <li>add <code>pointerMode</code> resource to control whether
8467    and when the pointer cursor is hidden as the user types.</li>
8468
8469    <li>simplify initialization of ttyMode- and related characters
8470    using a table.</li>
8471
8472    <li>modify initialization-logic for stty values that correspond
8473    to ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp,
8474    rprnt flush, werase, lnext). These were reset to constants for
8475    both termios and legacy interfaces immediately after asking the
8476    system for the existing values since X11R6.1, rather than using
8477    them to provide inherited values. While the legacy interface
8478    has some constraints, e.g., on HPUX, the POSIX or termios
8479    interface should not. Your shell may reset these anyway
8480    (prompted by patch by Ed Schouten).</li>
8481
8482    <li>improve logic for hiding/displaying pointer-cursor (report
8483    by Mark Brukhartz).</li>
8484
8485    <li>add limit-checks to tabs.c, increase maximum column for
8486    setting tab-stops from 320 to 1024 (report by N&eacute;meth
8487    M&aacute;rton).</li>
8488
8489    <li>correct length, i.e., number of types of selection targets,
8490    computed by <code>ConvertSelection()</code> when not handling
8491    wide characters for the <code>XA_TARGETS()</code> case. This
8492    leaves an extra Atom on the end of the list which is not
8493    handled by <a href=
8494    "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java
8495    applications</a>. The problem was introduced in <a href=
8496    "#xterm_151">patch #151</a> (report by David Wood).</li>
8497  </ul>
8498
8499  <h1><a name="xterm_231" id="xterm_231">Patch #231 -
8500  2008/01/05</a></h1>
8501
8502  <ul>
8503    <li>undo change to <code>getXtermCell()</code> from patch #230
8504    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
8505    Caetano Jimenez Carezzato).</li>
8506
8507    <li>minor documentation fixes (patch by Slava Semushin)</li>
8508
8509    <li>add makefile actions to install KOI8RXTerm app-defaults
8510    file (patch by Julien Cristau).</li>
8511  </ul>
8512
8513  <h1><a name="xterm_230" id="xterm_230">Patch #230 -
8514  2007/12/31</a></h1>
8515
8516  <ul>
8517    <li>add <code>quietGrab</code> resource, which when true,
8518    suppresses cursor repainting when <code>NotifyGrab</code> and
8519    <code>NotifyUngrab</code> event types are received during
8520    change of focus (request by Nicolas George).</li>
8521
8522    <li>do not treat Unicode BIDI control characters as combining
8523    characters (Debian #457634).</li>
8524
8525    <li>add <code>koi8rxterm</code>, from Debian.</li>
8526
8527    <li>add manpage for <code>uxterm</code>, from Debian (Ubuntu
8528    #128136, Debian #438645)</li>
8529
8530    <li>remove ".xpm" suffixes from Icon filenames in desktop files
8531    since it confuses some lookups following the <a href=
8532    "http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">
8533    Icon Theme Specification</a> (report by Slava Semushin)</li>
8534
8535    <li>correct width-calculation used for adjusting proportional
8536    fonts, to work with wide-characters (Debian #441354).</li>
8537
8538    <li>fixes/improvements for double-size characters:
8539      <ul>
8540        <li>correct old clipping calculation which used total
8541        height of glyphs where ascent was needed.</li>
8542
8543        <li>if bold font is unavailable, fall back to normal
8544        font</li>
8545
8546        <li>adjust to "work" with Xft (which does not support
8547        double-width single-height characters).</li>
8548
8549        <li>restore reset of doublesize for a line when it is
8550        cleared, broken in <a href="#xterm_228">patch
8551        #228</a>.</li>
8552      </ul>
8553    </li>
8554
8555    <li>modify logic for <code>forceBoxChars</code> resource when
8556    using TrueType fonts to be consistent with bitmap fonts</li>
8557
8558    <li>modify logic for <code>forceBoxChars</code> resource to
8559    make the "Line-Drawing Characters" menu entry use xterm's
8560    line-drawing characters even asked to draw wide line-drawing
8561    characters which are available in the font.</li>
8562
8563    <li>modify rectangle-support functions to preserve colors when
8564    filling/erasing to match WRQ Reflection behavior (request by
8565    Enzo Toscano).</li>
8566
8567    <li>add getopt-parsing to tcapquery.pl, including feature to
8568    test the extended cursor/editing keys.</li>
8569
8570    <li>make missing double-width glyphs display as double-width
8571    (Debian #456236).</li>
8572
8573    <li>change <code>tcap-fkeys</code> and <code>rectangles</code>
8574    configure options to enable them by default.</li>
8575
8576    <li>hide the mouse pointer while user is typing (request by
8577    Rodolfo Borges).</li>
8578
8579    <li>extend configure options <code>--enable-tcap-query</code>
8580    and <code>--enable-tcap-fkeys</code> to send cursor- and
8581    editing-keypad keys modified according to the keyboard (or
8582    termcap) selection for shift, alt, control, meta.</li>
8583
8584    <li>modify <code>kdch1</code> in termcap, e.g.,
8585    <code>xterm-r6</code> to match the terminfo file.</li>
8586
8587    <li>add <code>-hm</code> option to turn
8588    <code>highlightColorMode</code> on or off.</li>
8589
8590    <li>add <code>highlightColorMode</code> resource to separate
8591    the new (since <a href="#xterm_225">patch #225</a>)
8592    highlighting with both text- and background-colors (prompted by
8593    report/example by Thomas Wolff).</li>
8594
8595    <li>add <em>Keep Selection</em> menu entry to turn the
8596    <code>keepSelection</code> resource on/off at runtime.</li>
8597
8598    <li>add <code>keepSelection</code> resource, which when
8599    enabled, tells xterm to retain the X selection even after it
8600    stops highlighting it (patch by Sergey Vlasov).</li>
8601
8602    <li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to
8603    allow disabling all types of modified-keys that the
8604    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.</li>
8605
8606    <li>move include for <code>&lt;xtermcap.h&gt;</code> in
8607    <code>resize.c</code> to avoid redefinition of
8608    <code>termios</code> structure on OpenSolaris (report by Rahul
8609    Gopinathan Nair).</li>
8610
8611    <li>extend terminfo building blocks for modified editing keys
8612    to include all six keys.</li>
8613
8614    <li>synchronize terminfo with ncurses (report by Stephane
8615    Chazelas)
8616      <ul>
8617        <li>equate <code>xterm-xfree86</code> and
8618        <code>xterm-xf86-v44</code>.</li>
8619
8620        <li>add ncurses extensions OTbs, AX, for termcap
8621        conversions.</li>
8622
8623        <li>make old/legacy entries such as <code>xterm-24</code>,
8624        <code>xterm-65</code> and aliases <code>xterms</code>,
8625        <code>vs100</code> inherit from
8626        <code>xterm-old</code>.</li>
8627
8628        <li>make <code>xterm-r5</code> and <code>xterm-r6</code>
8629        the same, ignoring historical errors in X Consortium's
8630        version.</li>
8631      </ul>
8632    </li>
8633
8634    <li>fix an ifdef in logic for selecting regular expressions
8635    while in a narrow-character locale (Debian #449227).</li>
8636  </ul>
8637
8638  <h1><a name="xterm_229" id="xterm_229">Patch #229 - 2007/8/12</a></h1>
8639
8640  <ul>
8641    <li>override locale in minstall.sh; change in <a href=
8642    "#xterm_226">patch #226</a> does not work in UTF-8 locale
8643    (report by Zdenek Sekera).</li>
8644
8645    <li>undo an incorrect fix for a memory leak in <a href=
8646    "#xterm_209">patch #209</a> (Debian #435858).</li>
8647  </ul>
8648
8649  <h1><a name="xterm_228" id="xterm_228">Patch #228 - 2007/7/22</a></h1>
8650
8651  <ul>
8652    <li>modify configure script to permit combining
8653    <code>--with-utempter</code> and <code>--enable-setuid</code>,
8654    e.g., for using xterm with the utempter library on FreeBSD
8655    (report by Andriy Gapon).</li>
8656
8657    <li>modify "Quit" menu entry to override the <code>-hold</code>
8658    command-line option.</li>
8659
8660    <li>add a check in the startup error-reporting to avoid writing
8661    to pipe when it has not been opened. In that case, report
8662    errors directly to the standard error.</li>
8663
8664    <li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
8665    <a href="#xterm_205">patch #205</a> (report by Kalle Olavi
8666    Niemitalo).</li>
8667
8668    <li>modify <code>88colors2.pl</code> and
8669    <code>256colors2.pl</code>, adding <code>-r</code> option to
8670    reverse the palettes for the extended colors.</li>
8671
8672    <li>check for partial overwrite or deletion of multi-column
8673    characters in several cases, e.g., insert-character,
8674    delete-character, etc., and fill the remainder of the cells
8675    used by the multi-column characters affected with blanks.</li>
8676
8677    <li>correct character-class codes in wide-character mode for
8678    characters 215, 247 (see also <a href="#xterm_165">patch
8679    #165</a>).</li>
8680
8681    <li>fix missing assignment for UTF-8 parsing in widget
8682    initialization (Debian #403360).</li>
8683
8684    <li>correct index expression used to set line-wrapping flag,
8685    making selection from scrollback work consistently (Debian
8686    #430121, report by Vincent Lef&egrave;vre).</li>
8687
8688    <li>amend changes to handshake in <a href="#xterm_226">patch
8689    #226</a> to accommodate Solaris, which relies on the extra
8690    setting of the terminal size after I/O initialization. Do this
8691    by adding new resource <code>ptySttySize</code>, which is false
8692    for Linux and MacOS X, i.e., true for for Solaris and other
8693    SVR4 platforms, as well as FreeBSD (reports by David Wood,
8694    Renato Botelho).</li>
8695
8696    <li>check for X events after cursor-left, and carriage return,
8697    consistent with indexing operations (comments by Vegard Nossum
8698    and Ingo Molnar on a mailing-list).</li>
8699
8700    <li>initialize the <code>.keyboard</code> structure, needed for
8701    some platforms (such as Solaris) after <a href=
8702    "#xterm_227">patch #227</a> fixes for keysyms (patch by David
8703    Wood).</li>
8704
8705    <li>update config.guess, config.sub</li>
8706  </ul>
8707
8708  <h1><a name="xterm_227" id="xterm_227">Patch #227 - 2007/6/27</a></h1>
8709
8710  <ul>
8711    <li>exclude the Intel compiler from the extra gcc warning
8712    options added in <a href="#xterm_226">patch #226</a>.</li>
8713
8714    <li>modify change for Debian #422521 from <a href=
8715    "#xterm_226">patch #226</a> to work with configurations where
8716    the X server does not recognize the <code>XF86Paste</code> or
8717    <code>SunPaste</code> keysyms (report by Paolo Pumilia).</li>
8718
8719    <li>fix incorrect free in fix for "Selection" menu entry in
8720    <a href="#xterm_226">patch #226</a>.</li>
8721  </ul>
8722
8723  <h1><a name="xterm_226" id="xterm_226">Patch #226 - 2007/6/17</a></h1>
8724
8725  <ul>
8726    <li>add configure check to use
8727    <code>-Wno-unknown-pragmas</code> for Solaris, and a few other
8728    new gcc warning options to address regressions in its warning
8729    options.</li>
8730
8731    <li>add sample desktop and icon files, along with configure
8732    options for manipulating them.</li>
8733
8734    <li>fix an infinite loop when showing a 2-column character in a
8735    1-column screen (Debian #426863).</li>
8736
8737    <li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
8738    default translations (Debian #422521, patch by Bernhard R
8739    Link).</li>
8740
8741    <li>update wcwidth.c (partly based on/prompted by mailing list
8742    comment).</li>
8743
8744    <li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and
8745    Xorg 7.1 keysymdef.h file.</li>
8746
8747    <li>improve <code>gen-pc-fkeys.pl</code>, making it show all of
8748    the building-block terminfo entries used by xterm.</li>
8749
8750    <li>correct strings used for modifiers applied to F1-F4 in
8751    xterm+pcf1 terminfo entry.</li>
8752
8753    <li>improve session management by adding the ICE connection
8754    number to the <code>select</code> call rather than waking up
8755    once per second (patch by Miroslav Lichvar).</li>
8756
8757    <li>add environment variable <code>$XTERM_LOCALE</code> to help
8758    with shell initialization, e.g., to set a specific locale for
8759    xterm on systems where a global locale is set in the shell
8760    startup scripts.</li>
8761
8762    <li>add resource settings <code>mkSampleSize</code> and
8763    <code>mkSamplePass</code> to modify the <code>mkWidth</code>
8764    added in <a href="#xterm_201">patch #201</a>. In <a href=
8765    "#xterm_202">patch #202</a>, xterm would also check if the
8766    system's <code>wcwidth</code> matched its built-in tables "well
8767    enough" to be used when <code>mkWidth</code> was false, and if
8768    not would use the built-in tables anyway. These resources allow
8769    the user to customize the decision (prompted by comments by
8770    Emanuele Giaquinta)</li>
8771
8772    <li>modify logic which resets/updates the screensize on the
8773    child process side of the pseudo-terminal to do this only if a
8774    successful handshake was received, e.g., as determined by the
8775    <code>waitForMap</code> resource (prompted by reports by
8776    Emanuele Giaquinta and Bernhard R Link, but see also <a href=
8777    "#xterm_177">patch #177</a> and <a href="#xterm_159">patch
8778    #159</a>.</li>
8779
8780    <li>improve permissions logic when closing pseudo-terminal
8781    (Debian #12261, patch by Nathanael Nerode, analysis by Richard
8782    Braakman).</li>
8783
8784    <li>add resource <code>highlightReverse</code> which controls
8785    whether xterm will allow selection highlighting to hide
8786    reverse-video or use the older behavior which inverts the
8787    foreground and background colors when selected text with
8788    reverse-video attribute (report by Adam M Costello, comments by
8789    Victor Vaile).</li>
8790
8791    <li>restore a special case for cursor-color in
8792    <code>ReverseVideo()</code> lost in rewrite for <a href=
8793    "#xterm_224">patch #224</a> (report by Adam Sulmicki).</li>
8794
8795    <li>correct initialization for menu entry for
8796    <code>bellIsUrgent</code> (patch by Emanuele Giaquinta).</li>
8797
8798    <li>correct length of underlining for double-width Xft fonts
8799    (report by Shidai Liu "Leo").</li>
8800
8801    <li>correct clipping for double-width Xft fonts (report by
8802    Shidai Liu "Leo").</li>
8803
8804    <li>modify initialization for <code>italicULMode</code> to
8805    avoid <code>XftPatternBuild</code> reusing bold attributes
8806    (report by Shidai Liu "Leo").</li>
8807
8808    <li>add a check in case someone tries to call the
8809    <code>popup-menu()</code> action on a menu which is not
8810    initialized (Debian #426364).</li>
8811
8812    <li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by
8813    Peter Bray).</li>
8814
8815    <li>improve guess for X's manpage section in
8816    <code>minstall.sh</code>, (prompted by comment by Miroslav
8817    Lichvar).</li>
8818
8819    <li>modify <code>minstall.sh</code> to handle manpage patch
8820    with more than one dot (patch by Miroslav Lichvar).</li>
8821
8822    <li>fix configure message for --disable-setgid option (patch by
8823    Miroslav Lichvar).</li>
8824
8825    <li>add <code>allowTitleOps</code> resource to allow users to
8826    prevent the title- and icon-names from changing (request by
8827    John Bashinski).</li>
8828
8829    <li>fix "spawn-new-terminal" action, for the case where no
8830    parameter is passed to the action (patch by Daniel
8831    Colascione).</li>
8832
8833    <li>fix error-checking on internal font switching for
8834    "Selection" menu entry (Debian #421523).</li>
8835
8836    <li>amend select/paste change from <a href="#xterm_225">patch
8837    #225</a> by limiting it to non-UTF-8/non-KOI8-R encoding
8838    (Debian #420974).</li>
8839
8840    <li>add workaround for groff ".URL" codes which are not present
8841    in some commonly-used bitmap fonts (Debian #418324).</li>
8842  </ul>
8843
8844  <h1><a name="xterm_225" id="xterm_225">Patch #225 - 2007/3/24</a></h1>
8845
8846  <ul>
8847    <li>add <code>useClipping</code> resource to allow clipping to
8848    be disabled.</li>
8849
8850    <li>use <code>XftDrawSetClipRectangles</code> to work around
8851    Xft pixel-trash (report by Reuben Thomas).</li>
8852
8853    <li>add configure option <code>--enable-tcap-fkeys</code>, and
8854    resource <code>tcapFunctionKeys</code>, which can be used to
8855    tell xterm to use function-key definitions from the termcap (or
8856    terminfo) which it uses to set $TERM on startup.</li>
8857
8858    <li>add resources <code>altIsNotMeta</code> and
8859    <code>altSendsEscape</code> to allow one to use Alt-keys like
8860    the meta-key even if they are bound to different keycodes
8861    (prompted by discussion with Daniel Jacobowitz).</li>
8862
8863    <li>revert a change from <a href="#xterm_216">patch #216</a>
8864    that unnecessarily made the meta modifier override the
8865    <code>eightBitInput</code> resource if the alt- and
8866    meta-modifiers happened to overlap (report/patch by Daniel
8867    Jacobowitz).</li>
8868
8869    <li>correct associated font for active icon for colored text
8870    (broken in <a href="#xterm_224">patch #224</a>).</li>
8871
8872    <li>correct ifdef's for Darwin (patch by Emanuele
8873    Giaquinta).</li>
8874
8875    <li>add <code>highlightTextColor</code> resource, and options
8876    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
8877    (adapted from patch by Victor Vaile).</li>
8878
8879    <li>revise <code>find_closest_color()</code> function to
8880    address concern about borrowing from <code>Tcl/Tk</code>
8881    (request by Dan McNichol).</li>
8882
8883    <li>add "spawn-new-terminal" action, which can be assigned to
8884    key translation, allowing one to spawn a new copy of xterm
8885    using the current process's working directory (adapted from
8886    patch by Daniel Colascione).</li>
8887
8888    <li>improve select/paste between UTF-8 and Latin1 xterms by
8889    adapting the translations from <a href="#xterm_185">patch
8890    #185</a>. Extend that to include Unicode fullwidth forms
8891    FF00-FF5E. Also modify select/paste of DEC line-drawing
8892    characters in Latin1 mode to use ASCII characters.</li>
8893
8894    <li>add "Enable Bell Urgency" to VT Options menu, removed
8895    "Enable Margin Bell".</li>
8896
8897    <li>add <code>bellIsUrgent</code> resource to control whether
8898    the Urgency hint is set/reset.</li>
8899
8900    <li>modify to set Urgency window manager hint on bell, reset it
8901    on Focus-In event (patch by Emanuele Giaquinta).</li>
8902
8903    <li>add <code>--disable-setgid</code> configure option (request
8904    by Miroslav Lichvar).</li>
8905
8906    <li>fix a possible infinite loop in last change to
8907    <code>dabbrev-expand()</code> (patch by Emanuele
8908    Giaquinta).</li>
8909
8910    <li>modify initialization to set the pty erase value if the
8911    <code>erase</code> is set in the <code>ttyModes</code>
8912    resource. This overrides the <code>ptyInitialErase</code>
8913    setting (request by Llu&iacute;s Batlle i Rossell).</li>
8914
8915    <li>add <code>initialFont</code> resource to xterm widget, like
8916    tek-widget (Debian #299669).</li>
8917
8918    <li>amend change to <code>boldMode</code> from <a href=
8919    "#xterm_223">patch #223</a> for Debian #347790. As noted in
8920    Debian #412599, that made xterm no longer match the documented
8921    behavior. Add new resource <code>alwaysBoldMode</code> to allow
8922    overriding the comparison between normal/bold fonts when
8923    deciding whether to use overstriking to simulate bold
8924    fonts.</li>
8925
8926    <li>restore background color in ClearCurBackground(), omitted
8927    in changes for <a href="#xterm_223">patch #223</a> (report by
8928    Miroslav Lichvar).</li>
8929
8930    <li>correct logic for repainting double-width TrueType
8931    characters (prompted by test-case for Novell #246573).</li>
8932
8933    <li>add a check to avoid trying to repeat a multibyte character
8934    (report by Sami Farin).</li>
8935
8936    <li>modify parameter to <code>XftNameParse()</code> to select
8937    wide face-name as needed, to make <code>-fd</code> option work
8938    (patch by Mike Fabian, Novell #246573).</li>
8939
8940    <li>correct logic for mouse highlight tracking's abort
8941    sequence, broken in a restructuring modification from <a href=
8942    "#xterm_224">patch #224</a> (report by Thomas Wolff).</li>
8943
8944    <li>revert the simplification of blinking cursor, since that
8945    broke the xor'ing introduced in <a href="#xterm_193">patch
8946    #193</a> (report by Thomas Wolff).</li>
8947  </ul>
8948
8949  <h1><a name="xterm_224" id="xterm_224">Patch #224 - 2007/2/11</a></h1>
8950
8951  <ul>
8952    <li>simplify code for set/reset mode for blinking cursor (patch
8953    by Emanuele Giaquinta).</li>
8954
8955    <li>modify <code>dabbrev-expand()</code> to restart after the
8956    last match (patch by Emanuele Giaquinta).</li>
8957
8958    <li>add control sequences for enabling/disabling focus in/out
8959    event reporting (request by Bram Moolenaar).</li>
8960
8961    <li>improve startup performance of menus by adding resource
8962    setting <code>menuLocale</code> which can be set to override
8963    X's lengthy initialization of fontsets - which are seldom used
8964    for the <code>Xaw</code> popup menus (adapted from patch by
8965    Dave Coffin).</li>
8966
8967    <li>modify <code>do_precomposition()</code> function and
8968    <code>make-precompose.sh</code> to handle 21-bit codes vs the
8969    16-bit codes those were written for, and fix a few mis-sorted
8970    codes (patch by Thomas Wolff).</li>
8971
8972    <li>handle special case in <code>-cjk_width</code> which
8973    unexpectedly caused a character's width to change when a
8974    combining character (patch by Thomas Wolff)</li>
8975
8976    <li>fix build for GNU/KFreeBSD (Debian #40111).</li>
8977
8978    <li>consolidate GC creation/updating into a single module to
8979    reduce GC manipulation (prompted by Debian #389476, though a
8980    complete fix would involve optimizing the scrolling
8981    behavior).</li>
8982
8983    <li>fix ifdef of xtermCellWidth(), which broke for a case
8984    without TrueType and without wide-character support (report by
8985    Martin Pirker).</li>
8986
8987    <li>undo a comparison in
8988    <code>handle_translated_exposure</code> which did not work due
8989    to X server optimization. That caused the inner border to be
8990    repainted with unexpected colors when handling a repaint, e.g.,
8991    after switching to/from another workspace (Debian #401726,
8992    Redhat Bugzilla #223027).</li>
8993
8994    <li>allow <code>-cr</code> option to override cursor color when
8995    <code>-ah</code> option is used (Debian #406502).</li>
8996
8997    <li>add a note in xterm's manpage explaining that the
8998    <code>-bw</code> (or <code>-w</code>) option is only used by
8999    the window manager, if at all (Debian #405043).</li>
9000
9001    <li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code>
9002    work with <code>selectToClipboard</code> resource.</li>
9003
9004    <li>correct length calculation for <code>Selection</code> entry
9005    of <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
9006    actual selection length since X11R4.</li>
9007
9008    <li>fixes for fontsize changes with <code>-fa</code> option
9009    (Redhat Bugzilla #222340).</li>
9010  </ul>
9011
9012  <h1><a name="xterm_223" id="xterm_223">Patch #223 -
9013  2006/11/30</a></h1>
9014
9015  <ul>
9016    <li>add <code>--enable-rectangles</code> configure option
9017    (request by Martin Pirker).</li>
9018
9019    <li>correct default value for <code>--with-symlink</code>
9020    configure option.</li>
9021
9022    <li>fixes configure script macros that use
9023    <code>$X_EXTRA_LIBS</code>.</li>
9024
9025    <li>modify configure script to provide support for pre-package
9026    config versions of Xft aka "FreeType".</li>
9027
9028    <li>add the Xaw scrollbar translations resource to the xterm
9029    manpage, add an example showing how to change the mouse button
9030    assignments (Debian #382225).</li>
9031
9032    <li>amend a change from <a href="#xterm_216">patch #216</a>,
9033    which omitted modifiers for control, meta, etc., if they were
9034    mixed with any other modifiers. The intent of the change was to
9035    avoid confusion with <code>XK_Mode_switch</code> and
9036    <code>XK_ISO_Level3_Shift</code>; the check is now done
9037    explicitly (report by Daniel Jacobowitz).</li>
9038
9039    <li>interpret a negative value for
9040    <code>modifyCursorKeys</code> or
9041    <code>modifyFunctionKeys</code> resources to disable the
9042    respective features (prompted by Novell #220728).</li>
9043
9044    <li>amend cell-width computation for FreeType from <a href=
9045    "#xterm_217">patch #217</a>, which did not work for VT100
9046    line-drawing characters (Debian #399638, Gentoo #147111).</li>
9047
9048    <li>amend a change from <a href="#xterm_216">patch #216</a>,
9049    which made alt-modifier on a cursor-key send a modifier
9050    parameter (Novell #220728).</li>
9051
9052    <li>correct an off-by-one that made DECCRA not work
9053    (report/patch by Martin Pirker).</li>
9054
9055    <li>revert an optimization in SGR_Foreground() and
9056    SGR_Background from <a href="#xterm_209">patch #209</a> (Debian
9057    #347722, analysis by Pierre Lombard).</li>
9058
9059    <li>fix for <code>boldMode</code> (Debian #347790, patch by Tim
9060    Pope).</li>
9061
9062    <li>amend fix for <code>-iconic</code> in <a href=
9063    "#xterm_208">patch #208</a>, which broke the positioning part
9064    of <code>-geom</code> with toolbar configuration.</li>
9065
9066    <li>fix to prevent indexing error in regular expressions (patch
9067    by Dennis Schneider).</li>
9068
9069    <li>fixes to make the <code>internalBorder</code> area not
9070    change color due to reverseVideo and/or related exposure
9071    events. The latter was a very old bug exposed in <a href=
9072    "#xterm_196">patch #196</a> (report by Neil Hoggarth, also
9073    Debian #397624).</li>
9074  </ul>
9075
9076  <h1><a name="xterm_222" id="xterm_222">Patch #222 -
9077  2006/10/17</a></h1>
9078
9079  <ul>
9080    <li>minor optimization for recoloring cursor via dynamic
9081    colors.</li>
9082
9083    <li>fix a bug caused by restructuring of tek4014 widget (report
9084    by Paul Schenkeveld)</li>
9085  </ul>
9086
9087  <h1><a name="xterm_221" id="xterm_221">Patch #221 - 2006/10/1</a></h1>
9088
9089  <ul>
9090    <li>fix for regular expressions: the code which converted the
9091    column offset within a line did not check properly for the end
9092    of a line, and if allowed to match the whole line, would select
9093    the beginning of the following line. If the following line were
9094    empty, in turn it would select from the next, etc. (report by
9095    Sean Reifschneider).</li>
9096
9097    <li>minor optimization of color allocation to avoid repainting
9098    the screen if the corresponding color had not been
9099    allocated.</li>
9100
9101    <li>fixes for vttests/256colors.pl (report by Egmont
9102    Koblinger).</li>
9103
9104    <li>add terminfo building block entries for modifiers of the
9105    6-key editing keypad.</li>
9106
9107    <li>fix for initialization of tek4014 which broke on QNX
9108    6.1</li>
9109  </ul>
9110
9111  <h1><a name="xterm_220" id="xterm_220">Patch #220 - 2006/9/10</a></h1>
9112
9113  <ul>
9114    <li>make "xterm -t -iconic" work as expected, i.e., start in
9115    tek4014 mode, but iconified.</li>
9116  </ul>
9117
9118  <h1><a name="xterm_219" id="xterm_219">Patch #219 - 2006/9/4</a></h1>
9119
9120  <ul>
9121    <li>some internal restructuring to separate data for vt100 and
9122    tek4014 widgets.</li>
9123
9124    <li>fix a few cases where form-events would be seen by the
9125    vt100 widget when built with the toolbar configuration.</li>
9126  </ul>
9127
9128  <h1><a name="xterm_218" id="xterm_218">Patch #218 - 2006/8/27</a></h1>
9129
9130  <ul>
9131    <li>change behavior when encountering an illegal character in a
9132    title string. Rather than reject the string, translate illegal
9133    characters into "?" and use the string (requested by Thomas
9134    Wolff).</li>
9135
9136    <li>improve checks for nonprinting characters in title strings
9137    (report by Samuel Thibault).</li>
9138
9139    <li>correct typo in menu labels, changing
9140    <code>print-redirect</code> to <code>print-redir</code>, making
9141    it follow the manpage and match the usage for the actions table
9142    (report by Samuel Thibault).</li>
9143
9144    <li>correct a typo that prevents building with some older
9145    systems such as Solaris 2.6 (report by Julian Bridle).</li>
9146  </ul>
9147
9148  <h1><a name="xterm_217" id="xterm_217">Patch #217 - 2006/8/20</a></h1>
9149
9150  <ul>
9151    <li>minor improvements to FreeType font layout and
9152    drawing.</li>
9153
9154    <li>add a check in the ptyInitialErase logic to ensure that the
9155    termcap was read (Redhat Bugzilla #201246).</li>
9156
9157    <li>limit changes for reverse-video from <a href=
9158    "#xterm_216">patch #216</a> to cases where the reverse-video
9159    command-line option is used (report by Zdenek Sekera).</li>
9160
9161    <li>correct bitmap-derived pointsizes for TrueType fonts; they
9162    should be proportional to the square root of the area of the
9163    bitmap fonts.</li>
9164
9165    <li>add resources to specify pointsize of TrueType fonts
9166    (request by Reuben Thomas).</li>
9167
9168    <li>improve install of terminfo by filtering out harmless
9169    messages related to extended capabilities. At the same time,
9170    use ncurses tic to compile the extended capabilities if
9171    possible (report by Zdenek Sekera).</li>
9172
9173    <li>update "xterm+pcfkeys" terminfo entry to correspond to
9174    <a href="#xterm_216">patch #216</a>.</li>
9175  </ul>
9176
9177  <h1><a name="xterm_216" id="xterm_216">Patch #216 - 2006/8/3</a></h1>
9178
9179  <ul>
9180    <li>improve handling of <code>ConfigureNotify</code> events by
9181    checking if there are further events in the queue which
9182    obsolete the current one (adapted from rxvt 2.7.5). Only the
9183    normal normal (non-toolbar) configuration is addressed in this
9184    patch.</li>
9185
9186    <li>several changes to terminfo:
9187      <ul>
9188        <li>incorporate some minor changes from ncurses to help
9189        keep these synchronized:
9190          <dl>
9191            <dt>2005-02-26</dt>
9192
9193            <dd>modify sgr/sgr0 in xterm-new to improve tgetent's
9194            derived "me".</dd>
9195
9196            <dt>2006-02-18</dt>
9197
9198            <dd>remove ncv flag from xterm-16color</dd>
9199
9200            <dt>2006-06-24</dt>
9201
9202            <dd>improve xterm-256color by combining the 16-color
9203            setaf/setab strings with SGR 48, and cancelling the
9204            setf/setb strings.</dd>
9205          </dl>
9206        </li>
9207
9208        <li>use extended function-key definitions for xterm-sun,
9209        xterm-sco entries.</li>
9210
9211        <li>add terminfo building-blocks corresponding to the
9212        <code>modifyFunctionKeys</code> and
9213        <code>modifyCursorKeys</code> resources.</li>
9214      </ul>
9215    </li>
9216
9217    <li>ifdef'd Sun function-key feature to make it optional, like
9218    HP and SCO.</li>
9219
9220    <li>extend table for termcap-query feature through F63, and
9221    updated tcapquery.pl to match.</li>
9222
9223    <li>modify logic for function-key input processing to allow
9224    function key numbers which are constructed by control- and
9225    shift-modifiers to extend beyond X's hardcoded limit of
9226    35.</li>
9227
9228    <li>add control sequence to set or reset the
9229    <code>eightBitInput</code> resource.</li>
9230
9231    <li>change default resource <code>modifyFunctionKeys</code> to
9232    2 to avoid sending SS3 with parameters (report by Kalle Olavi
9233    Niemitalo).</li>
9234
9235    <li>add control sequences for setting and resetting the values
9236    of the <code>modifyCursorKeys</code>,
9237    <code>modifyFunctionKeys</code> and
9238    <code>modifyOtherKeys</code> resources.</li>
9239
9240    <li>add <code>modifyFunctionKeys</code> resource like
9241    <code>modifyCursorKeys</code>. Setting this to zero allows one
9242    to use the control- and shift-modifiers to construct function
9243    key strings, for terminals using many function keys, e.g., for
9244    <code>xterm-sun</code> or <code>xterm-sco</code>.</li>
9245
9246    <li>modify screen responses and function-key logic to reduce
9247    the number of writes made, to make it less likely that an
9248    application would read only part of a function-key in a read
9249    operation (suggested by John E Urbanczyk).</li>
9250
9251    <li>add <code>combiningChars</code> resource, which allows the
9252    user to specify the maximum number of combining characters that
9253    xterm will store for each cell in wide-character mode (prompted
9254    by request by Markus Kuhn to increase the limit from 2).</li>
9255
9256    <li>improve logic in <code>metaSendsEscape</code> in case the
9257    Alt- and Meta-keys are mapped to different modifiers. That
9258    allows one to use the Alt-key for shifting in the
9259    <code>eightBitInput</code> and use a Meta-key modifier to
9260    prefix the result with an <code>&lt;ESC&gt;</code>.</li>
9261
9262    <li>improve <code>modifyCursorKeys</code> logic to prevent it
9263    from modifying codes where <code>eightBitInput</code> or
9264    <code>metaSendsEscape</code> are set (request by Dan
9265    Nicolaescu).</li>
9266
9267    <li>improve <code>modifyCursorKeys</code> logic to prevent it
9268    from changing the user input when other modifiers such as AltGr
9269    are used (report by Thomas Wolff).</li>
9270
9271    <li>extend <code>modifyCursorKeys</code> to include the numeric
9272    keypad when in application mode.</li>
9273
9274    <li>improve <code>-reverse</code> (<code>-rv</code>) option
9275    (patch by Jason Vas Dias, Redhat #189161).</li>
9276
9277    <li>workaround for color resources on Fedora-5 which made the
9278    toolbar colors inconsistent.</li>
9279
9280    <li>corrected calls used for <code>--disable-setuid</code>
9281    option, add debugging traces to help diagnose this area.</li>
9282
9283    <li>modify configure script to ensure that
9284    <code>USE_UTMP_SETGID</code> is defined only if the check for
9285    POSIX saved-ids succeeds, or corresponds to one of the BSD
9286    systems known to have a workable <code>setegid</code>
9287    function.</li>
9288
9289    <li>extend configure check for POSIX saved-ids to include BSD
9290    systems</li>
9291
9292    <li>modify CF_SYSV configure macro to work with gcc on HPUX
9293    10.20, whose broken <code>&lt;term.h&gt;</code> relies on
9294    including <code>&lt;termios.h&gt;</code>.</li>
9295
9296    <li>change order of setuid/setgid ifdef checks in Imakefile to
9297    make it simpler to produce a setgid install, allowing the
9298    latter to override the former (prompted by an XFree86
9299    commit).</li>
9300
9301    <li>adapt a fix for setgid support from subsequent XFree86
9302    changes (patch by Emanuele Giaquinta).</li>
9303
9304    <li>further improve setgid support (patches by Emanuele
9305    Giaquinta).</li>
9306  </ul>
9307
9308  <h1><a name="xterm_215" id="xterm_215">Patch #215 - 2006/6/19 -
9309  XFree86 4.6.99.2</a></h1>
9310
9311  <ul>
9312    <li>improve setgid support by exploiting the saved-ids feature
9313    on which it relies (patch by Emanuele Giaquinta).</li>
9314
9315    <li>make the <code>modifyOtherKeys</code> resource disabled by
9316    default since the intermediate setting altered some common
9317    bindings (report by Emanuele Giaquinta).</li>
9318  </ul>
9319
9320  <h1><a name="xterm_214" id="xterm_214">Patch #214 - 2006/6/18 -
9321  XFree86 4.6.99.2</a></h1>
9322
9323  <ul>
9324    <li>modify makefile rule for ctlseqs.txt to strip
9325    backspace/overstrikes, and add a copy of ctlseqs.txt to the
9326    source tarballs (requests by Bram Moolenaar, Emanuele
9327    Giaquinta).</li>
9328
9329    <li>add <code>modifyOtherKeys</code> resource, analogous to the
9330    <code>modifyCursorKeys</code> resource. This applies to keys
9331    that normally would transmit nothing when a given modifier is
9332    applied (request by Dan Nicolaescu).</li>
9333
9334    <li>add <code>default</code> to the acceptable values for the
9335    <code>keyboardType</code> resource, allowing the
9336    <code>-kt</code> command-line option to override app-defaults
9337    resource settings of <code>sunKeyboard</code>, etc.</li>
9338
9339    <li>correct ifdef's for <code>XkbBell()</code> which used the
9340    header file but not the corresponding function in <a href=
9341    "#xterm_175">patch #175</a> (report by Zach Beane).</li>
9342
9343    <li>add xterm manpage to the <code>--with-symlink</code>
9344    logic.</li>
9345
9346    <li>regenerated configure script to omit some debugging
9347    artifacts of the SIGWINCH test.</li>
9348
9349    <li>fix <code>install-man</code> rule in
9350    <code>Makefile.in</code> to avoid including the
9351    <code>$(DESTDIR)</code> value in substitutions made on the
9352    manpages (patch by Emanuele Giaquinta).</li>
9353
9354    <li>improved fix for cursor deallocation (Redhat #186935, patch
9355    by Jason Vas Dias).</li>
9356
9357    <li>improve checks for setuid/setgid operation to accommodate
9358    limited resource management in some kernels (Gentoo
9359    #193238).</li>
9360
9361    <li>update config.guess, config.sub</li>
9362  </ul>
9363
9364  <h1><a name="xterm_213" id="xterm_213">Patch #213 - 2006/4/30 -
9365  XFree86 4.5.99.905</a></h1>
9366
9367  <ul>
9368    <li>minor optimization to cell layout; will use that to
9369    simplify some logic and allow for more than two combining
9370    characters in another patch.</li>
9371
9372    <li>add <code>utf8Latin1</code> resource to make optional the
9373    feature from <a href="#xterm_209">patch #209</a> which allowed
9374    ISO-8859-1 fonts to be used in cases where a wide font was
9375    given. This would only work for the special case where the user
9376    normally used Latin-1 and wanted some wide characters (report
9377    by Rostislav Krasny).</li>
9378
9379    <li>add <code>utf8Title</code> resource to manpage (Novell
9380    #52655).</li>
9381
9382    <li>fix typo in table entry for <code>utf8Title</code> resource
9383    which made it treated as an integer rather than boolean (patch
9384    by Mike Fabian, Novell #52655).</li>
9385  </ul>
9386
9387  <h1><a name="xterm_212" id="xterm_212">Patch #212 - 2006/4/9 -
9388  XFree86 4.5.99.904</a></h1>
9389
9390  <ul>
9391    <li>improve description of <code>forceBoxChars</code> in
9392    manpage (discussion with Joe Wells).</li>
9393
9394    <li>set checkmark for "Select To Clipboard" menu entry on
9395    startup, from resource setting.</li>
9396
9397    <li>update manpage to note that
9398    <code>*customization:color</code> is not needed, though it is
9399    useful (Redhat #188034).</li>
9400
9401    <li>add underscore to sample pattern for URL in
9402    <code>XTerm.ad</code> (Redhat #188037).</li>
9403
9404    <li>modify install rule for manpage to use the configured
9405    app-defaults directory (Redhat #188031).</li>
9406
9407    <li>add checks in <code>releaseCursorGCs()</code> to ensure
9408    GC's are distinct, needed since memory leak changes for
9409    <a href="#xterm_208">patch #208</a> (Redhat #186935, patch by
9410    Jason Vas Dias).</li>
9411
9412    <li>modify <code>Imakefile</code> definitions to allow
9413    <code>imake</code> to set <code>InstallXtermSetGID</code>. Add
9414    symbol <code>InstGidFlags</code>.</li>
9415
9416    <li>add configure script check to ensure that SIGWINCH if
9417    defined even when headers undefine this as a side-effect of
9418    <code>_POSIX_C_SOURCE</code>, etc.</li>
9419
9420    <li>resync with XFree86 CVS
9421      <ul>
9422        <li>ifdef-out chmod of terminal device for OS/2 (XFree86
9423        #1663, Frank Giessler).</li>
9424
9425        <li>move new <code>Imakefile</code> chunk which defines
9426        <code>$(CSGIDFLAGS)</code> before DEFINES, e.g., for IRIX64
9427        (Marc La France).</li>
9428      </ul>
9429    </li>
9430  </ul>
9431
9432  <h1><a name="xterm_211" id="xterm_211">Patch #211 - 2006/3/19 -
9433  XFree86 4.5.99.902</a></h1>
9434
9435  <ul>
9436    <li>modify prefix/suffix transformation in makefile to make
9437    <code>uxterm</code> install properly on Cygwin.</li>
9438
9439    <li>restore the sizeof-comparison for <code>struct
9440    lastlog</code> added in <a href="#xterm_208">patch #208</a>,
9441    rendered (mostly) obsolete in <a href="#xterm_210">patch
9442    #210</a>, since an imake configuration can still turn that code
9443    on (prompted by comment by David Dawes).</li>
9444
9445    <li>remove feature for <code>FreeBSDArchitecture</code> from
9446    <code>Imakefile</code> which would install xterm using the
9447    <code>utmp</code> group since a standard FreeBSD system has no
9448    such group, though it would support this configuration. FreeBSD
9449    packager uses the <code>configure</code> script, which can make
9450    the appropriate check (prompted by comment by David
9451    Dawes).</li>
9452
9453    <li>fixes for gcc redefinition warnings when built using imake
9454    (reports by David Dawes, Marc La France).</li>
9455  </ul>
9456
9457  <h1><a name="xterm_210" id="xterm_210">Patch #210 - 2006/3/12 -
9458  XFree86 4.5.99.902</a></h1>
9459
9460  <ul>
9461    <li>add configure check for workaround in <a href=
9462    "#xterm_208">patch #208</a> for Solaris' inconsistent support
9463    for struct lastlog to quiet compiler warnings (prompted by
9464    David Dawes commit message for XFree86).</li>
9465
9466    <li>fixes for BASE64 selection manipulation, e.g., ensure that
9467    the string terminator is written after cut-buffer data (report
9468    by Joe Allen).</li>
9469
9470    <li>add vttests/paste64.pl script to test experimental option
9471    for setting/getting selection data.</li>
9472
9473    <li>add some error-checking in fontutils.c (prompted by David
9474    Dawes commit message for XFree86).</li>
9475
9476    <li>change xterm manpage to show the actual color resource
9477    names <code>XtDefaultForeground</code> and
9478    <code>XtDefaultBackground</code> rather than black and white
9479    (prompted by discussion with Emanuele Giaquinta).</li>
9480
9481    <li>add <code>utf8Title</code> resource and menu entry,
9482    allowing the user to control whether title strings are
9483    interpreted as ISO-8859-1 or UTF-8 encoding (Novell #52655,
9484    Novell #113206).</li>
9485
9486    <li>change order of ifdef's for utempter versus platforms in
9487    <code>Imakefile</code> to ensure a proper value for
9488    <code>InstallXtermSetGID</code> (prompted by Marc La France
9489    commit message for XFree86).</li>
9490
9491    <li>update the cursor GCs when menu entry for reverse video is
9492    toggled. (Redhat #183993).</li>
9493
9494    <li>a memory-leak fix for <code>set_cursor_gcs()</code> in
9495    <a href="#xterm_208">patch #208</a> broke the <code>-cm</code>
9496    option (Redhat #182382).</li>
9497  </ul>
9498
9499  <h1><a name="xterm_209" id="xterm_209">Patch #209 - 2006/2/12 -
9500  XFree86 4.5.99.22</a></h1>
9501
9502  <ul>
9503    <li>remove <code>setf</code> and <code>setb</code> from
9504    <code>xterm-256color</code> terminfo entry to avoid issues with
9505    applications that ignore the ANSI strings (report by Emanuele
9506    Giaquinta).</li>
9507
9508    <li>remove obsolete references to "Xorg" to avoid confusion
9509    with "X.org" (prompted by David Dawes commit message for
9510    XFree86).</li>
9511
9512    <li>improve initial layout performance for the toolbar
9513    configuration by precalculating the height of the toolbar.</li>
9514
9515    <li>remove menu entry for "Enable Curses Emulation" (to make
9516    room for "Select To Clipboard").</li>
9517
9518    <li>add resource <code>selectToClipboard</code>, action
9519    <code>set-select</code> and a menu entry to allow users to
9520    switch between PRIMARY and CLIPBOARD for select/paste.</li>
9521
9522    <li>allow cursor to have the same color as foreground (text),
9523    since it is rendered as reverse (Debian #350664).</li>
9524
9525    <li>amend change for loading <code>utf8Fonts</code> resource
9526    from <a href="#xterm_204">patch #204</a> to allow an ISO-8859-1
9527    "normal" font to be combined with an ISO-10646 font if the
9528    latter is given via the <code>-fw</code> option or its
9529    corresponding resource value (prompted by comment in Novell
9530    #49305).</li>
9531
9532    <li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
9533    <code>__GNU__</code> to set the controlling terminal (Debian
9534    #348457).</li>
9535
9536    <li>add configure option <code>--disable-leaks</code>.</li>
9537
9538    <li>add a check in <code>Bell</code> to ensure that the VT100
9539    widget is realized, since it may be called by
9540    <code>xtermLoadFont</code> given an incorrect font resource
9541    (Redhat #180450).</li>
9542
9543    <li>improve initialization of wide-bold font by not using the
9544    derived value when it happens to have few glyphs (report by
9545    Mboso Sampson).</li>
9546
9547    <li>improve dynamic colors by not repainting the screen if only
9548    the cursor color changes (request by Bram Moolenaar).</li>
9549
9550    <li>fix menu initialization for tek4014 window broken in
9551    <a href="#xterm_206">patch #206</a>.</li>
9552
9553    <li>typo in manpage (Debian #351425).</li>
9554
9555    <li>correct loop logic in <code>dotext</code> to prevent an
9556    infinite loop if a wide character was just at the right margin
9557    when wrapping was disabled (report by Serge van den Boom).</li>
9558
9559    <li>initialize the saved-cursor data so a restore-cursor
9560    operation without a preceding save-cursor operation will not
9561    modify the foreground color.</li>
9562
9563    <li>add a new selection feature: regular expressions, and new
9564    resources which specify what happens on multiple mouse clicks:
9565    <code>on2Clicks</code>, <code>on3Clicks</code>,
9566    <code>on4Clicks</code> and <code>on5Clicks</code>.</li>
9567
9568    <li>revert the <code>XTerm.ad</code> change from <a href=
9569    "#xterm_208">patch #208</a> (Debian #348384).</li>
9570
9571    <li>fixes for the print-window to make it handle combining
9572    characters in UTF-8 mode.</li>
9573
9574    <li>add check to ensure that double-clicking to extend
9575    selection will not extend it into the scrollback area. This
9576    still allows users to scroll back and select text (Debian
9577    #347415).</li>
9578
9579    <li>add configure option <code>--with-tty-group</code> to help
9580    work around deficiencies in packager's build environment
9581    (Debian #349142).</li>
9582
9583    <li>fix typo in configure script option
9584    <code>--disable-narrowproto</code> (report by David
9585    Mart&iacute;nez Moreno).</li>
9586
9587    <li>amend CF_X_FREETYPE changes for <code>pkg-config</code>
9588    check to ensure that <code>Xft</code> is known to that tool
9589    (report and patch by Emanuele Giaquinta).</li>
9590
9591    <li>add an ifdef to allow <code>./configure
9592    --disable-active-icon</code> to work, broken by new code for
9593    testing memory leaks in <a href="#xterm_208">patch #208</a>
9594    (report by Brian Lindholm).</li>
9595  </ul>
9596
9597  <h1><a name="xterm_208" id="xterm_208">Patch #208 - 2006/1/3 -
9598  XFree86 4.5.99.19</a></h1>
9599
9600  <ul>
9601    <li>add <code>charClass</code> resource to
9602    <code>XTerm.ad</code> and <code>UXTerm.ad</code> which
9603    simplifies selecting URLs (prompted by Kirill Ponomarew).</li>
9604
9605    <li>modify install rule for <code>uxterm</code> to account for
9606    the <code>--program-prefix</code>, etc., options by invoking
9607    the transformed name of xterm rather than simply "xterm".</li>
9608
9609    <li>modify configure <code>--with-app-defaults</code> option to
9610    allow <code>--without-app-defaults</code>.</li>
9611
9612    <li>add configure <code>--with-symlink</code> option to make it
9613    simpler to install successive versions of <code>xterm</code>
9614    renamed using the <code>--program-prefix</code>, etc., options
9615    with a symbolic link pointing to the most recent.</li>
9616
9617    <li>make <code>-iconic</code> option work with toolbar
9618    configuration (Gentoo #113604).</li>
9619
9620    <li>suppress <code>lastlog</code> feature for 64-bit Solaris
9621    configuration since that platform provides only a 32-bit
9622    interface (report by Peter Bray).</li>
9623
9624    <li>fix memory reallocation for the "UTF-8" menu entry when
9625    xterm is started using the <code>+u8</code> option (reported by
9626    Jan Willem Stumpel).</li>
9627
9628    <li>add a configure check for the actual path of
9629    <code>luit</code>, to work around broken <code>imake</code>
9630    configurations.</li>
9631
9632    <li>add a configure check for <code>pkg-config</code> (Redhat
9633    Bugzilla #173541).</li>
9634
9635    <li>modify install-rule for <code>uxterm</code> to omit
9636    executable suffix, e.g., for Cygwin.</li>
9637
9638    <li>modify <code>sinstall.sh</code> to work around quirks in
9639    Cygwin configuration.</li>
9640  </ul>
9641
9642  <h1><a name="xterm_207" id="xterm_207">Patch #207 - 2005/11/13 -
9643  XFree86 4.5.99.16</a></h1>
9644
9645  <ul>
9646    <li>enable <code>lastlogx</code> support for NetBSD (was added,
9647    but not enabled in <a href="#xterm_186">patch #186</a>).</li>
9648
9649    <li>work around broken <code>lastlog.h</code> in glibc 2.3.5,
9650    which includes <code>utmp.h</code>.</li>
9651
9652    <li>revert part of recent XFree86 Imakefile change, restoring
9653    the <code>-I.</code> needed for <code>xmkmf</code> builds of
9654    xterm (XFree86 Bugzilla #1633, reports by Alexander Pohoyda,
9655    Matthieu Herrb).</li>
9656
9657    <li>change compiled-in default for <code>printerCommand</code>
9658    resource to an empty string. People who want to use the printer
9659    should be able to read the manual (Debian #311490).</li>
9660
9661    <li>modify <code>Imakefile</code> to work around old problems
9662    in <code>imake</code> configuration to allow test-builds using
9663    <code>xmkmf</code> on Linux. (This was not noticed since
9664    several releases had broken definitions relating to Xft which
9665    were harder to work around).</li>
9666
9667    <li>link <code>resize</code> for SCO platforms (Kean
9668    Johnston).</li>
9669  </ul>
9670
9671  <h1><a name="xterm_206" id="xterm_206">Patch #206 - 2005/11/3 -
9672  XFree86 4.5.99.15</a></h1>
9673
9674  <ul>
9675    <li>add configure <code>--with-app-defaults</code> option to
9676    allow app-defaults directory for install-rules to be
9677    customized.</li>
9678
9679    <li>remove default translations for
9680    <code>dabbrev-expand()</code> due to conflicts with existing
9681    keyboard arrangements.</li>
9682
9683    <li>remove redundant check for <code>_NET_WM_PID</code> (report
9684    by Emanuele Giaquinta).</li>
9685
9686    <li>set icon border width explicitly to work around fvwm
9687    problem with active icon resizing (report by Steve Morris,
9688    analysis by Dominik Vogt).</li>
9689
9690    <li>modify resource files to make the font-resources a little
9691    more specific, e.g., changing "*VT100*" to "*VT100.", to make
9692    the distinction between VT100.font and VT100.utf8Fonts.font
9693    sharper, in case a packager modifies one of those.</li>
9694
9695    <li>expanded comments in <code>UXTerm.ad</code> regarding the
9696    font resources (Debian #319179).</li>
9697
9698    <li>add <code>--enable-narrowproto</code> configure option to
9699    accommodate X.org "modular" build (report by Stephan Hermann,
9700    Gentoo #17220).</li>
9701
9702    <li>fix typo in xterm.man description of <code>+wf</code>
9703    (patch by Tobias Stoeckmann).</li>
9704
9705    <li>add <code>scrollBarBorder</code> resource (request by Floyd
9706    L Davidson).</li>
9707
9708    <li>modify <code>xterm-new</code> terminfo entry to use
9709    capabilities for shifted scroll forward/reverse as shifted
9710    cursor up/down.</li>
9711
9712    <li>correct updating of checkmark for toolbar entry in popup
9713    menu (report by Emanuele Giaquinta).</li>
9714
9715    <li>fix ifdef's to allow compiling with toolbar and without
9716    tek4014 (patch by Emanuele Giaquinta).</li>
9717
9718    <li>use <code>openpty()</code> for Darwin port (patch by
9719    Emanuele Giaquinta).</li>
9720
9721    <li>fix Gentoo #90697 a different way, postponing the logic in
9722    <code>SetupToolbar</code> until the toolbar is actually needed,
9723    i.e., the <code>+tb</code> option is handled as expected.</li>
9724
9725    <li>revert fix made in <a href="#xterm_203">patch #203</a> for
9726    Gentoo #90697. That introduced a problem with the control mouse
9727    click-popups, while most of the performance problems can be
9728    resolved by restricting the menu fonts (report by Emanuele
9729    Giaquinta).</li>
9730
9731    <li>fix a file-descriptor leak when calling
9732    <code>openpty()</code> (OpenBSD system/4561).</li>
9733
9734    <li>make a special case of resizing work like vt100: a hard
9735    reset also resets the 132/80 mode. The code to support this was
9736    present since X11R5, but not used because the corresponding
9737    initial state of the <code>-132</code> option was not
9738    saved.</li>
9739
9740    <li>restore window manager hints after
9741    <code>XtMakeResizeRequest()</code> calls. One instance from
9742    <a href="#xterm_205">patch #205</a> resulted in the window
9743    manager displaying pixels rather than than characters after
9744    selecting a different font size (FreeBSD ports/87424).</li>
9745
9746    <li>remove special case for Darwin in CF_XOPEN_SOURCE (Emanuele
9747    Giaquinta).</li>
9748
9749    <li>modify parsing of control sequence <code>CSI&nbsp;T</code>
9750    to allow scroll-down to be sent while mouse tracking is enabled
9751    (request by D Hugh Redelmeier).</li>
9752
9753    <li>correct termcap "me" (mode-end) string so it does not
9754    modify the alternate character set (report by Andrey
9755    Chernov).</li>
9756
9757    <li>correct size-comparison in HandleInterpret() broken in
9758    changes from <a href="#xterm_201">patch #201</a> to allocate
9759    input buffer (Debian #334317).</li>
9760
9761    <li>amend adjustments for scrollbar layout from <a href=
9762    "#xterm_204">patch #204</a> to make this apply only to the
9763    toolbar configuration. In the non-toolbar configuration, the
9764    resulting scrollbar was shifted by its borderwidth (report by
9765    Matthieu Herrb).</li>
9766
9767    <li>add select-cursor-extend() action.</li>
9768
9769    <li>fix some broken href's in xterm.log.html, and typo in the
9770    INSTALL file (report/patch by David Mart&iacute;nez
9771    Moreno).</li>
9772
9773    <li>modify <code>Imakefile</code> to use setgid mode for
9774    installing with Linux, OpenBSD and FreeBSD.</li>
9775
9776    <li>add configure --with-setuid and --with-reference options to
9777    allow packagers more flexibility in customizing install
9778    permissions.</li>
9779
9780    <li>generalize and make optional (configure --with-utmp-setgid)
9781    the change made for XFree86 Bugzilla #878 in <a href=
9782    "#xterm_205">patch #205</a> (FreeBSD bug report
9783    #ports/86663).</li>
9784  </ul>
9785
9786  <h1><a name="xterm_205" id="xterm_205">Patch #205 - 2005/9/18 -
9787  XFree86 4.5.99.12</a></h1>
9788
9789  <ul>
9790    <li>correct a typo in CF_FUNC_TGETENT introduced in <a href=
9791    "#xterm_198">patch #198</a> fix for Gentoo #69926.</li>
9792
9793    <li>implement logic in termcap query to process multiple
9794    parameters as documented in ctlseqs.ms</li>
9795
9796    <li>fix buffer size used for termcap query, which was not long
9797    enough for the terminfo "colors" name (patch by Bradd W.
9798    Szonye).</li>
9799
9800    <li>add configure option --enable-readline-mouse, which turns
9801    on the experimental OPT_READLINE code (patch by Ilya
9802    Zakharevich).</li>
9803
9804    <li>for FreeBSD, drop setuid privileges after startup (XFree86
9805    Bugzilla #878, report/patch by Alexander Pohoyda)</li>
9806
9807    <li>add menu entry (alt-esc) and corresponding action
9808    (alt-sends-esc) to toggle the <code>eightBitInput</code>
9809    resource setting.</li>
9810
9811    <li>generate configure script with autoconf 2.52 (patched) to
9812    use the feature therein which forces the script's locale to
9813    POSIX (Gentoo Bugzilla #105369).</li>
9814
9815    <li>modify computation of rows/columns on resize to avoid
9816    extending beyond the given limits, e.g., if resizing in
9817    response to a "maximize" in Gnome or KDE which do not use the
9818    window manager hints for this case (Debian #289123, Novell
9819    #61153).</li>
9820
9821    <li>modifications to work with z/OS 1.4 (Paul Giordano).</li>
9822
9823    <li>improve error-reporting when chown/chmod of the
9824    pseudo-terminal fails, e.g., if a copy of xterm which was
9825    designed to work with old-style pseudo-terminals is not
9826    installed setuid or setgid (report by Jeremy C. Reed).</li>
9827
9828    <li>patches from Emanuele Giaquinta:
9829      <ul>
9830        <li>ctlseqs.ms says that primary and secondary DA accept a
9831        nonzero parameter, which is incorrect. Also modify code to
9832        agree with this.</li>
9833
9834        <li>correct a comment in 88colres.pl</li>
9835
9836        <li>ctlseqs.ms says that the DEC Set/Reset control
9837        sequences for the backarrow key make it send DEL/BS,
9838        respectively, while it's the opposite.</li>
9839
9840        <li>update the menu entries for the metaSendsEscape,
9841        deleteIsDEL and numLock resources when changing them with
9842        the corresponding DEC Set/Reset control sequences.</li>
9843      </ul>
9844    </li>
9845
9846    <li>fixes for configure script:
9847      <ul>
9848        <li>add special case for QNX, defining _QNX_SOURCE.</li>
9849
9850        <li>check for preprocessors which do not perform -U and -D
9851        options in the given order.</li>
9852
9853        <li>improve macro to determine gcc version</li>
9854
9855        <li>improve check for Intel compiler and related warning
9856        options</li>
9857      </ul>
9858    </li>
9859
9860    <li>update config.guess, config.sub</li>
9861
9862    <li>improve fix from <a href="#xterm_198">patch #198</a> for
9863    <code>Cleanup()</code> by ensuring it is not called from the
9864    SIGCHLD handler (patch by Todd Miller (OpenBSD CVS)).</li>
9865
9866    <li>eliminate a retry for a better-matching bold font, to work
9867    around recent font server changes.</li>
9868
9869    <li>fixes for Novell #113277:
9870      <ul>
9871        <li>specify weight for wide font which may be derived from
9872        normal fontname.</li>
9873
9874        <li>cache the derived wide- and widebolt-fontnames.</li>
9875      </ul>
9876    </li>
9877
9878    <li>workaround for Gentoo Bugzilla #100728.</li>
9879
9880    <li>add menubar's border width to layout computation. Normally
9881    this is zero, but patterns such as
9882    <code>XTerm*borderWidth:1</code> would give poor layout for the
9883    toolbar configuration.</li>
9884  </ul>
9885
9886  <h1><a name="xterm_204" id="xterm_204">Patch #204 - 2005/8/4 -
9887  XFree86 4.5.99.9</a></h1>
9888
9889  <ul>
9890    <li>work around quirk in shell which allowed user to "run"
9891    uxterm script when there was no UTF-8 locale installed by
9892    entering "sh -x uxterm". Also popup an xmessage to show the
9893    problem for users who run this via a GUI (Debian #318513).</li>
9894
9895    <li>disallow changes to fonts, toolbar and scrollbar when the
9896    vt100 window is iconified, to simplify management of the active
9897    icon.</li>
9898
9899    <li>fixes to make <code>-geom</code> option work properly with
9900    the toolbar configuration (Gentoo #90717, Gentoo #91967).</li>
9901
9902    <li>minor improvements to scrollbar layout: ensure that the
9903    scrollbar border is zero if the vt100 border is zero.</li>
9904
9905    <li>improve initialization due to <code>utf8</code> resource by
9906    loading the <code>utf8Fonts</code> resource in the case where
9907    <code>locale</code> resource is false. Also in this case, do
9908    not disable switching UTF-8 mode on/off.</li>
9909
9910    <li>minor optimization of TrueType font-loading, loads italic
9911    font only when needed.</li>
9912
9913    <li>correct variable used to store temporary result from lookup
9914    of bold font, when initializing the wide-bold-font data and no
9915    immediate match is found by asking for a bold variant of the
9916    wide-font. The result was to use overstriking rather than the
9917    actual bold font (Debian #318162, patch by Eugene Konev).</li>
9918
9919    <li>add checks to ensure vt100 widget is realized when it might
9920    be updated via actions handled from a tek4014-only
9921    configuration.</li>
9922  </ul>
9923
9924  <h1><a name="xterm_203" id="xterm_203">Patch #203 - 2005/7/6 -
9925  XFree86 4.5.99.7</a></h1>
9926
9927  <ul>
9928    <li>modify initialization of <code>allowSendEvents</code> and
9929    <code>allowWindowOps</code> to prevent modification with the
9930    editres protocol.</li>
9931
9932    <li>fix compiler warning for NetBSD by including util.h in
9933    main.c (XFree86 Bugzilla #1596).</li>
9934
9935    <li>fix to build on Darwin 8.x, which no longer provides
9936    <code>setpgrp()</code> (patch by Min Sik Kim).</li>
9937
9938    <li>adapted fixes for Legend (SCO) from diffs attached to
9939    Freedesktop.Org Bugzilla #3180.</li>
9940
9941    <li>fix typo in xterm manpage description of <code>-ls</code>
9942    option (Freedesktop.Org Bugzilla #3543).</li>
9943
9944    <li>add support for interpreting the underline attribute as an
9945    italic font in Xft mode (patch by Chuck Blake).</li>
9946
9947    <li>improve initialization of toolbar so that individual
9948    pulldown menus are initialized on demand, as they are in the
9949    scenario where they are invoked as popup menus (Gentoo Bugzilla
9950    #90697).</li>
9951
9952    <li>fix logic in <code>find_utmp</code>, which did not reset
9953    result in <code>getutid()</code>, causing an infinite loop in
9954    some conditions (report by Emil Mikulic).</li>
9955
9956    <li>set the <code>_NET_WM_PID</code> property (Gentoo Bugzilla
9957    #91008).</li>
9958
9959    <li>modify ifdef's in ptyx.h and xterm_io.h to build with
9960    DragonFly (patch by Jeroen Ruigrok).</li>
9961
9962    <li>change default values for <code>minBufSize</code> and
9963    <code>maxBufSize</code> to 4096 and 32768 respectively so that
9964    the initial read request will match the value from before
9965    changes to use <code>sched_yield()</code>.</li>
9966
9967    <li>make paste of UTF-8 faster for Western character sets by
9968    checking range of incoming data (patch by Joe Allen).</li>
9969
9970    <li>add experimental option to allow applications to get or set
9971    the selection data as a BASE64 string (adapted from patch by
9972    Joe Allen).</li>
9973
9974    <li>fix an off-by-one error parsing <code>-S/nn</code> option
9975    (Debian #311438, report/fix by Peter Chubb).</li>
9976
9977    <li>fix an initialization bug from <a href="#xterm_201">patch
9978    #201</a> that broke logging (report by Rodney Thayer).</li>
9979
9980    <li>amend change to command-line processing in <a href=
9981    "#xterm_201">patch #201</a> to avoid conflict with
9982    <code>-e</code> option (report by Servatius Brandt).</li>
9983
9984    <li>suppress configure check for <code>_XOPEN_SOURCE</code> on
9985    darwin.</li>
9986
9987    <li>update config.guess, config.sub</li>
9988  </ul>
9989
9990  <h1><a name="xterm_202" id="xterm_202">Patch #202 - 2005/5/2 -
9991  XFree86 4.5.99.3</a></h1>
9992
9993  <ul>
9994    <li>add extended shift- and control-modifier cursor keys to
9995    "xterm+pcfkeys" terminfo entry to correspond to ncurses
9996    20050430 patch.</li>
9997
9998    <li>fix a rare case where text would be written with the wrong
9999    colors because output of scrolled text would reset the colors
10000    and the new text would be written with the same colors
10001    (report/testcase by Thomas Glanzmann).</li>
10002
10003    <li>rename <code>$CMD</code> variable in <code>plink.sh</code>
10004    because it is a reserved symbol in bash 3.00.16 (report by Ted
10005    Taylor).</li>
10006
10007    <li>add environment variables <code>$XTERM_SHELL</code> and
10008    <code>$XTERM_VERSION</code> (request by Zdenek Sekera).</li>
10009
10010    <li>corrected workaround for background color of menubar, which
10011    gave a too-broad expression, coloring the background of the
10012    VT100 widget unless overridden by another resource
10013    setting.</li>
10014
10015    <li>correct an error in the logic which decides when
10016    <code>sched_yield()</code> is run; it would occasionally hang
10017    when contending with other pseudo-terminal applications such as
10018    screen (report by Kirill Ponomarew).</li>
10019
10020    <li>modify initialization to decide whether to default to
10021    built-in <code>wcwidth()</code> versus system's version based
10022    on the starting locale and whether the system's version is poor
10023    quality (suggested by Bram Moolenaar).</li>
10024
10025    <li>update table for <code>mk_width()</code> from UnicodeData
10026    4.1.0 using Markus Kuhn's <code>uniset</code> script.</li>
10027  </ul>
10028
10029  <h1><a name="xterm_201" id="xterm_201">Patch #201 - 2005/4/21 -
10030  XFree86 4.5.99.2</a></h1>
10031
10032  <ul>
10033    <li>improve resource files to show how the menubar and popup
10034    menus can be colored (prompted by report by Joe Wells).</li>
10035
10036    <li>modify parsing of OSC (and SOS, etc), strings so their
10037    contents are not interpreted as UTF-8. This allows non-ASCII
10038    title strings to be set, provided that the window manager
10039    complies (report by Thomas Wolff).</li>
10040
10041    <li>improved some of the built-in line-drawing glyphs.</li>
10042
10043    <li>correct color of "box" character drawn for line-drawing
10044    glyph 1 (report by Nicolas George).</li>
10045
10046    <li>improve behavior when switching to UTF-8 mode after startup
10047    so xterm will check if the current fonts are already wide
10048    (ISO10646-1). If they are not, xterm will use the
10049    <code>utf8Fonts</code> subresource to load appropriate fonts
10050    (request by Bram Moolenaar).</li>
10051
10052    <li>modify logic for setting title-string so it applies to the
10053    current widget rather than the vt100 widget.</li>
10054
10055    <li>modify initialization for wide-bold fontname, to search for
10056    one if none is given (report by Michael Schroeder).</li>
10057
10058    <li>add resource <code>mkWidth</code> and command-line option
10059    <code>-mk_width</code> to control whether xterm uses the
10060    built-in version of wcwidth().</li>
10061
10062    <li>add resource settings for minimum/maximum input buffer
10063    size, and call to <code>sched_yield</code> to improve
10064    performance with newer Linux kernels (adapted from patch by
10065    Nicolas George).</li>
10066
10067    <li>correct computation of width for wide characters with the
10068    invisible attribute (report by Thomas Wolff).</li>
10069
10070    <li>modify interaction between <code>+u8</code> and
10071    <code>locale</code> resource to allow the command-line option
10072    to override the resource (requested by Thomas Wolff).</li>
10073
10074    <li>add a limit check for scrolling margins in a one-line
10075    screen, overlooked in fixes for <a href="#xterm_198">patch
10076    #198</a> (Debian #297430).</li>
10077
10078    <li>correct treatment of <code>iconBorderWidth</code> for
10079    resizing an active-icon, and its description in manpage (Debian
10080    #296592).</li>
10081
10082    <li>modify configure script <code>--disable-imake</code> to use
10083    the script's definitions anyway if it cannot detect imake
10084    (prompted by FreeBSD bug 77408).</li>
10085
10086    <li>ignore error in the I/O initialization that tries to set
10087    the tty to 7-bit input for the case where
10088    <code>eightBitInput</code> resource is false (Debian
10089    #298551).</li>
10090
10091    <li>modify command-processing to accept an optional parameter
10092    that tells xterm which shell program to use (request by Zdenek
10093    Sekera).</li>
10094
10095    <li>add simpler resource <code>keyboardType</code> which, when
10096    set, overrides the individual keyboard-type resources and
10097    eliminates the possibility of conflict between them.</li>
10098
10099    <li>add initialization for <code>scoFunctionKeys</code>
10100    resource (report by Rick K).</li>
10101
10102    <li>correct logic of <code>ReallocateBufOffsets()</code> which
10103    did not copy the content of the old screen buffer to the proper
10104    location, making a repaint clear after switching to
10105    wide-character mode (report by Bram Moolenaar):</li>
10106
10107    <li>implement the remaining pieces to make xterm allocate cells
10108    for wide-characters when the "UTF-8" menu entry is selected.
10109    Also, load the UTF-8 font when that menu entry is selected, or
10110    the escape sequence for UTF-8 mode is received (report by Bram
10111    Moolenaar):</li>
10112
10113    <li>add command-line options (<code>-tb</code>,
10114    <code>+tb</code>) and resource <code>toolBar</code> to allow
10115    menu/toolbar to disabled or enabled at startup (prompted by
10116    reports by Joe Wells).</li>
10117
10118    <li>correct typo in configure script's --enable-dec-locator
10119    option (report by Bram Moolenaar).</li>
10120  </ul>
10121
10122  <h1><a name="xterm_200" id="xterm_200">Patch #200 - 2005/2/6 -
10123  XFree86 4.4.99.23</a></h1>
10124
10125  <ul>
10126    <li>increase color pairs value for xterm-256color and
10127    xterm-88color to match ncurses, which has an experimental
10128    option to support this.</li>
10129
10130    <li>modify ifdef's to make AIX use termios rather than termio;
10131    the struct sizes for the two were not the same.</li>
10132
10133    <li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
10134    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and
10135    AIX.</li>
10136
10137    <li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch
10138    by Min Sik Kim).</li>
10139
10140    <li>modify find_utmp() to initialize the whole utmpx struct
10141    (except ut_id), since that is needed for OSF1 4.0D to prevent
10142    an infinite loop on exit.</li>
10143
10144    <li>add configure check before adding -D_POSIX_SOURCE since
10145    some platforms predefine it, e.g., cygwin.</li>
10146
10147    <li>add simplified sed expressions in CF_IMAKE_CFLAGS configure
10148    script macro to ensure value for PROJECTROOT is quoted on
10149    Solaris, i.e., when nested <code>\(</code> and <code>\)</code>
10150    are not interpreted correctly.</li>
10151
10152    <li>correct DEC rectangle operations to reset state after
10153    completing the operations.</li>
10154
10155    <li>modify CASE_ST handling in charproc.c to ensure that the
10156    parse state is reset even if xterm is not currently processing
10157    an OSC or other string (patch by Johnny Billquist forwarded by
10158    Matthias Scheler, NetBSD xsrc/29003).</li>
10159
10160    <li>fix OS/2 build for innotek_libc (patch by David Yeo).</li>
10161
10162    <li>fix a regression from <a href="#xterm_197">patch #197</a>
10163    fix for Debian #277832 which disowned the selection if it was
10164    scrolled, e.g., by the user pressing return at the bottom of
10165    the screen (Debian #291787).</li>
10166
10167    <li>move the warning/exit for missing $DISPLAY into the error
10168    handler in case <code>-display</code> is given, and the connect
10169    fails for some other reason.</li>
10170  </ul>
10171
10172  <h1><a name="xterm_199" id="xterm_199">Patch #199 - 2005/1/17 -
10173  XFree86 4.4.99.22</a></h1>
10174
10175  <ul>
10176    <li>instead of setting <code>$DISPLAY</code>, check for the
10177    unset variable and warn/exit on this condition (comments by H
10178    Merijn Brand and Bernhard R Link).</li>
10179
10180    <li>fix a typo in Imakefile from <a href="#xterm_198">patch
10181    #198</a> (reports/patches by Stefan Dirsch, Mike Castle).</li>
10182  </ul>
10183
10184  <h1><a name="xterm_198" id="xterm_198">Patch #198 - 2005/1/13 -
10185  XFree86 4.4.99.21</a></h1>
10186
10187  <ul>
10188    <li>set <code>$DISPLAY</code> to ":0" if it is not set.</li>
10189
10190    <li>add <code>utmpDisplayId</code> resource to allow users to
10191    control whether the display identifier (display number and
10192    screen number) are retained in the connection information
10193    recorded in utmp (discussion with Edoardo Tirtarahardja).</li>
10194
10195    <li>add <code>bellOnReset</code> resource to allow users to
10196    disable bell which sounds on hard reset since <a href=
10197    "#xterm_183">patch #183</a> changes to DECSCL (discussion with
10198    Danek Duvall).</li>
10199
10200    <li>improve <code>$WINDOWID</code> for configuration with
10201    toolbar by making it refer to the top-level shell rather than
10202    the parent of the current window. For that case, the parent is
10203    a form widget, which does not have a name, which made the
10204    <code>$WINDOWID</code> not very useful as a parameter for
10205    <code>xwininfo</code> (suggested by Dave Bodenstab).</li>
10206
10207    <li>fix a typo in WhichVFont() macro from <a href=
10208    "#xterm_197">patch #197</a> changes which broke the
10209    --disable-active-icon configuration (report by Ralf S.
10210    Engelschall).</li>
10211
10212    <li>improve some limit checks (Gentoo Bugzilla #75604).</li>
10213
10214    <li>add --disable-setuid option to configure script (Gentoo
10215    Bugzilla #76543).</li>
10216
10217    <li>add --disable-full-tgetent option to configure script,
10218    allowing one to ignore a termcap library in favor of
10219    ncurses/curses (Gentoo Bugzilla #69926).</li>
10220
10221    <li>modify configure script to choose useful warning options
10222    for Intel version 8.0 compiler.</li>
10223
10224    <li>update config.guess, config.sub</li>
10225
10226    <li>make active-icon work properly when TrueType fonts are used
10227    (Debian #286068).</li>
10228
10229    <li>correct change from <a href="#xterm_157">patch #157</a>
10230    which uses getlogin() to check for an alias; the storage used
10231    for the related getpwuid() call was overwritten by the data
10232    used for comparison (patch by Per Hedeland).</li>
10233
10234    <li>correct case of SCS for character set 0 (line-drawing) to
10235    allow it to be selected into GR.</li>
10236
10237    <li>fix a file-descriptor leak (Redhat Bugzilla #139597).</li>
10238
10239    <li>modify <code>creat_as()</code> to only fork if xterm is
10240    actually running as setuid and/or setgid. This works around a
10241    Cygwin bug which hangs when logging is enabled and makes xterm
10242    a little faster for systems using interfaces such as utempter
10243    (report by Al Goodman).</li>
10244
10245    <li>modify <code>Cleanup()</code> to avoid operations such as X
10246    calls that might use unsafe functions when it is called by a
10247    signal handler (report by Michiel Boland).</li>
10248
10249    <li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM
10250    changes from <a href="#xterm_197">patch #197</a> that broke
10251    DECSET 38: switch to Tek4014 emulation (report by Dave
10252    Bodenstab).</li>
10253
10254    <li>fix for manpage escapes (Marc La France).</li>
10255
10256    <li>improve on IRIX-specific change for Imakefile in XFree86
10257    CVS versus resize linking against termcap library to reflect
10258    definitions for USE_TERMCAP in resize.c</li>
10259  </ul>
10260
10261  <h1><a name="xterm_197" id="xterm_197">Patch #197 - 2004/11/30 -
10262  XFree86 4.4.99.19</a></h1>
10263
10264  <ul>
10265    <li>modify configure script to remove empty "-DPROJECTROOT="
10266    definition which resulted unusable values for luit's default
10267    path.</li>
10268
10269    <li>update precompose.c based on Unicode 4.0.1</li>
10270
10271    <li>several minor fixes based on Intel compiler warnings.</li>
10272
10273    <li>change default translations so a <code>BtnDown</code> which
10274    is not recognized is simply ignored rather than emitting a
10275    bell. That makes it less obtrusive when the user tries to use a
10276    mouse which provides more capabilities than the X mouse driver
10277    supports, e.g., one with a horizontal scroll wheel (Debian
10278    #265133).</li>
10279
10280    <li>note in xterm's manpage that <code>translations</code> is
10281    not specific to xterm (Debian #278897).</li>
10282
10283    <li>modify uxterm script to use locale program to verify if the
10284    derived locale is installed (Debian #246398).</li>
10285
10286    <li>correct font handling for active icon when in UTF-8 mode
10287    (report by Paolo Liberatore).</li>
10288
10289    <li>make active-icon and toolbar configurations work
10290    together.</li>
10291
10292    <li>modify the criteria for disowning primary selection.
10293    Previously, this happened anytime the cursor was moved before
10294    the end of the selection. That would ensure that any
10295    insert/delete of char or line, as well as scrolling, would
10296    disown the selection. The new criteria change this to checking
10297    if the operations would modify the data which is highlighted
10298    (Debian #277832).</li>
10299
10300    <li>reimplement <code>DECALN</code> with functions for vt420
10301    rectangles, fixes selection for this case.</li>
10302
10303    <li>implement vt420 rectangle operations.</li>
10304
10305    <li>add parsing, for debug/test of vt220 soft-fonts.</li>
10306
10307    <li>add menu entry, actions and escape sequence to allow
10308    enabling/disabling toolbars at runtime.</li>
10309
10310    <li>improve rendering for Xft, allow it to draw non-linedrawing
10311    characters such as "pi", which were drawn from internal tables
10312    with <a href="#xterm_180">patch #180</a> (Freedesktop.org
10313    Bugzilla #1260).</li>
10314
10315    <li>add configure option <code>--enable-mini-luit</code>,
10316    ifdef'd the mini-luit feature with
10317    <code>OPT_MINI_LUIT</code>.</li>
10318
10319    <li>add mini-luit feature, which supports Latin9 directly
10320    rather than via luit, provided that Unicode fonts are used
10321    (Freedesktop.org Bugzilla #1571, request by Stefan Dirsch,
10322    patch by Michael Schroeder).</li>
10323
10324    <li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x
10325    kernels, set the corresponding flag for the slave pty, to
10326    enable UTF-8 interpretation of backspace in cooked mode
10327    (Freedesktop.org Bugzilla #1578, request by Stefan
10328    Dirsch).</li>
10329
10330    <li>modify <code>faceSize</code> resource to use a
10331    floating-point internal value (adapted from patch by Sam
10332    Stephenson).</li>
10333
10334    <li>correct handling selection of tabs over cleared space in
10335    UTF-8 mode. In this special case, xterm represents the
10336    whitespace with a null rather than a space character (Debian
10337    #276447).</li>
10338
10339    <li>amend fix for infinite loop from <a href="#xterm_192">patch
10340    #192</a> to check if there is wrapped text to output in a
10341    following iteration (Debian #273202).</li>
10342
10343    <li>fixes ifdef'd with <code>__INTERIX</code> to allow building
10344    with Interix (Windows Services for UNIX) 3.5 using the xlibs
10345    libraries from freedesktop.org (patch by Min Sik Kim).</li>
10346
10347    <li>amend solution for Debian #252873, Debian #260471 from
10348    <a href="#xterm_194">patch #194</a> by making the cursor not
10349    explicitly colored if only the foreground color is set, and the
10350    cursor is on a blank space (Debian #275473).</li>
10351
10352    <li>correct logic for send/receive mode (SRM) with regard to
10353    control characters.</li>
10354
10355    <li>fix masking of invisible text in wide-character mode, which
10356    did not work for line-drawing characters.</li>
10357
10358    <li>incorporate CF_XOPEN_SOURCE into configure script,
10359    replacing CF_GNU_SOURCE.</li>
10360  </ul>
10361
10362  <h1><a name="xterm_196" id="xterm_196">Patch #196 - 2004/8/15 -
10363  XFree86 4.4.99.12</a></h1>
10364
10365  <ul>
10366    <li>add a special case to configure script to ignore NetBSD's
10367    <code>grantpt()</code> which was recently added (but not part
10368    of a release), until someone is able to ensure that xterm can
10369    use it (report by Min Sik Kim).</li>
10370
10371    <li>clear the buffer returned by getutid(). This fixes an
10372    infinite loop on some platforms introduced in <a href=
10373    "#xterm_193">patch #193</a> by Debian #256468 fix (report by
10374    David Ellement).</li>
10375  </ul>
10376
10377  <h1><a name="xterm_195" id="xterm_195">Patch #195 - 2004/8/8 -
10378  XFree86 4.4.99.11</a></h1>
10379
10380  <ul>
10381    <li>correct length used for blinking text, make the last column
10382    blink (patch by Alexander V Lukyanov).</li>
10383
10384    <li>start changes to make doublesize characters work with
10385    TrueType fonts (see <a href="#xterm_44">patch #44</a>).</li>
10386
10387    <li>trim leading/trailing blanks from color resources as done
10388    for other strings in <a href="#xterm_167">patch #167</a>.</li>
10389
10390    <li>fixes for <code>showBlinkAsBold</code> resource (report by
10391    Christoph Berg).</li>
10392  </ul>
10393
10394  <h1><a name="xterm_194" id="xterm_194">Patch #194 - 2004/7/27 -
10395  XFree86 4.4.99.11</a></h1>
10396
10397  <ul>
10398    <li>change clearing operations so foreground color attribute is
10399    not set. Usually this is benign, but in some cases when the
10400    cursor color is not set explicitly, the cursor would show this
10401    color (Debian #252873, Debian #260471).</li>
10402
10403    <li>add extra state (cursor-moved) to guard against deciding
10404    that the cursor did not require repainting after an indexing
10405    operation that leaves the cursor in the same location on the
10406    screen.</li>
10407
10408    <li>fix a case where a full-screen indexing operation would not
10409    restore the cursor-busy state.</li>
10410
10411    <li>fix a repainting bug introduced in <a href=
10412    "#xterm_180">patch #180</a>: when using a font lacking
10413    line-drawing characters, a repaint of the screen could skip
10414    horizontally an extra amount after filling in the missing
10415    character (reports by Nicolas George, Hans de Goede, Redhat
10416    Bugzilla #128341).</li>
10417
10418    <li>rename terminfo fragment "xterm-pc-fkeys" to
10419    "xterm+pcfkeys" for consistency with ncurses.</li>
10420  </ul>
10421
10422  <h1><a name="xterm_193" id="xterm_193">Patch #193 - 2004/7/19 -
10423  XFree86 4.4.99.10</a></h1>
10424
10425  <ul>
10426    <li>fix for wide-character selection from OpenBSD CVS
10427    (report/patch by Matthieu Herrb).</li>
10428
10429    <li>modify initialization and cleanup of utmp data to also
10430    compare the <code>ut_line</code> member (Debian #256468).</li>
10431
10432    <li>modify check on focus-change to ignore
10433    <code>FocusOut</code> events generated by
10434    <code>XGrabKeyboard</code>. This fixes a case where the text
10435    cursor would act as if focus were lost when selecting the
10436    "Secure Keyboard" menu option.</li>
10437
10438    <li>add <code>gen-pc-fkeys.pl</code> script, use that to
10439    generate terminfo fragment corresponding to the pc-style
10440    function keys.</li>
10441
10442    <li>fix a case where the checkmark by the "VT220 Keyboard" menu
10443    entry was not set on startup.</li>
10444
10445    <li>separated two methods for making the cursor blink (menu and
10446    escape sequence) by using the menu as the primary method and
10447    XOR'ing the state of the escape sequence against that.</li>
10448
10449    <li>modify logic for enabling blinking cursor via escape
10450    sequence as well as the related save/restore operations so this
10451    is only available if the <code>cursorBlink</code> resource was
10452    set on startup.</li>
10453  </ul>
10454
10455  <h1><a name="xterm_192" id="xterm_192">Patch #192 - 2004/7/12 -
10456  XFree86 4.4.99.9</a></h1>
10457
10458  <ul>
10459    <li>change resource settings for color4 and color12, add some
10460    discussion in <code>XTerm-col.ad</code> (Debian #241717).</li>
10461
10462    <li>add a note in xterm manpage discussing the difference
10463    between alt- and meta-keys, and the way the latter is used in
10464    the <code>eightBitInput</code> resource.</li>
10465
10466    <li>add a note in xterm manpage regarding possible conflict
10467    between resource settings for <code>xterm.vt100.font</code> and
10468    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).</li>
10469
10470    <li>add compile-time customization of
10471    <code>backarrowKeyIsErase</code> and
10472    <code>ptyInitialErase</code> default resource values (adapted
10473    from OpenBSD CVS).</li>
10474
10475    <li>change parameter of <code>FIONREAD</code>
10476    <code>ioctl()</code> call from long to int (discussion on
10477    tech-x11@netbsd.org regarding LP64 by John Heasley and Matthias
10478    Scheler).</li>
10479
10480    <li>modify configure script options for Athena widgets to work
10481    as expected for "--without-Xaw3d", etc., (Gentoo Bugzilla
10482    #53455).</li>
10483
10484    <li>add case to uxterm to accommodate locales ending with
10485    "@euro", e.g., fr_FR.UTF-8@euro (Debian #255197,
10486    report/analysis by Matthieu Lagouge).</li>
10487
10488    <li>add special case for VT100 graphic's "box" character
10489    (discussion with Ben Armstrong).</li>
10490
10491    <li>add missing initialization for bitmap-font sizes needed to
10492    make fonts menu work with TrueType fonts (report by Ben
10493    Armstrong).</li>
10494
10495    <li>save the fontnames for bold fonts that are derived from
10496    normal fonts, or from the <code>boldFont</code> resource, so
10497    the same value is restored when switching with the VT Fonts
10498    menu (Debian #256086).</li>
10499
10500    <li>fix manpage preprocessing (Marc La France).</li>
10501
10502    <li>fix typo in manpage's description of character classes
10503    (Debian #257073).</li>
10504
10505    <li>modify terminfo to accommodate luit, which relies on G1
10506    being used via an ISO-2022 escape sequence (Debian #254316,
10507    analysis by Juliusz Chroboczek).</li>
10508
10509    <li>modify Makefile.in rule for ctlseqs.txt to work around
10510    groff SGR misfeature.</li>
10511
10512    <li>modify <code>XTerm.ad</code> to set <code>saveLines</code>
10513    default to 1024 (Redhat Bugzilla #127132).</li>
10514
10515    <li>add a limit-check in <code>dotext()</code> to prevent
10516    infinite loop in a corner case of UTF-8 configuration.</li>
10517
10518    <li>update config.guess, config.sub</li>
10519  </ul>
10520
10521  <h1><a name="xterm_191" id="xterm_191">Patch #191 - 2004/6/6 -
10522  XFree86 4.4.99.7</a></h1>
10523
10524  <ul>
10525    <li>correct options parsing for <code>-into</code> option so it
10526    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
10527    report/patch by James Armstrong).</li>
10528
10529    <li>fix ifdef's for <code>OPT_COLOR_RES2</code> so that the
10530    fake resource table introduced in <a href="#xterm_188">patch
10531    #188</a> is not compiled if it is empty. This happened to work
10532    with gcc (report by Joel Konkle-Parker).</li>
10533
10534    <li>reorganize ptydata.c to use one input buffer shared between
10535    the VTxxx and tek4014 emulators. In the new scheme, UTF-8
10536    decoding is performed on characters as they are needed by the
10537    state machine rather than on buffers as they are read.</li>
10538
10539    <li>work around change in quoting of PROJECTROOT symbol when
10540    using configure script, from changes made in <a href=
10541    "#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS (Gentoo
10542    Bugzilla #50982).</li>
10543  </ul>
10544
10545  <h1><a name="xterm_190" id="xterm_190">Patch #190 - 2004/5/25 -
10546  XFree86 4.4.99.6</a></h1>
10547
10548  <ul>
10549    <li>correct state for values in the range 128-159 after
10550    translating from UTF-8: this should be ignored unless the user
10551    overrides it with the <code>allowC1Printable</code> resource
10552    (reported by Simon Strandgaard).</li>
10553
10554    <li>add configure-script check for nl_langinfo(CODESET), use
10555    this to replace check of environment variables for UTF-8.</li>
10556
10557    <li>change Makefile.in rules for 256colres.h and 88colres.h so
10558    they are only made if they do not exist. The maintainer-clean
10559    rule will remove these files; they require perl to be
10560    made.</li>
10561
10562    <li>remove check in configure script --enable-toolbar that
10563    suppressed this option when building with Xaw7.</li>
10564
10565    <li>apply fixes to Tektronix widget used for VT100 widget to
10566    make toolbar work with Xaw7 (XFree86 4.x).</li>
10567  </ul>
10568
10569  <h1><a name="xterm_189" id="xterm_189">Patch #189 - 2004/5/16 -
10570  XFree86 4.4.99.6</a></h1>
10571
10572  <ul>
10573    <li>do not call xim_real_init() if <code>openIm</code> resource
10574    is false (Debian #249025).</li>
10575
10576    <li>minor improvements to built-in line-drawing.</li>
10577
10578    <li>fix a few portability issues with dynamic abbreviation
10579    support, i.e., did not compile on Tru64.</li>
10580
10581    <li>modify constraints in form used to layout toolbar, to work
10582    with newer Xaw in XFree86 4.x.</li>
10583  </ul>
10584
10585  <h1><a name="xterm_188" id="xterm_188">Patch #188 - 2004/5/12 -
10586  XFree86 4.4.99.6</a></h1>
10587
10588  <ul>
10589    <li>correct table entry for DEL in the ground state, which
10590    marked it as a printable character from <a href=
10591    "#xterm_171">patch #171</a> (report by D Hugh Redelmeier).</li>
10592
10593    <li>improve fix in <a href="#xterm_186">patch #186</a> for
10594    failure in xim_real_init() by adding a sleep.</li>
10595
10596    <li>fix a typo in os2main.c (XFree86 Bugzilla #1358,
10597    report/patch by Frank Giessler).</li>
10598
10599    <li>make escape sequence reporting dynamic colors consistent
10600    with the logic that sets it; choosing the opposite color when
10601    reverse video is set (XFree86 Bugzilla #1361, reported by Bradd
10602    W Szonye).</li>
10603
10604    <li>modify initialization of 256- and 88-colors so that colors
10605    beyond 16 are normally not X resources. This works around a
10606    hard-coded limit in Xt which breaks xterm when 256-colors and
10607    luit are both configured (report by Noah Friedman).</li>
10608
10609    <li>remove <code>ncv</code> from <code>xterm-256color</code>
10610    terminfo entry since it is no longer needed (report by Eli
10611    Zaretskii).</li>
10612
10613    <li>add "erase2" and "eol2" keywords to <code>ttyModes</code>
10614    resource, for recent/current FreeBSD.</li>
10615
10616    <li>improve ifdef's for utempter library to omit direct calls
10617    to <code>setutent()</code> or <code>getutent()</code> (adapted
10618    from patch by Christian Biere).</li>
10619
10620    <li>add dynamic abbreviation support like Emacs (patch by
10621    Tomasz Cholewo). This is ifdef'd with <code>OPT_DABBREV</code>,
10622    and enabled via the configure script
10623    <code>--enable-dabbrev</code> option.</li>
10624
10625    <li>fix problem responding to session management events, e.g.,
10626    which would make logging out very slow (patch by Eddy De Greef,
10627    Debian #233883).</li>
10628
10629    <li>work around a newer bug in toolbar with XFree86 by forcing
10630    menus to be fully initialized at startup. In older versions of
10631    XFree86 and X11R6, it was possible to delay initialization of
10632    the menu contents until it was popped up. (The longstanding bug
10633    with XFree86 4.x layout for toolbar still exists, though).</li>
10634
10635    <li>modify <code>xtermAddInput</code> to work around core dump
10636    on IRIX64 when initializing scrollbar translations if toolbar
10637    is compiled-in.</li>
10638
10639    <li>fix some minor conflicts in the 2-character entry names in
10640    the termcap file.</li>
10641  </ul>
10642
10643  <h1><a name="xterm_187" id="xterm_187">Patch #187 - 2004/4/27 -
10644  XFree86 4.4.99.4</a></h1>
10645
10646  <ul>
10647    <li>change xterm version string to use
10648    <code>__vendorversion__</code> where that is available, and
10649    "XTerm" otherwise.</li>
10650
10651    <li>improve description of <code>utf8</code> resource in
10652    manpage (Debian #179407).</li>
10653
10654    <li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS
10655    to handle <code>-D</code> options that define string values,
10656    e.g., for <code>XVENDORNAME</code>.</li>
10657
10658    <li>modify configure macro CF_IMAKE_CFLAGS to allow (if
10659    <code>$PATH</code> is set accordingly) to use the
10660    <code>xmkmf</code> script within an X build tree.</li>
10661
10662    <li>add missing <code>#undef OPT_SESSION_MGT</code> to
10663    xtermcfg.hin to make the configure script's
10664    --disable-session-mgt option work.</li>
10665
10666    <li>update config.guess, config.sub</li>
10667  </ul>
10668
10669  <h1><a name="xterm_186" id="xterm_186">Patch #186 - 2004/4/18 -
10670  XFree86 4.4.99.4</a></h1>
10671
10672  <ul>
10673    <li>change reset on <code>DECSCL</code> to a soft-reset
10674    (appears some DEC manuals have errors).</li>
10675
10676    <li>add a section to ctlseqs.ms elaborating on normal/alternate
10677    screens.</li>
10678
10679    <li>modify initialization of Acolors[] so that any
10680    XtDefaultForeground or XtDefaultBackground values are
10681    translated as in the Tcolors[], to use the window's
10682    foreground/background colors. This affects the
10683    <code>colorBD</code> and similar resources which normally have
10684    no explicit color assigned.</li>
10685
10686    <li>modify initialization of Tektronix window so that control
10687    sequences setting its color before the window is popped up will
10688    apply to its initial colors.</li>
10689
10690    <li>add control sequence to set Tektronix window's
10691    text-cursor.</li>
10692
10693    <li>modify initialization of terminal colors, e.g., mouse
10694    pointer and text cursor, to treat
10695    <code>XtDefaultForeground</code> and
10696    <code>XtDefaultBackground</code> values as the actual
10697    foreground and background colors of the terminal rather than
10698    white and black (Debian #241717).</li>
10699
10700    <li>remove an incorrect comparison against
10701    <code>PTYCHARLEN</code> in parsing the <code>-S</code> option
10702    (report by Michael B Taylor).</li>
10703
10704    <li>minor restructuring of terminfo/termcap files, having noted
10705    some packager's customizations which caused the structure to be
10706    confused.</li>
10707
10708    <li>eliminate an isolated use of MIN/MAX in charproc.c</li>
10709
10710    <li>replace <code>XtExtdefaultfont</code> and
10711    <code>XtExtdefaultbackground</code> by their more familiar
10712    equivalents <code>XtDefaultFont</code> and
10713    <code>XtDefaultBackground</code>.</li>
10714
10715    <li>replace ifdef's using <code>SCO</code>, <code>sco</code>
10716    and <code>SCO325</code> with <code>__SCO__</code> (XFree86
10717    Bugzilla #1301, Kean Johnston). But ensure that it still builds
10718    on platforms where this symbol is not defined.</li>
10719
10720    <li>add <code>scoFunctionKeys</code> resource, to match
10721    manpage.</li>
10722
10723    <li>update manpage discussion of menus and related
10724    resources.</li>
10725
10726    <li>enable utmpx support for NetBSD 1.6C and newer (patch by
10727    Matthias Scheler).</li>
10728
10729    <li>add a note in the manpage discussing xterm's treatment of
10730    open file-descriptors (request by Dan Shearer).</li>
10731
10732    <li>modify <code>Help()</code> to make "xterm -h" write to
10733    standard output rather than standard error (patch by Bram
10734    Moolenaar).</li>
10735
10736    <li>check for type of failure in xim_real_init() to avoid
10737    looping when the problem is an unsupported input method rather
10738    than a failure to connect to the XIM server. Problem was
10739    introduced in <a href="#xterm_175">patch #175</a> (XFree86
10740    Bugzilla #1306).</li>
10741
10742    <li>modify <code>Imakefile</code> to remove dependency of
10743    "install" target on the <code>xterm</code> executable to make
10744    installs from tree without attempting to rebuild anything
10745    (commit by David Dawes, report/patch from Lee Olsen).</li>
10746
10747    <li>remove call to <code>ShowCursor</code> from
10748    <code>SetCursorBlink()</code> since that is redundant, and can
10749    cause display glitches if the cursor is already blinking
10750    (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).</li>
10751  </ul>
10752
10753  <h1><a name="xterm_185" id="xterm_185">Patch #185 - 2004/3/3 -
10754  XFree86 4.4</a></h1>
10755
10756  <ul>
10757    <li>fix tcap-query logic for the backspace key (XFree86
10758    Bugzilla #1233, report/patch by Anton Kovalenko).</li>
10759
10760    <li>add test-scripts resize.pl and tcapquery.pl</li>
10761
10762    <li>add translation to ASCII of commonly-used characters that
10763    groff translates to Unicode, when the font in use does not
10764    provide the corresponding glyphs (Debian #219551).</li>
10765
10766    <li>modify RequestMaximize(), which performs maximize/restore
10767    via control sequences, to account for window-frame (patch by
10768    Jess Thrysoee).</li>
10769
10770    <li>improve pattern used in <code>uxterm</code> to check for
10771    UTF-8 locale, e.g., for HPUX (patch by H Merijn Brand).</li>
10772
10773    <li>add <code>-fd</code> option and resource
10774    <code>faceNameDoublesize</code> to specify double-wide fonts
10775    with Xft (adapted from patch by Zarick Lau).</li>
10776
10777    <li>change a couple of resource classes from "Boolean" to
10778    specific values: <code>freeBoldBox</code>,
10779    <code>forceBoxChars</code>.</li>
10780
10781    <li>add resource <code>showMissingGlyphs</code> to outline
10782    places on the screen where a font lacks the corresponding
10783    glyph.</li>
10784
10785    <li>add resource <code>showBlinkAsBold</code> to control
10786    whether blinking text should be shown as bold or actual
10787    blinking text.</li>
10788
10789    <li>improve logic in ShowCursor() to avoid repainting the
10790    cursor when it is already visible, e.g., in response to the
10791    DECTCEM escape sequence. This also addresses XFree86 Bugzilla
10792    #1158.</li>
10793
10794    <li>implement blinking text, using the timer for blinking
10795    cursor.</li>
10796
10797    <li>modify FreeType support to allow resizing the font, in the
10798    same ways the window can be resized if fixed fonts are used.
10799    The relative font sizes are derived from the fixed font
10800    sizes.</li>
10801
10802    <li>add menu items and corresponding actions for switching
10803    on/off the UTF-8 mode and Xft (TrueType) support.</li>
10804
10805    <li>add logic to handle switching UTF-8 mode on/off. It worked
10806    if the escape sequences were flushed, but if data was mixed in
10807    with the same write, some were not handled properly (report by
10808    Nicolas George).</li>
10809
10810    <li>modify to allow turning UTF-8 mode on/off via escape
10811    sequence even if <code>-wc</code> option was not given at
10812    startup (patch by Peter Berg Larsen).</li>
10813
10814    <li>amend fix for XFree86 Bugzilla #981, adjusting for
10815    savedlines value (report by Tim Adye).</li>
10816
10817    <li>fix a typo in computing relative font size (Jess
10818    Thrysoee).</li>
10819  </ul>
10820
10821  <h1><a name="xterm_184" id="xterm_184">Patch #184 - 2003/12/31 -
10822  XFree86 4.3.99.903</a></h1>
10823
10824  <ul>
10825    <li>improve configure-script checks for FreeType and related
10826    libraries, using <code>xft-config</code> or
10827    <code>freetype-config</code> scripts when available.</li>
10828
10829    <li>fix configure-script check for <code>SYSV</code> definition
10830    by ensuring whether <code>sys_errlist[]</code> is declared, and
10831    by modifying the test program to include
10832    <code>X11/Intrinsic.h</code> to check that <code>wchar_t</code>
10833    is declared consistently (report by H Merijn Brand).</li>
10834  </ul>
10835
10836  <h1><a name="xterm_183" id="xterm_183">Patch #183 - 2003/12/26 -
10837  XFree86 4.3.99.903</a></h1>
10838
10839  <ul>
10840    <li>correct logic for configurations that may attempt to open
10841    both old/new-style pseudoterminals. In this case, the old-style
10842    are preferred. Logic was broken in <a href="#xterm_145">patch
10843    #145</a> (XFree86 Bugzilla #997, report/patch by Kean
10844    Johnston).</li>
10845
10846    <li>modify handling of <code>eightBitInput</code> resource in
10847    UTF-8 mode to translate the value into UTF-8. Otherwise an
10848    illegal UTF-8 code is sent to the application (report by Bram
10849    Moolenaar).</li>
10850
10851    <li>modify <code>uxterm</code> script to interpret help and
10852    version options so xterm does not always create a window when
10853    the user requests this information (Debian #223926).</li>
10854
10855    <li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla
10856    #981).</li>
10857
10858    <li>modify DECSCL to perform a hard reset (RIS) as per DEC
10859    manuals. Extended DECSCL to accept parameters for vt4XX and
10860    vt5xx terminals.</li>
10861
10862    <li>correct logic for ANSI conformance level escape sequences,
10863    which were confused with DEC conformance level escape
10864    sequences.</li>
10865
10866    <li>correct state for vt52 shift-in/shift-out, which was not
10867    reset properly after <a href="#xterm_171">patch #171</a>.</li>
10868
10869    <li>correct handling of graphics characters for vt52 mode,
10870    which did not display line-drawing characters after G1 fix from
10871    <a href="#xterm_182">patch #182</a>.</li>
10872
10873    <li>fixes for configure script to work with current Cygwin
10874    headers and libraries.</li>
10875
10876    <li>modify <code>Imakefile</code> to put the current directory
10877    at the beginning of the include searchpath (patch by David
10878    Dawes).</li>
10879  </ul>
10880
10881  <h1><a name="xterm_182" id="xterm_182">Patch #182 - 2003/12/2 -
10882  XFree86 4.3.99.901</a></h1>
10883
10884  <ul>
10885    <li>correct logic for <code>metaSendsEscape</code> resource to
10886    allow for the meta-right key to be tested. Improve check for
10887    meta/alt modifiers by dropping the assumption that a keysym is
10888    associated with only one modifier, and by ignoring NoSymbol
10889    entries in the xmodmap data (XFree86 Bugzilla #924, patch by
10890    David Dawes).</li>
10891
10892    <li>correct wrapping logic for line-drawing characters written
10893    in non-UTF-8 mode of xterm build for wide-characters (XFree86
10894    Bugzilla #918, report/patch by J&uuml;rgen Keil).</li>
10895
10896    <li>improve manpage description of resources, in particular the
10897    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).</li>
10898
10899    <li>add definitions to compile with glibc-based GNU/Hurd,
10900    GNU/KFreeBSD and GNU/KNetBSD (XFree86 Bugzilla #893).</li>
10901
10902    <li>compiler-warning fixes (patch by Christian Biere).</li>
10903
10904    <li>add README.i18n (Tomohiro Kubota).</li>
10905
10906    <li>correct initialization of G1 character set mapping, which
10907    used line-drawing set as a result of confusion between "DEC
10908    Supplemental Graphic" and "DEC Special Graphic" character sets
10909    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).</li>
10910
10911    <li>correct ifdef in main.c for variable utret (patch by
10912    Bernhard Rosenkraenzer).</li>
10913
10914    <li>document in xterm's manpage how to use XFree86 ":unscaled"
10915    keyword to suppress scaling of bold fonts.</li>
10916
10917    <li>when deriving bold fontname from normal fontname, use the
10918    normal font's average width to avoid for example selecting
10919    7x13bold from an 8x13 normal font (Debian #107769).</li>
10920  </ul>
10921
10922  <h1><a name="xterm_181" id="xterm_181">Patch #181 - 2003/10/26 -
10923  XFree86 4.3.99.15</a></h1>
10924
10925  <ul>
10926    <li>implement <code>boldMode</code> for wide-character logic in
10927    <code>drawXtermText()</code> (report by Michael
10928    Schroeder).</li>
10929
10930    <li>modify <code>UXTerm.ad</code> resource file to include
10931    "XTerm-color" rather than "XTerm", in case the latter file
10932    contains no color resource definitions, e.g., after <a href=
10933    "#xterm_180">patch #180</a>.</li>
10934
10935    <li>add action <code>load-vt-fonts()</code> and configure
10936    option <code>--enable-load-vt-fonts</code> which allows users
10937    to define additional sets of VT-fonts which can be loaded at
10938    runtime.</li>
10939
10940    <li>add logic to wide-character support which attempts to load
10941    fonts specified by <code>utf8Fonts</code> subresources at
10942    startup. The subresources have the same names as the fonts
10943    which they replace, e.g., <code>font</code>,
10944    <code>font1</code>, etc., so that the ISO-10646-1 fonts can be
10945    specified in the <code>XTerm</code> app-defaults file (adapted
10946    from patch by Tomohiro Kubota).</li>
10947
10948    <li>improve Set Font escape string handling by making the
10949    relative settings apply to the size of the font, as in shift
10950    keypad plus/minus rather than the menu index.</li>
10951
10952    <li>simplify parameter passing for the <code>set-vt-font</code>
10953    action and related code.</li>
10954
10955    <li>cleanup some include-ordering, moving some recently-added
10956    hardcoded stuff into xterm.h where it will not interfere with
10957    the configure script.</li>
10958
10959    <li>modify <code>xtermAddInput()</code> (see note on
10960    augmentation in <a href="#xterm_158">patch #158</a>) to use the
10961    complete set of default keyboard translations so that one can
10962    use shifted pageup, wheel mouse, etc., while the mouse pointer
10963    is over the scrollbar. (Debian #178812).</li>
10964
10965    <li>make save/restore mode controls apply to show/blink cursor
10966    states.</li>
10967
10968    <li>add escape sequence to start/stop blinking cursor, which
10969    allows implementing <code>cvvis</code> terminfo capability
10970    (request by Nate Bargmann).</li>
10971
10972    <li>add <code>indp</code> and <code>rin</code> to terminfo
10973    entry.</li>
10974
10975    <li>fix an out-of-bounds array reference in ScrnRefresh() for
10976    wide characters (report by Dan Harnett, patch by Todd Miller).
10977    This bug dates from <a href="#xterm_141">patch #141</a>.</li>
10978  </ul>
10979
10980  <h1><a name="xterm_180" id="xterm_180">Patch #180 - 2003/10/12 -
10981  XFree86 4.3.99.15</a></h1>
10982
10983  <ul>
10984    <li>several fixes for rendering using Xft via option
10985    <code>-fa</code>:
10986      <ul>
10987        <li>translate Unicode values, i.e,. from UTF-8 output to
10988        xterm, for line-drawing to xterm's internal code, etc.,
10989        since TrueType fonts generally do not have either set of
10990        line-drawing glyphs. xterm can draw these directly (report
10991        by Abigail Brady).</li>
10992
10993        <li>pass 16-bit values rather than 8-bit values to
10994        xtermXftDrawString() to allow for wide-characters.</li>
10995
10996        <li>remove spurious check for <code>colorBDMode</code>
10997        resource in logic that does bold fonts.</li>
10998
10999        <li>implement underlining.</li>
11000      </ul>
11001    </li>
11002
11003    <li>patches by Ilya Zakharevich:
11004      <ul>
11005        <li>improve drawXtermText() by making the recursive calls
11006        communicate through arguments, and not through
11007        saving/restoring global variables.</li>
11008
11009        <li>make double-width characters work with <code>-u8</code>
11010        option.</li>
11011
11012        <li>modify lookup of double-sized fonts by checking for a
11013        match ignoring x/y resolution if the first check
11014        fails.</li>
11015      </ul>
11016    </li>
11017
11018    <li>make height of TrueType fonts match ascent+descent (patch
11019    by Keith Packard).</li>
11020
11021    <li>correct configure-script check for imake $CFLAGS, which did
11022    not check properly if imake was not available.</li>
11023
11024    <li>correct install rule in Makefile.in for
11025    <code>uxterm</code>, which was attempting to strip the script
11026    (newsgroup posting by Fernan Aguero).</li>
11027
11028    <li>correct AF/AB strings in termcap for xterm-256color and
11029    xterm-88color entries (report by Josh Howard).</li>
11030
11031    <li>update wcwidth.c to incorporate changes from Markus Kuhn's
11032    2003-05-20 (Unicode 4.0) version of that file.</li>
11033
11034    <li>modify <code>scroll-back</code> and
11035    <code>scroll-forw</code> actions to accept an adjustment value,
11036    e.g.,
11037
11038      <pre>
11039              <code>scroll-back(1, page-2)</code>
11040</pre>to scroll back by 2 lines less than a page (patch by Greg
11041Klanderman).
11042    </li>
11043
11044    <li>use color resource setting from Debian package for xterm
11045    VT100 widget, since the choice of blues provides better
11046    contrast.</li>
11047
11048    <li>remove color resources from <code>XTerm.ad</code>, leaving
11049    them only in <code>XTerm-col.ad</code> (prompted by Debian
11050    package for xterm).</li>
11051
11052    <li>correct configure script option --enable-pty-handshake
11053    (report by Paul Gilmartin).</li>
11054
11055    <li>add <code>visualBellDelay</code> resource to modify the
11056    length of time used for visual bell, for very slow displays or
11057    very fast computers (reports by Ingo van Lil and Doug
11058    Toppin).</li>
11059
11060    <li>correct logic for initializing dynamic highlight color
11061    (patch by Jess Thrysoee).</li>
11062
11063    <li>add a check for non-zero size in call to
11064    <code>XCopyArea()</code> to accommodate a Solaris bug.</li>
11065
11066    <li>correct typo in example for character classes in xterm
11067    manpage (Debian #198910).</li>
11068
11069    <li>link xterm with bind_on_load option on Darwin to work
11070    around a deadlock in the dynamic loader when a signal is
11071    received while the dynamic loader is looking up symbols
11072    (patches by Rob Braun, Torrey Lyons).</li>
11073
11074    <li>modify configure script to avoid using "head -1".</li>
11075
11076    <li>update config.guess, config.sub</li>
11077
11078    <li>modify ifdef's to work around inclusion of types FcChar32
11079    and XftCharSpec with FreeType 2.0 (see <a href=
11080    "#xterm_175">patch #175</a>).</li>
11081
11082    <li>modify the predictable version of the generated logfile
11083    name (see <a href="#xterm_171">patch #171</a>) to append the
11084    process-id rather than a random value.</li>
11085
11086    <li>resync with XFree86 CVS
11087      <ul>
11088        <li>Enable SCO function keys in xterm</li>
11089
11090        <li>Make Delete key send DEL by default on SCO in
11091        xterm</li>
11092      </ul>
11093    </li>
11094  </ul>
11095
11096  <h1><a name="xterm_179" id="xterm_179">Patch #179 - 2003/5/21 -
11097  XFree86 4.3.99.5</a></h1>
11098
11099  <ul>
11100    <li>modify ifdef's for WTMPX_FILE to allow building on cygwin
11101    again.</li>
11102
11103    <li>change the default of pty-handshaking configure option (and
11104    related default for imake) to assume this feature is
11105    needed.</li>
11106
11107    <li>add ifdef's so configure option for XawPlus library works
11108    (patch by Pavel Roskin).</li>
11109
11110    <li>add <code>$(MAIN_DEFINES)</code> to the variables checked
11111    by the configure script that may contain information set by
11112    imake. This allows xterm to build/run properly using the
11113    configure script on IRIX64.</li>
11114
11115    <li>add configure check for ".exe" suffix on cygwin.</li>
11116  </ul>
11117
11118  <h1><a name="xterm_178" id="xterm_178">Patch #178 - 2003/5/18 -
11119  XFree86 4.3.99.5</a></h1>
11120
11121  <ul>
11122    <li>modify default for configure
11123    <code>--enable-pty-handshake</code> option to enable it for
11124    Solaris (report by Nelson Beebe).</li>
11125
11126    <li>modify <code>in_put()</code> function to call
11127    <code>PreeditPosition()</code> only when the cursor's position
11128    has changed. This addresses report by Stefan Baums of high CPU
11129    usage while xterm with chinput are running in the background
11130    (patch by Yong Li).</li>
11131
11132    <li>improved explanation of <code>-ls</code> conflict with
11133    <code>-e</code> option in xterm manpage (adapted from comments
11134    by Henning Makholm).</li>
11135
11136    <li>correct comment in terminfo file regarding modifier used
11137    for <code>kDC</code> (Debian #189764, report by Henning
11138    Makholm).</li>
11139
11140    <li>correct/extend some of the keypad description in ctlseqs.ms
11141    (report by Henning Makholm).</li>
11142
11143    <li>correct keypad-mapping table in input.c so
11144    <code>XK_KP_Equal</code> works (report by Henning
11145    Makholm).</li>
11146
11147    <li>modified to work with CJK double-width (bi-width/monospace)
11148    fonts. They're similar to Roman Czbora and David Starner's
11149    gnuunifonts in that Latin letters and numbers have all the same
11150    width which is exactly the half of the width of East Asian
11151    characters. (patch by Jungshik Shin
11152    &lt;jshin@mailaps.org&gt;).</li>
11153
11154    <li>add configure option <code>--enable-broken-osc</code> and
11155    resource <code>brokenLinuxOSC</code> to accommodate scripts
11156    which do not distinguish between running in the Linux console
11157    and running in X. Linux console recognizes malformed control
11158    strings which start with an <code>OSC</code>, but are
11159    fixed-length, with no terminator.</li>
11160
11161    <li>add configure option <code>--enable-broken-st</code> and
11162    resource <code>brokenStringTerm</code> to allow user to revert
11163    one part of the parsing table corrections from <a href=
11164    "#xterm_171">patch #171</a>. (reports by Matthias Scheler and
11165    Kirill Ponomarew indicate that someone's network firmware sends
11166    an <code>&lt;escape&gt;X</code>).</li>
11167
11168    <li>modify configure <code>--disable-imake</code> to provide
11169    values for <code>OSMAJORVERSION</code>,
11170    <code>OSMINORVERSION</code>, <code>FUNCPROTO</code> and
11171    <code>NARROWPROTO</code> (report by Heiko Schlichting).</li>
11172
11173    <li>correct <code>vttests/16colors.sh</code>, which omitted the
11174    <code>$SUF</code> variable in output strings (patch by Paul
11175    Gilmartin).</li>
11176
11177    <li>modify shell scripts in <code>vttests</code> directory to
11178    attempt to use named signals in the <code>trap</code>
11179    statement, making this portable to OS/390 (report by Paul
11180    Gilmartin). Tested on SunOS 4.1.4, which implements only
11181    numbers.</li>
11182  </ul>
11183
11184  <h1><a name="xterm_177" id="xterm_177">Patch #177 - 2003/3/23 -
11185  XFree86 4.3.0</a></h1>
11186
11187  <ul>
11188    <li>fix definition of <code>USE_HANDSHAKE</code>, must be
11189    numeric (reported by Jens Schleusener).</li>
11190  </ul>
11191
11192  <h1><a name="xterm_176" id="xterm_176">Patch #176 - 2003/3/22 -
11193  XFree86 4.3.0</a></h1>
11194
11195  <ul>
11196    <li>add configure option <code>--enable-pty-handshake</code> to
11197    allow one to compile-in support for the pty handshaking logic,
11198    and resource <code>ptyHandshake</code> to enable or disable it
11199    (suggested by Ian Collier).</li>
11200
11201    <li>restore <code>USE_HANDSHAKE</code> ifdef removed in
11202    <a href="#xterm_159">patch #159</a> to address Debian
11203    #39964.</li>
11204
11205    <li>move ifdef's for ttysize/winsize into xterm_io.h</li>
11206
11207    <li>simplify loop on <code>tgetent</code>, check if the
11208    successive entries in the lookup table are the same. That makes
11209    xterm do one less lookup if there is no "xterm" entry in the
11210    termcap file (report by Derek Martin).</li>
11211
11212    <li>correct manpage discussion of <code>$TERM</code> and
11213    <code>$TERMCAP</code> variables, which omitted the Tektronix
11214    emulation and a note of the final "dumb" fallback.</li>
11215
11216    <li>broaden ifdef for
11217    <code>XRegisterIMInstantiateCallback()</code> from <a href=
11218    "#xterm_175">patch #175</a> (XIM fix) to exclude non-XFree86
11219    (report by Nelson Beebe indicates this breaks for Solaris, IRIX
11220    and OSF/1).</li>
11221
11222    <li>correct resource-size for <code>iconFont</code> (this was
11223    added by X11R6.3).</li>
11224
11225    <li>improve configure check for XKB bell extension, to work
11226    around inconsistent implementation of this feature (reports by
11227    Nelson Beebe, Kriston Rehberg and David Ellement).</li>
11228
11229    <li>modify configure-check for <code>tty</code> group to be
11230    less strict in batch mode (report by Nelson Beebe).</li>
11231
11232    <li>modify to allow building with g++, to use its compiler
11233    warnings (suggested by Nelson Beebe).</li>
11234
11235    <li>modify <code>dec2ucs[]</code> table to reflect newer codes
11236    available for scanlines 1, 3, 7, 9 (report by Michael
11237    Schroeder).</li>
11238
11239    <li>add configure option for XawPlus library.</li>
11240  </ul>
11241
11242  <h1><a name="xterm_175" id="xterm_175">Patch #175 - 2003/3/9 -
11243  XFree86 4.3.0</a></h1>
11244
11245  <ul>
11246    <li>fix a SIGSEGV which could occur if xterm is connecting to
11247    XIM server, and the XIM server is destroyed (patch by Nam
11248    SungHyun).</li>
11249
11250    <li>modify to use built-in line-drawing characters for Xft
11251    fonts (patch by Andrew Tipton).</li>
11252
11253    <li>make menu reflect the state of the <code>tekInhibit</code>
11254    resource.</li>
11255
11256    <li>make <code>signalInhibit</code> resource work, i.e.,
11257    disable the menu entries that would send signals to, or exit
11258    xterm. This was probably broken in X11R5 when logging was
11259    disabled (report by Sven Mascheck).</li>
11260
11261    <li>changed classes of <code>colorBDMode</code> and similar
11262    resources that override colors when a video attribute is set to
11263    <code>ColorAttrMode</code>, to make them distinct from
11264    <code>ColorMode</code>. This avoids an unexpected rendering of
11265    reverse video, for example (report by Paul Fox).</li>
11266
11267    <li>changed class of <code>veryBoldColors</code> to
11268    <code>VeryBoldColors</code>, since <code>ColorMode</code> is
11269    associated with boolean resources.</li>
11270
11271    <li>add option <code>-k8</code> and resource
11272    <code>allowC1Printable</code> to allow users of non-VTxxx
11273    character sets such as KOI-8 to treat the C1 control area
11274    (character codes 128-159) as printable rather than control
11275    characters.</li>
11276
11277    <li>add a null-pointer check for return-value of
11278    <code>ptsname()</code> in HPUX-specific code (report by David
11279    Ellement).</li>
11280
11281    <li>revise the ifdef's used for <code>XKB</code> bell support.
11282    The code was using a nonstandard call
11283    <code>XkbStdBell()</code>. Changed to use
11284    <code>XkbBell()</code> (based on patch by
11285    &lt;derek@signalmarketing.com&gt;).</li>
11286
11287    <li>add a null-pointer check in <code>xtermLoadFont()</code> in
11288    case there is no wide-bold font (Nam SungHyun).</li>
11289
11290    <li>change <code>Makefile.in</code> to use autoconf's
11291    <code>bindir</code>, <code>libdir</code> and
11292    <code>mandir</code> variables (report by Nam SungHyun).</li>
11293
11294    <li>add <code>le</code> to termcap <code>xterm-basic</code>
11295    entry. Though missing from older termcaps for xterm, some
11296    applications check for it (report by Matthias Buelow).</li>
11297
11298    <li>modify <code>uxterm</code> script to strip modifiers such
11299    as "@euro" from the locale setting before adding ".UTF-8"
11300    (Debian #179929).</li>
11301
11302    <li>modify the remaining places where tek4014 emulation uses
11303    <code>XDefineCursor()</code>, to make it work as originally
11304    implemented, e.g., when switching back to alpha mode. Added
11305    test-screen in vttest to test this feature properly.</li>
11306  </ul>
11307
11308  <h1><a name="xterm_174" id="xterm_174">Patch #174 - 2003/2/25 -
11309  XFree86 4.2.99.903</a></h1>
11310
11311  <ul>
11312    <li>work-around for XFree86 bug which made
11313    <code>XDefineCursor()</code> on a shell-window no longer work.
11314    The tek4014 emulation used this. Use the next lower window
11315    (report by Karl Rudolf Bauchspiess).</li>
11316
11317    <li>add a resource setting <code>allowWindowOps</code> to
11318    control whether the extended window operations should be
11319    allowed, e.g., resize, iconify, report window attributes. This
11320    is to accommodate people who are not capable of using a pager
11321    to view log-files.</li>
11322  </ul>
11323
11324  <h1><a name="xterm_173" id="xterm_173">Patch #173 - 2003/2/6 -
11325  XFree86 4.2.99.902</a></h1>
11326
11327  <ul>
11328    <li>reset mouse mode to normal on a full reset. This does not
11329    apply to mouse hilite tracking mode, of course (see
11330    ctlseqs.ms).</li>
11331
11332    <li>add a time-delay at the point where mouse hilite tracking
11333    mode choses to not handle X events, to avoid runaway CPU usage
11334    (report by D Hugh Redelmeier).</li>
11335
11336    <li>check for illegal character in DECUDK string, quit if
11337    detected.</li>
11338  </ul>
11339
11340  <h1><a name="xterm_172" id="xterm_172">Patch #172 - 2002/12/27 -
11341  XFree86 4.2.99.3</a></h1>
11342
11343  <ul>
11344    <li>fixes to make repainting of 256-color example work properly
11345    (reports by Abigail Brady and Scott A Crosby).
11346      <ul>
11347        <li>set flag in <code>AllocateAnsiColor()</code> to ensure
11348        the color is allocated once only.</li>
11349
11350        <li>fix check in <code>ScrnRefresh</code>, which was
11351        comparing background colors only if the ANSI foreground
11352        colors also were set.</li>
11353      </ul>
11354    </li>
11355
11356    <li>merge <code>Error()</code> calls and some
11357    <code>exit()</code> calls into <code>SysError()</code>, and
11358    change that to add the brief explanation for each error code
11359    which is provided in the manpage. Change a few
11360    <code>SysError()</code>, calls to avoid using code 1, to avoid
11361    confusion with exit status from places that do not use
11362    <code>SysError()</code>.</li>
11363
11364    <li>simplify logic used to open a debug logfile as the standard
11365    error.</li>
11366
11367    <li>modify the <code>-e</code> option so that if it fails,
11368    xterm will check if only one argument follows, e.g., it was
11369    quoted, and then retry using <code>sh&nbsp;-c</code>.</li>
11370
11371    <li>modify parsing of DECUDK string parameter to allow a comma
11372    between pairs of hexadecimal digits (Ray Neuman
11373    &lt;raymond@one.com.au&gt; reports that "real" terminals accept
11374    this; perhaps they simply ignore unexpected characters).</li>
11375
11376    <li>fix a few problems with the <code>$TERMCAP</code> string
11377    generated by <code>resize</code>:
11378      <ul>
11379        <li>for Bourne shell, add an <code>export</code> command.
11380        This was missing as far back as X11R5.</li>
11381
11382        <li>escape exclamation marks, used in xterm's reset
11383        string.</li>
11384
11385        <li>translate literal <code>\177\</code> to "^?".</li>
11386      </ul>
11387    </li>
11388
11389    <li>improve configure check for <code>tgetent()</code> to work
11390    when <code>$TERMCAP</code> has been set to a specific
11391    entry.</li>
11392
11393    <li>modify <code>minstall.sh</code> to use "%" rather than "@",
11394    to avoid problems with AFS (report by Zdenek Sekera).</li>
11395
11396    <li>list fatal error codes from <code>error.h</code> in the
11397    manpage, remove unused codes in <code>error.h</code>.</li>
11398
11399    <li>use more explicit wording for manpage list of color
11400    resources, since at least one user confused the generic names
11401    such as "black" with the names in rgb.txt (the latter are now
11402    used).</li>
11403
11404    <li>minor fix to description of 1003 mouse mode in ctlseqs.ms
11405    (Larry Riedel).</li>
11406  </ul>
11407
11408  <h1><a name="xterm_171" id="xterm_171">Patch #171 - 2002/12/12 -
11409  XFree86 4.2.99.3</a></h1>
11410
11411  <ul>
11412    <li>modify parser tables to improve detection of malformed
11413    control sequences, making xterm behave more like a real DEC
11414    terminal (patch by Paul Williams).</li>
11415
11416    <li>update comment in <code>input.c</code> to document
11417    <code>Meta</code> as a modifier for escape sequences (patch by
11418    D Roland Walker).</li>
11419
11420    <li>add ifdef'd code for logging option which adds the hostname
11421    and a timestamp to the generated logfile name. The ifdef's are
11422    setup with the configure script (patch by Nelson Beebe).</li>
11423
11424    <li>remove <code>xevents()</code> call from the end of
11425    <code>BlinkCursor()</code>, to fix an occasional problem which
11426    caused xterm to pause until a key was pressed. The reason for
11427    this was that there was no check to ensure that there really
11428    were events for <code>xevents()</code> to process. (patch by
11429    Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).</li>
11430
11431    <li>remove unused mode-params from <code>open()</code> calls
11432    that do not create a file.</li>
11433
11434    <li>modify configure script to put new items first on
11435    <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid
11436    conflict with environment's <em>-I</em> and <em>-D</em>
11437    options.</li>
11438
11439    <li>update config.guess, config.sub</li>
11440
11441    <li>resync with XFree86 CVS
11442      <ul>
11443        <li>fix va_args glitches for xterm/libfontconfig: 0 ==
11444        (void*)0 isn't true for all platforms (Egbert Eich).</li>
11445
11446        <li>initialise ProgramName in xterm's main before
11447        referencing it (XFree86 #5473, Peter Valchev).</li>
11448
11449        <li>some cleanup of Imakefile ifdef's (Marc La
11450        France).</li>
11451      </ul>
11452    </li>
11453  </ul>
11454
11455  <h1><a name="xterm_170" id="xterm_170">Patch #170 - 2002/10/13 -
11456  XFree86 4.2.1</a></h1>
11457
11458  <ul>
11459    <li>correct an off-by-one allocating data for sorted help
11460    message.</li>
11461
11462    <li>modify configure script to check for Xpm library, on which
11463    XFree86 Xaw library depends.</li>
11464
11465    <li>update config.guess, config.sub</li>
11466  </ul>
11467
11468  <h1><a name="xterm_169" id="xterm_169">Patch #169 - 2002/10/5 -
11469  XFree86 4.2.1</a></h1>
11470
11471  <ul>
11472    <li>modify wording of some options in help message to make them
11473    use <code>-/+</code> consistently with respect to "on/off" or
11474    "off/on".</li>
11475
11476    <li>sort options list which is displayed in help- and
11477    syntax-messages at runtime to simplify maintenance.</li>
11478
11479    <li>remove support for Amoeba and Minix (Juliusz Chroboczek
11480    noted it was removed from XFree86 server; there have been no
11481    users since 1996).</li>
11482
11483    <li>add configure script option
11484    <code>--disable-session-mgt</code> to control whether the
11485    session management code should be compiled-in (request by H
11486    Merijn Brand).</li>
11487
11488    <li>ifdef'd the session-management changes with
11489    <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which
11490    predates the related definitions.</li>
11491
11492    <li>fix <code>decode_keyvalue()</code>, which did not properly
11493    parse multiple settings as needed for the <code>ttyModes</code>
11494    resource, since it did not skip over the parsed data.</li>
11495
11496    <li>fix an option-parsing conflict between <code>-class</code>
11497    and <code>-cjk_width</code> (Nam SungHyun)</li>
11498
11499    <li>add a missing null in <code>XtVaSetValues()</code> call
11500    used in <code>Cleanup()</code> (Nam SungHyun)</li>
11501  </ul>
11502
11503  <h1><a name="xterm_168" id="xterm_168">Patch #168 - 2002/9/29 -
11504  XFree86 4.2.1</a></h1>
11505
11506  <ul>
11507    <li>improve data reported for control sequence that requests
11508    window position by taking into account the window decorations,
11509    e.g., border and title (patch by Jess Thrysoee
11510    &lt;jess@thrysoee.dk&gt;).</li>
11511
11512    <li>add <code>-cjk_width</code> and corresponding resource
11513    <code>cjkWidth</code> (patch by Jungshik Shin
11514    &lt;jshin@mailaps.org&gt;).</li>
11515
11516    <li>add <code>-into</code> option, for embedding xterm in a
11517    Tcl/Tk application (patch by George Peter Staplin
11518    &lt;georgeps@xmission.com&gt;).</li>
11519
11520    <li>add simple session management (XSM) client capabilities to
11521    xterm. So a session manager such as, e.g., xsm, should be able
11522    to respawn or kill xterms without the help of an SM proxy (like
11523    smproxy), which is a hack and almost always buggy (patch by
11524    David Madore).</li>
11525
11526    <li>fix conflict between ifdef's for
11527    <code>OPT_DEC_LOCATOR</code> and <code>OPT_READLINE</code> in
11528    button.c (reported by Ilya Zakharevich).</li>
11529
11530    <li>fix for inconsistent use of <code>struct utmp</code> versus
11531    <code>struct utmpx</code> introduced in <a href=
11532    "#xterm_167">patch #167</a> (patches by Paul Gilmartin, Marc La
11533    France).</li>
11534
11535    <li>modify logic for <code>metaSendsEscape</code> to allow it
11536    to work in a setup where the Meta-key is not recognized as a
11537    modifier by the key-translations logic (discussion of
11538    eightBitInput with H.J.Lu). Note however that Vincent
11539    Lef&egrave;vre reported this in January).</li>
11540
11541    <li>use null pointer values consistently, rather than literal
11542    "0", for ending variable-length argument lists, e.g., for
11543    <code>execlp()</code> (based on patch by Matthieu Herrb).</li>
11544
11545    <li>correct logic of <code>ChangeAnsiColorRequest()</code>,
11546    which would do a screen repaint after replying to a request for
11547    information.</li>
11548
11549    <li>improve scripts in vttests to work with systems whose
11550    shells support <code>echo -n</code> and have, as does Debian,
11551    an unrelated <code>print</code> utility.</li>
11552
11553    <li>add vttests/acolors.sh to demonstrate OSC 4, which queries
11554    or sets ANSI colors.</li>
11555
11556    <li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).</li>
11557
11558    <li>typos in xterm manpage (Jens Schweikhardt)</li>
11559
11560    <li>remove a redundant GCC_UNUSED from InitPopup() (Nam
11561    SungHyun)</li>
11562  </ul>
11563
11564  <h1><a name="xterm_167" id="xterm_167">Patch #167 - 2002/8/24 -
11565  XFree86 4.2.0</a></h1>
11566
11567  <ul>
11568    <li>correct ifdef's for <code>USE_TERMCAP</code> to match
11569    cygwin configuration.</li>
11570
11571    <li>fix several places in ctlseqs.ms which had no boxes around
11572    the literal text (report by Ilya Zakharevich).</li>
11573
11574    <li>extend mouse support for readline, ifdef'd with
11575    OPT_READLINE (integrated patch from Ilya Zakharevich).</li>
11576
11577    <li>modify terminfo description to match default for
11578    <code>modifyCursorKeys</code> resource.</li>
11579
11580    <li>add <code>modifyCursorKeys</code> resource to control how
11581    the shift- and similar modifiers are used to make a cursor
11582    escape sequence. The default makes a modified escape sequence
11583    always start with CSI and puts the modifier as the second
11584    parameter, to avoid confusing applications that would interpret
11585    the first parameter as a repeat count. The original behavior
11586    can be obtained by setting the resource to 0 (newsgroup
11587    discussion with Stephen J Turnbull, Jeffrey Altman).</li>
11588
11589    <li>correct missing initializations for
11590    <code>appdefaultCursor</code> and <code>appdefaultKeypad</code>
11591    resources.</li>
11592
11593    <li>add configure option <code>--enable-luit</code> and ifdef'd
11594    the luit-related code with OPT_LUIT_PROG.</li>
11595
11596    <li>modify xterm to invoke luit (integrated patch by Tomohiro
11597    Kubota)</li>
11598
11599    <li>update wcwidth.c to match Markus Kuhn's 2002-05-18
11600    version.</li>
11601
11602    <li>correct limit-checking in <code>ComputeSelect()</code> to
11603    handle selections that extend off the visible area; rather than
11604    modify the parameters to <code>TrackText()</code>, use
11605    <code>ScrollSelection()</code> to update the highlighting
11606    limits. (reported by Yegappan Lakshmanan and Nelson Beebe,
11607    patch by Alexander V Lukyanov).</li>
11608
11609    <li>correct manpage description of <code>tiXtraScroll</code>
11610    resource (reported by Tony Finch).</li>
11611
11612    <li>changes from OpenBSD:
11613      <ul>
11614        <li>Make xterm setgid utmp to be able to update utmp even
11615        with root privileges revoked.</li>
11616
11617        <li>If not updating utmp, revoke group privileges totally
11618        too.</li>
11619      </ul>
11620    </li>
11621
11622    <li>changes from NetBSD:
11623      <ul>
11624        <li>Check that the return value from ttyslot() is greater
11625        than 0 before writing the utmp file. Fixes w's "w: Stale
11626        utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;"
11627        errors.</li>
11628
11629        <li>Use openpty() to deal with new pty naming scheme.</li>
11630      </ul>
11631    </li>
11632
11633    <li>add <code>print-redir</code> action and menu entry to allow
11634    user to switch terminal in/out of printer controller mode. It
11635    appears from the manual that a real vt220 would not switch back
11636    to normal mode, so another mechanism is used (addresses Debian
11637    #37517).</li>
11638
11639    <li>check if <code>printerCommand</code> resource string is
11640    empty, use this to allow user to disable printer function.</li>
11641
11642    <li>trim trailing blanks from resource strings.</li>
11643
11644    <li>check return value from <code>ptsname()</code>, which may
11645    return null for example if someone has changed the permissions
11646    of /dev/pts to zero (Debian #121899).</li>
11647
11648    <li>modify OS/2 version to use <code>__UNIXOS2__</code>
11649    definition rather than <code>__EMX__</code>, related cleanup
11650    (patch by Holger Veit).</li>
11651
11652    <li>used modified indent 2.0 (patch <a href=
11653    "ftp://ftp.invisible-island.net/gnu-patches/">20020428</a>) to
11654    reformat most of the C source files, to simplify
11655    maintenance.</li>
11656
11657    <li>fix a couple of places where there were leading tabs on
11658    symbol-definition lines in Imakefile (Marc La France from
11659    report by Tony Finch)</li>
11660
11661    <li>add imake variable (TraceXTerm) to allow building debug
11662    version (Egbert Eich).</li>
11663  </ul>
11664
11665  <h1><a name="xterm_166" id="xterm_166">Patch #166 - 2002/3/25 -
11666  XFree86 4.2.0</a></h1>
11667
11668  <ul>
11669    <li>correct a bug in selection: double clicking on a word which
11670    was partly scrolled off the screen may select that text (report
11671    by Vincent Lef&egrave;vre &lt;vincent@vinc17.org&gt;).</li>
11672
11673    <li>implement <code>veryBoldColors</code> resource to control
11674    whether the corresponding video attribute such as
11675    <code>bold</code> is displayed when using
11676    <code>colorBDMode</code>, etc. (request by Josh Howard
11677    &lt;jrh@vicor-nb.com&gt;).</li>
11678
11679    <li>define escape sequences for function keys F21-F35 (patch by
11680    Stephen P Wall).</li>
11681
11682    <li>change the colors for the 256-color model, making them less
11683    skewed toward black (patch by Stephen P Wall).</li>
11684
11685    <li>add <code>vt100Graphics</code> resource (see <a href=
11686    "#xterm_115">patch #115</a>, based on discussion with Glenn
11687    Maynard).</li>
11688
11689    <li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid
11690    potential incompatibilities between these flavors of Athena
11691    widgets.</li>
11692
11693    <li>add configure check for XFree86 4.x Xaw library, whose
11694    geometry management is broken, to avoid trying to use it for
11695    toolbar configuration.</li>
11696
11697    <li>updates to configure script from vile and lynx to allow
11698    configure.in to be compiled with autoconf 2.5x</li>
11699
11700    <li>add a check for null pointer return by
11701    <code>ptsname()</code> (newsgroup posting from Mike Silva
11702    &lt;mikesilva@lucent.com&gt;).</li>
11703
11704    <li>fill in a few details needed to allow UTF-8 mode to switch
11705    on/off after startup. This requires that <code>wideChars</code>
11706    resource be set. (based on comments in 4 Aug 2001 by Alexey
11707    Marinichev &lt;lyosha@lyosha.2y.net&gt;).</li>
11708
11709    <li>remove duplicate install rules that make directories, e.g.,
11710    so installing manpage will not create app-defaults
11711    directory.</li>
11712
11713    <li>add comment in in <code>do_osc()</code>, reserving cases 30
11714    and 31 for for Konsole (request by Stephan Binner
11715    &lt;Stephan.Binner@gmx.de&gt;).</li>
11716
11717    <li>fixes for ctlseqs.ms and xterm.man (patch by Werner Lemberg
11718    &lt;wl@gnu.org&gt;).</li>
11719
11720    <li>add check for monochrome display, disabling colorMode in
11721    that case (fixes Debian #134130).</li>
11722
11723    <li>resync with XFree86 CVS
11724      <ul>
11725        <li>Fix some xterm build warnings on *BSD (patch by David
11726        Dawes).</li>
11727
11728        <li>Only use SA_RESTART in xterm when it's available (patch
11729        by Frank Liu).</li>
11730
11731        <li>Fix incorrect code in signal handlers in most of the
11732        clients, xterm and xdm not done yet (patch by Matthieu
11733        Herrb).</li>
11734      </ul>
11735    </li>
11736  </ul>
11737
11738  <h1><a name="xterm_165" id="xterm_165">Patch #165 - 2002/1/5 -
11739  XFree86 4.1.0</a></h1>
11740
11741  <ul>
11742    <li>modify <code>uxterm</code> script to strip encoding part
11743    from environment variable before adding ".UTF-8" (based on
11744    Debian #125947, but using a more portable solution).</li>
11745
11746    <li>add an assignment statement in VTInitialize() to make
11747    <code>awaitInput</code> resource work.</li>
11748
11749    <li>use new macros init_Bres(), etc., in VTInitialize() to add
11750    trace of the initialization of resources.</li>
11751
11752    <li>modify checks for $LC_ALL, related environment variables to
11753    ensure the resulting strings are nonempty (report by Markus
11754    Kuhn).</li>
11755
11756    <li>add an ifdef in charproc.c for num_ptrs variable in case
11757    all configure options are disabled.</li>
11758
11759    <li>modify definition of getXtermBackground() to avoid negative
11760    array index warning on Tru64 (report by Jeremie Petit).</li>
11761
11762    <li>improve fix from patch #165 (still Debian #117184, report
11763    by Matt Zimmerman &lt;mdz@debian.org&gt;)</li>
11764
11765    <li>correct install rule for uxterm in Makefile.in, to handle
11766    the case where building in a different directory than xterm's
11767    source (patch by Paul Gilmartin).</li>
11768
11769    <li>documented ANSI.SYS-style cursor save/restore escape
11770    sequences in ctlseqs.ms, which are in xterm since X11R5.</li>
11771
11772    <li>correct two entries in the default charClass table, which
11773    did not follow the manpage comment about the character number
11774    corresponding to the class (patch by Marc Bevand
11775    &lt;bevand_m@epita.fr&gt;).</li>
11776
11777    <li>fix a couple of typos in comments in the app-defaults files
11778    (David Krause &lt;xfree86@davidkrause.com&gt;).</li>
11779
11780    <li>resync with XFree86 CVS
11781      <ul>
11782        <li>update language of copyrights in some files to reflect
11783        the fact that they were reassigned from X Consortium to The
11784        Open Group in 1998. Note that this xterm source is derived
11785        from the 1996 version from X Consortium, does not
11786        incorporate changes made by X Consortium or The Open Group
11787        after that date, hence we do not add The Open Group's 1998
11788        copyright date to related files.</li>
11789
11790        <li>save/restore <code>errno</code> in signal catcher
11791        (patch by Matthieu Herrb).</li>
11792
11793        <li>modify UXTerm.ad's font5 resource so that xterm can
11794        display double width characters using a font distributed
11795        with XFree86 (Tomohiro Kubota).</li>
11796      </ul>
11797    </li>
11798  </ul>
11799
11800  <h1><a name="xterm_164" id="xterm_164">Patch #164 - 2001/11/13 -
11801  XFree86 4.1.0</a></h1>
11802
11803  <ul>
11804    <li>correct a case where <code>ptyInitialErase</code> and
11805    <code>backarrowKeyIsErase</code> resources combine to set
11806    <code>DECBKM</code> mode, but a <code>reset</code> command
11807    would not reset xterm to that state, making the erase character
11808    revert to ^H (Debian #117184)</li>
11809  </ul>
11810
11811  <h1><a name="xterm_163" id="xterm_163">Patch #163 - 2001/11/04 -
11812  XFree86 4.1.0</a></h1>
11813
11814  <ul>
11815    <li>correct ifdef's for <code>__QNX__</code> and
11816    <code>USE_SYSV_PGRP</code> in main.c call to
11817    <code>tcsetpgrp</code>, which broke bash behavior around
11818    <a href="#xterm_140">patch #140</a> (report/patch by Frank Liu
11819    &lt;fliu@mail.vipstage.com&gt;).</li>
11820
11821    <li>modify trace.c to fix missing definition of GCC_UNUSED for
11822    compilers other than gcc when configured for trace code
11823    (report/patch by Paul Gilmartin).</li>
11824
11825    <li>change format in TraceOptions() to use long rather than
11826    int, since the latter could lose precision on 64-bit machines
11827    (report/patch by Nelson Beebe).</li>
11828
11829    <li>modify xterm manual page and minstall.sh to allow imake
11830    rules to define location of app-defaults directory (Debian
11831    #87611).</li>
11832
11833    <li>review/update list of conflicting preprocessor symbols to
11834    remove from $CPPFLAGS at the end of the configure script. In
11835    particular, this allows one to configure xterm without the
11836    utempter library on Redhat 7.1 (report/patch by Adam
11837    Sulmicki).</li>
11838  </ul>
11839
11840  <h1><a name="xterm_162" id="xterm_162">Patch #162 - 2001/10/23 -
11841  XFree86 4.1.0</a></h1>
11842
11843  <ul>
11844    <li>correct logic that processes <code>-class</code> option, so
11845    that a following <code>-e</code> option is handled (Debian
11846    #116297).</li>
11847
11848    <li>improve options-decoding to allow <code>-version</code> and
11849    <code>-help</code> options to be combined (Debian
11850    #110226).</li>
11851
11852    <li>add a 10 millisecond delay in event loop when processing
11853    <code>-hold</code> option, to avoid using too much CPU time
11854    (Debian #116213).</li>
11855
11856    <li>prefix final program execution in <code>uxterm</code> with
11857    "exec" to avoid a useless shell hanging around (Christian
11858    Weisgerber).</li>
11859  </ul>
11860
11861  <h1><a name="xterm_161" id="xterm_161">Patch #161 - 2001/10/10 -
11862  XFree86 4.1.0</a></h1>
11863
11864  <ul>
11865    <li>modify logic that resets keypad application mode to avoid
11866    doing this if there is no modifier associated with the Num_Lock
11867    keysym (report by John E Davis &lt;davis@space.mit.edu&gt; and
11868    Alan W Irwin &lt;irwin@beluga.phys.uvic.ca&gt;).</li>
11869
11870    <li>add built-in translation for Control/KP_Separator to
11871    KP_Subtract, to accommodate users who wish to use xmodmap to
11872    reassign the top row of the numeric keypad.</li>
11873
11874    <li>correct Imakefile install-rule for <code>uxname</code>
11875    script (reported by Nam SungHyun &lt;namsh@lge.com&gt;).</li>
11876
11877    <li>resync with XFree86 CVS &ndash; correct typo in
11878    <code>&lt;ncurses/term.h&gt;</code> ifdef.</li>
11879  </ul>
11880
11881  <h1><a name="xterm_160" id="xterm_160">Patch #160 - 2001/10/7 -
11882  XFree86 4.1.0</a></h1>
11883
11884  <ul>
11885    <li>modify logic in main.c (see <a href="#xterm_145">patch
11886    #145</a>) to avoid generating the same identifier, for example,
11887    for /dev/tty1 and /dev/pts/1, which is used to denote an entry
11888    in the utmp file (Debian bug report #84676), A similar fix was
11889    also sent by Jerome Borsboom &lt;borsboom@westbrabant.net&gt;
11890    in May, but I overlooked it when reviewing bug reports.</li>
11891
11892    <li>add configure check for <code>&lt;ncurses/term.h&gt;</code>
11893    to get rid of hardcoded <code>__CYGWIN__</code> ifdef in
11894    resize.c
11895      <p>NOTE: The CYGWIN port should not be linking
11896      <code>resize</code> with ncurses. It appears that the only
11897      reason it is, is because both the ncurses and termcap ports
11898      on that platform are badly misconfigured (essential pieces
11899      have been removed, etc). Checking for
11900      <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
11901      since there are some correct installations that are set up
11902      that way.</p>
11903    </li>
11904
11905    <li>add a sample <code>uxterm</code> script, which uses the
11906    <code>UXTerm</code> application defaults for UTF-8
11907    environments.</li>
11908
11909    <li>undo change to xterm application defaults, since this
11910    introduced an unnecessary incompatibility. The intended
11911    functionality was already addressed by the <a href=
11912    "#xterm_141">UXTerm</a> app-defaults file.</li>
11913
11914    <li>resync with XFree86 CVS
11915      <ul>
11916        <li>Modified xterm app default to use LFD fontnames instead
11917        of old type (Michael Schroeder).</li>
11918
11919        <li>Fix xterm when XIM is disabled - caused a segfault
11920        (Tomohiro Kubota).</li>
11921      </ul>
11922    </li>
11923  </ul>
11924
11925  <h1><a name="xterm_159" id="xterm_159">Patch #159 - 2001/9/19 -
11926  XFree86 4.1.0</a></h1>
11927
11928  <ul>
11929    <li>remove an ifdef for <code>USE_HANDSHAKE</code> added in
11930    patch #158 from the second <code>TIOCSSIZE</code> ioctl call in
11931    the initialization code. Paul Gilmartin reports that for
11932    Solaris 2.6 (sparc), stty does not show that xterm sets rows
11933    and columns unless the second ioctl is executed.</li>
11934
11935    <li>correct treatment of empty parameter list for some OSC
11936    strings (report by Sami Farin &lt;sfarin@ratol.fi&gt;).</li>
11937  </ul>
11938
11939  <h1><a name="xterm_158" id="xterm_158">Patch #158 - 2001/9/8 -
11940  XFree86 4.1.0</a></h1>
11941
11942  <ul>
11943    <li>augment key translations for scrollbar widget to ensure
11944    that keystrokes intended for the text area are not lost if the
11945    mouse pointer happens to fall on the scrollbar. This can
11946    happen, for instance, if the user's <code>app-defaults</code>
11947    or <code>.Xdefaults</code> file contains a translations
11948    resource, though it may also happen through unrelated resource
11949    settings: probably a bug in libXt (reported by Paul Fox
11950    &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu. Bolkhovityanov
11951    &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).</li>
11952
11953    <li>widen ifdef's in xterm.h to define
11954    <code>__EXTENSIONS__</code> on Solaris, for compilers other
11955    than gcc. This was added along <code>_POSIX_C_SOURCE</code>
11956    with in <a href="#xterm_151">patch #151</a>, but is not
11957    sufficient since Sun's compiler does not define
11958    <code>__STDC__</code> by default (report by Matthias Scheler
11959    &lt;tron@zhadum.de&gt;).</li>
11960
11961    <li>modify xterm to obtain the closest matching color if an
11962    exact color is not available, e.g., on 8-bit displays (patch by
11963    Stephen P Wall)</li>
11964
11965    <li>implement "OverTheSpot" preedit type of XIM input (patch by
11966    Tomohiro Kubota):
11967      <ul>
11968        <li>This preedit type is a reasonable compromise between
11969        simpleness of implementation and usefulness. "Root" preedit
11970        type is easy to implement but not useful; "OnTheSpot"
11971        preedit type is the best in the point of view of user
11972        interface but very complex. And more, "OverTheSpot" is the
11973        preedit type which the most XIM servers support. Thus, to
11974        achieve reasonable usability, support of "OverTheSpot"
11975        preedit type is needed.</li>
11976
11977        <li>In "OverTheSpot" preedit type, the preedit
11978        (preconversion) string is displayed at the position of the
11979        cursor. On the other hand, it is XIM server's
11980        responsibility to display the preedit string. Thus, it is
11981        needed for XIM client (here XTerm) to inform the XIM server
11982        of the cursor position. And more, to achieve good visual
11983        proportion, preedit string must be written using proper
11984        font. Thus, it is XIM client's responsibility to inform the
11985        XIM server of the proper font. The font must be supplied by
11986        "fontset". Fontset is a set of fonts with charsets which
11987        are specified by the current locale. Since XTerm uses
11988        ISO10646 fonts regardless of the current locale, the fonts
11989        for XIM must be prepared separately. It is difficult to
11990        prepare fonts which are similar to XTerm font. Thus, my
11991        patch uses a simple way - the default font is "*" which
11992        matches every fonts and X library will automatically choose
11993        fonts with proper charsets. I added "-fx" command option
11994        and "ximFont" resource to override this default font
11995        setting.</li>
11996
11997        <li>changed the definition of "OverTheSpot" preedit type
11998        from XIMPreeditPosition|XIMStatusArea to
11999        XIMPreeditPosition|XIMStatusNothing. This matches the
12000        behavior of other programs such as Rxvt, Kterm, Gedit.</li>
12001
12002        <li>A tiny XIM bugfix is also included. By calling
12003        XSetLocaleModifiers() with parameter of "", it can consider
12004        XMODIFIERS environmental variable which is a standard way
12005        for users to specify XIM server to be used.</li>
12006      </ul>
12007    </li>
12008
12009    <li>adjust configure script to accommodate repackaging of
12010    keysym2ucs.c as include-file for xutf8.c (patch by Tomohiro
12011    Kubota).</li>
12012
12013    <li>add the <code>UXTerm</code> app-defaults file to makefile
12014    install rules (request by Juliusz Chroboczek).</li>
12015
12016    <li>correct logic in <code>get_termcap()</code>, which returned
12017    false if the <code>tgetent()</code> call indicated that xterm
12018    was linked with terminfo. Although the <code>$TERMCAP</code>
12019    variable cannot be adjusted in this case, xterm still needs
12020    information from this call to extract data to initialize the
12021    erase-mode when the <code>ptyInitialErase</code> resource is
12022    false.</li>
12023
12024    <li>modify <code>ScrollbarReverseVideo()</code> function to
12025    cache the original border color, so it can restore that when an
12026    application flashes the screen (Bugzilla #38872).</li>
12027
12028    <li>resync with XFree86 CVS
12029      <ul>
12030        <li>remove ifdef's for X_NOT_STDC_ENV (patch by David
12031        Dawes).</li>
12032
12033        <li>add Cygwin to special errno handling case in ptydata.c
12034        (Alan Hourihane)</li>
12035
12036        <li>set screen size earlier in initialization, to address a
12037        race with window manager resizing its clients (Keith
12038        Packard).</li>
12039      </ul>
12040    </li>
12041  </ul>
12042
12043  <h1><a name="xterm_157" id="xterm_157">Patch #157 - 2001/6/18 -
12044  XFree86 4.1.0</a></h1>
12045
12046  <ul>
12047    <li>clean up button.c and input.c (patch by Juliusz
12048    Chroboczek). The basic idea is to use a single set of APIs in
12049    the XTerm core, and put a set of workarounds in a separate
12050    file. As you will notice, this drastically simplifies parts of
12051    the code; in particular, the only remaining ifdefs related to
12052    the differences between Xutf8 and legacy systems are related to
12053    the selection provider logic. This defines two new files,
12054    xutf8.h and xutf8.c, provide some half-hearted but fully
12055    portable emulation for the three Xutf8* functions that XTerm
12056    uses. Putting these in a separate file will allow people to
12057    experiment with more complex versions without making the core
12058    of XTerm more difficult to maintain. The functionality of the
12059    emulation is as follows.
12060      <ul>
12061        <li>Xutf8TextListToTextProperty fully handles XStringstyle
12062        and XUTF8StringStyle. It will only generate STRING for
12063        XStdICCTextStyle, and will only generate Latin-1 in
12064        XCompoundTextStyle (but label it as COMPOUND_TEXT, as the
12065        spec requires). (I have hesitated to make this function
12066        fail for XStdICCTextStyle and XCompoundTextStyle; this
12067        might be a smart thing to do, in the hope that the
12068        selection requestor will try UTF8_STRING afterwards;
12069        opinions?)</li>
12070
12071        <li>Xutf8TextPropertyToTextList fully handles STRING and
12072        UTF8_STRING. It systematically fails for
12073        COMPOUND_TEXT.</li>
12074
12075        <li>Xutf8LookupString will properly handle single-keystroke
12076        input for the keysyms covered by Markus' keysym2ucs
12077        function. It will not handle either compose key input or
12078        external input methods.</li>
12079      </ul>
12080    </li>
12081
12082    <li>add an ifdef for <code>SunXK_F36</code>, used in
12083    <code>xtermcapKeycode()</code> (patch by Mark Waggoner
12084    &lt;waggoner@ichips.intel.com&gt;).</li>
12085
12086    <li>modify check for login name to try <code>getlogin()</code>
12087    and $LOGNAME, $USER environment variables to detect if the user
12088    has logged in under an alias, i.e., an account with the same
12089    user id but a different name (Debian bug report #70084).</li>
12090
12091    <li>add resource <code>tiXtraScroll</code>, which can be used
12092    to preserve the screen contents in the scrollback rather than
12093    erasing it when starting a fullscreen application such as
12094    <code>vi</code> (patch by Ken Martin
12095    &lt;fletcher@catsreach.org&gt;).</li>
12096
12097    <li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
12098      <ul>
12099        <li>added <code>forceBoxChars</code> resource to control
12100        the "line-drawing characters" option.</li>
12101
12102        <li>added <code>freeBoldBox</code> resource, which, when
12103        set true, suppresses check in
12104        <code>same_font_size()</code>, so xterm does not attempt to
12105        ensure that the bold font is the same size as the normal
12106        font.</li>
12107      </ul>
12108    </li>
12109
12110    <li>change the color class for ANSI colors and similar ones
12111    such as bold-color, etc., to follow the convention that the
12112    classname is the instance name with a leading capital (e.g.,
12113    <code>color0</code> and <code>Color0</code> rather than
12114    <code>color0</code> and <code>Foreground</code>). There was
12115    little use for Foreground as a class other than to create
12116    occasional confusion and bug reports, most recently by Nelson
12117    Beebe who reports that it disables colors in xterm but not on
12118    Linux, which is probably due to a difference in resource
12119    evaluation order. A configure script option
12120    (--disable-color-class) is provided for anyone who did use the
12121    older behavior.</li>
12122
12123    <li>fix a signal-handling bug. When running xterm with
12124    <code>ksh</code> or similar shell such as bash 2.05, xterm will
12125    hang and not respond to keystrokes after the user types
12126    <code>suspend</code>. Additionally the popup menus do not
12127    respond, so it is not possible to send SIGCONT to the shell.
12128    What is happening is that the shell is sending itself SIGSTOP,
12129    and it is being stopped. Per specification it also means that
12130    the operating system is sending SIGCHLD to parent to the bash
12131    (XTERM). Now the issue is that xterm assumes it cannot happen
12132    and it expects to receive SIGCHLD only upon
12133    <em>termination</em> of its children. This causes a deadlock
12134    with xterm waiting for the child to die, and the child waiting
12135    for SIGCONT. (report/patch by Adam Sulmicki), analysis/testing
12136    by Sven Mascheck
12137    &lt;sven.mascheck@student.uni-ulm.de&gt;).</li>
12138
12139    <li>correct some inconsistent checks for
12140    <code>XtReleaseGC()</code> calls in
12141    <code>xtermLoadFont()</code> (patch by Nam SungHyun
12142    &lt;namsh@lge.com&gt;).</li>
12143
12144    <li>updated wcwidth.c and keysym2ucs.c to versions dated
12145    2001/1/12 and 2001/4/18, respectively from
12146    http://www.cl.cam.ac.uk/~mgk25/ucs/</li>
12147
12148    <li>correction to change from <a href="#xterm_90">patch
12149    #90</a>, which was intended to reset the saved cursor position
12150    for normal/alternate screens on a soft reset, but actually
12151    wiped out all of the saved cursor information. Just reset the
12152    saved position for the current screen (report by Michael
12153    Schroeder).</li>
12154
12155    <li>modify ShowCursor() and HideCursor() so that if the cursor
12156    points to the second part of a wide character, make the
12157    show/hide operate on the first position of the wide character
12158    (patch by Sven Verdoolaege).</li>
12159
12160    <li>scrolling in the alternate screen just before switching
12161    back to the main screen can cause extra blank lines to be
12162    inserted into the scrollback buffer (patch by Paul Vojta
12163    &lt;vojta@math.berkeley.edu&gt;).</li>
12164
12165    <li>resync with XFree86 4.1.0:
12166      <ul>
12167        <li>Use TermcapLibrary as -lncurses instead of -ltermcap,
12168        fixes problem building xterm/resize on Cygwin/XFree86
12169        (Harold Hunt).</li>
12170
12171        <li>Install xterm.termcap and xterm.terminfo when
12172        installing xterm (Torrey T. Lyons).</li>
12173
12174        <li>Fix some build issues on Cygwin/XFree86 (Suhaib
12175        Siddiqi).</li>
12176
12177        <li>Define CBAUD, when it's missing in xterm, on LynxOS
12178        (Stuart Lissaman).</li>
12179      </ul>
12180    </li>
12181  </ul>
12182
12183  <h1><a name="xterm_156" id="xterm_156">Patch #156 - 2001/4/28 -
12184  XFree86 4.0.3</a></h1>
12185
12186  <ul>
12187    <li>change order of selection-target types to make 8-bit xterm
12188    prefer UTF8_STRING to COMPOUND_TEXT (patch by Juliusz
12189    Chroboczek).</li>
12190
12191    <li>document <code>-fa</code>, <code>-fs</code> command-line
12192    options and <code>faceName</code>, <code>faceSize</code>
12193    resources which are used by the freetype library support.</li>
12194
12195    <li>if configure script finds freetype libraries, but imake
12196    definitions do not have the XRENDERFONT definition, define it
12197    anyway.</li>
12198
12199    <li>modify configure script check for freetype libraries to
12200    include <code>&lt;Xlib.h&gt;</code>, since an older version of
12201    the related headers relies on this (patch by Adam
12202    Sulmicki).</li>
12203  </ul>
12204
12205  <h1><a name="xterm_155" id="xterm_155">Patch #155 - 2001/4/20 -
12206  XFree86 4.0.3</a></h1>
12207
12208  <ul>
12209    <li>correct return type of in_put() from <a href=
12210    "#xterm_155">patch #153</a> changes, which left it not wide
12211    enough for UTF-8 (patch by Bruno Haible).</li>
12212  </ul>
12213
12214  <h1><a name="xterm_154" id="xterm_154">Patch #154 - 2001/4/11 -
12215  XFree86 4.0.3</a></h1>
12216
12217  <ul>
12218    <li>undo check for return value from <code>pututline</code>
12219    (used for debugging) since that function does not return a
12220    value on Slackware 3.6.</li>
12221
12222    <li>correct length in ScreenWrite, when rendering invisible
12223    text (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).</li>
12224
12225    <li>fixes/improvements for the <code>i18nSelection</code>
12226    resource from patch #153, by Bruno Haible:
12227      <ul>
12228        <li>add missing initialization for
12229        <code>i18nSelection</code> resource.</li>
12230
12231        <li>split-out the non-ICCM aspect of the
12232        <code>i18nSelection</code> resource as a new resource,
12233        <code>brokenSelections</code>.</li>
12234      </ul>
12235    </li>
12236
12237    <li>add configure check for <code>&lt;time.h&gt;</code> and
12238    <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
12239    which requires both. If the configure script is not used, only
12240    <code>&lt;time.h&gt;</code> will be included as before (report
12241    by Thanh Ma).</li>
12242
12243    <li>fix redefinition of <code>dup2</code>,
12244    <code>getutent</code>, <code>getutid</code>,
12245    <code>getutline</code> and <code>sleep</code> functions on
12246    Unixware&nbsp;7 (report by Thanh Ma
12247    &lt;Thanh.Ma@casi-rusco.com&gt;)</li>
12248
12249    <li>add a fall-back definition for <code>__hpux</code>, which
12250    is apparently not defined in some compilers on HPUX 11.0
12251    (reported by Clint Olsen).</li>
12252
12253    <li>change VAL_INITIAL_ERASE, which is used as a fallback for
12254    the <code>"kb"</code> termcap string to 8, since that matches
12255    the xterm terminal description (request by Alexander V
12256    Lukyanov).</li>
12257
12258    <li>correct an off-by-one in <code>ClearInLine</code>, which
12259    caused the erase-characters (ECH) control to display
12260    incorrectly (patch by Alexander V Lukyanov).</li>
12261
12262    <li>correct escape sequences shown in terminfo for shifted
12263    editing keys. The modifier code was for the control key rather
12264    than the shift key.</li>
12265  </ul>
12266
12267  <h1><a name="xterm_153" id="xterm_153">Patch #153 - 2001/3/29 -
12268  XFree86 4.0.3</a></h1>
12269
12270  <ul>
12271    <li>increase PTYCHARLEN to 8 for os390, add some debugging
12272    traces for UTMP functions (patch by Paul Gilmartin).</li>
12273
12274    <li>correct an misplaced brace in
12275    <code>SelectionReceived()</code> (patch by Bruno Haible).</li>
12276
12277    <li>correct an assignment dropped in
12278    <code>SelectionReceived()</code> which made it not compile for
12279    wide-characters combined with debug traces.</li>
12280
12281    <li>correct typo, clarify description of 88- and 256-color
12282    controls (report by Bram Moolenaar).</li>
12283
12284    <li>correct a typo in ctlseqs.ms which caused DEC Locator
12285    control sequences using single quote "'" display grave "`"
12286    instead (reported by Paul Williams, apparently in patch
12287    #114).</li>
12288  </ul>
12289
12290  <h1><a name="xterm_152" id="xterm_152">Patch #152 - 2001/3/13 -
12291  XFree86 4.0.2</a></h1>
12292
12293  <ul>
12294    <li>correct index in inner loop in <code>VTInitI18N()</code>
12295    from patch #151 changes, which resulted in infinite loop under
12296    some conditions (report/analysis by Paul Gilmartin).</li>
12297
12298    <li>remove spurious "%|" from terminfo sgr capabilities
12299    (report/analysis by Adam M Costello, Debian #89222).</li>
12300
12301    <li>add shell script to adjust list of dynamic libraries linked
12302    by <code>resize</code> when building with the standalone
12303    configure script. Otherwise it uses the same list as for xterm,
12304    which is excessive.</li>
12305
12306    <li>fix a few compiler warnings reported by the 20010305 gcc
12307    snapshot.</li>
12308  </ul>
12309
12310  <h1><a name="xterm_151" id="xterm_151">Patch #151 - 2001/3/10 -
12311  XFree86 4.0.2</a></h1>
12312
12313  <ul>
12314    <li>alter the behaviour of selections in XTerm (patch by
12315    Juliusz Chroboczek). It is believed to follow the ICCCM +
12316    UTF8_STRING to the letter, both in UTF-8 and in eight-bit mode.
12317    From his description:
12318      <ul>
12319        <li>When compiled against XFree86 4.0.2, the patched XTerm
12320        will make the selection available as COMPOUND_TEXT, STRING
12321        or UTF8_STRING in both modes. It will request selections in
12322        the following order:
12323          <p>UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT,
12324          STRING.<br>
12325          eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING,
12326          STRING.</p>
12327        </li>
12328
12329        <li>When compiled against an earlier version of XFree86 (or
12330        compiled with OPT_UTF8_API=0), it will still obey the
12331        ICCCM, but will neither request nor provide UTF8_STRING in
12332        eight-bit mode, and neither TEXT nor COMPOUND_TEXT in UTF-8
12333        mode.</li>
12334
12335        <li>For compatibility with previous versions of XTerm, a
12336        resource <code>i18nSelections</code> is provided, please
12337        see the manpage for details. However, due to an unexpected
12338        combination of ICCCM extensions by various bits and pieces
12339        of the libraries, interacting with previous versions of
12340        XTerm will work in many locales even without this flag.
12341        (Please do not set this resource to true by default, as
12342        this would violate the ICCCM.)</li>
12343      </ul>
12344    </li>
12345
12346    <li>improved error checking/reporting in VTInitI18N(), ensuring
12347    that lack of input method styles is treated distinctly from a
12348    mismatch.</li>
12349
12350    <li>remove an incorrect ifdef from patch #141 which suppressed
12351    overstriking to simulate bold font when xterm was compiled to
12352    support wide characters (report/analysis by Adam M Costello
12353    &lt;amc@cs.berkeley.edu&gt;, Debian #76404, Debian
12354    #77575).</li>
12355
12356    <li>modify <code>RequestResize()</code> function to
12357    save/restore window manager hints. Its call to
12358    <code>XtMakeResizeRequest()</code> had the undesirable
12359    side-effect of clearing window manager hints, e.g., when
12360    switching to 132-columns via DECCOLM escape sequence. Window
12361    manager hints make it simple to resize xterm in terms of
12362    character cells rather than pixels (reports by Christian
12363    Weisgerber, Debian #79939).
12364      <p>This applies to the normal configuration. When built with
12365      toolbar support, the hints are applied to a different widget
12366      level (more work will be needed to make hints work with the
12367      toolbar).</p>
12368    </li>
12369
12370    <li>fix a redefinition warning for resize.c on OpenBSD (patch
12371    by Christian Weisgerber).</li>
12372
12373    <li>change resource corresponding to <code>-T</code> option to
12374    match Xt library's <code>-title</code>, i.e.,
12375    <code>.title</code> rather than <code>*title</code> so the
12376    command-line options are interchangeable as documented (Debian
12377    bug report #68843).</li>
12378
12379    <li>add script used from autoconf'd makefile for installing
12380    manpages, since recent XFree86 changing the way section numbers
12381    are represented makes the install dependent on extra
12382    scripts.</li>
12383
12384    <li>add configure check for freetype libraries and configure
12385    option --disable-freetype to override this feature.</li>
12386
12387    <li>modify some configure script macros to avoid using
12388    changequote(), which has been rendered useless in the latest
12389    autoconf alpha 2.49c</li>
12390
12391    <li>update config.guess, config.sub to 2001-2-13</li>
12392
12393    <li>remove redundant/contradictory __CYGWIN__ definitions from
12394    resize.c</li>
12395
12396    <li>correct manpage typo introduced by X11R6.5 resync.</li>
12397  </ul>
12398
12399  <p>Changes from XFree86 4.0.2:</p>
12400
12401  <ul>
12402    <li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris
12403    to make this compile with <code>gcc -ansi -pedantic</code>
12404    (report by &lt;mark@zang.com&gt;.</li>
12405  </ul>
12406
12407  <h1><a name="xterm_150" id="xterm_150">Patch #150 - 2000/12/29 -
12408  XFree86 4.0.2</a></h1>
12409
12410  <ul>
12411    <li>move the binding for shifted keypad plus/minus, which
12412    invokes the <code>larger-vt-font()</code> and
12413    <code>smaller-vt-font()</code> actions, respectively, into the
12414    translations resource (suggested by Marius Gedminas
12415    &lt;mgedmin@puni.osf.lt&gt;).</li>
12416
12417    <li>modify configure script to support the
12418    <code>--program-prefix</code>, <code>--program-suffix</code>
12419    and <code>--program-transform-name</code> options (request by
12420    Alison Winters &lt;alison@mirrabooka.com&gt;).</li>
12421
12422    <li>fixes for wide/combining characters (Robert Brady):
12423      <ul>
12424        <li>fix a scrolling / combining characters display
12425        anomaly</li>
12426
12427        <li>fix a problem with double-width characters where if the
12428        primary font had no box-drawing characters, the right hand
12429        half of double-width characters was erased (reported by Yao
12430        Zhang &lt;yzhang@sharemedia.com&gt;).</li>
12431
12432        <li>fix special case of null byte for key handling in UTF-8
12433        locales.</li>
12434      </ul>
12435    </li>
12436
12437    <li>modify logic that compares sizes of normal and bold fonts
12438    to be more forgiving of the font server's choice of bold font
12439    which must match the normal font's size. Now
12440    <code>same_font_size()</code> compares the height of the fonts
12441    rather than individually ascent and descent, and allows the
12442    bold font to be one pixel smaller than the normal font
12443    (addresses a report by Alan Citterman &lt;alan@mticket.com&gt;,
12444    who says that something in patches <a href=
12445    "#xterm_146">#146</a> to <a href="#xterm_148">#148</a> made
12446    xterm more likely to overstrike bold fonts, and indirectly
12447    Debian bug report #76404, which reports the opposite).</li>
12448
12449    <li>make configure script use $CFLAGS and $CPPFLAGS
12450    consistently, including removing a chunk from configure.in
12451    which attempted to save/restore $CPPFLAGS while processing
12452    value set by the --x-includes option, but lost values set in an
12453    intervening AC_CHECK_HEADERS. This change modifies macros
12454    CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and CF_X_TOOLKIT, as well as
12455    removing variables IMAKE_CFLAGS and X_CFLAGS from the generated
12456    makefile (the AC_CHECK_HEADERS problem was reported by Albert
12457    Chin-A-Young &lt;china@thewrittenword.com&lt;).</li>
12458
12459    <li>correct a comparison in SELECTWORD case of ComputeSelect(),
12460    which resulted in a word-selection wrapping past the first
12461    column without checking the first column's character class
12462    (reported by Christian Lacunza
12463    &lt;celacunza@netscape.net&gt;</li>
12464
12465    <li>correct a logic in UTF-8 mode for selecting double-width
12466    characters; a combining character was omitted (patch by Markus
12467    Kuhn).</li>
12468
12469    <li>add feature to pop (raise) window when a bell is received
12470    (patch by Gael Roualland
12471    &lt;gael.roualland@dial.oleane.com&gt;).</li>
12472
12473    <li>add __NetBSD__ and __OpenBSD__ to special-case in
12474    xterm_io.h for USE_POSIX_TERMIOS definition (patch by Christian
12475    Weisgerber).</li>
12476
12477    <li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
12478    xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for
12479    HPUX 10.20 (report by Bruno Betro).</li>
12480  </ul>
12481
12482  <h1><a name="xterm_149" id="xterm_149">Patch #149 - 2000/12/6 -
12483  XFree86 4.0.1h</a></h1>
12484
12485  <ul>
12486    <li>restructured includes for <code>termios.h</code>,
12487    <code>termio.h</code> and related definitions for main.c,
12488    os2main.c, screen.c and resize.c so they will share equivalent
12489    definitions in a new header <code>xterm_io.h</code>. This is
12490    intended to solve some problems mainly for HPUX which appear to
12491    arise from inconsistent definitions for SIGWINCH- and
12492    HAS_LTCHARS-related symbols (reports by Bruno Betro, Jeremie
12493    Petit and Clint Olsen).</li>
12494
12495    <li>improve usability of double-width fonts by allowing normal
12496    fonts to be given as double-width (from a patch by Fabrice
12497    Bellard &lt;bellard@email.enst.fr&gt;).</li>
12498
12499    <li>correct a few compiler warnings in TRACE() macros for
12500    signed/unsigned variable differences (reported by Clint
12501    Olsen).</li>
12502
12503    <li>make configure script use $CFLAGS and $CPPFLAGS more
12504    consistently, i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC
12505    macro.</li>
12506
12507    <li>expanded description of environment variables in
12508    manual-page.</li>
12509
12510    <li>modify OPT_TCAP_QUERY feature to always return the termcap
12511    or terminfo capability string in the response, and to
12512    read/write the names in hexadecimal form to allow for the
12513    special case of termcap's <code>k;</code> name (patch by Bram
12514    Moolenaar).</li>
12515
12516    <li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so
12517    the corresponding configure options work (patch by Bram
12518    Moolenaar).</li>
12519
12520    <li>resync with XFree86 4.0.1g:
12521      <ul>
12522        <li>Rewrite Xft library for Render extension/core text and
12523        font management Change xterm to use new interface (Keith
12524        Packard).</li>
12525      </ul>
12526    </li>
12527  </ul>
12528
12529  <h1><a name="xterm_148" id="xterm_148">Patch #148 - 2000/10/31 -
12530  XFree86 4.0.1d</a></h1>
12531
12532  <ul>
12533    <li>document logfile options in man-page.</li>
12534
12535    <li>correct spelling of <code>-samename</code> option in help
12536    message.</li>
12537
12538    <li>add configure script option
12539    <code>--enable-tcap-query</code> (request by Bram
12540    Moolenaar).</li>
12541
12542    <li>add a "Co" or "colors" entry to the OPT_TCAP_QUERY feature
12543    (patch by Bram Moolenaar).</li>
12544
12545    <li>patch by Kiyokazu Suto &lt;suto@ks-and-ks.ne.jp&gt;:
12546      <ul>
12547        <li>add support for bold font for double width characters.
12548        The font name may be specified with the command line option
12549        <code>-fwb</code> or with resource
12550        <code>wideBoldFont</code> (class
12551        <code>WideBoldFont</code>).</li>
12552
12553        <li>correct underlining of double width character string,
12554        which was drawn only half width.</li>
12555
12556        <li>correct binary search of precomposed character table,
12557        which may return wrong result when <code>int</code> is just
12558        32 bits.</li>
12559      </ul>
12560    </li>
12561
12562    <li>some changes to align terminfo with ncurses 5.2:
12563      <ul>
12564        <li>remove xtermm description, retaining xterm-mono since
12565        the former conflicts with ncurses.</li>
12566
12567        <li>modify initialization and reset strings to avoid
12568        putting the save/restore cursor operations bracketing
12569        changes to video attributes, since the changes could be
12570        lost when the cursor is restored. This affects xterm-r6 and
12571        xterm-8bit (the xterm-xfree86 entry uses the soft-reset
12572        feature which resets scrolling margins and origin mode
12573        without requiring us to save/restore the cursor
12574        position).</li>
12575
12576        <li>make a few entries explicitly inherit from
12577        xterm-xfree86 rather than xterm: xterm-rep, xterm-xmc,
12578        xterm-nrc</li>
12579      </ul>
12580    </li>
12581
12582    <li>ensure that sign-extension does not affect
12583    <code>ctype</code> macros by using <code>CharOf()</code> macro
12584    to coerce the parameter to an unsigned char.</li>
12585
12586    <li>resync with XFree86 4.0.1d:
12587      <ul>
12588        <li>Add primitive support in xterm for Xft based fonts
12589        (Keith Packard). The changes are ifdef'd with
12590        <code>-DXRENDERFONT</code>.</li>
12591      </ul>
12592    </li>
12593  </ul>
12594
12595  <h1><a name="xterm_147" id="xterm_147">Patch #147 - 2000/10/26 -
12596  XFree86 4.0.1c</a></h1>
12597
12598  <ul>
12599    <li>correct implementation of <code>ptyInitialErase</code>: the
12600    value assigned to <code>initial_erase</code> was for the
12601    control terminal, which is correct as far as it goes. But there
12602    was no following test for the pseudo-terminal's erase value,
12603    which would overwrite the default obtained from the control
12604    terminal (reported by Christian Weisgerber
12605    &lt;naddy@mips.inka.de&gt;).</li>
12606
12607    <li>modify check for printable-characters in OSC string to use
12608    xterm's ansi_table rather than isprint() macro, to isolate this
12609    check from locale settings. This fixes a problem using 8-bit
12610    characters to set the title (reported by Ricardas Cepas
12611    &lt;rch@richard.eu.org&gt;).</li>
12612
12613    <li>modify sample scripts to check for printf before print,
12614    since the latter is not as well standardized (e.g., on
12615    Linux).</li>
12616
12617    <li>updated config.sub, config.guess to reflect changes on
12618    subversions.gnu.org</li>
12619  </ul>
12620
12621  <h1><a name="xterm_146" id="xterm_146">Patch #146 - 2000/9/12 -
12622  XFree86 4.0.1c</a></h1>
12623
12624  <ul>
12625    <li>correct two instances overlooked from patch #141 which
12626    assumed UTF-8 mode without checking, causing a core dump in
12627    non-UTF-8 mode (one instance was reported by Tommi Virtanen
12628    &lt;tv@debian.org&gt;).</li>
12629
12630    <li>correct a problem selecting from the scrollback buffer in
12631    UTF-8 mode by changing remaining getXtermCell() calls to
12632    XTERM_CELL() as in the non-UTF-8 cases (report by Markus Kuhn,
12633    patch by Robert Brady).</li>
12634  </ul>
12635
12636  <h1><a name="xterm_145" id="xterm_145">Patch #145 - 2000/9/11 -
12637  XFree86 4.0.1c</a></h1>
12638
12639  <ul>
12640    <li>changes for UTF-8 configuration (Robert Brady):
12641      <ul>
12642        <li>doublewide characters don't lose their accents when the
12643        cursor moves onto or from them (a visual bug)</li>
12644
12645        <li>fix logic in addXtermCombining, which mean that if the
12646        low byte of a cell's first combining char was 0, a
12647        following combining char would go into combining slot 1,
12648        not 2.</li>
12649
12650        <li>modify logic for cut-buffers so UTF-8 data is first
12651        converted to Latin1.</li>
12652
12653        <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.</li>
12654
12655        <li>modify to allow xterm to to show combining characters
12656        attached to doublewidth characters.</li>
12657
12658        <li>correct bug in linewrap with -u8 option (reported by
12659        Andreas Koenig &lt;andreas.koenig@anima.de&gt;).</li>
12660      </ul>
12661    </li>
12662
12663    <li>several changes to PTY logic (based on request by Tim Ryan
12664    &lt;timryan@nortelnetworks.com&gt;).
12665      <ul>
12666        <li>modify treatment of <code>-S</code> option to to make
12667        it work with Unix98 PTY's.</li>
12668
12669        <li>restore sense of IsPts flag in <code>get_pty()</code>,
12670        which was lost in Unix98 changes.</li>
12671
12672        <li>use new functions <code>my_pty_id()</code> and
12673        <code>my_pty_name()</code> to simplify/fix strings used for
12674        utmp, wtmp identifiers.</li>
12675
12676        <li>simplify <code>get_pty()</code> function, making it
12677        have a single return point so its inputs/outputs can be
12678        identified.</li>
12679      </ul>
12680    </li>
12681
12682    <li>update config.guess and config.sub and scripts to my
12683    20000819 patch, adding cases for OS/2 EMX.</li>
12684
12685    <li>add special case for os390 compiler options to configure
12686    script (patch by Paul Gilmartin)</li>
12687
12688    <li>fix some unused-variable compiler warnings (reported by
12689    Zdenek Sekera).</li>
12690
12691    <li>split-out some string functions into xstrings.c, to use
12692    them more consistently among main.c, os2main.c and
12693    resize.c</li>
12694
12695    <li>align termcap/terminfo files, adding entries to make them
12696    match. The termcap entries are necessarily less complete than
12697    the terminfo, to fit within 1023 character per entry.</li>
12698
12699    <li>add terminfo entry for xterm-sco (SCO function keys).</li>
12700
12701    <li>modify <code>same_font_name()</code> to properly handle
12702    wildcard introduced in <code>bold_font_name()</code>, making
12703    comparison for different fonts succeed when only the normal
12704    font is specified. This is needed to decide if 1-pixel offset
12705    should be used. (reported in a newsgroup by Bart Oldeman
12706    &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)</li>
12707
12708    <li>correct preprocessor line for OPT_WIDE_CHARS in
12709    drawXtermText() from patch #141 which resulted in overstriking
12710    for bold fonts not working.</li>
12711
12712    <li>correct Imakefile from 4.0.1c resync so UTF-8 modules are
12713    in UTF8SRC, UTF8OBJ lists, allowing build without UTF-8
12714    support.</li>
12715  </ul>
12716
12717  <h1><a name="xterm_144" id="xterm_144">Patch #144 - 2000/8/23 -
12718  XFree86 4.0.1b</a></h1>
12719
12720  <ul>
12721    <li>remove a spurious assignment in ScreenWrite() from Robert
12722    Brady's patch which set a null at the "end" of the buffer to be
12723    written. That made the autowrap feature write a blank in the
12724    first column for the non-UTF-8 configuration, rather than the
12725    actual character (reported by Alan Citterman
12726    &lt;alan@mticket.com&gt;).</li>
12727  </ul>
12728
12729  <h1><a name="xterm_143" id="xterm_143">Patch #143 - 2000/8/19 -
12730  XFree86 4.0.1b</a></h1>
12731
12732  <ul>
12733    <li>add a check to ensure that <code>-class</code> command-line
12734    option is not confused with <code>-c</code> (reported by Paul
12735    Townsend &lt;aab@aab.cc.purdue.edu&gt;).</li>
12736  </ul>
12737
12738  <h1><a name="xterm_142" id="xterm_142">Patch #142 - 2000/8/18 -
12739  XFree86 4.0.1b</a></h1>
12740
12741  <ul>
12742    <li>correction to precompose scripts, so 0061 + 0300 will now
12743    be really be displayed as 00C0 (patch by Robert Brady
12744    &lt;robert@susu.org.uk&gt;).</li>
12745
12746    <li>correct macro ClassSelects() in button.c, used to hide
12747    ifdef's for OPT_WIDE_CHARS in patch #141 (reported by Andreas
12748    Paul &lt;paula@informatik.tu-muenchen.de&gt;).</li>
12749
12750    <li>change wcwidth.h to include stddef.h rather than wchar.h,
12751    which is not present on OpenBSD and FreeBSD (reported by
12752    Christian Weisgerber and Bram Moolenaar).</li>
12753
12754    <li>newer config.sub and config.guess, from lynx
12755    2.8.4dev.7</li>
12756  </ul>
12757
12758  <h1><a name="xterm_141" id="xterm_141">Patch #141 - 2000/8/14 -
12759  XFree86 4.0.1b</a></h1>
12760
12761  <ul>
12762    <li>changes for doublewidth and combining characters, from
12763    http://www.ecs.soton.ac.uk/~rwb197/xterm/ (integrated patch by
12764    Robert Brady). In this context, doublewidth refers to 16-bit
12765    character sets which may have glyphs occupying two cells.</li>
12766
12767    <li>add command-line option <code>-class</code>, which allows
12768    one to override xterm's resource class. Also add resource file
12769    <code>UXTerm.ad</code>, which simplifies using xterm for both
12770    8-bit character sets and UTF-8.</li>
12771
12772    <li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
12773    Moolenaar, Stephen P Wall).</li>
12774  </ul>
12775
12776  <h1><a name="xterm_140" id="xterm_140">Patch #140 - 2000/7/23 -
12777  XFree86 4.0.1</a></h1>
12778
12779  <ul>
12780    <li>modify Makefile.in to circumvent GNU make's built-in suffix
12781    rule for ".sh" which confuses install.sh with the "make
12782    install" target (report/patch by Paul Gilmartin).</li>
12783
12784    <li>implement an experimental control sequence which an
12785    application may use to query the terminal to determine what
12786    sequence of characters it would send for a given function key.
12787    This is ifdef'd with OPT_TCAP_QUERY (request by Bram
12788    Moolenaar).</li>
12789
12790    <li>add /usr/local to search path in CF_X_ATHENA configure
12791    macro to build with Xaw3d on OpenBSD (patch by Christian
12792    Weisgerber).</li>
12793
12794    <li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
12795    xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate
12796    (report by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).</li>
12797
12798    <li>correct a few errors in xterm.man: font in filename example
12799    for Tektronix emulation, and description of -nul/+nul
12800    command-line options (report by Eric Fischer
12801    &lt;enf@pobox.com&gt;).</li>
12802
12803    <li>update config.guess and config.sub, from tin and lynx.</li>
12804  </ul>
12805
12806  <h1><a name="xterm_139" id="xterm_139">Patch #139 - 2000/6/17 -
12807  XFree86 4.0d</a></h1>
12808
12809  <ul>
12810    <li>back out change to <code>-name</code> command-line option,
12811    restoring its original behavior (as noted by David Madore, the
12812    correct interpretation of this option is the application
12813    instance rather than the application class).</li>
12814  </ul>
12815
12816  <h1><a name="xterm_138" id="xterm_138">Patch #138 - 2000/6/15 -
12817  XFree86 4.0c</a></h1>
12818
12819  <ul>
12820    <li>workaround for fixed fonts which are generated from Unicode
12821    fonts: they omit glyphs for some xterm's less-used line-drawing
12822    characters, which caused xterm to set a flag telling it to use
12823    only its internal line-drawing characters. Do not set the flag
12824    (it can be set from the popup menu), and xterm will generate
12825    only the line-drawing glyphs which actually are missing.<br>
12826    Otherwise, when used for large fonts, xterm may generate a
12827    2-pixel wide line, which can leave dots on the screen.</li>
12828
12829    <li>restore first line of 256colres.pl, omitted in 4.0c
12830    diffs.</li>
12831  </ul>
12832
12833  <h1><a name="xterm_137" id="xterm_137">Patch #137 - 2000/6/10 -
12834  XFree86 4.0b</a></h1>
12835
12836  <ul>
12837    <li>make command-line <code>-name</code> option work as
12838    documented. Apparently this was lost in X11R5 when coding to
12839    use <code>XtAppInitialize</code>.</li>
12840
12841    <li>limit numeric parameters of control sequences to 65535 to
12842    simplify checks for numeric overflow.</li>
12843
12844    <li>change index into UDK list to unsigned to guard against
12845    numeric overflow making the index negative (Taneli Huuskonen
12846    &lt;huuskone@cc.helsinki.fi&gt;).</li>
12847
12848    <li>change <code>sun&nbsp;function-keys</code> resource name to
12849    <code>sunFunctionKeys</code> to work around redefinition of the
12850    token <code>sun</code> by xrdb on Solaris. Similarly, renamed
12851    resource <code>sun&nbsp;keyboard</code> to
12852    <code>sunKeyboard</code> (Stephen P Wall).</li>
12853
12854    <li>change similar resource names for HP and SCO to avoid
12855    potential conflict with xrdb symbols on other systems, as well
12856    as for consistency.</li>
12857
12858    <li>reorganized the install targets in the autoconf'd Makefile,
12859    adding install-app, install-bin, install-dirs and install-man.
12860    The app-defaults class can be overridden by setting the make
12861    variable 'CLASS', simplifying customization of xterm as a
12862    Unicode terminal, e.g., CLASS=UXTerm.</li>
12863
12864    <li>add limit checks to <code>ClearInLine()</code>,
12865    <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
12866    correct potential out-of-bounds indexing (prompted by Debian
12867    bug report #64713, which reported a problem with ICH escape
12868    sequences).</li>
12869
12870    <li>updates to config.sub and config.guess Kevin Buettner
12871    &lt;kev@primenet.com&gt; for elf64_ia64 Bernd Kuemmerlen
12872    &lt;bkuemmer@mevis.de&gt; and MacOS X.</li>
12873
12874    <li>for os390, add check for errno set to ENODEV on failure to
12875    open /dev/tty when there is no controlling terminal (patch by
12876    Paul Gilmartin).</li>
12877
12878    <li>fixes for building on Digital Unix 4.0 and AIX 4.2 (patch
12879    from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt;).</li>
12880
12881    <li>modify DECRQSS reply for DECSCL to additionally report if
12882    the terminal is set for 8-bit controls.</li>
12883  </ul>
12884
12885  <h1><a name="xterm_136" id="xterm_136">Patch #136 - 2000/6/3 -
12886  XFree86 4.0b</a></h1>
12887
12888  <ul>
12889    <li>add a resource (<code>limitResize</code>) limiting resizing
12890    via the CSI 4 t and CSI 8 t sequences.</li>
12891
12892    <li>ignore out-of-bounds resize requests, i.e., where
12893    sign-extension or truncation of the parameters would
12894    occur.</li>
12895  </ul>
12896
12897  <h1><a name="xterm_135" id="xterm_135">Patch #135 - 2000/5/29 -
12898  XFree86 4.0b</a></h1>
12899
12900  <ul>
12901    <li>remove code introduced in #134 which made some backgrounds
12902    bold.</li>
12903
12904    <li>minor correction to format of updated $TERMCAP when adding
12905    <code>kb</code> capability for <code>ptyInitialErase</code>
12906    logic.</li>
12907
12908    <li>improved test for SVR4 definition.</li>
12909  </ul>
12910
12911  <h1><a name="xterm_134" id="xterm_134">Patch #134 - 2000/5/28 -
12912  XFree86 4.0b</a></h1>
12913
12914  <ul>
12915    <li>update URL's and mailing addresses, moved to
12916    http://dickey.his.com and dickey@herndon4.his.com</li>
12917
12918    <li>correct missing quotes in CF_TTY_GROUP configure script
12919    macro in case the script is run in batch mode.</li>
12920
12921    <li>modify ownership-check of log file to ignore the group
12922    ownership. Otherwise xterm cannot create logfiles in
12923    directories with set-gid permissions.</li>
12924
12925    <li>simplify the logic that reads termcap data.</li>
12926
12927    <li>add fallback definition for B9600 in case line speed
12928    definition for 38400 is missing (report by Jack J Woehr
12929    &lt;jwoehr@ibm.net&gt;, for OpenBSD 2.6).</li>
12930
12931    <li>fix: Set highlightColor, and select a region containing the
12932    text cursor. If the window loses focus, the cursor becomes
12933    hollow, with the region inside the cursor being
12934    background/foreground, unlike the rest of the selection, which
12935    is foreground/highlight (patch by Ross Paterson
12936    &lt;ross@soi.city.ac.uk&gt;).</li>
12937
12938    <li>add configure script tests to define SVR4, SYSV and
12939    USE_POSIX_WAIT, which enables xterm to compile on Solaris 7 and
12940    SCO Openserver without imake, though there are still a few
12941    features for the latter which require <code>sco</code> to be
12942    predefined.</li>
12943
12944    <li>patches from Stephen P Wall:
12945      <ul>
12946        <li>add support for two Sun-specific function keys. These
12947        keys are labeled F11 and F12 on Sun Type 5 keyboards, but
12948        return SunXK_F36 and SunXK_F37. Support will only be
12949        compiled in if the header file &lt;X11/Sunkeysym.h&gt;
12950        exists and contains the appropriate symbol definitions. The
12951        keycodes for the DEC keycodes were arbitrary unused codes,
12952        but the ones for the Sun keycodes are what cmdtool and
12953        shelltool actually send.</li>
12954
12955        <li>add <code>colorRV</code> and <code>colorRVMode</code>
12956        resources to allow specifying a color to use for reverse
12957        video, similar to the existing UL, BD, and BL modes.</li>
12958
12959        <li>add <code>alwaysUseMods</code> resource, to override
12960        check if <code>alt</code> or <code>meta</code> modifiers
12961        are used in <code>translations</code> resource. Revamped
12962        the code to calculate the modifier value, and included Meta
12963        if alwaysUseMods is TRUE, using values 9-16.</li>
12964      </ul>
12965    </li>
12966
12967    <li>fixes for os390 (Paul Gilmartin):
12968      <ul>
12969        <li>regularize the definition of CONTROL() and remove an
12970        acknowledged "trial and error" table.</li>
12971
12972        <li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
12973        rather than plain 0177 which is the EBCDIC quotation
12974        mark.</li>
12975
12976        <li>modify <code>xtermMissingChar()</code> so that EBCDIC
12977        codes 128-159 are not rendered as blanks by X server
12978        running on Solaris, which sees those as control
12979        characters.</li>
12980
12981        <li>make debugging traces (configure --enable-trace) work
12982        properly with EBCDIC.</li>
12983      </ul>
12984    </li>
12985  </ul>
12986
12987  <h1><a name="xterm_133" id="xterm_133">Patch #133 - 2000/5/2 -
12988  XFree86 4.0a</a></h1>
12989
12990  <ul>
12991    <li>add substitutions in autoconf'd Makefile for CPPFLAGS,
12992    LDFLAGS and AWK (reported by Neil Bird).</li>
12993
12994    <li>correct uninitialized <code>childstat</code> variable from
12995    patch #131 in <code>creat_as()</code> function, which caused
12996    logging to not work on Solaris, whose <code>waitpid()</code>
12997    function does not initialize its parameter. Add check for EINTR
12998    on return from <code>waitpid()</code> as well (reported by Neil
12999    Bird &lt;neil.bird@rdel.co.uk&gt;).</li>
13000
13001    <li>remove a redundant check for working <code>setuid()</code>
13002    function introduced in patch #132. Greg Smith reports that this
13003    does not work as intended on os390.</li>
13004
13005    <li>change line speed from 9600bd to 38400bd, to accommodate
13006    people who mistakenly use $TERM set to <em>vt100</em>, to
13007    reduce the effect of padding associated with this terminal
13008    type.</li>
13009
13010    <li>add configure script check for IRIX 6.5's redefinition of
13011    baud rates associated with <code>struct termio</code>, to
13012    correct a situation where the baud rate was initialized to zero
13013    (reported by Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).</li>
13014
13015    <li>remove unused configure script check for VDISABLE.</li>
13016  </ul>
13017
13018  <h1><a name="xterm_132" id="xterm_132">Patch #132 - 2000/4/11 -
13019  XFree86 4.0a</a></h1>
13020
13021  <ul>
13022    <li>undo an incorrect change from patch #113 caused the right
13023    scrollbar to be positioned incorrectly when re-enabling it
13024    (analysis by D Roland Walker).</li>
13025
13026    <li>add ctrlFKeys resource, replacing constant for adjusting
13027    control-F1 to control-F12 to VT220-style F10-F20. The resource
13028    changes the constant 12 to a default value of 10 (request by
13029    Jim Knoble &lt;jmknoble@pobox.com&gt;).</li>
13030
13031    <li>correct ifdef'ing for conflict between definitions in AIX's
13032    &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
13033    Olsen).</li>
13034
13035    <li>add checks for return-values of getutid(), initgroups() and
13036    setuid() in main.c, as well as modifying ifdef's for __osf__ to
13037    include tty-group and WTMP logic (adapted from patch by Paul
13038    Szabo &lt;psz@maths.usyd.edu.au&gt;)</li>
13039
13040    <li>modify resize.c to build and work on os390 (uses EBCDIC)
13041    (adapted from patch by Phil Sidler
13042    &lt;Phil.Sidler@airborne.com&gt;)</li>
13043
13044    <li>use Ires(), Bres() and Sres() macros to simplify resource
13045    list in charproc.c</li>
13046
13047    <li>resync with XFree86 4.0a:
13048      <ul>
13049        <li>correct a typo in os2main.c (Holger Veit, from
13050        4.0a).</li>
13051      </ul>
13052    </li>
13053  </ul>
13054
13055  <h1><a name="xterm_131" id="xterm_131">Patch #131 - 2000/3/3 -
13056  XFree86 3.9.18b</a></h1>
13057
13058  <ul>
13059    <li>improve logfile security (integrated patch by Branden
13060    Robinson)
13061      <ul>
13062        <li>make the <code>creat_as()</code> function more strict
13063        by using O_EXCL rather than O_APPEND.</li>
13064
13065        <li>fixes to make DEBUG ifdef's compile/run, including
13066        making the debug logfile more unique by appending a
13067        timestamp to its name.</li>
13068
13069        <li>include &lt;term.h&gt; in resize.c, to fix a
13070        missing-prototype warning.</li>
13071      </ul>
13072    </li>
13073
13074    <li>modified <code>creat_as()</code> a little more, retaining
13075    the ability to append to a logfile If the user specifies the
13076    name. Also, check if the opened file (which <a href=
13077    "#xterm_130">patch #130</a> ensures is owned by the effective
13078    user) is not writable by other users.</li>
13079
13080    <li>use <code>creat_as()</code> logic to make tek4014
13081    screen-copy more secure (noted by Branden Robinson).</li>
13082
13083    <li>ifdef'd some of Branden's changes to build/work on older
13084    machines.</li>
13085
13086    <li>correct missing initialization of the <code>.mode</code>
13087    flag in <code>ColorRes</code> struct, from patch #129. This
13088    worked on Linux because <code>malloc()</code> zeroes memory on
13089    that platform (reported by Christian Weisgerber).</li>
13090
13091    <li>modify logic for <code>deleteIsDEL</code> resource so it
13092    has internally 3 states: unspecified, true and false. If
13093    unspecified, the keyboard type determines whether the Delete
13094    key transmits <code>&lt;ESC&gt;[3~</code> or <code>\177</code>,
13095    and the popup menu entry reflects the internal state.
13096    Otherwise, the popup menu entry overrides the keyboard type
13097    (suggested by Dr Werner Fink, to make it simpler to set
13098    resources that imitate the legacy X11R6 xterm).</li>
13099  </ul>
13100
13101  <h1><a name="xterm_130" id="xterm_130">Patch #130 - 2000/3/1 -
13102  XFree86 3.9.18a</a></h1>
13103
13104  <ul>
13105    <li>modify <code>scroll-forw()</code> and
13106    <code>scroll-back()</code> actions, adding a third parameter
13107    which will direct xterm to ignore the action when mouse
13108    reporting is enabled. This is needed for the wheel mouse to be
13109    used to report to the application rather than scroll the
13110    window.</li>
13111
13112    <li>add menu entry and action to allow disabling xterm's
13113    assumption that the current font contains line-drawing
13114    characters if the font cells 1-31 are nonempty. Some fonts may
13115    have other characters (reported by Bruno Betro
13116    &lt;bruno@iami.mi.cnr.it&gt;).</li>
13117
13118    <li>add a check in <code>creat_as()</code> to ensure that the
13119    user really owns the logfile that has been opened.</li>
13120
13121    <li>add logic to implement SCO function-keys. (This is really
13122    incomplete, since I intend to revisit this and make xterm able
13123    to emulate scoansi better than just the function-keys).</li>
13124
13125    <li>add configure script option --enable-sco-fkeys, minor
13126    related fixes (patch by Dr Werner Fink).</li>
13127
13128    <li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)</li>
13129
13130    <li>fix typo in sinstall.sh default for $TST_PROG (reported by
13131    Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)</li>
13132  </ul>
13133
13134  <h1><a name="xterm_129" id="xterm_129">Patch #129 - 2000/2/26 -
13135  XFree86 3.9.18a</a></h1>
13136
13137  <ul>
13138    <li>improve initialization of ANSI colors by delaying
13139    allocation until each color is first used.</li>
13140
13141    <li>remove ifdef that prevented colorBD/colorUL/colorBL
13142    resources from working when 256-color configuration was built
13143    (reported by Todd Larason).</li>
13144
13145    <li>fix some minor inconsistencies in terminfo (Debian
13146    #58530).</li>
13147  </ul>
13148
13149  <h1><a name="xterm_128" id="xterm_128">Patch #128 - 2000/2/17 -
13150  XFree86 3.9.18</a></h1>
13151
13152  <ul>
13153    <li>correct logic for <code>oldXtermFKeys</code> resource,
13154    fixes a core dump when attempting to set it from the
13155    command-line (reported by Dr Werner Fink).</li>
13156
13157    <li>correct ifdef for meta-sends-escap so configure
13158    --disable-num-lock builds.</li>
13159  </ul>
13160
13161  <h1><a name="xterm_127" id="xterm_127">Patch #127 - 2000/2/12 -
13162  XFree86 3.9.17e</a></h1>
13163
13164  <ul>
13165    <li>add resource, popup menu entry and control sequence to
13166    allow changing the Delete key to send either DEL or the
13167    VT220-style Remove escape sequence.</li>
13168
13169    <li>remove logic for metaSendsEscape that would allow xterm to
13170    send <code>&lt;ESC&gt;[3~</code> before a function key that
13171    would begin with <code>&lt;ESC&gt;[3~</code> (request by
13172    Christian Weisgerber).</li>
13173
13174    <li>add missing action and documentation for
13175    meta-sends-escape.</li>
13176
13177    <li>correct a few typos in ctlseqs.ms (incorrect code for Cyan
13178    color)</li>
13179  </ul>
13180
13181  <h1><a name="xterm_126" id="xterm_126">Patch #126 - 2000/2/8 -
13182  XFree86 3.9.17c</a></h1>
13183
13184  <ul>
13185    <li>ensure that xterm will automatically activate the UTF-8
13186    mode whenever the name of the locale environment variable
13187    suggests that a UTF-8 locale is in use (patch by Markus Kuhn).
13188    This will help that by simply setting LC_CTYPE an entire system
13189    can be switched over to UTF-8, without users having to remember
13190    the UTF-8 command line options ("-u8", etc.) of the various
13191    applications. Command line options and X resource entries can
13192    still be used to override this default choice.</li>
13193
13194    <li>add old function-keys control sequences and popup menu
13195    entry, for compatibility with legacy X11R6 xterm.</li>
13196
13197    <li>revert translation of editing keypad "Delete" key to legacy
13198    \177.</li>
13199
13200    <li>simplify the color-resource data expressions with macro
13201    COLOR_RES, for later use in restructuring color
13202    initialization.</li>
13203
13204    <li>change encoding of wheel mouse (buttons 4 and 5) to avoid
13205    conflict with legacy mouse modifiers (suggested by Bram
13206    Moolenaar).</li>
13207  </ul>
13208
13209  <h1><a name="xterm_125" id="xterm_125">Patch #125 - 2000/1/31 -
13210  XFree86 3.9.17c</a></h1>
13211
13212  <ul>
13213    <li>make this work on OpenVMS (integrated patch by David
13214    Mathog).</li>
13215
13216    <li>rename some functions, e.g., <code>Index</code> to
13217    <code>xtermIndex</code> so that ports such as VMS which link
13218    externals ignoring case will not have library conflicts
13219    (reported by David Mathog).</li>
13220
13221    <li>correct logic of <code>do_reversevideo()</code>, which did
13222    not update the corresponding popup menu check mark (reported by
13223    David Mathog, this was a detail overlooked in patch #94).</li>
13224
13225    <li>change TRACE macro so semicolon is not within definition,
13226    making <em>indent</em> and similar programs work better.</li>
13227
13228    <li>add <code>depend</code> rule to Makefile.in</li>
13229
13230    <li>modify logic of boldColors resource to suppress it if an
13231    extended color control has been used, e.g., for 88-color or
13232    256-color mode (patch by Todd Larason).</li>
13233
13234    <li>revise logic that handles menus and input translation for
13235    keyboard type so only one can be selected at a time.</li>
13236
13237    <li>restore kdch1=\177 for the Sun function-key type, and make
13238    the the Delete key send DEL (\177) if the oldXtermFKeys
13239    resource is set.</li>
13240
13241    <li>rephrase logic and ifdef's for POSIX VDISABLE to avoid
13242    preprocessor expression that will not compile on NetBSD/x86
13243    1.4.1 (reported by Takaaki Nomura
13244    &lt;amadeus@yk.rim.or.jp&gt;).</li>
13245  </ul>
13246
13247  <h1><a name="xterm_124" id="xterm_124">Patch #124 - 2000/1/27 -
13248  XFree86 3.9.17b</a></h1>
13249
13250  <ul>
13251    <li>change coding of editing keypad's "Delete" key to
13252    &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode. This
13253    makes the terminfo kdch1 capability independent of the coding
13254    of the backarrow key, which sends either backspace (8) or DEL
13255    (127). The reason for doing this (compatibility with the
13256    <em>screen</em> program) outweighs the choice of DEL (127)
13257    which was used in X11R5/X11R6 xterms. The <em>screen</em>
13258    program translates whatever matches kdch1 into
13259    &lt;escape&gt;[3~, even if it happens to be the stty erase
13260    character.</li>
13261
13262    <li>add encoding for control/?, to work around xmodmap or key
13263    translations which may confuse backspace and delete. A
13264    control/? will send DEL (127), and a control/H will of course
13265    send backspace (8).</li>
13266
13267    <li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian
13268    #54840).</li>
13269
13270    <li>minor correction to logic that encodes Sun and DEC function
13271    keys to avoid sending an escape sequence if the key symbol is
13272    not found in xterm's lookup table.</li>
13273
13274    <li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-"
13275    pattern is more likely to be implemented when <em>imake</em>
13276    configures xterm (fixes Debian #55105).</li>
13277
13278    <li>change manpage to make it clearer what codes are sent by
13279    the backarrow key.</li>
13280  </ul>
13281
13282  <h1><a name="xterm_123" id="xterm_123">Patch #123 - 2000/1/22 -
13283  XFree86 3.9.17a</a></h1>
13284
13285  <ul>
13286    <li>add a note reserving OSC 51 for use in Emacs shell (request
13287    by Rob Mayoff &lt;mayoff@dqd.com&gt;).</li>
13288
13289    <li>correct a missing backslash in xterm-vt220 termcap.</li>
13290
13291    <li>cleanup remaining quoted includes, preferring bracketed
13292    form.</li>
13293
13294    <li>minor configure-script macro updates from tin and
13295    vile.</li>
13296
13297    <li>add configure-script option for using utempter library,
13298    adapted from Redhat 6.1 patch for XFree86 3.3.5</li>
13299
13300    <li>resync with XFree86 3.9.17a:
13301      <ul>
13302        <li>correction to QNX support (Frank Guangxin Liu)</li>
13303
13304        <li>some cosmetic changes that did not correct any reported
13305        problems.</li>
13306      </ul>
13307    </li>
13308  </ul>
13309
13310  <h1><a name="xterm_122" id="xterm_122">Patch #122 - 1999/12/28 -
13311  XFree86 3.9.16f</a></h1>
13312
13313  <ul>
13314    <li>move the suggested wheel-mouse button translations into
13315    charproc.c to simplify customization. Correct some minor logic
13316    errors in the support for buttons 4 and 5, used for wheel mice
13317    (reported by Bram Moolenaar).</li>
13318
13319    <li>implement <em>metaSendsEscape</em> resource, with
13320    corresponding control sequence and menu entry. Like
13321    <em>eightBitInput</em>, this causes xterm to send ESC prefixing
13322    the given key, but applies to all keys and is independent of
13323    the 8-bit/7-bit terminal setting. (requests by Alexander V
13324    Lukyanov and Marc Feeley).</li>
13325
13326    <li>correct potential indexing with negative subscript in
13327    udk_lookup(), (reported by Ian Collier
13328    &lt;Ian.Collier@comlab.ox.ac.uk&gt;).</li>
13329
13330    <li>modify configure script that sets TERMINFO_DIR to use
13331    ${prefix} rather than /usr if the --prefix option was specified
13332    (request by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
13333
13334    <li>modify checks for repeat-character control sequence to test
13335    the character class against xterm's state table, rather than
13336    the isprint() macro (patch by Alexander V Lukyanov).</li>
13337
13338    <li>change several functions to macros to improve speed</li>
13339
13340    <li>two corrections to simulation of bold font via
13341    overstriking:
13342      <ul>
13343        <li>use clipping to avoid leaving trash at end of the text,
13344        and</li>
13345
13346        <li>add brackets so wide-character logic does not
13347        fall-through into the overstriking logic (reported by Marc
13348        Feeley &lt;feeley@IRO.UMontreal.CA&gt;)</li>
13349      </ul>
13350    </li>
13351
13352    <li>add several entries to termcap file to make it have the
13353    same set of aliases as the terminfo file.</li>
13354
13355    <li>scale the color values used for xterm-256color terminfo
13356    entry to 0..1000, as expected by ncurses.</li>
13357
13358    <li>change xterm-r6 terminfo definitions for F1-F4 to match
13359    program.</li>
13360
13361    <li>Add QNX/Neutrino support (Frank Guangxin Liu
13362    &lt;frank@ctcqnx4.ctc.cummins.com&gt;)</li>
13363  </ul>
13364
13365  <h1><a name="xterm_121" id="xterm_121">Patch #121 - 1999/11/14 -
13366  XFree86 3.9.16c</a></h1>
13367
13368  <ul>
13369    <li>change label on "Sun/PC Keyboard" popup menu entry to
13370    "VT220 Keyboard", since the checked state corresponds to VT220
13371    rather than Sun/PC.</li>
13372
13373    <li>add configure test CF_UTMP_UT_XSTATUS to handle the
13374    variants of utmp exit status (reports by Dave Ellement, Jeremie
13375    Petit, Tomas Vanhala).</li>
13376
13377    <li>amend treatment of ALT key (see <a href="#xterm_94">patch
13378    #94</a>) so that if ALT is used as a modifier in key
13379    translations, then no parameter will be sent in escape
13380    sequences for Sun/PC function keys (request by Dr Werner
13381    Fink).</li>
13382
13383    <li>modify default for OPT_I18N_SUPPORT to assume that
13384    <code>XtSetLanguageProc()</code> is available in X11R5.
13385      <p>Caveat: <code>XtSetLanguageProc()</code> was added fairly
13386      late in the X11R5 patches, and some vendors shipped buggy
13387      versions of this function (request by Tomas Vanhala).</p>
13388    </li>
13389
13390    <li>correct configure macro CF_SYSV_UTMP to test-link with
13391    functions consistent with the header, e.g., getutent() for
13392    utmp.h and getutxent() for utmpx.h (reported by Greg
13393    Smith).</li>
13394
13395    <li>modify terminfo entry for <code>xterm-xfree86</code> to
13396    reflect modifiers for shift and control (from a patch by
13397    Alexander V Lukyanov).</li>
13398
13399    <li>modify terminfo entry for <code>xterm-sun</code> to match
13400    the function-key definitions in ncurses. The pageup/pagedown
13401    and related function keys correspond to the Sun keyboard, which
13402    does not necessarily correspond with X's notion of those
13403    keys.</li>
13404
13405    <li>modify treatment of XK_Delete keysym so it transmits
13406    parameterized VT220-style <code>&lt;ESC&gt;[3~</code> if
13407    modifiers (shift, control alt) are given (request by Alexander
13408    V Lukyanov).</li>
13409
13410    <li>corrected misspelled resource name in command-line option
13411    for HP function keys.</li>
13412  </ul>
13413
13414  <h1><a name="xterm_120" id="xterm_120">Patch #120 - 1999/10/28 -
13415  XFree86 3.9.16c</a></h1>
13416
13417  <ul>
13418    <li>refine the change to <code>SGR_Background()</code> in patch
13419    #119, by not flushing the pending scrolling operation if the
13420    background color is not actually changing. This combination
13421    occurs when using color-ls to display a long listing, since
13422    each line ends with an SGR0 which affects only the foreground
13423    color. The unnecessary flushing made it noticeably slower
13424    (reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
13425
13426    <li>remove obsolete documentation about modifiers which can be
13427    returned in mouse tracking mode, and modify logic to ignore
13428    modifiers other than the existing ones, e.g., NumLock (prompted
13429    by discussions with Christian Weisgerber and Brad Pepers
13430    &lt;brad@linuxcanada.com&gt;).</li>
13431
13432    <li>use free bit from obsolete shift-modifier coding of mouse
13433    tracking button events to encode buttons 4 and 5, e.g., for a
13434    wheel mouse (requests by Brad Pepers and Bram Moolenaar).</li>
13435
13436    <li>correct a place where the ptyInitialErase logic did not set
13437    the backarrowKey state, and modify it further to use tgetstr()
13438    rather than parse the termcap data returned from tgetent() so
13439    the ptyInitialErase logic will work when xterm is linked with a
13440    terminfo library (based on a patch by Dr Werner Fink
13441    &lt;werner@suse.de&gt;).</li>
13442
13443    <li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration
13444    (patch by Michael Rohleder).</li>
13445
13446    <li>improve configure script's utmp tests (based on reports by
13447    Greg Smith for os390, and David Ellement for HPUX).</li>
13448
13449    <li>modify sinstall.sh to use uid=0 rather than 'root' to
13450    determine if the installer is privileged. This is needed on
13451    some systems since more than one account may be privileged
13452    (report by Greg Smith).</li>
13453
13454    <li>add an application resource, <code>messages</code> (and a
13455    corresponding -/+mesg option) which controls the initial
13456    permission on the terminal: if messages is set to true (the
13457    default), behavior is as without the patch; if it is set to
13458    false (as per -mesg), the terminal is opened in mode 0600, thus
13459    producing the effect of the <code>mesg n</code> command. This
13460    is useful for users who want to redirect all their messages to
13461    one particular xterm: it is more pleasant to do this with xterm
13462    resources than with explicit calls to the <code>mesg</code>
13463    program (patch, description by David Madore
13464    &lt;david.madore@ens.fr&gt;).</li>
13465  </ul>
13466
13467  <h1><a name="xterm_119" id="xterm_119">Patch #119 - 1999/10/16 -
13468  XFree86 3.9.16c</a></h1>
13469
13470  <ul>
13471    <li>add responses (DA and DSR) for DEC locator mode</li>
13472
13473    <li>add coding for ANSI color to DA response</li>
13474
13475    <li>implement UTF-8 translation for Media Copy (print)
13476    operations.</li>
13477
13478    <li>implement vt320 control sequences for Print Composed Main
13479    Display and for Print All Pages. The latter directs xterm to
13480    print the current screen as well as the scrollback buffer.</li>
13481
13482    <li>correct error in _GNU_SOURCE configure test, which left it
13483    always defined.</li>
13484
13485    <li>add more information, i.e., with strerror for some system
13486    calls in the main program which may fail due to insufficient
13487    permissions (prompted by a problem report for <code>-C</code>
13488    by Jeremie Petit &lt;Jeremie.Petit@digital.com&gt;).</li>
13489
13490    <li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
13491    &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
13492    &lt;griswold@acm.org&gt;).</li>
13493
13494    <li>add configure script test to resolve conflict between
13495    between &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;</li>
13496
13497    <li>modify translation of UTF-8 sequences to reject "overly
13498    long" variations (patch by Markus Kuhn).</li>
13499
13500    <li>remove <code>utf8controls</code> resource, since Markus'
13501    change removes the corresponding logic.</li>
13502
13503    <li>correct a case where colors were not rendered properly.
13504    This happened when an application inserted several lines, then
13505    changed colors. If this was done all in one write, then there
13506    would be no intervening refresh, and the new color was applied
13507    to the pending scrolling operation which was awaiting the next
13508    refresh (reported by Stephane Chazelas
13509    &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
13510  </ul>
13511
13512  <h1><a name="xterm_118" id="xterm_118">Patch #118 - 1999/10/5 -
13513  XFree86 3.9.16b</a></h1>
13514
13515  <ul>
13516    <li>refine configure test for utmp versus utmpx, to build on
13517    HP-UX 10.x (reported by David Ellement).</li>
13518
13519    <li>move the configure check for <code>const</code> after the
13520    check for ANSI C compiler options, since those may be required
13521    to make it work properly on HP-UX.</li>
13522
13523    <li>add configure test for defining
13524    <code>_GNU_SOURCE</code></li>
13525
13526    <li>correction to <em>-hold</em> option, ensure that if data is
13527    already in the output buffer that it will be displayed before
13528    closing the PTY.</li>
13529
13530    <li>move the configure checks for setuid install of xterm into
13531    a script to avoid installing it setuid'd to a non-root user
13532    (reported by Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).</li>
13533
13534    <li>correct configure script's check for termcap.h to avoid
13535    using ncurses' version of it on systems that have a working
13536    <code>tgetent()</code> function. This is needed to make
13537    <code>resize</code> work properly.</li>
13538
13539    <li>fix some typography in ctlseqs.ms description of DEC
13540    locator events (reported by Stephen P Wall).</li>
13541  </ul>
13542
13543  <h1><a name="xterm_117" id="xterm_117">Patch #117 - 1999/9/29 -
13544  XFree86 3.9.16b</a></h1>
13545
13546  <ul>
13547    <li>change order of tests in configure script for utmp and
13548    utmpx to test utmpx first, to compile on Solaris (reported by
13549    Leena Heino &lt;liinu@uta.fi&gt; and Patrik Hagglund
13550    &lt;patha@ida.liu.se&gt;).</li>
13551
13552    <li>add a configure test for utmp.ut_xtime, needed for SCO
13553    Openserver, and for lastlog, needed for Redhat 6.0, to refine
13554    the utmp/utmpx auto-configure.</li>
13555
13556    <li>remove a spurious comma in an #undef (reported by David
13557    Green &lt;greendjf@cvhp152.marconicomms.com&gt; and David
13558    Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
13559    compiler does care about syntax).</li>
13560
13561    <li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported
13562    by Suhaib M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is
13563    told that the next Cygnus release will drop that symbol in
13564    their next release).</li>
13565
13566    <li>minor cleanup of ifdef's for makeColorPair (patch by
13567    Stephen P Wall).</li>
13568
13569    <li>work around problem observed in XFree86 3.3.5 (patch by
13570    Alexander V Lukyanov, Redhat #5419). From the problem report:
13571      <blockquote>
13572        <p>xterm consumes cpu when selecting text with mouse
13573        (holding down left mouse button) and when a program working
13574        under the xterm outputs something to stdout.</p>
13575
13576        <p>Easy way to reproduce:<br>
13577        <code>while :; do echo aaa; sleep 1; done</code><br>
13578        (while this runs, select text and hold down left mouse
13579        button) watch cpu load.<br>
13580        release left mouse button - spinning stops.</p>
13581      </blockquote>
13582    </li>
13583  </ul>
13584
13585  <h1><a name="xterm_116" id="xterm_116">Patch #116 - 1999/9/25 -
13586  XFree86 3.9.16a</a></h1>
13587
13588  <ul>
13589    <li>modify warning if change-ownership of PTY fails; some
13590    configurations may not happen to have old-style pty's (reported
13591    by Bob Maynard).</li>
13592
13593    <li>improve check in configure script for group ownership of
13594    installed xterm; some platforms use the -g option of ls to
13595    toggle group off rather than on (reported by Greg Smith).</li>
13596
13597    <li>minor improvement to toolbar geometry, to make it not
13598    resizable. This still is not satisfactory (but is usable) since
13599    the toolbar overlaps the xterm widget if the window is resized
13600    to make it smaller. It appears that some work is needed for the
13601    xterm widget's geometry management to make it function
13602    properly.</li>
13603
13604    <li>implement configure script tests for utmp, tty group.</li>
13605
13606    <li>implement <em>-hold</em> option, allowing users to retain
13607    the window after a shell has exited (this is recently an FAQ,
13608    but prompted by a comment by Joachim Plaettner-Hochwarth
13609    &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the
13610    IRIX winterm provides this option).</li>
13611
13612    <li>add support for DEC Locator control sequences for xterm
13613    (integrated patch by Stephen P Wall):
13614
13615      <pre>
13616                DECEFR, "Enable Filter Rectangle"
13617                DECELR, "Enable Locator Reports"
13618                DECSLE, "Select Locator Events"
13619                DECRQLP, "Request Locator Position"
13620</pre>
13621      <p>This allows the xterm mouse to be used with applications
13622      that use the DEC Locator sequences, such as VAX Tpu, or SMG$
13623      based applications.</p>
13624    </li>
13625
13626    <li>improve print action (patch by Matthias Baake). From his
13627    notes,
13628      <ul>
13629        <li>Bug 1<br>
13630        Underlined text is preceded by ESC&nbsp;[0;2m . This should
13631        be ESC&nbsp;[0;4m&nbsp;, ESC&nbsp;[2m doesn't seem to have
13632        any effect. (print.c/send_SGR)</li>
13633
13634        <li>Bug 2<br>
13635        The check for the last non-empty column (while (last &gt;
13636        0) ... in print.c/printLine) omits the rightmost column of
13637        the screen, the loop must start with last =
13638        screen-&gt;max_col+1 instead of last =
13639        screen-&gt;max_col.</li>
13640
13641        <li>Bug 3<br>
13642        Any attributes of the first character (and of all
13643        immediately following characters with the same attributes)
13644        are ignored. The variable attr (print.c/printLine) should
13645        be initialized with 0, not with *a &amp; SGR_MASK.</li>
13646      </ul>
13647    </li>
13648  </ul>
13649
13650  <h1><a name="xterm_115" id="xterm_115">Patch #115 - 1999/9/18 -
13651  XFree86 3.9.16a</a></h1>
13652
13653  <ul>
13654    <li>integrated changes by Stephen P Wall to implement an
13655    88-color model for systems where 256-colors cannot be
13656    allocated.</li>
13657
13658    <li>when 256-color configuration is compiled, colored bold and
13659    underlining is not available; ifdef'd to avoid possible odd
13660    effects in this case (reported by Stephen P Wall).</li>
13661
13662    <li>add resource <em>cacheDoublesize</em>, to limit the caching
13663    of font information for double-sized characters. This addresses
13664    a problem reported by Aryeh Koenigsberg for X terminals with
13665    limited font memory.</li>
13666
13667    <li>modify treatment of line-drawing characters in UTF-8 mode
13668    so that the Unicode values are used rather than the C0 codes
13669    for storing the translated characters (request by Markus
13670    Kuhn).</li>
13671  </ul>
13672
13673  <h1><a name="xterm_114" id="xterm_114">Patch #114 - 1999/9/15 -
13674  XFree86 3.9.16</a></h1>
13675
13676  <ul>
13677    <li>add configure script checks for Athena headers and
13678    libraries under /usr/contrib to work on HPUX (reported by
13679    several people: David Nixon &lt;djn@csc.liv.ac.uk&gt; Aryeh
13680    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt; Johannes
13681    M&auml;hner &lt;johanm@camline.com&gt; Andrew Gaylard
13682    &lt;andrew.gaylard@bsw.co.za&gt;).</li>
13683
13684    <li>add check to configure script if xterm is installed setgid
13685    rather than setuid, since wtmp and utmp may be installed with
13686    group-writable permissions other than root (based on Debian bug
13687    report #7112 by Bo Branten &lt;bosse@ing.umu.se&gt;).</li>
13688
13689    <li>rewrote logic that removes data from termcap entry, e.g.,
13690    for titeInhibit, to make it less likely to remove the wrong
13691    data.</li>
13692
13693    <li>correct logic which checks for missing characters used for
13694    line drawing. The 0 character was tested unnecessarily, leading
13695    to some inefficiency when rendering.</li>
13696
13697    <li>change termcap capability which is used as input or output
13698    of ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
13699    Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed
13700    out in effect that <em>kD</em> (in terminfo <em>kdch1</em>)
13701    should correspond to the control sequence for <em>dch1</em>,
13702    which deletes from the current position toward the right.</li>
13703
13704    <li>check for failure to change ownership of the PTY device and
13705    warn when xterm is running setuid'd to root. This was reported
13706    to happen on the FreeBSD/NetBSD/OpenBSD systems as a result of
13707    the chflags() call.</li>
13708
13709    <li>add xterm-noapp terminfo entry to illustate a nominally
13710    bash-compatible terminal description.</li>
13711  </ul>
13712
13713  <h1><a name="xterm_113" id="xterm_113">Patch #113 - 1999/8/15 -
13714  XFree86 3.9.15b</a></h1>
13715
13716  <p>Several fixes. The main one is a first draft of pulldown
13717  menus. It's not complete (I have some minor/annoying geometry
13718  problems to correct), but is usable. Once it's complete I plan to
13719  add a menu to support additional selections that won't fit on the
13720  current popup menus. Also, this fits into my longterm plan to
13721  allow configuring with Motif libraries.</p>
13722
13723  <ul>
13724    <li>correct error in input conversion for NRC mode (reported by
13725    Stefan Traby &lt;stefan@sime.com&gt;).</li>
13726
13727    <li>fix initialization of num_lock data in Misc struct (since
13728    those fields of the reference widget aren't initialized), and
13729    add logic to deal with XVision whose NumLock key does not
13730    transmit but does alter keypad state.</li>
13731
13732    <li>correct a missing return-value in get_pty(), for SCO</li>
13733
13734    <li>add E2A fix for backspace (patch by Greg Smith), i.e.,<br>
13735    #define VAL_INITIAL_ERASE A2E(127)</li>
13736
13737    <li>correct foreground color within cursor outline when the
13738    window is unfocused (reported by Stephane Chazelas).</li>
13739
13740    <li>corrected position of scrollbar set in ResizeScrollBar(),
13741    which left it positioned incorrectly if the right scrollbar
13742    were enabled from the popup menu but was not initially enabled.
13743      <p>I have noticed some additional problems with
13744      right-scrollbar on X11R5 which I will correct later.</p>
13745    </li>
13746
13747    <li>integrate changes by Jean-Claude Michot for QNX from
13748    XFree86 3.3.4c</li>
13749
13750    <li>add resources menuBar/MenuBar, menuHeight/MenuHeight for
13751    later use in toolbar geometry.</li>
13752
13753    <li>add configure option --enable-toolbar</li>
13754
13755    <li>add missing definition to make ziconbeep logic not
13756    compile-in when configure script disables it.</li>
13757
13758    <li>add configure-check for input-method support in X
13759    libraries</li>
13760  </ul>
13761
13762  <h1><a name="xterm_112" id="xterm_112">Patch #112 - 1999/7/17 -
13763  XFree86 3.9Pw</a></h1>
13764
13765  <ul>
13766    <li>add null-pointer check to FlushLog(), fixes a core dump
13767    when both -l and -lf options are used when xterm is configured
13768    with wide-character support.</li>
13769
13770    <li>remove "ISO" case for SD, which was due to a typographical
13771    error in ECMA-48 (reported by Paul Williams
13772    &lt;paul@celigne.co.uk&gt; for vttest).</li>
13773
13774    <li>add "FILES" section to manpage.</li>
13775
13776    <li>generate header file to initialize default resources for
13777    colors 16-255.</li>
13778
13779    <li>fixes for os390 (Greg Smith):
13780      <ul>
13781        <li>add README.os390</li>
13782
13783        <li>use the pty_search() function to find an available
13784        pty/tty pair.</li>
13785
13786        <li>move E2A() call out of getXtermCell() to SaveText()
13787        function so it will be available in all
13788        configurations.</li>
13789      </ul>
13790    </li>
13791
13792    <li>patches by Todd Larason:
13793      <ul>
13794        <li>enable SGR 48 5 in ISO color mode, not just 256 color
13795        mode</li>
13796
13797        <li>change configure's --disable-256-color option to
13798        --enable-256-color, to match its effect</li>
13799
13800        <li>fix OSC 4 xx ? (report ansi color) to report a string
13801        which can actually be used to set the color back</li>
13802
13803        <li>fix OSC 4 xx yy (change ansi color) to not allow
13804        setting colors &gt; 15 in 16 color mode</li>
13805
13806        <li>simplify the COLOR_ settings a bit in ptyx.h, along
13807        with setting NUM_ANSI_COLORS needed for #1 and #4
13808        above</li>
13809
13810        <li>correct string-terminator code passed for reference to
13811        OSC responses; when in 7-bit mode, only the final byte of
13812        ST was seen.</li>
13813
13814        <li>Allow multiple color #;name pairs in OSC 4, and
13815        document changes to match.</li>
13816      </ul>
13817    </li>
13818  </ul>
13819
13820  <h1><a name="xterm_111" id="xterm_111">Patch #111 - 1999/7/10 -
13821  XFree86 3.9Pw</a></h1>
13822
13823  <ul>
13824    <li>add control sequences for specifying the RGB value of the
13825    ANSI colors, and for configuring with 256 colors (patch by Todd
13826    Larason &lt;jtl@molehill.org&gt;). I made the default
13827    configuration to 16-colors, because xterm uses the default
13828    color map (which has only 256 colors).</li>
13829
13830    <li>correct an error in DCS $ q m reporting for colors 8-15
13831    (Todd Larason).</li>
13832
13833    <li>add test/demo script for double size characters. Used this
13834    to test/correct display of double size characters that should
13835    wrap, underlined double size characters.</li>
13836
13837    <li>increased cache size for double size fonts to 8, to allow
13838    for both normal and bold fonts (discussion with Aryeh
13839    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;).</li>
13840
13841    <li>add fixes for port to OS390 aka MVS (integrated patch from
13842    Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;). OS390 uses EBCDIC
13843    rather than ASCII.</li>
13844
13845    <li>correct an off-by-one in binary search limits in
13846    keysym2ucs.c (Markus Kuhn).</li>
13847
13848    <li>implement logging for UTF-8 mode. The output is written in
13849    UTF-8 form.</li>
13850  </ul>
13851
13852  <h1><a name="xterm_110" id="xterm_110">Patch #110 - 1999/6/29 -
13853  XFree86 3.9Pu</a></h1>
13854
13855  <ul>
13856    <li>If colorMode is enabled by default, compile-in default
13857    resources to match the colors listed in XTerm-col.ad (this
13858    should fix a longstanding FAQ).</li>
13859
13860    <li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST
13861    escape sequence to set an arbitrary X property on the top level
13862    xterm X11 window. Omit "=VALUE" to delete the X property (patch
13863    by Greg Badros &lt;gjb@cs.washington.edu&gt;).</li>
13864
13865    <li>change internal flag used for <em>utf8controls</em>
13866    resource so we allow 31-bit range of characters (suggested by
13867    Thomas Wolff).</li>
13868
13869    <li>add check for 16-bit characters in OSC strings, change them
13870    to '?' (reported by Thomas Wolff).</li>
13871
13872    <li>modify logic of same_font_name() to avoid trying to
13873    interpret both parameters as wildcard patterns. That does not
13874    (cannot) work, and in some instances the font server will
13875    return unresolved wildcards for the normal or bold fontnames,
13876    making them match inadvertently, triggering the fallback
13877    overstrike logic (reported by Tim Adye).</li>
13878  </ul>
13879
13880  <h1><a name="xterm_109" id="xterm_109">Patch #109 - 1999/6/23 -
13881  XFree86 3.9Pt</a></h1>
13882
13883  <ul>
13884    <li>correct range-check from patch #108, which resulted in not
13885    being able to select from the scrollback buffer (reported by
13886    Tim Adye &lt;T.J.Adye@rl.ac.uk&gt;)</li>
13887
13888    <li>correct "no available ptys" problem with Cygwin B20.1
13889    (patch by Tim Adye).</li>
13890
13891    <li>modified install-ti rule in Makefile.in to allow override
13892    of the terminfo directory when doing a "make install", i.e., by
13893    assigning to TERMINFO_DIR (request by Zdenek Sekera
13894    &lt;zs@sgi.com&gt;).</li>
13895
13896    <li>added install-full rule to Makefile.in</li>
13897
13898    <li>resync mkdirs.sh and install.sh scripts against current
13899    autoconf</li>
13900
13901    <li>implement $(DESTDIR) in Makefile.in, making it simple to
13902    install xterm and associated files into a directory just for
13903    packaging a binary release (suggested by CaT
13904    &lt;cat@zip.com.au&gt;).</li>
13905
13906    <li>change IChar type to unsigned, rather than unsigned short,
13907    making room for a flag to keep with 16-bit characters to
13908    prevent them from being interpreted as C0 or C1 controls
13909    (reported by Thomas Wolff).</li>
13910
13911    <li>correct a typo from patch #107, incorrect array name, in
13912    the filterUTF8 function (patch by Bruno Haible
13913    &lt;haible@ilog.fr&gt;)</li>
13914
13915    <li>add <em>utf8controls</em> resource to specify whether xterm
13916    should interpret 16-bit characters unpacked from UTF-8 form as
13917    control characters if they happen to fall into that range. This
13918    behavior is left unspecified by the Unicode standard (request
13919    by Thomas Wolff).</li>
13920
13921    <li>modify handling of OSC to recover if application sends
13922    16-bit characters with codes above 255. We cannot display them
13923    as is, but translate out-of-range characters to a '?' (reported
13924    by Thomas Wolff).</li>
13925  </ul>
13926
13927  <h1><a name="xterm_108" id="xterm_108">Patch #108 - 1999/6/19 -
13928  XFree86 3.9Ps</a></h1>
13929
13930  <ul>
13931    <li>add a range-check to LastTextCol(), to guard against
13932    indexing before the beginning of the scrollback buffer. This
13933    appears to happen with certain fonts under X11R5 (reported by
13934    Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
13935
13936    <li>implement resource <em>boldMode</em>, to allow disabling
13937    the simulation of bold fonts when the bold and normal fonts are
13938    not different (requested by Will Day
13939    &lt;willday@rom.oit.gatech.edu&gt;).</li>
13940
13941    <li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few
13942    bugs in the UTF-8 selection (patch by Juliusz Chroboczek).</li>
13943
13944    <li>correct logic of binary-search in keysym2ucs.c (patch by
13945    Markus Kuhn).</li>
13946
13947    <li>add special interpretation of keysym codes above 0x1000000
13948    as the corresponding UCS value plus 0x1000000 (patch by Markus
13949    Kuhn).</li>
13950  </ul>
13951
13952  <h1><a name="xterm_107" id="xterm_107">Patch #107 - 1999/6/12 -
13953  XFree86 3.9Pq</a></h1>
13954
13955  <ul>
13956    <li>Two changes from Stephen P Wall. From his description:
13957      <blockquote>
13958        <p>The first change is simple - I added ESC[3J to erase the
13959        stored lines above the screen. That's what the changes to
13960        util.c and ctlseqs.ms are.</p>
13961
13962        <p>The second change is to get the blinking cursor working.
13963        I took out the cursorBlinkTime resource, and put in
13964        cursorBlink (Boolean), cursorOnTime (time cursor is on in
13965        msecs) and cursorOffTime, and added a cursorblink item to
13966        the vtMenu to enable/disable it.</p>
13967      </blockquote>
13968    </li>
13969
13970    <li>improve selection (integrated patch by Juliusz Chroboczek).
13971    From his description:
13972      <blockquote>
13973        <p>With this patch, selection conversion works
13974        properly:</p>
13975
13976        <pre>
13977        ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
13978        ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
13979        UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
13980        UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
13981</pre>
13982        <p>It will not work properly if one xterm is in, say, ISO
13983        8859-2. Actually, for this case xterm breaks the ICCCM
13984        routinely (sending ISO 8859-2 data as STRING), so I
13985        wouldn't worry too much about it. I have not changed the
13986        behaviour in eight-bit mode in any way.</p>
13987      </blockquote>
13988    </li>
13989  </ul>
13990
13991  <h1><a name="xterm_106" id="xterm_106">Patch #106 - 1999/6/9 -
13992  XFree86 3.9Pq</a></h1>
13993
13994  <ul>
13995    <li>remove duplicate fix for OpenBSD in resize.c</li>
13996
13997    <li>correct logic in ScreenWrite, which did not reset the high
13998    bytes of 16-bit characters when overwriting them with a 8-bit
13999    character string (reported by Thomas Wolff).</li>
14000
14001    <li>provide limited support for input of UTF-8 16-bit data by a
14002    lookup table (integrated patch by Markus Kuhn).</li>
14003
14004    <li>correct check in non_blank_line to ensure we're in
14005    wide-character mode before looking at the high bytes, for
14006    InsertChar.</li>
14007  </ul>
14008
14009  <h1><a name="xterm_105" id="xterm_105">Patch #105 - 1999/6/5 -
14010  XFree86 3.9Pp</a></h1>
14011
14012  <ul>
14013    <li>implement new resource <em>trimSelection</em>, which allows
14014    xterm to trim trailing blanks from selected lines. This does
14015    not affect the highlighting. (reported by several people using
14016    <em>mutt</em>, including Hans Morten Kind &lt;edphk@uib.no&gt;,
14017    Jeremy &lt;jeremy@exit109.com&gt; and (Michael Fuller
14018    &lt;msf@mds.rmit.edu.au&gt;).</li>
14019
14020    <li>include term.h in resize for OpenBSD (patch by Matthieu
14021    Herrb).</li>
14022
14023    <li>correct logic for UTF-8 in functions that hide and show the
14024    cursor; it was displaying a space whenever the low byte of the
14025    character at the cursor position was zero (reported by Thomas
14026    Wolff &lt;Thomas.Wolff@icn.siemens.de&gt;).</li>
14027  </ul>
14028
14029  <h1><a name="xterm_104" id="xterm_104">Patch #104 - 1999/5/30 -
14030  XFree86 3.9Pn</a></h1>
14031
14032  <p>This is a resync patch against XFree86 3.9Pn, reflecting
14033  changes which were submitted by Branden Robinson, who worked with
14034  Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt; to set up
14035  ifdef's to handle GNU libc 2.1, and use getpt() which lets xterm
14036  avoid having to know the actual PTY name.</p>
14037
14038  <p>I have also added a few fixes for signed/unsigned mismatches,
14039  and corrected a problem in the configure script (the UTF-8 code
14040  was always configured since the Imakefile defines this).</p>
14041
14042  <h1><a name="xterm_103" id="xterm_103">Patch #103 - 1999/5/14 -
14043  XFree86 3.9Pm</a></h1>
14044
14045  <ul>
14046    <li>correct selection logic: I omitted an offset that accounts
14047    for the distance into the scrollback buffer when rewriting this
14048    for <a href="#xterm_101">patch #101</a>. Also fixed a similar
14049    problem for selecting double size characters from the
14050    scrollback buffer (first was reported by D Roland Walker
14051    &lt;walker@pobox.com&gt;).</li>
14052
14053    <li>improved support for Unix98 PTY's, using patch in Debian
14054    bug report #35650, by J.H.M. Dassen
14055    &lt;jdassen@wi.leidenuniv.nl&gt;. From the patch description:
14056      <blockquote>
14057        <ul>
14058          <li>No longer links xterm against libutil on a glibc2.1
14059          system. libutil is a compatibility library and should
14060          only be used when necessary. Rather than having get_pty()
14061          use openpty() from this compatibility library, use the
14062          real UNIX98 pty support in get_pty() (open()ing the
14063          master pty, through getpt() if available (glibc
14064          extension)). Use openpty() only under glibc2.0.</li>
14065
14066          <li>GNU libc2 is not Linux-specific; already it runs on
14067          the Hurd. It provides the UNIX98 pty functions (plus the
14068          getpt() extension), regardless of the underlying OS.
14069          Changed two constructs to look for GNU libc2 only, not
14070          GNU libc2 on Linux.</li>
14071        </ul>
14072      </blockquote>
14073    </li>
14074
14075    <li>improve font configuration, by checking if the user's
14076    resource settings for normal and bold fonts give the same font
14077    sizes (fixes problem reported by Peter Waltenberg
14078    &lt;peterw@dascom.com&gt;).</li>
14079  </ul>
14080
14081  <h1><a name="xterm_102" id="xterm_102">Patch #102 - 1999/5/12 -
14082  XFree86 3.9Pm</a></h1>
14083
14084  <ul>
14085    <li>revert change to openpty call in <a href="#xterm_101">patch
14086    #101</a>; this causes xterm to fail on DEC-Alpha OSF/1 4.0B
14087    (reported by H Merijn Brand).</li>
14088
14089    <li>modify print.c to move include of stdio.h after the
14090    autoconf'd xtermcfg.h since HP's ANSI C compiler otherwise sees
14091    inconsistent prototype for getopt, probably due to problem with
14092    const (reported by H Merijn Brand).</li>
14093  </ul>
14094
14095  <h1><a name="xterm_101" id="xterm_101">Patch #101 - 1999/5/10 -
14096  XFree86 3.9Pm</a></h1>
14097
14098  <ul>
14099    <li>moved includes and definitions for 'select' from data.h to
14100    xterm.h to fix problem introduced by prototype for getPtyData,
14101    part of UTF-8 changes (reported by Jens Schleusener
14102    &lt;Jens.Schleusener@dlr.de&gt;)</li>
14103
14104    <li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
14105    translation (patch by H Merijn Brand)</li>
14106
14107    <li>fixes to configure script and ifdef's in main.c to build on
14108    a HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with
14109    egcs 1.1.2 and HP's ANSI C compiler (patch by H Merijn Brand
14110    &lt;PROCURA_BV@CompuServe.com&gt;)</li>
14111
14112    <li>add more parentheses in ifdef's (patch by Bob
14113    Maynard).</li>
14114
14115    <li>eliminate conflicting definitions for USE_TERMINFO in
14116    resize.c (reported by Jeremy Buhler).</li>
14117
14118    <li>change openpty call to pass NULL rather than ttydev
14119    parameter, since that was used only to estimate the length of
14120    the corresponding data, and may not really be long enough
14121    (reported by Andreas Jaeger)</li>
14122
14123    <li>update description in xterm manpage for character class
14124    table, which said it handles only 7-bit codes.</li>
14125
14126    <li>correct a typo in ScrnDeleteChar() which made it not clear
14127    the high byte of wide-character data.</li>
14128
14129    <li>add logic to convert selection to UTF-8 form when
14130    appropriate. This makes select/paste "work", but further work
14131    is needed to make UTF-8 recognized as a locale in Xlib.</li>
14132
14133    <li>correct right-limit check when selecting double-width
14134    characters.</li>
14135
14136    <li>change default answerback response to an empty string.</li>
14137  </ul>
14138
14139  <h1><a name="xterm_100" id="xterm_100">Patch #100 - 1999/5/3 -
14140  XFree86 3.9Pl</a></h1>
14141
14142  <ul>
14143    <li>Correct a typo in the default resource value for
14144    backarrowKeyIsErase: it was always true (reported by Bram
14145    Moolenaar).</li>
14146
14147    <li>improve configure script's test if the installed xterm is
14148    setuid, in case that is a symbolic link.</li>
14149
14150    <li>correct "install-ti" rule in Makefile.in, by not setting a
14151    blank $TERMINFO value. That is interpreted as "." by ncurses'
14152    tic.</li>
14153  </ul>
14154
14155  <h1><a name="xterm_99" id="xterm_99">Patch #99 - 1999/5/2 -
14156  XFree86 3.9Pk</a></h1>
14157
14158  <ul>
14159    <li>correct logic that computes num_ptrs count of the number of
14160    indices into the screen buffer. This is the maximum of the
14161    colors and character-set indices; was incorrect in patch
14162    #97.</li>
14163
14164    <li>correct argument type for sigsetjmp, incidental change in
14165    patch #96's Unix88 PTY patch (reported by Bram Moolenaar).</li>
14166
14167    <li>correct description of secondary DA in ctlseqs.ms (reported
14168    by Bram Moolenaar).</li>
14169
14170    <li>decouple the backarrowKey and ptyInitialErase resources by
14171    adding a new resource backarrowKeyIsErase, to accommodate
14172    people using applications which have hardcoded tests for
14173    characters 8 and 127 rather than relying on the stty
14174    settings.</li>
14175
14176    <li>modify the UTF-8 decoder so that all possible illegal UTF-8
14177    sequences are properly represented by U+FFFD. This should be
14178    very helpful for developers of code that output UTF-8 strings
14179    for debugging. See the file utf-8-test.txt in
14180    http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
14181    demonstration text that contains numerous illegal UTF-8 values.
14182    (patch by Markus Kuhn).</li>
14183
14184    <li>correct a place in ScrnRefresh where I was filling the high
14185    byte of a wide character with a space rather than a null
14186    (reported by Markus Kuhn).</li>
14187  </ul>
14188
14189  <h1><a name="xterm_98" id="xterm_98">Patch #98 - 1999/4/26 -
14190  XFree86 3.9Pk</a></h1>
14191
14192  <ul>
14193    <li>correct data manipulation in unparseputc(), broken for
14194    little-endian machines by patch #97's UTF-8 changes. This meant
14195    that keyboard input on SunOS did not work, though Linux i386
14196    was fine.</li>
14197
14198    <li>modify initialization for backarrowKey and logic for
14199    initial-erase to prevent the initial-erase from overriding an
14200    explicitly set backarrowKey resource (reported by Vikas
14201    Agnihotri).</li>
14202
14203    <li>add a missing null-pointer check in ScrnRefresh, for the
14204    wide-characters configuration.</li>
14205  </ul>
14206
14207  <h1><a name="xterm_97" id="xterm_97">Patch #97 - 1999/4/25 -
14208  XFree86 3.9Pk</a></h1>
14209
14210  <ul>
14211    <li>add configure script test for -lutil, needed for openpty
14212    call when configuring xterm for Glibc-2.1 and Unix98 PTY's
14213    (first reported by Martin Lorentz"
14214    &lt;m.lorentz@w12.link-goe.de&gt;).</li>
14215
14216    <li>completely parenthesize ifdef expressions for Glibc
14217    (suggested by Bob Maynard).</li>
14218
14219    <li>add initial-erase options (-ie, +ie) to help message
14220    (reported by Vikas Agnihotri).</li>
14221
14222    <li>remove duplicate definition of USE_USG_PTYS (reported by
14223    Jeremy Buhler).</li>
14224
14225    <li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a
14226    DEL (\177). I overlooked this when separating the styles of
14227    keyboard with the <em>sunKeyboard</em> resources in patch #94,
14228    so that it normally matches the value of the stty erase
14229    character:
14230      <ul>
14231        <li>Reported by Jae Gangemi
14232        &lt;jgangemi@ccf.rutgers.edu&gt;, this caused emacs to not
14233        process the DEL properly, combining it with succeeding
14234        characters.</li>
14235
14236        <li>This does not appear to be related to a problem which I
14237        have found with <em>screen</em>, which translates the stty
14238        erase into the termcap <em>kD</em> or terminfo
14239        <em>kdch1</em> value (depending on how it is linked) if the
14240        $TERMCAP variable is set when <em>screen</em> is
14241        invoked.</li>
14242      </ul>
14243    </li>
14244
14245    <li>add command-line options for enabling UTF-8 mode: -u8 and
14246    +u8. The more obvious -utf8 and +utf8 would conflict with
14247    xterm's -ut and +ut (utmp) options. The UTF-8 changes were
14248    requested by Markus Kuhn &lt;Markus.Kuhn@cl.cam.ac.uk&gt;. This
14249    patch does not complete UTF-8 implementation, but makes it
14250    usable, i.e., display and refresh work, and I am able to
14251    display the test cases which Markus provides. More work is
14252    needed to complete this feature:
14253      <ul>
14254        <li>the control sequences for switching in/out of UTF-8
14255        mode are partly implemented (don't use them). Similarly,
14256        the switching between vt100 and tek4014 emulations when
14257        UTF-8 mode is enabled will not work properly.
14258          <p>You must use the -u8 command line option to use this
14259          feature, as well as compile with the OPT_WIDE_CHARS
14260          definition.</p>
14261        </li>
14262
14263        <li>cut/paste only copies 8-bit characters.</li>
14264
14265        <li>logging is disabled in the wide-character
14266        configuration</li>
14267
14268        <li>printing only writes 8-bit characters.</li>
14269
14270        <li>input only does 8-bit characters. This is the area that
14271        I know least about.</li>
14272      </ul>
14273    </li>
14274  </ul>
14275
14276  <h1><a name="xterm_96" id="xterm_96">Patch #96 - 1999/4/19 -
14277  XFree86 3.9Pj</a></h1>
14278
14279  <ul>
14280    <li>modify Makefile.in to work with configure script's --srcdir
14281    option. (patch by Jeremy Buhler
14282    &lt;jbuhler@cs.washington.edu&gt;)</li>
14283
14284    <li>add checks for 'echo -n' equivalent for 8colors.sh and
14285    16colors.sh scripts (reported by Vikas Agnihotri).</li>
14286
14287    <li>improve logic that looks for bold fonts to allow for
14288    wildcards in the specification for normal fonts, and to ensure
14289    that if a bold font is specified as normal, that xterm will
14290    simulate a bold version of that using a one-pixel offset
14291    overstrike (reported by Henrik Harmsen
14292    &lt;harmsen@erv.ericsson.se&gt;).</li>
14293
14294    <li>correct horizontal spacing of double width line-drawing
14295    characters that xterm simulates.</li>
14296
14297    <li>improve support for Unix98 PTY's, using patch in Debian bug
14298    report #35650, by Topi Miettinen
14299    &lt;Topi.Miettinen@medialab.sonera.fi&gt;. Andreas Jaeger says
14300    this also corrects a permissions problem reported by
14301    cat@zip.net.au</li>
14302
14303    <li>modify initial-erase logic to ensure that
14304    <code>ttyModes</code> resource overrides it.</li>
14305  </ul>
14306
14307  <h1><a name="xterm_95" id="xterm_95">Patch #95 - 1999/4/5 -
14308  XFree86 3.9Ph</a></h1>
14309
14310  <ul>
14311    <li>modify primary DA response to allow a '1' parameter.</li>
14312
14313    <li>add printer and national replacement character sets to
14314    VT220 primary DA response.</li>
14315
14316    <li>document primary and secondary DA responses in
14317    ctlseqs.ms</li>
14318
14319    <li>use the patch number (e.g., 95) in the secondary DA
14320    response, providing user applications a means of determining
14321    the version of xterm for feature comparison (request by Bram
14322    Moolenaar).</li>
14323
14324    <li>make xterm respond to secondary DA when the decTerminalID
14325    is set for VT100.</li>
14326
14327    <li>limit user-defined keys (DECUDK) to VT220-style keyboard
14328    when sunKeyBoard resource is true.</li>
14329
14330    <li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
14331    Glibc-2.1 and no Unix98 PTY support (patch from Andreas Jaeger
14332    &lt;aj@arthur.rhein-neckar.de&gt;)</li>
14333
14334    <li>add optional feature (resource and command-line options) to
14335    make xterm use the PTY's sense of erase character on startup,
14336    rather than requiring it to be \177, or set the PTY's erase
14337    character to match xterm's configuration. Note that while
14338    $TERMCAP is modified to reflect the actual configuration, the
14339    terminfo kdch1 string is not (request by Dirk H Hohndel
14340    &lt;hohndel@suse.de&gt;)</li>
14341
14342    <li>improve scripts in vttests to work with newer shells that
14343    do not use 'echo -n'.</li>
14344
14345    <li>add fonts.sh example script</li>
14346
14347    <li>correct inequality in handling of "#1" font
14348    specification.</li>
14349
14350    <li>correct call to XGetWMNormalHints() used for computing
14351    maximum screen size; the size hints may not have been set.</li>
14352
14353    <li>begin implementation of support for wide-characters
14354    (configure option --enable-wide-chars defines OPT_WIDE_CHARS,
14355    invoke xterm with -wc option to activate this feature). This
14356    patch optionally widens internal data structures, invokes the
14357    16-bit text output rather than the 8-bit version and adds some
14358    tables.</li>
14359  </ul>
14360
14361  <h1><a name="xterm_94" id="xterm_94">Patch #94 - 1999/3/27 -
14362  XFree86 3.9Pf</a></h1>
14363
14364  <ul>
14365    <li>further fixes for terminfo: ka1, ka3, etc., differ between
14366    the default xterm-xfree86 and xterm-vt220 entries.</li>
14367
14368    <li>change default (with sunKeyboard resource false) behavior
14369    of the editing keypad "Delete" to send a 127, like xterm-r6.
14370    The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
14371    sunKeyboard is true (reported by Tomas Vanhala).</li>
14372
14373    <li>add parameters to function keys to indicate if shift,
14374    control or alt are set. The codes are based on a description of
14375    a DEC VT510 with a PC keyboard, from Jeffrey Altman
14376    &lt;jaltman@watsun.cc.columbia.edu&gt;.</li>
14377
14378    <li>add control sequence 1035, set-num-lock action and num-lock
14379    menu entry to control the use of the NumLock and Alt keys for
14380    the Sun/PC and VT220 keyboard extensions.</li>
14381
14382    <li>implement DECSET/DECRST numeric keypad (DECNKM) mode.</li>
14383
14384    <li>modify terminfo and termcap to use recommended "X Window"
14385    or "X11" names rather than "X Windows" (reported by Tomas
14386    Vanhala).</li>
14387
14388    <li>suppress translation of shifted keypad "+" when sunKeyboard
14389    is true.</li>
14390
14391    <li>workaround unexpected behavior (perhaps bug) in
14392    XmbLookupString, which returns trash in the string buffer for
14393    numlock and control-key combined with keypad-keys.</li>
14394
14395    <li>modify ScrollBarReverseVideo() to keep scrollbar border
14396    visible when reverse video is toggled.</li>
14397
14398    <li>correct missing case for parameter 17 (set highlight color)
14399    in dynamic colors control sequences.</li>
14400
14401    <li>extend dynamic colors control sequences to allow users to
14402    determine the colors and font which are currently active.</li>
14403
14404    <li>minor tweak to OSC responses, to use BEL if the application
14405    used that to end the request, rather than ST. This works better
14406    with shell scripts, which may not handle an
14407    <code>&lt;ESC&gt;backslash</code> very well.</li>
14408
14409    <li>separate menu settings for reverse video from that done
14410    under program control.</li>
14411
14412    <li>corrected ifdef's for menus, which did not allow tek4014 to
14413    be suppressed properly (reported by Clint Olsen).</li>
14414
14415    <li>changes for Linux-2.2.x with GLibc-2.1 and /dev/ptmx
14416    support (integrated patch from Pavel Roskin):
14417      <ul>
14418        <li>main.c and resize.c were using different rules to
14419        determine whether ATT should be defined (actually
14420        USE_USG_PTYS is more apt).</li>
14421
14422        <li>copy definitions from main.c to resize.c to prevent
14423        sys/stream.h and sys/ptem.h from inclusion when SYSV is not
14424        defined</li>
14425
14426        <li>define CNUL if not already defined like other
14427        variables.</li>
14428
14429        <li>/dev/tty does exist in Linux, but it doesn't mean, it
14430        should be used. Therefore EACCES is now an acceptable
14431        result.</li>
14432
14433        <li>ifdef'd several calls such as <code>ioctl (ptyfd,
14434        I_PUSH, "ptem")</code> to build on Linux (I_PUSH is not
14435        defined when sys/stropts.h is not included).</li>
14436      </ul>
14437    </li>
14438
14439    <li>initialize second "ltc" variable in main.c (reported by
14440    David Dawes).</li>
14441
14442    <li>provide definition for USE_USG_PTYS in screen.c</li>
14443
14444    <li>add resource-files to install rule in standalone
14445    Makefile.in</li>
14446
14447    <li>add sample scripts to illustrate titlebar controls,
14448    resizing and colors.</li>
14449  </ul>
14450
14451  <h1><a name="xterm_93" id="xterm_93">Patch #93 - 1999/3/14 -
14452  XFree86 3.9Pd</a></h1>
14453
14454  <p>Here are several fixes and minor enhancements. The chief ones
14455  are the fixes for NumLock mode and reverse video, since we had
14456  become used to working around the problems.</p>
14457
14458  <ul>
14459    <li>remove kfnd/kll/kslt strings from terminfo, because curses
14460    applications do not necessarily return khome/kend pairs
14461    (reported by Vikas Agnihotri).</li>
14462
14463    <li>implement NumLock resource which overrides the keyboard
14464    tables for the special case of keypad keys. This is a problem
14465    introduced in xterm by X11R6 changes, i.e., an ambiguity which
14466    in effect discarded vt100 keypad support.</li>
14467
14468    <li>modify Sun/PC keyboard mode to extend this (emulation of
14469    DEC vt100 keypad) to the remainder of the numeric keypad. Now,
14470    the default operating mode of xterm uses the keyboard tables
14471    as-is (except if the NumLock mode overrides), but provides good
14472    vt100 keypad compatibility if the Sun/PC keyboard menu item is
14473    checked.</li>
14474
14475    <li>separate command-line settings for reverse video from that
14476    done under program control. This is a problem which was
14477    introduced by X11R6. Though <em>correct</em>, most users are
14478    confused by allowing the reset command to undo the effect of
14479    the command-line <kbd>-rv</kbd> option.</li>
14480
14481    <li>add description of function keys, keypad and cursor keys to
14482    ctlseqs.ms</li>
14483
14484    <li>add terminfo entries for xterm-vt52, xterm-sun and
14485    xterm-hp</li>
14486
14487    <li>correct typo (missing case value) for DECSET 35,
14488    enable/disable shifted keypad action and a few compiler
14489    warnings (reported by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
14490
14491    <li>correct reporting of color values 8-15 in DECRQSS (reported
14492    by Vikas Agnihotri).</li>
14493
14494    <li>modify parsing of ttyModes resource to recognize "^-" as
14495    "undef" (requested by Tomas Vanhala).</li>
14496
14497    <li>integrate/extend changes to add iconify/maximize actions
14498    (from Edward S. Arthur &lt;eda@ultranet.com&gt;).</li>
14499
14500    <li>add control sequences for maximizing/restoring window, and
14501    for reporting maximum screen size.</li>
14502
14503    <li>add 'interpret' action, to support local function-key
14504    interpretation. Used properly, this makes most of the
14505    specialized actions of xterm redundant.</li>
14506
14507    <li>add control sequence private modes 1051, 1052 and 1052, for
14508    setting the Sun and HP function key modes, and for setting the
14509    Sun/PC keyboard mode.</li>
14510
14511    <li>add configure option --disable-maximize</li>
14512
14513    <li>add configure option --disable-num-lcok</li>
14514
14515    <li>extend descriptions of configure script options in
14516    INSTALL.</li>
14517  </ul>
14518
14519  <h1><a name="xterm_92" id="xterm_92">Patch #92 - 1999/2/5 -
14520  XFree86 3.9Nz</a></h1>
14521
14522  <ul>
14523    <li>increase buffer size for tgetent (i.e., termcap) to 1500.
14524    This fixes a problem where <em>screen</em> is built using
14525    ncurses or GNU termcap and <em>xterm</em> is built using the
14526    standard termcap interface. The former does not limit the
14527    termcap size, while the latter is assumed to be no longer than
14528    1023 characters. The <em>screen</em> program's termcap entry is
14529    about 1200 characters long.</li>
14530
14531    <li>change update_menu_item() to a function, to simplify
14532    debugging. This also reduces the executable by 4Kb.</li>
14533
14534    <li>add control sequences for DECSET 30, 1010, 1011 like rxvt
14535    (enable or disable some features that were only settable via
14536    resources or command line arguments).</li>
14537
14538    <li>add control sequence for DECSET 35, which enables/disables
14539    the shifted keypad functions.</li>
14540
14541    <li>add support for switching font sizes, by stepping through
14542    the font menu using shifted keypad plus and minus.</li>
14543
14544    <li>correct missing initialization of tekInhibit and tekSmall
14545    resources.</li>
14546
14547    <li>correct ifdef's in charproc.c for XtNgeometry and
14548    XtCGeometry (reported by Bram Moolenaar).</li>
14549  </ul>
14550
14551  <h1><a name="xterm_91" id="xterm_91">Patch #91 - 1999/1/21 -
14552  XFree86 3.9Nw</a></h1>
14553
14554  <ul>
14555    <li>Implement logic to translate input characters which are
14556    mapped when in vt220 National Replacement Character mode
14557    (requested by Tomas Vanhala).</li>
14558
14559    <li>Resync configure scripts with my patches to autoconf
14560    2.13</li>
14561
14562    <li>Change order of -lXmu and -lXext to accommodate cygwin32
14563    (reported by Vikas Agnihotri).</li>
14564
14565    <li>Add "-ti" option to set terminal emulation level from
14566    command line rather than via resource.</li>
14567
14568    <li>Simplify some of the preprocessor logic using #elif.</li>
14569  </ul>
14570
14571  <h1><a name="xterm_90" id="xterm_90">Patch #90 - 1998/12/13 -
14572  XFree86 3.9Nq</a></h1>
14573
14574  <p>This implements several small fixes and enhancements. The
14575  chief one implements fallback support for line drawing characters
14576  with fonts that do not include those characters. But I
14577  implemented that last.</p>
14578
14579  <ul>
14580    <li>If any of the glyphs in positions 0-31 (used by xterm to
14581    implement the VT100 alternate character set) are zero-sized
14582    (i.e., missing), xterm will reserve a normal space for the
14583    glyph when drawing. I implemented a simple stroke-drawing
14584    function to draw the line-drawing characters and a couple of
14585    the other (simpler) characters such as diamond. (This was
14586    suggested by Vikas Agnihotri).</li>
14587
14588    <li>Modify the computation of doublesize characters to work
14589    around font servers which shift the scaled characters up/down
14590    or do not give the correct width.</li>
14591
14592    <li>Add popup menu item and corresponding resource settings to
14593    disable the font-scaling logic for doublesize characters to
14594    work around (older) font servers which simply do not draw the
14595    fonts scaled to the size that they said they would. I see this
14596    problem on a SunOS system running X11R5; the X11R6 servers seem
14597    well behaved.</li>
14598
14599    <li>Implement new escape sequence, private mode 1049, which
14600    combines the switch to/from alternate screen mode with screen
14601    clearing and cursor save/restore. Unlike the existing escape
14602    sequence, this clears the alternate screen when switching to it
14603    rather than when switching to the normal screen, thus retaining
14604    the alternate screen contents for select/paste operations.
14605      <p>When I implemented the popup menu entry to toggle between
14606      the normal and alternate screens, I considered only pasting
14607      from the normal screen to the alternate; this improvement
14608      allows either direction.</p>
14609    </li>
14610
14611    <li>Changed the termcap and terminfo for xterm-xfree86 and
14612    xterm-8bit to use the new 1049 private mode.</li>
14613
14614    <li>Modify the logic which switches between normal and
14615    alternate screens so that the save/restore cursor operations
14616    apply only to the current screen. That means that applications
14617    which use the terminfo smcur/rmcur or termcap ti/te
14618    capabilities will restore the cursor to the original position
14619    on the normal screen rather than to the most recent place where
14620    a save-cursor operation was performed.
14621      <p>I note that a real VT100 terminal would not behave in this
14622      way, but it is a moot point since the VT100 does not
14623      implement alternate screen, and therefore the save/restore
14624      cursor sequence would not be used in this context. I reviewed
14625      the logic which switches between normal and alternate screens
14626      based on some recent newsgroup postings as well as a proposed
14627      patch in the Debian group which attempts to do this (the
14628      patch has a bug, however, so I did not use it).</p>
14629    </li>
14630
14631    <li>Add popup menu entry for toggling the titeInhibit
14632    resource.</li>
14633
14634    <li>Add new resource answerbackString, which overrides the
14635    default "xterm" returned by xterm when responding to an ENQ
14636    (control/E) character (request by Rajesh Vaidheeswarran
14637    &lt;rv@fore.com&gt;).</li>
14638
14639    <li>Add new resource keyboardDialect for setting the NRC
14640    display character set (request by Tomas Vanhala, who notes that
14641    I should add logic to translate the keyboard as well).</li>
14642
14643    <li>Add new command-line option and corresponding resources for
14644    making xterm generate escape sequences compatible with HP
14645    terminals. Like the existing Sun escape sequences, this is
14646    available as a popup menu item. It is enabled by the configure
14647    script with the option --enable-hp-fkeys (requested by Toni
14648    Mueller &lt;sales@oeko.net&gt;).</li>
14649
14650    <li>Add configure script option --disable-boxchars to disable
14651    the fallback support for line drawing characters.</li>
14652
14653    <li>Fix ifdef's for configure script --disable-ansi-color, and
14654    reviewed all configure options to ensure that all can be
14655    enabled/disabled appropriately.</li>
14656
14657    <li>Update config.guess and config.sub, from Lynx.</li>
14658  </ul>
14659
14660  <h1><a name="xterm_89" id="xterm_89">Patch #89 - 1998/11/20 -
14661  XFree86 3.9Nm</a></h1>
14662
14663  <p>This patch completes the implementation of double-sized
14664  character support for the VT100 emulation, and fixes a few minor
14665  bugs:</p>
14666
14667  <ul>
14668    <li>corrected the cursor position in HideCursor, which did not
14669    multiply the column by two when in doublesize mode. This bug,
14670    which did not appear in normal use, dates back to my original
14671    <a href="#xterm_44">changes</a> to partly implement
14672    double-sized characters. I noticed it when cat'ing a typescript
14673    from vttest's double-sized character test.</li>
14674
14675    <li>ensure that the current line is repainted when switching
14676    between single and double width characters.</li>
14677
14678    <li>reduce the number of bits used for double-sized character
14679    coding from 3 to 2, to make more room for soft-font codes.</li>
14680
14681    <li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
14682    which address details of glibc and powerpc.</li>
14683
14684    <li>moved definition of DECL_ERRNO in xterm.h to match XFree86
14685    3.3.3</li>
14686
14687    <li>modify <em>resize</em> to remove the ifdef on SVr4 that
14688    suppressed printing the script for $LINES and $COLUMNS.
14689    Solaris' resize utility does this; suppressing the behavior is
14690    unnecessary.</li>
14691  </ul>
14692
14693  <p>I tested the double-sized characters using vttest and the
14694  xfsft patch. These fonts worked reasonably well:</p>
14695
14696  <pre>
14697        -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
14698        9x15
14699</pre>
14700  <p>The iso8859 font does not include box characters, of course,
14701  but looks good.</p>
14702
14703  <h1><a name="xterm_88" id="xterm_88">Patch #88 - 1998/10/31 -
14704  XFree86 3.9Nk and 3.3.2h</a></h1>
14705
14706  <p>This refines my <a href="#xterm_85">patch #85</a> by checking
14707  for a case where the font server returns a bold font that does
14708  not quite correspond to the normal font. When I asked for a bold
14709  version of the 6x12 font, the font server returned a near
14710  equivalent where the ascent and descent values did not match,
14711  causing xterm to leave lines across the display. This patch makes
14712  xterm reject that type of mismatch, falling back to the old font
14713  behavior.</p>
14714
14715  <h1><a name="xterm_87" id="xterm_87">Patch #87 - 1998/10/21 -
14716  XFree86 3.9Nj and 3.3.2f</a></h1>
14717
14718  <p>This corrects a problem reported by Stefan Dalibor. My table
14719  entries for the <em>printerExtent</em> and
14720  <em>printerFormFeed</em> resources used the wrong types for
14721  sizeof, causing the printer to not work properly on some
14722  platforms because the <em>printAttributes</em> resource was
14723  overwritten (e.g., Digital Unix with DEC Alpha).</p>
14724
14725  <p>I reviewed all of the resource table entries and fixed a
14726  potential problem with <em>resizeGravity</em>, which was typed as
14727  <em>int</em> rather than <em>XtGravity</em>.</p>
14728
14729  <h1><a name="xterm_86" id="xterm_86">Patch #86 - 1998/10/14 -
14730  XFree86 3.9Nj and 3.3.2e</a></h1>
14731
14732  <p>A small fix: when switching to/from the continuous mouse
14733  reporting mode, the event mask was incorrect if xterm was built
14734  under X11R5 because the original data was saved under an ifdef
14735  for active-icon.</p>
14736
14737  <h1><a name="xterm_85" id="xterm_85">Patch #85 - 1998/10/12 -
14738  XFree86 3.9Nj and 3.3.2e</a></h1>
14739
14740  <p>Some cleanup (I noticed the pixel droppings a few months ago
14741  after getting a new 17" monitor):</p>
14742
14743  <ul>
14744    <li>split-out the functions that load/reload fonts for xterm as
14745    new file fontutils.c to extend them to support automatic
14746    loading of bold font corresponding to the normal font. Adapted
14747    logic from EMU 1.3 for this purpose. This fixes most
14748    occurrences of pixel droppings from bold characters.</li>
14749
14750    <li>modified by renaming variables and adding casts to permit
14751    compile with g++.</li>
14752
14753    <li>modify headers so they can all be compiled without order
14754    dependencies, and use bracketed rather than quoting includes to
14755    allow compile from separate directory.</li>
14756
14757    <li>renamed xtermm terminfo entry to xterm-mono, to avoid
14758    conflict with Solaris entry now in ncurses.</li>
14759  </ul>
14760
14761  <h1><a name="xterm_84" id="xterm_84">Patch #84 - 1998/10/9 -
14762  XFree86 3.9Ni and 3.3.2e</a></h1>
14763
14764  <p>Several small fixes and enhancements, including a patch from
14765  Bjorn Helgaas:</p>
14766
14767  <ul>
14768    <li>correct initialization of TERMCAP environment variable,
14769    which was frequently set to garbage on non-Linux systems
14770    because "termcap" and "newtc" contained random data from the
14771    stack.</li>
14772
14773    <li>remove the LINEWRAPPED attribute from lines as they are
14774    cleared. Previously, the attribute was set but never
14775    cleared.</li>
14776
14777    <li>make word and line selections work even when lines are
14778    wrapped by xterm. Previously, selections were limited to one
14779    screen line.</li>
14780  </ul>
14781
14782  <p>as well as</p>
14783
14784  <ul>
14785    <li>modify logic for line-wrapping to reset the associated flag
14786    if the application deletes a character. This fixes a problem
14787    reported by Bjorn Helgaas where word/line selection would still
14788    wrap even after deleting characters from the first line.</li>
14789
14790    <li>add kll/kH capabilities to xterm-xfree86 entries in termcap
14791    and terminfo (request by Michael Schroeder).</li>
14792
14793    <li>shorten descriptions in termcap to make resolved entries
14794    all shorter than 1023 character limit.</li>
14795
14796    <li>use DECSTR control sequence to shorten initialization and
14797    reset strings in xterm-xfree86 termcap and terminfo.</li>
14798
14799    <li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match
14800    termcap.</li>
14801
14802    <li>correct typos in initialization and reset strings in
14803    xterm-r5 termcap and terminfo.</li>
14804
14805    <li>disable special translations of key symbols (the backarrow
14806    key, the editing keypad and the keypad "+") when a modifier
14807    other than shift, control or numlock is used. This makes xterm
14808    handle the meta key as expected by people using emacs (reported
14809    by Pete Harlan &lt;harlan@pointofchoice.com&gt; in
14810    linux.debian.user newsgroup).</li>
14811  </ul>
14812
14813  <h1><a name="sync_83" id="sync_83">Resync #83 - 1998/10/7 -
14814  XFree86 3.3.2e</a></h1>
14815
14816  <p>Merge changes through <a href="#xterm_83">patch #83</a> with
14817  the 3.3.2e version.</p>
14818
14819  <p>This follows a change from XFree86 CVS which adds checks for
14820  non-null return from malloc (patch by Matthieu Herrb).</p>
14821
14822  <h1><a name="xterm_83" id="xterm_83">Patch #83 - 1998/8/25 -
14823  XFree86 3.9Nb</a></h1>
14824
14825  <p>Several small fixes and enhancements:</p>
14826
14827  <ul>
14828    <li>add configure test to infer if xterm should be installed
14829    setuid based on previously installed xterm (reported by Stephen
14830    Marley and Stefan Dalibor).</li>
14831
14832    <li>implement quasi-continuous mouse reporting (integrated
14833    patch by Jason Bacon).</li>
14834
14835    <li>correct control sequences transmitted by function keys F1
14836    to F4 when sunFunctionKeys resource is true (it was still using
14837    the VT100 control sequences).</li>
14838
14839    <li>modify handling of backarrow key so that the control
14840    modifier toggles the backspace/delete interpretation set by the
14841    backarrowKey resource.</li>
14842
14843    <li>limit the row and column values used to report mouse
14844    position.</li>
14845  </ul>
14846
14847  <p>From resync with XFree86 3.9Nb:</p>
14848
14849  <ul>
14850    <li>add support for the VSTATUS control character (patch by
14851    Robert Earl &lt;rearl@teleport.com&gt;).</li>
14852  </ul>
14853
14854  <h1><a name="xterm_82" id="xterm_82">Patch #82 - 1998/7/15 -
14855  XFree86 3.9Aj</a></h1>
14856
14857  <p>Bug fix for <a href="#xterm_81">patch #81</a>:</p>
14858
14859  <ul>
14860    <li>remove an #undef for NBBY, which caused compile problem on
14861    FreeBSD (reported by David Dawes).</li>
14862  </ul>
14863
14864  <h1><a name="xterm_81" id="xterm_81">Patch #81 - 1998/7/14 -
14865  XFree86 3.9Aj</a></h1>
14866
14867  <p>More bug fixes:</p>
14868
14869  <ul>
14870    <li>fix conflicting ifdef's for TIOCSLTC when building with
14871    Linux on AXP aka DEC Alpha (reported by Robin Cutshaw).</li>
14872
14873    <li>correction to patch #79, move assignment for
14874    *utptr-&gt;ut_user = 0; back into non-SVR4 ifdef in main.c,
14875    since this clobbers username on Solaris 2.5.1 (analysis by Will
14876    Day &lt;willday@rom.oit.gatech.edu&gt;).</li>
14877
14878    <li>corrected khome/kend in xterm-8bit terminfo
14879    description.</li>
14880
14881    <li>improve cursor color by making it always the reverse of
14882    fg/bg unless the cursorColor resource is set, i.e., to
14883    something other than the default foreground (reported by Vikas
14884    Agnihotri and Bram Moolenaar).</li>
14885
14886    <li>minor fixes for compiler warnings, including a syntax error
14887    in the AMOEBA ifdef's.</li>
14888  </ul>
14889
14890  <p>From resync with XFree86 3.9Aj:</p>
14891
14892  <ul>
14893    <li>correction to patch #73, supply missing #else for fallback
14894    definitions of size_t, time_t (Robin Cutshaw
14895    &lt;robin@intercore.com&gt;).</li>
14896  </ul>
14897
14898  <h1><a name="xterm_80" id="xterm_80">Patch #80 - 1998/6/29 -
14899  XFree86 3.9Ai</a></h1>
14900
14901  <p>This fixes a couple of items leftover or introduced by patch
14902  79:</p>
14903
14904  <ul>
14905    <li>take out the logic that suppresses editing-keypad in vt100
14906    mode (those keys are too valuable to give up for a fine point
14907    of emulation).</li>
14908
14909    <li>corrected a couple of places in terminfo where I missed
14910    using the vt220-style editing-keypad codes for Find/Select
14911    (mapped to Home/End).</li>
14912
14913    <li>checked termcap file against terminfo, fix several places
14914    where it was inconsistent.</li>
14915  </ul>
14916
14917  <h1><a name="xterm_79" id="xterm_79">Patch #79 - 1998/6/28 -
14918  XFree86 3.9Ai</a></h1>
14919
14920  <p>This patch fixes several small bugs:</p>
14921
14922  <ul>
14923    <li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas
14924    Vanhala).</li>
14925
14926    <li>add new resource 'oldXtermFKeys' which provides backward
14927    compatibility for F1-F4 control sequences with TOG's
14928    xterm.</li>
14929
14930    <li>determine the server's default foreground/background Pixel
14931    values, needed if the -flipPixels X server option is used
14932    (reported by David Dawes).</li>
14933
14934    <li>correct logic for F1-F4 function keys so that they generate
14935    VT100 compatible escape sequences in VT220 mode, since that is
14936    what the numeric keypad is supposed to do (reported by Ron
14937    Johnson, Jr. &lt;ronjohn@communique.net&gt;).</li>
14938
14939    <li>modify logic for editing keypad to work more like VT220:
14940    don't pass those codes in VT100-mode unless oldXtermFKeys mode
14941    is set.</li>
14942
14943    <li>correct an interaction with the editing-keypad logic that
14944    prevented backarrow key from sending a 127 for the delete key
14945    (the 'remove' escape sequence was being sent instead).</li>
14946
14947    <li>use return-value from getuid() rather than the parameter,
14948    to work on systems which do not update the latter (patch by
14949    Kevin Buhr &lt;buhr@mozart.stat.wisc.edu&gt;)</li>
14950
14951    <li>correct scrollbar border color when toggling to/from secure
14952    keyboard mode (patch by Jeff Uphoff
14953    &lt;juphoff@tarsier.cv.nrao.edu&gt;)</li>
14954
14955    <li>modifications to terminfo file:
14956      <ul>
14957        <li>rename description to xterm-xfree86, adding an entry
14958        'xterm' which is derived from xterm-xfree86 to simplify
14959        customization.</li>
14960
14961        <li>change string for kdch1 from \177 to \E[3~, to address
14962        complaints from Debian developers. (This applies to the key
14963        labeled "Delete", and does not affect the backarrow
14964        key).</li>
14965
14966        <li>add user-strings u6, u7, u8, u9 to entries to make them
14967        work with Daniel Weaver's "tack" program.</li>
14968
14969        <li>modify xterm-24, xterm-bold, xterm-boldso entries to
14970        disentangle them from explicit dependency upon
14971        xterm-xfree86.</li>
14972
14973        <li>add generic 'xterm-color' entry.</li>
14974
14975        <li>minor corrections to xterm-xfree86, xterm-8bit,
14976        xterm-r5 and xterm-r6 entries.</li>
14977      </ul>
14978    </li>
14979  </ul>
14980
14981  <h1><a name="xterm_78" id="xterm_78">Patch #78 - 1998/6/3 -
14982  XFree86 3.9Ah and 3.3.2</a></h1>
14983
14984  <p>Again, most of the bulk of this patch is for ANSI conversion.
14985  I used the IRIX compiler's -wlint option to find the remaining
14986  functions that use K&amp;R syntax (since gcc does not do this
14987  properly). Also, I changed the logic in the print code slightly
14988  to close unwanted files before opening a pipe to the printer.
14989  This may help in some configurations where the line printer hangs
14990  until xterm closes the pipe.</p>
14991
14992  <h1><a name="xterm_77" id="xterm_77">Patch #77 - 1998/5/26 -
14993  XFree86 3.9Ah and 3.3.2</a></h1>
14994
14995  <p>Most of the bulk of this patch is to convert the extended C
14996  (K&amp;R functions with prototypes) to ANSI. I verified that on
14997  Linux by comparing object files, to ensure that I did not, for
14998  example, interchange parameters in the function declarations.</p>
14999
15000  <p>The rest of the patch fixes several minor bugs, and adds a few
15001  features:</p>
15002
15003  <ul>
15004    <li>back-out my use of ncurses "captoinfo -f" option
15005    (if/then/else/endif) formatting, since ncurses did not
15006    correctly filter embedded newlines in terminfo capability
15007    strings until _after_ ncurses 4.1, thus corrupting
15008    setf/setb/sgr strings (reported by Darren Hiebert and
15009    others).</li>
15010
15011    <li>document SGR 8, 28 (invisible/visible), add corresponding
15012    capabilities to terminfo description.
15013      <p>I would also add the 'prot protected capability, but the
15014      control sequences for that would not be recognized or
15015      properly ignored by the older xterm programs.</p>
15016    </li>
15017
15018    <li>modify ChangeGroup to not suppress a null-resource, but
15019    treat it as an empty string (recommended by Stefan
15020    Dalibor).</li>
15021
15022    <li>add printerAutoClose resource to control whether printer is
15023    closed when going offline. More than one person reports
15024    problems (on Solaris 2.6 and Digital Unix 4.0) getting the
15025    printer to proceed unless xterm exits; I think that it is a
15026    problem flushing the pipe. Closing it ought to flush it.</li>
15027
15028    <li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N
15029    (but adapt XtStackAlloc/XtStackFree for clarity, as well as
15030    fixing memory leak).</li>
15031
15032    <li>change calls on FillCurBackground to ClearCurBackground, in
15033    effect using XClearArea rather than XFillRectangle when
15034    clearing as a side-effect of scrolling and insertion (patch by
15035    Alexander V Lukyanov)</li>
15036
15037    <li>correct some places where insert/delete did not _move_ the
15038    color attributes, using memmove (patch by Alexander V Lukyanov
15039    &lt;lav@long.yar.ru&gt;)</li>
15040
15041    <li>add ifdef's for __CYGWIN32__, for port to cygnus version
15042    B19.1 (patch by Andrew Sumner
15043    &lt;andrew_sumner@hotmail.com&gt;).</li>
15044
15045    <li>remove #define for hpux that turned on USE_SYSV_ENVVARS,
15046    since this causes some applications (such as 'less') to get
15047    incorrect $LINES and $COLUMNS values (reported by Clint
15048    Olsen).</li>
15049
15050    <li>modify behavior for HP-UX, to set the "reserved" process
15051    group controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does
15052    not produce an error (patch by Ben Yoshino
15053    &lt;ben@wiliki.eng.hawaii.edu&gt;).</li>
15054
15055    <li>correct length of underlining, reducing it by one pixel to
15056    avoid leaving a dot when the application does not clear the
15057    whole screen I noticed this only recently myself (and other
15058    people as well); it depends on the font chosen. A 6x10 font
15059    shows it, but the other fonts from XTerm.ad do not. I also see
15060    a similar problem with the emulation of bold fonts. (patch by
15061    Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).</li>
15062
15063    <li>add include for Xos.h to xterm.h, to ensure proper
15064    definitions (reported by Holger Veit).</li>
15065
15066    <li>update config.guess to recognize Unixware 2.1 and 7 (patch
15067    by Mike Hopkirk &lt;hops@sco.com&gt;).</li>
15068  </ul>
15069
15070  <h1><a name="xterm_76" id="xterm_76">Patch #76 - 1998/5/8 -
15071  XFree86 3.9Ah and 3.3.2</a></h1>
15072
15073  <p>A fix for the print-window function, and some minor
15074  cleanup:</p>
15075
15076  <ul>
15077    <li>modify logic that closes pipe in the print-window function
15078    to not use pclose, which does not work on all systems, since I
15079    did not open the pipe with popen (reported by Stefan
15080    Dalibor).</li>
15081
15082    <li>correct name of $(EXTRA_LOAD_FLAGS) imake variable
15083    (reported by Stefan Dalibor).</li>
15084
15085    <li>guard logic in ChangeGroup() function against null pointer
15086    (reported by Stefan Dalibor).</li>
15087
15088    <li>ensure that menu entry for toggling sunKeyboard resource is
15089    initialized (reported by Branden Robinson
15090    &lt;branden@purdue.edu&gt;).</li>
15091
15092    <li>gcc unused-variable warnings (reported by Bernd Ernesti
15093    &lt;bernd@arresum.inka.de&gt;)</li>
15094
15095    <li>rename global variable 'buffer' to 'VTbuffer'</li>
15096  </ul>
15097
15098  <h1><a name="xterm_75" id="xterm_75">Patch #75 - 1998/5/7 -
15099  XFree86 3.9Ah and 3.3.2</a></h1>
15100
15101  <p>This incorporates fixes from several people, as well as some
15102  improvements that I made based on feedback from users:</p>
15103
15104  <ul>
15105    <li>add option to standalone configure script,
15106    "--with-own-terminfo-dir", which causes xterm to pass a
15107    predefined value of $TERMINFO to the application. Also use this
15108    value in install rule "make install-ti", for the standalone
15109    configure script. (patch &amp; feedback from Tor Lillqvist
15110    &lt;tml@hemuli.tte.vtt.fi&gt;)</li>
15111
15112    <li>change ifdef's for "hpux" to "__hpux" (patch by Tor
15113    Lillqvist). The imake configuration uses the former, but the
15114    latter is predefined by HP's compilers.</li>
15115
15116    <li>define USE_SYSV_ENVVARS for HP-UX, curses does not use
15117    $TERMCAP (patch by Tor Lillqvist).</li>
15118
15119    <li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.
15120    Works both on HP-UX 9 and 10. (patch by Tor Lillqvist).</li>
15121
15122    <li>modify configure script to obtain the $(EXTRA_LOADFLAGS)
15123    value from imake, needed for compiling under DEC OSF/1
15124    (reported by Stefan Dalibor)</li>
15125
15126    <li>modify print-window action so that the printer is closed
15127    after printing a window, unless the printer was already opened
15128    (i.e., by an application running in the window). This makes the
15129    printing complete without having to exit xterm, since not all
15130    systems treat fflush through a pipe very well (reported by
15131    Stefan Dalibor)</li>
15132
15133    <li>modify printing code so that the ^M's are not printed if
15134    the printAttribute resource is set to zero (request by Stefan
15135    Dalibor).</li>
15136
15137    <li>correct typo in xterm.man, for the default value of
15138    printAttribute (reported by Stefan Dalibor).</li>
15139
15140    <li>correct printing code so that the alternate character set
15141    is printed, like other attributes, with escape sequences.</li>
15142
15143    <li>correct termcap description, removing spurious 'm'
15144    character from the 'op' capability (reported by Greg Woods
15145    &lt;woods@weird.com&gt;).</li>
15146
15147    <li>correct trace code so that the initial timestamp is
15148    set.</li>
15149
15150    <li>correct/modify utmp data for the Linux glibc 2
15151    configuration, so that the ut_line member is set before using
15152    it to update wtmp (patch by Bill Nottingham
15153    &lt;wen1@cec.wustl.edu&gt;).</li>
15154  </ul>
15155
15156  <h1><a name="xterm_74" id="xterm_74">Patch #74 - 1998/4/27 -
15157  XFree86 3.9Ag and 3.3.2</a></h1>
15158
15159  <p>This corrects a couple of recent bugs and adds a new
15160  resource:</p>
15161
15162  <ul>
15163    <li>modify definition of TRACE_CHILD so that it does not
15164    conflict with ifdef's for USE_USG_PTYS in main.c (reported by
15165    Vikas Agnihotri &lt;VikasA@att.com&gt; and Stefan
15166    Dalibor).</li>
15167
15168    <li>correct ownership of file (actually pipe) written by the
15169    print controls. When undoing the setuid changes in patch #69, I
15170    overlooked this. Now xterm forks a process which resets setuid
15171    and routes the printer data as the real user.</li>
15172
15173    <li>add a new resource, "printAttributes", which controls
15174    whether color attributes (or any attributes) are sent to the
15175    printer.</li>
15176  </ul>
15177
15178  <h1><a name="xterm_73" id="xterm_73">Patch #73 - 1998/4/25 -
15179  XFree86 3.9Ag and 3.3.2</a></h1>
15180
15181  <p>This patch does the following:</p>
15182
15183  <ul>
15184    <li>implements a print-window facility for xterm. Though useful
15185    in itself, I added it as part of some debugging which I am
15186    doing. (Occasionally during an exposure event xterm fails to
15187    restore the proper colors for highlighted text, and printing
15188    the screen will show the internal states nicely).
15189      <p>The print facility now also displays the color
15190      information. (I will probably make this a resource).</p>
15191    </li>
15192
15193    <li>modified the xterm-16color terminfo description to use the
15194    setaf and setab strings, which is a little more efficient
15195    (requested by Stephen Marley).</li>
15196
15197    <li>reduced some clutter of the ifdef/includes (e.g., stdlib.h,
15198    unistd.h, errno) making the configure script test for these.
15199      <p>I removed the symbols Size_t and Time_t, since they no
15200      longer serve a useful purpose.</p>
15201    </li>
15202
15203    <li>added some debugging traces to show the initial screen
15204    size, and the success/failure of the ioctl calls pass handle
15205    window resizing events to the application (for Clint Olsen).
15206      <p>I also modified the trace code to produce two files since
15207      some of the information is produced by the child process. So
15208      now they are Trace-parent.out and Trace-child.out</p>
15209    </li>
15210
15211    <li>updated configure test for ANSI compiler options to handle
15212    a special case for HP-UX 10.x (reported by Clint Olsen).</li>
15213  </ul>
15214
15215  <h1><a name="xterm_72" id="xterm_72">Patch #72 - 1998/4/17 -
15216  XFree86 3.9Ag and 3.3.2</a></h1>
15217
15218  <p>This is a patch from Chris Siebenmann
15219  &lt;cks@hawkwind.utcs.toronto.edu&gt;, which I have cleaned up a
15220  little, and integrated into the configure script.</p>
15221
15222  <p>From his description:</p>
15223
15224  <blockquote>
15225    <p>This set of patches is the latest incarnation of patches
15226    originally written by Ian! D Allen, then of the University of
15227    Waterloo and now of who knows where; I have been carrying them
15228    forward from xterm to xterm ever since about X11R4. What they
15229    do is add an option so that when an iconified xterm receives
15230    output it prepends '*** ' to its icon title and (optionally)
15231    beeps the bell; deiconifying the xterm removes the '*** '. Over
15232    the years I've found this to be incredibly convenient for
15233    monitoring all sorts of low-activity things.</p>
15234  </blockquote>
15235
15236  <h1><a name="xterm_71" id="xterm_71">Patch #71 - 1998/4/12 -
15237  XFree86 3.9Ag and 3.3.2</a></h1>
15238
15239  <p>This patch is a slightly modified version of one by Richard
15240  Braakman, which prevents buffer overflow in the input-method and
15241  preedit-type parsing in xterm. I changed a couple of details to
15242  make the code more maintainable, and looked for similar things -
15243  copying into a fixed-size buffer (found none, though I did spot
15244  an unused variable).</p>
15245
15246  <h1><a name="xterm_70" id="xterm_70">Patch #70 - 1998/3/29 -
15247  XFree86 3.9Af and 3.3.2</a></h1>
15248
15249  <p>This patch corrects some minor bugs in xterm, and fills in
15250  some more details in the VT220 emulation:</p>
15251
15252  <ul>
15253    <li>modify Imakefile to use SpecialCObjectRule for menu and
15254    data modules, making xterm build properly if logging is enabled
15255    (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).</li>
15256
15257    <li>restore "ich" capability to terminfo entries, since Michael
15258    Schroeder points out that "ich1" is the one which is the
15259    problem in Solaris vi.</li>
15260
15261    <li>correct color of cursor, which would disappear on
15262    inverse-video since the initialization did not compare the
15263    cursor color against both foreground and background (reported
15264    by Olivier Calle).</li>
15265
15266    <li>correct abbreviation-test for -version and -help options,
15267    making command-line option -vb work (reported by Stefan
15268    Dalibor).</li>
15269
15270    <li>correct a dependency between ifdef's for OPT_I18N_SUPPORT
15271    and OPT_INPUT_METHOD (reported by Stefan Dalibor).</li>
15272
15273    <li>split-out character-set translations as new module
15274    charsets.c, to implement VT220 national replacement character
15275    sets (a mode where some of the characters are displayed as
15276    specific European glyphs). This relies on xterm using an ISO
15277    8859-1 font (approach suggested by Kenneth R. Robinette
15278    &lt;zkrr01@mailbox.neosoft.com&gt;).</li>
15279
15280    <li>correct a missing increment, which made SS2 and SS3
15281    controls repeat the shifted character.</li>
15282
15283    <li>add xterm-nrc to terminfo to illustrate the VT220 national
15284    replacement character sets.</li>
15285
15286    <li>reformat terminfo using new ncurses tic option "-f", which
15287    makes if/then/else/endif expressions easier to read.</li>
15288  </ul>
15289
15290  <h1><a name="xterm_69" id="xterm_69">Patch #69 - 1998/3/16 -
15291  XFree86 3.9Ad and 3.3.2</a></h1>
15292
15293  <p>This corrects the problem in xterm with utmp, reported by
15294  Olivier Calle &lt;olivier@tc.fluke.com&gt; as well as some other
15295  people after the XFree86 3.3.2 release.</p>
15296
15297  <p>The error was introduced by my <a href="#xterm_53">patch
15298  #53</a> in XFree86 3.9r (October 1997).</p>
15299
15300  <p>The correction removes the reset of setuid/setgid before the
15301  main event loop, and solves the problem which I had worked around
15302  in a different manner: for some reason, the particular waitpid()
15303  call in creat_as() hangs, does not return when the child process
15304  exits. I changed the ifdef's to force the Linux configuration to
15305  use wait() instead. This call appears to work properly on other
15306  platforms such as SunOS and Solaris.</p>
15307
15308  <p>I also added tests in the standalone configure script to check
15309  for the existence of waitpid().</p>
15310
15311  <h1><a name="xterm_68" id="xterm_68">Patch #68 - 1998/3/4 -
15312  XFree86 3.9Ad and 3.3.1z</a></h1>
15313
15314  <p>This corrects another problem with the logic for
15315  highlightColor resource. As reported by David Dawes:</p>
15316
15317  <blockquote>
15318    <p>I've just noticed a problem with with the "inverse" control
15319    sequence (ESC[7m) with the 3.3.2 xterm. What it does is sets
15320    the background black, and the text the usual foreground colour
15321    rather than simply swapping the foreground/background.</p>
15322  </blockquote>
15323
15324  <p>This appears to be because when I added logic to check that
15325  the highlightColor was distinct from foreground and background
15326  colors, I did not add a further check to see that it was not
15327  black (I would make an explicit check for the resource not being
15328  set, but see nothing definite in the headers that would let me
15329  reference an explicitly-undefined Pixel value, though there are
15330  some implications in xpm.h). But this should work.</p>
15331
15332  <h1><a name="xterm_67" id="xterm_67">Patch #67 - 1998/2/23 -
15333  XFree86 3.9Ad and 3.3.1e</a></h1>
15334
15335  <p>This patch does the following:</p>
15336
15337  <ul>
15338    <li>improve test for highlightColor so that xterm does not
15339    attempt to use that unless it is different from the foreground
15340    and background colors (reported by Stefan Dalibor
15341    &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
15342      <p>I could not reproduce this until I noticed that the -rev
15343      option exposed it nicely.</p>
15344    </li>
15345
15346    <li>remove ich and ich1 from xterm and xterm-8bit terminfo
15347    descriptions. SVr4 terminfo documents that you must not combine
15348    these with smir/rmir, but ncurses allows it, opening a hole.
15349    Solaris 2.6 vi does not work properly if it is using a terminfo
15350    description when these are combined, since it was written to
15351    accommodate old terminals that required it (reported by Stephen
15352    Marley).</li>
15353
15354    <li>restore 1-pixel overlap of scrollbar border with left edge
15355    of window (reported by Jim Burmeister
15356    &lt;jimb@metrolink.com&gt;).</li>
15357
15358    <li>add a configure option, --enable-logfile-exec, which allows
15359    the user to specify a pipe for logfile. This defines
15360    ALLOWLOGFILEEXEC.</li>
15361
15362    <li>makes the ALLOWLOGFILEEXEC code compile &amp; run, if
15363    configured.</li>
15364
15365    <li>minor documentation nits.</li>
15366  </ul>
15367
15368  <h1><a name="xterm_66" id="xterm_66">Patch #66 - 1998/2/16 -
15369  XFree86 3.9Ad and 3.3.1d</a></h1>
15370
15371  <p>This fixes the problem reported with failure to build the
15372  <em>resize</em> program (BSDI, OSF/1) due to not having
15373  &lt;termcap.h&gt;, by changing the ifdef to one that would be set
15374  only if the file exists (not currently specified, except by the
15375  standalone configure script). We do not really need to include
15376  &lt;termcap.h&gt; to build, but only for a clean compile, since
15377  it may declare the tgetent() prototype. I also updated the
15378  man-page for <em>resize</em>, since I had recently noticed that
15379  it can be used to resize <em>xterm</em> using the "Sun" control
15380  sequences option.</p>
15381
15382  <h1><a name="xterm_65" id="xterm_65">Patch #65 - 1998/2/14 -
15383  XFree86 3.9Ad and 3.3.1c</a></h1>
15384
15385  <p>This is a small patch to xterm's 8-bit terminal description. I
15386  noticed while testing ncurses that I had specified the wrong
15387  (VT100-style) codes for the F1-F4. Xterm only uses VT220-style
15388  function keys in 8-bit mode.</p>
15389
15390  <h1><a name="xterm_64" id="xterm_64">Patch #64 - 1998/2/8 -
15391  XFree86 3.9Ad</a></h1>
15392
15393  <p>This fixes the following problems with xterm:</p>
15394
15395  <ul>
15396    <li>save/restore the ANSI foreground and background colors with
15397    the other visible attributes in the save-cursor and
15398    restore-cursor operations. This works around a problem with
15399    vim, which apparently assumed that switching between the normal
15400    and alternate screens resets the colors (reported by Jim Battle
15401    &lt;jb@chromatic.com&gt;).
15402      <p>It would be nice to implement save/restore cursor as a
15403      stack (and solve this type of problem completely), but that
15404      would lead to incompatibility with applications which assume
15405      they are running with a VT100 or VT220.</p>
15406    </li>
15407
15408    <li>corrects behavior of a restore-cursor operation which does
15409    not follow a save-cursor (it is supposed to set the character
15410    sets to a known initial state).</li>
15411
15412    <li>extends the sunKeyboard resource (and menu toggle) to
15413    modify the home, end and delete keys on a Sun or PC editing
15414    keypad, making them generate codes compatible with DEC VT220's
15415    Find, Select and Remove keys.</li>
15416
15417    <li>corrects a length in checking command-line options, which
15418    caused the "-help" message to not work when X was not
15419    running.</li>
15420
15421    <li>add some detail to the man-page (requested by Jason Bacon
15422    &lt;acadix@execpc.com&gt;)</li>
15423
15424    <li>modify the standalone configure script to ignore the broken
15425    nsl and socket libraries on IRIX 6.2 (the ones on 5.2 also are
15426    broken, so this change just widens the check for the system
15427    version number).</li>
15428  </ul>
15429
15430  <h1><a name="xterm_63" id="xterm_63">Patch #63 - 1998/2/5 -
15431  XFree86 3.9Ad</a></h1>
15432
15433  <p>This is another patch from Bjorn Helgaas
15434  &lt;helgaas@rsn.hp.com&gt;, which I've reviewed (and learned
15435  some). Following are his notes:</p>
15436
15437  <p>I poked around some more and finally got xterm-62 to build and
15438  run cleanly on HP-UX 10.20. Here are the patches. They look sort
15439  of ugly, so here's a little explanation:</p>
15440
15441  <ul>
15442    <li>aclocal.m4: Removed side effects from the AC_CACHE_VAL
15443    commands in CF_FUNC_TGETENT. Previously, LIBS was set inside
15444    AC_CACHE_VAL, which worked fine the first time configure was
15445    run, but failed if there were cached values.</li>
15446
15447    <li>aclocal.m4: Added temporary setting of LIBS before
15448    AC_TRY_LINK in CF_FUNC_TGETENT. Previously, the last value set
15449    by the AC_TRY_RUN loop was used, so only -lcurses was
15450    checked.</li>
15451
15452    <li>configure.in: Added temporary setting of CPPFLAGS before
15453    AC_CHECK_HEADERS for X11 files. Previously
15454    &lt;X11/DECkeysym.h&gt; and &lt;X11/Xpoll.h&gt; were found only
15455    if they were in the compiler's default include directories,
15456    even if `--x-includes=DIR' had been used or AC_PATH_XTRA had
15457    found them elsewhere.</li>
15458  </ul>
15459
15460  <p>The problem on HP-UX was that we were linking with -lcurses
15461  rather than -ltermcap due to the second bullet above, and
15462  apparently something in HP-UX curses is broken. This seems very
15463  strange, because the only thing used is tgetent, which should
15464  affect any tty/pty configuration, but I lost interest in tracking
15465  down the exact problem.</p>
15466
15467  <h1><a name="xterm_62" id="xterm_62">Patch #62 - 1998/1/23 -
15468  XFree86 3.9Ac</a></h1>
15469
15470  <p>This is a patch mostly by Bjorn Helgaas
15471  &lt;helgaas@dhc.net&gt; (I added the os2main.c change, and a
15472  little of the documentation). From Bjorn's description:</p>
15473
15474  <ul>
15475    <li>If you use the "-hc &lt;color&gt;" option or set the
15476    "highlightColor" resource, text is highlighted by changing only
15477    the background color, rather than using reverse video. I find
15478    this easier to read, especially when selecting multi-colored
15479    text, and it is similar to the way Netscape shows
15480    selections.</li>
15481
15482    <li>Most of the code changes are under "#if
15483    OPT_HIGHLIGHT_COLOR". The principal exception is in screen.c,
15484    where I added a couple calls to resetXtermGC(). This seems like
15485    it could be a bug even without the color highlighting changes
15486    (though I don't pretend to understand all the logic).</li>
15487  </ul>
15488
15489  <h1><a name="xterm_61" id="xterm_61">Patch #61 - 1998/1/17 -
15490  XFree86 3.9Ac</a></h1>
15491
15492  <p>This patch modifies the reset behavior of xterm slightly:</p>
15493
15494  <ul>
15495    <li>change the terminfo entry so that rs1 (one of the strings
15496    used by the 'reset' program) does a hard reset rather than
15497    switching character sets. This is more in accord with other
15498    terminal descriptions.</li>
15499
15500    <li>modifies the treatment of hard reset by the xterm program
15501    to reset the saved lines.</li>
15502
15503    <li>corrects hard reset by also resetting user-defined keys,
15504    i.e., DECUDK.</li>
15505  </ul>
15506
15507  <h1><a name="xterm_60" id="xterm_60">Patch #60 - 1998/1/10 -
15508  XFree86 3.9Ab</a></h1>
15509
15510  <p>This fixes some minor bugs and adds new functionality:</p>
15511
15512  <ul>
15513    <li>add support for blinking text.
15514      <ul>
15515        <li>This does not actually cause the text to flash, but
15516        text with the blink attribute can be displayed in color,
15517        using new resources colorBL and colorBLMode.</li>
15518
15519        <li>If colors are not used, the blinking text will be
15520        displayed as before (just like bold). The main purpose of
15521        this is to make applications work properly when they assume
15522        the emulator supports blinking text.</li>
15523
15524        <li>I did this by moving the per-cell LINEWRAPPED flag to a
15525        per-line flag, to make room for the new BLINK flag. There
15526        were no per-line flags, so this changes a lot of
15527        logic.</li>
15528      </ul>
15529    </li>
15530
15531    <li>corrected missing save-cursor logic in the handling of SGR
15532    1048 (the new control sequence I added in patch #54,
15533    1997/10/17). Reported by Darren Hiebert.</li>
15534
15535    <li>flush the output of the transparent printing after each
15536    line Reported by Tomas Vanhala
15537    &lt;vanhala@ling.helsinki.fi&gt;.</li>
15538
15539    <li>correct the modes that are affected by save/restore cursor
15540    by adding WRAPAROUND and PROTECTED.</li>
15541
15542    <li>corrected placement of one of the XSync calls that I added
15543    in patch #51, 1997/9/15, which had the side-effect of writing
15544    on the window border when the xterm was resizing from 132 to 80
15545    columns.</li>
15546
15547    <li>work around an incompatibility of the XKB definition used
15548    in xterm versus that symbol from IRIX 6.2's imake definitions
15549    (by adjusting the standalone configure script).</li>
15550  </ul>
15551
15552  <h1><a name="xterm_59" id="xterm_59">Patch #59 - 1998/1/5 -
15553  XFree86 3.9Ab</a></h1>
15554
15555  <p>My last patch has an off-by-one error in the comparison for
15556  argc. Douglas Kosovic &lt;douglask@dstc.edu.au&gt; showed me
15557  where (he got a core dump). Also, I think this explains Clint
15558  Olsen's problem, but the symptoms were more subtle (EINVAL for a
15559  system call if the -display option is omitted).</p>
15560
15561  <h1><a name="xterm_58" id="xterm_58">Patch #58 - 1998/1/3 -
15562  XFree86 3.9Ab</a></h1>
15563
15564  <p>This patch does the following:</p>
15565
15566  <ul>
15567    <li>implement logic to permit xterm to work with proportional
15568    fonts.
15569      <ul>
15570        <li>Thomas Wolff &lt;Thomas.Wolff@sietec.de&gt; requested
15571        this (but it isn't exactly what he's asking for - that's a
15572        more involved task).</li>
15573
15574        <li>I chose to do this by rendering the characters on a
15575        fixed pitch, because it would not be useful for existing
15576        applications to display varying numbers of characters on
15577        each line.</li>
15578
15579        <li>Except that this forces the display to be wider, it
15580        works reasonably well. A couple of special cases (reverse +
15581        colorBD, for example) do not display with proper colors,
15582        since the inter-character gaps are painted with the
15583        background.</li>
15584      </ul>
15585    </li>
15586
15587    <li>added a version number to the program (several people have
15588    requested this).</li>
15589
15590    <li>make the -version and -help options interpreted before the
15591    program attempts to open the display.</li>
15592
15593    <li>minor reorganization of the man-page (ordered the options,
15594    resources and translations alphabetically - and eliminated some
15595    duplication).</li>
15596
15597    <li>corrected a misspelled filename in Makefile.in, and added a
15598    lint rule.</li>
15599
15600    <li>updated the configure script to correct behavior when it
15601    cannot find imake, as well as to fix the IRIX+gcc build
15602    (conflict with /usr/include).</li>
15603
15604    <li>regenerated the configure script with a newer patch to
15605    autoconf that fixes a problem with environment space vs the
15606    configure --help message.</li>
15607  </ul>
15608
15609  <h1><a name="xterm_57" id="xterm_57">Patch #57 - 1997/12/26 -
15610  XFree86 3.9Aa</a></h1>
15611
15612  <p>This patch is mostly concerned with the standalone configure
15613  script; a few minor corrections are added:</p>
15614
15615  <ul>
15616    <li>add configure option --disable-tek4014, to allow xterm to
15617    be built without the tek4014 emulation.</li>
15618
15619    <li>add configure option --with-terminal-type, to allow xterm
15620    to be compiled with default $TERM value other than "xterm"
15621    (e.g., "xterm-16color") -- requested by Stephen Marley
15622    &lt;stephen@memex.com&gt;.</li>
15623
15624    <li>fix a typo in the configure --help message -- reported by
15625    Darren Hiebert &lt;darren@hmi.com&gt;.</li>
15626
15627    <li>review diffs between main.c and os2main.c, to make them
15628    more alike. (applies some minor bug-fixes to OS/2's
15629    version).</li>
15630
15631    <li>add missing quotes in memmove/bcopy configure test</li>
15632  </ul>
15633
15634  <h1><a name="xterm_56" id="xterm_56">Patch #56 - 1997/11/28 -
15635  XFree86 3.9x</a></h1>
15636
15637  <p>This patch is based on analysis by Arfst Ludwig
15638  &lt;arfst@luxor.IN-Berlin.DE&gt;, who reported:</p>
15639
15640  <blockquote>
15641    <p>Setting the following resources xterm (all current versions)
15642    receives a segmentation fault on &lt;Btn2Up&gt; after
15643    scrolling:</p>
15644
15645    <pre>
15646          *XTerm*VT100*translations:    #override \
15647              ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
15648              Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
15649              ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
15650              Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
15651</pre>
15652    <p>(The above resources intention is to be able to paste the
15653    latest selection even if the xterm was cleared.)</p>
15654
15655    <p>And here is how it works (and a fix!): The widget given to
15656    the action handler as first argument is not guaranteed to be a
15657    XtermWidget (it can be the ScrollbarWidget). Instead of
15658    accessing the widget's member directly XtDisplay gives the
15659    required pointer in a safe way.</p>
15660  </blockquote>
15661
15662  <p>I noticed that this was not the only instance (by reading the
15663  code, and testing with his example), and extended the solution to
15664  check the widget-class to ensure that it is indeed xterm's widget
15665  class before attempting to use it in the context of
15666  translations.</p>
15667
15668  <h1><a name="xterm_55" id="xterm_55">Patch #55 - 1997/11/25 -
15669  XFree86 3.9x</a></h1>
15670
15671  <p>This fixes the segmentation violation noted by Rogier Wolff
15672  about a month ago. He'd set xterm to 400 (rows) by 150 columns,
15673  which broke because there were limited buffers (200 rows) used
15674  for juggling data when adding or deleting lines and for switching
15675  between alternate and normal screens. I replaced this by an
15676  allocated buffer.</p>
15677
15678  <p>The bug is simple to test if you set titeInhibit false.</p>
15679
15680  <h1><a name="xterm_54" id="xterm_54">Patch #54 - 1997/10/17 -
15681  XFree86 3.9s</a></h1>
15682
15683  <p>This patch does the following:</p>
15684
15685  <ul>
15686    <li>correct a minor placement problem with the right
15687    scrollbar.</li>
15688
15689    <li>implement a new set of control sequences for switching
15690    between the normal and alternate VT100 screens. These work
15691    around the older sequences limitation that required
15692    modification of the runtime $TERMCAP to cooperate with the
15693    titeInhibit resource (that can't work with terminfo). I do this
15694    by moving all of the functionality of the rmcur terminfo
15695    capability into the control sequences.</li>
15696
15697    <li>implement the alternate-screen menu entry</li>
15698  </ul>
15699
15700  <h1><a name="xterm_53" id="xterm_53">Patch #53 - 1997/10/12 -
15701  XFree86 3.9r</a></h1>
15702
15703  <p>This patch adds a fix and implements a new feature (as well as
15704  some minor typos):</p>
15705
15706  <ul>
15707    <li>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a
15708    problem with the wait call with the logging option. It hung
15709    when the logfile was opened as a command-line option. I fixed
15710    this by moving the StartLogging() call down past the place
15711    where I'd reset the setuid mode. So the logfile is opened as
15712    the real user, without having to fork.</li>
15713
15714    <li>improve Rohleder's changes by renaming the command-line
15715    options and reducing the number of ifdef's.</li>
15716
15717    <li>implement right-scrollbars for xterm (patch by Michael
15718    Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt;).</li>
15719  </ul>
15720
15721  <h1><a name="xterm_52" id="xterm_52">Patch #52 - 1997/9/29 -
15722  XFree86 3.9q</a></h1>
15723
15724  <p>This patch addresses bugs and requests reported by</p>
15725
15726  <ul>
15727    <li>Bob Maynard &lt;rmaynard@montana.com&gt;,</li>
15728
15729    <li>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,</li>
15730
15731    <li>JCHANDRA@Inf.COM (JCHANDRA),</li>
15732
15733    <li>Michael Schroeder
15734    &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,</li>
15735
15736    <li>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;</li>
15737  </ul>
15738
15739  <p>Some of the changes are interrelated (it was an unusually busy
15740  week).</p>
15741
15742  <ul>
15743    <li>change the default resource value for colorMode to true,
15744    matching the Xterm.ad file.</li>
15745
15746    <li>correct behavior of 'ech' control, making the default and 0
15747    parameters erase one character rather than to the end of line
15748    (reported by Michael Schroeder).</li>
15749
15750    <li>add resource boldColors, command-line options +pc and -pc
15751    and configure-script option to specify behavior of xterm's
15752    mapping bold colors 0 through 7 to colors 8 through 15.
15753    (request by Pablo Ariel Kohan).</li>
15754
15755    <li>add resource colorAttrMode to specify whether colorULMode
15756    and colorBDMode can override the ANSI colors (report by Clint
15757    Olsen).</li>
15758
15759    <li>correct a conflict between colorULMode/colorBDMode versus
15760    ANSI colors, where exposure events would occasionally pick up
15761    the former (e.g., colorBD) rather than ANSI colors. Testing the
15762    colorAttrMode made this apparent, though it has been in the
15763    code since 3.2A (<a href="#xterm_35">patch #35</a> in Jan
15764    1997).</li>
15765
15766    <li>correct two problems with the optional logging support. On
15767    Linux at least, the waitpid call in creat_as hangs when the
15768    logging is toggled from the popup menu. Also, the mktemp
15769    template has the wrong number of X's (since X11R5!). Fixed the
15770    waitpid problem by exploiting the fact that the setuid behavior
15771    is reset before the popup menus are available. (reported by
15772    Jayachandran C.).</li>
15773
15774    <li>add configure script options for building with the Xaw3d
15775    and neXtaw libraries.</li>
15776
15777    <li>correct CF_IMAKE_CFLAGS standalone configure script macro,
15778    so that it will pick up $(ALLDEFINES) rather than
15779    $(STD_DEFINES). This is needed to make scrollbars work on
15780    Linux, since that uses narrow prototypes. (reported by Bob
15781    Maynard).</li>
15782
15783    <li>various minor updates to configure-script macros.</li>
15784  </ul>
15785
15786  <h1><a name="xterm_51" id="xterm_51">Patch #51 - 1997/9/15 -
15787  XFree86 3.9p</a></h1>
15788
15789  <p>Most of this patch is related to the standalone configure
15790  script, though there are fixes/enhancements as well:</p>
15791
15792  <ul>
15793    <li>add a new resource sunKeyboard, with associated
15794    command-line option and menu-toggle that allows using a normal
15795    Sun or PC keyboard to generated the complete DEC-style function
15796    keys and keypad.</li>
15797
15798    <li>correct a reversed foreground/background test in the
15799    control sequence that replies with the current SGR
15800    settings.</li>
15801
15802    <li>correct, by invoking XSync, a display problem that caused
15803    the program to not properly update newly exposed areas when a
15804    font change or 80/132 resize request was not completely
15805    accepted.</li>
15806
15807    <li>restructured autoconf macros (I made a library of all of
15808    the macros across the complicated configure scripts I'm working
15809    on).</li>
15810
15811    <li>use the autoconf config.guess and config.sub scripts to
15812    better identify the host-os.</li>
15813
15814    <li>improve the configure script that uses 'imake' as a
15815    fallback for definitions.</li>
15816
15817    <li>correct several instances of unsigned/signed mixed
15818    expressions.</li>
15819  </ul>
15820
15821  <p>I've tested the configure script on Linux, SunOS 4.1.3,
15822  Solaris 2.5.1, IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but
15823  the last run properly as well).</p>
15824
15825  <h1><a name="xterm_50" id="xterm_50">Patch #50 - 1997/8/22 -
15826  XFree86 3.9m</a></h1>
15827
15828  <p>This is a collection of small fixes, and a couple of minor
15829  enhancements:</p>
15830
15831  <ul>
15832    <li>plug a security hole in the implementation of Media Copy
15833    (print) by invoking setuid just before the main loop.</li>
15834
15835    <li>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX,
15836    which allows the program to process SIGWINCH events (this is a
15837    bug in X11R6.3)</li>
15838
15839    <li>add state-table entries for VT52 emulation to enter/exit
15840    keypad application mode.</li>
15841
15842    <li>disable the popup-menu entry for 8-bit controls when the
15843    terminal-id is less than 200 (e.g., VT52 or VT100).</li>
15844
15845    <li>ensure that the popup-menu entry for 8-bit controls is
15846    updated when the application enables/disables this mode,
15847    including the response to a full-reset.</li>
15848
15849    <li>implement VT300 DECBKM feature: set interpretation of the
15850    backarrow key to either backspace or delete. The initial
15851    setting is via resource; it can also be modified in the main
15852    popup menu.</li>
15853
15854    <li>implement VTxxx KAM (ISO AM), which allows a keyboard to be
15855    locked (i.e., the terminal discards input).</li>
15856
15857    <li>implement VTxxx SRM, which is used to control local echoing
15858    of input on the terminal.</li>
15859
15860    <li>add terminfo and termcap entries for xterm-8bit, a
15861    variation of the xterm description that uses 8-bit control
15862    characters.</li>
15863
15864    <li>add fallback definitions for Imakefile to allow it to work
15865    on some X11R5 systems that have no SpecialCObjectRule or
15866    ProgramTargetName macros.</li>
15867
15868    <li>add .c.o and .c.i rules to standalone Makefile.in</li>
15869
15870    <li>correct order of -lXmu and -lXext in standalone configure
15871    script.</li>
15872
15873    <li>add configure script options to allow selective disabling
15874    of active-icon, input-method and i18n code (mainly for users
15875    with X11R5 or an incomplete X11R6 configuration).</li>
15876
15877    <li>change menu-indices from #define's to enum values, thereby
15878    making it work better with the ifdef's for logging and
15879    active-icon (the X11R6.3 active-icon code is incorrectly
15880    ifdef'd; this corrects an error introduced by incorporating
15881    that code).</li>
15882
15883    <li>correct minor compile errors in the configuration where
15884    active-icon is not used.</li>
15885
15886    <li>add configure option to suppress echoing of long compiler
15887    commands</li>
15888
15889    <li>correct spelling of decTerminalID in configure script help
15890    message</li>
15891
15892    <li>use gcc __attribute__((unused)) to quiet warnings about
15893    unused parameters when compiling with -W (to make it simpler to
15894    find the real problems).</li>
15895  </ul>
15896
15897  <h1><a name="xterm_49" id="xterm_49">Patch #49 - 1997/8/10 -
15898  XFree86 3.9k</a></h1>
15899
15900  <p>This patch implements the VT100/VT220 Media Copy (i.e.,
15901  print-screen) control sequences.</p>
15902
15903  <h1><a name="xterm_48" id="xterm_48">Patch #48 - 1997/7/26 -
15904  XFree86 3.9j</a></h1>
15905
15906  <p>This patch does the following (all but the first affect only
15907  the standalone configure script):</p>
15908
15909  <ul>
15910    <li>minor correction to positioning of underlines for small
15911    (e.g., 5x8) font size.
15912      <p>The existing behavior allowed underlines to be drawn
15913      outside the character-cell, so they weren't cleared properly
15914      under some circumstances.</p>
15915    </li>
15916
15917    <li>adds more special-case tokens to the standalone configure
15918    script's imake-option filter (e.g., "&amp;&amp;", since a "make
15919    -n main.o" on my IRIX system uses that shell construct).</li>
15920
15921    <li>adds a '--enable-logging' option for the standalone
15922    configure script.</li>
15923
15924    <li>adds check and ifdef's for the standalone configure script
15925    to allow for building on platforms with X11R6, which lacks
15926    Xpoll.h (introduced in X11R6.1).</li>
15927  </ul>
15928
15929  <h1><a name="xterm_47" id="xterm_47">Patch #47 - 1997/7/13 -
15930  XFree86 3.9i</a></h1>
15931
15932  <p>This patch does the following</p>
15933
15934  <ul>
15935    <li>corrects an indexing error in the doublesize character
15936    logic (button.c) that caused core dump (this was reported by J.
15937    Wunsch).</li>
15938
15939    <li>corrects the logic of ShowCursor when it is painting in a
15940    doublesize cell (charproc.c).</li>
15941
15942    <li>corrects, according to vttest, the behavior when switching
15943    to doublesize characters and back again (doublechr.c).</li>
15944
15945    <li>adds cbt (back_tab) to the terminfo description (this was
15946    something that I'd overlooked as applicable to curses
15947    optimization last summer).</li>
15948
15949    <li>corrects, for the standalone xmc test, the logic for
15950    disabling xmc.</li>
15951  </ul>
15952
15953  <h1><a name="xterm_46" id="xterm_46">Patch #46 - 1997/7/4 -
15954  XFree86 3.9h</a></h1>
15955
15956  <p>This is a patch to provide test-support for some work I'm
15957  doing on ncurses. It does not modify the normal configuration of
15958  xterm; the code is compiled if the standalone configure option
15959  "--enable-xmc-glitch" is specified.</p>
15960
15961  <h1><a name="xterm_45" id="xterm_45">Patch #45 - 1997/7/2 -
15962  XFree86 3.9h</a></h1>
15963
15964  <p>This fixes the problem reported with xterm's cursor color
15965  versus the background (the second chunk in this patch) and also
15966  removes some duplicate initialization of the cursor GC's. If the
15967  cursor color at startup is the same as the background, then xterm
15968  will use the reverse GC, ignoring the setting of the colorMode
15969  resource.</p>
15970
15971  <h1><a name="xterm_44" id="xterm_44">Patch #44 - 1997/6/22 -
15972  XFree86 3.9g</a></h1>
15973
15974  <p>This implements the first part of the VT100 doublesize
15975  characters for xterm, as well as fixing a handful of bugs:</p>
15976
15977  <ul>
15978    <li>the doublesize character support uses the normal font
15979    (using scaled fonts will be another patch) with blanks to
15980    simulate doublesize characters. This patch does most of the
15981    global changes that'll be required. I've hidden most of the
15982    details in macros and ifdef's so it's easy to configure out
15983    (part of the patch is a configure option for that
15984    purpose).</li>
15985
15986    <li>corrected limits in DeleteChar() function -- it's always
15987    ignored the size of the left border and scrollbar. I noticed
15988    this when working on the doublesize characters since the glitch
15989    was doubled in size (i.e., it wrapped some garbage around the
15990    right margin).</li>
15991
15992    <li>corrected 'memmove()' logic, for standalone builds (it
15993    referenced a malloc wrapper from my development library).</li>
15994
15995    <li>add a check for HideCursor() to prevent repeated screen
15996    updates (which can cause a spurious cursor glitch to appear,
15997    e.g., during scrolling). I noticed this with the 3.2A version
15998    (but only a few weeks ago, when I started working on this
15999    patch).</li>
16000  </ul>
16001
16002  <h1><a name="xterm_43" id="xterm_43">Patch #43 - 1997/6/10 -
16003  XFree86 3.9d</a></h1>
16004
16005  <p>Here's a fix for two problems:</p>
16006
16007  <ul>
16008    <li>modify handling of tgetent results in xterm and resize
16009    programs to make them tolerant of missing termcap file, or
16010    unknown terminal name. In this scheme, an explicit "-tn" option
16011    will succeed, overriding the fallback list.</li>
16012
16013    <li>a nit in the configure script (log extra information to
16014    help diagnose which case of the test-compile of tgetent was
16015    used).</li>
16016  </ul>
16017
16018  <h1><a name="xterm_42" id="xterm_42">Patch #42 - 1997/6/8 -
16019  XFree86 3.2Xl</a></h1>
16020
16021  <p>Bram Moolenaar reported that the cursor color changed
16022  unexpectedly while scrolling. The cause was that it used the same
16023  GC's as the logic that draws the ANSI colors. The bug only
16024  appears if the cursorColor resource isn't set, and has been
16025  present since the initial implementation early last year. (The
16026  same bug also appears in rxvt ;-). Here's a fix.</p>
16027
16028  <h1><a name="xterm_41" id="xterm_41">Patch #41 - 1997/5/28 -
16029  XFree86 3.2Xl</a></h1>
16030
16031  <p>Some nits found by Darren Hiebert (missing part of
16032  install-rule, incorrect assignment for --enable-color-mode
16033  option).</p>
16034
16035  <h1><a name="xterm_40" id="xterm_40">Patch #40 - 1997/5/26 -
16036  XFree86 3.2Xl</a></h1>
16037
16038  <p>Patch for the configure script's logic for obtaining imake
16039  predefined symbols.</p>
16040
16041  <h1><a name="xterm_39" id="xterm_39">Patch #39 - 1997/5/24 -
16042  XFree86 3.2Xl</a></h1>
16043
16044  <p>This patch does the following:</p>
16045
16046  <ul>
16047    <li>integrate the 16-color change for 'xterm'</li>
16048
16049    <li>minor fixes/clarification of tgetent in terminfo vs termcap
16050    to 'resize'</li>
16051  </ul>
16052
16053  <p>(both changes also modify the configure script)</p>
16054
16055  <h1><a name="xterm_38" id="xterm_38">Patch #38 - 1997/5/22 -
16056  XFree86 3.2Xh</a></h1>
16057
16058  <p>This implements a simple configuration script with autoconf
16059  (to which I'll add more options later). It does the
16060  following:</p>
16061
16062  <ul>
16063    <li>configures xterm to build with X11R5 (at least on SunOS
16064    4.1, Solaris 2.4, possibly IRIX - sorry network was down today,
16065    but I did test an earlier version yesterday).</li>
16066
16067    <li>enables/disables the configuration ifdef's for ANSI color
16068    and VT52 emulation.</li>
16069  </ul>
16070
16071  <p>It does not make tests for the things that imake does (that's
16072  another project), instead it uses a hybrid of the autoconf tests
16073  for libraries and adds imake's compiler options (which are
16074  necessary in some cases to get main.c to compile).</p>
16075
16076  <h1><a name="xterm_37" id="xterm_37">Patch #37 - 1997/5/7 -
16077  XFree86 3.9a</a></h1>
16078
16079  <p>This corrects a minor, but annoying error in the vt220
16080  emulation: the DECUDK is only supposed to be interpreted for
16081  _shifted_ function keys.</p>
16082
16083  <h1><a name="xterm_36" id="xterm_36">Patch #36 - 1997/1/16 -
16084  XFree86 3.2r</a></h1>
16085
16086  <p>This corrects something that I overlooked in patch #27
16087  (21-aug-1996), which is that when trimming the region to be
16088  repainted for the highlightSelection resource of xterm, I still
16089  have to paint the background past the highlighted region. This
16090  only happens when I first do a selection in a window that's
16091  partly off-screen, then move the window on-screen.</p>
16092
16093  <h1><a name="xterm_35" id="xterm_35">Patch #35 - 1997/1/7 -
16094  XFree86 3.2o</a></h1>
16095
16096  <p>This patch does the following:</p>
16097
16098  <ul>
16099    <li>combines the coding for foreground and background colors
16100    into a single byte, reducing the memory required to store
16101    saved-lines in color. (I'll take back that byte in a following
16102    patch to use to ensure the character-set, so there's no
16103    long-term decrease in memory use).</li>
16104
16105    <li>modifies the PF1-PF4 coding in termcap/terminfo. Because
16106    xterm is still by default emulating vt100, the function key
16107    codes are vt100-compatible (I overlooked this in patch #31). I
16108    also reformatted the whole terminfo file into a single-column,
16109    for consistency.</li>
16110
16111    <li>adds an interim xterm-vt220 description to accommodate the
16112    old and new styles of function-keys (though probably it'd be
16113    better to drop the old-style altogether).</li>
16114  </ul>
16115
16116  <h1><a name="xterm_34" id="xterm_34">Patch #34 - 1997/1/5 -
16117  XFree86 3.2o</a></h1>
16118
16119  <p>This patch does the following:</p>
16120
16121  <ul>
16122    <li>implement DECSTR (soft terminal reset). The biggest diff is
16123    due to adding another state table (note that there's only one
16124    useful state here, but it's only 256 bytes rather than 1k as it
16125    would have been before I reduced the size of state
16126    entries).</li>
16127
16128    <li>some minor tidying up (e.g., signed/unsigned use bitcpy,
16129    MODE_DECCKM, resetColor, resetCharsets). More is done in
16130    <a href="#xterm_35">patch #35</a>.</li>
16131  </ul>
16132
16133  <p>I got the description of DECSTR from a vt420 user's manual.
16134  I'll do some testing with vttest to ensure that there's nothing
16135  else to do than what was documented.</p>
16136
16137  <h1><a name="xterm_33" id="xterm_33">Patch #33 - 1996/11/24 -
16138  XFree86 3.2</a></h1>
16139
16140  <p>This adds to the reset-fix by Matthieu Herrb
16141  &lt;Mathieu.Herrb@mipnet.fr&gt; a small change to make xterm able
16142  to output 8-bit characters in VT100 mode. Applications that run
16143  on real VT100's don't do that anyway, and this feature should be
16144  removed sometime after finishing off the VT220 emulation (VT220's
16145  can do 8-bit characters). That would be a good time to change the
16146  default terminal-id to 220.</p>
16147
16148  <h1><a name="xterm_32" id="xterm_32">Patch #32 - 1996/11/21 -
16149  XFree86 3.2</a></h1>
16150
16151  <p>This implements the REP (repeat) control for xterm. That isn't
16152  part of the DEC VTxxx series, but is defined in ISO 6429. (Note
16153  that the base xterm terminal description is <em>not</em> changed
16154  -- I added a variant, "xterm-rep").</p>
16155
16156  <h1><a name="xterm_31" id="xterm_31">Patch #31 - 1996/11/16 -
16157  XFree86 3.2</a></h1>
16158
16159  <p>This implements vt52 emulation in xterm (ifdef'd so it can be
16160  removed). I've been using it for testing for the past month or
16161  so.</p>
16162
16163  <h1><a name="xterm_30" id="xterm_30">Patch #30 - 1996/11/16 -
16164  XFree86 3.2</a></h1>
16165
16166  <p>From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis
16167  Auroux), missing reset to ground state. I checked through the
16168  rest of <em>that</em> table and found another, in the
16169  unimplemented MC (screen print).</p>
16170
16171  <h1><a name="xterm_29" id="xterm_29">Patch #29 - 1996/9/15 -
16172  XFree86 3.1.2Gb</a></h1>
16173
16174  <p>This patch does the following:</p>
16175
16176  <ul>
16177    <li>corrects the restoration of color for bold/underline color
16178    mode</li>
16179
16180    <li>adds a resource 'decTerminalID' to control the reporting
16181    level of xterm (e.g., VT100, VT220).</li>
16182
16183    <li>uses the new resource to implement/correct the DA1, DA2 and
16184    DECRPTUI reports.</li>
16185
16186    <li>change valid-response code in DECRQSS from 0 to 1 (the
16187    manual says 0, but the VT420 terminal I've been testing on says
16188    1).</li>
16189  </ul>
16190
16191  <p>All of these changes are based on vttest 2.6</p>
16192
16193  <p>(Most of the volume in the patch is to add 2 more state tables
16194  for parsing the 2nd/3rd device-attribute controls).</p>
16195
16196  <h1><a name="xterm_28" id="xterm_28">Patch #28 - 1996/8/31 -
16197  XFree86 3.1.2F</a></h1>
16198
16199  <p>This patch corrects the following reported by Roland Rosenfeld
16200  &lt;roland@spinnaker.rhein.de&gt;:</p>
16201
16202  <ul>
16203    <li>handle SGR 22, 24 and 25 in combination with colorUL and
16204    colorBD resources. Also noted &amp; fixed reset of colored
16205    underline/bold with SGR 0.</li>
16206
16207    <li>a typo in the termcap (missing '['), from 3.1.2Dj (my
16208    error)</li>
16209  </ul>
16210
16211  <p>Roland also complained that he couldn't use box characters
16212  with</p>
16213
16214  <pre>
16215        -adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
16216</pre>
16217  <p>but that's a known xterm limitation (the box characters must
16218  be part of the font, in the first 32 locations).</p>
16219
16220  <h1><a name="xterm_27" id="xterm_27">Patch #27 - 1996/8/21 -
16221  XFree86 3.1.2Ek</a></h1>
16222
16223  <p>This patch fixes one of my long-term gripes: xterm's selection
16224  doesn't clearly show what's being selected (as per David's
16225  request, it's controlled by a resource, which defaults to the
16226  older behavior).</p>
16227
16228  <h1><a name="xterm_26" id="xterm_26">Patch #26 - 1996/8/20 -
16229  XFree86 3.1.2Ei</a></h1>
16230
16231  <p>Here's a patch to fix a problem with xterm's cut/paste and
16232  another to modify the appearance of the highlighting while
16233  selecting. (The changes are independent, so you can see if the
16234  change to screen.c is desirable).</p>
16235
16236  <h1><a name="xterm_25" id="xterm_25">Patch #25 - 1996/8/18 -
16237  XFree86 3.1.2Ei</a></h1>
16238
16239  <p>Here's a correction for two minor bugs that I picked up in
16240  testing, plus some lint (from Solaris 2.5) where NULL was used
16241  incorrectly:</p>
16242
16243  <ul>
16244    <li>make the second alternate font the same as the first
16245    (that's what vt420 and dtterm do)</li>
16246
16247    <li>corrected DECSCL report when DECSCL hasn't been set (i.e.,
16248    don't return a '60').</li>
16249  </ul>
16250
16251  <h1><a name="xterm_24" id="xterm_24">Patch #24 - 1996/8/11 -
16252  XFree86 3.1.2Ee</a></h1>
16253
16254  <p>This patch does several things. In effect, xterm can (I think)
16255  do a reasonably good job of emulating vt220 and vt320 terminals
16256  (as well as it was doing vt100, at any rate ;-).</p>
16257
16258  <p>It does NOT do:</p>
16259
16260  <ul>
16261    <li>soft fonts</li>
16262
16263    <li>rigel or sixel graphics</li>
16264  </ul>
16265
16266  <p>Anyway, I:</p>
16267
16268  <ul>
16269    <li>added ECH, CPL, CNL, SU, SD, CBT, CHT controls</li>
16270
16271    <li>added popup-menu for switching between DEC and Sun function
16272    keys. (corrected alignment err wrt logging entry at that
16273    point).</li>
16274
16275    <li>make xterm recognize both 8-bit and 7-bit controls
16276    (including popup menu for switching modes).</li>
16277
16278    <li>add user-definable function keys (aka DECUDK)</li>
16279
16280    <li>support concealed text</li>
16281
16282    <li>support protected text (both ISO compatible and DEC
16283    compatible - that's not the same thing, btw), with SPA, EPA,
16284    DECSCA, DECSED, DECSEL controls.</li>
16285
16286    <li>implement DECSCL.</li>
16287  </ul>
16288
16289  <p>I'll be continuing to test this patch for a while, but don't
16290  expect to add any new functionality (it passes all of the current
16291  tests I've built in vttest, but I need to make more tests)..</p>
16292
16293  <h1><a name="xterm_23" id="xterm_23">Patch #23 - 1996/7/31 -
16294  XFree86 3.1.2Ec</a></h1>
16295
16296  <p>This removes the blinking cursor I added last week (for
16297  performance reasons). Time-permitting, I'll revisit this after
16298  3.2 is released (there <em>will</em> be more work after XFree86
16299  3.2, I assume).</p>
16300
16301  <h1><a name="xterm_22" id="xterm_22">Patch #22 - 1996/7/26 -
16302  XFree86 3.1.2Ec</a></h1>
16303
16304  <p>I looked more closely at my "double-negative" and realized
16305  that I had been confused by the default color scheme (black on
16306  white) in combination with reverse video. However, I did see that
16307  the original_fg and original_bg data weren't really used - so I
16308  removed that logic.</p>
16309
16310  <p>Also:</p>
16311
16312  <ul>
16313    <li>during initialization, check if ANSI colors are set with
16314    non fg/bg values, disable color mode if not. This makes xterm
16315    tolerant of applications that allocate the whole color
16316    map.</li>
16317
16318    <li>implemented blinking cursor (default is <em>off</em>)</li>
16319  </ul>
16320
16321  <h1><a name="xterm_21" id="xterm_21">Patch #21 - 1996/7/24 -
16322  XFree86 3.1.2Ec</a></h1>
16323
16324  <p>This patch does the following:</p>
16325
16326  <ul>
16327    <li>fixes some minor typography in the control-sequences
16328    documentation (it didn't occur to me til I'd sent the last
16329    patch that I could use ghostview for previewing the troff
16330    output ;-)</li>
16331
16332    <li>adjusts the shell's background color in ReverseVideo so
16333    that flicker in resizing is reduced</li>
16334
16335    <li>adds an ifdef OPT_ISO_COLORS to allow configuring xterm
16336    without the ISO color support (saves a lot of memory)</li>
16337
16338    <li>used that ifdef to isolate/modify logic so that if the user
16339    doesn't have the colorMode enabled, then ISO color support is
16340    disabled (saving memory).
16341      <p>(If anyone needs numbers, I had savedLines set to 2000,
16342      and found a reduction from ~700k to ~400k of allocated
16343      memory, according to Purify).</p>
16344    </li>
16345  </ul>
16346
16347  <h1><a name="xterm_20" id="xterm_20">Patch #20 - 1996/7/24 -
16348  XFree86 3.1.2Ec</a></h1>
16349
16350  <p>This documents the changes in control sequences for window
16351  operations that I added in my previous patch. I'm testing another
16352  patch that allows the user to use less memory if colors aren't
16353  needed.</p>
16354
16355  <h1><a name="xterm_19" id="xterm_19">Patch #19 - 1996/7/21 -
16356  XFree86 3.1.2Ec</a></h1>
16357
16358  <p>This patch does the following:</p>
16359
16360  <ul>
16361    <li>fixes the core dump that I reported on IRIX 5.2 (in main.c)
16362      <p>(it's worth noting that this bug exists in X11R6.1, so I'd
16363      like to assume that someone's already submitted a fix to X
16364      Consortium...)</p>
16365    </li>
16366
16367    <li>change the interpretation of zero rows or columns in a
16368    resize-window request to use the root window's size (looking
16369    more carefully at dtterm, that seems to be what it does).</li>
16370
16371    <li>change some memmove calls to memcpy for slightly better
16372    performance. also, a couple of memset calls to bzero, since
16373    Quantify says bzero runs 20% faster, I assume because there's
16374    one less argument.</li>
16375
16376    <li>interpret character sets 1 and 2 (so that vttest gives a
16377    reasonable result) Both rxvt and dtterm do something
16378    equivalent.</li>
16379
16380    <li>fix a minor memory leak in the logic that retrieves the
16381    window or icon names (Purify found this for me while I ran
16382    vttest).</li>
16383  </ul>
16384
16385  <h1><a name="xterm_18" id="xterm_18">Patch #18 - 1996/7/18 -
16386  XFree86 3.1.2Ec</a></h1>
16387
16388  <p>This implements the following:</p>
16389
16390  <ul>
16391    <li>escape sequences that act like the CDE dtterm's window
16392    operations (though I have implemented the default width and
16393    height -- I've seen a rather buggy dtterm running that seems to
16394    treat width=0 or height=0 literally -- maybe that's a feature,
16395    not a bug?)</li>
16396
16397    <li>minor tweak to the screen-repainting when resizing (I still
16398    cannot entirely get rid of flicker).</li>
16399
16400    <li>still more fixes to terminfo &amp; termcap (I corrected my
16401    error for the hpa code and added some other stuff by comparing
16402    to ncurses' description and rxvt's).</li>
16403
16404    <li>a tweak to the changes by Michael Rohleder for the color
16405    translation</li>
16406
16407    <li>re-order attribute codes to allow later implementation of
16408    protected fields (dtterm supposedly does this; it's probably
16409    more useful than blinking or invisible text -- that uses up all
16410    of the available bits without changing the attribute scheme
16411    radically).</li>
16412  </ul>
16413
16414  <h1><a name="xterm_17" id="xterm_17">Patch #17 - 1996/7/2 -
16415  XFree86 3.1.2Eb</a></h1>
16416
16417  <p>This patch implements for xterm several minor features from
16418  ISO 6429 which are useful for terminfo applications. The HPA and
16419  VPA control sequences allow cursor movement along a row or
16420  column, cutting down a little on the characters transmitted. The
16421  other codes allow resetting specific graphic rendition attributes
16422  without modifying the other attributes. (now if someone just had
16423  time to implement blinking cursors...)</p>
16424
16425  <h1><a name="xterm_16" id="xterm_16">Patch #16 - 1996/6/25 -
16426  XFree86 3.1.2Ea</a></h1>
16427
16428  <p>Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks
16429  ago that I'd missed some of the background coloring in xterm. I
16430  investigated, and found that while I'd picked up on the
16431  clear-to-bottom and clear-to-end-of-line operations, I'd
16432  overlooked the insert/delete lines. Just so I wouldn't overlook
16433  any more of these, I updated a copy of vttest to test ISO colors
16434  and bce (background color erase). This patch introduces a new
16435  function, ClearCurBackground, whose calls replace the direct
16436  XClearArea calls that I'd overlooked. (There's also a few
16437  compiler warnings fixed, etc ;-)</p>
16438
16439  <h1><a name="xterm_15" id="xterm_15">Patch #15 - 1996/5/29 -
16440  XFree86 3.1.2E</a></h1>
16441
16442  <p>This fixes the problem reported by David Dawes, by making the
16443  50msec select timeout for the Xaw3d arrow scrollbar a resource.
16444  (I made it a boolean for a variety of reasons -- to make it a
16445  number, you'd need an additional resource, to avoid breaking the
16446  logic).</p>
16447
16448  <h1><a name="xterm_14" id="xterm_14">Patch #14 - 1996/5/12 -
16449  XFree86 3.1.2Dj</a></h1>
16450
16451  <p>This patch brings the termcap and terminfo descriptions for
16452  xterm up to date. I made the following changes:</p>
16453
16454  <ul>
16455    <li>reformatted the terminfo description in a single-column
16456    (this is ok for terminfo, and will simplify future patches --
16457    can't do that for termcap, since it would impact buffer
16458    requirements on some systems).</li>
16459
16460    <li>omitted obsolete features in termcap to save a little space
16461    (bs, pt)</li>
16462
16463    <li>added color capabilities to termcap (ut, Co, NC, op, AB,
16464    AF)</li>
16465
16466    <li>corrected some capabilities (vi, ve)</li>
16467
16468    <li>added 'st' (set tab)</li>
16469
16470    <li>reduced function keys in termcap for 'xterm' to 12 because
16471    color capabilities makes that description larger than 1023
16472    characters.</li>
16473
16474    <li>created new termcap name 'xtermm' (monochrome) to match the
16475    terminfo list, and make that description have 20 function
16476    keys.</li>
16477
16478    <li>added corresponding color capabilities to terminfo (bce,
16479    colors, pairs, op, ncv, setab, setaf)</li>
16480
16481    <li>corrected corresponding capabilities in terminfo (civis,
16482    cnorm, rmcup, smcup)</li>
16483
16484    <li>added capabilities (el1, hts)</li>
16485
16486    <li>in both, corrected home/end keys to match the code
16487    correction made by Thomas Mueller in 3.1.2Bk
16488      <p>=&gt; (I'm still considering modifying the code &amp;
16489      description to match the rxvt program).</p>
16490    </li>
16491  </ul>
16492
16493  <h1><a name="xterm_13" id="xterm_13">Patch #13 - 1996/4/23 -
16494  XFree86 3.1.2Df</a></h1>
16495
16496  <p>This corrects my earlier changes for colors - the inner border
16497  of the xterm was getting painted with the wrong color, since I'd
16498  moved the call to set the background into the logic that tracks
16499  SGR information.</p>
16500
16501  <h1><a name="xterm_12" id="xterm_12">Patch #12 - 1996/3/16 -
16502  XFree86 3.1.2Dc</a></h1>
16503
16504  <p>This corrects a memory leak in xterm that happens whenever one
16505  switches fonts.</p>
16506
16507  <h1><a name="xterm_11" id="xterm_11">Patch #11 - 1996/3/5 -
16508  XFree86 3.1.2Db</a></h1>
16509
16510  <p>This patch corrects the behavior of the ANSI colors in xterm
16511  when reverse video is used, as well as some other lesser
16512  sins:</p>
16513
16514  <ul>
16515    <li>button.c
16516      <ul>
16517        <li>(compiler warnings: shadowing of 'time', redundant
16518        cast)</li>
16519      </ul>
16520    </li>
16521
16522    <li>charproc.c
16523      <ul>
16524        <li>renamed screen.colors[] array to screen.Acolors[] to
16525        more easily distinguish the non-ANSI colors from the ANSI
16526        colors.</li>
16527
16528        <li>moved logic of SGR_Save() into VTInitialize, getting
16529        rid of local private variables original_fg and
16530        original_bg.</li>
16531
16532        <li>moved some logic into getXtermForeground and
16533        getXtermBackground from SGR_Foreground, SGR_Background,
16534        etc.</li>
16535
16536        <li>corrected misleading 'row' to 'col' in case for CUF,
16537        CUB sequences.</li>
16538      </ul>
16539    </li>
16540
16541    <li>ctlseqs.ms</li>
16542
16543    <li>xterm.man
16544      <ul>
16545        <li>(correct a misconception which I'd added that the
16546        color0 through color6 resource values apply to non-ANSI
16547        colors)</li>
16548      </ul>
16549    </li>
16550
16551    <li>ptyx.h
16552      <ul>
16553        <li>added original_fg, original_bg to TScreen
16554        structure.</li>
16555      </ul>
16556    </li>
16557
16558    <li>scrollbar.c
16559      <ul>
16560        <li>(compiler warnings: redundant cast)</li>
16561      </ul>
16562    </li>
16563
16564    <li>util.c
16565      <ul>
16566        <li>new functions getXtermForeground and getXtermBackground
16567        replace the macros GET_FG and GET_BG, with the added
16568        functionality of checking for the reverse-video status of
16569        xterm.</li>
16570
16571        <li>in ReverseVideo, swap the SGR foreground and background
16572        colors also.</li>
16573      </ul>
16574    </li>
16575  </ul>
16576
16577  <h1><a name="xterm_10" id="xterm_10">Patch #10 - 1996/2/14 -
16578  XFree86 3.1.2Cd</a></h1>
16579
16580  <p>I observed an occasional glitch in the xterm's color behavior;
16581  a clear to end of line would get a color that had been used in a
16582  program that supposedly reset colors. I traced this down to the
16583  way xterm was modifying colors of GC's on the fly; it didn't
16584  restore the original color of the GC, even though it would later
16585  be used in functions (such as ClearRight) that assumed (my error)
16586  that the GC would have the current foreground or background
16587  color.</p>
16588
16589  <p>I fixed this by resetting the GC's colors with a new function
16590  'resetXtermGC()', and direct calls on
16591  SGR_Foreground/SGR_Background, as appropriate and using a new
16592  function 'updatedXtermGC()' to encapsulate the logic that
16593  modifies the GC's color. (I also removed some commented-out code
16594  that was trying to do this -- the problem was a little more
16595  obscure).</p>
16596
16597  <h1><a name="xterm_09" id="xterm_09">Patch #9 - 1996/2/10 -
16598  XFree86 3.1.2Cb</a></h1>
16599
16600  <p>This patch fixes the remaining problems that I had making
16601  xterm run with x11r5, as well as a couple of other bugs. It
16602  follows my patch from yesterday, that added ifdef's for some of
16603  the input-method resources.</p>
16604
16605  <ul>
16606    <li>corrected ifdef's that suppress the input-method code
16607    (doesn't exist in my x11r5, and xterm works adequately without
16608    it).</li>
16609
16610    <li>corrected fallback definition for 'Select()' macro (oops:
16611    I'd copied the wrong text...)</li>
16612
16613    <li>moved the declarations for the fd_set variables to
16614    data.[ch]</li>
16615
16616    <li>corrected an ifdef in resize.c (sunos 4.x doesn't have
16617    termcap.h)</li>
16618
16619    <li>corrected (in main.c) some unused/orphaned variables.</li>
16620  </ul>
16621
16622  <h1><a name="xterm_08" id="xterm_08">Patch #8 - 1996/2/9 -
16623  XFree86 3.1.2Cb</a></h1>
16624
16625  <p>This is mostly a documentation patch for xterm. It describes
16626  the color control sequences in more detail, and documents some
16627  other features of xterm that aren't described elsewhere.</p>
16628
16629  <p>I've also added a couple of ifdef's to fix (part of) the
16630  problem that I'm working on (making the program work properly on
16631  x11r5, where I'm doing memory testing -- I have a "good" version
16632  from mid-January, but my resync version doesn't work properly on
16633  x11r5). I'm not done with <em>that</em> yet.</p>
16634
16635  <h1><a name="xterm_07" id="xterm_07">Patch #7 - 1996/1/28 -
16636  XFree86 3.1.2n</a></h1>
16637
16638  <p>I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF). I've
16639  got an S3 card.</p>
16640
16641  <p>This fixes the following in the 3.1.2n xterm:</p>
16642
16643  <ul>
16644    <li>initialize cur_foreground, cur_background in charproc.c
16645    (Purify told me they weren't initialized).</li>
16646
16647    <li>add interpretation of codes 39, 49, to reset background and
16648    foreground to default value (I'm told that ISO 6429 does this;
16649    but I don't have a written reference -- yet -- can anyone help
16650    here?). Anyway, rxvt does it, and it'll solve my remaining
16651    color management problems.</li>
16652
16653    <li>shadowing of 'time' in menu.c</li>
16654
16655    <li>'Cardinal' vs 'int' in scrollbar.c</li>
16656
16657    <li>several changes to permit compile with X11R5 (the system
16658    that I've got Purify on won't be upgraded to X11R6 for a long
16659    time).</li>
16660  </ul>
16661
16662  <p>I built this version (with a minor nit that I'll patch soon)
16663  on SunOS 4.1.3 so that I can test it some more with Purify.</p>
16664
16665  <p><em>btw</em>: the changes made in Xpoll.h won't work on some
16666  older systems, because fd_set isn't a defined type (I've got one
16667  machine at least that this applies to).</p>
16668
16669  <h1><a name="xterm_06" id="xterm_06">Patch #6 - 1996/1/8</a></h1>
16670
16671  <p>This patch does all of the SGR foreground/background fixes
16672  (i.e., clearing the screen after an SGR color is set causes that
16673  color to be used in the foreground and/or background). If the
16674  FG_COLOR and/or BG_COLOR flags aren't set, then the xterm
16675  foreground and background default to the window's values. This
16676  usage is consistent with various types of hardware (especially
16677  the IBM PC), and is also used in rxvt.</p>
16678
16679  <ul>
16680    <li>charproc.c:
16681      <ul>
16682        <li>add/use new macros GET_FG, GET_BG - n/c.</li>
16683
16684        <li>add/use new functions SGR_Foreground() and
16685        SGR_Background() to set corresponding colors in GC's, and
16686        to retain sense of "original" colors.
16687          <p>=&gt; This makes redundant some of the corresponding
16688          logic in HideCursor to set the foreground and background,
16689          but I left it in since it <em>may</em> be fixing an
16690          unrelated requirement.</p>
16691        </li>
16692
16693        <li>set GC's in LoadNewFont() according to whether the SGR
16694        fg/bg colors are active.
16695          <p>=&gt; This fixes some glitches in the accompanying
16696          resize, that leaves parts of the window in the original
16697          background color.</p>
16698        </li>
16699      </ul>
16700    </li>
16701
16702    <li>screen.c:
16703      <ul>
16704        <li>modified ClearBufRows() to use the SGR fg/bg colors if
16705        they're set.</li>
16706
16707        <li>added function ScrnClearLines(), used this to replace
16708        portions of ScrnInsertLine() and ScrnDeleteLine(). The new
16709        function uses the SGR fg/bg colors if they're set.
16710          <p>=&gt; Otherwise, selection after an index or reverse
16711          index will paint the wrong colors.</p>
16712        </li>
16713
16714        <li>modified ScrnDeleteChar() and ScrnInsertChar() to use
16715        SGR fg/bg colors.</li>
16716      </ul>
16717    </li>
16718
16719    <li>util.c:
16720      <ul>
16721        <li>modified ClearRight() so that if either of the SGR
16722        fg/bg colors is set, we don't bzero the attributes and
16723        color arrays, but instead fill them with the appropriate
16724        codes.</li>
16725
16726        <li>modified ClearLeft to use SGR fg/bg colors.</li>
16727      </ul>
16728    </li>
16729  </ul>
16730
16731  <h1><a name="xterm_05" id="xterm_05">Patch #5 - 1996/1/7</a></h1>
16732
16733  <p>This patch modifies the object code, by replacing indexing
16734  expressions with temporary variables with the full indexing
16735  expression. At first glance, this seems inefficient (it did to me
16736  ;-), until remembering comments made in the compilers newsgroups
16737  that trying to "help" the compiler doesn't really work that well.
16738  A good optimizing compiler can do a better job than the
16739  programmer can. (There's a moral in the use of 'register'
16740  variables also, but I won't fix those...).</p>
16741
16742  <p>Anyway, the revised code generates a smaller object...</p>
16743
16744  <ul>
16745    <li>charproc.c:
16746      <ul>
16747        <li>recode index expressions in ShowCursor() and
16748        HideCursor() using SCRN_BUF_xxxxS macros - changes
16749        object.</li>
16750
16751        <li>replace constant '4' by MAX_PTRS - n/c.</li>
16752      </ul>
16753    </li>
16754
16755    <li>ptyx.h:
16756      <ul>
16757        <li>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
16758        macros, to pick up references to ScrnBuf data directly, and
16759        added MAX_PTRS symbol to pick up those '4' constants strewn
16760        about the code - n/c.</li>
16761      </ul>
16762    </li>
16763
16764    <li>screen.c:
16765      <ul>
16766        <li>recode index expressions in ScreenWrite() using
16767        SCRN_BUF_xxxxS macros - changes object.</li>
16768
16769        <li>replace constant '4' by MAX_PTRS - n/c.</li>
16770
16771        <li>use macros BUF_CHARS, BUF_ATTRS - n/c.</li>
16772
16773        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
16774        - n/c</li>
16775      </ul>
16776    </li>
16777
16778    <li>scrollbar.c:
16779      <ul>
16780        <li>replace constant '4' by MAX_PTRS - n/c.</li>
16781
16782        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
16783        - n/c</li>
16784      </ul>
16785    </li>
16786  </ul>
16787
16788  <h1><a name="xterm_04" id="xterm_04">Patch #4 - 1996/1/7</a></h1>
16789
16790  <p>When setting up for this phase, I saw that you'd corrected the
16791  bug that I found in ClearLeft. I decided to make this series of
16792  patches anyway, since readability never hurt (and there's the
16793  potential for finding another bug while reviewing this set).</p>
16794
16795  <ul>
16796    <li>button.c:
16797      <ul>
16798        <li>use SCRN_BUF_xxxxS macros - n/c</li>
16799      </ul>
16800    </li>
16801
16802    <li>charproc.c:
16803      <ul>
16804        <li>use SCRN_BUF_xxxxS macros - n/c</li>
16805      </ul>
16806    </li>
16807
16808    <li>ptyx.h:
16809      <ul>
16810        <li>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
16811        SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four arrays
16812        that are derived from screen-&gt;buf.</li>
16813      </ul>
16814    </li>
16815
16816    <li>screen.c:
16817      <ul>
16818        <li>use SCRN_BUF_xxxxS macros - n/c</li>
16819      </ul>
16820    </li>
16821
16822    <li>util.c:
16823      <ul>
16824        <li>use SCRN_BUF_xxxxS macros - n/c</li>
16825      </ul>
16826    </li>
16827  </ul>
16828
16829  <h1><a name="xterm_03" id="xterm_03">Patch #3 - 1996/1/7</a></h1>
16830
16831  <p>This is my third (and final cleanup) patch for xterm. It gets
16832  rid of the unused stuff, and converts several functions to static
16833  (thereby reducing their scope).</p>
16834
16835  <p>At this point, the only compile warnings I've got (on Linux)
16836  are those about the select arguments (int vs fd_set type), and a
16837  missing declaration for waitpid. Those both are hard to get right
16838  without autoconfigure.</p>
16839
16840  <p>The next patches will address the functional changes...</p>
16841
16842  <ul>
16843    <li>Tekproc.c:
16844      <ul>
16845        <li>changed several functions to 'static' that aren't used
16846        outside this module -- changes object</li>
16847      </ul>
16848    </li>
16849
16850    <li>charproc.c:
16851      <ul>
16852        <li>changed several functions to 'static' that aren't used
16853        outside this module -- changes object</li>
16854
16855        <li>deleted unused function unparsefputs -- changes
16856        object.</li>
16857      </ul>
16858    </li>
16859
16860    <li>main.c:
16861      <ul>
16862        <li>changed several functions to 'static' that aren't used
16863        outside this module -- changes object</li>
16864
16865        <li>ifdef'd out unused function 'consolepr()' -- changes
16866        object</li>
16867
16868        <li>removed unused variable 'dummy_tio' -- changes
16869        object</li>
16870
16871        <li>moved variable 'discipline' to quiet unused-warning --
16872        changes object</li>
16873      </ul>
16874    </li>
16875
16876    <li>main.h:
16877      <ul>
16878        <li>deleted unused definition of DEFBORDERWIDTH - n/c</li>
16879      </ul>
16880    </li>
16881
16882    <li>misc.c:
16883      <ul>
16884        <li>changed several functions to 'static' that aren't used
16885        outside this module -- changes object</li>
16886
16887        <li>provide dummy return statements for xerror and xioerror
16888        to quiet compiler warnings -- changes object</li>
16889      </ul>
16890    </li>
16891
16892    <li>ptyx.h:
16893      <ul>
16894        <li>change sbuf_address and abuf_address to 'Char *' -
16895        n/c</li>
16896      </ul>
16897    </li>
16898
16899    <li>resize.c:
16900      <ul>
16901        <li>changed several functions to 'static' that aren't used
16902        outside this module -- changes object</li>
16903      </ul>
16904    </li>
16905
16906    <li>screen.c:
16907      <ul>
16908        <li>remove unnecessary 'Char **' casts - n/c</li>
16909      </ul>
16910    </li>
16911
16912    <li>util.c:
16913      <ul>
16914        <li>changed several functions to 'static' that aren't used
16915        outside this module -- changes object</li>
16916      </ul>
16917    </li>
16918  </ul>
16919
16920  <h1><a name="xterm_02" id="xterm_02">Patch #2 - 1996/1/7</a></h1>
16921
16922  <p>This is my second patch to xterm. It corrects most of the gcc
16923  warnings (except for some that are due to X header files ;-). I
16924  compared objects to keep track of the changes that don't affect
16925  the object code (n/c) versus those that do.</p>
16926
16927  <p>At this point, I'm compiling (fairly) clean with gcc
16928  options</p>
16929
16930  <pre>
16931        -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
16932</pre>
16933  <p>(I also compiled with -Wshadow, but while that found some
16934  things that I wanted to find, there's far too many warnings from
16935  the X headers to be usable in this context).</p>
16936
16937  <p>The changes:</p>
16938
16939  <ul>
16940    <li>Tekproc.c:
16941      <ul>
16942        <li>parenthesized expression to avoid gcc warning --
16943        n/c.</li>
16944
16945        <li>corrected nested-extern declaration for Bool
16946        waiting_for_initial_map; ourTopLevelShellArgs, and
16947        number_ourTopLevelShellArgs - n/c</li>
16948      </ul>
16949    </li>
16950
16951    <li>charproc.c:
16952      <ul>
16953        <li>corrected potentially-unintialized variables 'scstype',
16954        'xim', and 'input_style' -- changes object.</li>
16955
16956        <li>adjusted logic of VTparse so that gcc won't warn about
16957        setjmp clobbering parsestate -- changes object.</li>
16958
16959        <li>corrected initialization of 'scstype', which could have
16960        been clobbered by setjmp/longjmp - changes object.</li>
16961
16962        <li>corrected nested-extern declaration of 'term',
16963        'ProgramName' - n/c</li>
16964      </ul>
16965    </li>
16966
16967    <li>cursor.c:
16968      <ul>
16969        <li>corrected nested-extern declaration of 'term' --
16970        n/c</li>
16971
16972        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
16973        - n/c</li>
16974      </ul>
16975    </li>
16976
16977    <li>input.c:
16978      <ul>
16979        <li>change interface of StringInput to assume size_t (i.e.,
16980        unsigned) nbytes -- changes object.</li>
16981
16982        <li>change interface of funcvalue, and sunfuncvalue to use
16983        'KeySym' type instead of 'int' - changes object.</li>
16984      </ul>
16985    </li>
16986
16987    <li>main.c:
16988      <ul>
16989        <li>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h
16990        - n/c</li>
16991
16992        <li>corrected missing params of 'do_hangup()' -- changes
16993        object (note: the missing params were not used).</li>
16994
16995        <li>corrected missing param of 'Error()' -- changes
16996        object</li>
16997
16998        <li>corrected nested-extern 'environ' - n/c</li>
16999
17000        <li>adjusted assignments to 'tty_got_hung' and 'no_dev_tty'
17001        so that gcc can see they won't be clobbered by the longjmp
17002        - changes object.</li>
17003
17004        <li>use Size_t type - n/c.</li>
17005      </ul>
17006    </li>
17007
17008    <li>menu.c:
17009      <ul>
17010        <li>removed redundant prototype for 'do_hangup()' --
17011        n/c.</li>
17012
17013        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
17014        - n/c</li>
17015      </ul>
17016    </li>
17017
17018    <li>menu.h:
17019      <ul>
17020        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
17021        - n/c</li>
17022      </ul>
17023    </li>
17024
17025    <li>misc.c:
17026      <ul>
17027        <li>corrected definition of 'HandleFocusChange()' --
17028        changes object</li>
17029
17030        <li>cast parameters in call to 'TekExpose()' -- n/c</li>
17031
17032        <li>corrected nested-extern declarations of 'term',
17033        'toplevel', ProgramName, and 'environ' -- n/c.</li>
17034
17035        <li>use Size_t type - n/c.</li>
17036      </ul>
17037    </li>
17038
17039    <li>proto.h:
17040      <ul>
17041        <li>moved definition of SIGNAL_T (and SIGNAL_RETURN) here
17042        from main.c, resize.c to allow use of this symbol in
17043        prototypes (mostly in xterm.h).</li>
17044
17045        <li>added definition 'Size_t' to use as corrected type for
17046        strncpy, malloc sizes - n/c.</li>
17047      </ul>
17048    </li>
17049
17050    <li>resize.c:
17051      <ul>
17052        <li>moved SIGNAL_T definition to proto.h -- n/c.</li>
17053
17054        <li>use Size_t type - n/c.</li>
17055      </ul>
17056    </li>
17057
17058    <li>screen.c:
17059      <ul>
17060        <li>use Size_t type - n/c.</li>
17061      </ul>
17062    </li>
17063
17064    <li>tabs.c:
17065      <ul>
17066        <li>corrected nested-extern declaration of 'term' --
17067        n/c</li>
17068      </ul>
17069    </li>
17070
17071    <li>util.c:
17072      <ul>
17073        <li>corrected/supplied parameters to 'TekExpose()' --
17074        changes object (note: 'TekExpose()' doesn't use its
17075        parameters).</li>
17076
17077        <li>corrected nested-extern declaration of
17078        'waiting_for_initial_map' -- n/c.</li>
17079
17080        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
17081        - n/c</li>
17082      </ul>
17083    </li>
17084
17085    <li>xterm.h:
17086      <ul>
17087        <li>prototype 'do_hangup()', 'HandleFocusChange()',
17088        'TekExpose()', 'Error()', 'Exit()' - forces changes in
17089        various places.</li>
17090
17091        <li>adjusted prototypes that pass 'Boolean' arguments to
17092        use 'int' (this is the "correct" ANSI approach to extended
17093        compiles; it's worth mentioning that gcc doesn't meet the
17094        ANSI spec here). I used gcc -Wconversion to find these, but
17095        there's a lot of unrelated warnings that are due to setting
17096        NARROWPROTO in the config - n/c.</li>
17097
17098        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
17099        - n/c</li>
17100      </ul>
17101    </li>
17102  </ul>
17103
17104  <h1><a name="xterm_01" id="xterm_01">Patch #1 - 1996/1/6</a></h1>
17105
17106  <p>This is my first cleanup patch for xterm. It addresses all of
17107  the gcc warnings for -Wall, -Wmissing-prototypes and
17108  -Wstrict-prototypes that I can change without modifying the
17109  object code. (I'm compiling this with gcc 2.7.0 for an aout
17110  target, which makes it simple to compare objects. When I do
17111  ELF-only, I've got a tool that compares that sort of thing as
17112  well).</p>
17113
17114  <p>Briefly, this patch adds (and uses) two header files in the
17115  xterm directory:</p>
17116
17117  <pre>
17118        proto.h
17119        xterm.h
17120</pre>
17121  <p>I expect this to be the biggest patch by far. However (barring
17122  a misplaced prototype), it shouldn't break anything, since the
17123  intent of the patch is to provide missing declarations.</p>
17124</body>
17125</html>
17126