xterm.log.html revision 5104ee6e
1<!--
2 *****************************************************************************
3 * this file is part of xterm                                                *
4 *                                                                           *
5 * Copyright 1997-2024,2025 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.2672 2025/01/06 00:11:11 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-2024,2025 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_397">Patch #397 - 2025/01/05</a></li>
74
75    <li><a href="#xterm_396">Patch #396 - 2024/12/02</a></li>
76
77    <li><a href="#xterm_395">Patch #395 - 2024/10/24</a></li>
78
79    <li><a href="#xterm_394">Patch #394 - 2024/09/02</a></li>
80
81    <li><a href="#xterm_393">Patch #393 - 2024/07/11</a></li>
82
83    <li><a href="#xterm_392">Patch #392 - 2024/05/22</a></li>
84
85    <li><a href="#xterm_391">Patch #391 - 2024/05/12</a></li>
86
87    <li><a href="#xterm_390">Patch #390 - 2024/02/19</a></li>
88
89    <li><a href="#xterm_389">Patch #389 - 2024/01/01</a></li>
90
91    <li><a href="#xterm_388">Patch #388 - 2023/10/22</a></li>
92
93    <li><a href="#xterm_387">Patch #387 - 2023/10/15</a></li>
94
95    <li><a href="#xterm_386">Patch #386 - 2023/10/09</a></li>
96
97    <li><a href="#xterm_385">Patch #385 - 2023/10/01</a></li>
98
99    <li><a href="#xterm_384">Patch #384 - 2023/07/10</a></li>
100
101    <li><a href="#xterm_383">Patch #383 - 2023/06/27</a></li>
102
103    <li><a href="#xterm_382">Patch #382 - 2023/05/30</a></li>
104
105    <li><a href="#xterm_381">Patch #381 - 2023/05/28</a></li>
106
107    <li><a href="#xterm_380">Patch #380 - 2023/05/09</a></li>
108
109    <li><a href="#xterm_379">Patch #379 - 2023/02/15</a></li>
110
111    <li><a href="#xterm_378">Patch #378 - 2023/01/09</a></li>
112
113    <li><a href="#xterm_377">Patch #377 - 2022/11/25</a></li>
114
115    <li><a href="#xterm_376">Patch #376 - 2022/11/16</a></li>
116
117    <li><a href="#xterm_375">Patch #375 - 2022/10/23</a></li>
118
119    <li><a href="#xterm_374">Patch #374 - 2022/10/10</a></li>
120
121    <li><a href="#xterm_373">Patch #373 - 2022/09/25</a></li>
122
123    <li><a href="#xterm_372">Patch #372 - 2022/03/09</a></li>
124
125    <li><a href="#xterm_371">Patch #371 - 2022/02/24</a></li>
126
127    <li><a href="#xterm_370">Patch #370 - 2021/11/13</a></li>
128
129    <li><a href="#xterm_369">Patch #369 - 2021/09/21</a></li>
130
131    <li><a href="#xterm_368">Patch #368 - 2021/06/07</a></li>
132
133    <li><a href="#xterm_367">Patch #367 - 2021/03/26</a></li>
134
135    <li><a href="#xterm_366">Patch #366 - 2021/02/10</a></li>
136
137    <li><a href="#xterm_365">Patch #365 - 2021/02/03</a></li>
138
139    <li><a href="#xterm_364">Patch #364 - 2021/02/02</a></li>
140
141    <li><a href="#xterm_363">Patch #363 - 2020/12/26</a></li>
142
143    <li><a href="#xterm_362">Patch #362 - 2020/11/11</a></li>
144
145    <li><a href="#xterm_361">Patch #361 - 2020/10/14</a></li>
146
147    <li><a href="#xterm_360">Patch #360 - 2020/09/20</a></li>
148
149    <li><a href="#xterm_359">Patch #359 - 2020/08/17</a></li>
150
151    <li><a href="#xterm_358">Patch #358 - 2020/07/12</a></li>
152
153    <li><a href="#xterm_357">Patch #357 - 2020/07/05</a></li>
154
155    <li><a href="#xterm_356">Patch #356 - 2020/05/02</a></li>
156
157    <li><a href="#xterm_355">Patch #355 - 2020/05/01</a></li>
158
159    <li><a href="#xterm_354">Patch #354 - 2020/04/26</a></li>
160
161    <li><a href="#xterm_353">Patch #353 - 2020/02/01</a></li>
162
163    <li><a href="#xterm_352">Patch #352 - 2020/01/16</a></li>
164
165    <li><a href="#xterm_351">Patch #351 - 2019/11/17</a></li>
166
167    <li><a href="#xterm_350">Patch #350 - 2019/11/02</a></li>
168
169    <li><a href="#xterm_349">Patch #349 - 2019/09/22</a></li>
170
171    <li><a href="#xterm_348">Patch #348 - 2019/07/22</a></li>
172
173    <li><a href="#xterm_347">Patch #347 - 2019/06/30</a></li>
174
175    <li><a href="#xterm_346">Patch #346 - 2019/05/27</a></li>
176
177    <li><a href="#xterm_345">Patch #345 - 2019/05/14</a></li>
178
179    <li><a href="#xterm_344">Patch #344 - 2019/02/12</a></li>
180
181    <li><a href="#xterm_343">Patch #343 - 2019/01/13</a></li>
182
183    <li><a href="#xterm_342">Patch #342 - 2019/01/03</a></li>
184
185    <li><a href="#xterm_341">Patch #341 - 2018/12/24</a></li>
186
187    <li><a href="#xterm_340">Patch #340 - 2018/12/16</a></li>
188
189    <li><a href="#xterm_339">Patch #339 - 2018/12/12</a></li>
190
191    <li><a href="#xterm_338">Patch #338 - 2018/12/09</a></li>
192
193    <li><a href="#xterm_337">Patch #337 - 2018/09/21</a></li>
194
195    <li><a href="#xterm_336">Patch #336 - 2018/09/19</a></li>
196
197    <li><a href="#xterm_335">Patch #335 - 2018/08/14</a></li>
198
199    <li><a href="#xterm_334">Patch #334 - 2018/08/12</a></li>
200
201    <li><a href="#xterm_333">Patch #333 - 2018/05/03</a></li>
202
203    <li><a href="#xterm_332">Patch #332 - 2018/04/15</a></li>
204
205    <li><a href="#xterm_331">Patch #331 - 2017/12/30</a></li>
206
207    <li><a href="#xterm_330">Patch #330 - 2017/06/20</a></li>
208
209    <li><a href="#xterm_329">Patch #329 - 2017/06/12</a></li>
210
211    <li><a href="#xterm_328">Patch #328 - 2017/06/01</a></li>
212
213    <li><a href="#xterm_327">Patch #327 - 2016/10/07</a></li>
214
215    <li><a href="#xterm_326">Patch #326 - 2016/09/25</a></li>
216
217    <li><a href="#xterm_325">Patch #325 - 2016/06/05</a></li>
218
219    <li><a href="#xterm_324">Patch #324 - 2016/03/10</a></li>
220
221    <li><a href="#xterm_323">Patch #323 - 2016/03/07</a></li>
222
223    <li><a href="#xterm_322">Patch #322 - 2016/01/02</a></li>
224
225    <li><a href="#xterm_321">Patch #321 - 2015/12/31</a></li>
226
227    <li><a href="#xterm_320">Patch #320 - 2015/08/28</a></li>
228
229    <li><a href="#xterm_319">Patch #319 - 2015/08/19</a></li>
230
231    <li><a href="#xterm_318">Patch #318 - 2015/04/12</a></li>
232
233    <li><a href="#xterm_317">Patch #317 - 2015/03/27</a></li>
234
235    <li><a href="#xterm_316">Patch #316 - 2015/03/07</a></li>
236
237    <li><a href="#xterm_315">Patch #315 - 2015/03/02</a></li>
238
239    <li><a href="#xterm_314">Patch #314 - 2014/12/28</a></li>
240
241    <li><a href="#xterm_313">Patch #313 - 2014/11/28</a></li>
242
243    <li><a href="#xterm_312">Patch #312 - 2014/09/28</a></li>
244
245    <li><a href="#xterm_311">Patch #311 - 2014/09/18</a></li>
246
247    <li><a href="#xterm_310">Patch #310 - 2014/07/25</a></li>
248
249    <li><a href="#xterm_309">Patch #309 - 2014/07/13</a></li>
250
251    <li><a href="#xterm_308">Patch #308 - 2014/06/19</a></li>
252
253    <li><a href="#xterm_307">Patch #307 - 2014/06/17</a></li>
254
255    <li><a href="#xterm_306">Patch #306 - 2014/06/03</a></li>
256
257    <li><a href="#xterm_305">Patch #305 - 2014/06/02</a></li>
258
259    <li><a href="#xterm_304">Patch #304 - 2014/05/03</a></li>
260
261    <li><a href="#xterm_303">Patch #303 - 2014/03/06</a></li>
262
263    <li><a href="#xterm_302">Patch #302 - 2014/03/02</a></li>
264
265    <li><a href="#xterm_301">Patch #301 - 2014/01/19</a></li>
266
267    <li><a href="#xterm_300">Patch #300 - 2013/12/03</a></li>
268
269    <li><a href="#xterm_299">Patch #299 - 2013/12/01</a></li>
270
271    <li><a href="#xterm_298">Patch #298 - 2013/11/27</a></li>
272
273    <li><a href="#xterm_297">Patch #297 - 2013/09/10</a></li>
274
275    <li><a href="#xterm_296">Patch #296 - 2013/07/10</a></li>
276
277    <li><a href="#xterm_295">Patch #295 - 2013/07/06</a></li>
278
279    <li><a href="#xterm_294">Patch #294 - 2013/07/05</a></li>
280
281    <li><a href="#xterm_293">Patch #293 - 2013/05/27</a></li>
282
283    <li><a href="#xterm_292">Patch #292 - 2013/04/25</a></li>
284
285    <li><a href="#xterm_291">Patch #291 - 2013/02/26</a></li>
286
287    <li><a href="#xterm_290">Patch #290 - 2013/02/12</a></li>
288
289    <li><a href="#xterm_289">Patch #289 - 2013/02/08</a></li>
290
291    <li><a href="#xterm_288">Patch #288 - 2013/01/09</a></li>
292
293    <li><a href="#xterm_287">Patch #287 - 2012/11/25</a></li>
294
295    <li><a href="#xterm_286">Patch #286 - 2012/10/29</a></li>
296
297    <li><a href="#xterm_285">Patch #285 - 2012/10/23</a></li>
298
299    <li><a href="#xterm_284">Patch #284 - 2012/10/14</a></li>
300
301    <li><a href="#xterm_283">Patch #283 - 2012/10/09</a></li>
302
303    <li><a href="#xterm_282">Patch #282 - 2012/09/28</a></li>
304
305    <li><a href="#xterm_281">Patch #281 - 2012/06/26</a></li>
306
307    <li><a href="#xterm_280">Patch #280 - 2012/06/24</a></li>
308
309    <li><a href="#xterm_279">Patch #279 - 2012/05/10</a></li>
310
311    <li><a href="#xterm_278">Patch #278 - 2012/01/18</a></li>
312
313    <li><a href="#xterm_277">Patch #277 - 2012/01/07</a></li>
314
315    <li><a href="#xterm_276">Patch #276 - 2011/10/10</a></li>
316
317    <li><a href="#xterm_275">Patch #275 - 2011/09/11</a></li>
318
319    <li><a href="#xterm_274">Patch #274 - 2011/09/05</a></li>
320
321    <li><a href="#xterm_273">Patch #273 - 2011/08/25</a></li>
322
323    <li><a href="#xterm_272">Patch #272 - 2011/08/24</a></li>
324
325    <li><a href="#xterm_271">Patch #271 - 2011/07/14</a></li>
326
327    <li><a href="#xterm_270">Patch #270 - 2011/04/26</a></li>
328
329    <li><a href="#xterm_269">Patch #269 - 2011/02/19</a></li>
330
331    <li><a href="#xterm_268">Patch #268 - 2011/02/10</a></li>
332
333    <li><a href="#xterm_267">Patch #267 - 2010/11/20</a></li>
334
335    <li><a href="#xterm_266">Patch #266 - 2010/10/24</a></li>
336
337    <li><a href="#xterm_265">Patch #265 - 2010/10/22</a></li>
338
339    <li><a href="#xterm_264">Patch #264 - 2010/10/14</a></li>
340
341    <li><a href="#xterm_263">Patch #263 - 2010/10/13</a></li>
342
343    <li><a href="#xterm_262">Patch #262 - 2010/8/30</a></li>
344
345    <li><a href="#xterm_261">Patch #261 - 2010/6/28</a></li>
346
347    <li><a href="#xterm_260">Patch #260 - 2010/6/20</a></li>
348
349    <li><a href="#xterm_259">Patch #259 - 2010/6/5</a></li>
350
351    <li><a href="#xterm_258">Patch #258 - 2010/5/1</a></li>
352
353    <li><a href="#xterm_257">Patch #257 - 2010/4/22</a></li>
354
355    <li><a href="#xterm_256">Patch #256 - 2010/3/6</a></li>
356
357    <li><a href="#xterm_255">Patch #255 - 2010/1/21</a></li>
358
359    <li><a href="#xterm_254">Patch #254 - 2010/1/6</a></li>
360
361    <li><a href="#xterm_253">Patch #253 - 2009/12/10</a></li>
362
363    <li><a href="#xterm_252">Patch #252 - 2009/12/7</a></li>
364
365    <li><a href="#xterm_251">Patch #251 - 2009/11/11</a></li>
366
367    <li><a href="#xterm_250">Patch #250 - 2009/10/13</a></li>
368
369    <li><a href="#xterm_249">Patch #249 - 2009/10/1</a></li>
370
371    <li><a href="#xterm_248">Patch #248 - 2009/9/11</a></li>
372
373    <li><a href="#xterm_247">Patch #247 - 2009/8/30</a></li>
374
375    <li><a href="#xterm_246">Patch #246 - 2009/8/16</a></li>
376
377    <li><a href="#xterm_245">Patch #245 - 2009/8/12</a></li>
378
379    <li><a href="#xterm_244">Patch #244 - 2009/8/9</a></li>
380
381    <li><a href="#xterm_243">Patch #243 - 2009/3/28</a></li>
382
383    <li><a href="#xterm_242">Patch #242 - 2009/2/15</a></li>
384
385    <li><a href="#xterm_241">Patch #241 - 2009/1/26</a></li>
386
387    <li><a href="#xterm_240">Patch #240 - 2009/1/25</a></li>
388
389    <li><a href="#xterm_239">Patch #239 - 2009/1/8</a></li>
390
391    <li><a href="#xterm_238">Patch #238 - 2008/12/30</a></li>
392
393    <li><a href="#xterm_237">Patch #237 - 2008/09/14</a></li>
394
395    <li><a href="#xterm_236">Patch #236 - 2008/07/27</a></li>
396
397    <li><a href="#xterm_235">Patch #235 - 2008/04/20</a></li>
398
399    <li><a href="#xterm_234">Patch #234 - 2008/03/02</a></li>
400
401    <li><a href="#xterm_233">Patch #233 - 2008/02/24</a></li>
402
403    <li><a href="#xterm_232">Patch #232 - 2008/01/30</a></li>
404
405    <li><a href="#xterm_231">Patch #231 - 2008/01/05</a></li>
406
407    <li><a href="#xterm_230">Patch #230 - 2007/12/31</a></li>
408
409    <li><a href="#xterm_229">Patch #229 - 2007/8/12</a></li>
410
411    <li><a href="#xterm_228">Patch #228 - 2007/7/22</a></li>
412
413    <li><a href="#xterm_227">Patch #227 - 2007/6/27</a></li>
414
415    <li><a href="#xterm_226">Patch #226 - 2007/6/17</a></li>
416
417    <li><a href="#xterm_225">Patch #225 - 2007/3/24</a></li>
418
419    <li><a href="#xterm_224">Patch #224 - 2007/2/11</a></li>
420
421    <li><a href="#xterm_223">Patch #223 - 2006/11/30</a></li>
422
423    <li><a href="#xterm_222">Patch #222 - 2006/10/17</a></li>
424
425    <li><a href="#xterm_221">Patch #221 - 2006/10/1</a></li>
426
427    <li><a href="#xterm_220">Patch #220 - 2006/9/10</a></li>
428
429    <li><a href="#xterm_219">Patch #219 - 2006/9/4</a></li>
430
431    <li><a href="#xterm_218">Patch #218 - 2006/8/27</a></li>
432
433    <li><a href="#xterm_217">Patch #217 - 2006/8/20</a></li>
434
435    <li><a href="#xterm_216">Patch #216 - 2006/8/3</a></li>
436
437    <li><a href="#xterm_215">Patch #215 - 2006/6/19 - XFree86
438    4.6.99.2</a></li>
439
440    <li><a href="#xterm_214">Patch #214 - 2006/6/18 - XFree86
441    4.6.99.2</a></li>
442
443    <li><a href="#xterm_213">Patch #213 - 2006/4/30 - XFree86
444    4.5.99.905</a></li>
445
446    <li><a href="#xterm_212">Patch #212 - 2006/4/9 - XFree86
447    4.5.99.904</a></li>
448
449    <li><a href="#xterm_211">Patch #211 - 2006/3/19 - XFree86
450    4.5.99.902</a></li>
451
452    <li><a href="#xterm_210">Patch #210 - 2006/3/12 - XFree86
453    4.5.99.902</a></li>
454
455    <li><a href="#xterm_209">Patch #209 - 2006/2/12 - XFree86
456    4.5.99.22</a></li>
457
458    <li><a href="#xterm_208">Patch #208 - 2006/1/3 - XFree86
459    4.5.99.19</a></li>
460
461    <li><a href="#xterm_207">Patch #207 - 2005/11/13 - XFree86
462    4.5.99.16</a></li>
463
464    <li><a href="#xterm_206">Patch #206 - 2005/11/3 - XFree86
465    4.5.99.15</a></li>
466
467    <li><a href="#xterm_205">Patch #205 - 2005/9/18 - XFree86
468    4.5.99.12</a></li>
469
470    <li><a href="#xterm_204">Patch #204 - 2005/8/4 - XFree86
471    4.5.99.9</a></li>
472
473    <li><a href="#xterm_203">Patch #203 - 2005/7/6 - XFree86
474    4.5.99.7</a></li>
475
476    <li><a href="#xterm_202">Patch #202 - 2005/5/2 - XFree86
477    4.5.99.3</a></li>
478
479    <li><a href="#xterm_201">Patch #201 - 2005/4/21 - XFree86
480    4.5.99.2</a></li>
481
482    <li><a href="#xterm_200">Patch #200 - 2005/2/6 - XFree86
483    4.4.99.23</a></li>
484
485    <li><a href="#xterm_199">Patch #199 - 2005/1/17 - XFree86
486    4.4.99.22</a></li>
487
488    <li><a href="#xterm_198">Patch #198 - 2005/1/13 - XFree86
489    4.4.99.21</a></li>
490
491    <li><a href="#xterm_197">Patch #197 - 2004/11/30 - XFree86
492    4.4.99.19</a></li>
493
494    <li><a href="#xterm_196">Patch #196 - 2004/8/15 - XFree86
495    4.4.99.12</a></li>
496
497    <li><a href="#xterm_195">Patch #195 - 2004/8/8 - XFree86
498    4.4.99.11</a></li>
499
500    <li><a href="#xterm_194">Patch #194 - 2004/7/27 - XFree86
501    4.4.99.11</a></li>
502
503    <li><a href="#xterm_193">Patch #193 - 2004/7/19 - XFree86
504    4.4.99.10</a></li>
505
506    <li><a href="#xterm_192">Patch #192 - 2004/7/12 - XFree86
507    4.4.99.9</a></li>
508
509    <li><a href="#xterm_191">Patch #191 - 2004/6/6 - XFree86
510    4.4.99.7</a></li>
511
512    <li><a href="#xterm_190">Patch #190 - 2004/5/25 - XFree86
513    4.4.99.6</a></li>
514
515    <li><a href="#xterm_189">Patch #189 - 2004/5/16 - XFree86
516    4.4.99.6</a></li>
517
518    <li><a href="#xterm_188">Patch #188 - 2004/5/12 - XFree86
519    4.4.99.6</a></li>
520
521    <li><a href="#xterm_187">Patch #187 - 2004/4/27 - XFree86
522    4.4.99.4</a></li>
523
524    <li><a href="#xterm_186">Patch #186 - 2004/4/18 - XFree86
525    4.4.99.4</a></li>
526
527    <li><a href="#xterm_185">Patch #185 - 2004/3/3 - XFree86
528    4.4</a></li>
529
530    <li><a href="#xterm_184">Patch #184 - 2003/12/31 - XFree86
531    4.3.99.903</a></li>
532
533    <li><a href="#xterm_183">Patch #183 - 2003/12/26 - XFree86
534    4.3.99.903</a></li>
535
536    <li><a href="#xterm_182">Patch #182 - 2003/12/2 - XFree86
537    4.3.99.901</a></li>
538
539    <li><a href="#xterm_181">Patch #181 - 2003/10/26 - XFree86
540    4.3.99.15</a></li>
541
542    <li><a href="#xterm_180">Patch #180 - 2003/10/12 - XFree86
543    4.3.99.15</a></li>
544
545    <li><a href="#xterm_179">Patch #179 - 2003/5/21 - XFree86
546    4.3.99.5</a></li>
547
548    <li><a href="#xterm_178">Patch #178 - 2003/5/18 - XFree86
549    4.3.99.5</a></li>
550
551    <li><a href="#xterm_177">Patch #177 - 2003/3/23 - XFree86
552    4.3.0</a></li>
553
554    <li><a href="#xterm_176">Patch #176 - 2003/3/22 - XFree86
555    4.3.0</a></li>
556
557    <li><a href="#xterm_175">Patch #175 - 2003/3/9 - XFree86
558    4.3.0</a></li>
559
560    <li><a href="#xterm_174">Patch #174 - 2003/2/25 - XFree86
561    4.2.99.903</a></li>
562
563    <li><a href="#xterm_173">Patch #173 - 2003/2/6 - XFree86
564    4.2.99.902</a></li>
565
566    <li><a href="#xterm_172">Patch #172 - 2002/12/27 - XFree86
567    4.2.99.3</a></li>
568
569    <li><a href="#xterm_171">Patch #171 - 2002/12/12 - XFree86
570    4.2.99.3</a></li>
571
572    <li><a href="#xterm_170">Patch #170 - 2002/10/13 - XFree86
573    4.2.1</a></li>
574
575    <li><a href="#xterm_169">Patch #169 - 2002/10/5 - XFree86
576    4.2.1</a></li>
577
578    <li><a href="#xterm_168">Patch #168 - 2002/9/29 - XFree86
579    4.2.1</a></li>
580
581    <li><a href="#xterm_167">Patch #167 - 2002/8/24 - XFree86
582    4.2.0</a></li>
583
584    <li><a href="#xterm_166">Patch #166 - 2002/3/25 - XFree86
585    4.2.0</a></li>
586
587    <li><a href="#xterm_165">Patch #165 - 2002/1/5 - XFree86
588    4.1.0</a></li>
589
590    <li><a href="#xterm_164">Patch #164 - 2001/11/13 - XFree86
591    4.1.0</a></li>
592
593    <li><a href="#xterm_163">Patch #163 - 2001/11/04 - XFree86
594    4.1.0</a></li>
595
596    <li><a href="#xterm_162">Patch #162 - 2001/10/23 - XFree86
597    4.1.0</a></li>
598
599    <li><a href="#xterm_161">Patch #161 - 2001/10/10 - XFree86
600    4.1.0</a></li>
601
602    <li><a href="#xterm_160">Patch #160 - 2001/10/7 - XFree86
603    4.1.0</a></li>
604
605    <li><a href="#xterm_159">Patch #159 - 2001/9/19 - XFree86
606    4.1.0</a></li>
607
608    <li><a href="#xterm_158">Patch #158 - 2001/9/8 - XFree86
609    4.1.0</a></li>
610
611    <li><a href="#xterm_157">Patch #157 - 2001/6/18 - XFree86
612    4.1.0</a></li>
613
614    <li><a href="#xterm_156">Patch #156 - 2001/4/28 - XFree86
615    4.0.3</a></li>
616
617    <li><a href="#xterm_155">Patch #155 - 2001/4/20 - XFree86
618    4.0.3</a></li>
619
620    <li><a href="#xterm_154">Patch #154 - 2001/4/11 - XFree86
621    4.0.3</a></li>
622
623    <li><a href="#xterm_153">Patch #153 - 2001/3/29 - XFree86
624    4.0.3</a></li>
625
626    <li><a href="#xterm_152">Patch #152 - 2001/3/13 - XFree86
627    4.0.2</a></li>
628
629    <li><a href="#xterm_151">Patch #151 - 2001/3/10 - XFree86
630    4.0.2</a></li>
631
632    <li><a href="#xterm_150">Patch #150 - 2000/12/29 - XFree86
633    4.0.2</a></li>
634
635    <li><a href="#xterm_149">Patch #149 - 2000/12/6 - XFree86
636    4.0.1h</a></li>
637
638    <li><a href="#xterm_148">Patch #148 - 2000/10/31 - XFree86
639    4.0.1d</a></li>
640
641    <li><a href="#xterm_147">Patch #147 - 2000/10/26 - XFree86
642    4.0.1c</a></li>
643
644    <li><a href="#xterm_146">Patch #146 - 2000/9/12 - XFree86
645    4.0.1c</a></li>
646
647    <li><a href="#xterm_145">Patch #145 - 2000/9/11 - XFree86
648    4.0.1c</a></li>
649
650    <li><a href="#xterm_144">Patch #144 - 2000/8/23 - XFree86
651    4.0.1b</a></li>
652
653    <li><a href="#xterm_143">Patch #143 - 2000/8/19 - XFree86
654    4.0.1b</a></li>
655
656    <li><a href="#xterm_142">Patch #142 - 2000/8/18 - XFree86
657    4.0.1b</a></li>
658
659    <li><a href="#xterm_141">Patch #141 - 2000/8/14 - XFree86
660    4.0.1b</a></li>
661
662    <li><a href="#xterm_140">Patch #140 - 2000/7/23 - XFree86
663    4.0.1</a></li>
664
665    <li><a href="#xterm_139">Patch #139 - 2000/6/17 - XFree86
666    4.0d</a></li>
667
668    <li><a href="#xterm_138">Patch #138 - 2000/6/15 - XFree86
669    4.0c</a></li>
670
671    <li><a href="#xterm_137">Patch #137 - 2000/6/10 - XFree86
672    4.0b</a></li>
673
674    <li><a href="#xterm_136">Patch #136 - 2000/6/3 - XFree86
675    4.0b</a></li>
676
677    <li><a href="#xterm_135">Patch #135 - 2000/5/29 - XFree86
678    4.0b</a></li>
679
680    <li><a href="#xterm_134">Patch #134 - 2000/5/28 - XFree86
681    4.0b</a></li>
682
683    <li><a href="#xterm_133">Patch #133 - 2000/5/2 - XFree86
684    4.0a</a></li>
685
686    <li><a href="#xterm_132">Patch #132 - 2000/4/11 - XFree86
687    4.0a</a></li>
688
689    <li><a href="#xterm_131">Patch #131 - 2000/3/3 - XFree86
690    3.9.18b</a></li>
691
692    <li><a href="#xterm_130">Patch #130 - 2000/3/1 - XFree86
693    3.9.18a</a></li>
694
695    <li><a href="#xterm_129">Patch #129 - 2000/2/26 - XFree86
696    3.9.18a</a></li>
697
698    <li><a href="#xterm_128">Patch #128 - 2000/2/17 - XFree86
699    3.9.18</a></li>
700
701    <li><a href="#xterm_127">Patch #127 - 2000/2/12 - XFree86
702    3.9.17e</a></li>
703
704    <li><a href="#xterm_126">Patch #126 - 2000/2/8 - XFree86
705    3.9.17c</a></li>
706
707    <li><a href="#xterm_125">Patch #125 - 2000/1/31 - XFree86
708    3.9.17c</a></li>
709
710    <li><a href="#xterm_124">Patch #124 - 2000/1/27 - XFree86
711    3.9.17b</a></li>
712
713    <li><a href="#xterm_123">Patch #123 - 2000/1/22 - XFree86
714    3.9.17a</a></li>
715
716    <li><a href="#xterm_122">Patch #122 - 1999/12/28 - XFree86
717    3.9.16f</a></li>
718
719    <li><a href="#xterm_121">Patch #121 - 1999/11/14 - XFree86
720    3.9.16c</a></li>
721
722    <li><a href="#xterm_120">Patch #120 - 1999/10/28 - XFree86
723    3.9.16c</a></li>
724
725    <li><a href="#xterm_119">Patch #119 - 1999/10/16 - XFree86
726    3.9.16c</a></li>
727
728    <li><a href="#xterm_118">Patch #118 - 1999/10/5 - XFree86
729    3.9.16b</a></li>
730
731    <li><a href="#xterm_117">Patch #117 - 1999/9/29 - XFree86
732    3.9.16b</a></li>
733
734    <li><a href="#xterm_116">Patch #116 - 1999/9/25 - XFree86
735    3.9.16a</a></li>
736
737    <li><a href="#xterm_115">Patch #115 - 1999/9/18 - XFree86
738    3.9.16a</a></li>
739
740    <li><a href="#xterm_114">Patch #114 - 1999/9/15 - XFree86
741    3.9.16</a></li>
742
743    <li><a href="#xterm_113">Patch #113 - 1999/8/15 - XFree86
744    3.9.15b</a></li>
745
746    <li><a href="#xterm_112">Patch #112 - 1999/7/17 - XFree86
747    3.9Pw</a></li>
748
749    <li><a href="#xterm_111">Patch #111 - 1999/7/10 - XFree86
750    3.9Pw</a></li>
751
752    <li><a href="#xterm_110">Patch #110 - 1999/6/29 - XFree86
753    3.9Pu</a></li>
754
755    <li><a href="#xterm_109">Patch #109 - 1999/6/23 - XFree86
756    3.9Pt</a></li>
757
758    <li><a href="#xterm_108">Patch #108 - 1999/6/19 - XFree86
759    3.9Ps</a></li>
760
761    <li><a href="#xterm_107">Patch #107 - 1999/6/12 - XFree86
762    3.9Pq</a></li>
763
764    <li><a href="#xterm_106">Patch #106 - 1999/6/9 - XFree86
765    3.9Pq</a></li>
766
767    <li><a href="#xterm_105">Patch #105 - 1999/6/5 - XFree86
768    3.9Pp</a></li>
769
770    <li><a href="#xterm_104">Patch #104 - 1999/5/30 - XFree86
771    3.9Pn</a></li>
772
773    <li><a href="#xterm_103">Patch #103 - 1999/5/14 - XFree86
774    3.9Pm</a></li>
775
776    <li><a href="#xterm_102">Patch #102 - 1999/5/12 - XFree86
777    3.9Pm</a></li>
778
779    <li><a href="#xterm_101">Patch #101 - 1999/5/10 - XFree86
780    3.9Pm</a></li>
781
782    <li><a href="#xterm_100">Patch #100 - 1999/5/3 - XFree86
783    3.9Pl</a></li>
784
785    <li><a href="#xterm_99">Patch #99 - 1999/5/2 - XFree86
786    3.9Pk</a></li>
787
788    <li><a href="#xterm_98">Patch #98 - 1999/4/26 - XFree86
789    3.9Pk</a></li>
790
791    <li><a href="#xterm_97">Patch #97 - 1999/4/25 - XFree86
792    3.9Pk</a></li>
793
794    <li><a href="#xterm_96">Patch #96 - 1999/4/19 - XFree86
795    3.9Pj</a></li>
796
797    <li><a href="#xterm_95">Patch #95 - 1999/4/5 - XFree86
798    3.9Ph</a></li>
799
800    <li><a href="#xterm_94">Patch #94 - 1999/3/27 - XFree86
801    3.9Pf</a></li>
802
803    <li><a href="#xterm_93">Patch #93 - 1999/3/14 - XFree86
804    3.9Pd</a></li>
805
806    <li><a href="#xterm_92">Patch #92 - 1999/2/5 - XFree86
807    3.9Nz</a></li>
808
809    <li><a href="#xterm_91">Patch #91 - 1999/1/21 - XFree86
810    3.9Nw</a></li>
811
812    <li><a href="#xterm_90">Patch #90 - 1998/12/13 - XFree86
813    3.9Nq</a></li>
814
815    <li><a href="#xterm_89">Patch #89 - 1998/11/20 - XFree86
816    3.9Nm</a></li>
817
818    <li><a href="#xterm_88">Patch #88 - 1998/10/31 - XFree86 3.9Nk
819    and 3.3.2h</a></li>
820
821    <li><a href="#xterm_87">Patch #87 - 1998/10/21 - XFree86 3.9Nj
822    and 3.3.2f</a></li>
823
824    <li><a href="#xterm_86">Patch #86 - 1998/10/14 - XFree86 3.9Nj
825    and 3.3.2e</a></li>
826
827    <li><a href="#xterm_85">Patch #85 - 1998/10/12 - XFree86 3.9Nj
828    and 3.3.2e</a></li>
829
830    <li><a href="#xterm_84">Patch #84 - 1998/10/9 - XFree86 3.9Ni
831    and 3.3.2e</a></li>
832
833    <li><a href="#sync_83">Resync #83 - 1998/10/7 - XFree86
834    3.3.2e</a></li>
835
836    <li><a href="#xterm_83">Patch #83 - 1998/8/25 - XFree86
837    3.9Nb</a></li>
838
839    <li><a href="#xterm_82">Patch #82 - 1998/7/15 - XFree86
840    3.9Aj</a></li>
841
842    <li><a href="#xterm_81">Patch #81 - 1998/7/14 - XFree86
843    3.9Aj</a></li>
844
845    <li><a href="#xterm_80">Patch #80 - 1998/6/29 - XFree86
846    3.9Ai</a></li>
847
848    <li><a href="#xterm_79">Patch #79 - 1998/6/28 - XFree86
849    3.9Ai</a></li>
850
851    <li><a href="#xterm_78">Patch #78 - 1998/6/3 - XFree86 3.9Ah
852    and 3.3.2</a></li>
853
854    <li><a href="#xterm_77">Patch #77 - 1998/5/26 - XFree86 3.9Ah
855    and 3.3.2</a></li>
856
857    <li><a href="#xterm_76">Patch #76 - 1998/5/8 - XFree86 3.9Ah
858    and 3.3.2</a></li>
859
860    <li><a href="#xterm_75">Patch #75 - 1998/5/7 - XFree86 3.9Ah
861    and 3.3.2</a></li>
862
863    <li><a href="#xterm_74">Patch #74 - 1998/4/27 - XFree86 3.9Ag
864    and 3.3.2</a></li>
865
866    <li><a href="#xterm_73">Patch #73 - 1998/4/25 - XFree86 3.9Ag
867    and 3.3.2</a></li>
868
869    <li><a href="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag
870    and 3.3.2</a></li>
871
872    <li><a href="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag
873    and 3.3.2</a></li>
874
875    <li><a href="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af
876    and 3.3.2</a></li>
877
878    <li><a href="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad
879    and 3.3.2</a></li>
880
881    <li><a href="#xterm_68">Patch #68 - 1998/3/4 - XFree86 3.9Ad
882    and 3.3.1z</a></li>
883
884    <li><a href="#xterm_67">Patch #67 - 1998/2/23 - XFree86 3.9Ad
885    and 3.3.1e</a></li>
886
887    <li><a href="#xterm_66">Patch #66 - 1998/2/16 - XFree86 3.9Ad
888    and 3.3.1d</a></li>
889
890    <li><a href="#xterm_65">Patch #65 - 1998/2/14 - XFree86 3.9Ad
891    and 3.3.1c</a></li>
892
893    <li><a href="#xterm_64">Patch #64 - 1998/2/8 - XFree86
894    3.9Ad</a></li>
895
896    <li><a href="#xterm_63">Patch #63 - 1998/2/5 - XFree86
897    3.9Ad</a></li>
898
899    <li><a href="#xterm_62">Patch #62 - 1998/1/23 - XFree86
900    3.9Ac</a></li>
901
902    <li><a href="#xterm_61">Patch #61 - 1998/1/17 - XFree86
903    3.9Ac</a></li>
904
905    <li><a href="#xterm_60">Patch #60 - 1998/1/10 - XFree86
906    3.9Ab</a></li>
907
908    <li><a href="#xterm_59">Patch #59 - 1998/1/5 - XFree86
909    3.9Ab</a></li>
910
911    <li><a href="#xterm_58">Patch #58 - 1998/1/3 - XFree86
912    3.9Ab</a></li>
913
914    <li><a href="#xterm_57">Patch #57 - 1997/12/26 - XFree86
915    3.9Aa</a></li>
916
917    <li><a href="#xterm_56">Patch #56 - 1997/11/28 - XFree86
918    3.9x</a></li>
919
920    <li><a href="#xterm_55">Patch #55 - 1997/11/25 - XFree86
921    3.9x</a></li>
922
923    <li><a href="#xterm_54">Patch #54 - 1997/10/17 - XFree86
924    3.9s</a></li>
925
926    <li><a href="#xterm_53">Patch #53 - 1997/10/12 - XFree86
927    3.9r</a></li>
928
929    <li><a href="#xterm_52">Patch #52 - 1997/9/29 - XFree86
930    3.9q</a></li>
931
932    <li><a href="#xterm_51">Patch #51 - 1997/9/15 - XFree86
933    3.9p</a></li>
934
935    <li><a href="#xterm_50">Patch #50 - 1997/8/22 - XFree86
936    3.9m</a></li>
937
938    <li><a href="#xterm_49">Patch #49 - 1997/8/10 - XFree86
939    3.9k</a></li>
940
941    <li><a href="#xterm_48">Patch #48 - 1997/7/26 - XFree86
942    3.9j</a></li>
943
944    <li><a href="#xterm_47">Patch #47 - 1997/7/13 - XFree86
945    3.9i</a></li>
946
947    <li><a href="#xterm_46">Patch #46 - 1997/7/4 - XFree86 3.9h</a></li>
948
949    <li><a href="#xterm_45">Patch #45 - 1997/7/2 - XFree86 3.9h</a></li>
950
951    <li><a href="#xterm_44">Patch #44 - 1997/6/22 - XFree86
952    3.9g</a></li>
953
954    <li><a href="#xterm_43">Patch #43 - 1997/6/10 - XFree86
955    3.9d</a></li>
956
957    <li><a href="#xterm_42">Patch #42 - 1997/6/8 - XFree86
958    3.2Xl</a></li>
959
960    <li><a href="#xterm_41">Patch #41 - 1997/5/28 - XFree86
961    3.2Xl</a></li>
962
963    <li><a href="#xterm_40">Patch #40 - 1997/5/26 - XFree86
964    3.2Xl</a></li>
965
966    <li><a href="#xterm_39">Patch #39 - 1997/5/24 - XFree86
967    3.2Xl</a></li>
968
969    <li><a href="#xterm_38">Patch #38 - 1997/5/22 - XFree86
970    3.2Xh</a></li>
971
972    <li><a href="#xterm_37">Patch #37 - 1997/5/7 - XFree86 3.9a</a></li>
973
974    <li><a href="#xterm_36">Patch #36 - 1997/1/16 - XFree86
975    3.2r</a></li>
976
977    <li><a href="#xterm_35">Patch #35 - 1997/1/7 - XFree86 3.2o</a></li>
978
979    <li><a href="#xterm_34">Patch #34 - 1997/1/5 - XFree86 3.2o</a></li>
980
981    <li><a href="#xterm_33">Patch #33 - 1996/11/24 - XFree86
982    3.2</a></li>
983
984    <li><a href="#xterm_32">Patch #32 - 1996/11/21 - XFree86
985    3.2</a></li>
986
987    <li><a href="#xterm_31">Patch #31 - 1996/11/16 - XFree86
988    3.2</a></li>
989
990    <li><a href="#xterm_30">Patch #30 - 1996/11/16 - XFree86
991    3.2</a></li>
992
993    <li><a href="#xterm_29">Patch #29 - 1996/9/15 - XFree86
994    3.1.2Gb</a></li>
995
996    <li><a href="#xterm_28">Patch #28 - 1996/8/31 - XFree86
997    3.1.2F</a></li>
998
999    <li><a href="#xterm_27">Patch #27 - 1996/8/21 - XFree86
1000    3.1.2Ek</a></li>
1001
1002    <li><a href="#xterm_26">Patch #26 - 1996/8/20 - XFree86
1003    3.1.2Ei</a></li>
1004
1005    <li><a href="#xterm_25">Patch #25 - 1996/8/18 - XFree86
1006    3.1.2Ei</a></li>
1007
1008    <li><a href="#xterm_24">Patch #24 - 1996/8/11 - XFree86
1009    3.1.2Ee</a></li>
1010
1011    <li><a href="#xterm_23">Patch #23 - 1996/7/31 - XFree86
1012    3.1.2Ec</a></li>
1013
1014    <li><a href="#xterm_22">Patch #22 - 1996/7/26 - XFree86
1015    3.1.2Ec</a></li>
1016
1017    <li><a href="#xterm_21">Patch #21 - 1996/7/24 - XFree86
1018    3.1.2Ec</a></li>
1019
1020    <li><a href="#xterm_20">Patch #20 - 1996/7/24 - XFree86
1021    3.1.2Ec</a></li>
1022
1023    <li><a href="#xterm_19">Patch #19 - 1996/7/21 - XFree86
1024    3.1.2Ec</a></li>
1025
1026    <li><a href="#xterm_18">Patch #18 - 1996/7/18 - XFree86
1027    3.1.2Ec</a></li>
1028
1029    <li><a href="#xterm_17">Patch #17 - 1996/7/2 - XFree86
1030    3.1.2Eb</a></li>
1031
1032    <li><a href="#xterm_16">Patch #16 - 1996/6/25 - XFree86
1033    3.1.2Ea</a></li>
1034
1035    <li><a href="#xterm_15">Patch #15 - 1996/5/29 - XFree86
1036    3.1.2E</a></li>
1037
1038    <li><a href="#xterm_14">Patch #14 - 1996/5/12 - XFree86
1039    3.1.2Dj</a></li>
1040
1041    <li><a href="#xterm_13">Patch #13 - 1996/4/23 - XFree86
1042    3.1.2Df</a></li>
1043
1044    <li><a href="#xterm_12">Patch #12 - 1996/3/16 - XFree86
1045    3.1.2Dc</a></li>
1046
1047    <li><a href="#xterm_11">Patch #11 - 1996/3/5 - XFree86
1048    3.1.2Db</a></li>
1049
1050    <li><a href="#xterm_10">Patch #10 - 1996/2/14 - XFree86
1051    3.1.2Cd</a></li>
1052
1053    <li><a href="#xterm_09">Patch #9 - 1996/2/10 - XFree86
1054    3.1.2Cb</a></li>
1055
1056    <li><a href="#xterm_08">Patch #8 - 1996/2/9 - XFree86
1057    3.1.2Cb</a></li>
1058
1059    <li><a href="#xterm_07">Patch #7 - 1996/1/28 - XFree86
1060    3.1.2n</a></li>
1061
1062    <li><a href="#xterm_06">Patch #6 - 1996/1/8</a></li>
1063
1064    <li><a href="#xterm_05">Patch #5 - 1996/1/7</a></li>
1065
1066    <li><a href="#xterm_04">Patch #4 - 1996/1/7</a></li>
1067
1068    <li><a href="#xterm_03">Patch #3 - 1996/1/7</a></li>
1069
1070    <li><a href="#xterm_02">Patch #2 - 1996/1/7</a></li>
1071
1072    <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
1073  </ul>
1074
1075  <h1><a name="xterm_397" id="xterm_397">Patch #397 -
1076  2025/01/05</a></h1>
1077
1078  <ul>
1079    <li>add resource <tt>printRawChars</tt> to allow bypassing
1080    check in <a href="#xterm_389">patch #389</a> which omits
1081    Unicode non-characters from printing (request by Adam
1082    Saponara).</li>
1083
1084    <li>add visible-effect for <tt>SUB</tt>, per DEC 070 page
1085    5-132.</li>
1086
1087    <li>correct a limit-check in private mode <tt>1045</tt>.</li>
1088
1089    <li>add optional feature for block-selection, bound to
1090    meta-button-one (patch by Adam Saponara).</li>
1091
1092    <li>if started as a VT52, identify the terminal as a real VT52
1093    rather than VT52 emulated by VT100.</li>
1094
1095    <li>amend change to VT52 cursor-addressing per DEC 070 (mintty
1096    #1299).</li>
1097
1098    <li>correct <tt>ctlseqs.ms</tt> suffix for
1099    <tt>XTTITLEPOS</tt></li>
1100  </ul>
1101
1102  <h1><a name="xterm_396" id="xterm_396">Patch #396 -
1103  2024/12/02</a></h1>
1104
1105  <ul>
1106    <li>fix stricter warnings provided by upcoming gcc 15, as well
1107    as NetBSD lint.</li>
1108
1109    <li>modify title-stack test script, adding logging and
1110    command-replay options. Improved the script with new controls:
1111      <ul>
1112        <li>add <tt>XTTITLEPOS</tt> query to get position in
1113        title-stack.</li>
1114
1115        <li>add <tt>DECRQSS</tt> for <tt>XTSMTITLE</tt>.</li>
1116      </ul>
1117    </li>
1118
1119    <li>correct cursor-addressing limit for VT52 mode (report by
1120    Serguei Fichel).</li>
1121
1122    <li>amend change in <a href="#xterm_395">patch #395</a> for
1123    7-bit parsing to allow UTF-8 titles (report by Dmytro
1124    Bagril).</li>
1125
1126    <li>portability fixes for configure script, from ncurses</li>
1127
1128    <li>update config.guess, config.sub</li>
1129  </ul>
1130
1131  <h1><a name="xterm_395" id="xterm_395">Patch #395 -
1132  2024/10/24</a></h1>
1133
1134  <ul>
1135    <li>add <tt>DECRQSS</tt> response for <tt>DECSTGLT</tt>, i.e.,
1136    ANSI SGR color.</li>
1137
1138    <li>add Russian and SCS NRCS character set mappings.</li>
1139
1140    <li>remove obsolete code for OS390 and VMS.</li>
1141
1142    <li>minor fixes to work with vttest 20240929's 7-bit parsing
1143    test.</li>
1144
1145    <li>improve DECRPM responses for unsupported modes; those which
1146    are valid for a given DEC terminal are reported as permanently
1147    reset rather than unknown.</li>
1148
1149    <li>add JIS-Roman and JIS-Katakana character sets, for
1150    VT382.</li>
1151
1152    <li>fix typo in <tt>ctlseqs.ms</tt> note about function key vs
1153    DSR (report by Michael Thomas Greer).</li>
1154
1155    <li>formatting fixes for <tt>ctlseqs.ms</tt> (report by Mark
1156    Manning).</li>
1157
1158    <li>update tables in <code>wcwidth.c</code> based on Unicode
1159    16.0.0</li>
1160  </ul>
1161
1162  <h1><a name="xterm_394" id="xterm_394">Patch #394 -
1163  2024/09/02</a></h1>
1164
1165  <ul>
1166    <li>add <tt>-nomap</tt> option (request by Tavis Ormandy).</li>
1167
1168    <li>improve checks for rectangle operations, per DEC 070.</li>
1169
1170    <li>improve check for missing characters in bitmap fonts, for a
1171    case where the font is marked complete but its range does not
1172    include non-Latin1 codes (prompted by discussion with Craig
1173    Leres).</li>
1174
1175    <li>correct upper-limit in check for missing characters, from
1176    <a href="#xterm_393">patch #393</a> changes (report/patch by
1177    Matthew Martin).</li>
1178
1179    <li>fix for <tt>-report-fonts</tt> option when the font's first
1180    character position is nonzero (prompted by discussion with
1181    Craig Leres).</li>
1182
1183    <li>add null-pointer check for a Heisenbug (Debian
1184    #1078255).</li>
1185  </ul>
1186
1187  <h1><a name="xterm_393" id="xterm_393">Patch #393 -
1188  2024/07/11</a></h1>
1189
1190  <ul>
1191    <li>add a check for ANSI SC/RC, to ignore CSI parameters.</li>
1192
1193    <li>improve check for missing characters for bitmap-fonts by
1194    using the normal font for reference in the case where the
1195    current font, e.g., the wide-font was derived from the normal
1196    font and lacks per-character metrics (report by Rajeev V.
1197    Pillai).</li>
1198
1199    <li>fix regression in error-recovery for SGR parameters from
1200    <a href="#xterm_357">patch #357</a> (report by James
1201    Holderness).</li>
1202
1203    <li>remove some duplicates in <tt>xtermcfg.h</tt> (report by
1204    Matthew Green).</li>
1205
1206    <li>change default for <tt>--enable-imake</tt> configure
1207    option.</li>
1208
1209    <li>fixes for <tt>wcwidth</tt>:
1210      <ul>
1211        <li>return 0 for format effectors, like a zero-width
1212        printing character rather than -1 like a control character
1213        (report by Rajeev V. Pillai).</li>
1214
1215        <li>correct <tt>doublewidth</tt> to account for reserved
1216        codepoints which are listed in the EastAsianWidth
1217        file.</li>
1218
1219        <li>add a special case for surrogate pairs, which might be
1220        checked in testing the <tt>wcwidth</tt> function.</li>
1221      </ul>
1222    </li>
1223
1224    <li>amend sixel bounds-check added in <a href=
1225    "#xterm_371">patch #371</a> to not wrap out-of-bounds
1226    data.</li>
1227
1228    <li>eliminate <tt>maxStringParse</tt> limit for SIXEL.</li>
1229
1230    <li>improve logic which ignores APC, PM and SOS controls to
1231    also not accumulate their data temporarily in a buffer.</li>
1232
1233    <li>exclude <tt>TERM_INGRESS</tt> from cleanup of environment
1234    variables (patch by Iain Riley).</li>
1235
1236    <li>fix some documentation typos (report by Thomas Wolff).</li>
1237  </ul>
1238
1239  <h1><a name="xterm_392" id="xterm_392">Patch #392 -
1240  2024/05/22</a></h1>
1241
1242  <ul>
1243    <li>improve input decoding for non-Latin1 character sets by
1244    preserving the sense of GL/GR.</li>
1245
1246    <li>add resource <tt>preferLatin1</tt> to simplify UPSS
1247    configuration (Gentoo #932154).</li>
1248
1249    <li>build-fix for <tt>--disable-boxchars</tt>; <a href=
1250    "#xterm_390">patch #390</a> reuses that feature's code to draw
1251    the part of the DEC Technical character set which has no
1252    Unicode equivalent.</li>
1253
1254    <li>modify <tt>#include</tt> of <tt>pty.h</tt> to work with
1255    musl (report by Khem Raj).</li>
1256
1257    <li>improve definitions used in <tt>clock_gettime</tt> logic in
1258    <tt>graphics_sixel.c</tt>, as well as updating comments (patch
1259    by Ben Wong).</li>
1260
1261    <li>amend <code>allowC1Printable</code> changes from <a href=
1262    "#xterm_391">patch #391</a>, restoring a special case which
1263    caused C1 characters to be ignored (report/testcase by Dmytro
1264    Bagrii).</li>
1265  </ul>
1266
1267  <h1><a name="xterm_391" id="xterm_391">Patch #391 -
1268  2024/05/12</a></h1>
1269
1270  <ul>
1271    <li>improve integration between UTF-8 and
1272    <code>allowC1Printable</code>.</li>
1273
1274    <li>alter SIXEL HLS computation to make blue 0 degrees (patch
1275    by Ben Wong).</li>
1276
1277    <li>disable SIXEL aspect-ratio, pending a rewrite (patch by Ben
1278    Wong).</li>
1279
1280    <li>add resource <code>incrementalGraphics</code> (prompted by
1281    patch by Ben Wong).</li>
1282
1283    <li>reorganize <tt>graphics_sixel.c</tt> as a step toward
1284    eliminating graphics buffer-size (integrated patch by Ben
1285    Wong).</li>
1286
1287    <li>use <code>__linux__</code> consistently rather than the
1288    older <code>linux</code>.</li>
1289
1290    <li>build-fix for musl (report by Jon&aacute;&scaron; Vidra,
1291    adapted patch by Khem Raj):
1292      <ul>
1293        <li>modify <code><em>ifdef</em></code> for
1294        <code>USE_OPENPTY</code>, changing test for
1295        <code>__GLIBC__</code> to <code>__linux__</code></li>
1296
1297        <li>change <code><em>ifdef</em></code>'s for
1298        <code>_POSIX_SOURCE</code> to
1299        <code>_POSIX_VERSION</code></li>
1300
1301        <li>modify <code><em>ifdef</em></code> for
1302        <code>setsid</code> to use a configure-script check for
1303        that function's existence and move the old check to imake
1304        fallbacks.</li>
1305      </ul>
1306    </li>
1307
1308    <li>minor consistency fixes for manpage.</li>
1309
1310    <li>fix regression in <a href="#xterm_390">patch #390</a>:
1311    non-UTF8 text pasted as a XA_UTF8_STRING was not decoded
1312    (report by Petri Kaukasoina).</li>
1313  </ul>
1314
1315  <h1><a name="xterm_390" id="xterm_390">Patch #390 -
1316  2024/02/19</a></h1>
1317
1318  <ul>
1319    <li>improve typography of control-sequences page (patches by
1320    Branden Robinson).</li>
1321
1322    <li>amend UPSS change from <a href="#xterm_389">patch #389</a>,
1323    fixing a regression in VT100/VT220 character sets.</li>
1324
1325    <li>modify ANSI conformance per ECMA-43 and DEC 070:
1326      <ul>
1327        <li>set ANSI conformance level to 3 for DEC levels 2 and
1328        up.</li>
1329
1330        <li>disable locking shifts in level 1, e.g., VT100.</li>
1331
1332        <li>disable single-shifts from G2/G3 in level 1.</li>
1333
1334        <li>use UPSS for G2/G3 in levels 2 and up.</li>
1335      </ul>
1336    </li>
1337
1338    <li>modify invisible-character attribute to permit
1339    <tt>DECRQCRA</tt> to report a consistent checksum
1340    (report/testcase by Thomas Wolff).</li>
1341
1342    <li>align terminfo building blocks in terminfo to correspond to
1343    recent refactoring/trimming in ncurses.</li>
1344
1345    <li>set flag in regexec call for
1346    <code>on<em>N</em>Clicks</code> to handle
1347    &ldquo;<tt>^</tt>&rdquo; anchor (patch by Matthew Martin).</li>
1348
1349    <li>add line-drawing data for the characters in <a href=
1350    "https://www.vt100.net/charsets/technical.html"><em>DEC
1351    Technical</em></a> which have no Unicode equivalents.</li>
1352
1353    <li>remove a special case in <tt>encode_scs</tt> which made
1354    xterm report Latin-1 when encoding is set to UTF-8, where ASCII
1355    is the selected character set. This fixes a regression in
1356    vttest for the <tt>DECRSPS</tt> cursor test.</li>
1357
1358    <li>correct values for <em>Ps</em> of <tt>DECAUPSS</tt> in
1359    <tt>ctlseqs.ms</tt> (report by James Holderness).</li>
1360
1361    <li>simplify/correct expression for checking Unicode
1362    non-characters (report by Thomas Wolff).</li>
1363
1364    <li>correct loop for trimming environment variables
1365    (report/patch by Casper Dik).</li>
1366
1367    <li>fixes for manpage formatting (Debian #1041809).</li>
1368
1369    <li>update config.guess, config.sub</li>
1370  </ul>
1371
1372  <h1><a name="xterm_389" id="xterm_389">Patch #389 -
1373  2024/01/01</a></h1>
1374
1375  <ul>
1376    <li>interchange variables in subparameter parsing, fixing a bug
1377    where subparameters after the first parameter could be
1378    misidentified (patch by Adam Saponara).</li>
1379
1380    <li>correct popping of icon/window titles in a case where only
1381    one was pushed from <a href="#xterm_385">patch #385</a>
1382    changes.</li>
1383
1384    <li>add <tt>XTQMODKEYS</tt> response in <tt>DECRQSS</tt>, as
1385    alternative for vim.</li>
1386
1387    <li>correct <tt>DECCIR</tt> encoded information on character
1388    set size, handle a VT525 quirk, and add <tt>DECST8C</tt>
1389    (Windows Terminal #14984).</li>
1390
1391    <li>improve <tt>DECRQCRA</tt> (prompted by discussion with
1392    James Holderness, Windows Terminal #14974).</li>
1393
1394    <li>add part of VT525 color controls:
1395      <ul>
1396        <li><tt>DECAC</tt>, to update default
1397        foreground/background, respond to <tt>DECRQSS</tt></li>
1398
1399        <li><tt>DECATC</tt>, to respond with <tt>DECRQSS</tt></li>
1400      </ul>
1401    </li>
1402
1403    <li>prevent Unicode non-characters from being printed (prompted
1404    by patch by Grady Martin).</li>
1405
1406    <li>modify <tt>send_SGR()</tt> to avoid modifying colors 16 to
1407    255 in printed output (patch by Grady Martin).</li>
1408
1409    <li>minor cleanup of miscellaneous error-codes with
1410    <tt>ERROR_MISC</tt>.</li>
1411
1412    <li>remove legacy <tt><em>CSI</em> 53</tt> for locator status,
1413    corrected in <a href="#xterm_294">patch #294</a>.</li>
1414
1415    <li>modify <tt>DECRQUPSS</tt> and <tt>DECAUPSS</tt> feature to
1416    support VT5xx character sets (report by Thomas Wolff).</li>
1417
1418    <li>improve configure script:
1419      <ul>
1420        <li>reduce configure-check compiler warnings (prompted by
1421        Florian Weimer, Redhat #2251945)</li>
1422
1423        <li>improve usage messages in configure script to make it
1424        clearer when an option value is optional.</li>
1425      </ul>
1426    </li>
1427
1428    <li>improve EWMH handling (report/analysis by Edward Rosten)
1429      <ul>
1430        <li>reset <tt>_NET_WM_STATE_HIDDEN</tt> flag from
1431        <tt>_NET_WM_STATE</tt> before mapping the window to
1432        deiconify.</li>
1433
1434        <li>cache X properties to reduce latency (adapted from
1435        patch by Edward Rosten).</li>
1436      </ul>
1437    </li>
1438  </ul>
1439
1440  <h1><a name="xterm_388" id="xterm_388">Patch #388 -
1441  2023/10/22</a></h1>
1442
1443  <ul>
1444    <li>improve <tt>disallowPasteControls</tt> by adding a category
1445    for the special characters known to <tt>stty</tt> (prompted by
1446    discussion with David Leadbeater).</li>
1447
1448    <li>amend support of <tt>DECAUPSS</tt>, undoing change to
1449    initialization of G2/G3 so that pasting of GR characters works
1450    properly (report/analysis by Petri Kaukasoina).</li>
1451
1452    <li>update config.guess, config.sub</li>
1453  </ul>
1454
1455  <h1><a name="xterm_387" id="xterm_387">Patch #387 -
1456  2023/10/15</a></h1>
1457
1458  <ul>
1459    <li>add <tt>DECRQUPSS</tt> and <tt>DECAUPSS</tt>.</li>
1460
1461    <li>add <tt>DECRQDE</tt> (report by Jake Hamby).</li>
1462
1463    <li>correct indexing expression in title-stack, from <a href=
1464    "#xterm_385">patch #385</a> changes (report by Brian
1465    Lindholm).</li>
1466  </ul>
1467
1468  <h1><a name="xterm_386" id="xterm_386">Patch #386 -
1469  2023/10/09</a></h1>
1470
1471  <ul>
1472    <li>improve references in <tt>ctlseqs.ms</tt> (prompted by
1473    discussion with Kirill Chibisov).</li>
1474
1475    <li>make the maximum amount of memory used for buffering DCS
1476    and OSC strings configurable with <tt>maxStringParse</tt>
1477    resource (report by Daniel Franke).</li>
1478
1479    <li>improve performance of ReGIS when initializing the largest
1480    fontsize (report by Ben Wong).</li>
1481
1482    <li>fix regression in SIXEL colors, in <a href=
1483    "#xterm_385">patch #385</a> (report/patch by Jonny
1484    Langley).</li>
1485
1486    <li>fix typo in <code>--with-wtmp</code> (report/patch by Sven
1487    Joachim)</li>
1488  </ul>
1489
1490  <h1><a name="xterm_385" id="xterm_385">Patch #385 -
1491  2023/10/01</a></h1>
1492
1493  <ul>
1494    <li>fixes for ReGIS (report by Ben Wong).
1495      <ul>
1496        <li>correct conversion from HLS to RGB</li>
1497
1498        <li>improve font-caching performance.</li>
1499      </ul>
1500    </li>
1501
1502    <li>update tables in <code>wcwidth.c</code> based on Unicode
1503    15.1.0</li>
1504
1505    <li>improve <code>fastScroll</code> resource:
1506      <ul>
1507        <li>suppress screen-refreshes for carriage-returns</li>
1508
1509        <li>add <code>-jf</code> option to simplify use of this
1510        resource.</li>
1511
1512        <li>add a control sequence for enabling/disabling the
1513        resource.</li>
1514
1515        <li>enable this feature by default</li>
1516      </ul>
1517    </li>
1518
1519    <li>extend title-stack feature to allow an additional parameter
1520    to directly access the stack, like the
1521    <code>XTPUSHCOLORS</code> and <code>XTPOPCOLORS</code>
1522    feature.</li>
1523
1524    <li>correct size and position of box shown for double-cell
1525    character which happens to be missing from the bitmap font
1526    (report by Peter Fabinski).</li>
1527
1528    <li>improved configure script:
1529      <ul>
1530        <li>add pattern for uClibc-ng to <tt>CF_XOPEN_SOURCE</tt>
1531        (report/patch by Waldemar Brodkorb).</li>
1532
1533        <li>add configure options <tt>--with-utmp-path</tt> and
1534        <tt>--with-wtmp-path</tt> to override configure script's
1535        check for utmp/wtmp pathnames which are shown in the manual
1536        (Debian #1042767).</li>
1537
1538        <li><tt>CF_XOPEN_SOURCE</tt> provides for defining
1539        <tt>_DEFAULT_SOURCE</tt> for MinGW32 and MinGW64.</li>
1540
1541        <li>sed expression used to report gcc version now works
1542        with MinGW</li>
1543      </ul>
1544    </li>
1545
1546    <li>ensure that line-attributes are reset after drawing missing
1547    character (report by Christian Weisgerber).</li>
1548
1549    <li>update config.guess, config.sub</li>
1550  </ul>
1551
1552  <h1><a name="xterm_384" id="xterm_384">Patch #384 -
1553  2023/07/10</a></h1>
1554
1555  <ul>
1556    <li>exclude ASCII space from <code>showMissingGlyphs</code>,
1557    since a few bitmap fonts lack this (report by "SanRemo",
1558    Emanuel Haupt).</li>
1559
1560    <li>correct a step in rendering double-width characters with
1561    bitmap-fonts (report by Peter Fabinski, Debian #1039986).</li>
1562
1563    <li>fixes for ReGIS-related problems (report by Ben Wong):
1564      <ul>
1565        <li>mimic an undocumented hardware VT340 feature which
1566        handles color initialization with incomplete
1567        parameters.</li>
1568
1569        <li>handle whitespace between operator/operands for color
1570        values.</li>
1571
1572        <li>reset ReGIS-context when resetting graphics in
1573        <tt>RIS</tt>.</li>
1574      </ul>
1575    </li>
1576  </ul>
1577
1578  <h1><a name="xterm_383" id="xterm_383">Patch #383 -
1579  2023/06/27</a></h1>
1580
1581  <ul>
1582    <li>expand description of full- and soft-reset in the
1583    manual.</li>
1584
1585    <li>fixes for full- and soft-reset:
1586      <ul>
1587        <li>clear alternate screen on full reset.</li>
1588
1589        <li>disable menu-entry for active icon; it merely shows
1590        whether the feature is enabled.</li>
1591
1592        <li>use <tt>appcursorDefault</tt> and
1593        <tt>appkeypadDefault</tt> resources for reset of
1594        <tt>DECCKM</tt> and <tt>DECKPAM</tt>.</li>
1595
1596        <li>save initial resource values for
1597        <tt>sixelScrolling</tt> and <tt>privateColorRegisters</tt>,
1598        using those in full reset.</li>
1599
1600        <li>update checkbox for <em>Enable Blinking Cursor</em>
1601        (report by Rajeev V. Pillai).</li>
1602      </ul>
1603    </li>
1604
1605    <li>add reply for <tt>DECSACE</tt> with <tt>DECRQSS</tt>.</li>
1606
1607    <li>modify status-line feature to exit without erasing for
1608    <tt>DECSTR</tt>.</li>
1609
1610    <li>add private mode <tt>1045</tt> which imitates the original
1611    xterm cursor-back reverse wrapping mode <tt>45</tt> (see
1612    <a href="#xterm_380">patch #380</a>).</li>
1613
1614    <li>improve checks for non-Unicode values, e.g., in
1615    <tt>DECRQCRA</tt>.</li>
1616
1617    <li>re-checkout from RCS archive to fix stale identifiers
1618    (report by Sven Joachim).</li>
1619  </ul>
1620
1621  <h1><a name="xterm_382" id="xterm_382">Patch #382 -
1622  2023/05/30</a></h1>
1623
1624  <ul>
1625    <li>amend change to <tt>CursorBack</tt> in <a href=
1626    "#xterm_380">patch #380</a>, allowing the result to be on the
1627    hidden right-half of double-cell characters (report by Rajeev
1628    V. Pillai).</li>
1629
1630    <li>amend <tt>xtermDrawString</tt>, fixing regression with
1631    <tt>--disable-wide-chars</tt> configuration from <a href=
1632    "#xterm_380">patch #380</a>.</li>
1633
1634    <li>corrected pathname for <tt>run-tic.sh</tt>, for full
1635    install in an out-of-tree build (report by Rajeev V.
1636    Pillai).</li>
1637  </ul>
1638
1639  <h1><a name="xterm_381" id="xterm_381">Patch #381 -
1640  2023/05/28</a></h1>
1641
1642  <ul>
1643    <li>fix a regression in wide bitmap fonts versus check for
1644    missing glyphs (report by Rajeev V. Pillai).</li>
1645  </ul>
1646
1647  <h1><a name="xterm_380" id="xterm_380">Patch #380 -
1648  2023/05/09</a></h1>
1649
1650  <ul>
1651    <li>simplify the change for <code>sixelScrolling</code> from
1652    <a href="#xterm_374">patch #374</a> (report by Per
1653    Bothner).</li>
1654
1655    <li>add <tt>xterm+focus</tt> and <tt>report+da2</tt>, update
1656    <tt>report+version</tt> building blocks in terminfo, from
1657    post-ncurses 6.4</li>
1658
1659    <li>drop the <tt>-title</tt> option from <tt>uxterm</tt> and
1660    <tt>koi8rxterm</tt>, because that interferes with deriving the
1661    default title from the <tt>-e</tt> option (Debian #1031837).
1662    Compensate for this by using the <tt>-class</tt> option to
1663    derive a default title.</li>
1664
1665    <li>improve description of readline 2003 mode in
1666    <tt>ctlseqs.ms</tt> (report by Thomas Wolff).</li>
1667
1668    <li>other improvements to status-line feature (report by Thomas
1669    Wolff):
1670      <ul>
1671        <li>clear status line on <tt>DECCOLM</tt></li>
1672
1673        <li>ignore <tt>DECSASD</tt> if no previous
1674        <tt>DECSSDT</tt></li>
1675
1676        <li>allow <tt>DECSSDT&nbsp;1</tt> immediately after
1677        <tt>DECSSDT&nbsp;2</tt>, i.e., without switching back to
1678        host mode.</li>
1679      </ul>
1680    </li>
1681
1682    <li>adjust <tt>RequestResize</tt> to avoid shrinking screen
1683    when using <tt>DECCOLM</tt> while the status-line is active
1684    (report/patch by Thomas Wolff).</li>
1685
1686    <li>disallow wrapping before the beginning of the screen, to
1687    the end of the screen, for cursor-back sequences (Redhat
1688    #2182357).</li>
1689
1690    <li>modify makefile to install the 16x16 xpm files (report by
1691    Harald Dunkel).</li>
1692
1693    <li>update test-package to reflect resolution of Debian
1694    #906901.</li>
1695
1696    <li>change default of <code>showMissingGlyphs</code> to
1697    <em>True</em>.</li>
1698
1699    <li>improve handling of double-sized characters when those
1700    happen to be missing from the bitmap font and/or are
1701    fullwidth.</li>
1702
1703    <li>pointer/overflow fixes (reported by David Leadbeater):
1704      <ul>
1705        <li>improve limit-checks for control-sequence numeric
1706        parameters in SIXEL graphics.</li>
1707
1708        <li>add null-pointer checks in <tt>WriteNow</tt> macro to
1709        handle a case where <tt>SS2</tt> or <tt>SS3</tt> might be
1710        in effect while processing a combining character.</li>
1711
1712        <li>disallow ReGIS reporting for character-set names
1713        containing characters other than alphanumerics or
1714        underscore.</li>
1715
1716        <li>implement TrueType fallback font for double-sized
1717        characters, including Unicode fullwidth. Also add
1718        <tt>limitFontHeight</tt> to provide for configuring the
1719        distinction between slightly-oversized glyphs and
1720        double-sized glyphs.</li>
1721      </ul>
1722    </li>
1723
1724    <li>configure script improvements:
1725      <ul>
1726        <li>check for <tt>nfsd_t</tt></li>
1727      </ul>
1728    </li>
1729
1730    <li>fix a typo in the underline cursor thickness derivation
1731    (patch by Jan Engelhardt).</li>
1732  </ul>
1733
1734  <h1><a name="xterm_379" id="xterm_379">Patch #379 -
1735  2023/02/15</a></h1>
1736
1737  <ul>
1738    <li>improve text-cursor (patch by Jan Engelhardt):
1739      <ul>
1740        <li>allow selecting <tt>CURSOR_BAR</tt> mode from
1741        command-line/Xresources.</li>
1742
1743        <li>draw cursor using filled rectangle instead of rectangle
1744        outline to permit thicker underlines/bars.</li>
1745
1746        <li>scale up cursor relative to font size.</li>
1747      </ul>
1748    </li>
1749
1750    <li>improve readline modes (Fedora #2166860):
1751      <ul>
1752        <li>document readline modes</li>
1753
1754        <li>change the feature to configure by default</li>
1755
1756        <li>replace hard-coded SS3 for cursor movement with current
1757        mode</li>
1758
1759        <li>replace hard-coded erase/lnext characters with current
1760        values</li>
1761      </ul>
1762    </li>
1763
1764    <li>improve status-line (report by Thomas Wolff):
1765      <ul>
1766        <li><tt>RIS</tt> turns off status-line</li>
1767
1768        <li>Right-margin (<tt>DECLRMM</tt> and <tt>DECSLRM</tt>)
1769        limits the length of text written/updated in the
1770        status-line.</li>
1771
1772        <li>Most controls which affect the whole screen are ignored
1773        while updating the status-line.</li>
1774      </ul>
1775    </li>
1776
1777    <li>modify configure check for <tt>tgetent</tt> to allow for
1778    some special cases of ncurses configuration (report by Satadru
1779    Pramani).</li>
1780
1781    <li>reduce timeout, improve warning message if resize is run on
1782    a terminal which is not VT100-compatible.</li>
1783
1784    <li>reduce compiler warnings in configure script.</li>
1785  </ul>
1786
1787  <h1><a name="xterm_378" id="xterm_378">Patch #378 -
1788  2023/01/09</a></h1>
1789
1790  <ul>
1791    <li>improve descriptions of <em>XTQMODKEYS</em> and
1792    <em>XTQALLOWED</em> features in <tt>ctlseqs.ms</tt> (reports by
1793    Bram Moolenaar, Thomas Wolff).</li>
1794
1795    <li>add <tt>bracketed+paste</tt> and <tt>report+version</tt>
1796    building blocks to terminfo, from ncurses 6.4</li>
1797
1798    <li>improve check for unsupported formatting characters, e.g.,
1799    zero-width space, to properly ignore them (report by Thomas
1800    Wolff).</li>
1801
1802    <li>improve/document error-checking for some of the controls
1803    which return responses: DECRQSS, XTGETXRES, XTSETTCAP,
1804    XTGETTCAP (prompted by discussion with David Leadbeater).</li>
1805
1806    <li>improve limit-checks for fallback font cache (report by
1807    Dimitrije Erdeljan).</li>
1808
1809    <li>improve check for too-wide glyph in fallback font by
1810    allowing xterm to continue searching for a suitable font rather
1811    than just failing on the first. Also add
1812    <tt>limitFontWidth</tt> to allow changing the amount by which a
1813    glyph must extend outside the font's bounding box to disallow
1814    it.</li>
1815  </ul>
1816
1817  <h1><a name="xterm_377" id="xterm_377">Patch #377 -
1818  2022/11/25</a></h1>
1819
1820  <ul>
1821    <li>add control sequences for reporting the current state of
1822    the modified keys options (XTQMODKEYS) and allowed/disallowed
1823    operations (XTQALLOWED), (prompted by discussion with Bram
1824    Moolenaar).</li>
1825
1826    <li>amend <code>modifyOtherKeys</code> case 2 to distinguish
1827    the escape character with modifiers, e.g., shift-escape, from a
1828    plain escape character (suggested by Bram Moolenaar).</li>
1829
1830    <li>improve parsing and error-recovery in the case where a list
1831    of X11 bitmap fonts is given in the <code>-fn</code> and
1832    related options.</li>
1833
1834    <li>change default for <code>xftTrackMemUsage</code> to false,
1835    because libXft does not handle certain fonts.</li>
1836  </ul>
1837
1838  <h1><a name="xterm_376" id="xterm_376">Patch #376 -
1839  2022/11/16</a></h1>
1840
1841  <ul>
1842    <li>modify configure script to always check for gcc
1843    attributes,</li>
1844
1845    <li>update <code>install-sh</code>.</li>
1846
1847    <li>fix parsing of <code>result&nbsp;-u</code> in
1848    <code>vttests/halves.pl</code>.</li>
1849
1850    <li>add a note in <code>ctlseqs.ms</code> about compatibility
1851    of <code>TBC</code>.</li>
1852
1853    <li>fix a copy/paste error in manual (patch by Grady
1854    Martin).</li>
1855
1856    <li>add null-pointer checks in <code>x_strcasecmp</code> and
1857    <code>x_strncasecmp</code>, to help with error-recovery for a
1858    missing font (Debian #1022942).</li>
1859  </ul>
1860
1861  <h1><a name="xterm_375" id="xterm_375">Patch #375 -
1862  2022/10/23</a></h1>
1863
1864  <ul>
1865    <li>improve error-recovery when setting a bitmap font for the
1866    VT100 window, e.g., in case <em>OSC&nbsp;50</em> failed,
1867    restoring the most recent valid font so that a subsequent
1868    <em>OSC&nbsp;50</em> reports this correctly (report by David
1869    Leadbeater).</li>
1870
1871    <li>exclude <code>MC_XDG_OPEN</code> from environment variables
1872    trimmed on startup (report by Gabor Hauzer).</li>
1873
1874    <li>check for null pointer in <code>isSelect()</code> (report
1875    by Column Paget).</li>
1876  </ul>
1877
1878  <h1><a name="xterm_374" id="xterm_374">Patch #374 -
1879  2022/10/10</a></h1>
1880
1881  <ul>
1882    <li>eliminate use of grep aliases from vttests scripts.</li>
1883
1884    <li>amend discussion of <code>DECSDM</code> versus <em>Sixel
1885    Scrolling</em> in <code>ctlseqs.ms</code> (reports by Hayaki
1886    Saito, Ben Wong).</li>
1887
1888    <li>change default for <code>sixelScrolling</code> resource to
1889    better match VT330/VT340 <code>DECSDM</code> setting (patch by
1890    Ben Wong).</li>
1891
1892    <li>fix some gcc and coverity warnings.</li>
1893
1894    <li>improve memory usage for <tt>OSC&nbsp;52</tt> (report by
1895    David Leadbeater).</li>
1896
1897    <li>fix regression in <a href="#xterm_373">xterm-373</a> change
1898    adding resources <tt>xftTrackMemUsage</tt> to
1899    <tt>xftMaxGlyphMemory</tt>, which did not first cache the
1900    server's resource-settings (report/testcase by Gabor Hauzer, as
1901    well as Debian #1021243).</li>
1902
1903    <li>fix regression in <a href="#xterm_373">xterm-373</a> change
1904    for status-line vs alternate screen (report by Rajeev V.
1905    Pillai).</li>
1906
1907    <li>configure script improvements:
1908      <ul>
1909        <li>modify <tt>CF_XOPEN_SOURCE</tt> to handle more special
1910        cases of Linux (reports by Adam Sampson, Sven
1911        Joachim).</li>
1912
1913        <li>modify checks for egrep/fgrep aliases to work around
1914        warning messages from GNU grep 3.8</li>
1915      </ul>
1916    </li>
1917  </ul>
1918
1919  <h1><a name="xterm_373" id="xterm_373">Patch #373 -
1920  2022/09/25</a></h1>
1921
1922  <ul>
1923    <li>improve rendering of TrueType fonts:
1924      <ul>
1925        <li>add resource <tt>xftTrackMemUsage</tt> to
1926        enable/disable a new feature of Xft which improves
1927        performance.</li>
1928
1929        <li>add resources <tt>xftMaxGlyphMemory</tt> and
1930        <tt>xftMaxUnrefFonts</tt> to customize memory-usage of Xft
1931        and fontconfig.</li>
1932
1933        <li>provide for display of colored fonts in libXft
1934        2.3.5</li>
1935
1936        <li>allow for an extra TrueType font to be specified using
1937        the <code>-fa</code> option, as an override to the
1938        <em>fontconfig</em> scheme of fallback fonts (request by
1939        Nickolas Raymond Kaczynski).</li>
1940
1941        <li>improve caching of TrueType missing-glyph tests.</li>
1942
1943        <li>allow no more than 255 fonts to be scanned for a
1944        fontset.</li>
1945
1946        <li>eliminate a table-lookup in <tt>findXftGlyph</tt></li>
1947      </ul>
1948    </li>
1949
1950    <li>improvements status-line feature:
1951      <ul>
1952        <li>save/restore wraparound flag when updating the
1953        status-line (report by Rajeev V. Pillai).</li>
1954
1955        <li>avoid clearing the status-line when switching between
1956        normal and alternate screens (report by Valtteri
1957        Vuorikoski).</li>
1958
1959        <li>remove adjustment from <tt>update_winsize</tt> leftover
1960        from initial work (report by Valtteri Vuorikoski).</li>
1961      </ul>
1962    </li>
1963
1964    <li>modify <tt>wcwidth</tt> tables to separate Unicode
1965    <em>Cf</em> category as <em>formatting</em> control-characters,
1966    to better match the guideline for <a href=
1967    "http://www.unicode.org/faq/unsup_char.html">unsupported
1968    characters</a> (report by Tim Chase).</li>
1969
1970    <li>add configure option
1971    <tt>--disable-exec-selection</tt>.</li>
1972
1973    <li>use <tt>mkstemp</tt> where <tt>mkdtemp</tt> is unavailable,
1974    when initializing colored cursor.</li>
1975
1976    <li>adapt fixes from OpenBSD xenocara:
1977      <ul>
1978        <li>improve ifdef's for a few optional features.</li>
1979
1980        <li>correct <tt>#ifdef</tt> to <tt>#if</tt> in a few uses
1981        of <tt>OPT_PRINT_ON_EXIT</tt>.</li>
1982      </ul>
1983    </li>
1984
1985    <li>set <tt>StartupWMClass</tt> in
1986    &ldquo;<tt>.desktop</tt>&rdquo; files, e.g., to help
1987    <tt>cinnamon-session</tt> notice that xterm sets
1988    <tt>WM_CLASS</tt> and use its icon (patch by Richard de
1989    Boer).</li>
1990
1991    <li>disable pixel computation when rgb width is greater than 8,
1992    to work with depth 30 (patch by Denis Kaganovich).</li>
1993
1994    <li>improve color-computation for SGR 2 faint/dim (patch by
1995    Boian Bonev). Add resource <tt>faintIsRelative</tt> to specify
1996    if the modified computation should be used (prompted by
1997    discussion with Matthieu Herrb).</li>
1998
1999    <li>correct comparison-length for environment variable cleanup
2000    (patch by Brendan O' Dea).</li>
2001
2002    <li>correct <tt>dsl</tt> capability for <tt>dec+sl</tt> block
2003    in terminfo (report by Rajeev V. Pillai).</li>
2004
2005    <li>improve output formatting by <tt>vttests/utf8.pl</tt></li>
2006
2007    <li>repair test/demo scripts still using "vxt-" prefix, some
2008    cleanup with shellcheck.</li>
2009
2010    <li>enable page-number for <tt>DECXCPR</tt> response in
2011    VT330.</li>
2012
2013    <li>amend change for combining characters in <a href=
2014    "#xterm_371">patch #371</a> to limit it to the
2015    currently-defined codes (report by Thomas Wolff).</li>
2016
2017    <li>add directory-template parameter to <tt>mktemp</tt> in
2018    shell-scripts to improve portability to older systems (patch by
2019    Ryan Schmidt).</li>
2020
2021    <li>mention webpage <a href=
2022    "https://invisible-island.net/xterm/xterm-paste64.html"><em>XTerm
2023    &ndash; bracketed-paste</em></a> in
2024    <code>ctlseqs.ms</code></li>
2025
2026    <li>update manual-page descriptions for
2027    <code>allowPasteControls</code> and
2028    <code>disallowedPasteControls</code> (<a href=
2029    "#xterm_363">patch #363</a>).</li>
2030
2031    <li>further extended list of environment variables to purge on
2032    startup (suggested by Thomas Wolff).</li>
2033
2034    <li>update config.guess, config.sub</li>
2035  </ul>
2036
2037  <h1><a name="xterm_372" id="xterm_372">Patch #372 -
2038  2022/03/09</a></h1>
2039
2040  <ul>
2041    <li>amend allocation/freeing of scrollback lines, eliminating
2042    an adjustment for status-line added in <a href=
2043    "#xterm_371">patch #371</a> (report/testcase by Rajeev V.
2044    Pillai).</li>
2045  </ul>
2046
2047  <h1><a name="xterm_371" id="xterm_371">Patch #371 -
2048  2022/02/24</a></h1>
2049
2050  <ul>
2051    <li>drop double-buffer default from test-packages, since that
2052    interferes with status-line.</li>
2053
2054    <li>add <code>faceSize7</code> to table in
2055    <code>charproc.c</code>, overlooked in <a href=
2056    "#xterm_360">patch #360</a> (patch by Vladimir A. Pavlov).</li>
2057
2058    <li>use <code>XDrawString</code> rather than
2059    <code>XDrawString16</code> for text when the latter is not
2060    needed.</li>
2061
2062    <li>improve performance for initializing/reusing graphic
2063    objects in the SIXEL feature.</li>
2064
2065    <li>improve error-checking for <code>resize</code>.</li>
2066
2067    <li>fix errata in manual page (Debian #988221).</li>
2068
2069    <li>extended list of environment variables to purge on startup,
2070    i.e., in case a user starts xterm from another terminal
2071    emulator.</li>
2072
2073    <li>add comment in <code>cursor.c</code> to explain why
2074    autowrap (<code>DECAWM</code>) does not apply to data
2075    saved/restored with save/restore cursor-operations (report by
2076    Thomas Wolff).</li>
2077
2078    <li>add special case in generating the combining-character
2079    table in <code>wcwidth.c</code>, for Hangul Jamo Extended-B
2080    (report by Luis Javier Merino).</li>
2081
2082    <li>simplify/improve portability of <code>trap</code> commands
2083    in shell-scripts.</li>
2084
2085    <li>update configure options<br>
2086    <code>--disable-rectangles</code>,<br>
2087    <code>--disable-tcap-fkeys</code> and<br>
2088    <code>--disable-tcap-query</code><br>
2089    to account for changed default settings.</li>
2090
2091    <li>rather than ignore empty parameter for setting title, use
2092    that to reset it to &ldquo;xterm&rdquo; for scripting.</li>
2093
2094    <li>check for out-of-bounds condition while drawing sixels, and
2095    quit that operation (report by Nick Black).</li>
2096
2097    <li>add fallback definition for <code>PROJECTROOT</code> so
2098    that a suitable default location for <code>luit</code> will be
2099    compiled-in on build-servers.</li>
2100
2101    <li>implement DEC status-line controls DECSASD/DECSSDT:
2102      <ul>
2103        <li>decode controls, set state</li>
2104
2105        <li>implement DECRQSS responses</li>
2106
2107        <li>implement indicator-style status-line</li>
2108
2109        <li>add configure option
2110        <code>--enable-status-line</code></li>
2111
2112        <li>add resource <code>indicatorFormat</code></li>
2113
2114        <li>implement host-writable status-line, able to handle
2115        video-attributes and simple left/right cursor movement.
2116        This disallows all of the DEC/xterm private modes such as
2117        switching to/from the alternate screen.</li>
2118
2119        <li>move the status-line if the window is resized.</li>
2120
2121        <li><em>Note:</em> the associated screen-resizing does not
2122        work for the special case of TrueType fonts with
2123        double-buffering (see note in <a href=
2124        "#xterm_349_xft_bug">patch #349</a>).</li>
2125      </ul>
2126    </li>
2127
2128    <li>modify configure-script fixup for <code>-Werror</code>
2129    options to exclude fixup for <code>-Werror=format</code>, e.g.,
2130    <code>-Werror=format-security</code>.</li>
2131
2132    <li>amend change from <a href="#xterm_370">patch #370</a>; DEC
2133    070's pseudo-code for DECCOLM incorrectly suggests that it
2134    enables DECLRMM as a side-effect.</li>
2135
2136    <li>fix some memory leaks seen using esctest and asan2 (patch
2137    by Luis Javier Merino).</li>
2138  </ul>
2139
2140  <h1><a name="xterm_370" id="xterm_370">Patch #370 -
2141  2021/11/13</a></h1>
2142
2143  <ul>
2144    <li>add <code>-a</code>, <code>-c</code> and <code>-d</code>
2145    options to <code>query-status.pl</code> to improve test for
2146    <code>DECRQSS</code>.</li>
2147
2148    <li>expanded discussion of maximum graphics geometry in
2149    <code>ctlseqs.ms</code> (suggested by Bon Wong).</li>
2150
2151    <li>corrected parameter symbol for <code>DECCARA</code> and
2152    <code>DECRARA</code> in <code>ctlseqs.ms</code> to indicate
2153    that multiple parameters may be used (report by Thomas
2154    Wolff).</li>
2155
2156    <li>add several test/demo scripts.</li>
2157
2158    <li>improve <code>DECCOLM</code>, <code>DECLRMM</code> and
2159    <code>DECALN</code> referring to pseudo-code in DEC 070.</li>
2160
2161    <li>amend a change in patch #348 which caused left/right margin
2162    mode to be reset when resizing the terminal window (report by
2163    Valentine Barshak).</li>
2164
2165    <li>fix a misnamed macro-parameter (patch by Rajeev V.
2166    Pillai).</li>
2167
2168    <li>fix spacing of <code>wideFont</code> when its width is not
2169    exactly twice as wide as the normal font (report by Rajeev V.
2170    Pillai).</li>
2171
2172    <li>suppress loading of italic font in a few places when
2173    <code>colorITmode</code> is enabled (report/analysis by Rajeev
2174    V. Pillai).</li>
2175
2176    <li>modify <code>XTSMGRAPHICS</code> to return failure status
2177    if the terminal is not configured to support the corresponding
2178    ReGIS or SIXEL feature (report by Nick Black, notcurses #2252,
2179    notcurses #2257).</li>
2180
2181    <li>modify <code>DECERA</code> and <code>DECFRA</code> to erase
2182    corresponding area in SIXEL graphics (patch by Nick Black,
2183    notcurses #1740, vt340test #16). Also modify
2184    <code>DECSERA</code>.</li>
2185
2186    <li>equate visuals for TrueColor and DirectColor (patch by
2187    Denis Kaganovich).</li>
2188
2189    <li>correct computation for pixel value of rgb when using depth
2190    16 (report by Denis Kaganovich).</li>
2191
2192    <li>correct wrapping of VT100-style double-sized characters
2193    when configured for Unicode wide-characters (report by Luis
2194    Javier Merino).</li>
2195
2196    <li>updated default value for <code>sixelScrolling</code>
2197    resource to match expected behavior versus <code>DECSDM</code>
2198    change in <a href="#xterm_369">patch #369</a> (report by Grant
2199    Taylor).</li>
2200  </ul>
2201
2202  <h1><a name="xterm_369" id="xterm_369">Patch #369 -
2203  2021/09/21</a></h1>
2204
2205  <ul>
2206    <li>modify <code>run-tic.sh</code> to work around bug in
2207    development version of ncurses which was packaged in FreeBSD
2208    ports.</li>
2209
2210    <li>remove ifdef's for <code>OPT_COLOR_RES</code> and
2211    <code>OPT_COLOR_RES2</code>.</li>
2212
2213    <li>improve performance over slow connections (report by Harald
2214    Dunkel).</li>
2215
2216    <li>update cursor if restoring mode for DECTCEM.</li>
2217
2218    <li>modify <code>CharWidth</code> macro to ensure that the
2219    shortcut for Latin-1 is only applied when UTF-8 is not enabled,
2220    to fix a bug in handling soft-hyphen from <a href=
2221    "#xterm_334">patch #334</a> changes (patch by Martijn van
2222    Duren).</li>
2223
2224    <li>improve terminfo:
2225      <ul>
2226        <li>fill-in function-keys in terminfo which are not Sun/HP
2227        keyboards using <code>xterm+nopcfkeys</code>
2228        building-block.</li>
2229
2230        <li>add kbeg to xterm+keypad to accommodate termcap
2231        applications</li>
2232
2233        <li>add smglp and smgrp to vt420+lrmm, to provide useful
2234        data for the "tabs" <code><strong>+m</strong></code>
2235        option</li>
2236      </ul>
2237    </li>
2238
2239    <li>support shift-tab in Sun, HP and SCO keyboards.</li>
2240
2241    <li>document some legacy features in <code>ctlseqs.ms</code>
2242    (prompted by discussion with Jimmy Aguilar Mena "Ergus").</li>
2243
2244    <li>add &ldquo;trim&rdquo; option to <code>cdXtraScroll</code>
2245    and <code>tiXtraScroll</code>.</li>
2246
2247    <li>remove support for non-fifo save-lines configuration.</li>
2248
2249    <li>extend <code>cdXtraScroll</code> to check if the cursor is
2250    at the upper-left of the scrolling region when the erasure is
2251    for the remainder of the screen versus the whole screen
2252    (prompted by discussion with J&ouml;rg Breitbart).</li>
2253
2254    <li>add workaround for broken pcre2 package in Debian 10.</li>
2255
2256    <li>change screen-refresh call used for <code>DECCARA</code>
2257    and <code>DECRARA</code> to ensure that trailing blanks which
2258    are part of the rectangle are repainted (report/analysis by
2259    Dennis Filder).</li>
2260
2261    <li>when resetting the terminal, ensure that the cursor shape
2262    also is reset, e.g., if <code>DECSCUSR</code> has been used to
2263    modify the cursor shape for an xterm which was started with the
2264    underlined cursor option (report/analysis by Luis Javier
2265    Merino).</li>
2266
2267    <li>prevent <code>DECSCUSR</code> from blinking the cursor if
2268    the <code>cursorBlink</code> resource is &ldquo;never&rdquo;
2269    (report by Vladimir D Seleznev).</li>
2270
2271    <li>invert the sense of <code>DECSDM</code>, to correspond with
2272    VT382 manuals (lsix #41).</li>
2273
2274    <li>update tables in <code>wcwidth.c</code> based on Unicode
2275    14.0.0</li>
2276  </ul>
2277
2278  <h1><a name="xterm_368" id="xterm_368">Patch #368 -
2279  2021/06/07</a></h1>
2280
2281  <ul>
2282    <li>add <code>DefaultOff</code> option to
2283    <code>RenderFont</code> resource, as part of the
2284    session-management feature.</li>
2285
2286    <li>add auto-scroll-lock feature (patch by Stelios
2287    Bounanos).</li>
2288
2289    <li>update the window-size information returned via
2290    <code>TIOCGWINSZ</code> when rows/columns are unchanged but the
2291    font-size changes (report by Nick Black).</li>
2292
2293    <li>improve session-management feature by saving/restoring the
2294    font settings.</li>
2295
2296    <li>update config.guess, config.sub</li>
2297  </ul>
2298
2299  <h1><a name="xterm_367" id="xterm_367">Patch #367 -
2300  2021/03/26</a></h1>
2301
2302  <ul>
2303    <li>add <code>OSC&nbsp;22</code> to allow programs to select
2304    different pointer cursor at runtime.</li>
2305
2306    <li>change configuration for <em>no-return</em> functions to
2307    use <code>_Noreturn</code> when it is available, because
2308    <code>clang --analyze</code> does not properly handle the gcc
2309    noreturn attribute.</li>
2310
2311    <li>add <code>cursorTheme</code> resource to provide a way to
2312    enable or disable the cursor theme feature.</li>
2313
2314    <li>modified <code>CopyWait</code> event retries to use shorter
2315    sleeps, to improve responsiveness (tmux #2556).</li>
2316
2317    <li>improve quoting/escaping in demo-scripts per
2318    shellcheck.</li>
2319
2320    <li>add <code>resizeByPixel</code> resource, to permit
2321    disabling window manager resizing-hints (patch by Tim
2322    Oehl).</li>
2323
2324    <li>corrected <code>printOptsImmediate</code> handling of
2325    alternate-screen (report by Abhijit Dasgupta).</li>
2326
2327    <li>update sample terminfo to more closely match ncurses.</li>
2328
2329    <li>add/improve limit-checks for Xlib calls (report by Roman
2330    Fiedler).</li>
2331
2332    <li>fix a typo in the help-message (report by Tomas
2333    Korbar).</li>
2334  </ul>
2335
2336  <h1><a name="xterm_366" id="xterm_366">Patch #366 -
2337  2021/02/10</a></h1>
2338
2339  <ul>
2340    <li>correct a compiler-warning fix in <a href=
2341    "#xterm_352">patch #352</a> which allowed sign-extension of
2342    coordinate values (report by "CismonX").</li>
2343
2344    <li>correct upper-limit for selection buffer, accounting for
2345    combining characters (report/testcase by Tavis Ormandy).</li>
2346
2347    <li>with <code>alwaysHighlight</code> true, xterm does not
2348    properly track focus. The <em>screen-&gt;select</em>
2349    <code>FOCUS</code> flag remains always on, which prevents
2350    <code>bellIsUrgent</code> from working, as the urgent
2351    <code>WM_HINT</code> flag is only set in
2352    <code>setXUrgency()</code> when the window is not focused. Fix
2353    this by updating <em>screen-&gt;select</em> in
2354    <code>unselectwindow()</code> regardless of the value of
2355    <code>always_highlight</code> (patch by Jiri Bohac).</li>
2356
2357    <li>improve fix for interaction between SRM and ENQ (report by
2358    Grant Taylor).</li>
2359
2360    <li>build-fix for <code>--with-Xaw3dxft</code>, needed when
2361    <code>--with-toolbar</code> is omitted (report by Jimmy Olgeni,
2362    Emanuel Haupt).</li>
2363  </ul>
2364
2365  <h1><a name="xterm_365" id="xterm_365">Patch #365 -
2366  2021/02/03</a></h1>
2367
2368  <ul>
2369    <li>amend fix for &ldquo;word&rdquo; selection in <a href=
2370    "#xterm_364">patch #364</a> to limit that to the
2371    <code>insert-selectable</code> <em>action</em>, which reads
2372    data from the screen. This restores the interactive behavior
2373    where double-clicking on a &ldquo;word&rdquo; would make
2374    subsequent selection extensions by words as well as suppressing
2375    some boundary-checks (report by David Wolfskill, FreeBSD
2376    #253225).</li>
2377  </ul>
2378
2379  <h1><a name="xterm_364" id="xterm_364">Patch #364 -
2380  2021/02/02</a></h1>
2381
2382  <ul>
2383    <li>add <code>-fc</code> option.</li>
2384
2385    <li>correct/improve limit-checks for SRM versus ENQ from
2386    <a href="#xterm_344">patch #344</a> (report by Tom
2387    Szilagyi).</li>
2388
2389    <li>enable <code>XftFont</code> resource in Xaw3dxft
2390    configuration (patch by Tavis Ormandy).</li>
2391
2392    <li>improve quoting/escaping in build-scripts per
2393    shellcheck.</li>
2394
2395    <li>add <code>libpcre2-posix</code> to the packages tested for
2396    <code>--with-pcre2</code> option, needed with Fedora (report by
2397    Tomas Korbar).</li>
2398
2399    <li>correct a typo in manual page, and note that
2400    <code>KeepClipboard</code> may not be compiled-in (report/patch
2401    by Sean C Farley).</li>
2402
2403    <li>corrected boundary-checks for &ldquo;word&rdquo; selection
2404    used in <code>on<em>N</em>Clicks</code> resources (report by
2405    Tavis Ormandy).</li>
2406
2407    <li>update to autoconf-2.52-20210101, to improve shellcheck
2408    warnings.</li>
2409
2410    <li>improve configure check for desktop categories.</li>
2411  </ul>
2412
2413  <h1><a name="xterm_363" id="xterm_363">Patch #363 -
2414  2020/12/26</a></h1>
2415
2416  <ul>
2417    <li>disable groff hyphenation in generated html when using
2418    man2html.</li>
2419
2420    <li>change SCS &ldquo;<code>&amp;4</code>&rdquo; Cyrillic to
2421    non-NRCS, per VT520 manual.</li>
2422
2423    <li>amend fix for SCS in <a href="#xterm_198">patch #198</a> to
2424    remove <code>DEL</code> rather than converting it to a space
2425    (report by Thomas Wolff).</li>
2426
2427    <li>modify state transitions for selecting character sets to
2428    eliminate an ambiguity between the &ldquo;A&rdquo; used in
2429    VT220 versus VT320.</li>
2430
2431    <li>improve error recovery when selecting characters by
2432    resetting to US ASCII when no suitable encoding is found, e.g.,
2433    attempting to use an NRCS sequence when NRCS is not
2434    enabled.</li>
2435
2436    <li>turn off hyphenation in &ldquo;<code>.txt</code>&rdquo;
2437    conversion, prompted by groff changes.</li>
2438
2439    <li>add VT5xx ISO Latin-2 (prompted by discussion with Thomas
2440    Wolff).</li>
2441
2442    <li>amend change from <a href="#xterm_361">patch #361</a> to
2443    event-handling in <code>CopyWait</code> to handle active-icon
2444    as a special case (Debian #975687).</li>
2445
2446    <li>add call to <code>loadColorTable</code> to get the visual
2447    information needed to decode BE RGBA32 color format (patch by
2448    Leandro Lupori).</li>
2449
2450    <li>modify the resource-parsing for
2451    <code>disallowedPasteControls</code> and similar lists of
2452    names/numbers to recognize &ldquo;~;&rdquo; (tilde) for
2453    cancelling a given name/number.</li>
2454
2455    <li>add ENQ, EOT and NUL to default for
2456    <code>disallowedPasteControls</code>.</li>
2457
2458    <li>change default for <code>disallowedPasteControls</code> to
2459    omit the tab character (suggested by Harald Dunkel).</li>
2460
2461    <li>fix swapped height/width in <code>regisScreenSize</code>
2462    and <code>maxGraphicSize</code> resources using "auto" value,
2463    from <a href="#xterm_314">patch #314</a> (report by Anton
2464    Lavrentiev)</li>
2465
2466    <li>revise <a href="#xterm_362">patch #362</a> change for
2467    shift-modifier versus mouse protocol and select/paste by adding
2468    resource <code>shiftEscape</code>, which can be enabled via a
2469    control sequence (prompted by discussion with Matthijs van
2470    Duin).</li>
2471
2472    <li>simplify/improve ifdef in trace code for using a separate
2473    set of files for each run of xterm.</li>
2474
2475    <li>add options <code>-r</code> and <code>-t</code> to
2476    <code>vttests/query-color.pl</code> to show the 6-digit RGB
2477    code and actual colors.</li>
2478
2479    <li>add <code>nel</code> to <code>xterm-basic</code>
2480    terminfo.</li>
2481
2482    <li>alter <code>vttests/modify-keys.pl</code> to omit HTML
2483    reference links to the modified-keys table where no keycode was
2484    available.</li>
2485  </ul>
2486
2487  <h1><a name="xterm_362" id="xterm_362">Patch #362 -
2488  2020/11/11</a></h1>
2489
2490  <ul>
2491    <li>cleanup of calls to <code>free</code>, removing checks for
2492    null (Walter Harms).</li>
2493
2494    <li>improved mouse-button reporting (prompted by discussion
2495    with Stephane Chazelas)
2496      <ul>
2497        <li>narrow the scope of the change for shift-key in
2498        <a href="#xterm_361">patch #361</a> to make it apply only
2499        when the <code>modifyOtherKeys</code> resource is set to 2
2500        (i.e., &ldquo;program mode&rdquo;). Also, when checking the
2501        shift-key, ignore modifiers other than shift, control and
2502        &ldquo;meta&rdquo;</li>
2503
2504        <li>use the alt/meta modifier information obtained in
2505        <code>VTInitModifiers</code> to replace a hard-coded
2506        <em>mod1</em> used to detect &ldquo;Meta&rdquo; for
2507        mouse-button responses.</li>
2508      </ul>
2509    </li>
2510
2511    <li>reduce <code>SIGWINCH</code>'s sent to the client by
2512    filtering out duplicates.</li>
2513
2514    <li>improve display when <code>scaleHeight</code> is greater
2515    than 1:
2516      <ul>
2517        <li>the text-cursor is vertically-centered on the current
2518        line, rather than only extending below the current line
2519        (report by Manu Chaturvedi).</li>
2520
2521        <li>the built-in line-drawing characters extend to the
2522        scaled cell-height.</li>
2523      </ul>
2524    </li>
2525
2526    <li>fill-in special case for motion-events to match the changes
2527    for shift-key in pointer-button events from <a href=
2528    "#xterm_361">patch #361</a>.</li>
2529  </ul>
2530
2531  <h1><a name="xterm_361" id="xterm_361">Patch #361 -
2532  2020/10/14</a></h1>
2533
2534  <ul>
2535    <li>treat the return value of <code>strerror</code> as readonly
2536    (patch by Philipp Klaus Krause).</li>
2537
2538    <li>modify event-handling in <code>CopyWait</code> to work
2539    around hanging while writing large amounts of text to an active
2540    icon and at the same time iconifying/deiconifying (report by
2541    Dave Kemper).</li>
2542
2543    <li>initialize double-buffer for active-icon window.</li>
2544
2545    <li>improve manual page description of scrollbar resources
2546    (report by Brian Lindholm).</li>
2547
2548    <li>correct ifdef for menu entry for active-icon, when
2549    initializing it with toolbar configuration.</li>
2550
2551    <li>add preprocessor option to makefile to set internal
2552    definition of pixmaps directory to match the
2553    install-configuration (FreeBSD #250036).</li>
2554
2555    <li>cleanup of calls to <code>free</code>, removing checks for
2556    null (Walter Harms).</li>
2557
2558    <li>add fallback actions <code>pointer-button</code> and
2559    <code>pointer-motion</code> which handle events for the mouse
2560    control-sequences protocol if the <em>select</em>-related
2561    translations are omitted with
2562    <code>*omitTranslation:select</code> (prompted by discussion
2563    with "Ergus")</li>
2564
2565    <li>amend rule for using shift-key to override mouse-protocol
2566    for select/paste to limit that feature to mouse-buttons which
2567    are actually bound to select/paste actions (prompted by
2568    discussion with "Ergus").</li>
2569
2570    <li>corrected mapping in special case for repainting wrap-marks
2571    when viewing the scrollback area.</li>
2572
2573    <li>use separate <em>GCs</em> for <code>showWrapMarks</code>
2574    feature, to work around cursor coloring change in <a href=
2575    "#xterm_345">patch #345</a> (report by Paulo Silva de
2576    Al&iacute;bano).</li>
2577  </ul>
2578
2579  <h1><a name="xterm_360" id="xterm_360">Patch #360 -
2580  2020/09/20</a></h1>
2581
2582  <ul>
2583    <li>mention <code>decGraphicsID</code> in
2584    <code>ctlseqs.ms</code> (suggested by Thomas Wolff).</li>
2585
2586    <li>modify pixel-coordinate mouse response to use as origin the
2587    VT100-window rather than the underlying widget, which includes
2588    the scrollbar (report by Thomas Wolff).</li>
2589
2590    <li>add configure option <code>--disable-print-graphics</code>
2591    (Ross Combs).</li>
2592
2593    <li>add <code>test_ptydata</code> to &ldquo;make check&rdquo;
2594    rule.</li>
2595
2596    <li>minor fixes for <code>ctlseqs.ms</code> (report by
2597    Jean-Marc Bourguet).</li>
2598
2599    <li>minor fixes for manpage style (report/patch by
2600    "a1346054").</li>
2601
2602    <li>correct cleanup from switch between italics/normal font in
2603    the show/hide cursor functions (report/testcase by Peter
2604    Fabinski).</li>
2605
2606    <li>integrated patch by Ross Combs:
2607      <ul>
2608        <li>internal renaming of GraphicsID symbols, for
2609        readability.</li>
2610
2611        <li>adjust logic for VT125, treating it as a ReGIS
2612        terminal.</li>
2613      </ul>
2614    </li>
2615
2616    <li>update configure macros, for compiler-warning fixes.</li>
2617
2618    <li>integrated patch by Ross Combs:
2619      <ul>
2620        <li>add control sequence modes for graphics printing.</li>
2621
2622        <li>improve conversion to bitmaps for TrueType fonts in
2623        ReGIS</li>
2624
2625        <li>add <code>font7</code> resource, for an
2626        &ldquo;enormous&rdquo; bitmap font.</li>
2627
2628        <li>do not reset graphics in a soft-reset.</li>
2629
2630        <li>add <code>pointerFont</code> resource, and
2631        <code>-pf</code> command-line option.</li>
2632      </ul>
2633    </li>
2634
2635    <li>improve typography of manual page (patch by Branden
2636    Robinson).</li>
2637
2638    <li>amend <a href="#xterm_359">patch #359</a> change to
2639    <code>df-install.in</code> to ignore a command-line assignment
2640    to <code>DESTDIR</code> if followed by an explicit
2641    <code>--dir</code> (report by Sven Joachim).</li>
2642  </ul>
2643
2644  <h1><a name="xterm_359" id="xterm_359">Patch #359 -
2645  2020/08/17</a></h1>
2646
2647  <ul>
2648    <li>add special case in <code>WriteText</code> to allow colors
2649    8-15 to override <code>colorBDMode</code> (patch by Ingo
2650    Br&uuml;ckl).</li>
2651
2652    <li>add <code>utf8Weblike</code> resource, to provide an
2653    alternate scheme for handling ill-formed UTF-8 sequences
2654    (adapted from patch by Dan Gohman).</li>
2655
2656    <li>improve computation for the number of lines needed to
2657    scroll-up a SIXEL graphic (report/patch by Ben Wong).</li>
2658
2659    <li>correct manpage description for default value of
2660    <code>disallowWindowOps</code> from changes in <a href=
2661    "#xterm_331">xterm #331</a> (patch by Ben Wong).</li>
2662
2663    <li>correct a loop starting-point in
2664    <code>refresh_graphics</code> from optimization in <a href=
2665    "#xterm_358">patch #358</a> changes (report by Ben Wong).</li>
2666
2667    <li>add a new mouse mode 1016, which uses the same format as
2668    mode 1006, but sends the mouse's position in pixels (suggested
2669    by Igor van den Hoven).</li>
2670
2671    <li>fix an issue from <a href="#xterm_338">patch #338</a>
2672    changes where only the first selection buffer specified in the
2673    request would be updated using OSC 52 (patch by Michael
2674    Gulick).</li>
2675
2676    <li>modify makefile/scripts to allow <code>DESTDIR</code> to
2677    prefix the target directory for desktop-file-install (report by
2678    Fred Heitkamp).</li>
2679
2680    <li>enable SIXEL feature by default.</li>
2681
2682    <li>update config.guess, config.sub</li>
2683  </ul>
2684
2685  <h1><a name="xterm_358" id="xterm_358">Patch #358 -
2686  2020/07/12</a></h1>
2687
2688  <ul>
2689    <li>correct logic for decodeTerminalID changes in <a href=
2690    "#xterm_357">patch #357</a> (report by "Chartreuse").</li>
2691
2692    <li>modify makefile to use <code>plink.sh</code> when linking
2693    test-programs, to fix build when using pcre (report by H Merijn
2694    Brand)</li>
2695
2696    <li>build-fix for test_ptydata program (patch by H Merijn
2697    Brand)</li>
2698  </ul>
2699
2700  <h1><a name="xterm_357" id="xterm_357">Patch #357 -
2701  2020/07/05</a></h1>
2702
2703  <ul>
2704    <li>several minor optimizations for the ReGIS and SIXEL
2705    features, improving performance by 10%.</li>
2706
2707    <li>add resource <code>decGraphicsID</code> to allow displaying
2708    graphics when the emulation level would ordinarily disallow
2709    this (prompted by discussion with Thomas Wolff).</li>
2710
2711    <li>add control sequences for fast switching of color palettes:
2712    <code>XTPUSHCOLORS</code>, <code>XTPOPCOLORS</code>,
2713    <code>XTREPORTCOLORS</code></li>
2714
2715    <li>amend change for soft-hyphen from <a href=
2716    "#xterm_328">patch #328</a> to avoid stripping
2717    replacement-characters which would be shown with malformed or
2718    overlong UTF-8 input.</li>
2719
2720    <li>corrected an error-handling case in
2721    <code>decodeUtf8</code>, matching a similar fix in <a href=
2722    "#xterm_268">patch #268</a> (report/patch by Dan Gohman).</li>
2723
2724    <li>add a test-driver for <code>ptydata.c</code></li>
2725
2726    <li>minor cleanup of macros (adapted from patch by Walter
2727    Harms).</li>
2728
2729    <li>fix some errata in <code>ctlseqs.ms</code> (report by
2730    Thomas Wolff).</li>
2731
2732    <li>allow immediate repaint-on-palette-changed if
2733    double-buffering is enabled.</li>
2734
2735    <li>deprecate codes 10/11 in sgr push controls, changing those
2736    to 30/31, to avoid confusion with sgr 10-19.</li>
2737
2738    <li>modify <code>SGR</code> parameter handling to stop if an
2739    unrecognized parameter is encountered, to guard against
2740    malformed or nonstandard sequences (report by Bram
2741    Moolenaar).</li>
2742
2743    <li>modify <code>DECERA</code> color for consistency with other
2744    erasures/clearing (report by Thomas Wolff).</li>
2745
2746    <li><code>ECH</code> should not be masked by
2747    <code>DECSCA</code> (report by Thomas Wolff).</li>
2748
2749    <li>extend <code>DECFRA</code> and <code>REP</code> to accept
2750    any &ldquo;graphic&rdquo; character rather than just Latin1,
2751    etc. (report by Thomas Wolff).</li>
2752
2753    <li>add <code>-C</code> option to 256colors2.pl and
2754    88colors2.pl, to demonstrate mixed semicolon/colon separators
2755    which are implied by ECMA-48.</li>
2756
2757    <li>update sample terminfo to reflect the documentation
2758    improvements.</li>
2759
2760    <li>update description of 88/256/direct color in
2761    <code>ctlseqs.ms</code> to point out that using semicolons is a
2762    deprecated legacy feature, and standard terminal applications
2763    should use colons (prompted by discussion with Bram
2764    Moolenaar).</li>
2765
2766    <li>modify configure-check for <code>tgetent</code> to
2767    conditionally include <code>termcap.h</code>, enabling
2768    configuration using <code>clang</code>'s pedantic-errors option
2769    (report by Dennis Clarke). See <a href=
2770    "https://invisible-island.net/ncurses/man/curs_termcap.3x.html#h3-Other-Compatibility">
2771    <em>Other Compatibility</em></a> in ncurses'
2772    <em>curs_termcap(3X)</em>.</li>
2773
2774    <li>remove some unnecessary pointer checks (patch by Walter
2775    Harms).</li>
2776
2777    <li>accept terminal-id and add DA response for VT131,
2778    VT132.</li>
2779  </ul>
2780
2781  <h1><a name="xterm_356" id="xterm_356">Patch #356 -
2782  2020/05/02</a></h1>
2783
2784  <ul>
2785    <li>revise fix for Debian #954730, which interfered with wheel
2786    mouse events (report by Gabriele Balducci).</li>
2787  </ul>
2788
2789  <h1><a name="xterm_355" id="xterm_355">Patch #355 -
2790  2020/05/01</a></h1>
2791
2792  <ul>
2793    <li>revise fix for Debian #954730, which interfered with wheel
2794    mouse events (report by Henri Menke).</li>
2795
2796    <li>fix typos in documentation (reports by Stephen Hurd, Stefan
2797    Assmann).</li>
2798
2799    <li>add mapping for <code>decTerminalID</code> for
2800    &ldquo;100&rdquo; overlooked in <a href="#xterm_354">patch
2801    #354</a>.</li>
2802
2803    <li>update tables in wcwidth.c based on Unicode 13.0.0</li>
2804
2805    <li>build-fix for &ldquo;make check&rdquo; when building
2806    out-of-tree (report by Sven Joachim).</li>
2807  </ul>
2808
2809  <h1><a name="xterm_354" id="xterm_354">Patch #354 -
2810  2020/04/26</a></h1>
2811
2812  <ul>
2813    <li>work around performance problems of
2814    <code>XDrawImageString</code> and
2815    <code>XDrawImageString16</code> functions (Debian
2816    #954845).</li>
2817
2818    <li>add a control sequence which reports xterm's version (patch
2819    by Nicholas Marriott, mintty #881).</li>
2820
2821    <li>temporarily set numeric locale category to "C" when parsing
2822    resources, so that <code>scaleHeight</code> and
2823    <code>faceSize</code> settings do not depend on locale (Debian
2824    #820803).</li>
2825
2826    <li>improve DA/DA2 response by ensuring that the
2827    <code>decTerminalID</code> maps to one of the known
2828    identifiers, as well as providing DA2 response for VT241 and
2829    VT382.</li>
2830
2831    <li>terminfo improvements:
2832      <ul>
2833        <li>add (my) comments from ncurses which explain the keypad
2834        layouts.</li>
2835
2836        <li>add <code>vt52+keypad</code> from ncurses</li>
2837
2838        <li>use improved <code>xm</code> example for
2839        <code>xterm+x11mouse</code>, <code>xterm+sm+1006</code>
2840        from ncurses 6.2 terminfo.src</li>
2841      </ul>
2842    </li>
2843
2844    <li>two fixes for left/right wheel mouse event reporting
2845    (Debian #954730):
2846      <ul>
2847        <li>filter identical button-events</li>
2848
2849        <li>correct order of button-range versus protocol type (see
2850        <a href="#xterm_345">patch #345</a>)</li>
2851      </ul>
2852    </li>
2853
2854    <li>change &ldquo;make check&rdquo; makefile-rule to use
2855    test-drivers for charclass and wcwidth data.</li>
2856
2857    <li>quiet &ldquo;did not find a usable <em>xxx</em> TrueType
2858    font&rdquo; warnings by making <code>fontWarnings</code> apply
2859    to these messages (report by Jim Rees).</li>
2860
2861    <li>improve reinitialization of parameter list (report/testcase
2862    by James Holderness).</li>
2863
2864    <li>temporarily set numeric locale category to "C" when
2865    formatting SVG or XHTML screendumps, to make the radix
2866    separator used in RGB values consistent (adapted from patch by
2867    George Kouryachy).</li>
2868
2869    <li>add resource <code>forceXftHeight</code> to control whether
2870    workaround from Debian #880407 is used.</li>
2871
2872    <li>apply updated ascent/descent in workaround from Debian
2873    #880407 to fix a 1-pixel gap in built-in vertical lines
2874    (report/testcase by Stefan Assmann).</li>
2875
2876    <li>improve round-off of scaling for built-in line-drawing
2877    (prompted by discussion with Stefan Assmann).</li>
2878
2879    <li>adjust fonts in svg-icon files to accommodate reduced
2880    functionality of new pango (report/analysis by YOKOTA
2881    Hiroshi).</li>
2882
2883    <li>improve configure check for X Toolkit library.</li>
2884
2885    <li>correct Y-coordinate transformation in
2886    <code>ClearCurBackground</code>, overlooked in changes for
2887    <a href="#xterm_334">patch #334</a> (report/analysis by Chuck
2888    Silvers).</li>
2889
2890    <li>remove <code>--vendor</code> option from test-packages'
2891    install of desktop files; the feature is badly broken in
2892    <em>gnome-shell</em>.</li>
2893
2894    <li>modify <code>uxterm</code> to make it possible to select
2895    nonstandard locale <em>C.UTF-8</em>, e.g, if the user's locale
2896    is set to &ldquo;C&rdquo; (Debian #940626).</li>
2897
2898    <li>re-save/tweak &ldquo;.svg&rdquo; icon-files to work around
2899    breakage in toolset since the files were created in <a href=
2900    "#xterm_283">patch #283</a>.</li>
2901  </ul>
2902
2903  <h1><a name="xterm_353" id="xterm_353">Patch #353 -
2904  2020/02/01</a></h1>
2905
2906  <ul>
2907    <li>amend change in <a href="#xterm_352">patch #352</a> for
2908    button-events to fix a case where some followup events were not
2909    processed soon enough (report/patch by Jimmy Aguilar
2910    Mena).</li>
2911
2912    <li>handle <em>MappingNotify</em> X event, to improve recovery
2913    when switching keyboard configurations using
2914    <code>xkbcomp</code> (prompted by discussion with Frank Mosch,
2915    Debian #661295). There is more work needed here, possibly in
2916    the X libraries.</li>
2917
2918    <li>improve discussion of mouse-mode in <code>ctlseqs.ms</code>
2919    (suggested by Igor van den Hoven).</li>
2920
2921    <li>further improve checks for Xft <em>max-advance-width</em>
2922    to take into account fonts which use two cells for ambiguous
2923    width characters. Also improve the time used for these checks
2924    (reports by Yuri Pankov, Frank Mosch).</li>
2925
2926    <li>fix a few spelling errors reported by codespell (report by
2927    Jens Schleusener).</li>
2928
2929    <li>modify <code>run-tic.sh</code> to prefer development
2930    version of ncurses since changes to terminfo file in <a href=
2931    "#xterm_345">patch #345</a> rely upon bug-fixes in ncurses
2932    (prompted by discussion with Will Senn).</li>
2933  </ul>
2934
2935  <h1><a name="xterm_352" id="xterm_352">Patch #352 -
2936  2020/01/16</a></h1>
2937
2938  <ul>
2939    <li>adjust fontsize data to handle a minor inconsistency from
2940    recent Xft versions (Debian #880407, adapted from patch by
2941    Vincent Lef&egrave;vre).</li>
2942
2943    <li>add a table to the manual page description of
2944    <code>forceBoxChars</code> to alert the reader to the special
2945    characters aside from &ldquo;line-drawing&rdquo; which are
2946    drawn directly when this resource is set (Debian #931305).</li>
2947
2948    <li>improve <code>checkXft</code> logic which attempts to
2949    detect fonts whose <em>max-advance-width</em> is inconsistent
2950    with the actual glyph widths. For some fonts, it is necessary
2951    to check additional characters (report/analysis by Jan
2952    Engelhardt).</li>
2953
2954    <li>improve configure-checks for X headers and libraries on
2955    recent MacOS, which has moved those files under
2956    <code>/usr/X11</code>.</li>
2957
2958    <li>improve portability of iconify/deiconify feature by taking
2959    into account some window managers which manipulate the EWMH
2960    <code>_NET_WM_STATE</code> property, adding/removing
2961    <code>_NET_WM_STATE_HIDDEN</code> rather than actually
2962    <em>minimizing</em> the window (prompted by discussion with
2963    J&ouml;rg Breitbart).</li>
2964
2965    <li>improve workaround from <a href="#xterm_287">patch #287</a>
2966    for the <code>-iconic</code> option when configured with
2967    toolbar by postponing the extra request for minimizing the
2968    window to the end of menu-initialization.</li>
2969
2970    <li>modify <code>xevents</code> special-case for mouse-events
2971    to include button-events so that the meta key by itself can
2972    generate button-events (report/analysis by Mattias
2973    Engdeg&aring;rd).</li>
2974
2975    <li>amend SGR-stack change from <a href="#xterm_348">patch
2976    #348</a> to not associate bold attribute with background color
2977    (report by Nicholas Marriott).</li>
2978
2979    <li>fix copy/paste error in manual page (patch by Larry
2980    Hynes).</li>
2981
2982    <li>add definitions in <code>xterm_io.h</code> so that GNU/Hurd
2983    will use <code>posix_openpty</code> (patch by Samuel
2984    Thibault).</li>
2985
2986    <li>build-fix in debug-tracing, for <code>esctest</code>.</li>
2987
2988    <li>updated autoconf macros</li>
2989
2990    <li>update config.guess</li>
2991  </ul>
2992
2993  <h1><a name="xterm_351" id="xterm_351">Patch #351 -
2994  2019/11/17</a></h1>
2995
2996  <ul>
2997    <li>correct logic in <code>property_to_string</code> for
2998    deciding when to fallback from UTF-8 decoding to ISO-8859-1
2999    decoding, broken in <a href="#xterm_350">xterm #350</a>
3000    (FreeBSD #241961).</li>
3001
3002    <li>add <code>-report-icons</code> to help-message.</li>
3003
3004    <li>improved autoconf macros:
3005      <ul>
3006        <li><code>CF_ADD_LIBS</code>: the change to filter out
3007        duplicates caused this to append rather than prepend.
3008        revise to fix that.</li>
3009
3010        <li><code>CF_GCC_VERSION</code> and
3011        <code>CF_GCC_WARNINGS</code>: move checks to distinguish
3012        icc/clang from gcc from the macro which handles the
3013        --enable-warnings option, to make this work
3014        without-warnings for the inline-checks.</li>
3015      </ul>
3016    </li>
3017
3018    <li>update config.guess, config.sub</li>
3019
3020    <li>correct status in <code>XTGETXRES</code> replies when the
3021    resource was not found.</li>
3022
3023    <li>fix some gcc, cppcheck, clang and coverity warnings.</li>
3024
3025    <li>guard call to <code>RequestResize</code> from the
3026    struct-notify event handler to prevent recursion in the
3027    Xft+buffered workaround in some cases when doing manual
3028    resizing rather than resizing via escape sequences (reports by
3029    Stefan Assmann, Mike Thornburg).</li>
3030
3031    <li>amend the workaround for Xft+buffered blanking by moving
3032    the switch to bitmap-fonts to account for differences in font
3033    metrics between bitmap- and TrueType-fonts (report by Stefan
3034    Assmann).</li>
3035
3036    <li>improve the note on the <code>xterm-rep</code> terminfo
3037    entry (prompted by discussion with Sven Joachim).</li>
3038  </ul>
3039
3040  <h1><a name="xterm_350" id="xterm_350">Patch #350 -
3041  2019/11/02</a></h1>
3042
3043  <ul>
3044    <li>modify html/svg dump to not ignore zero'd/blank cells.</li>
3045
3046    <li>align terminfo file with ncurses, e.g., add
3047    <code>xterm+osc104</code> block.</li>
3048
3049    <li>improve discussion of <code>modifyOtherKeys</code> in
3050    manual page and in <code>ctlseqs.ms</code>.</li>
3051
3052    <li>add <code>vttests/modify-keys.pl</code> script to
3053    illustrate the <code>modifyOtherKeys</code> resource (prompted
3054    by discussion with Bram Moolenaar).</li>
3055
3056    <li>various improvements to <code>ctlseqs.ms</code>, as part of
3057    autogenerating links for the website.</li>
3058
3059    <li>update manual page default for <code>saveLines</code>
3060    resource default value (Branden Robinson, Debian #913815).</li>
3061
3062    <li>add command-line option <code>-report-xres</code> to show
3063    the values of the VT100 widget X resources when initialization
3064    is complete.</li>
3065
3066    <li>add a control sequence which, like tcap-query, allows an
3067    application to inspect most X resource settings of the VT100
3068    widget.</li>
3069
3070    <li>adjust some optional features to enable them in the imake
3071    configuration as they would be by default via the configure
3072    script.</li>
3073
3074    <li>add null-pointer checks to improve error recovery when
3075    bitmap fonts are missing or corrupt (report by Jonne
3076    Ransijn).</li>
3077
3078    <li>correct the condition for deleting the EWMH window-title
3079    property, i.e., if UTF-8 titles are disabled, rather than if an
3080    update to the EWHM property found no change (report by Sven
3081    Joachim).</li>
3082
3083    <li>build-fix for the case when configure
3084    <code>--enable-trace</code> is used without
3085    <code>--enable-warnings</code> (report by Sven Joachim).</li>
3086
3087    <li>fix a few minor bugs found with Coverity.</li>
3088
3089    <li>add a check in <code>property_to_string</code> to avoid
3090    translating <code>UTF8_STRING</code> or
3091    <code>COMPOUND_TEXT</code> into Latin-1 when UTF-8 encoding is
3092    active, e.g., when pushing onto the title-stack while switching
3093    to the alternate screen.</li>
3094
3095    <li>build-fix for the <code>--disable-doublechars</code>
3096    configure option (report by Brian Lindholm).</li>
3097  </ul>
3098
3099  <h1><a name="xterm_349" id="xterm_349">Patch #349 -
3100  2019/09/22</a></h1>
3101
3102  <ul>
3103    <li>add graphic context to support bold+italics (patch by Quinn
3104    Strahl).</li>
3105
3106    <li>document window properties in the manual page.</li>
3107
3108    <li>improve title-string feature:
3109      <ul>
3110        <li>if any of <code>allowC1Printable</code>,
3111        <code>utf8Title</code> or <code>titleModes</code> hint that
3112        an application might send a title-string encoded in UTF-8,
3113        check if that is the case, and if it is recodable into
3114        ISO-8859-1, use that for the ICCCM-style title.</li>
3115
3116        <li>check if the title given by a control sequence happens
3117        to be already encoded in UTF-8, to avoid double-encoding
3118        (FreeBSD #240393).</li>
3119
3120        <li>Make <code>sameName</code> resource work for the EWMH
3121        titles.</li>
3122
3123        <li>Modify menu-state of <code>utf8Title</code> to be
3124        consistent with the <code>utf8</code> source, i.e., setting
3125        the EWMH properties automatically when UTF-8 is
3126        active.</li>
3127      </ul>
3128    </li>
3129
3130    <li id="xterm_349_xft_bug">reorganize text-drawing to make it
3131    possible to investigate using Xft to implement VT100-style
3132    double-sized characters. While doing this, made a workaround
3133    for apparent Xft bug which loses its drawable state when
3134    switching from 132 to 80 columns.</li>
3135
3136    <li>improve font-warning messages by showing which are
3137    <em>derived</em> rather than directly from resource settings
3138    (suggested by Tomas Korbar). Also filter repeated font-warning
3139    messages, to accommodate broken X configurations.</li>
3140
3141    <li>fix an inconsistency between failure to load derived wide
3142    font versus failure to load derived wide-bold font (Redhat
3143    #1679790). That relies upon the &ldquo;:unscaled&rdquo;
3144    property which is broken in some distributions (however, recent
3145    Debian and the BSDs such as MacOS work).</li>
3146
3147    <li>updated autoconf-252 to check X11R7 include/lib directories
3148    found on some older configurations.</li>
3149
3150    <li>set a graphic-context for border when double-buffering is
3151    active; to prevent the border color from changing when
3152    switching to reverse-video.</li>
3153
3154    <li>build-fix for <code>--disable-ziconbeep</code>, which
3155    conflicted with the new double-buffer configuration (report by
3156    Brian Lindholm).</li>
3157
3158    <li>fix loop-limit for lookup of <code>fullscreen</code>
3159    resource broken in <a href="#xterm_347">xterm #347</a> (report
3160    by Scott Bertilson).</li>
3161  </ul>
3162
3163  <h1><a name="xterm_348" id="xterm_348">Patch #348 -
3164  2019/07/22</a></h1>
3165
3166  <ul>
3167    <li>update window-manager hints when exiting Tek4014 mode
3168    (Debian #932569, patch by Jonathan Irwin).</li>
3169
3170    <li>fix a misformatted printf in
3171    <code>report-sgr.pl</code>.</li>
3172
3173    <li>add configure check for termios types, to improve
3174    compiler-warnings.</li>
3175
3176    <li>ensure that when resetting margins, to also reset
3177    <code>DECLRMM</code>. This affects <code>DECCOLM</code>,
3178    <code>DECALN</code> (although DEC STD 070 mentions only
3179    top/bottom margins), and <code>DECSTR</code>.</li>
3180
3181    <li>corrected order of reset/move when setting
3182    <code>DECCOLM</code>, and make it more consistent by always
3183    resetting margins, rather than only when the mode is changed
3184    (report by James Holderness).</li>
3185
3186    <li>compile-in double-buffer support by default, changing the
3187    configure option to set the default resource value for
3188    <code>buffered</code> to true or false.</li>
3189
3190    <li>take in account the reverse-video state when computing the
3191    filler-color used when clearing the screen in double-buffering
3192    configuration.</li>
3193
3194    <li>correct logic for filtering scrollbar-updates when
3195    <code>buffered</code> resource is compiled-in but not enabled
3196    (report by Paul Lampert).</li>
3197
3198    <li>improve state saved/restored for cursor-save and SGR stack
3199    features.</li>
3200
3201    <li>improve description of 1006 and 1005 mouse modes, to avoid
3202    implying that they use character-parameters (report by Bryan
3203    Christ).</li>
3204
3205    <li>explain in <code>ctlseqs.ms</code> that some of the numeric
3206    keypad keys were xterm extensions rather than VT100/VT220
3207    terminal features (prompted by discussion with Thomas
3208    Wolff).</li>
3209
3210    <li>explain in <code>ctlseqs.ms</code> how the DEC windowing
3211    extension is supported by xterm.</li>
3212
3213    <li>add 28 rectangular editing to the primary response
3214    (suggested by Thomas Wolff).</li>
3215
3216    <li>fix a typo, improve wording in <code>ctlseqs.ms</code>
3217    (Thomas Wolff).</li>
3218
3219    <li>fix internal column-parameter when <code>SL</code> or
3220    <code>SR</code> is used with left/right margins (patch by
3221    Thomas Wolff).</li>
3222
3223    <li>fix off-by-one in VT52 graphics character mapping (patch by
3224    Thomas Wolff).</li>
3225
3226    <li>use <code>_X_UNUSED</code>, etc., when available as a
3227    fallback for <code>GCC_UNUSED</code>, etc., to reduce compiler
3228    warnings when building with <code><em>imake</em></code>.</li>
3229
3230    <li>update config.sub</li>
3231  </ul>
3232
3233  <h1><a name="xterm_347" id="xterm_347">Patch #347 -
3234  2019/06/30</a></h1>
3235
3236  <ul>
3237    <li>fix a few minor bugs found with Coverity.</li>
3238
3239    <li>improve double-buffering for scrollbars combined with
3240    scrolled text; add <code>bufferedFPS</code> resource to control
3241    the maximum rate of screen updates (report by Mike
3242    Thornburg).</li>
3243
3244    <li>improve fixes for <code>DECCRA</code> handling of
3245    double-width characters (patch by Martin Hostettler).</li>
3246
3247    <li>improve discussion of ECMA-48's typographical error for
3248    <code>SD</code> in <code>ctlseqs.ms</code> (prompted by report
3249    by Martin Hostettler).</li>
3250
3251    <li>correct off-by-one in parameter limit-check for
3252    <code>DECCRA</code> (report by Martin Hostettler).</li>
3253
3254    <li>modify <code>saveCellData</code> to handle case where
3255    double-width character is partially copied; that should be
3256    blanked (report/testcase by Thomas Wolff).</li>
3257
3258    <li>add resource <code>buffered</code> to allow
3259    enabling/disabling double-buffered mode.</li>
3260
3261    <li>two fixes for the double-buffer configuration, prompted by
3262    MacPorts' switch to double-buffering (patch by Mike Thornburg,
3263    MacPorts #58313):
3264      <ul>
3265        <li>ensure that the needSwap flag is set after drawing
3266        TrueType text</li>
3267
3268        <li>corrected the drawable-parameter used for the
3269        bar-cursor</li>
3270      </ul>
3271    </li>
3272
3273    <li>modify <code>ScrnRefresh</code> to ignore a case where the
3274    left/right halves of a double-width character have been set to
3275    different video attributes. The attribute to use is in the
3276    left-half (report/testcase by Thomas Wolff).</li>
3277
3278    <li>correct a limit-check for <code>DECCRA</code> in case the
3279    target lies off-screen (report/testcase by Thomas Wolff).</li>
3280
3281    <li>documentation errata (report by Thomas Wolff).</li>
3282
3283    <li>reset flags including wraparound and reverse-wrap when
3284    switching to VT52 mode, while noting that DEC's standard
3285    documentation leaves that behavior <em>undefined</em> (report
3286    by Thomas Wolff).</li>
3287
3288    <li>ensure that italic font is turned off on hard/soft resets
3289    (report by Martin Hostettler).</li>
3290
3291    <li>improve responsiveness to X events while processing HTML or
3292    SVG dumps (report by Martin Hostettler).</li>
3293
3294    <li>replace logic in <code>wcwidth.c</code> for detecting
3295    double-width characters with binary-search table generated
3296    using updated <code>uniset</code> (report by Robert Ross).</li>
3297
3298    <li>add test-driver for <code>wcwidth.c</code> to simplify
3299    comparison with system's <code>wcwidth</code>.</li>
3300
3301    <li>ensure that window-manager name comparisons work when
3302    active-icon is enabled, since <code><em>CSI</em>13t</code> uses
3303    the window-manager name (report by Glenn Golden, Arch
3304    #62818).</li>
3305
3306    <li>trim a stray &ldquo;experimental&rdquo; in one of the
3307    comments about the tcap-query feature, which has been a
3308    supported feature since 2008 (see <a href="#xterm_238">patch
3309    #238</a>).</li>
3310  </ul>
3311
3312  <h1><a name="xterm_346" id="xterm_346">Patch #346 -
3313  2019/05/27</a></h1>
3314
3315  <ul>
3316    <li>update description of the &ldquo;default&rdquo; setting for
3317    the <code>renderFont</code> resource to match the behavior in
3318    <a href="#xterm_261">patch #261</a> (Debian #862042).</li>
3319
3320    <li>account for <code>internalBorder</code> in
3321    <code>useBorderClipping</code> (report by Robert Ross).</li>
3322
3323    <li>update table of unknown-width characters in wcwidth.c based
3324    on Unicode 12.1.0 (prompted by discussion with Robert
3325    Ross).</li>
3326
3327    <li>improve description of DECSCL versus S7C1T and S8C1T in
3328    <code>ctlseqs.ms</code>.</li>
3329
3330    <li>improve consistency between <code><em>CSI</em>3t</code> and
3331    <code><em>CSI</em>13t</code>, accounting for differences
3332    between some window managers' handling of EMWH extents (report
3333    by Bram Moolenaar).</li>
3334
3335    <li>fix a sign-extension when reporting offscreen window
3336    position (report by Bram Moolenaar).</li>
3337  </ul>
3338
3339  <h1><a name="xterm_345" id="xterm_345">Patch #345 -
3340  2019/05/14</a></h1>
3341
3342  <ul>
3343    <li>updated FreeBSD test-package from recent /usr/ports
3344    scripts.</li>
3345
3346    <li>workaround in <code>run-tic.sh</code> for HPUX, whose
3347    <code>mktemp</code> prints the name of a temporary directory
3348    without creating it.</li>
3349
3350    <li>add left/right margin capabilities to terminfo, since the
3351    default terminal emulation is VT420 (suggested by Thomas
3352    Wolff).</li>
3353
3354    <li>modify treatment of <code>reverseVideo</code> for dynamic
3355    colors to make text foreground/background consistent with the
3356    cursor color (prompted by discussion with Ben Wong, lsix
3357    #20).</li>
3358
3359    <li>modify button-handling to make SGR button-release distinct
3360    from button-press for button-codes starting with 8 (patch by
3361    Mikulas Patocka).</li>
3362
3363    <li>add aliases for the sgr push/pop controls to work around
3364    language limitations of C# (request by Dan Thompson).</li>
3365
3366    <li>correct a typo in <code>setDirectFG</code>, which could
3367    cause setting of indexed-color after a direct-color to be
3368    ignored.</li>
3369
3370    <li>add resource <code>useBorderClipping</code> as an
3371    alternative to <code>useClipping</code> (request by Robert
3372    Ross).</li>
3373
3374    <li>improve logic for displaying xterm's built-in line-drawing
3375    characters vs missing glyphs, e.g., for U+2409 to U+240D (patch
3376    by Robert Ross).</li>
3377
3378    <li>add <code>vttests/sgrPushPop2.pl</code> to illustrate how
3379    selective pushes work, as well as to demonstrate push/pop of
3380    the various color types supported by xterm.</li>
3381
3382    <li>fix a special case in <code>XTPOPSGR</code> where
3383    direct-colors were not checked as a dependency of
3384    indexed-colors, contrary to documentation.</li>
3385
3386    <li>reduce buffer-flushes for <code>OSC&nbsp;4</code> and
3387    <code>OSC&nbsp;5</code> color-queries, as well as in the
3388    queries for dynamic colors.<br>
3389    <strong>Note:</strong> this change makes the reply for
3390    <code>OSC&nbsp;5</code> use the &ldquo;5&rdquo; in the
3391    response; formerly it was mapped to &rdquo;4&rdquo; after
3392    adding the maximum number of colors.</li>
3393
3394    <li>modify <code>vttests/query-color.pl</code> to demonstrate
3395    multiple queries in one request.</li>
3396
3397    <li>update tables of combining and unknown-width characters in
3398    wcwidth.c based on Unicode 12.0.0.</li>
3399
3400    <li>modify response for <code>OSC&nbsp;5</code> to be
3401    consistent with documentation.</li>
3402
3403    <li>add <code>vttests/query-dynamic.pl</code></li>
3404
3405    <li>modify <code>vttests/query-color.pl</code> to accept bold,
3406    underline, etc., keywords to decide whether to use
3407    <code>OSC&nbsp;5</code> rather than
3408    <code>OSC&nbsp;4</code>.</li>
3409
3410    <li>modify cursor coloring to avoid a case where the cursor
3411    matched the foreground color while the text was displayed in
3412    reverse-video (report by Nuno Silva).</li>
3413
3414    <li>fix an inconsistency in X10 mouse responses from <a href=
3415    "#xterm_342">patch #342</a> changes; the legacy protocol
3416    supports only buttons 1-3.</li>
3417
3418    <li>reduce the number of buffer-flushes for tcap-query
3419    batches.</li>
3420
3421    <li>modify <code>tcapquery.pl</code> to demonstrate batch
3422    queries with <code>-q</code> option.</li>
3423
3424    <li>increase response-buffer size, and make it configurable as
3425    <code>limitResponse</code> (prompted by discussion with Stephen
3426    P Wall).</li>
3427
3428    <li>modified configure script:
3429      <ul>
3430        <li>check/workaround for non-POSIX manipulation of
3431        predefined symbols</li>
3432
3433        <li>check for updated X Toolkit, which uses
3434        <code>const</code>.</li>
3435      </ul>
3436    </li>
3437
3438    <li>update config.guess, config.sub</li>
3439
3440    <li>provide for secondary-selection, overlooked in <a href=
3441    "#xterm_338">patch #338</a> (report by Emile LeBlanc).</li>
3442
3443    <li>documentation errata (patch by Larry Hynes).</li>
3444
3445    <li>improve pointer-checks in <code>Tekproc.c</code></li>
3446
3447    <li>revise solution for Debian #919475, to allow for
3448    struct-notify events occurring as a side-effect of toggling
3449    to/from full-screen mode.</li>
3450
3451    <li>window's border-size was incorrectly added to position when
3452    maximizing window (report by Gary Langshaw).</li>
3453  </ul>
3454
3455  <h1><a name="xterm_344" id="xterm_344">Patch #344 -
3456  2019/02/12</a></h1>
3457
3458  <ul>
3459    <li>add ASCII escape to default for
3460    <code>disallowedPasteControls</code> (prompted by discussion
3461    with Martin Hostettler).</li>
3462
3463    <li>fix typo in <code>ctlseqs.ms</code> (Robert Ross).</li>
3464
3465    <li>implement DEC Cyrillic NRCS (based on screenshots of vttest
3466    provided by Markus Schmidt).</li>
3467
3468    <li>correct control returning sixel geometry maximum versus
3469    actual size (patch by Ben Wong).</li>
3470
3471    <li>improve manual page for <code>resize</code> to clarify that
3472    <code>resize</code> does not execute the shell commands which
3473    it generates for setting environment variables.</li>
3474
3475    <li>improve memory-management for parser, to handle response
3476    strings that might occur with <code>ENQ</code> or when
3477    <code>SRM</code> mode is active (patch by Martin
3478    Hostettler).</li>
3479
3480    <li>change <code>Comment</code> text in uxterm's desktop file
3481    to work around a limitation of GNOME's GIO application
3482      (<a href="https://gitlab.gnome.org/GNOME/gnome-shell/issues/940#note_427334">issue
3483      #940</a>). The <a href=
3484      "https://developer.gnome.org/gio/stable/gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-search">
3485      documentation</a> reads:
3486      <blockquote>
3487        <p>Searches desktop files for ones that match
3488        <em><code>search_string</code></em>.</p>
3489
3490        <p>The return value is an array of <em>strv</em>s. Each
3491        <em>strv</em> contains a list of applications that matched
3492        search_string with an equal score. The outer list is sorted
3493        by score so that the first <em>strv</em> contains the
3494        best-matching applications, and so on. The algorithm for
3495        determining matches is undefined and may change at any
3496        time.</p>
3497      </blockquote>
3498    </li>
3499
3500    <li>a check of <code>zIconBeep</code> resource was removed in
3501    double-buffer fix in <a href="#xterm_334">patch #334</a>. That
3502    is used to decide whether to handle struct-notify events. When
3503    xterm does handle the events, it may negotiate a new
3504    window-size with the window manager. In that case, the
3505    <code>limitResize</code> resource setting limited the new
3506    window-size to the screen-size. Amended that by eliminating the
3507    limit for this special case when double-buffer is configured,
3508    and restoring the check for <code>zIconBeep</code> when
3509    double-buffer is not configured (Debian #919475).</li>
3510
3511    <li>disallow recursion which could happen if a user configures
3512    the <code>answerbackString</code> resource with the
3513    <code>ENQ</code> code and experiments with that code when
3514    <code>SRM</code> is enabled (report by by Martin
3515    Hostettler).</li>
3516
3517    <li>add remaining credits in <code>COPYING</code> file.</li>
3518
3519    <li>modify <code>run-tic.sh</code> to check if it is using an
3520    older version of ncurses which does not support large terminal
3521    descriptions, and if so, remove a non-essential feature to keep
3522    within the 4096-byte legacy limit.</li>
3523  </ul>
3524
3525  <h1><a name="xterm_343" id="xterm_343">Patch #343 -
3526  2019/01/13</a></h1>
3527
3528  <ul>
3529    <li>modify <code>run-tic.sh</code> to prefer ncurses6 over
3530    ncurses5, when available.</li>
3531
3532    <li>add <code>COPYING</code> file, and dummy "check" makefile
3533    rule for testing Arch packages.</li>
3534
3535    <li>add/update package scripts for FreeBSD and NetBSD, for
3536    testing.</li>
3537
3538    <li>update tables of combining and ambiguous-width characters
3539    in wcwidth.c based on Unicode 11.0.0.</li>
3540
3541    <li>modify <code>xterm-new</code> sample terminfo entry to
3542    correspond to ncurses 6.1, using the SGR 1006 mouse
3543    protocol.</li>
3544
3545    <li>improve manual page discussion of selection ownership
3546    versus highlighting (prompted by discussion with Martin
3547    Hostettler).</li>
3548
3549    <li>restore/repair <code>keepClipboard</code> feature which was
3550    broken by changes in <a href="#xterm_338">patch #338</a>
3551    (report by Martin Hostettler).</li>
3552
3553    <li>improve documentation for <code>deleteIsDEL</code>
3554    resource.</li>
3555
3556    <li>modify DECRQM response for private mode 1037 to account for
3557    cases where the resource <code>deleteIsDEL</code> is initially
3558    neither true nor false, but dependent upon the keyboard type
3559    (report/analysis by Martin Hostettler).</li>
3560
3561    <li>clear pointers for pattern/fontset after destroying their
3562    data when switching facename with an escape sequence (report by
3563    Robert Ross).</li>
3564
3565    <li>modify logic for TrueType fallback fonts to match the
3566    sort-order used by <code>fc-match</code> (report by Robert
3567    Ross).</li>
3568
3569    <li>add resource setting <code>limitFontsets</code> which can
3570    be used to limit or disable the new TrueType fontset feature
3571    (request by Robert Ross).</li>
3572  </ul>
3573
3574  <h1><a name="xterm_342" id="xterm_342">Patch #342 -
3575  2019/01/03</a></h1>
3576
3577  <ul>
3578    <li>limit mouse-button events to 11 buttons in the original
3579    protocol, and 15 in the extended mouse-protocol (patch by
3580    Martin Hostettler).</li>
3581
3582    <li>correct calculation for buttons past 11 in
3583    <code>mouse-codes</code> sample script (patch by Martin
3584    Hostettler).</li>
3585
3586    <li>disable a supplementary check added in <a href=
3587    "#xterm_341">patch #341</a> which interferes with using
3588    fontconfig to select different-sized bitmap fonts (Arch
3589    #61237).</li>
3590  </ul>
3591
3592  <h1><a name="xterm_341" id="xterm_341">Patch #341 -
3593  2018/12/24</a></h1>
3594
3595  <ul>
3596    <li>add options to <code>mouse-codes</code> script to
3597    demonstrate that the encoding used for mouse events limits
3598    button numbers to 11.</li>
3599
3600    <li>allow mouse button numbers up to 11 using an offset of 128
3601    for button numbers 8-11 rather than the offset of 64 used for
3602    wheel-mouse, etc., buttons 4-7 in <a href="#xterm_338">patch
3603    #338</a> (adapted from patch by Martin Hostettler).</li>
3604
3605    <li>correct off-by-one right-margin checks for double-width
3606    character adjustments in DECERA/DECFRA (patch by Martin
3607    Hostettler).</li>
3608
3609    <li>allocated size of selection buffer was not reset when
3610    freeing the buffer in <a href="#xterm_338">patch #338</a>
3611    (report/analysis by Stefan Assmann).</li>
3612
3613    <li>modify the initial pattern passed to fontconfig to disallow
3614    color bitmap fonts.</li>
3615
3616    <li>improve error recovery for a case where fontconfig ignores
3617    the requested pattern due to override in the user's font
3618    configuration (report/testcase by Stefan Assmann).</li>
3619  </ul>
3620
3621  <h1><a name="xterm_340" id="xterm_340">Patch #340 -
3622  2018/12/16</a></h1>
3623
3624  <ul>
3625    <li>suppress a spurious warning about fontsets when
3626    initializing menus for the toolbar configuration.</li>
3627
3628    <li>fix some strict compiler warnings.</li>
3629
3630    <li>improve checks for TrueType font, to help with the case of
3631    color bitmap fonts, which fontconfig misrepresents (Arch Linux
3632    #58706).</li>
3633  </ul>
3634
3635  <h1><a name="xterm_339" id="xterm_339">Patch #339 -
3636  2018/12/12</a></h1>
3637
3638  <ul>
3639    <li>modify <code>CF_GNU_SOURCE</code> macro to treat
3640    <em>newlib</em> as similar to <em>glibc</em>, fixing a problem
3641    with the configure checks for pseudoterminals in Cygwin
3642    overlooked in <a href="#xterm_334">patch #334</a> updates for
3643    configure-macros.</li>
3644  </ul>
3645
3646  <h1><a name="xterm_338" id="xterm_338">Patch #338 -
3647  2018/12/09</a></h1>
3648
3649  <ul>
3650    <li>ignore <code>$TERMINFO</code> in the configure script if it
3651    is set to a non-directory value.</li>
3652
3653    <li>updated configure macros:
3654      <ul>
3655        <li><code>CF_WITH_PCRE2</code>, modified to work with
3656        Debian's (mis-numbered) pcre3 package.</li>
3657
3658        <li><code>CF_CC_ENV_FLAGS</code> , report preprocessor
3659        options in <code>CFLAGS</code></li>
3660
3661        <li><code>CF_LD_RPATH_OPT</code> , suppress check if
3662        <code>--disable-rpath</code> option was given.</li>
3663
3664        <li><code>CF_XOPEN_SOURCE</code>, add case for
3665        midnightbsd</li>
3666      </ul>
3667    </li>
3668
3669    <li>update config.guess, config.sub</li>
3670
3671    <li>add a check to ensure that the filename parameter passed to
3672    <code>XpmReadFileToPixmap</code> is actually a file, since that
3673    function does not check (report by Ben Nott).</li>
3674
3675    <li>amend solution for Debian #758633 to ensure that replies
3676    for bracketed paste are not sent while processing a selection
3677    for <code>exec-formatted</code> (Debian #913237).</li>
3678
3679    <li>improve adjustments/clearing for double-width characters in
3680    <code>DECERA</code>, <code>DECFRA</code>,
3681    <code>DECSERA</code>.</li>
3682
3683    <li>improve adjustments/clearing for double-width characters
3684    when doing vertical scrolling within left/right margins (patch
3685    by Martin Hostettler).</li>
3686
3687    <li>modify wcwidth to encode a few spacing combining marks as
3688    regular combining characters.</li>
3689
3690    <li>change compiled-in default for <code>saveLines</code> to
3691    match the resource-file changed in <a href="#xterm_192">patch
3692    #192</a> (Debian #913815).</li>
3693
3694    <li>change default <code>faceSize</code> to 8.0, to simplify
3695    switching back/forth between bitmap fonts and TrueType. This
3696    was originally (mis)set to 14.0 in <a href="#xterm_148">patch
3697    #148</a>.</li>
3698
3699    <li>add fallback support in Xft configuration for missing
3700    glyphs (prompted by discussion with Mike Burns).</li>
3701
3702    <li>fix a problem with using direct-colors for the background
3703    color when clearing/scrolling (report by Nicholas
3704    Marriott).</li>
3705
3706    <li>add a "sources" rule for the makefile's generated
3707    source.</li>
3708
3709    <li>add a short explanation in <code>ctlseqs.ms</code>
3710    discussing the differences in error-recovery for malformed
3711    sequences versus unimplemented features, and amend one case for
3712    consistency (prompted by discussion with Martin
3713    Hostettler).</li>
3714
3715    <li>adjusted ifdef's so that the paste64 configure option does
3716    not automatically enable the readline-mouse configure
3717    option.</li>
3718
3719    <li>revert the change which prevented concurrent ownership of
3720    different selection targets, and instead modify selection
3721    storage so that different concurrent requests for different
3722    selection targets will be stored/retrieved independently
3723    (Debian #901249).</li>
3724
3725    <li>remove a check which prevented returning button-codes past
3726    the documented 4/5 for wheel mouse, and add a script
3727    <code>mouse-codes</code> which makes a report showing the
3728    various mouse codes for different button/modifier combinations
3729    (discussion with P&#345;emysl Janouch).</li>
3730
3731    <li>improve display and checksum for DEC Special Graphics by
3732    mapping 0x5f to 0.</li>
3733
3734    <li>add a null-pointer check for table-ending in the
3735    extended-boolean resource-handling (report by Felix von
3736    Leitner).</li>
3737
3738    <li>remove stray <code>]</code>'s from INSTALL-file (Larry
3739    Hynes).</li>
3740  </ul>
3741
3742  <h1><a name="xterm_337" id="xterm_337">Patch #337 -
3743  2018/09/21</a></h1>
3744
3745  <ul>
3746    <li>regenerated configure script (report by Sven Joachim).</li>
3747
3748    <li>revise/improve fix for scrolling in margins
3749    (report/analysis by Martin Hostettler):</li>
3750
3751    <li>amend change to default-translations "select" subset to
3752    ensure that specific key-press actions are listed before
3753    generic key-press actions (reports by H Merijn Brand, Sven
3754    Joachim).</li>
3755  </ul>
3756
3757  <h1><a name="xterm_336" id="xterm_336">Patch #336 -
3758  2018/09/19</a></h1>
3759
3760  <ul>
3761    <li>ensure that only one of PRIMARY and CLIPBOARD is owned by
3762    xterm at a given time (Debian #901249).</li>
3763
3764    <li>documentation fixes (report by Lars Krueger):
3765      <ul>
3766        <li>document <code>SL</code> and <code>SR</code>.</li>
3767
3768        <li>document <code>DECRPTUI</code>, change number of digits
3769        to match VT420.</li>
3770      </ul>
3771    </li>
3772
3773    <li>revise <code>omitTranslation</code> resource, e.g.,
3774    splitting &ldquo;default&rdquo; into several more useful
3775    categories.</li>
3776
3777    <li>modify mask-logic to permit <em>control-</em> and
3778    <em>meta-</em> modifiers to be used in mouse protocol.</li>
3779
3780    <li>several fixes for parsing/state (report/testcases by Martin
3781    Hostettler):
3782      <ul>
3783        <li>remove an old/unimplemented entry for xterm-title from
3784        state table.</li>
3785
3786        <li>save/restore wrap-flag when scrolling, to fix an
3787        inconsistency between jump-scrolling and
3788        normal-scrolling.</li>
3789
3790        <li>improve a special case of wrapping where the cursor
3791        starts beyond the right-margin, and wraps at the terminal's
3792        last-column before the settable-margins can take
3793        effect.</li>
3794
3795        <li>if origin mode is set, adjust a restored cursor column
3796        relative to the left margin.</li>
3797
3798        <li>when scrolling a line within left/right margins,
3799        correct order of the fixups needed when a double-width
3800        character crosses the margin boundary.</li>
3801      </ul>
3802    </li>
3803
3804    <li>review/fix a few cases where the parsing state was not
3805    reset after completing a control sequence (prompted by report
3806    by Martin Hostettler).</li>
3807
3808    <li>disallow <code>XTCHECKSUM</code> if the corresponding
3809    window-ops "SetChecksum" is unset.</li>
3810
3811    <li>add <code>print-vt-chars.pl</code> script to illustrate the
3812    NRCS and codepages supported by xterm.</li>
3813
3814    <li>add <code>other-sgr.sh</code> script to demonstrate the
3815    non-VT100 video attributes implemented in <a href=
3816    "#xterm_305">patch #305</a>, and added a summary of their
3817    introduction in ECMA-48 to the control sequences document.</li>
3818
3819    <li>add <code>tabs</code> and <code>-tabs</code> keywords to
3820    <code>ttyModes</code> resource to simplify workaround for
3821    terminal drivers which are not aware of UTF-8 (FreeBSD
3822    #229682).</li>
3823
3824    <li>add VT5xx NRCS 7-bit Turkish and DEC Turkish.</li>
3825
3826    <li>add VT5xx NRCS 7-bit Hebrew and DEC Hebrew.</li>
3827
3828    <li>add VT5xx NRCS 7-bit Greek and DEC Greek.</li>
3829
3830    <li>correct a few post-VT220 codepages to make them display
3831    without setting the NRCS state.</li>
3832
3833    <li>extend <code>vt100Graphics</code> resource to include other
3834    character-sets such as the VT500 codepages in UTF-8 mode.</li>
3835
3836    <li>add some VT5xx codepages to help with the discussion of
3837    96-character sets: <em>ISO Greek Supplemental</em>, <em>ISO
3838    Hebrew Supplemental</em>, <em>ISO Latin&ndash;5
3839    Supplemental</em>, and <em>ISO Latin&ndash;Cyrillic</em>.</li>
3840
3841    <li>improve description of the VT300-controls for designating
3842    character sets, and fix a typo which indicated that some were
3843    used for 94-character sets (prompted by discussion with Lars
3844    Krueger).</li>
3845
3846    <li>add private control <code>XTCHECKSUM</code> for modifying
3847    <code>checksumExtension</code>.</li>
3848
3849    <li>factor out xterm's <code>DECRQCRA</code> checksum
3850    extensions as a resource setting
3851    <code>checksumExtension</code>.</li>
3852
3853    <li>revise calculation of checksum for <code>DECRQCRA</code> to
3854    match DEC's terminals (using screenshots of vttest provided by
3855    Markus Schmidt).</li>
3856
3857    <li>restore a fix for memory-checksum setup of
3858    <code>DECCKSR</code> from <a href="#xterm_315">patch #315</a>
3859    incorrectly reverted in <a href="#xterm_334">patch #334</a> as
3860    part of fix for <code>DECRQCRA</code>.</li>
3861  </ul>
3862
3863  <h1><a name="xterm_335" id="xterm_335">Patch #335 -
3864  2018/08/14</a></h1>
3865
3866  <ul>
3867    <li>add <code>colorInnerBorder</code> resource to make a change
3868    from <a href="#xterm_334">patch #334</a> configurable (reports
3869    by H Merijn Brand, Gabriele Balducci).</li>
3870  </ul>
3871
3872  <h1><a name="xterm_334" id="xterm_334">Patch #334 -
3873  2018/08/12</a></h1>
3874
3875  <ul>
3876    <li>modify <code>Imakefile</code> to reflect the fact that
3877    NetBSD no longer has a working termcap emulation.</li>
3878
3879    <li>add resource-setting <code>validShells</code> which can be
3880    used to augment the system's <code>/etc/shell</code> (prompted
3881    by discussion with Paul Lampert).</li>
3882
3883    <li>stifle some useless warnings from lintian in
3884    test-packages.</li>
3885
3886    <li>add the ncurses extension &ldquo;RGB&rdquo; to the
3887    responses for the termcap-query feature.</li>
3888
3889    <li>improved getopts-handling in sample scripts.</li>
3890
3891    <li>fix some warnings from gcc8 and clang --analyze.</li>
3892
3893    <li>update note about incorrect documentation for
3894    <code>DECRQSS</code> to include VT525 (report by Markus
3895    Schmidt).</li>
3896
3897    <li>correct check for default-values in rectangular parsing; a
3898    zero counts as a missing or default parameter (report/testcase
3899    by Markus Schmidt).</li>
3900
3901    <li>correct some ranges in the <code>ambiguous[]</code> table
3902    in wcwidth (adapted from patch by KUGA Tsutomu).</li>
3903
3904    <li>fix a special case with faint video attribute incorrectly
3905    combined with default color.</li>
3906
3907    <li>add private control <code>XTREPORTSGR</code> for reporting
3908    video-attributes and color on a rectangle, and script
3909    <code>report-sgr.pl</code> to demonstrate it.</li>
3910
3911    <li>modify some of the markup in <code>ctlseqs.ms</code> to
3912    work around groff's reassignment of ASCII punctuation
3913    characters as documented in <em>groff_char(7)</em>.</li>
3914
3915    <li>treat ECMA-48 SGR 6 the same as SGR 5.</li>
3916
3917    <li>add private controls <code>XTPUSHSGR</code> and
3918    <code>XTPOPSGR</code> for saving/restoring the current
3919    video-attributes on a stack (adapted from patch by Dan
3920    Thompson).</li>
3921
3922    <li>modify <code>DECRPM</code> response for logging enable to
3923    indicate its state even when enabling/disabling it is not
3924    allowed.</li>
3925
3926    <li>implement <code>DECSNLS</code></li>
3927
3928    <li>implement <code>DECRSPS</code></li>
3929
3930    <li>improve fill-color for double-buffer configuration, which
3931    was sharing a graphic context with the cursor.</li>
3932
3933    <li>fix a couple of cases where double-sized VT100 characters
3934    were not clipped, seen in Joe Smith's <a href=
3935    "http://www.inwap.com/pdp10/#Tymnet">VT100 torture
3936    test</a>.</li>
3937
3938    <li>color the inner border using the same
3939    <code>borderColor</code> as the outer border, rather than
3940    filling with the VT100's default background.</li>
3941
3942    <li>change encoding of &ldquo;THANKS&rdquo; to UTF-8.</li>
3943
3944    <li>modify handling of <code>DECELR</code> to recognize
3945    <code>MotionNotify</code> events again, amending a check for
3946    <code>allowMouseOps</code> which limited that to button-events
3947    in <a href="#xterm_328">patch #328</a> (Olaf Rogalsky).</li>
3948
3949    <li>fix some screen-painting problems with left/right margins
3950    when using insert-line or delete-line (report/testcase by
3951    Martin Hostettler). also fix similar case with
3952    index/reverse-index.</li>
3953
3954    <li>several minor performance improvements using macros, e.g.,
3955    inline checks for character width.</li>
3956
3957    <li>add <code>DECSCPP</code> and <code>DECSLPP</code> to
3958    <code>DECRQSS</code>.</li>
3959
3960    <li>implement <code>DECSCPP</code>.</li>
3961
3962    <li>implement <code>DECCIR</code> and <code>DECTABSR</code>
3963    presentation reports.</li>
3964
3965    <li>modify checksum computation for <code>DECRQCRA</code> to
3966    treat uninitialized cells as blanks rather than nulls.</li>
3967
3968    <li>drop custom-entity from HTML-dump, use UTF-8 for &amp;nbsp;
3969    (Debian #902381).</li>
3970
3971    <li>modify display of non-BMP characters when using bitmap
3972    fonts to show a null/empty box rather than the replacement
3973    character which was used in cleanup changes for <a href=
3974    "#xterm_233">patch #233</a> (report by Christian
3975    Weisgerber).</li>
3976
3977    <li>when setting up clipping rectangle for Xft, allow for the
3978    case where xterm is only displaying a combining character,
3979    where the base was already written (report by Joshua
3980    Crowgey).</li>
3981
3982    <li>allow reset Xft's state if switching font-sizes when
3983    double-buffering is used.</li>
3984
3985    <li>fix repainting, e.g., on resize, when double-buffering is
3986    used with Xft (patch by Daniel Colascione).</li>
3987
3988    <li>correct some interchanged pairs of symbols in
3989    <code>unicode/keysym.map</code> (Brad Town).</li>
3990
3991    <li>improve configure macros CF_GCC_WARNINGS, CF_GNU_SOURCE,
3992    CF_POSIX_C_SOURCE, CF_TRY_XOPEN_SOURCE, CF_XOPEN_SOURCE,
3993    CF_X_ATHENA_CPPFLAGS.</li>
3994
3995    <li>modify <code>logFile</code> resource to interpret
3996    &ldquo;<code>-</code>&rdquo; as the standard output (adapted
3997    patch by Colum Paget).</li>
3998
3999    <li>improve documentation of Tek4014 menu options; fix a case
4000    where the Tek4014 window was not displayed before switching
4001    modes.</li>
4002
4003    <li>re-correct parameter for <em>pid</em> used for DECCKSR,
4004    DECRQCSR (see <a href="#xterm_315">xterm #315</a>).</li>
4005
4006    <li>hard/soft reset now resets the cursor-blinking state that
4007    may have been set via escape sequences; the cursor-blinking
4008    menu-entry feature is unmodified (report by Matthieu
4009    Herrb).</li>
4010
4011    <li>update config.guess, config.sub</li>
4012  </ul>
4013
4014  <h1><a name="xterm_333" id="xterm_333">Patch #333 -
4015  2018/05/03</a></h1>
4016
4017  <ul>
4018    <li>ensure that i18n is enabled if input-method is
4019    enabled.</li>
4020
4021    <li>modify logic for pre-edit to update spot-location while the
4022    cursor is invisible (Kakoune #1940).</li>
4023
4024    <li>change default icon to newer one, "mini.xterm".</li>
4025
4026    <li>install a complete set of icons, to simplify post-install
4027    customization.</li>
4028
4029    <li>add resource <code>disallowedPasteControls</code> to extend
4030    filtering of control characters from pastes.</li>
4031
4032    <li>add <code>print-on-error</code> action-hook, and document
4033    action-hooks for dump-html, dump-svg.</li>
4034
4035    <li>provide action-hook for <code>print-immediate</code>, which
4036    was available only as a menu-item (report by Rastislav
4037    Barlik).</li>
4038
4039    <li>continue to improve notes in <code>ctlseqs.ms</code> which
4040    mention where various controls originated.</li>
4041
4042    <li>add case to accept ECMA-48's bogus <code>SD</code>, but
4043    document the issue in <code>ctlseqs.ms</code>.</li>
4044
4045    <li>add control sequence for loading XPM-icon file, using the
4046    analogous control sequence from shelltool/dtterm.</li>
4047
4048    <li>add <code>-report-icons</code> option, to report on
4049    XPM-icon and title-bar updates.</li>
4050
4051    <li>correct a discrepancy between locator-reports for VT220 vs
4052    VT330.</li>
4053
4054    <li>add window-ops control sequences to complement existing
4055    ones for reporting window-position and text-area size with
4056    reports for text-area position and window-size.</li>
4057
4058    <li>display vt52 graphics mode characters.</li>
4059
4060    <li>correct case-statement for window-ops 10, overlooked since
4061    some window managers equate vertical-maximize and
4062    horizontal-maximize window hints with full-screen
4063    maximize.</li>
4064  </ul>
4065
4066  <h1><a name="xterm_332" id="xterm_332">Patch #332 -
4067  2018/04/15</a></h1>
4068
4069  <ul>
4070    <li>add a <code>GetChecksum</code> item to
4071    <code>disallowedWindowOps</code></li>
4072
4073    <li>improve notes in <code>ctlseqs.ms</code> which mention
4074    where various controls originated.</li>
4075
4076    <li>add control sequences for querying the X display size and
4077    the character size, both in pixels to help eliminate some of
4078    the constants in <code>esctest</code>.</li>
4079
4080    <li>fixes prompted by review of George Nachman's
4081    <code>esctest</code> script:
4082      <ul>
4083        <li>add a null-pointer check and a limit-check in
4084        <code>xtermCheckRect</code>.</li>
4085
4086        <li>correct limit-check for right-margin when processing
4087        autowrapping if xterm is not built for
4088        wide-characters.</li>
4089
4090        <li>repair logic in <code>RIS</code> to reset 132-column
4091        mode when an escape sequence is used to enable
4092        80/132-column switching.</li>
4093
4094        <li>correct array-limit for EWMH working state.</li>
4095
4096        <li>further improve limit-checks versus assert's (see
4097        <a href="#xterm_315">patch #315</a>).</li>
4098
4099        <li>correct order of check-margins and move-to-left margin
4100        for <code>DL</code> and <code>IL</code>.</li>
4101
4102        <li>modify reverse-wrap to pay attention to top/bottom
4103        margins as it has done for left/right margins since
4104        <a href="#xterm_279">patch #279</a>.</li>
4105
4106        <li>modify behavior of <code>DECFI</code> and
4107        <code>DECBI</code> to not index the screen at the
4108        left/right edge of the display unless those happen to be
4109        the left/right margins.</li>
4110
4111        <li>add case for VT320 DSR response for keyboard
4112        status.</li>
4113      </ul>
4114    </li>
4115
4116    <li>improve check for valid shell path using
4117    <code>getusershell</code> and <code>endusershell</code> if
4118    available, in case <code>/etc/shells</code> does not exist
4119    (suggested by Rainer Orth).</li>
4120
4121    <li>modified configure checks for groff and man2html, to use
4122    the latter by default, but allowing mandoc as a partial
4123    replacement for former.</li>
4124
4125    <li>revisited the inconsistent copyright notices mentioned in
4126    <a href="#xterm_165">patch #165</a>, and eliminate the issue as
4127    mentioned in this <a href=
4128    "https://invisible-island.net/personal/copyrights.html">copyright
4129    discussion</a>.</li>
4130
4131    <li>fix typo in this change-log (report by Sven Joachim)</li>
4132
4133    <li>update config.guess, config.sub</li>
4134  </ul>
4135
4136  <h1><a name="xterm_331" id="xterm_331">Patch #331 -
4137  2017/12/30</a></h1>
4138
4139  <ul>
4140    <li>add workaround for improper grayscale adjustments made in
4141    FreeType library, exposed by changes to rounding in 2.8.1,
4142    which shows up as a gap in line-drawing characters (Debian
4143    #880407).</li>
4144
4145    <li>improve a special case where a non-Unicode font's
4146    line-drawing characters were not used, when specifying it via
4147    the <code>utf8Fonts</code> resource, e.g.,
4148      <blockquote>
4149        <pre>
4150        -fs 15 \
4151        -xrm '*VT100.font:12x24' \
4152        -xrm '*VT100.boldFont:12x24' \
4153        -xrm '*VT100.utf8Fonts.font: 12x24' \
4154        -xrm '*VT100.utf8Fonts.boldFont: 12x24' \
4155</pre>
4156      </blockquote>
4157    </li>
4158
4159    <li>replace constant 10msec delay for next X event with new
4160    resource <code>nextEventDelay</code>, and reduce that to 1msec
4161    to accommodate faster machines than used when
4162    <code>-hold</code> was implemented in <a href=
4163    "#xterm_116">1999</a> (Debian #877628).</li>
4164
4165    <li>add <code>scroll-to</code> action, which simplifies binding
4166    a key to scroll to the beginning or end of the saved-lines
4167    (Debian #880120).</li>
4168
4169    <li>add building blocks for alternate screen and/or title-stack
4170    features in the <code>terminfo</code> file.</li>
4171
4172    <li>improve calculations for cell-data size.</li>
4173
4174    <li>change configure script to enable XHTML/SVG screen dumps by
4175    default.</li>
4176
4177    <li>change configure script to enable 256-colors by
4178    default.</li>
4179
4180    <li>update config.guess, config.sub</li>
4181
4182    <li>change configure script option for
4183    <code>--with-man2html</code> to use improved script by
4184    default.</li>
4185
4186    <li>add case for private mode 1044 in DECRQM, to report the
4187    keepClipboard resource setting and corresponding menu
4188    entry.</li>
4189
4190    <li>fix an inconsistency between private mode 12 (the AT&amp;T
4191    610 cursor blink) and <code>DECSCUSR</code>: the former relied
4192    on having the <code>cursorBlink</code> resource set initially
4193    to enable the escape sequence, while the latter does not.</li>
4194
4195    <li>add private modes 13 and 14, as well as resource
4196    <code>cursorBlinkXOR</code> to allow better control over the
4197    cursor-blinking state (discussion with Bram Moolenaar).</li>
4198
4199    <li>modify the html and svg screen dumps to support direct
4200    color</li>
4201
4202    <li>modify media copy (screen-printing) to support the same SGR
4203    codes as <code>DECRQSS</code>, including 88/256 indexed color
4204    as well as direct color.</li>
4205
4206    <li>improve options-parsing for query-status.pl script.</li>
4207
4208    <li>modify parsing of <code>SGR</code> direct-color control
4209    making <em>color space identitier</em> optional. The
4210    corresponding <code>DECRQSS</code> reply always returns an
4211    empty (default) field for the identifier.</li>
4212
4213    <li>add wide-attributes to <code>DECRQSS</code> reply for
4214    <code>SGR</code>.</li>
4215
4216    <li>add private mode 1046 to help with scripting
4217    applications.</li>
4218
4219    <li>correct expression used for readline-flags in DECRQM; to
4220    test the current flag rather than information <em>stacked</em>
4221    within the same variable.</li>
4222
4223    <li>correct typo in <code>ctlseqs.ms</code> reference to
4224    ISO-8613-6 (patch by Mike Frysinger).</li>
4225
4226    <li>fix lintian warning for test-package.</li>
4227
4228    <li>fix typo in <code>DECRQSS</code> for <code>SGR</code> 48,
4229    which printed the foreground value for colors past 15. Also use
4230    colon delimiter for codes 38/48 in response (report by Paul
4231    LeoNerd Evans).</li>
4232
4233    <li>improve workaround for Debian #542434 by using the font's
4234    maximum width when no ISO-8859-1 glyphs are provided (Debian
4235    #879936).</li>
4236
4237    <li>work around a special case of <em>Xft</em>'s mismanagement
4238    of its cached data by adding a check before the
4239    <code>-report-fonts</code> option to ensure that it does not
4240    use an <code>XftPattern</code> which may have been freed during
4241    a call to <code>XftFontOpenPattern</code>.</li>
4242
4243    <li>improve manual page description of <code>regex</code>
4244    option for <code>on<em>X</em>Clicks</code> resources (report by
4245    Lukas Mai).</li>
4246
4247    <li>add <code>directColor</code> resource.</li>
4248
4249    <li>additional manpage macro cleanup (Branden Robinson, Debian
4250    #880551).</li>
4251
4252    <li>add optional support for direct-colors (adapted from patch
4253    by anonymous &ldquo;Nibby Nebbulous&rdquo;).</li>
4254
4255    <li>improve legacy/NRC character set mapping (patch by Thomas
4256    Wolff), e.g.,
4257      <ul>
4258        <li>enable alternate NRC set designators for French and
4259        French Canadian, &lsquo;9&rsquo; and &lsquo;f&rsquo;
4260        respectively, as documented in ctlseqs. (&lsquo;9&rsquo; is
4261        documented for VT510, &lsquo;f&rsquo; is a Kermit
4262        feature).</li>
4263
4264        <li>correct the Unicode value in the <em>DEC Technical</em>
4265        table to show capital delta.</li>
4266
4267        <li>referring to
4268          <blockquote>
4269            <p><a href=
4270            "http://vt100.net/docs/vt220-rm/table2-3b.html">http://vt100.net/docs/vt220-rm/table2-3b.html</a><br>
4271
4272            <a href=
4273            "http://vt100.net/docs/vt320-uu/appendixe.html">http://vt100.net/docs/vt320-uu/appendixe.html</a></p>
4274          </blockquote>
4275
4276          <p>add entries for the <em>DEC Supplemental Graphics</em>
4277          table to display 0x28/0xa8 as &curren; and 0x5d/0xdd as
4278          &Yuml;.</p>
4279        </li>
4280
4281        <li>referring to
4282          <blockquote>
4283            <p><a href=
4284            "http://www.vt100.net/charsets/technical.html">http://www.vt100.net/charsets/technical.html</a></p>
4285          </blockquote>
4286
4287          <p>alter the Unicode values used for 0x2b through 0x2c to
4288          use <em>curly braces</em> to work with the
4289          &ldquo;middle&rdquo; parts displayed with 0x2f and
4290          0x30.</p>
4291        </li>
4292
4293        <li>modify the VT220 &ldquo;Supplemental&rdquo; table,
4294        giving a hint that it was probably meant to be
4295        &ldquo;Supplemental Graphics&rdquo; and is the same as
4296        VT320's table.</li>
4297      </ul>
4298    </li>
4299
4300    <li>quiet a few font-warnings when a derived fontname cannot be
4301    opened, overlooked in refactoring of font resources in <a href=
4302    "#xterm_328">patch #328</a> (initially reported on <a href=
4303    "https://cygwin.com/ml/cygwin/2017-06/msg00255.html">Cygwin
4304    mailing list</a>, with <a href=
4305    "https://cygwin.com/ml/cygwin/2017-07/msg00216.html">followup</a>).</li>
4306
4307    <li>correct error response for <code>DECRQSS</code> broken in
4308    cleanup of Coverity reports in <a href="#xterm_288">patch
4309    #288</a> (reports by Bram Moolenaar and IWAMOTO Kouichi).</li>
4310
4311    <li>improve <code>DECRPM</code> responses by returning <em>mode
4312    not recognized</em> for modes which may not be settable due to
4313    the selected <code>decTerminalID</code> resource (report by
4314    IWAMOTO Kouichi).</li>
4315
4316    <li>correct logic for <code>print-immediate</code> action, and
4317    enable corresponding menu entry (patch by Lauri
4318    Tirkkonen).</li>
4319
4320    <li>add configure option <code>--with-pcre2</code> (patch by
4321    David Michael).</li>
4322
4323    <li>fix a misspelled subsection title in ctlseqs.ms and add a
4324    note regarding blink which was rendered as bold in X11R6.
4325    Blinking text was implemented in <a href="#xterm_60">Patch
4326    #60</a>.</li>
4327
4328    <li>fix typos in <code>xterm.man</code> (patches by Sven
4329    Joachim, Larry Hynes).</li>
4330
4331    <li>fix typography in <code>xterm.man</code> (patch by Bjarni
4332    Ingi Gislason, Debian #869248).</li>
4333
4334    <li>fix typo in <code>INSTALL</code> (Larry Hynes).</li>
4335
4336    <li>add <code>xterm-direct</code> terminal description based on
4337    changes introduced in <a href="#xterm_277">patch #277</a>, and
4338    relying upon ncurses <code><strong>RGB</strong></code>
4339    extension.</li>
4340
4341    <li>modify <code>xterm-new</code> terminal description to use
4342    ECMA-48 <code>REP</code>, reflecting its use in xterm since
4343    <a href="#xterm_32">patch #32</a> (1996).</li>
4344
4345    <li>clarify comment in ctlseqs.ms regarding blink: it has been
4346    part of xterm since <a href="#xterm_60">patch #60</a>
4347    (1998).</li>
4348
4349    <li>update ftp URLs in documentation.</li>
4350  </ul>
4351
4352  <h1><a name="xterm_330" id="xterm_330">Patch #330 -
4353  2017/06/20</a></h1>
4354
4355  <ul>
4356    <li>updates for ReGIS (Ross Combs):
4357      <ul>
4358        <li>remove redundant text command error check which broke
4359        <code>T(B)</code> and <code>T(E)</code>.</li>
4360
4361        <li>retain the loading alphabet number across multiple
4362        &ldquo;L&rdquo; commands.</li>
4363
4364        <li>add <code>S(T)</code> delay handler.</li>
4365
4366        <li>fix some color handling error messages.</li>
4367
4368        <li>add stubbed-out macrograph handling.</li>
4369
4370        <li>use <code>fragment_remaining()</code> and
4371        <code>fragment_consumed()</code> instead of manually
4372        checking position / length in various places.</li>
4373
4374        <li>rename some local variables in string / extent / option
4375        parsing</li>
4376
4377        <li>wrap some long lines.</li>
4378
4379        <li>move macrograph command handling out of the
4380        top-level.</li>
4381      </ul>
4382    </li>
4383
4384    <li>add a summary of the italic fonts loaded to
4385    <code>-report-fonts</code> option.</li>
4386
4387    <li>modify the font-lookup for italics to allow for
4388    &ldquo;<code>-i-</code>&rdquo; if no match is found with slant
4389    &ldquo;<code>-o-</code>&rdquo; (prompted by patch by Ben
4390    Wong).</li>
4391
4392    <li>change default values for <code>mkSamplePass</code> and
4393    <code>mkSampleSize</code> to reflect generally-improved locale
4394    support in various operating systems (FreeBSD #219800).</li>
4395
4396    <li>modify <code>wcwidth.c</code> to return -1 for non-Unicode
4397    values, and adjust a couple of blocks to better match
4398    assumptions about ambiguous-width characters in other
4399    implementations. Also modify <code>wcwidth.c</code> to support
4400    configurable soft-hyphen, so there is no drawback to using this
4401    version rather than a system <code>wcwidth</code>.</li>
4402
4403    <li>amend change made in <a href="#xterm_328">patch #328</a>
4404    for cursor-visibility to handle case where an application is
4405    updating the reverse-video state (FreeBSD #219800).</li>
4406
4407    <li>update tables of combining and ambiguous-width characters
4408    in wcwidth.c based on Unicode 10.0.0.</li>
4409
4410    <li>build-fix for <code>--enable-sixel-graphics</code> without
4411    <code>--enable-regis-graphics</code> (reports by Sven Joachim,
4412    FreeBSD #219945).</li>
4413  </ul>
4414
4415  <h1><a name="xterm_329" id="xterm_329">Patch #329 -
4416  2017/06/12</a></h1>
4417
4418  <ul>
4419    <li>add control sequences for reading the Sixel and ReGIS
4420    graphics sizes (suggested by Ben Wong).</li>
4421
4422    <li>add a workaround for <code>wcwidth</code> returning -1 for
4423    characters which should have been printable (FreeBSD
4424    #219800).</li>
4425
4426    <li>fix a bug in font initialization from <a href=
4427    "#xterm_328">patch #328</a> (FreeBSD #219800).</li>
4428
4429    <li>fix a special case in <code>HideCursor</code> which
4430    assigned a bold font to the slot used for normal font in
4431    changes for italics in <a href="#xterm_307">patch #307</a>
4432    (Debian #858304).</li>
4433
4434    <li>updates for ReGIS (Ross Combs):
4435      <ul>
4436        <li>Strings specified with no command are used as
4437        "comments". Print these in the log when tracing.</li>
4438
4439        <li>Catch attempts to use "alternate display" mode (AKA
4440        "blink") from the GIGI, but do not implement it.</li>
4441
4442        <li>The <code>T(M)</code> command should only multiply the
4443        height by 10, not 20.</li>
4444
4445        <li>Make the <code>S(E)</code> command reset more state
4446        than just the screen contents.</li>
4447
4448        <li>Remove two rotation variables which were only being
4449        printed.</li>
4450
4451        <li>Numerous minor fixes and comment updates in the
4452        <code>R</code> command.</li>
4453
4454        <li>Unknown <code>R</code> command option names trigger an
4455        empty response.</li>
4456
4457        <li>Fix the output position after printing rotated text (it
4458        was missing the the sign before).</li>
4459
4460        <li>Fix the position change with pixelvectors and rotated
4461        text (the rotation transform was not being applied).</li>
4462
4463        <li>Update the <em>TODO</em> list and remove a verification
4464        <em>FIXME</em> (slanted text positioning is correct as
4465        is).</li>
4466
4467        <li>Emulate the approximately 1.4x enlargement for text
4468        which isn't rotated at right angles.</li>
4469
4470        <li>Only update the color planes specified in the plane
4471        mask (the <code>W</code> command's <code>F</code>
4472        option).</li>
4473      </ul>
4474    </li>
4475
4476    <li>fix a bug introduced by the changes to font information in
4477    <a href="#xterm_328">patch #328</a>. When processing the
4478    "checkfont" option of the <code>locale</code> resource, the
4479    program referred to the <em>request</em> data, to an array
4480    which was only allocated in the <em>new/result</em> widget
4481    (report by H Merijn Brand).</li>
4482
4483    <li>fix a missing assignment initialization to make the
4484    <code>utf8</code> resource control whether escape sequences to
4485    enable/disable UTF-8 mode are allowed.</li>
4486  </ul>
4487
4488  <h1><a name="xterm_328" id="xterm_328">Patch #328 -
4489  2017/06/01</a></h1>
4490
4491  <ul>
4492    <li>revise parser for <code>charClass</code> resource, making
4493    these improvements:
4494      <ul>
4495        <li>accept octal and hexadecimal values</li>
4496
4497        <li>allow embedded whitespace</li>
4498
4499        <li>allow the class after colon to be optional, e.g., to
4500        clear class settings for a range of characters.</li>
4501      </ul>
4502    </li>
4503
4504    <li>add command-line option
4505    <code>-report-charclass</code>.</li>
4506
4507    <li>fix most lintian warnings about test-package</li>
4508
4509    <li>add <code>eraseSavedLines</code> resource.</li>
4510
4511    <li>document <code>DECSED&nbsp;3</code> in
4512    <code>ctlseqs.ms</code> (report by Ben Longmans).</li>
4513
4514    <li>improve integration between configure-events and updates
4515    for reported screensize, in particular when switching between
4516    vt100 and tek4014 modes.</li>
4517
4518    <li>modify selection-highlighting of reverse-video text to keep
4519    that distinct, e.g., by reversing the selection foreground and
4520    background colors as one would expect. This fixes a "useless"
4521    case in the description of
4522    <code>highlightColorMode</code>.</li>
4523
4524    <li>improve fix for Debian #759734, addressing a case where
4525    non-colored cursor would be invisible against reverse-video
4526    (see <a href="#xterm_311">patch #311</a>).</li>
4527
4528    <li>updates for ReGIS (Ross Combs):
4529      <ul>
4530        <li>the "H" option of the "T" command should multiply by
4531        10, not 20.</li>
4532
4533        <li>display unknown glyphs as a solid block.</li>
4534
4535        <li>given a succession of text-direction options, use the
4536        last.</li>
4537
4538        <li>fix the direction of ReGIS slanted text so that
4539        negative values produce oblique output .</li>
4540
4541        <li>fix the ReGIS text direction option to only rotate
4542        characters when no following size option is used.</li>
4543      </ul>
4544    </li>
4545
4546    <li>update terminfo to better match corresponding entries in
4547    ncurses, e.g., <code>u8</code> pattern to match the VT220,
4548    VT420, etc., primary responses, as well as adding
4549    <code>smxx</code> and <code>rmxx</code>.</li>
4550
4551    <li>fixes from J&ouml;rg Sommer:
4552      <ul>
4553        <li>corrected a trace-message regarding maximum
4554        graphics-size; it used the similar ReGIS maximum size which
4555        might not be configured.</li>
4556
4557        <li>in <code>do_select_regex</code>, clear selection if
4558        there is no match. If the regex does not match anything
4559        around the cursor, the selection returned must be empty,
4560        otherwise the whole line is treated as a match. This way
4561        the command defined by <code>exec-selectable</code> will
4562        not be executed if there is no match.</li>
4563
4564        <li>modify limit in <code>do_select_regex</code> to include
4565        the character at the cursor in the match, making it easier
4566        to type something and then hit the key to trigger
4567        <code>exec-selectable</code>.</li>
4568
4569        <li>If <code>exec-selectable</code> or
4570        <code>insert-selection</code> is triggered by a mouse
4571        button click, the position of the mouse pointer should be
4572        used. This makes it easier to address any position on the
4573        window and it makes it possible to use the mouse, e.g., for
4574        applications such as mutt where you cannot move the
4575        cursor.</li>
4576      </ul>
4577    </li>
4578
4579    <li>modify <code>DECRC</code> to save/restore xterm's
4580    last-column flag used to control wrapping behavior rather than
4581    manipulating <code>DECAWM</code> (report/analysis by Mattias
4582    Engdeg&aring;rd).</li>
4583
4584    <li>add configure option <code>--enable-terminfo-env</code> to
4585    use the value set by <code>--with-own-terminfo</code> for the
4586    <code>$TERMINFO</code> environment variable. That variable was
4587    set automatically for HPUX, but would be useful in other
4588    systems, e.g., for Solaris (request by Jeff Wieland).</li>
4589
4590    <li>fix a race condition when setting up a signal handler to
4591    timeout if opening <code>/dev/tty</code> hangs (patch by Tobias
4592    Stoeckmann).</li>
4593
4594    <li>review/cleanup resources which were not in the manual page
4595    (report by Maxwell Anselm):
4596      <ul>
4597        <li>add manual page description as needed.</li>
4598
4599        <li>drop resource name for <code>menuBar</code>, as
4600        unnecessary.</li>
4601
4602        <li>modify fallback numeric value for
4603        <code>regisScreenSize</code> resource to match that for
4604        <code>maxGraphicSize</code>.</li>
4605      </ul>
4606    </li>
4607
4608    <li>updated configure macros <code>CF_ADD_CFLAGS</code>,
4609    <code>CF_CC_ENV_FLAGS</code>, <code>CF_GNU_SOURCE</code>,
4610    <code>CF_MATH_LIB</code>, and <code>CF_XOPEN_SOURCE</code> from
4611    other program-changes.</li>
4612
4613    <li>update config.guess, config.sub</li>
4614
4615    <li>change &ldquo;maximum screensize&rdquo; assumed by
4616    <code>resize</code> to 9999x9999, to accommodate people using
4617    the <em><code>Unreadable</code></em> font.</li>
4618
4619    <li>drop <code>Utility</code> from default value of
4620    <code>--with-desktop-category</code> (Debian #780176).</li>
4621
4622    <li>widen the configure script pattern used for finding related
4623    ".desktop" files, including &ldquo;Terminal&rdquo;</li>
4624
4625    <li>several minor improvements to font utility functions:
4626      <ul>
4627        <li>provide for later modification to implement font-sets
4628        by parsing the font resources as comma-separated
4629        lists.</li>
4630
4631        <li>parse <code>-fn</code> and <code>-fa</code> similarly,
4632        using &ldquo;x:&rdquo; and &ldquo;xft:&rdquo; prefixes for
4633        font name/family strings to distinguish between XLFD and
4634        Xft font specifications.</li>
4635
4636        <li>use loops to iterate over font classes</li>
4637
4638        <li>use getters/setters for font data to allow for
4639        on-demand lookups.</li>
4640
4641        <li>make the debugging trace for missing glyph less verbose
4642        since that interferes with the <code>-report-fonts</code>
4643        option.</li>
4644
4645        <li>refactor <code>xtermLoadFont</code> to make it clearer
4646        how some fonts are derived from others, e.g., bold,
4647        wide.</li>
4648
4649        <li>make the triggering and suppressing of font-warnings
4650        more consistent by storing the last state in the
4651        widget.</li>
4652
4653        <li>reduce font-warnings by checking for repeated
4654        warnings.</li>
4655      </ul>
4656    </li>
4657
4658    <li>add <code>vttests/query-status.pl</code></li>
4659
4660    <li>add <code>vttests/closest-rgb</code></li>
4661
4662    <li>add special case for displaying soft-hyphen if it happens
4663    to fall at the right margin, and omitting similar case such as
4664    the BIDI markers, where a zero-width character is neither a
4665    control character nor a combining character (Debian
4666    #844325).</li>
4667
4668    <li>modify logic for <code>OSC&nbsp;52</code>, <em>manipulate
4669    selection data</em>, to update the selection-time to include
4670    the latest X events. This fixes some cases where the selection
4671    was invalid, e.g., after an event due to focus-follows-mouse
4672    (report/testcase by Stephane Chauveau).</li>
4673
4674    <li>revise macro <code>CastMallocN</code> as new macro
4675    <code>TextAlloc</code> to make explicit use of
4676    <code>sizeof(char)</code> (prompted by patch by Cade
4677    Foster).</li>
4678
4679    <li>add <em>&ldquo;Mouse Ops&rdquo;</em> menu entry and related
4680    resources to allow runtime disabling/enabling of the mouse
4681    protocol escape sequences (discussion with Bob Proulx).</li>
4682
4683    <li>improve discussion of mouse actions versus protocol in the
4684    manual (discussion with Bob Proulx).</li>
4685
4686    <li>improve discussion of environment variables in the manual,
4687    pointing out where some features (such as termcap and the
4688    System5 <code>COLUMNS</code> and <code>LINES</code> variables)
4689    are used rarely, mainly to support legacy applications.</li>
4690
4691    <li>add examples of <code>translations</code> resource for
4692    select/paste, and for font-size changes to the manual.</li>
4693
4694    <li>minor reordering of some entries in <code>ctlseqs.ms</code>
4695    for consistency (report by Arran Ubels).</li>
4696
4697    <li>add <code>-s</code> option to <code>256colors2.pl</code>
4698    and <code>88colors2.pl</code>, to demonstrate modifying the
4699    &ldquo;system&rdquo; colors 0&ndash;15.</li>
4700
4701    <li>omit <code>XFT_SPACING</code> property from call to <code>
4702      XftPatternBuild</code>, to work around a bug in
4703      <em>fontconfig</em> for handling Google Go fonts, whose names
4704      sort in an order not expected by <em>fontconfig</em>, causing
4705      the request for a monospaced font to return <em>italics</em>,
4706      e.g.,
4707      <blockquote>
4708        <pre>
4709$ fc-match 'Go Mono:spacing=monospace'
4710Go-Mono-Italic.ttf: "Go Mono" "Italic"
4711(report by Giacomo Boffi on <a href=
4712"http://unix.stackexchange.com/questions/324941/xterm-displays-an-italic-face-instead-of-regular">Stackoverflow</a>).
4713
4714</pre>
4715      </blockquote>
4716    </li>
4717
4718    <li>modify <code>minstall.in</code> to improve a workaround
4719    added to the manual page in <a href="#xterm_182">patch #182</a>
4720    to avoid having the C preprocessor used in the imake
4721    configuration strip out the comments in the character classes
4722    section (reports by Ted Unangst, Anthony J Bentley).</li>
4723  </ul>
4724
4725  <h1><a name="xterm_327" id="xterm_327">Patch #327 -
4726  2016/10/07</a></h1>
4727
4728  <ul>
4729    <li>add a check in the function which handles end-of-line
4730    wrapping to ensure that C1 controls are allocated one column
4731    when <code>allowC1Printable</code> is set (Debian
4732    #738794).</li>
4733
4734    <li>use consistent error-checking after <code>strtol</code>
4735    calls, fixes a case where a query with OSC 6 did not ensure
4736    there was a valid color number (report by Alex Smith).</li>
4737
4738    <li>add <code>-baudrate</code> option, for testing
4739    ncurses.</li>
4740
4741    <li>always generate the <code>CASE_<em>xxx</em></code> symbols
4742    in <code>VTparse.h</code> and <code>Tekparse.h</code>, as part
4743    of a change to improve debug-logging. This makes the build
4744    always depend upon <code>awk</code>.</li>
4745
4746    <li>modify <code>allowC1Printable</code> to disallow codes
4747    160-254 as being equivalent to codes 32-126 when parsing escape
4748    sequences (Debian #839220).</li>
4749
4750    <li>amend fix from <a href="#xterm_326">patch #326</a> for
4751    TrueType fonts to exclude the hidden character used for
4752    double-width cells (report by Grady Martin).</li>
4753
4754    <li>fix a typo in <code>ctlseqs.ms</code></li>
4755  </ul>
4756
4757  <h1><a name="xterm_326" id="xterm_326">Patch #326 -
4758  2016/09/25</a></h1>
4759
4760  <ul>
4761    <li>updated appdata file (report by Richard Hughes).</li>
4762
4763    <li>improve discussion of the different terminal emulations
4764    provided by xterm in the manual page.</li>
4765
4766    <li>add examples of setting the icon title with/without the
4767    window title in the manual (Debian #833984).</li>
4768
4769    <li>correct a limit-check when using a numeric value for
4770    extended Booleans e.g., <code>*fullscreen:3</code> rather than
4771    a name such as <code>*fullscreen:never</code>.</li>
4772
4773    <li>add action <code>allow-bold-fonts</code></li>
4774
4775    <li>improved formatting fixes for manual page, using script to
4776    find mismatches in spelling of resources, actions and menu
4777    entries.</li>
4778
4779    <li>improve documentation of logging resources.</li>
4780
4781    <li>fix a special case of flickering cursor by adding
4782    <code>GraphicsExpose</code> to the list of event types that
4783    should not trigger making the mouse cursor visible (patch by
4784    Joe Peterson).</li>
4785
4786    <li>correct initialization of line-drawing in VT52-mode,
4787    overlooked in changes for <a href="#xterm_297">patch #297</a>
4788    (report/patch by Ben Wiley Sittler).</li>
4789
4790    <li>minor clarification of form-feed versus line-feed in
4791    <code>ctlseqs.ms</code> (suggested by David Kemper).</li>
4792
4793    <li>amend fix for Debian #738794 to restore a check for missing
4794    characters which are <em>not</em> combining characters. Also
4795    fill in a corresponding special case for TrueType fonts (Debian
4796    #827905).</li>
4797  </ul>
4798
4799  <h1><a name="xterm_325" id="xterm_325">Patch #325 -
4800  2016/06/05</a></h1>
4801
4802  <ul>
4803    <li>improve manual page discussion of function keys (discussion
4804    with Ross Combs).</li>
4805
4806    <li>further improve fix for Debian #545220 in <a href=
4807    "#xterm_248">patch #248</a>, to avoid conflict with combining
4808    characters (Debian #738794).</li>
4809
4810    <li>improve <code>-hold</code> option to avoid 100% CPU usage
4811    with NetBSD after closing the shell, which makes subsequent
4812    checks for X input events fail (prompted by patch by Pierre
4813    Pronchery).</li>
4814
4815    <li>review <code>#ifdef</code> statements, listed those which
4816    do not have a configure option in
4817    <code>xtermcfg.hin</code>.</li>
4818
4819    <li>fixed one case where the menu sensistivity for
4820    <em>Print-All Immediately</em> and <em>Print-All on Error</em>
4821    was not properly ifdef'd.</li>
4822
4823    <li>modify terminfo entries for 16-, 88- and 256-color to reset
4824    palette with <code>rs1</code> capability.</li>
4825
4826    <li>accept <code>legacy</code> value of <code>-kt</code> as
4827    synonym for the <code>oldXtermFKeys</code> resource, and extend
4828    the full-reset logic to use the keyboard type set via
4829    <code>-kt</code>.</li>
4830
4831    <li>modify <code>ioctl</code> calls for <code>I_PUSH</code> to
4832    first check if the module has been added, using
4833    <code>I_FIND</code>. This is needed for newer Solaris libraries
4834    with c11 support (adapted from patch by Alan Coopersmith).</li>
4835
4836    <li>add check in <code>getXtermCombining</code> to ensure that
4837    combining characters were allocated (report by Tor
4838    Andersson).</li>
4839
4840    <li>add configure option <code>--without-xinerama</code> to
4841    allow suppressing the extension (Gentoo #580936).</li>
4842
4843    <li>update keysym2ucs.c based on Unicode 9.0</li>
4844
4845    <li>fixed most <code>cppcheck --enable=all</code> warnings,
4846    including for style (prompted by report by David Binderman).
4847    There was one bug-fix:
4848      <ul>
4849        <li>RGB least-squares computation in
4850        <code>allocateClosestRGB</code> used only one ordinate</li>
4851      </ul>
4852    </li>
4853
4854    <li>add <code>cppcheck</code> to lint-like programs in
4855    configure script and makefile.</li>
4856
4857    <li>fix some const correctness issues and point out an array
4858    lifetime issue (Ross Combs).</li>
4859
4860    <li>updates for SIXEL and ReGIS (Ross Combs):
4861      <ul>
4862        <li>Sixel drawing should still happen after an error if
4863        some commands have been processed</li>
4864
4865        <li>Tiny steps toward reporting ReGIS input</li>
4866      </ul>
4867    </li>
4868  </ul>
4869
4870  <h1><a name="xterm_324" id="xterm_324">Patch #324 -
4871  2016/03/10</a></h1>
4872
4873  <ul>
4874    <li>updated configure macro <code>CF_LD_RPATH_OPT</code> from
4875    ncurses changes.</li>
4876
4877    <li>provide alternate fix for Juha Nurmela's report by turning
4878    on POSIX signals if <code>_POSIX_C_SOURCE</code> is at least
4879    one. This is done to improve the behavior if a direct child
4880    process receives a <code>STOP</code> signal.</li>
4881
4882    <li>revert change to <code>CF_POSIX_C_SOURCE</code> from
4883    <a href="#xterm_323">patch #323</a> (reports by Ashish Shukla,
4884    Christian Weisgerber).</li>
4885  </ul>
4886
4887  <h1><a name="xterm_323" id="xterm_323">Patch #323 -
4888  2016/03/07</a></h1>
4889
4890  <ul>
4891    <li>updated appdata and desktop files to add keywords (report
4892    by Richard Hughes).</li>
4893
4894    <li>modify configure macro <code>CF_POSIX_C_SOURCE</code> to
4895    accommodate some systems, e.g., FreeBSD, which have separated
4896    their implementation specific preprocessor symbols from the
4897    POSIX ones, requiring both to be defined (report by Juha
4898    Nurmela).</li>
4899
4900    <li>change the directory to the current working dir of the
4901    child process in exec-formatted and exec-selectable actions
4902    (patch by Alexander Pohoyda).</li>
4903
4904    <li>correct typo in xterm.man (patch by Larry Hynes).</li>
4905
4906    <li>correct typo in ctlseqs.ms (report by Shriramana
4907    Sharma).</li>
4908
4909    <li>add feature to support XHTML and SVG screen dumps (patch by
4910    Jens Schweikhardt).</li>
4911
4912    <li>correct response to DECRQSS when terminal id is less than
4913    400 (patch by Iwamoto Kouichi).</li>
4914  </ul>
4915
4916  <h1><a name="xterm_322" id="xterm_322">Patch #322 -
4917  2016/01/02</a></h1>
4918
4919  <ul>
4920    <li>fix regression due to incorrect fix for compiler warning
4921    when allocating storage for <code>/etc/shells</code> (reports
4922    by Ashish Shukla, Debian #809646).</li>
4923  </ul>
4924
4925  <h1><a name="xterm_321" id="xterm_321">Patch #321 -
4926  2015/12/31</a></h1>
4927
4928  <ul>
4929    <li>add resource <code>keepClipboard</code>, escape sequence
4930    and action <code>keep-clipboard</code>.</li>
4931
4932    <li>add optional feature to capture text copied to clipboard at
4933    the time of copying rather than at the time the clipboard
4934    contents are requested for pasting (patch by Milan
4935    Mehner).</li>
4936
4937    <li>improve a special case where the <code>-e</code> option was
4938    used to pass a single-quoted command via <code>luit</code>, by
4939    wrapping it in a &ldquo;sh -c&rdquo; (report by Keith
4940    Hedger).</li>
4941
4942    <li>minor fix for type-cleanliness when allocating storage for
4943    <code>/etc/shells</code> (Tobias Stoeckmann).</li>
4944
4945    <li>fix a typo in manual page (Dan Church).</li>
4946
4947    <li>fix minor file-descriptor leak; after calling
4948    <code>openpty</code>, the slave's file descriptor is not needed
4949    (report by Juha Nurmela).</li>
4950
4951    <li>editorial change to ctlseqs.ms (report by David
4952    Gomboc).</li>
4953
4954    <li>minor updates for autoconf macros.</li>
4955
4956    <li>update config.guess, config.sub</li>
4957  </ul>
4958
4959  <h1><a name="xterm_320" id="xterm_320">Patch #320 -
4960  2015/08/28</a></h1>
4961
4962  <ul>
4963    <li>correct documentation for <code>%t</code> format (report by
4964    Martin Tournoij).</li>
4965
4966    <li>add <code>%R</code> for consistency to
4967    <code>exec-formatted()</code> and
4968    <code>insert-formatted()</code> actions.</li>
4969
4970    <li>add <code>%r</code> format to <code>exec-formatted()</code>
4971    and <code>insert-formatted()</code> actions (patch by Martin
4972    Tournoij).</li>
4973
4974    <li>Amend fix for Debian #794201 (report forwarded from
4975    Christian Jachmann by Emanuel Haupt, Debian #797008).</li>
4976  </ul>
4977
4978  <h1><a name="xterm_319" id="xterm_319">Patch #319 -
4979  2015/08/19</a></h1>
4980
4981  <ul>
4982    <li>add a section to <code>ctlseqs.ms</code> discussing control
4983    sequences and ECMA-48, to explain why C1 controls do not occur
4984    in the decoded characters from UTF-8 byte streams (prompted by
4985    discussion with Poul-Henning Kamp).</li>
4986
4987    <li>modify check for cursor-theme from <a href=
4988    "#xterm_301">patch #301</a> to also check if the resource
4989    <code>Xcursor.theme</code> is set to a nonempty value before
4990    fallback to xterm's own dummy theme (request by Robert
4991    Kloefkorn).</li>
4992
4993    <li>explain in <code>ctlseqs.ms</code> that some keys which
4994    normally send SS3-prefixes are changed to CSI-prefixes if
4995    key-modifiers are passed as parameters (report by George
4996    Nachman).</li>
4997
4998    <li>correct double-free of font information when multiple
4999    problems are found, particularly for the wide fonts loaded via
5000    the <code>-wc</code> option (report/testcase by Nelson
5001    Beebe).</li>
5002
5003    <li>make configure option <code>--enable-builtin-xpms</code>
5004    actually work (report by William Bulley).</li>
5005
5006    <li>correct combination of <code>-ls</code> and <code>-e</code>
5007    options for utempter configuration (Debian #794201).</li>
5008
5009    <li>NetBSD build-fix for OPT_RENDERFONT versus OPT_SHIFT_FONTS
5010    (patch by Matthew Green, forwarded by Thomas Klausner).</li>
5011
5012    <li>fix a few minor bugs found with Coverity.</li>
5013
5014    <li>update pixelvector handling (Ross Combs):
5015      <ul>
5016        <li>split pixel-based and coord-based functions with common
5017        parts factored out to a "raw" function</li>
5018
5019        <li>add a "step" variant which loads a single PV digit</li>
5020      </ul>
5021    </li>
5022
5023    <li>make the graphic dirty upon resize or clear, fixing some
5024    missing refreshes (patch by Ross Combs)</li>
5025
5026    <li>fixes scrolling to use user coordinates and move in the
5027    correct direction (patch by Ross Combs)</li>
5028
5029    <li>several fixes/improvements for ReGIS whitespace and
5030    page-handling (patch by Ross Combs).</li>
5031  </ul>
5032
5033  <h1><a name="xterm_318" id="xterm_318">Patch #318 -
5034  2015/04/12</a></h1>
5035
5036  <ul>
5037    <li>rename new(er) configure option
5038    <code>--enable-initial-erase</code> to
5039    <code>--enable-pty-erase</code>, since that conflicted with an
5040    existing option (report by Jens Schweikhardt).</li>
5041
5042    <li>fix cut/paste error in <code>--with-builtin-xpms</code>
5043    configure option (reports by Jens Schweikhardt, Ross
5044    Combs).</li>
5045
5046    <li>fix minor formatting issue in xterm manual (report by Jens
5047    Schweikhardt).</li>
5048
5049    <li>eliminate unnecessary "#(vi" markers in autoconf macros by
5050    using "(" to begin case-statement cases (suggested by Jens
5051    Schweikhardt).</li>
5052
5053    <li>minor fixes to improve <code>const</code> usage (Ross
5054    Combs).</li>
5055  </ul>
5056
5057  <h1><a name="xterm_317" id="xterm_317">Patch #317 -
5058  2015/03/27</a></h1>
5059
5060  <ul>
5061    <li>adapt example for <code>exec-formatted</code> from <a href=
5062    "http://lukas.zapletalovi.com/2013/07/hidden-gems-of-xterm.html">
5063    Luk&aacute;&scaron; Zapletal's</a> webpage to manual (Debian
5064    #780008).</li>
5065
5066    <li>add a short usage section to the xterm manual, including
5067    notes on setting the window title (Debian #742477).</li>
5068
5069    <li>revise a change made to <code>ICH</code> in <a href=
5070    "#xterm_314">patch #314</a> to address limit-checks
5071    (reports/testcases by Zolt&aacute;n K&eacute;ri and Joe
5072    Peterson, also reported by Christian Weisgerber).</li>
5073  </ul>
5074
5075  <h1><a name="xterm_316" id="xterm_316">Patch #316 -
5076  2015/03/07</a></h1>
5077
5078  <ul>
5079    <li>revert change to make <code>DCH</code> honor top/bottom
5080    scrolling margins. For the record, both the VT420 and VT520
5081    reference manuals incorrectly state that <em>"DCH has no effect
5082    outside the scrolling margins."</em></li>
5083
5084    <li>fix regression in <code>DCH</code> introduced in adjustment
5085    for limit-check in <a href="#xterm_314">patch #315</a>
5086    (report/testcase by Zolt&aacute;n K&eacute;ri, also reported by
5087    Christian Weisgerber).</li>
5088
5089    <li>correct default value for configure option
5090    <code>--enable-initial-erase</code>; it should be "False", but
5091    in <a href="#xterm_315">patch #315</a> it was "Maybe", which
5092    differed from default set in <a href="#xterm_192">patch
5093    #192</a>.</li>
5094  </ul>
5095
5096  <h1><a name="xterm_315" id="xterm_315">Patch #315 -
5097  2015/03/02</a></h1>
5098
5099  <ul>
5100    <li>change default for <code>--enable-narrowproto</code> for
5101    Cygwin to "no" to better match contemporary configurations
5102    (report by Jens Schweikhardt, prompted by <a href=
5103    "http://stackoverflow.com/questions/28137618/what-is-a-narrow-prototype-and-why-would-i-need-one/28334574?noredirect=1#comment45022128_28334574">
5104    discussion</a>).</li>
5105
5106    <li>provide <code>OSC&nbsp;106</code> as an alternative to
5107    <code>OSC&nbsp;6</code>, avoiding conflict with one of
5108    Terminal.app's undocumented escape sequences (report by Egmont
5109    Koblinger).</li>
5110
5111    <li>fix an off-by-one in comparison when autowrap and
5112    left/right margins are combined (report by George
5113    Nachman).</li>
5114
5115    <li>modify <code>DECBI</code> and <code>DECFI</code> to work
5116    outside the left/right margins, since the vague VT520 reference
5117    manual could support that interpretation (suggested by George
5118    Nachman).</li>
5119
5120    <li>correct response for <code>DECSCUSR</code> in
5121    <code>DECRQSS</code> (report/analysis by George Nachman).</li>
5122
5123    <li>add <code>DECSLRM</code> to list for <code>DECRQSS</code>
5124    in ctlseqs.ms (report by George Nachman).</li>
5125
5126    <li>improve limit-checks versus assert's in the debugging
5127    version (reports by George Nachman).</li>
5128
5129    <li>correct a problem with multiple writes to the right-margin
5130    when autowrap is turned off (report by George Nachman, also
5131    reported in Gnome #744819 by Ulf Magnusson).</li>
5132
5133    <li>modify <code>DCH</code> to honor top/bottom and left/right
5134    margins (report by George Nachman).</li>
5135
5136    <li>correct off-by-one in comparison so that <code>DL</code>
5137    honors left/right margins (report by George Nachman).</li>
5138
5139    <li>correct logic of <code>DECSCL</code>, which always set
5140    8-bit controls as a side-effect (report by George
5141    Nachman).</li>
5142
5143    <li>correct loop limit for <code>DECSED&nbsp;1</code>, when
5144    <code>DECSCA</code> is enabled (report by George Nachman).</li>
5145
5146    <li>fix a entry in csi_table for &ldquo;<code>$</code>&rdquo;,
5147    needed for <code><em>CSI</em>&nbsp;[&nbsp;$&nbsp;z</code>
5148    (report by George Nachman).</li>
5149
5150    <li>remove restriction from <a href="#xterm_279">patch #279</a>
5151    changes on <code>DECIC</code> and <code>DECDC</code> to
5152    left-right mode (report by George Nachman).</li>
5153
5154    <li>correct PID value returned in response to DECRQCRA
5155    (report/analysis by George Nachman).</li>
5156
5157    <li>fix an ifdef'ing problem, where
5158    <code>--disable-dec-locator</code> would turn off logic needed
5159    for <code>DECIC</code> and <code>DECDC</code> (report by George
5160    Nachman).</li>
5161
5162    <li>correct order of parameters in report for
5163    <code><em>CSI</em>&nbsp;1&nbsp;9&nbsp;t</code>, which gives the
5164    screensize in characters (report by George Nachman).</li>
5165
5166    <li>add null pointer checks for a case in DECCRA where part of
5167    the target rectangle lies outside the screen limits (report by
5168    George Nachman).</li>
5169
5170    <li>remove extra "6" for selective erase from DA1 response
5171    (report by George Nachman).</li>
5172
5173    <li>support Xinerama screen specification in geometry parsing
5174    (patch by Nicolas George).</li>
5175
5176    <li>add configure option <code>--enable-initial-erase</code> to
5177    set <code>ptyInitialErase</code> consistently with manpage, as
5178    well as adding a table in manpage to clarify the relationship
5179    between the resources related to the backarrow key (Debian
5180    #775952).</li>
5181
5182    <li>add configure <code>--enable-builtin-xpms</code> to
5183    simplify compiling-in the icons introduced in <a href=
5184    "#xterm_284">patch #284</a> (prompted by discussion with
5185    William Bulley).</li>
5186
5187    <li>fix/improve autoconf macros:
5188      <ul>
5189        <li>CF_WITH_APP_DEFAULTS, add paths for OSX</li>
5190
5191        <li>CF_WITH_MAN2HTML, configure option "--with-man2html"
5192        provides "man2html" as alternative to groff's man/html
5193        conversion</li>
5194      </ul>
5195    </li>
5196
5197    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
5198  </ul>
5199
5200  <h1><a name="xterm_314" id="xterm_314">Patch #314 -
5201  2014/12/28</a></h1>
5202
5203  <ul>
5204    <li>fix a minor bug in the termcap-specific version of
5205    <code>resize</code> when the lines or columns values are at the
5206    very end of an incomplete termcap string (prompted by coverity
5207    report).</li>
5208
5209    <li>improve paste64 feature (report by Olaf Rogalsky)
5210      <ul>
5211        <li>fix &ldquo;<code>p</code>;&rdquo; command in
5212        <code>paste64.pl</code> example.</li>
5213
5214        <li>modify <code>_OwnSelection</code> to allow the paste64
5215        control to cause primary/clipboard selections to be
5216        disowned and cleared.</li>
5217
5218        <li>omit an extra "=" used in padding, to make the base64
5219        response a multiple of four characters.</li>
5220
5221        <li>modify <code>_ConvertSelectionHelper</code> to not stop
5222        converting on embedded nulls in the primary or clipboard
5223        selection. That makes the behavior consistent with
5224        cut-buffers. Nulls are not passed on to the application
5225        because they are used for separators in the X library calls
5226        that convert <code>XTextProperty</code> values.</li>
5227      </ul>
5228    </li>
5229
5230    <li>add configure option <code>--with-man2html</code> to allow
5231    an alternative to groff's man/html conversion.</li>
5232
5233    <li>review and modify resource-settings which can be set via
5234    control sequences, etc:
5235      <ul>
5236        <li>add <code>OSC&nbsp;6</code>, to enable/disable colors
5237        set via <code>OSC&nbsp;5</code>, without changing the color
5238        assignments (prompted by patch by Ingo Br&uuml;ckl).</li>
5239
5240        <li>add command-line option <code>-itc</code> for
5241        italics.</li>
5242
5243        <li>add <code>colorIT</code> and <code>colorITMode</code>
5244        for italics, like <code>colorBD</code>, etc.</li>
5245
5246        <li>guard <code>allowPasteControls</code> against
5247        modification by <code>editres</code>.</li>
5248      </ul>
5249    </li>
5250
5251    <li>change <code>passedPty</code> from fixed-length to
5252    allocated to ensure that it is long enough to hold the
5253    <code>-S</code> option value (report by Ben Longbons).</li>
5254
5255    <li>improve ReGIS graphics initialization (Ross Combs):
5256      <ul>
5257        <li>add a new string resource to set the default ReGIS
5258        font.</li>
5259
5260        <li>fix a caching problem where the font name wasn't taken
5261        into consideration when looking up cached metrics.</li>
5262
5263        <li>enables use of fractional values in coordinates (which
5264        in turn allows setting the coordinates to something like
5265        [0,1][1,0])</li>
5266
5267        <li>doubles the minimum ReGIS graphic to 200x200</li>
5268
5269        <li>set the default ReGIS image size to "auto"</li>
5270
5271        <li>fix some swapped width/height parameters in TRACE
5272        messages</li>
5273
5274        <li>add support for scaling and mirrored coordinate systems
5275        to the screen address command</li>
5276
5277        <li>sets a minimum ReGIS graphics size of 100x100 --
5278        smaller address ranges will be scaled up</li>
5279
5280        <li>reset the image if either the width or height is zero
5281        (which should happen together or not at all, but switching
5282        the logic gets rid of some parentheses)</li>
5283
5284        <li>adds support for alternate screen coordinates (just
5285        offsets, not inverted coordinates or scaling)</li>
5286
5287        <li>keeps the graphics state across ReGIS calls unless P1
5288        or P3 entry codes are used</li>
5289
5290        <li>changes loops to continue after parsing whitespace to
5291        allow trailing whitespace</li>
5292
5293        <li>fixes some incorrect character casts</li>
5294      </ul>
5295    </li>
5296  </ul>
5297
5298  <h1><a name="xterm_313" id="xterm_313">Patch #313 -
5299  2014/11/28</a></h1>
5300
5301  <ul>
5302    <li>add <code>regisScreenSize</code> resource setting to allow
5303    custom screensizes for ReGIS graphics (prompted by discussion
5304    with Scott Froebe).</li>
5305
5306    <li>fix some minor issues in manpage (Jens Schweikhardt).</li>
5307
5308    <li>improve ReGIS font-handling (Ross Combs):
5309      <ul>
5310        <li>remove "random junk" generation for unknown
5311        characters</li>
5312
5313        <li>add xterm extension to load user glyphs for alphabet
5314        0</li>
5315
5316        <li>add xterm extension to specify loading an alphabet from
5317        a font by name</li>
5318
5319        <li>fix bug with use of empty alphabet slots which caused
5320        slot 0 to be clobbered</li>
5321
5322        <li>update/clarify ReGIS-related comments</li>
5323
5324        <li>add DECprint extension for printing/clearing the screen
5325        (only clearing is performed)</li>
5326      </ul>
5327    </li>
5328
5329    <li>improve ReGIS colorspec conversion (Ross Combs):
5330      <ul>
5331        <li>avoid some floating point math for colorspace
5332        conversion</li>
5333
5334        <li>move two copies of colorspec parsing to a single
5335        function</li>
5336
5337        <li>change colorspec parsing to handle components being out
5338        of order or with spaces and commas between them</li>
5339
5340        <li>add support for an extension where RGB components can
5341        be given instead of HLS</li>
5342      </ul>
5343    </li>
5344
5345    <li>improve use of const, e.g., for the <code>LineData</code>
5346    pointers (patch by Ross Combs).</li>
5347
5348    <li>clip of graphics that overlap the scrollback buffer and alt
5349    screen (patch by Ross Combs).</li>
5350
5351    <li>amend change to focus-change events in <a href=
5352    "#xterm_287">patch #287</a> to limit it to suppressing the
5353    reset of the urgency-hint, because some useful
5354    <code>FocusOut</code> events were lost (report by Joe
5355    Peterson).</li>
5356
5357    <li>modify dpkg build-script to configure xterm-dev as an
5358    <code>x-terminal-emulator</code> alternative.</li>
5359
5360    <li>extend the <code>--with-xterm-symlink</code> feature to
5361    make symbolic links for the other programs and scripts.</li>
5362
5363    <li>minor fix to <code>vttests/resize.pl</code> to avoid
5364    undefined variable when receiving broken/missing response,
5365    e.g., from mrxvt.</li>
5366
5367    <li>change the way that ReGIS graphics are refreshed (patch by
5368    Ross Combs):
5369      <ul>
5370        <li>it pre-composes any overlapping graphics to avoid
5371        unnecessary and flickering draws</li>
5372
5373        <li>it adds a three-dimensional lookup table for RGB -&gt;
5374        pixel values and uses this across all graphics</li>
5375
5376        <li>it draws in line segments when there is a run of the
5377        same color</li>
5378
5379        <li>in cases where there are no transparent parts, it uses
5380        an XImage to draw</li>
5381
5382        <li>it hooks into the double-buffering support if it is
5383        enabled (though this doesn't seem to get rid of all
5384        flicker).</li>
5385      </ul>
5386      This has the effect of reducing flicker and speeding up
5387      redraws.
5388    </li>
5389  </ul>
5390
5391  <h1><a name="xterm_312" id="xterm_312">Patch #312 -
5392  2014/09/28</a></h1>
5393
5394  <ul>
5395    <li>undo change to <code>do_select_regex()</code> in <a href=
5396    "#xterm_311">patch #311</a> (reports by H Merijn Brand,
5397    Sven-Haegar Koch, Debian #762978).</li>
5398  </ul>
5399
5400  <h1><a name="xterm_311" id="xterm_311">Patch #311 -
5401  2014/09/18</a></h1>
5402
5403  <ul>
5404    <li>mention <code>xclip</code> in manpage as an alternative
5405    workaround for copying clipboard data, noting that
5406    <code>selectToClipboard</code> (see <a href="#xterm_209">patch
5407    #209</a>) is the recommended approach (Debian #639094).</li>
5408
5409    <li>correct comparison in do_select_regex() of working position
5410    against starting column.</li>
5411
5412    <li>correct initialization for regular-expression feature of
5413    <code>exec-selectable</code> and <code>insert-selectable</code>
5414    actions (Debian #758633).</li>
5415
5416    <li>modify logic for <code>exec-formatted</code> and
5417    <code>insert-formatted</code> actions to ensure that the
5418    formatting occurs just after the selection is received (Debian
5419    #758633).</li>
5420
5421    <li>account for state of reverse-video in special case of
5422    cursor coloring (Debian #759734).</li>
5423
5424    <li>fix a sign-extension problem in ReGIS support, as well as
5425    correcting a case where ignored-characters were not really
5426    ignored (patch by Ross Combs).</li>
5427
5428    <li>Enable the "Escape Sequence" menu entry when an OSC&nbsp;50
5429    is received. Also disable it if the escape sequence specifies
5430    no font (Debian #760208).</li>
5431
5432    <li>improve fix for the <code>fontsel</code> menu entry from
5433    <a href="#xterm_304">patch #304</a>: because the recovery used
5434    the "current font", it would fail if one first selected a valid
5435    font, then an invalid font (Debian #760207).</li>
5436
5437    <li>correct an off-by-one in limit-check for
5438    <code>ScrnLimitChar</code> function (report by Egmont
5439    Koblinger).</li>
5440  </ul>
5441
5442  <h1><a name="xterm_310" id="xterm_310">Patch #310 -
5443  2014/07/25</a></h1>
5444
5445  <ul>
5446    <li>update package/freebsd files based on xterm #309 port.</li>
5447
5448    <li>adapt changes from Minux3.2 which ported <a href=
5449    "#xterm_197">xterm #197</a>, to allow building on that platform
5450    both using <code>imake</code> as well as using the configure
5451    script.</li>
5452
5453    <li>update precompose.c based on Unicode 7.0</li>
5454
5455    <li>build-fix for <code>--with-Xaw3dxft</code> option (report
5456    by Emanuel Haupt).</li>
5457  </ul>
5458
5459  <h1><a name="xterm_309" id="xterm_309">Patch #309 -
5460  2014/07/13</a></h1>
5461
5462  <ul>
5463    <li>modify configure script to work around debris left by
5464    XQuartz upgrades.</li>
5465
5466    <li>modify test-package scripts to enable ReGIS graphics.</li>
5467
5468    <li>improvements/additions to ReGIS graphics, e.g., drawing
5469    text (Ross Combs).</li>
5470
5471    <li>add <code>--with-Xaw3dxft</code>, to link with Xaw 3d xft
5472    library (Stephen P Wall).</li>
5473
5474    <li>amend reset for cursor-shape to take into account
5475    <code>cursorUnderline</code> resource (report by Christian
5476    Weisgerber).</li>
5477
5478    <li>update config.guess, config.sub</li>
5479  </ul>
5480
5481  <h1><a name="xterm_308" id="xterm_308">Patch #308 -
5482  2014/06/19</a></h1>
5483
5484  <ul>
5485    <li>corrected font used for clipping double-width bitmap fonts
5486    from <a href="#xterm_307">patch #307</a> changes to work around
5487    mis-scaled fonts (Debian #752947).</li>
5488
5489    <li>improve wording of a warning message.</li>
5490  </ul>
5491
5492  <h1><a name="xterm_307" id="xterm_307">Patch #307 -
5493  2014/06/17</a></h1>
5494
5495  <ul>
5496    <li>fill background for top/bottom parts of
5497    double-width/double-height characters, to cover occasional gaps
5498    due to bitmap font-scaling (report by Egmont Koblinger).</li>
5499
5500    <li>amend resets for keyboard-type, pointer-mode and
5501    title-modes from <a href="#xterm_305">xterm #305</a> changes to
5502    account for resource settings (Debian #751351).</li>
5503
5504    <li>modify <em>printAttributes</em> feature to include new SGR
5505    codes.</li>
5506
5507    <li>modify cursor show/hide logic to work with italic
5508    fonts.</li>
5509
5510    <li>do clipping and filling for a case with bitmap-fonts and
5511    italics when the font server returns only a "close" match
5512    (report/testcase by Egmont Koblinger).</li>
5513
5514    <li>adjust loop comparison for underlining to display
5515    underlines on 5x8 font as in <a href="#xterm_304">patch
5516    #304</a> (Debian #750733).</li>
5517
5518    <li>amend fix for Freedesktop #15979 (Debian #750733).</li>
5519
5520    <li>amend xterm.appdata.xml, making it validate with current
5521    schema.</li>
5522  </ul>
5523
5524  <h1><a name="xterm_306" id="xterm_306">Patch #306 -
5525  2014/06/03</a></h1>
5526
5527  <ul>
5528    <li>fixes for display-errors in new SGR codes (report by Egmont
5529    Koblinger).</li>
5530  </ul>
5531
5532  <h1><a name="xterm_305" id="xterm_305">Patch #305 -
5533  2014/06/02</a></h1>
5534
5535  <ul>
5536    <li>add <code>xterm.appdata.xml</code> (request by Richard
5537    Hughes). By the way, none of the <em>released</em> validators
5538    yet handle <code>&lt;licence&gt;</code> tags (or
5539    <code>&lt;metadata_license&gt;</code>, etc).</li>
5540
5541    <li>fix memory leaks in bitmap font-name caching.</li>
5542
5543    <li>other changes to hard-reset behavior:
5544      <ul>
5545        <li>reset keyboard-type on hard-reset.</li>
5546
5547        <li>reset pointer-mode (<code>pointerMode</code>) on
5548        hard-reset</li>
5549
5550        <li>reset title-modes (<code>titleModes</code>) on
5551        hard-reset</li>
5552
5553        <li>reset cursor-shape on hard or soft-reset</li>
5554
5555        <li>reset LEDs on hard-reset.</li>
5556
5557        <li>reset DECSACE on hard-reset.</li>
5558      </ul>
5559    </li>
5560
5561    <li>reset bracketed-paste mode on hard-reset (suggested by
5562    Egmont Koblinger).</li>
5563
5564    <li>modify UTF-8 decoder to account for
5565    <code>allowC1Printable</code> resource.</li>
5566
5567    <li>revise <code>getXftColor</code> to ensure that its sequence
5568    number will not overflow in long-running sessions.</li>
5569
5570    <li>minor fix to selection to prevent hidden character from
5571    being returned in selection data (report by Egmont
5572    Koblinger).</li>
5573
5574    <li>add <code>-sh</code> to help-message.</li>
5575
5576    <li>amend check for incomplete fonts to always decide that a
5577    character is missing if the font lacks per-character metrics
5578    (prompted by Freedesktop #15979).</li>
5579
5580    <li>minor reorganization to implement &ldquo;filler&rdquo; SGR
5581    features. There are no established applications which rely upon
5582    these; some people find them amusing.
5583      <ul>
5584        <li>separate bits used to manage drawing state from
5585        attribute-bits.</li>
5586
5587        <li>implement SGR codes 2, 3, 9, 21 and their corresponding
5588        resets.</li>
5589
5590        <li>add configure option <code>--disable-wide-attrs</code>
5591        to disable the feature.</li>
5592      </ul>
5593    </li>
5594
5595    <li>additional changes for ReGIS support (Ross Combs):
5596      <ul>
5597        <li>fix some arc drawing bugs and add support for pattern
5598        shading.</li>
5599      </ul>
5600    </li>
5601  </ul>
5602
5603  <h1><a name="xterm_304" id="xterm_304">Patch #304 -
5604  2014/05/03</a></h1>
5605
5606  <ul>
5607    <li>add debugging check for parsing table entries, fixed a few
5608    inconsistencies.</li>
5609
5610    <li>handle utmp/utmpx strings consistently with new function
5611    that null-pads unused locations.</li>
5612
5613    <li>build-fix for imake configuration with FreeBSD 9 and later,
5614    to account for replacing <code>utmp</code> with
5615    <code>utmpx</code>.</li>
5616
5617    <li>improve handling of the <code>fontsel</code>
5618    (font-selection) menu item:
5619      <ul>
5620        <li>initialize the menu entry differently if the toolbar
5621        configuration is used, i.e., enabling it without attempting
5622        to use the current selection as a font name. Because of the
5623        way in which the toolbar is setup, this attempt usually
5624        failed, and would result in a warning.</li>
5625
5626        <li>if the menu action fails, e.g., no font can be loaded
5627        for the given selected name, then recover by resuming with
5628        the current font. Before, the recovery went to the default
5629        font. That was done to work around missing bitmap font in
5630        <a href="#xterm_276">patch #276</a>.</li>
5631      </ul>
5632    </li>
5633
5634    <li>document OSC&nbsp;119 in the control sequences listing
5635    (report by Egmont Koblinger).</li>
5636
5637    <li>modify special handling of <code>XF86Paste</code> or
5638    <code>SunPaste</code> keysyms (see <a href="#xterm_227">patch
5639    #227</a>) to use the standard shift/lock modifiers in case
5640    those are, for example, used in level 3 in an XKB file (patch
5641    by Matthieu Herrb).</li>
5642
5643    <li>configure macro updates:
5644      <ul>
5645        <li>drop the <code>-no-gcc</code> option from
5646        CF_INTEL_COMPILER</li>
5647
5648        <li>modify CF_XOPEN_SOURCE to suppress the check for
5649        defining _XOPEN_SOURCE on Solaris</li>
5650      </ul>
5651    </li>
5652
5653    <li>reduce bss storage used for ReGIS/Sixel modules, as well as
5654    cleanup storage usage in other modules.</li>
5655
5656    <li>initial changes for ReGIS support (Ross Combs):
5657      <ul>
5658        <li>document control-sequences</li>
5659
5660        <li>separate ifdef's for sixel and color-register
5661        features</li>
5662
5663        <li>add configuration for VT382</li>
5664      </ul>
5665    </li>
5666  </ul>
5667
5668  <h1><a name="xterm_303" id="xterm_303">Patch #303 -
5669  2014/03/06</a></h1>
5670
5671  <ul>
5672    <li>improve check for <code>/etc/shells</code> to allow its
5673    entries to be symbolic links.</li>
5674
5675    <li>fix a regression in <a href="#xterm_302">patch #302</a>
5676    fixes relating to interaction of <code>SHELL</code> and
5677    <code>XTERM_SHELL</code> variables (Debian #740919).</li>
5678
5679    <li>improve manpage discussion of use of
5680    <code>/etc/shells</code> for validating the <code>SHELL</code>
5681    environment variable.</li>
5682
5683    <li>further improve the approximation for color map by ignoring
5684    bits which would not be applied by the rgb masks for the
5685    current visual (report by Joe Peterson).</li>
5686
5687    <li>add <code>-report-colors</code> to usage-message (report by
5688    Joe Peterson).</li>
5689  </ul>
5690
5691  <h1><a name="xterm_302" id="xterm_302">Patch #302 -
5692  2014/03/02</a></h1>
5693
5694  <ul>
5695    <li>amend approximation for color map introduced in <a href=
5696    "#xterm_277">patch #277</a> to make that apply only to
5697    <code>TrueColor</code> (adapted from patch by Joe
5698    Peterson).</li>
5699
5700    <li>add <code>-report-colors</code> option, to show colors as
5701    they are allocated.</li>
5702
5703    <li>fix some gcc <code>-Wcast-qual</code> warnings.</li>
5704
5705    <li>correct app-defaults location for CentOS-4 in
5706    xterm.spec</li>
5707
5708    <li>improve check in <code>minstall.sh</code> for X manpage's
5709    section number; add sample dependencies for the relevant
5710    documentation package to packaging test-scripts (prompted by
5711    Novell #779474).</li>
5712
5713    <li>modify sample build-scripts for dpkg and rpm to ensure that
5714    <code>vttests</code> scripts are uncompressed and
5715    executable.</li>
5716
5717    <li>modify Perl scripts in <code>vttests</code> to use
5718    <code>env</code> to find Perl rather than relying on
5719    <code>/usr/bin/perl</code> This makes the sample scripts usable
5720    with NetBSD and other systems using <em>pkgsrc</em>.</li>
5721
5722    <li>amend check from <a href="#xterm_301">patch #301</a> for
5723    valid shell to permit existing <code>SHELL</code> value to
5724    specify the shell; clarify the behavior in the manpage (report
5725    by Emmanuel Thom&eacute;).</li>
5726
5727    <li>amend change to wide-character processing from <a href=
5728    "#xterm_257">patch #257</a> to allow switching to/from UTF-8
5729    encoding if the <code>utf8</code> resource was not set to
5730    &ldquo;always&rdquo; (report by Honza Maly).</li>
5731
5732    <li>fix incorrect free from <a href="#xterm_301">patch #301</a>
5733    changes, if explicit program without <code>-e</code> option is
5734    a valid shell (patch by Romain Francoise).</li>
5735  </ul>
5736
5737  <h1><a name="xterm_301" id="xterm_301">Patch #301 -
5738  2014/01/19</a></h1>
5739
5740  <ul>
5741    <li>OSC&nbsp;104 and 105 did not accept parameter to reset a
5742    specific color (patch by Egmont Koblinger).</li>
5743
5744    <li>add configure check for <code>initgroups</code>, and use
5745    that function to complement its use of <code>setgid</code>
5746    (prompted by patch by Miroslav Lichvar).</li>
5747
5748    <li>improve manpage description of scrollbar translations
5749    versus the vt100 translations (Debian #723573).</li>
5750
5751    <li>add a few paragraphs to manpage explaining the implications
5752    of xterm's reliance on X Toolkit for command-line parsing.</li>
5753
5754    <li>modify cursor-theme logic to check if the environment
5755    variable <code>XCURSOR_THEME</code> is set to a nonempty value
5756    before constructing a dummy them (prompted by similar check
5757    added in OpenBSD CVS).</li>
5758
5759    <li>add check for a case where TrueType bold font is missing a
5760    glyph where the non-bold font has it. Temporarily switch to the
5761    non-bold font to draw the glyph (report by David
5762    Demelier).</li>
5763
5764    <li>minor documentation fixes for ctlseqs.ms</li>
5765
5766    <li>only set <code>SHELL</code> environment variable to
5767    programs found in <code>/etc/shells</code> (prompted by
5768    patch/report by Al Poole).</li>
5769
5770    <li>build-fix, when <code>--disable-wide-chars</code>
5771    <code>--disable-boxchar</code> is used (prompted by patch by
5772    Andrey Panov).</li>
5773  </ul>
5774
5775  <h1><a name="xterm_300" id="xterm_300">Patch #300 -
5776  2013/12/03</a></h1>
5777
5778  <ul>
5779    <li>amend workaround for <code>Xcursor</code> library from
5780    <a href="#xterm_298">patch #298</a>; the suggested solution for
5781    Debian #466704 fell afoul of a bug in <code>Xcursor</code>
5782    which treated an empty value for <code>Inherits=</code> as a
5783    valid theme&mdash;and resulted in a stack overflow due to
5784    unbounded recursion. Certain environments such as XFCE4 exposed
5785    the bug. A related report in Debian #531679 was closed without
5786    following the recommendation to limit stack recursion in this
5787    library (reported by Sergey V Dyatko, Debian #731269).</li>
5788  </ul>
5789
5790  <h1><a name="xterm_299" id="xterm_299">Patch #299 -
5791  2013/12/01</a></h1>
5792
5793  <ul>
5794    <li>fix regression in line-drawing from <a href=
5795    "#xterm_297">patch #297</a> changes for NRCS exposed by change
5796    to <code>assumeAllChars</code> resource in <a href=
5797    "#xterm_298">patch #298</a> (report by Markus Waldeck).</li>
5798  </ul>
5799
5800  <h1><a name="xterm_298" id="xterm_298">Patch #298 -
5801  2013/11/27</a></h1>
5802
5803  <ul>
5804    <li>quiet a warning about ambiguity when <code>-h</code>
5805    command-line option is parsed, since <code>-help</code> is used
5806    rather than the options mentioned in the message. This warning
5807    was caused by fixes in <a href="#xterm_272">patch
5808    #272</a>.</li>
5809
5810    <li>remove an extra check for keypad-mode which interfered with
5811    the <a href="#xterm_280">patch #280</a>
5812    <code>modifyKeyboard</code> feature for the numeric keypad
5813    (report by David Conners).</li>
5814
5815    <li>change default for <code>assumeAllChars</code> resource
5816    (Debian #725682). There are unresolved issues with Terminus
5817    fonts, e.g., Debian #722017.</li>
5818
5819    <li>add <code>-report-fonts</code> command-line option and
5820    <code>reportFonts</code> resource to optionally report the
5821    fonts which are loaded, and their metrics such as the number of
5822    missing glyphs.</li>
5823
5824    <li>work around <code>Xcursor</code> library to make
5825    <code>pointerColor</code> resource work as documented (Debian
5826    #466704, analysis by Vincent Lef&egrave;vre).</li>
5827
5828    <li>amend change from <a href="#xterm_297">patch #297</a> for
5829    ASCII-equivalents to ensure that missing characters which
5830    happen to be double-width are padded to the expected number of
5831    columns. Also, correct the choice between normal/wide Xft fonts
5832    used when checking for missing characters (reported by WU Yue,
5833    Debian #728949, Gentoo #491334).</li>
5834
5835    <li>modify sixel-graphics drawing to account for scrollbar
5836    width (report by Mario Edelmann).</li>
5837
5838    <li>fix remaining issue with <code>DECNRCM</code>; the British
5839    character set was confused with ISO Latin-1 (report by Hayaki
5840    Saito).</li>
5841
5842    <li>build-fix for <code>--disable-boxchars</code> configure
5843    option.</li>
5844
5845    <li>updated configure macros, from ongoing work on lynx and
5846    ncurses.</li>
5847
5848    <li>update config.guess, config.sub</li>
5849  </ul>
5850
5851  <h1><a name="xterm_297" id="xterm_297">Patch #297 -
5852  2013/09/10</a></h1>
5853
5854  <ul>
5855    <li>modify check for missing cells in bitmap font to work
5856    around terminus 10646 encoding, which is mostly missing, add
5857    <code>assumeAllChars</code> resource to provide the older
5858    behavior.</li>
5859
5860    <li>modify macros used to check for missing cells in bitmap
5861    fonts to pick up a long-overlooked improvement made to xfd in
5862    XFree86.</li>
5863
5864    <li>improve workaround for groff versus ASCII-equivalents;
5865    <a href="#xterm_185">patch #185</a> had overlooked Xft
5866    configuration (reported by anonymous user on Arch Linux
5867    forum).</li>
5868
5869    <li>review/extend <code>DECNRCM</code> support (prompted by
5870    report by Hayaki Saito asking about the two "A" codes).
5871      <ul>
5872        <li>make pasting of DECNRCM data work by translating the
5873        pasted data into the selected encoding.</li>
5874
5875        <li>limit mode changes to VT220 and up.</li>
5876
5877        <li>ignore SCS for National Replacement Characters if
5878        <code>DECNRCM</code> is not set.</li>
5879
5880        <li>add tables and logic to decode SCS controls ending with
5881        "%" and one additional character. This expects the parsing
5882        of SCS to VT320.</li>
5883
5884        <li>also added parsing for SCS of DEC Supplemental and DEC
5885        Technical, which are for VT2xx and VT3xx respectively.</li>
5886
5887        <li>implement VT220 Multinational character set "GR" aka
5888        "DEC Supplemental Graphic".</li>
5889
5890        <li>DEC Technical character set based on <a href=
5891        "http://www.vt100.net/charsets/technical.html">vt100.net
5892        description</a>.</li>
5893
5894        <li>implement Portuguese NRC.</li>
5895
5896        <li>provide for temporarily switching to/from NRC mode from
5897        UTF-8 mode when <code>DECNRCM</code> is set or reset.</li>
5898      </ul>
5899    </li>
5900
5901    <li>minor fix to assert's found while testing examples from
5902    <a href="https://gist.github.com/ttdoda">ttdoda's
5903    slrm-test1.txt</a>.</li>
5904
5905    <li>modify <code>DECLRMM</code> to not update the cursor
5906    position (report by Iwamoto Kouichi forwarded by Hayaki
5907    Saito).</li>
5908
5909    <li>modify cursor-position report to take origin-mode into
5910    account (report by Hayaki Saito, see also <a href=
5911    "https://github.com/gnachman/iTerm2/pull/129">iTerm2 pull
5912    request 129</a>).</li>
5913
5914    <li>correct off-by-one comparison in when handling
5915    carriage-return at left margin (patch by Iwamoto Kouichi,
5916    forwarded by Hayaki Saito).</li>
5917
5918    <li>improve handling of <code>faceName</code> resource when a
5919    "size=" property is embedded in it, by using that size to
5920    replace the default <code>faceSize</code> resource. This lets
5921    xterm honor the other faceSize resources (report by Jens
5922    Schweikhardt).</li>
5923
5924    <li>improve OSC&nbsp;52 selection-data by setting its timestamp
5925    to correspond to the most-recent event received by xterm, to
5926    ensure that calls to <code>XtOwnSelect</code> succeed even if
5927    the selection is manipulated solely through the keyboard
5928    (prompted by patch by Richard Tollerton).</li>
5929
5930    <li>change configure-script defaults for "luit" and
5931    "wide-chars" options to match the values used in the imake
5932    configuration, to lessen user surprise if they are accustomed
5933    to building xterm using imake(report by Andries E
5934    Brouwer).</li>
5935
5936    <li>improve the imake-related configuration's check if xterm is
5937    started in a locale that uses UTF-8 encoding. Before, this
5938    checked the locale settings only for "UTF-8", now it checks
5939    ignoring case for "UTF-8" and "UTF-8" (report by Andries E
5940    Brouwer).</li>
5941  </ul>
5942
5943  <h1><a name="xterm_296" id="xterm_296">Patch #296 -
5944  2013/07/10</a></h1>
5945
5946  <ul>
5947    <li>improve experimental sixel feature (Ross Combs).</li>
5948
5949    <li>modify delimiter in configure macro used to add a library
5950    after a given library to avoid confusion with <code>-Wl</code>
5951    pass-through options to linker (NetBSD #48031).</li>
5952
5953    <li>fix quoting in expression used to trim extra libraries from
5954    <a href="#xterm_295">patch #295</a> changes (report by Thomas
5955    Klausner).</li>
5956  </ul>
5957
5958  <h1><a name="xterm_295" id="xterm_295">Patch #295 -
5959  2013/07/06</a></h1>
5960
5961  <ul>
5962    <li>adjust order of libraries to work around incomplete symbol
5963    resolution when using <code>--as-needed</code> option
5964    (ArchLinux #36047).</li>
5965
5966    <li>minor fix for <code>plink.sh</code>, for IRIX64.</li>
5967  </ul>
5968
5969  <h1><a name="xterm_294" id="xterm_294">Patch #294 -
5970  2013/07/05</a></h1>
5971
5972  <ul>
5973    <li>add note in ctlseqs.ms for CPR response pointing out a
5974    potential point of confusion with the string sent by a modified
5975    F1 key (suggested by Bram Moolenaar).</li>
5976
5977    <li>improve <code>plink.sh</code> by checking if the linker
5978    supports the <code>--as-needed</code> option (suggested by
5979    David Philippi).</li>
5980
5981    <li>improve clearing for private mode 1049 when switching to
5982    the alternate screen (Debian #711758).</li>
5983
5984    <li>amend fix from <a href="#xterm_292">patch #292</a> by
5985    removing now-unneeded chunk which introduced problem in
5986    selection (Debian #714527).</li>
5987
5988    <li>add definition to optionally override compiled-in class for
5989    xterm from makefile, needed for test-packages.</li>
5990
5991    <li>add configure option
5992    <code>--enable-sixel-graphics</code></li>
5993
5994    <li>add experimental support for sixel graphics (Ross
5995    Combs).</li>
5996  </ul>
5997
5998  <h1><a name="xterm_293" id="xterm_293">Patch #293 -
5999  2013/05/27</a></h1>
6000
6001  <ul>
6002    <li>modify sample xterm.spec to use newer icon</li>
6003
6004    <li>add configure option <code>--with-icon-symlink</code> to
6005    work around systems which map icon requests for to a single
6006    "xterm" icon, but neglect to install the icon needed for window
6007    decorations (report by H Merijn Brand).</li>
6008
6009    <li>improve parameterizing of sample xterm.spec</li>
6010
6011    <li>amend fix for printer from <a href="#xterm_280">patch
6012    #280</a>, removing a reset of the signal handler for
6013    <code>SIGCHLD</code> (report by Joe Julian).</li>
6014
6015    <li>set environment variable <code>XTERM_FILTER</code> if a
6016    locale-filter is used.</li>
6017
6018    <li>enable <code>DEBUG</code> logic when
6019    <code>--enable-trace</code> configure option is given.</li>
6020
6021    <li>improve description of <code>initialFont</code>,
6022    <code>set-vt-font</code> and <code>set-tex-text</code> in
6023    manpage (Debian #707899).</li>
6024
6025    <li>fix regression from <a href="#xterm_292">patch #292</a>;
6026    selecting a word that ended at the right margin without
6027    wrapping would not select the last cell (report by Christian
6028    Weisgerber).</li>
6029  </ul>
6030
6031  <h1><a name="xterm_292" id="xterm_292">Patch #292 -
6032  2013/04/25</a></h1>
6033
6034  <ul>
6035    <li>add limit-check when double-click selects a word; if the
6036    saved-lines were scrolled back and the word selected wrapped at
6037    the screen's lower right corner, an assertion was triggered
6038    (patch by Taketo Kabe).</li>
6039
6040    <li>correct limit-check in <code>unsaveEditBufLines</code>,
6041    fixing a case where enlarging the terminal size could show a
6042    blank line where there actually is available text (patch by
6043    Bertram Felgenhauer).</li>
6044
6045    <li>add <code>PasteControls</code> feature to
6046    <code>allowWindowOps</code> which by default disallows pasting
6047    control characters other than formatting such as carriage
6048    return (discussion with Hayaki Saito).</li>
6049
6050    <li>fix typo in ctlseqs.ms for DECRQM response (patch by
6051    Emanuele Giaquinta).</li>
6052
6053    <li>update default shown in configure <code>--help</code>
6054    message for <code>--with-terminal-id</code> option (patch by
6055    Andres Perera).</li>
6056
6057    <li>rename script/preprocessor variables used for substituting
6058    the <code>backarrowKey</code> default value for consistency
6059    (patch by Andres Perera).</li>
6060
6061    <li>set umask to 077 before creating debugging-trace
6062    files.</li>
6063
6064    <li>add configure option <code>--disable-openpty</code> to
6065    control whether openpty() may be used in preference to
6066    posix_openpt().</li>
6067
6068    <li>improve workaround from <a href="#xterm_279">patch #279</a>
6069    for BSD systems which do not complete initialization until both
6070    sides of the pseudoterminal are opened, by preferring openpty()
6071    function over posix_openpt() when available (report by
6072    Christian Weisgerber).</li>
6073  </ul>
6074
6075  <h1><a name="xterm_291" id="xterm_291">Patch #291 -
6076  2013/02/26</a></h1>
6077
6078  <ul>
6079    <li>add validity check for xterm widget parameter to
6080    <code>AlternateScroll</code> function, needed to handle wheel
6081    mouse events in the scrollbar area since <a href=
6082    "#xterm_282">patch #282</a> changes which introduced
6083    <code>alternateScroll</code> feature (Redhat #874327).</li>
6084  </ul>
6085
6086  <h1><a name="xterm_290" id="xterm_290">Patch #290 -
6087  2013/02/12</a></h1>
6088
6089  <ul>
6090    <li>revert of <a href="#xterm_282">patch #282</a> change was
6091    incomplete (report by Jim Reisert).</li>
6092
6093    <li>fix typo in manpage (report by Vincent
6094    Lef&egrave;vre).</li>
6095  </ul>
6096
6097  <h1><a name="xterm_289" id="xterm_289">Patch #289 -
6098  2013/02/08</a></h1>
6099
6100  <ul>
6101    <li>revert the <a href="#xterm_282">patch #282</a> change which
6102    restored "lost" text after shrinking/growing the screen size.
6103    If the screen was updated between the two resizing operations,
6104    unexpected text might be shown at the end (report/testcase by
6105    Joe Peterson).</li>
6106
6107    <li>reverse the arrow-keys sent for
6108    <code>alternateScroll</code> to match the usage in browsers
6109    (suggested by Dieter Roelants).</li>
6110
6111    <li>modify mouse reports to consistently indicate motion events
6112    whether or not a button is pressed. Old behavior (since
6113    <a href="#xterm_127">patch #127</a> modified encoding for wheel
6114    mouse) showed only that the button was released if no button
6115    had been pressed (report by Andy Koppe).</li>
6116
6117    <li>correct and improve behavior for SGR 1006 mouse protocol on
6118    button release in any-event mode. Initial implementation in
6119    <a href="#xterm_277">patch #277</a> left internal state showing
6120    the last button pressed when reporting motion events. It now
6121    keeps track of all buttons which have been pressed and
6122    released, showing the lowest remaining button by number in the
6123    response (reports by Hayaki Saito, Andy Koppe).</li>
6124
6125    <li>fix inconsistency between <code>TermColors</code> and
6126    <code>OscTextColors</code> enums which interchanged values for
6127    tektronix cursor color and highlight foreground in control
6128    sequences in <a href="#xterm_225">patch #225</a> (report/patch
6129    by Peder Stray).</li>
6130
6131    <li>fix inconsistent use of noreturn-attribute in
6132    <code>Exit</code> function which interfered with clang
6133    --analyze.</li>
6134
6135    <li>remove incorrect <code>free</code> used in computation of
6136    <code>XTERM_SHELL</code> variable, from Coverity fixes in
6137    <a href="#xterm_288">patch #288</a> (FreeBSD #175782).</li>
6138
6139    <li>add <code>--with-valgrind</code> option to configure script
6140    for consistency with my other programs.</li>
6141
6142    <li>update table of ambiguous width characters in wcwidth.c
6143    based on Unicode 6.2.0</li>
6144
6145    <li>update table of combining characters in wcwidth.c based on
6146    Unicode 6.2.0</li>
6147
6148    <li>update precompose.c based on Unicode 6.2.0</li>
6149  </ul>
6150
6151  <h1><a name="xterm_288" id="xterm_288">Patch #288 -
6152  2013/01/09</a></h1>
6153
6154  <ul>
6155    <li>fix a special case in <code>ShowCursor</code> where the
6156    foreground and background colors of the current position are
6157    the same. In that case, choose the further of the window's
6158    foreground and background colors for the cursor color.</li>
6159
6160    <li>modify <code>alternateScroll</code> feature added in
6161    <a href="#xterm_282">patch #282</a> to use either
6162    <code>CSI</code> or <code>SS3</code> according to the cursor
6163    keys application mode setting, to simplify using it in vi, etc.
6164    (suggested by Dietar Roelants).</li>
6165
6166    <li>revise manpage for <code>resize</code> to clarify the
6167    changes which <code>resize</code> may make to the terminal
6168    settings as well as to the terminal itself.</li>
6169
6170    <li>remove code such as <code>struct ttysize</code>, used for
6171    SunOS 3 and 4.</li>
6172
6173    <li>modify configure script and makefile to check for
6174    <code>groff</code> and suppress groff-specific rules if groff
6175    is not found.</li>
6176
6177    <li>modify ctlseqs.ms and makefile to work around bugs in
6178    <code>grohtml</code> which cause ".png" files to be truncated
6179    when producing html documentation.</li>
6180
6181    <li>modify suffix rules for "make docs" to make the names of
6182    the generated ".png" files predictable, helping to work around
6183    longstanding problems with this feature of groff&mdash;none of
6184    its releases work for <em>all</em> of xterm's tables..</li>
6185
6186    <li>correct typo in ctlseqs.ms for DECIC and DECDC; the
6187    character preceding the final "<code>~</code>" is an ASCII
6188    single-quote "<code>'</code>" rather than a space (report by
6189    Paul LeoNerd Evans).</li>
6190
6191    <li>update CF_GCC_VERSION macro, handling both Debian and
6192    Darwin.</li>
6193
6194    <li>improve configure script checks for the
6195    <code>--with-desktop-category</code> option. After <a href=
6196    "#xterm_280">patch #280</a> changes, if no value was given for
6197    this option, and no existing desktop files found for
6198    comparison, the incorrect "auto" value was passed into the
6199    generated desktop file (report by Julien Cristau).</li>
6200
6201    <li>modify sample build-scripts to disable check for
6202    <code>imake</code> due to code-rot in Xorg.</li>
6203
6204    <li>add <code>-v</code> command-line option to
6205    <code>resize</code>, reporting the same version string as
6206    <code>xterm</code> and the two shell-wrappers.</li>
6207
6208    <li>make name-transformation apply to other occurrences of
6209    <code>resize</code>, other manpages.</li>
6210
6211    <li>special-case the name-transformation in xterm's manpage in
6212    the NAME section so that the result works with
6213    <code>makewhatis</code> (report by Julien Cristau).</li>
6214
6215    <li>modify install-rules for manpages to put each program's
6216    respective transformed name into the header rather than
6217    xterm's.</li>
6218
6219    <li>remove deprecated files: proto.h, os2main.c</li>
6220
6221    <li>minor fixes based on Coverity scan, including:
6222      <ul>
6223        <li>correct caching of Atom value for the font menu's
6224        "Selection" entry.</li>
6225
6226        <li>ensure that utmp/utmpx calls do not depend upon
6227        trailing nulls in the <code>ut_id</code> and
6228        <code>ut_line</code> values.</li>
6229      </ul>
6230    </li>
6231  </ul>
6232
6233  <h1><a name="xterm_287" id="xterm_287">Patch #287 -
6234  2012/11/25</a></h1>
6235
6236  <ul>
6237    <li>fix a case where in_put() loop could continue when it has
6238    found an X event rather than the pty, causing the pty-read to
6239    be delayed (patch by Balazs Kezes).</li>
6240
6241    <li>add option to <code>pointerMode</code> resource and
6242    corresponding control sequences to allow text-cursor to remain
6243    hidden if the pointer leaves/enters the window via accelerator
6244    keys. Ordinary motion within the window restores the pointer
6245    (prompted by patch by Balazs Kezes).</li>
6246
6247    <li>remove special case of modifiers for the
6248    <code>Mode_switch</code> and <code>XK_ISO_Level3_Shift</code>
6249    from <a href="#xterm_223">patch #223</a>. Verified that the
6250    conflict which this was intended to resolve does not happen for
6251    normal compose- or modeswitch-handling (prompted by patch by
6252    Balazs Kezes, Debian #638694).</li>
6253
6254    <li>modify the handling of focus-change events to ignore those
6255    whose detail is <code>NotifyPointer</code>, since those are
6256    sent in addition to focus-change events directed to the old/new
6257    windows having focus. In particular, this prevents the
6258    urgency-hint from being reset inadvertently (prompted by patch
6259    by Balazs Kezes).</li>
6260
6261    <li>modify description of <code>iconName</code> in manpage to
6262    make it clearer that this resource does not specify the
6263    filename of an icon (discussion with Ian Collier).</li>
6264
6265    <li>modify <code>iconHint</code> resource to allow suppressing
6266    the built-in icon by setting this to "none" (discussion with
6267    Ian Collier).</li>
6268
6269    <li>make <code>-iconic</code> option work with the toolbar
6270    configuration.</li>
6271
6272    <li>correct initialization of window manager hints used to set
6273    the icon-pixmap. That detail from <a href="#xterm_282">patch
6274    #282</a> overwrote state used to control the
6275    <code>-iconic</code> command-line option (report by Ian
6276    Collier).</li>
6277
6278    <li>fix paste64 feature for the case where the selection comes
6279    from the current terminal. The selection callback can happen
6280    after the reply is partly built, making it necessary to flush
6281    the reply-buffer to keep things in the proper order (report by
6282    Ailin Nemui).</li>
6283
6284    <li>reject command-line options which are longer than the
6285    options in xterm's table, to avoid mismatches (Redhat
6286    #875305).</li>
6287
6288    <li>correct attribution for <a href="#xterm_282">patch #282</a>
6289    changes.</li>
6290  </ul>
6291
6292  <h1><a name="xterm_286" id="xterm_286">Patch #286 -
6293  2012/10/29</a></h1>
6294
6295  <ul>
6296    <li>fix <code>minstall.in</code> to work with "make docs" rule,
6297    so that patch number appears in the corresponding generated
6298    documentation.</li>
6299
6300    <li>modify <code>minstall.in</code> to keep the name shown in
6301    the heading consistent with any renaming, e.g., for
6302    test-builds.</li>
6303
6304    <li>check for misconfigured <code>printerCommand</code>
6305    resource on the first use, warn and disable it if it does not
6306    specify an executable command (Debian #691642).</li>
6307
6308    <li>improve check for window-manager name needed to establish
6309    usable default for activeIcon resource. This works around a
6310    scenario where <code>gdm</code> does incomplete cleanup,
6311    leaving window properties that refer to windows which no longer
6312    exist (Redhat #869959).</li>
6313  </ul>
6314
6315  <h1><a name="xterm_285" id="xterm_285">Patch #285 -
6316  2012/10/23</a></h1>
6317
6318  <ul>
6319    <li>add/adapt FreeBSD ports files for test-building.</li>
6320
6321    <li>modify <code>minstall.sh</code> to use the patch-number and
6322    date in the manpage footer.</li>
6323
6324    <li>add check for failure to allocate the fg/bg colors at
6325    startup, e.g., misconfiguration. Work around by setting both to
6326    the default colors (suggested by Scott Bertilson).</li>
6327
6328    <li>amend change for <a href="#xterm_280">patch #280</a> which
6329    added <code>modifyKeyboard</code>, to make
6330    <code>modifyOtherKeys</code> work (report by Ailin Nemui).</li>
6331
6332    <li>add <code>query-colors.pl</code> example for
6333    OSC&nbsp;4.</li>
6334
6335    <li>correct mis-applied fix for minstall.sh (report by Miroslav
6336    Lichvar).</li>
6337  </ul>
6338
6339  <h1><a name="xterm_284" id="xterm_284">Patch #284 -
6340  2012/10/14</a></h1>
6341
6342  <ul>
6343    <li>amend configurability changes for icons from <a href=
6344    "#xterm_283">patch #283</a>, moving the new functionality to
6345    the <code>iconHint</code> resource to avoid conflict with
6346    existing uses of the <code>iconName</code> resource in the
6347    <code>Shell</code> widget (report by Emanuel Haupt).</li>
6348
6349    <li>fix documentation errata reported by Miroslav Lichvar:
6350      <ul>
6351        <li>correct manpage default for <code>allowTcapOps</code>
6352        (see <a href="#xterm_243">patch #243</a></li>
6353
6354        <li>modify documentation for configure
6355        <code>--enable-backarrow-key</code> to match the script
6356        (see <a href="#xterm_280">patch #280</a>).</li>
6357
6358        <li>fix typo in <code>minstall.sh</code> in <a href=
6359        "#xterm_283">patch #283</a>, which made the leading-cap
6360        "Xterm" become "xterm" (patch by Miroslav).</li>
6361      </ul>
6362    </li>
6363
6364    <li>fix two typos in configure.in from <a href=
6365    "#xterm_283">patch #283</a> changes; one broke the
6366    <code>--regex</code> configure option (report by H Merijn
6367    Brand).</li>
6368  </ul>
6369
6370  <h1><a name="xterm_283" id="xterm_283">Patch #283 -
6371  2012/10/09</a></h1>
6372
6373  <ul>
6374    <li>modify makefile and script to generate appropriate renaming
6375    s/xterm/xterm-dev/ for test-package's manpage.</li>
6376
6377    <li>improve makefile rules for installing/uninstalling pixmap
6378    files, to include the newer mini- and filled- variants.</li>
6379
6380    <li>clarify change in manpage regarding <a href=
6381    "#xterm_282">patch #282</a> change to always set a
6382    window-decoration icon, even if <code>iconName</code> is not
6383    set.</li>
6384
6385    <li>add a fourth flavor of window-decoration icons,
6386    "filled-xterm" for a monochrome xterm with filled
6387    interior.</li>
6388
6389    <li>use shape-mask to improve contrast of the window-decoration
6390    icons.</li>
6391
6392    <li>minor changes to icon colors to improve contrast on
6393    bright-mud backgrounds.</li>
6394
6395    <li>drop configure checks for memmove versus bcopy, and
6396    strerror function; all currently tested platforms support
6397    these.</li>
6398
6399    <li>cleanup configure macros, as done in byacc 20121003.</li>
6400
6401    <li>improve configurability of the built-in icon selectable via
6402    the <code>iconName</code> resource.</li>
6403
6404    <li>update config.guess, config.sub</li>
6405  </ul>
6406
6407  <h1><a name="xterm_282" id="xterm_282">Patch #282 -
6408  2012/09/28</a></h1>
6409
6410  <ul>
6411    <li>improve configure check for
6412    <code>XkbKeycodeToKeysym</code>, fixing a regression on some
6413    older systems in the <a href="#xterm_280">patch #280</a>
6414    changes.</li>
6415
6416    <li>add clarification in manpage for
6417    <code>alwaysBoldMode</code> and <code>veryBoldColors</code>
6418    resources (prompted by Derek Martin question about using the
6419    former with TrueType fonts).</li>
6420
6421    <li>add <code>alternateScroll</code> resource and corresponding
6422    control sequences which modify the <code>scroll-forw</code> and
6423    <code>scroll-back</code> actions: when the alternate screen is
6424    displayed, wheel mouse up/down will send cursor keys (Debian
6425    #683942).</li>
6426
6427    <li>improve rendering for the case when a Unicode character is
6428    absent in the bold font but present in the normal font by
6429    temporarily falling back to the normal font (Debian #359006,
6430    Debian #408666).</li>
6431
6432    <li>provide configure option
6433    <code>--enable-double-buffer</code> and ifdef's to allow
6434    comparisons with/without double-buffering. The default uses
6435    normal buffering.</li>
6436
6437    <li>add feature to optionally scroll current page before
6438    clearing, controlled by resource setting
6439    <code>cdXtraScroll</code> (prompted by patch by Balazs
6440    Kezes):</li>
6441
6442    <li>integrated patches from Arch Linux forum posting (patches
6443    by Balazs Kezes):
6444      <ul>
6445        <li>modify reallocation limit of line-data when resizing
6446        screen so that "lost" text will be restored if the screen
6447        is first shrunk and then grown.</li>
6448
6449        <li>modify output to use double-buffering to reduce
6450        flicker.</li>
6451      </ul>
6452    </li>
6453
6454    <li>modify <code>scroll-lock</code> action to handle
6455    on/off/toggle keywords like other actions. Previously the
6456    optional parameter was interpreted as an integer.</li>
6457
6458    <li>extend <code>DECSCUSR</code> to provide a way to set the
6459    cursor to a vertical bar (patch by Paul Bolle).</li>
6460
6461    <li>add <code>-8</code>, <code>-c</code>, <code>-d</code> and
6462    <code>-u</code> options to <code>88colors2.pl</code> and
6463    <code>256colors2.pl</code> scripts. No current terminal
6464    emulator recognizes C1 controls while handling UTF-8
6465    encoding&mdash;see notes in <a href="#xterm_119">patch #119</a>
6466    and <a href="#xterm_109">patch #109</a> regarding
6467    <code>utf8controls</code>&mdash;but the <code>-u</code> and
6468    <code>-8</code> options are useful for demonstrating this
6469    point.</li>
6470
6471    <li>improve speed when changing color palettes using OSC
6472    controls by deferring repaint while followup controls might be
6473    additional color palette changes.</li>
6474
6475    <li>modify <code>SGR&nbsp;38</code> and
6476    <code>SGR&nbsp;48</code> to accept RGB index, matching the
6477    closest entry in xterm's palette.</li>
6478
6479    <li>extend <code>SGR&nbsp;38</code> and
6480    <code>SGR&nbsp;48</code> to accept colon as parameter separator
6481    (request by Paul LeoNerd Evans).</li>
6482
6483    <li>modify <code>fullscreen</code> action to allow it to toggle
6484    the full-screen mode rather than only set or unset it (prompted
6485    by Eeri Kask's suggestion to support
6486    <code>_NET_WM_TOGGLE</code>). This implementation does not yet
6487    use <code>_NET_WM_TOGGLE</code>.</li>
6488
6489    <li>add support for <code>_NET_WM_STATE_MAXIMIZED_VERT</code>
6490    and <code>_NET_WM_STATE_MAXIMIZED_HORZ</code> EWMH properties
6491    (suggested by Eeri Kask).</li>
6492
6493    <li>make fullscreen mode work with the tek4014 window. This
6494    change makes only the currently active window to be changed to
6495    fullscreen rather than changing both windows.</li>
6496
6497    <li>modify <code>TekClear</code> function to discard pending
6498    output before clearing the tek4014 display (patch by Kevin
6499    Ryde).</li>
6500
6501    <li>fix <code>deleteIsDEL</code> feature, broken in <a href=
6502    "#xterm_280">patch #280</a> changes (report by Mike Thornburg,
6503    forwarded by Jeremy Huddleston).</li>
6504
6505    <li>fix a special case of wrapping double-width characters
6506    (report/test-case by Ken Winstein).</li>
6507
6508    <li>add <code>E3</code> extended capability to
6509    <code>xterm-basic</code> to match ncurses <a href=
6510    "https://invisible-island.net/ncurses/NEWS.html#t20120728">20120728</a>
6511    patch.</li>
6512
6513    <li>fix incorrect transformation of row-parameter for
6514    <code>ClearCurBackground</code> in <a href="#xterm_279">patch
6515    #279</a> which caused incorrect painting in some scrolling
6516    scenarios (report by Chuck Silvers).</li>
6517
6518    <li>fix typo in manpage description of <code>+maximized</code>
6519    option (Paul Maier).</li>
6520
6521    <li>change default for configure option
6522    <code>--with-xpm</code>, turning it on unless requested
6523    otherwise.</li>
6524
6525    <li>add configure option <code>--with-icon-name</code> which
6526    can be used to override the default icon used in
6527    icon-themes.</li>
6528
6529    <li>extend <code>activeIcon</code> resource to provide
6530    <code>default</code> value which tells xterm to determine the
6531    window manager's name and automatically enable the feature for
6532    fvwm and window maker. The explicit true/false values can be
6533    used to override this behavior.</li>
6534
6535    <li>add "mini" xterm icon, which scales better than the
6536    standard xterm icon, e.g., for the gnome/kde "panel"
6537    feature.</li>
6538
6539    <li>extend <code>iconName</code> resource to search for icon
6540    named according to resource value and use that if found. If not
6541    found, use compiled-in pixmap. Both set the WM_ICON_NAME
6542    property which is used by various window managers, usually for
6543    window decoration.</li>
6544
6545    <li>updated autoconf patch, adding support for --datarootdir,
6546    which changes the default location of manpages.</li>
6547
6548    <li>further improved autoconf macros for configuring icons,
6549    from vile 9.8h</li>
6550  </ul>
6551
6552  <h1><a name="xterm_281" id="xterm_281">Patch #281 -
6553  2012/06/26</a></h1>
6554
6555  <ul>
6556    <li>remove "$(srcdir)/" from install-icon rule to fix builds
6557    when --srcdir configuration option is used.</li>
6558
6559    <li>fix for configure script's search for icon file when it is
6560    not found in the current directory, e.g., when building out of
6561    tree (patch by Thierry Reding).</li>
6562
6563    <li>undo the XK_Home / XK_End change from <a href=
6564    "#xterm_280">patch #280</a> which broke the non-VT220 keyboard
6565    for those keys (report by H Merijn Brand).</li>
6566  </ul>
6567
6568  <h1><a name="xterm_280" id="xterm_280">Patch #280 -
6569  2012/06/24</a></h1>
6570
6571  <ul>
6572    <li>add configure check to work around warning from
6573    desktop-file-install for "Encoding", noting that it emits
6574    deprecation warnings without providing its version
6575    information.</li>
6576
6577    <li>add configure option <code>--with-icon-theme</code> to tell
6578    xterm whether to install into an icon theme, defaulting to
6579    "hicolor" (Redhat #755206, Redhat #799614 and Redhat
6580    #804279).</li>
6581
6582    <li>change <code>--with-icondir</code> to look for "icons"
6583    directory rather than "pixmaps" by default. Add new option
6584    <code>--with-pixmapdir</code> to allow these two uses to be
6585    installed concurrently.</li>
6586
6587    <li>modify configure options <code>--with-app-defaults</code>
6588    and <code>--with-icondir</code> to accept "auto" as value to
6589    look for existing directory from well-known locations.</li>
6590
6591    <li>add missing codes for secondary DA response which tell the
6592    type of terminal as in the primary DA response.</li>
6593
6594    <li>update primary DA response for VT420 to include user
6595    windows and horizontal scrolling.</li>
6596
6597    <li>add <code>modifyKeyboard</code> resource to support
6598    keypad-modifier changes per request by Thomas Wolff.</li>
6599
6600    <li>add XK_Home / XK_End to editing-keypad checks</li>
6601
6602    <li>add back-tab key <code>kB</code> to termcap entries to
6603    match the terminfo.</li>
6604
6605    <li>update terminfo to match corresponding entries in ncurses,
6606    e.g., add <code>XT</code> and adjust <code>sgr</code> string
6607    for xterm-bold entry.</li>
6608
6609    <li>add configure options to predefine the most commonly
6610    customized resources for terminal-settings, use those to
6611    substitute into the manpage the corresponding compiled-in
6612    values: <code>altSendsEscape</code>, <code>backarrowKey</code>,
6613    <code>backarrowKeyIsErase</code>, <code>deleteIsDEL</code>,
6614    <code>metaSendsEscape</code> (Redhat #819588).</li>
6615
6616    <li>change default emulation level to VT420 (discussion with
6617    Ailin Nemui).</li>
6618
6619    <li>improve logic for DECSCL; <a href="#xterm_279">patch
6620    279</a> partly enforced limitation of this to higher-level
6621    emulations. This patch finishes that change.</li>
6622
6623    <li>improve check for base of combining characters, preventing
6624    combination when cursor movement has intervened. Mosh's webpage
6625    gives two different examples of this, with other causes
6626    ascribed to the behavior.</li>
6627
6628    <li>modify IL/DL to set cursor to first column on row for
6629    better VT102/VT220 compatibility (prompted by code review of
6630    mosh).</li>
6631
6632    <li>separate state-table entries for DECSC/DECRC from the
6633    ANSI.SYS save/restore cursor, since the latter conflicts with
6634    DECSLRM when DECLRMM is enabled since <a href=
6635    "#xterm_279">patch #279</a> (report/analysis by Ailin
6636    Nemui).</li>
6637
6638    <li>fixes to avoid using <code>SIGCHLD</code> handler of main
6639    program in printer's subprocess (report by Joe Julian).</li>
6640
6641    <li>correct restore-parameter for mouse-modes from <a href=
6642    "#xterm_279">patch #279</a> changes.</li>
6643
6644    <li>add null-pointer checks to input-method caching added in
6645    <a href="#xterm_277">patch #277</a> to fix a problem in the
6646    exposure code, when deselecting a window (report by Kriston
6647    Rehberg).</li>
6648
6649    <li>unset <code>DESKTOP_STARTUP_ID</code> environment variable
6650    to lessen confusion on the part of GTK applications which use
6651    the variable without checking it (report by John Little).</li>
6652  </ul>
6653
6654  <h1><a name="xterm_279" id="xterm_279">Patch #279 -
6655  2012/05/10</a></h1>
6656
6657  <ul>
6658    <li>fill in missing cases in the save/restore modes feature
6659    (report by Thomas Wolff).</li>
6660
6661    <li>add check to ensure that combining characters are
6662    precomposed in the order given (report/analysis by Andries E
6663    Brouwer).</li>
6664
6665    <li>improve workability check for posix_openpt(), to take into
6666    account BSD systems which do not complete initialization until
6667    both sides of the pseudoterminal are opened (report by
6668    Christian Weisgerber).</li>
6669
6670    <li>amend fix for Debian #650291 in <a href="#xterm_277">patch
6671    #277</a> changes to account for different data returned by
6672    vnc4server (Debian #670638).</li>
6673
6674    <li>add check in DECCRA operation to make copies of blinking
6675    text also blink by updating a line-level flag.</li>
6676
6677    <li>modify rectangle operations to work with DECOM.</li>
6678
6679    <li>modify DECSERA to use the current protected state rather
6680    than preserving it.</li>
6681
6682    <li>add <code>precompose</code> resource to allow storing
6683    character data in Normalized Form D as described in <a href=
6684    "http://unicode.org/reports/tr15/">http://unicode.org/reports/tr15/</a>
6685    (report/discussion with Andries E Brouwer).</li>
6686
6687    <li>modify CBT, other ISO-6429 controls which are used by VT520
6688    to work with DECOM.</li>
6689
6690    <li>add HPR and VPR controls, ISO 6429 cursor movement used in
6691    VT520.</li>
6692
6693    <li>remove "linux" restriction for IUTF8 ifdef in main.c
6694    (prompted by Matthew Dempsky posting on
6695    mailing.openbsd.tech).</li>
6696
6697    <li>implement the remaining VT420-level device status
6698    reports.</li>
6699
6700    <li>change DECXCPR to return page 1, rather than 0.</li>
6701
6702    <li>improve VT-level checks on reporting functions, such as
6703    DECXCPR.</li>
6704
6705    <li>change limit on <code>decTerminalID</code> to 525.</li>
6706
6707    <li>fixes to improve vttest vt52 screen when running as a
6708    VT420:
6709      <ul>
6710        <li>add checks for some VT2xx and up controls for
6711        consistency: DECSCL, S1C8T, S1C7T.</li>
6712
6713        <li>modify DECRQSS return for DECSCL to only return that
6714        when running as VT2xx and up.</li>
6715
6716        <li>when exiting from VT52-mode, resume in VT100 level
6717        rather than the level before starting VT52-mode.</li>
6718      </ul>
6719    </li>
6720
6721    <li>implement DECLRMM, DECSLRMM and DECNCSM (prompted by
6722    discussions with Ailin Nemui and Paul LeoNerd Evans). This
6723    modifies several controls to obey top/bottom and left/right
6724    margins.</li>
6725
6726    <li>correct macro definition used for testing modes used in
6727    ANSI/DEC request-mode controls introduced in <a href=
6728    "#xterm_262">patch #262</a>.</li>
6729
6730    <li>modify <code>x_getlogin</code> to check $LOGNAME and $USER
6731    before fallback to <code>getlogin</code>, so that user's choice
6732    for these variables can be carried forward to the xterm process
6733    (Debian #611487).</li>
6734
6735    <li>document DECSCUSR response for DECRQSS in ctlseqs.ms</li>
6736
6737    <li>add <code>zIconTitleFormat</code> resource to allow
6738    customizing the "***&nbsp;" prefixed to the icon title when the
6739    <code>zIconBeep</code> feature is activated (request by Thomas
6740    Adam).</li>
6741
6742    <li>modify DECSCUSR to update the same internal variable as
6743    RM/SM 12, and document in manpage the two variables used for
6744    controlling blinking cursor (report by Paul LeoNerd
6745    Evans).</li>
6746
6747    <li>correct response data for DECSCUSR in reply for DECRQSS
6748    response, which had inverted the blink-value (reports by Ailin
6749    Nemui, Paul LeoNerd Evans).</li>
6750
6751    <li>add a null-pointer check in <code>OkPasswd</code> macro to
6752    fix a problem in <code>resize</code> with Fedora 17 and a
6753    serial console (report/patch by Daniel Drake).</li>
6754
6755    <li>add workaround for Mac OS X, which loses the window size of
6756    a pseudo-terminal when the tty device is opened
6757    (report/analysis by Egmont Koblinger).</li>
6758
6759    <li>updated configure check for workable
6760    <code>posix_openpt</code> versus <code>grantpt</code>, from
6761    <code>luit</code> fixes.</li>
6762
6763    <li>modify DECIC/DECDC/DECBI/DECFI implemented in <a href=
6764    "#xterm_277">patch #277</a> to enable them only in VT4xx mode
6765    and up (report by Ailin Nemui).</li>
6766
6767    <li>update config.guess, config.sub</li>
6768  </ul>
6769
6770  <h1><a name="xterm_278" id="xterm_278">Patch #278 -
6771  2012/01/18</a></h1>
6772
6773  <ul>
6774    <li>correct initialization for <code>eightBitMeta</code>
6775    resource (FreeBSD #164101).</li>
6776
6777    <li>make special check for Darwin 9 (and lower) to <em>not</em>
6778    use <code>posix_openpt</code> (report by Christian Ebert).</li>
6779
6780    <li>minor fixes (adding ".ne" directives) to reduce the cases
6781    where groff's utility for generating images for tables dumps
6782    core. Most versions of groff (I've found 1.19.2 to be the most
6783    stable) dump core when attempting to report that there are too
6784    few lines on a page for a table to be shown.</li>
6785  </ul>
6786
6787  <h1><a name="xterm_277" id="xterm_277">Patch #277 -
6788  2012/01/07</a></h1>
6789
6790  <ul>
6791    <li>remove special case for ISC pseudo-terminals which attempts
6792    to open the pty in two different ways.</li>
6793
6794    <li>move call to <code>grantpt</code> before asking utempter to
6795    add a record, to work with kFreeBSD which does not update the
6796    terminal's ownership until this point (Debian #652907).</li>
6797
6798    <li>document limitation of XIM interface in manpage (Debian
6799    #230787).</li>
6800
6801    <li>cleanup error reporting with new xtermWarning
6802    function.</li>
6803
6804    <li>add configure option <code>--disable-selection-ops</code>
6805    to make the new actions optional.</li>
6806
6807    <li>add four new actions for making the selection or data
6808    directly copied from the screen (prompted by discussion in
6809    Debian #637001, as well as report by Arjen van Tol):
6810      <ul>
6811        <li>exec-formatted</li>
6812
6813        <li>exec-selectable</li>
6814
6815        <li>insert-formatted</li>
6816
6817        <li>insert-selectable</li>
6818      </ul>
6819    </li>
6820
6821    <li>add <code>visualBellLine</code> resource to allow
6822    <code>visualBell</code> to flash only the current line
6823    (prompted by patch by Gertjan Halkes).</li>
6824
6825    <li>add <code>eightBitMeta</code> resource to control the
6826    features which modify or interpret the eighth bit of a key when
6827    the meta modifier key is pressed (prompted by Debian
6828    #326200).</li>
6829
6830    <li>improve discussion of <code>eightBitInput</code> in the
6831    manpage (prompted by Debian #326200).</li>
6832
6833    <li>correct logic for <code>alt-sends-escape</code> action,
6834    overlooked when implementing <code>altSendsEscape</code>
6835    resource, which still used <code>eightBitInput</code> resource
6836    value.</li>
6837
6838    <li>add a workaround for <code>XAllocColor()</code>, which does
6839    not actually allocate "a read-only colormap entry corresponding
6840    to the closest RGB value supported by the hardware", but rather
6841    a rough approximation (Debian #650291).</li>
6842
6843    <li>undo parameter checks for <code>RequestResize()</code>
6844    added in <a href="#xterm_251">patch #251</a> and amended in
6845    <a href="#xterm_270">patch #270</a>, because zeros also are
6846    special cases (report by John S Urban).</li>
6847
6848    <li>modify some test-scripts to use <code>/bin/echo</code>
6849    rather than the shell's possibly-builtin <code>echo</code>, to
6850    work around broken configuration on Mac OS X, i.e., neither
6851    honoring the option nor flagging an error.</li>
6852
6853    <li>add SGR 1006, as a better technical solution than SGR 1015:
6854      <ul>
6855        <li>the responses will not be confused with line-deletion
6856        and scrolling controls.</li>
6857
6858        <li>the button encoding is a little simpler, since it does
6859        not add an unnecessary 32 because the integer parameter
6860        does not have to be represented as a printable
6861        character.</li>
6862
6863        <li>the control responses for pressing and releasing a
6864        mouse button differ, allowing an application to tell which
6865        button was released.</li>
6866      </ul>
6867
6868      <p>Besides these improvements, in discussion, it was noted
6869      that urxvt's implementation of 1005 is incorrect, relying
6870      upon a locale that provides UTF-8 encoding. In contrast,
6871      vttest demonstrates a correct decoding, independent of
6872      locale.</p>
6873    </li>
6874
6875    <li>add support for urxvt SGR 1015 to address shortcoming of
6876    SGR 1005 with luit (patch by Egmont Koblinger).</li>
6877
6878    <li>add ISO and DEC controls useful for left/right
6879    scrolling.</li>
6880
6881    <li>add some changes for OpenBSD and MirBSD (adapted from patch
6882    by Thorsten Glaser):
6883      <ul>
6884        <li>disable search for non-Unix96 ptys.</li>
6885
6886        <li>fix a gcc warning in
6887        <code>timestamp_filename</code></li>
6888
6889        <li>modify <code>Imakefile</code> to install xterm setgid
6890        to utmp.</li>
6891      </ul>
6892    </li>
6893
6894    <li>add/use/prefer <code>posix_openpt()</code> for opening
6895    pseudo-terminal.</li>
6896
6897    <li>modify special errno handling case in ptydata.c from
6898    <a href="#xterm_158">patch #158</a> to allow for the
6899    possibility that any platform may have special cases where
6900    "/dev/tty" is absent. For example, this can happen in a FreeBSD
6901    jail (patch by David Wolfskill).</li>
6902
6903    <li>add keyboard logic to map shift-tab into XK_ISO_Left_Tab,
6904    which is usually, not always, done by the X keyboard
6905    configuration.</li>
6906
6907    <li>portability fixes for some configure macros:
6908    <code>CF_XOPEN_SOURCE</code></li>
6909  </ul>
6910
6911  <h1><a name="xterm_276" id="xterm_276">Patch #276 -
6912  2011/10/10</a></h1>
6913
6914  <ul>
6915    <li>modify clipping limits for TrueType fonts to account for
6916    the <code>scaleHeight</code> resource setting, to work around
6917    another problem due to recent FreeType changes. In this case,
6918    the <code>DejaVu Sans Mono</code> set to pixelsize=13.5 is
6919    truncated because the font descent is reduced by FreeType to
6920    match an incorrect height metric (report by Adam Lee).</li>
6921
6922    <li>improve recovery when bitmap fonts are not installed, e.g.,
6923    so that switching font-sizes works for TrueType fonts.</li>
6924
6925    <li>modify lookup for <code>XTERM_SHELL</code> feature to allow
6926    relative pathnames.</li>
6927
6928    <li>modify abbreviation disambiguation check for command-line
6929    parameters to account for <code>-geometry</code>, whose
6930    parameter may begin with "+" or "-" (report by Scott
6931    Bertilson).</li>
6932  </ul>
6933
6934  <h1><a name="xterm_275" id="xterm_275">Patch #275 -
6935  2011/09/11</a></h1>
6936
6937  <ul>
6938    <li>add <code>ash</code>, <code>zsh</code> to known shells for
6939    <code>resize</code>.</li>
6940
6941    <li>modify <code>resize</code> to reuse the logic from
6942    <code>xterm</code> which determines the actual logon-user's
6943    shell if <code>$SHELL</code> is not set.</li>
6944
6945    <li>revert the <code>unsetenv("SHELL")</code> added in <a href=
6946    "#xterm_272">patch #272</a>.</li>
6947
6948    <li>an <code>unsetenv("SHELL")</code> added in <a href=
6949    "#xterm_272">patch #272</a> to help ensure that
6950    <code>luit</code> would get the user's shell consistently did
6951    not work as expected for cases where multiple names are in the
6952    password-file for a given uid. That was because changes in
6953    <a href="#xterm_157">patch #157</a> to handle this situation
6954    did not take into account that repeated calls to
6955    <code>getpwnam</code> and <code>getpwuid</code> return a
6956    pointer to the same static buffer. Fixed the older logic to
6957    work as intended, by ensuring that the passwd-data from each
6958    call is stored separately (report by Paul Keusemann).</li>
6959
6960    <li>adjust ifdef's for <code>putenv</code> and
6961    <code>unsetenv</code> in case only one of those is provided on
6962    a given platform.</li>
6963
6964    <li>correct comparison used in <code>ExposeContains</code>
6965    macro from <a href="#xterm_274">patch #274</a> changes, to
6966    handle window-dragging (patch by Todd Eigenschink).</li>
6967  </ul>
6968
6969  <h1><a name="xterm_274" id="xterm_274">Patch #274 -
6970  2011/09/05</a></h1>
6971
6972  <ul>
6973    <li>portability fixes for cygwin: do not define
6974    <code>SVR4</code>, and work around nonstandard header
6975    location.</li>
6976
6977    <li>ifdef'd use of <code>unsetenv</code> from <a href=
6978    "#xterm_273">patch #273</a> changes to work with Solaris 9
6979    (report by Waldemar Rachwal).</li>
6980
6981    <li>modify logic for <code>XtAppPending</code> to merge
6982    adjacent <code>Expose</code> and <code>ConfigureNotify</code>
6983    events which are redundant (report by Edward McGuire).</li>
6984
6985    <li>fix an unneeded warning message when <code>-r</code> option
6986    is given.</li>
6987
6988    <li>remove a few redundant entries from table used for helping
6989    abbreviation-checking of command-line options, makes
6990    <code>-geom</code> work again after <a href="#xterm_272">patch
6991    #272</a> changes as an abbreviation of
6992    <code>-geometry</code>.</li>
6993
6994    <li>add <code>scaleHeight</code> resource and command-line
6995    option <code>-sh</code> as workaround for some
6996    font-configurations broken by changes in FreeType 2.4.6 (report
6997    by Miroslav Hodak).</li>
6998
6999    <li>portability fixes for some configure macros:
7000    <code>CF_FUNC_TGETENT</code>, <code>CF_XOPEN_SOURCE</code>,
7001    <code>CF_X_ATHENA_LIBS</code>.</li>
7002
7003    <li>add configure option <code>--with-freetype-config</code> to
7004    improve selection over the plethora of configuration options
7005    which freetype has so far provided.</li>
7006
7007    <li>build-fix for configure <code>--enable-load-vt-fonts</code>
7008    when <code>--enable-widec</code> is not specified.</li>
7009
7010    <li>build-fixes for suppressing various features, needed after
7011    changes in patches 270, 271 and 272 (report by Brian
7012    Lindholm)</li>
7013  </ul>
7014
7015  <h1><a name="xterm_273" id="xterm_273">Patch #273 -
7016  2011/08/25</a></h1>
7017
7018  <ul>
7019    <li>build-fix for out-of-tree "make docs" rule.</li>
7020
7021    <li>correct a typo in <code>x_strdup</code>, from <a href=
7022    "#xterm_198">patch #198</a> changes.</li>
7023
7024    <li>correct initialization for <code>-e</code> option, broken
7025    in <a href="#xterm_272">patch #272</a> changes (report by
7026    Gabriele Balducci).</li>
7027
7028    <li>build-fix for out-of-tree builds to address
7029    <code>minstall</code> script changes in <a href=
7030    "#xterm_272">patch #272</a> (patch by Thierry Reding).</li>
7031  </ul>
7032
7033  <h1><a name="xterm_272" id="xterm_272">Patch #272 -
7034  2011/08/24</a></h1>
7035
7036  <ul>
7037    <li>document limitation of <code>Gtk</code> in connection with
7038    xterm's <code>-into</code> option, in the manpage (Ubuntu
7039    #806969).</li>
7040
7041    <li>improve <code>-into</code> by checking for and using the
7042    size of the window within which xterm is embedded, overriding
7043    other clues.</li>
7044
7045    <li>modify logic for <code>localeFilter</code> resource to
7046    allow that to include command-line options of luit.</li>
7047
7048    <li>improve <code>-into</code> by checking for invalid
7049    window-id, and allowing hexadecimal/decimal/octal values.</li>
7050
7051    <li>improve <code>keepSelection</code>, adding the case where
7052    the highlighting is cleared, overlooked in <a href=
7053    "#xterm_230">patch #230</a> (patch by Marco Peereboom).</li>
7054
7055    <li>improve command-line parsing to make abbreviate options
7056    work consistently across xterm-specific versus standard X
7057    toolkit options, and report cases where an abbreviated option
7058    happens to be ambiguous. In particular, <code>-d</code> now
7059    works as an abbreviation for <code>-display</code>.</li>
7060
7061    <li>fix regression in command-line parsing introduced in
7062    <a href="#xterm_271">patch #271</a> changes for Debian #629358,
7063    (Debian #637910).</li>
7064
7065    <li>split-out new termcap/terminfo building block
7066    <code>xterm+kbs</code> for configurability.</li>
7067
7068    <li>modify <code>terminfo</code> file to reflect changes in
7069    ncurses for <code>xterm-16color</code> and
7070    <code>xterm-256color</code>.</li>
7071
7072    <li>modify <code>minstall.sh</code>, etc., to reflect the
7073    default default class, <code>$TERM</code> and
7074    <code>decTerminalID</code> values.</li>
7075
7076    <li>reword <code>resize</code> manpage to reflect the fact that
7077    <code>$TERMCAP</code> is not set on all systems (patch by Alan
7078    Coopersmith).</li>
7079
7080    <li>work around combined Xaw6/Xaw7 package in DragonFlyBSD
7081    which omits the usual symbolic link to the preferred library
7082    name.</li>
7083
7084    <li>further improve build-fix for termcap systems by checking
7085    for some which are only partial implementations, e.g., termcap
7086    2.08 in CentOS 5.2</li>
7087  </ul>
7088
7089  <h1><a name="xterm_271" id="xterm_271">Patch #271 -
7090  2011/07/14</a></h1>
7091
7092  <ul>
7093    <li>omit permissions adjustments to pty on exit except for
7094    pre-Unix98 ptys, since modern implementations handle this
7095    (report by Sean C Farley).</li>
7096
7097    <li>modify logic for switching fonts between UTF-8 and
7098    non-UTF-8 encoding to not merge the derivable bold-, wide- and
7099    widebold values from the VT100 fonts. Also suppress warning
7100    when not using UTF-8 fonts if wide- and widebold-fonts cannot
7101    be derived or otherwise loaded (report by Werner
7102    Scheinast).</li>
7103
7104    <li>modify menu-creation to suppress entries which will never
7105    be used in the current configuration, rather than simply
7106    disabling them.</li>
7107
7108    <li>add resource <code>printModeImmediate</code> and menu item
7109    to allow print of screen plus saved lines to a file.</li>
7110
7111    <li>add menu item to allow runtime enable/disable of the
7112    <code>printFileOnXError</code> feature.</li>
7113
7114    <li>append a timestamp to filename used in
7115    <code>printFileOnXError</code> feature, and restrict its
7116    permissions (request by Vincent Lef&egrave;vre).</li>
7117
7118    <li>add a check when cancelling cursor-blinking, in case the
7119    cursor is blinked off. Fix so that the cursor is repainted
7120    without waiting for other events, e.g., keypress (report by
7121    Ailin Nemui).</li>
7122
7123    <li>add configure <code>--with-app-class</code> option, to
7124    simplify building "xterm-dev" packages with filenames that do
7125    not conflict with conventional "xterm" packages.</li>
7126
7127    <li>corrected logic flow for DECSCL, which prevented the
7128    updated operating level from being reported via DECRQSS (report
7129    by Ailin Nemui).</li>
7130
7131    <li>corrected default for <code>brokenStringTerm</code>
7132    resource to match manpage.</li>
7133
7134    <li>add vttests/dynamic.pl</li>
7135
7136    <li>add runtime check for locale not supported by X libraries,
7137    and fallback to XA_STRING in this case (request by Bryan
7138    Henderson).</li>
7139
7140    <li>fix a special case in configure script after no FreeType
7141    libraries are found. The script was proceeding to check for a
7142    usable configuration.</li>
7143
7144    <li>add <code>xterm+tmux</code> building block to terminfo
7145    (adapted from changes proposed by Ailin Nemui and Nicholas
7146    Marriott).</li>
7147
7148    <li>improve discussion of <code>faceName</code> resource in
7149    manpage (adapted from suggestions by Jens Schweikhardt).</li>
7150
7151    <li>correct mapping of shifted up/down cursor-keys in termcap
7152    function-keys mode, i.e., resource
7153    <code>tcapFunctionKeys</code> (patch by Gertjan Halkes).</li>
7154
7155    <li>update AIX case in <code>CF_XOPEN_SOURCE</code> configure
7156    macro to add release 7.x.</li>
7157
7158    <li>modify ifdef's in <code>xterm_io.h</code> for
7159    <code>__hpux</code> to force that to use the hacked SYSV
7160    support in that file. This fixes a problem with a non-blocking
7161    socket call (patch by Paul Lampert).</li>
7162
7163    <li>improve filtering of desktop category scanning, to exclude
7164    XFCE.</li>
7165
7166    <li>modify configure script to work with systems that have both
7167    ncurses (or other terminfo) as well as a real termcap library,
7168    e.g., Slackware (report by Andrew Watts).</li>
7169
7170    <li>modify configure script to work around special case where
7171    user's environment adds compiler flags to the <code>CC</code>
7172    variable (prompted by report by Paul Lampert).</li>
7173
7174    <li>amend change for Debian #110226 so that "-h" or "-v"
7175    options cause an exit, rather than simply printing to stdout
7176    while the window is displayed (Debian #629358).</li>
7177
7178    <li>add response for <code>DECRQSS</code> which gives the
7179    setting for <code>DECSCUSR</code>.</li>
7180
7181    <li>modify AllocateTermColor() to handle
7182    <code>XtDefaultForeground</code> and
7183    <code>XtDefaultBackground</code>, which are not recognized by
7184    <code>XParseColor</code>. For example, this fixes the use of
7185    OSC&nbsp;112 when no explicit cursor color was set (report by
7186    Ailin Nemui).</li>
7187
7188    <li>handle special-case of <code>KeyPress</code> translated to
7189    <code>popup-menu</code> action (Ubuntu #756273).</li>
7190  </ul>
7191
7192  <h1><a name="xterm_270" id="xterm_270">Patch #270 -
7193  2011/04/26</a></h1>
7194
7195  <ul>
7196    <li>build-fix, e.g., for using <code>imake</code> on platforms
7197    which use the termcap library.</li>
7198
7199    <li>modify <code>utf8</code> resource to accept a name.</li>
7200
7201    <li>mention default for <code>fontWarnings</code> in manpage
7202    (report by Werner Scheinast).</li>
7203
7204    <li>split "UTF-8" menu entry into "UTF-8 Encoding" and "UTF-8
7205    Fonts" (prompted by discussion with Werner Scheinast).</li>
7206
7207    <li>gray-out font-menu entries when a font fails to load, e.g.,
7208    a bitmap font is not installed.</li>
7209
7210    <li>improve behavior when there is no app-defaults file:
7211      <ul>
7212        <li>set the <code>toolBar</code> resource to false</li>
7213
7214        <li>gray-out the font menu entries where no resource is
7215        found.</li>
7216      </ul>
7217    </li>
7218
7219    <li>add configure option <code>--with-desktop-category</code>
7220    to allow customization of the ".desktop" files.</li>
7221
7222    <li>build-fix for the <code>install-desktop</code>
7223    makefile-rule, when the source/build directories differ (patch
7224    by Lo&iuml;c Minier).</li>
7225
7226    <li>add menu entry and corresponding resource which can be used
7227    to suppress all bold-fonts (discussion with Jan
7228    Engelhardt).</li>
7229
7230    <li>make internal line-size value consistent with allocated
7231    sizes of character and related arrays to ensure that bulk
7232    copying of line data, e.g., in scrolling, accounts for the
7233    padding used for pointer alignment (adapted from patch by
7234    Rajesh Mandalemula, also reported by Ali Bahar).</li>
7235
7236    <li>widen ifdef for screen-resizing logic from <a href=
7237    "#xterm_176">patch #176</a> changes to send
7238    <code>SIGWINCH</code> to process group to include any system
7239    supporting <code>ioctl(*,TIOCGPGRP,*)</code> (prompted by
7240    linux-specific patch in OpenSUSE rpm package).</li>
7241
7242    <li>add <code>printModeOnXError</code> and
7243    <code>printFileOnXError</code> resources, which allow the user
7244    to specify that xterm will write the contents of its screen to
7245    a file if it is exiting due to an X error (Debian
7246    #280457).</li>
7247
7248    <li>restore logic that made reverse-video apply to the
7249    scrollbar's foreground/background, broken in <a href=
7250    "#xterm_158">patch #158</a> (report by Bryan Ischo).</li>
7251
7252    <li>amend some of the window operations parameter-checks added
7253    in <a href="#xterm_251">patch #251</a> for the push/pop title
7254    feature, to allow the parameters used for window resizing to be
7255    -1's, which makes the corresponding values ignored rather than
7256    using the window's maximum width/height (report by Noah
7257    Friedman).</li>
7258
7259    <li>correct order of initialization for
7260    <code>translations</code> vs <code>fullscreen</code> resources
7261    to enable a special case which omits the Alt-Enter translation
7262    when <code>fullscreen</code> is disabled (Debian #612978).</li>
7263
7264    <li>update config.guess, config.sub</li>
7265  </ul>
7266
7267  <h1><a name="xterm_269" id="xterm_269">Patch #269 -
7268  2011/02/19</a></h1>
7269
7270  <ul>
7271    <li>build-fixes for <code>imake</code> (report by Heiko
7272    Berges).</li>
7273
7274    <li>modify autoconf macro CF_PKG_CONFIG to work with
7275    cross-compile environments (patch by Thierry Reding).</li>
7276
7277    <li>modify <code>MapToColorMode()</code> to favor bold over
7278    underline, matching the precedence used before <a href=
7279    "#xterm_252">patch #252</a> (report/analysis by Nicolas
7280    George).</li>
7281
7282    <li>add <code>omitTranslation</code> resource, which can be
7283    used to suppress the default translations for these features:
7284      <ul>
7285        <li>fullscreen</li>
7286
7287        <li>scroll-lock</li>
7288
7289        <li>shift-fonts</li>
7290
7291        <li>wheel-mouse</li>
7292      </ul>
7293    </li>
7294
7295    <li>make the fullscreen feature configurable (Debian #612978)
7296      <ul>
7297        <li>add it to the configurable list
7298        <code>disallowedWindowOps</code>.</li>
7299
7300        <li>add command-line option <code>-fullscreen</code> to
7301        allow the feature to be enabled at startup.</li>
7302
7303        <li>add resource <code>fullscreen</code> to control whether
7304        the feature is active or may be enabled.</li>
7305      </ul>
7306    </li>
7307
7308    <li>modify <code>probe_netwm_fullscreen_capability</code> for
7309    64-bit machines. Contrary to <code>XGetWindowProperty</code>
7310    manpage, that function returns 32-bit data packed as
7311    <code>long</code>'s.</li>
7312
7313    <li>eliminate copy of <code>name</code> resource, which was
7314    otherwise used only to give the terminal-description name for
7315    the tcap-query feature. Use the actual <code>$TERM</code> value
7316    instead, as derived from <code>termName</code> resource,
7317    etc.</li>
7318
7319    <li>eliminate an old inconsistency with error messages, some
7320    used the <code>-name</code> option, while others used
7321    <code>argv[0]</code>. The latter is now used consistently.</li>
7322
7323    <li>improve configure check for rpath-hack, to improve builds
7324    on systems where gcc will not search /usr/local/lib, etc.</li>
7325
7326    <li>build-fix for Xaw3d configuration (report by H Merijn
7327    Brand).</li>
7328
7329    <li>update config.guess, config.sub</li>
7330  </ul>
7331
7332  <h1><a name="xterm_268" id="xterm_268">Patch #268 -
7333  2011/02/10</a></h1>
7334
7335  <ul>
7336    <li>fix an inconsistency of the "Enable Reverse Video" checkbox
7337    in the VT Options menu. This also removes a special case added
7338    in <a href="#xterm_217">patch #217</a> which limited the effect
7339    of the <code>reverseVideo</code> resource (Debian
7340    #603808).</li>
7341
7342    <li>amend decoding of misformed UTF-8 sequences to avoid
7343    absorbing valid characters as documented in Unicode 6.0 section
7344    3.9 (report by Keith Winstein).</li>
7345
7346    <li>do not set urgency hint when window already has focus
7347    (patch by Dimitrios Christidis).</li>
7348
7349    <li>amend extended mouse-coordinate mode from <a href=
7350    "#xterm_262">patch #262</a> changes to include the <em>Cb</em>
7351    button-code, which also may be greater than 127 (report by
7352    Ailin Nemui).</li>
7353
7354    <li>ensure that underline-cursor is visible when an application
7355    happens to set the background color (report by Christian
7356    Weisgerber).</li>
7357
7358    <li>add feature for <a href=
7359    "http://www.davidsimmons.com/soft/xtermhacks/xterm-fullscreen.patch">
7360    full-screen toggling</a> using either Alt-Enter or a menu
7361    selection (integrated patch by Dave Simmons).</li>
7362
7363    <li>add missing logic to handle reallocation of FIFO index for
7364    the "UTF-8" menu entry (report by David Holland, NetBSD
7365    #44344).</li>
7366
7367    <li>add makefile rules <code>docs-ctlseqs</code>,
7368    <code>docs-xterm</code>, etc.</li>
7369
7370    <li>correct typo in description of DECRPM in control sequences
7371    document (report by Ailin Nemui).</li>
7372  </ul>
7373
7374  <h1><a name="xterm_267" id="xterm_267">Patch #267 -
7375  2010/11/20</a></h1>
7376
7377  <ul>
7378    <li>minor formatting changes to ctlseqs.ms to simplify a script
7379    which extracts the feature information. See the results in
7380    <a href=
7381    "https://invisible-island.net/xterm/xterm.faq.html#compare_versions">
7382    Comparing versions, by counting controls</a> in the xterm
7383    FAQ.</li>
7384
7385    <li>add <code>docs-clean</code> makefile rule.</li>
7386
7387    <li>add <code>copy-selection</code> action (request by Timo
7388    Juhani Lindfors, Debian #588785).</li>
7389
7390    <li>trim leading/trailing blanks from string used for
7391    "Selection" font-menu data.</li>
7392
7393    <li>trim leading/trailing blanks from color resource
7394    values.</li>
7395
7396    <li>configure script improvements:
7397      <ul>
7398        <li>add workaround for removal of X11 dependency from Xt's
7399        package file (report by Robert Hooker).</li>
7400
7401        <li>add workaround for removal of fontconfig dependency
7402        from Xft's package file (report by Jeremy Huddleston).</li>
7403
7404        <li>add workaround for removal of Xmu dependency from Xaw's
7405        package file (report by Jeremy Huddleston).</li>
7406
7407        <li>improve workaround in <code>CF_X_TOOLKIT</code> macro,
7408        checking for other possible packages where Xt's
7409        dependencies may be given.</li>
7410
7411        <li>prefer <code>${name:=value}</code> to
7412        <code>${name-value}</code>, since recent bash changes break
7413        legacy support for that feature.</li>
7414      </ul>
7415    </li>
7416  </ul>
7417
7418  <h1><a name="xterm_266" id="xterm_266">Patch #266 -
7419  2010/10/24</a></h1>
7420
7421  <ul>
7422    <li>add rpm and dpkg scripts, for testing.</li>
7423
7424    <li>more fixes for Debian #600707 (report by Cyril
7425    Brulebois).</li>
7426  </ul>
7427
7428  <h1><a name="xterm_265" id="xterm_265">Patch #265 -
7429  2010/10/22</a></h1>
7430
7431  <ul>
7432    <li>fix a regression in fontname logic from <a href=
7433    "#xterm_263">patch #263</a> changes (Debian #600707, reported
7434    by Vincent Lef&egrave;vre).</li>
7435
7436    <li>revert modification of any-event/any-button protocol from
7437    <a href="#xterm_263">patch #263</a> changes. It interferes with
7438    selection using a shifted mouse button (reports by Neil Bird,
7439    Bram Moolenaar).</li>
7440  </ul>
7441
7442  <h1><a name="xterm_264" id="xterm_264">Patch #264 -
7443  2010/10/14</a></h1>
7444
7445  <ul>
7446    <li>replace a null-pointer check with check for empty string in
7447    <code>xtermOpenFont</code>, to eliminate a warning message from
7448    <a href="#xterm_263">patch #263</a> changes.</li>
7449
7450    <li>build-fix for <a href="#xterm_263">patch #263</a> when
7451    toolbar is not configured (patch by Chris Clayton) (reports by
7452    Robby Workman, David Wood).</li>
7453  </ul>
7454
7455  <h1><a name="xterm_263" id="xterm_263">Patch #263 -
7456  2010/10/13</a></h1>
7457
7458  <ul>
7459    <li>corrected initialization of "misc" resource values, to
7460    ensure that xterm has allocated a copy of strings which may not
7461    have been malloc'd by the X library (Debian #600129).</li>
7462
7463    <li>modify handling of any-event/any-button mouse protocol; it
7464    now is active with any combination of key-modifiers.</li>
7465
7466    <li>add debugging feature <code>showWrapMarks</code>, which
7467    marks lines which xterm knows are wrapped, showing where a
7468    double-click will select past the end of a line.</li>
7469
7470    <li>build-fix to address change in include-guards for
7471    <code>Xlib.h</code> in ongoing Xorg edits (patch by Jeremy
7472    Huddleston).</li>
7473
7474    <li>improve <code>pointerMode</code> by continuing to watch for
7475    motion events after mouse tracking is disabled if the pointer
7476    is hidden (Debian #594856).</li>
7477
7478    <li>further extend initialization for active-icon font to check
7479    if the font was not loaded successfully, to retry with
7480    <code>font1</code>, or as even (if TrueType fonts are used) to
7481    use a TrueType font. The retries are to help with cases as in
7482    <a href="#xterm_241">patch #241</a> where the bitmap fonts are
7483    not available.</li>
7484
7485    <li>fix special case of active-icon used when TrueType font is
7486    specified for the xterm window, from <a href="#xterm_261">patch
7487    #261</a> change. In that case, the default font's size was used
7488    for layout of the active icon's window (Debian #591265).</li>
7489  </ul>
7490
7491  <h1><a name="xterm_262" id="xterm_262">Patch #262 - 2010/8/30</a></h1>
7492
7493  <ul>
7494    <li>fix a case where changing the cursor color via escape
7495    sequences did not immediately update the screen (report by
7496    Andreas Wagner).</li>
7497
7498    <li>implement ANSI and DEC request-mode control sequences. The
7499    latter includes the xterm-specific private modes such as the
7500    mouse mode. The feature is ifdef'd with the rectangle
7501    operations since its decoding overlaps that feature.</li>
7502
7503    <li>correct typo in ctlseqs.ms for response of OSC 21 (patch by
7504    Kevin Schoedel).</li>
7505
7506    <li>improve discussion of mouse tracking in ctlseqs.ms</li>
7507
7508    <li>increase an array limit used in reporting mouse events
7509    (report by Ryan Johnson).</li>
7510
7511    <li>add extended mouse-coordinates mode, allowing up to
7512    2015x2015 windows, using UTF-8 encoding (patch by Ryan
7513    Johnson).</li>
7514
7515    <li>modify manpage hyphens to conform with <a href=
7516    "http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html">
7517    Debian</a>.</li>
7518  </ul>
7519
7520  <h1><a name="xterm_261" id="xterm_261">Patch #261 - 2010/6/28</a></h1>
7521
7522  <ul>
7523    <li>fix regression in <code>renderFont</code> logic, from
7524    <a href="#xterm_260">patch #260</a> changes (report by Joseph
7525    Quinsey).</li>
7526  </ul>
7527
7528  <h1><a name="xterm_260" id="xterm_260">Patch #260 - 2010/6/20</a></h1>
7529
7530  <ul>
7531    <li>modify <code>plink.sh</code> to work around problem linking
7532    to recent PCRE libraries.</li>
7533
7534    <li>extend <code>renderFont</code> resource to allow deferred
7535    switch to TrueType fonts without affecting existing resource
7536    settings (Debian #585620).</li>
7537
7538    <li>modify configure macro CF_X_TOOLKIT to work around omission
7539    of ICE library from ".pc" file (report by Miroslav
7540    Lichvar).</li>
7541
7542    <li>change configure script default for
7543    <code>--enable-broken-st</code> i.e., the
7544    <code>brokenStringTerm</code> feature) to normally enable it.
7545    If the corresponding resource is enabled, this feature
7546    eliminates an apparent freeze of xterm when sending mis-encoded
7547    data to the screen (Debian #584801).</li>
7548
7549    <li>document in manpage some actions which were overlooked:
7550      <ul>
7551        <li>readline-button</li>
7552
7553        <li>scroll-lock</li>
7554
7555        <li>set-8-bit-control</li>
7556      </ul>
7557    </li>
7558
7559    <li>undo a change to limit-check in <code>ScrnRefresh</code> in
7560    <a href="#xterm_257">patch #257</a>, which broke
7561    <code>fastScroll</code> feature (Debian #584841).</li>
7562
7563    <li>modify handling of <code>brokenLinuxOSC</code> and
7564    <code>brokenStringTerm</code> to also sound the bell.</li>
7565
7566    <li>add control/D and control/Q to controls which will cause
7567    early exit from control string per
7568    <code>brokenStringTerm</code> resource.</li>
7569
7570    <li>improve documentation of <code>brokenStringTerm</code>
7571    resource in manpage.</li>
7572  </ul>
7573
7574  <h1><a name="xterm_259" id="xterm_259">Patch #259 - 2010/6/5</a></h1>
7575
7576  <ul>
7577    <li>modify configure check for <a href=
7578    "https://invisible-island.net/luit/">luit</a> to include new
7579    aliases for the program (<code>xterm-filter</code> and
7580    <code>bluit</code>).</li>
7581
7582    <li>add workaround in <code>xtermClearLEDs()</code> to account
7583    for Xkb's override, making vttest's LED demo reset the scroll
7584    lock.</li>
7585
7586    <li>filter out client-message events when deciding whether to
7587    hide cursor, e.g., when using SCIM (patch/report by anonymous
7588    user).</li>
7589
7590    <li>improve description of <code>-bd</code> option in manpage
7591    (report by Guy Daniel Clotilde).</li>
7592
7593    <li>modify configure checks for PCRE and other libraries to use
7594    <code>pkg-config</code>, if available.</li>
7595
7596    <li>amend change from <a href="#xterm_252">patch #252</a>, to
7597    take <code>veryColorColors</code> resource into account when
7598    checking <code>colorBDMode</code> resource for TrueType fonts
7599    (report by anonymous user).</li>
7600
7601    <li>add <code>vttests/query-fonts.pl</code> script for
7602    demonstrating the <code>OSC&nbsp;50</code> font query.</li>
7603
7604    <li>improve manpage discussion of Scroll Lock feature.</li>
7605
7606    <li>improve configure macros CF_GCC_VERSION and
7607    CF_GCC_WARNINGS.</li>
7608
7609    <li>fix warnings for "clang --analyze".</li>
7610
7611    <li>change default for <code>allowScrollLock</code> resource to
7612    <code>false</code>, noting that the supposedly unused key has
7613    been useful for various rebindings (Debian #580946).</li>
7614  </ul>
7615
7616  <h1><a name="xterm_258" id="xterm_258">Patch #258 - 2010/5/1</a></h1>
7617
7618  <ul>
7619    <li>add pointer-checks in <code>ScrnRefresh</code> to fix a
7620    case in rapid scrolling where an empty record is fetched from
7621    the scrollback FIFO.</li>
7622  </ul>
7623
7624  <h1><a name="xterm_257" id="xterm_257">Patch #257 - 2010/4/22</a></h1>
7625
7626  <ul>
7627    <li>correct ctlseqs.ms description of OSC 17 and OSC 19 (patch
7628    by Emanuele Giaquinta).</li>
7629
7630    <li>corrected logic for <code>menuLocale</code> resource; the
7631    <code>setlocale</code> function returns the original locale
7632    only when querying.</li>
7633
7634    <li>improve filtering of translations resource, narrowing the
7635    scope of the <code>alwaysUseMods</code> to address only the
7636    translations that would cause a key to be sent to the host
7637    (report by Andrew Gaylard).</li>
7638
7639    <li>change default value of <code>menuLocale</code> resource to
7640    "C", to work around longstanding <a href=
7641    "https://invisible-island.net/xterm/xterm.faq.html#slow_menus">Xorg
7642    bug</a>.</li>
7643
7644    <li>modify handling of <code>scrollKey</code> feature to ignore
7645    XON/XOFF keys.</li>
7646
7647    <li>implement scroll-lock feature.</li>
7648
7649    <li>revise memory allocation in UTF8toLatin1() to fix an
7650    out-of-bounds index (Mandriva #54531).</li>
7651
7652    <li>compute value for first wide-character rather than assuming
7653    it is 256, fixes problem with <code>-cjk_width</code>
7654    introduced in patches <a href="#xterm_242">242</a> and <a href=
7655    "#xterm_249">249</a> (report by Thomas Wolff).</li>
7656
7657    <li>improve configure script:
7658      <ul>
7659        <li>corrected check for <code>_XOPEN_SOURCE</code> for
7660        OpenSolaris.</li>
7661
7662        <li>when possible, add rpath option for libraries in
7663        unusual places</li>
7664
7665        <li>add configure option <code>--disable-rpath-hack</code>
7666        to control whether the rpath option can be added.</li>
7667      </ul>
7668    </li>
7669
7670    <li>modify <code>AllocateTermColor()</code> to separate
7671    initialization from control sequences, fixing problem from
7672    <a href="#xterm_254">patch #254</a> changes where enabling
7673    <code>allowSendEvents</code> resource prevents setting cursor
7674    color on command-line (Debian #572928).</li>
7675
7676    <li>amend logic from <a href="#xterm_185">patch #185</a> to not
7677    reallocate cell-array if processing
7678    <code>ESC&nbsp;%&nbsp;G</code> to switch from UTF-8 if already
7679    in ISO-8859-1 character set (report by Michael Koehne).</li>
7680
7681    <li>fix to avoid calling <code>XmuInternStrings()</code> with
7682    zero count (report by Johan Bockg&aring;rd).</li>
7683
7684    <li>fix build when --disable-ansi-color configure option is
7685    used.</li>
7686
7687    <li>fix build when neither OPT_TCAP_QUERY or OPT_TCAP_FKEYS is
7688    defined (patch by Matthieu Herrb)</li>
7689  </ul>
7690
7691  <h1><a name="xterm_256" id="xterm_256">Patch #256 - 2010/3/6</a></h1>
7692
7693  <ul>
7694    <li>add TerminalEmulator to desktop category files.</li>
7695
7696    <li>modify <code>sinstall.sh</code> to ignore the "." appended
7697    to permissions by selinux.</li>
7698
7699    <li>change app-defaults organization, installing UXTerm-color
7700    and KOI8XTerm-color for consistent behavior regarding
7701    <code>customization:&nbsp;color</code> (prompted by discussion
7702    in Ubuntu #421261).</li>
7703
7704    <li>fix typo in <code>minstall.sh</code> from <a href=
7705    "#xterm_255">patch #255</a> changes, and add case for
7706    <code>/var/run</code> needed for full path of utmp (report by
7707    Julien Cristau).</li>
7708
7709    <li>minor fix to xterm manpage, remove a comment stating that
7710    margin bell can be changed via the VT Options menu. That was
7711    replaced in <a href="#xterm_225">patch #225</a></li>
7712
7713    <li>add a "docs" rule to makefile.</li>
7714
7715    <li>fix initialization of Atom used for <code>XkbBell</code>
7716    feature from <a href="#xterm_243">patch 243</a> changes. Unlike
7717    the other calls to <code>XInternAtom()</code>, in this case the
7718    flag telling X to create the Atom was unset (patch by Chris
7719    Adams).</li>
7720  </ul>
7721
7722  <h1><a name="xterm_255" id="xterm_255">Patch #255 - 2010/1/21</a></h1>
7723
7724  <ul>
7725    <li>rename <code>install.sh</code> to <code>install-sh</code>
7726    in case suffix-rules might interfere.</li>
7727
7728    <li>extend range for <code>convertToUTF8</code> function to
7729    full 31-bits, to use with printing, etc.</li>
7730
7731    <li>improve manpage by checking for actual locations of
7732    utmp/wtmp files (Debian #562640).</li>
7733
7734    <li>modify configure macro CF_XOPEN_SOURCE to remove -D's
7735    before adding the same name rather than relying on -U's, to
7736    reduce redefinition warnings for some platforms that have
7737    conflicting definitions in headers.</li>
7738
7739    <li>correct logic used to switch to alternate screen using
7740    FIFO-lines configuration (Debian #565772).</li>
7741
7742    <li>update config.guess, config.sub</li>
7743  </ul>
7744
7745  <h1><a name="xterm_254" id="xterm_254">Patch #254 - 2010/1/6</a></h1>
7746
7747  <ul>
7748    <li>add a configure-check to eliminate <code>install-ti</code>
7749    rule from Makefile when the system has no tic (terminfo
7750    compiler) program. This lets one use the
7751    <code>install-full</code> rule more consistently.</li>
7752
7753    <li>amend change to WriteText() function in <a href=
7754    "#xterm_252">patch #252</a> to take into account the
7755    <code>colorAttrMode</code> resource (report by Krzysztof
7756    Kotlenga).</li>
7757
7758    <li>document <code>titleModes</code> resource in manpage, added
7759    in <a href="#xterm_252">patch #252</a>.</li>
7760
7761    <li>modify tcap-query table entries for shifted up/down cursor
7762    keys to match ncurses convention.</li>
7763
7764    <li>improve lookup of termcap-query data, allowing for
7765    duplicate keycodes versus missing entries.</li>
7766
7767    <li>add control sequence which can be used to modify the
7768    terminal data used for the termcap-keyboard.</li>
7769
7770    <li>improve portability of tcap-query feature, using terminfo
7771    functions in preference to termcap on systems having
7772    terminfo.</li>
7773
7774    <li>improve font-setting/querying control
7775    (<code>OSC&nbsp;50</code>):
7776      <ul>
7777        <li>when TrueType font is selected, the TrueType
7778        <code>faceName</code> will be set, rather than the bitmap
7779        font.</li>
7780
7781        <li>when TrueType font is selected, querying returns the
7782        name of the TrueType font.</li>
7783
7784        <li>querying a font recognizes the relative-font convention
7785        that setting a font could use.</li>
7786      </ul>
7787    </li>
7788
7789    <li>add menu-entry for allowColorOps.</li>
7790
7791    <li>add new resources for fine-tuning menu entries:
7792    <code>allowColorOps</code>, <code>disallowedColorOps</code>,
7793    <code>disallowedFontOps</code> and
7794    <code>disallowedTcapOps</code>.</li>
7795
7796    <li>correct logic for disabling the "TrueType Fonts" menu item;
7797    it was not ensuring that the <code>faceName</code> resource
7798    value was non-empty.</li>
7799
7800    <li>implement VT520-style controls <code>DECSMBV</code> and
7801    <code>DECSWBV</code> for setting the margin- and warning-bell
7802    volume.</li>
7803
7804    <li>fix a minor error from <a href="#xterm_243">patch #243</a>
7805    which made the zIconBeep feature use a minor-error tone rather
7806    than an informational tone.</li>
7807
7808    <li>add a null-pointer check for the case where
7809    <code>renderFont</code> resource is true, but
7810    <code>faceName</code> resource is unset, used in logic to strip
7811    "xft:" prefix from <a href="#xterm_251">patch #251</a> changes
7812    (patch by Michael Riepe).</li>
7813
7814    <li>add special case to configure CF_XOPEN_SOURCE macro to use
7815    extensions on Darwin (patch by Dennis Preiser).</li>
7816
7817    <li>improve configure checks for regular expressions header and
7818    library</li>
7819
7820    <li>update config.guess, config.sub</li>
7821  </ul>
7822
7823  <h1><a name="xterm_253" id="xterm_253">Patch #253 -
7824  2009/12/10</a></h1>
7825
7826  <ul>
7827    <li>add a null-pointer check in <code>getPrinterFlags()</code>
7828    per changes in <a href="#xterm_252">patch #252</a>.</li>
7829
7830    <li>add a null-pointer check, needed in UTF-8 mode for Xft
7831    fonts after changes in <a href="#xterm_252">patch #252</a>
7832    (patch by Alan Coopersmith).</li>
7833
7834    <li>correct size when clearing struct for tek4014 (patch by
7835    Jochen Voss).</li>
7836
7837    <li>parenthesize expression in <code>MoreRows</code> macro,
7838    fixing a limit check added in <a href="#xterm_251">patch
7839    #251</a> (Debian #560039).</li>
7840  </ul>
7841
7842  <h1><a name="xterm_252" id="xterm_252">Patch #252 - 2009/12/7</a></h1>
7843
7844  <ul>
7845    <li>modify title-querying logic to support retrieval of titles
7846    encoded using UTF-8.</li>
7847
7848    <li>add new "title-modes" control sequence for controlling
7849    whether window/icon titles can be set or queried using UTF-8,
7850    optionally encoded in a hexadecimal string.</li>
7851
7852    <li>use <code>mkdir&nbsp;-p</code> rather than
7853    <code>mkdirs.sh</code> (prompted by discussion of mawk by
7854    Aleksey Cheusov).</li>
7855
7856    <li>add appropriate copyright/license notices to the bulk of
7857    files lacking same, and modify to use identical terms in others
7858    which used different wording. The main exceptions are the files
7859    contributed by Markus Kuhn, who appears to prefer public domain
7860    distribution, noting that I have modified/improved several of
7861    these without changing the terms of distribution (request by
7862    Jari Aalto).</li>
7863
7864    <li>add control sequences for resetting the "dynamic" colors to
7865    their default values.</li>
7866
7867    <li>add control sequences for resetting the "special" colors to
7868    their default values.</li>
7869
7870    <li>add control sequences for setting the "special" colors such
7871    as <code>colorBD</code> (bold).</li>
7872
7873    <li>add overlooked case for setting highlight foreground color
7874    with the dynamic-colors control.</li>
7875
7876    <li>add <code>OSC 104</code>, for resetting ANSI/16/88/256
7877    colors to default.</li>
7878
7879    <li>reset ANSI/16/88/256 colors to default in soft/hard reset
7880    functions.</li>
7881
7882    <li>strip "xft:" prefix from <code>faceName</code> and
7883    <code>faceNameDoublesize</code> resource values,</li>
7884
7885    <li>add <code>DECSCUSR</code> (discussion with Andy
7886    Koppe).</li>
7887
7888    <li>add check/warning on failure to load font, to see if the
7889    name looks like an Xft pattern rather than XLFD. This can
7890    happen if someone happens to modify their X resource settings
7891    for programs that read data from xterm's namespace.</li>
7892
7893    <li>modify handling of <code>print</code> and
7894    <code>print-everything</code> actions to allow the various
7895    printer flags to be overridden by supplying parameters.</li>
7896
7897    <li>add resource <code>printerNewLine</code> (request by Ovidiu
7898    Gheorghioiu).</li>
7899
7900    <li>minor cleanup, finish using <code>TScreenOf()</code> and
7901    <code>TekScreenOf()</code> macros introduced in <a href=
7902    "#xterm_224">patch #224</a>.</li>
7903
7904    <li>improve checks in ShowCursor/HideCursor to get the
7905    background color, particularly when
7906    <code>highlightReverse</code> resource is used (reports by Jan
7907    Engelhardt, Christian Weisgerber).</li>
7908
7909    <li>correct <code>checkVeryBoldAttr</code> to omit comparison
7910    of foreground color to special color values used for
7911    <code>color&lt;XX&gt;</code> resources (report by Jan
7912    Engelhardt).</li>
7913
7914    <li>make <code>colorBDMode</code> and <code>colorULMode</code>
7915    resources work with TrueType configuration (report by Jan
7916    Engelhardt).</li>
7917  </ul>
7918
7919  <h1><a name="xterm_251" id="xterm_251">Patch #251 -
7920  2009/11/11</a></h1>
7921
7922  <ul>
7923    <li>add window-ops controls to push/pop icon and/or window
7924    labels on a stack.</li>
7925
7926    <li>minor fixes to align termcap file with terminfo.</li>
7927
7928    <li>add resource <code>disallowedWindowOps</code>, to allow
7929    fine-tuning of features to suppress with the
7930    <code>allowWindowOps</code> resource (prompted by discussion
7931    with Bram Moolenaar).</li>
7932
7933    <li>add makefile rules for resize-manpage to pdf, etc.</li>
7934
7935    <li>further improve limit-checks in select/paste (Mandriva
7936    #54531).</li>
7937  </ul>
7938
7939  <h1><a name="xterm_250" id="xterm_250">Patch #250 -
7940  2009/10/13</a></h1>
7941
7942  <ul>
7943    <li>add check and error-message for fonts that have no
7944    printable values in the ISO-8859-1 range (Debian #542434).</li>
7945
7946    <li>some compiler-warning cleanup, in particular workaround for
7947    defective implementation of gcc's attribute warn_unused_result
7948    (report by Bram Moolenaar).</li>
7949
7950    <li>improve estimate of single-column width for packed TrueType
7951    fonts by ignoring extents for codes 127 and 159.</li>
7952
7953    <li>improve line-drawing for TrueType fonts which happen to
7954    have defined glyphs which are <em>not</em> line-drawing in
7955    0..31 by assuming they're not, and just checking the existence
7956    of the Unicode codepoints. This makes it more likely that the
7957    user can override a misconfigured font using the "Line-Drawing
7958    Characters" menu entry.</li>
7959
7960    <li>limit minimum cell-width for packed font to maximum-advance
7961    reported by Xft. Some fonts are wider than that, even in the
7962    Latin-1 range (Debian #550497).</li>
7963
7964    <li>add list of direct-contributors in "THANKS" file.</li>
7965
7966    <li>stylistic changes to this file to help scripted extraction
7967    of list of contributors.</li>
7968
7969    <li>correct off-by-one in <code>okPosition</code> fix from
7970    <a href="#xterm_249">patch #249</a> limit-checks which
7971    prevented double-click selection on the bottom line of the
7972    screen (reports by Rajeev V. Pillai, Debian #550368).</li>
7973
7974    <li>add <code>-q</code> option to
7975    <code>vttests/256colors2.pl</code> and
7976    <code>vttests/88colors2.pl</code> to demonstrate bulk
7977    initialization of color palette.</li>
7978
7979    <li>improve the workaround from patch #188 by enabling
7980    resources for the 88-color model.</li>
7981
7982    <li>document in xterm manpage the limited availability of
7983    resources <code>color16</code> to <code>color255</code> as
7984    noted in <a href="#xterm_188">patch #188</a> (Ubuntu
7985    #438850).</li>
7986  </ul>
7987
7988  <h1><a name="xterm_249" id="xterm_249">Patch #249 - 2009/10/1</a></h1>
7989
7990  <ul>
7991    <li>change default for <code>allowWindowOps</code> resource to
7992    false. 
7993    <!-- on the other hand, gnome-terminal, pterm and rxvt-unicode
7994                leave most of the related functionality enabled ;-) --></li>
7995
7996    <li>add limit-checks for result of visual_width() function,
7997    needed from <a href="#xterm_242">patch #242</a> and exposed by
7998    #244 changes (Debian #548321).</li>
7999
8000    <li>improve limit-checks in select/paste.</li>
8001
8002    <li>fix a remaining bug from <a href="#xterm_230">patch
8003    #230</a> changes for displaying multi-column characters in a
8004    proportional font (report by Chris Jones).</li>
8005
8006    <li>add new resource forcePackedFont and menu entry "Packed
8007    Font" to control whether to use the font's minimum (default) or
8008    maximum width when those differ. The workaround which xterm
8009    uses to accommodate proportional fonts is not necessary with
8010    certain fonts such as unifont which happen to store a mixture
8011    of multicolumn glyphs (report by Chris Jones).</li>
8012
8013    <li>fix an (old) bug which did not restart the timer for
8014    blinking text if the only blinking text was temporarily
8015    scrolled out of view, e.g., using the scrollbar.</li>
8016
8017    <li>fix an (old) flaw in the delete-line operation where the
8018    text which is scrolled into view while the display is scrolled
8019    up was not repainted.</li>
8020
8021    <li>improve delete-line and insert-line operations, retaining
8022    selection when the selection does not intersect the
8023    deleted/inserted lines.</li>
8024
8025    <li>fix an (old) off-by-one error when an application cleared
8026    above the cursor position while the display was scrolled up,
8027    that would leave an extra line of text uncleared.</li>
8028
8029    <li>fix a similar problem where the double-size attribute would
8030    not be reset when clearing the screen while the display was
8031    scrolled up.</li>
8032
8033    <li>fix an indexing error which would occur if an application
8034    cleared a line while the display was scrolled up and was also
8035    in UTF-8 mode (Redhat #524503). The error was from <a href=
8036    "#xterm_228">patch #228</a> but more visible after changes from
8037    <a href="#xterm_244">patch #244</a>.</li>
8038  </ul>
8039
8040  <h1><a name="xterm_248" id="xterm_248">Patch #248 - 2009/9/11</a></h1>
8041
8042  <ul>
8043    <li>fix an overlooked adjustment for selecting double-width
8044    characters in the narrow-character configuration.</li>
8045
8046    <li>eliminate uses of <code>XTERM_CELL</code> and
8047    <code>XTERM_CELLC</code> where an appropriate
8048    <code>LineData</code> pointer is available.</li>
8049
8050    <li>correct expression in <code>okScrnRow</code> macro, making
8051    selections give the length of lines below the visible screen
8052    (report by Stuart Henderson).</li>
8053
8054    <li>correct logic used to improve performance of missing-glyph
8055    check, which did not handle line-drawing characters (Debian
8056    #545220).</li>
8057  </ul>
8058
8059  <h1><a name="xterm_247" id="xterm_247">Patch #247 - 2009/8/30</a></h1>
8060
8061  <ul>
8062    <li>add ifdef's and check for openpty() on DragonFly (patch by
8063    Alex Hornung).</li>
8064
8065    <li>correct calculation for size of line's data block, which
8066    was sometimes off-by-one when configured using
8067    <code>--enable-16bit-chars</code> (report by H Merijn
8068    Brand).</li>
8069
8070    <li>fix indexing error in print-everything feature from
8071    <a href="#xterm_246">patch #246</a> (patch by Ovidiu
8072    Gheorghioiu).</li>
8073  </ul>
8074
8075  <h1><a name="xterm_246" id="xterm_246">Patch #246 - 2009/8/16</a></h1>
8076
8077  <ul>
8078    <li>remove obsolete logic for saving/restoring wrapping flags,
8079    which did not work on 64-bit platform. Wrapping flags (stored
8080    in the line-index) are now copied with line-data (Debian
8081    #541160).</li>
8082
8083    <li>modify comments in app-defaults files to avoid problem with
8084    C preprocessor used by <code>xrdb</code> (Debian #541603).</li>
8085
8086    <li>restore special case in <code>makeColorPair</code>, needed
8087    for <code>colorBDMode</code> resource (Debian #541089).</li>
8088
8089    <li>correct <code>SetLineFlags()</code> macro, broken in
8090    <a href="#xterm_244">patch #244</a> when recoding to avoid
8091    gcc-specific bitfields (Debian #541236).</li>
8092
8093    <li>modify initialization of screen buffers to ensure that
8094    pointers align to int-boundaries. This fixes a problem
8095    introduced in <a href="#xterm_244">patch #244</a> where the
8096    color- and character-arrays (stored after the video-attributes
8097    in each row) might be misaligned (report by Rajeev V
8098    Pillai).</li>
8099
8100    <li>add limit-check in <code>ScrnRefresh</code> for handling
8101    saved-lines from the circular buffer which are repainted on a
8102    screen whose width has increased. To improve performance,
8103    circular buffer entries are not resized (report by Rajeev V
8104    Pillai).</li>
8105
8106    <li>correct type for <code>CellColor</code> (a late change in
8107    <a href="#xterm_244">patch #244</a> to avoid gcc-specifc enums
8108    made that unsigned rather than unsigned short, for the
8109    256-color option).</li>
8110
8111    <li>fix typo in configure option --enable-16bit-chars (report
8112    by Rajeev V. Pillai).</li>
8113  </ul>
8114
8115  <h1><a name="xterm_245" id="xterm_245">Patch #245 - 2009/8/12</a></h1>
8116
8117  <ul>
8118    <li>correct a special case in saving FIFO-lines from <a href=
8119    "#xterm_244">patch #244</a>. If the screen was shrunk, xterm
8120    used the wrong amount for copying to FIFO-lines, and then used
8121    this amount to adjust the current row on the screen. That was
8122    both a visible defect (Debian #541109) as well as a potential
8123    addressing error (Debian #541132, Debian #541160, and Debian
8124    #541236).</li>
8125
8126    <li>add clarification in xterm manual about the various
8127    <code>allow<em>XXX</em>Ops</code> resources, which are disabled
8128    when the <code>allowSendEvents</code> resource is active (patch
8129    by Julien Cristau, Debian #531597).</li>
8130  </ul>
8131
8132  <h1><a name="xterm_244" id="xterm_244">Patch #244 - 2009/8/9</a></h1>
8133
8134  <ul>
8135    <li>refactored storage of saved-lines, providing a configure
8136    option to manage them as a FIFO (actually a circular buffer),
8137    improving performance. Added configure option
8138    <code>--enable-fifo-lines</code> to enable/disable the new
8139    feature (it is enabled by default).</li>
8140
8141    <li>added <code>fastScroll</code> resource, to amuse people who
8142    measure terminal emulator performance by <code>cat</code>'ing
8143    large files to the screen.</li>
8144
8145    <li>modify check in <code>readPtyData</code> from return values
8146    to provide exit on zero-bytes read from pty for FreeBSD, or
8147    eliminate high-CPU in "xterm-hold" processing (discussion with
8148    Ulrich Spoerlein, FreeBSD ports/136686). The check was
8149    originally modified to combine negative/zero values in
8150    XFree86-3.1.2E, 1996/05/06.</li>
8151
8152    <li>add configure option <code>--enable-16bit-chars</code> to
8153    provide wide-characters with 16-bits (rather than the default
8154    32-bits).</li>
8155
8156    <li>add <code>retryInputMethod</code> resource to allow
8157    configuring out the retries xterm uses to connect to
8158    non-responsive XIM server, to work around defective X
8159    configurations as noted in <a href=
8160    "http://mail-index.netbsd.org/tech-x11/2009/06/07/msg000511.html">
8161    NetBSD mailing list</a>.</li>
8162
8163    <li>make regular-expression selection work for VT100
8164    double-sized characters.</li>
8165
8166    <li>improve layout when drawing missing characters in a
8167    proportional font, e.g., as boxes, to take into account whether
8168    they are double-width (report by Guilbert Stabilo on
8169    comp.unix.shell).</li>
8170
8171    <li>add capability for keypad-center (kb2/KA2) to termcap entry
8172    for xterm-new, as well as xterm-8bit, xterm-sun and xterm-vt220
8173    (FreeBSD conf/136336).</li>
8174
8175    <li>change default for <code>keepSelection</code> resource to
8176    true (prompted by discussion with David Muir Sharnoff).</li>
8177
8178    <li>remove a limit-check in ptydata.c, allowing Unicode values
8179    past 64k to be displayed using TrueType fonts (Debian
8180    #458432).</li>
8181
8182    <li>remove a vt52-specific ifdef to allow mapping F1-F4 to
8183    PF1-PF4 when vt52 support is not compiled (report by Olaf
8184    'Rhialto' Seibert).</li>
8185
8186    <li>save/restore line-wrapping flags when converting from
8187    ISO-8859-1 encoding to UTF-8 encoding, as well as when resizing
8188    screen.</li>
8189
8190    <li>remove extra adjustment of position in fix for Debian
8191    #418324.</li>
8192
8193    <li>modify default check for <code>mkWidth</code> resource to
8194    check for line-drawing characters, which are categorized as
8195    double-width in Solaris 10 (report by Sebastian Kayser).</li>
8196
8197    <li>add "print-everything" action (patch by Ovidiu
8198    Gheorghioiu).</li>
8199
8200    <li>start refactoring scrollback data using new getLineData()
8201    function.</li>
8202
8203    <li>demote recent change to Debian #252873 fix to experimental,
8204    ifdef'd out as <code>EXP_BOGUS_FG</code> (Debian #522141).</li>
8205
8206    <li>work around groff mapping of ASCII quotes using macros
8207    (requested by Reuben Thomas based on Colin Watson advice, fixes
8208    Debian #378700).</li>
8209
8210    <li>correct symbol used for default of
8211    <code>allowWindowOps</code> which was
8212    <code>DEF_ALLOW_FONT</code> rather than
8213    <code>DEF_ALLOW_WINDOW</code> (report by Matthieu Herrb).</li>
8214
8215    <li>amend fix for tek4014 from <a href="#xterm_243">patch
8216    #243</a> to make it only apply to the Tek Options menu.</li>
8217  </ul>
8218
8219  <h1><a name="xterm_243" id="xterm_243">Patch #243 - 2009/3/28</a></h1>
8220
8221  <ul>
8222    <li>revert change to default for <code>allowTcapOps</code>
8223    (request by Bram Moolenaar).</li>
8224
8225    <li>reallocate result returned by <code>xtermEnvLocale()</code>
8226    to avoid reference to freed memory after handling
8227    <code>menuLocale</code> resource.</li>
8228
8229    <li>fix an old (X11R5) bug in tek4014 for switching
8230    fontsizes.</li>
8231
8232    <li>add resource <code>defaultString</code> to make
8233    configurable the use of "#" when pastes of UTF-8 text fail due
8234    to limitations in the current locale settings.</li>
8235
8236    <li>make the set of selection target Atom's configurable by two
8237    new resources <code>eightBitSelectTypes</code> and
8238    <code>utf8SelectTypes</code>, e.g., to use the
8239    <code>TEXT</code> Atom in preference to
8240    <code>UTF8_STRING</code> (discussion with Stanislav Sedov
8241    regarding koi8rxterm and the FreeBSD port).</li>
8242
8243    <li>modify handling of <code>TARGETS</code> Atom by making it
8244    return exactly the set of targets as those which xterm is
8245    currently providing.</li>
8246
8247    <li>set <code>MANPAGER</code> and <code>PAGER</code> explicitly
8248    to /bin/cat in <code>minstall.sh</code> to work around
8249    /etc/man.conf's with those variables already set (report by
8250    &#1052;&#1072;&#1088;&#1100;&#1103;&#1089;&#1080;&#1085;
8251    &#1057;&#1077;&#1084;&#1105;&#1085;).</li>
8252
8253    <li>improve error-checking of tcap-query parser.</li>
8254
8255    <li>add check for keyboard <code>tcap</code>), which ensures
8256    that terminal descriptions containing the same string for
8257    shifted/unshifted keys will be seen by tcap-query as only the
8258    unshifted key. (This would only happen with an incorrect
8259    terminal description).</li>
8260
8261    <li>fix conversion for input event-state to modifier-parameter
8262    which made tcap-query feature not work with
8263    <code>tcapFunctionKeys</code> (keyboard type
8264    <code>tcap</code>).</li>
8265
8266    <li>add "DEF_ALLOW_<em>XXX</em>" definitions to main.h to allow
8267    overriding the default compiled-in values for
8268    "allow<em>xxx</em>" resources.</li>
8269
8270    <li>remove check on bell-percentage added in <a href=
8271    "#xterm_242">patch #242</a>, which disallowed zero/negative
8272    values (Redhat Bugzilla #487829).</li>
8273  </ul>
8274
8275  <h1><a name="xterm_242" id="xterm_242">Patch #242 - 2009/2/15</a></h1>
8276
8277  <ul>
8278    <li>fix configure check for <code>XkbBell</code> and provide
8279    appropriate parameter for it.</li>
8280
8281    <li>fix a caching problem with double-size fonts versus reverse
8282    video that could cause core dump.</li>
8283
8284    <li>repair double-size fonts from workaround used in <a href=
8285    "#xterm_240">patch #240</a>.</li>
8286
8287    <li>add new section to the VT Fonts menu which allows enabling
8288    or disabling the font, termcap (tcap-query), title and window
8289    operations.</li>
8290
8291    <li>add <code>fontWarnings</code> resource, to control whether
8292    to show warnings on failure to load a font.</li>
8293
8294    <li>improve warnings for unloadable fonts introduced in
8295    <a href="#xterm_240">patch #240</a> by limiting those to the
8296    cases where a font would be specified directly by a resource
8297    setting rather than a derived fontname.</li>
8298
8299    <li>further amend fix for Debian #252873 from <a href=
8300    "#xterm_197">patch #197</a> to treat a blank cell which does
8301    not have both foreground and background colored as a
8302    non-colored cell. This improves a special case where the cursor
8303    is on a blank cell which had foreground color scrolled in
8304    (report by Miroslav Lichvar).
8305      <p>Also add the same logic when hiding cursor, so the outline
8306      matches the in-focus cursor.</p>
8307    </li>
8308
8309    <li>modify internals to reduce places PAIRED_CHARS() is used,
8310    making WriteText() and ScrnWriteText() accept IChar array, as
8311    well as providing a wrapper for drawXtermText().</li>
8312
8313    <li>change default XIM font from "*" to "fixed" to improve
8314    startup time in zh_CN.UTF-8 locale (Mike Fabian, SuSE Bugzilla
8315    #464930).</li>
8316
8317    <li>typo in #240 log (Slava Semushin)</li>
8318  </ul>
8319
8320  <h1><a name="xterm_241" id="xterm_241">Patch #241 - 2009/1/26</a></h1>
8321
8322  <ul>
8323    <li>improve checks for missing bitmap fonts, fallback to
8324    "fixed" as needed to work around broken font-packages (report
8325    by Jacek Luczak).</li>
8326
8327    <li>fix breakage from <a href="#xterm_240">patch #240</a>
8328    changes for <code>xtermAddInput()</code> (patches by Jeff Chua,
8329    Julien Cristau).</li>
8330  </ul>
8331
8332  <h1><a name="xterm_240" id="xterm_240">Patch #240 - 2009/1/25</a></h1>
8333
8334  <ul>
8335    <li>use <code>plink.sh</code> for linking xterm (suggested by
8336    Larry Doolittle).</li>
8337
8338    <li>add resource descriptions for input method to xterm
8339    manpage.</li>
8340
8341    <li>update configure script; consistently append to $CFLAGS
8342    rather than prepend.</li>
8343
8344    <li>add <code>install-scripts</code> rule to makefile, to allow
8345    koi8rxterm and uxterm scripts to be altered independently of
8346    <code>install-bin</code></li>
8347
8348    <li>add <code>-maximized</code> command-line option and
8349    corresponding resource (prompted by alt.os.linux newsgroup
8350    comment).</li>
8351
8352    <li>modify translations of scrollbar widget using
8353    <code>xtermAddInput()</code> (see <a href="#xterm_181">patch
8354    #181</a>) to accept the actions that the vt100 widget accepts,
8355    such as shift-insert to perform a paste operation (request by
8356    Martin Zwickel).</li>
8357
8358    <li>change default for <code>allowTcapsOps</code> resource to
8359    false, since it causes unexpected behavior for vim users with
8360    <code>AltGr</code>.</li>
8361
8362    <li>update config.guess, config.sub</li>
8363  </ul>
8364
8365  <h1><a name="xterm_239" id="xterm_239">Patch #239 - 2009/1/8</a></h1>
8366
8367  <ul>
8368    <li>correct a cast in input.c, which broke translation of
8369    numeric keypad codes to pageup, pagedown, etc., on 64-bit
8370    platform (Debian #511138, report by Larry Doolittle).</li>
8371  </ul>
8372
8373  <h1><a name="xterm_238" id="xterm_238">Patch #238 -
8374  2008/12/30</a></h1>
8375
8376  <ul>
8377    <li>update configure macro CF_XOPEN_SOURCE for AIX 6.x and Mint
8378    platforms.</li>
8379
8380    <li>reset the screen wrapping-flag at the end of
8381    <code>ClearRight</code> to fix an occasional case where the
8382    last character of a scrolled and wrapped line would be cleared
8383    (patch by Joe Peterson).</li>
8384
8385    <li>modify to use POSIX coding for comparing resource settings
8386    such as <code>locale</code>, to work with locales such as
8387    Turkish (report by M Vefa Bicakci).</li>
8388
8389    <li>turn on configure <code>paste64</code> feature by default
8390    (request by Jean-Philippe Bernardy). It is runtime
8391    enabled/disabled with <code>allowWindowOps</code>.</li>
8392
8393    <li>turn on configure <code>tcap-query</code> feature by
8394    default, add resource <code>allowTcapOps</code> to make this
8395    runtime enabled/disabled.</li>
8396
8397    <li>make <code>OSC 3</code> (change X property, from <a href=
8398    "#xterm_110">patch #110</a>) subject to
8399    <code>allowWindowOps</code> resource.</li>
8400
8401    <li>make VT220 <code>DSR</code> responses inactive in
8402    VT100-mode.</li>
8403
8404    <li>make <code>DECUDK</code> feature inactive in
8405    VT100-mode.</li>
8406
8407    <li>respond to incorrectly formatted <code>DECRQSS</code> with
8408    a cancel.</li>
8409
8410    <li>add <code>allowFontOps</code> resource to allow the
8411    fontsize-switching and font query/set control sequences to be
8412    enabled/disabled (prompted by Debian #510030).</li>
8413
8414    <li>some code cleanup based on gcc 4.x
8415    <code>-Wconversion</code> warnings in button.c and
8416    charproc.c</li>
8417
8418    <li>modify <code>tcap-query</code> feature to not return data
8419    for shifted cursor-keys when the keyboard type is set to vt220,
8420    since returning the same string for shifted/unshifted keys may
8421    confuse some applications (Gentoo #212546).</li>
8422  </ul>
8423
8424  <h1><a name="xterm_237" id="xterm_237">Patch #237 -
8425  2008/09/14</a></h1>
8426
8427  <ul>
8428    <li>improve usability of TrueType fonts by making the font-size
8429    switching for shifted keypad plus/minus use the
8430    <code>faceSize</code> resources to determine the order of fonts
8431    (when TrueType fonts are used) rather than the bitmap fonts,
8432    since their sizes may not be in the same order (report by H
8433    Merijn Brand)</li>
8434
8435    <li>remove an optimization of <code>ConfigureNotify</code>
8436    events from <a href="#xterm_236">patch #236</a> which seems to
8437    interfere with passing <code>SIGWINCH</code> to applications
8438    (Gentoo #233836).</li>
8439
8440    <li>modify handling of <code>altSendsEscape</code> to reset the
8441    <code>eightBitInput</code> mode, like
8442    <code>metaSendsEscape</code> (patch by Ted Phelps).</li>
8443
8444    <li>add feature to show the text-cursor as an underline rather
8445    than a box, plus command-line options <code>-uc</code> and
8446    <code>+uc</code> and resource <code>cursorUnderLine</code> to
8447    control the feature (patch by Paul Lampert).</li>
8448
8449    <li>update config.guess, config.sub</li>
8450  </ul>
8451
8452  <h1><a name="xterm_236" id="xterm_236">Patch #236 -
8453  2008/07/27</a></h1>
8454
8455  <ul>
8456    <li>correct memory reallocation when handling a paste of UTF-8
8457    text from <a href="#xterm_225">patch #225</a> changes
8458    (report/patch by Max Mikhanosha).</li>
8459
8460    <li>correct allocation of temporary buffer in
8461    <code>xtermFindShell</code> in case the user's
8462    <code>$PATH</code> contains no ":" (report/analysis by Victor
8463    Stinner, Freedesktop.Org Bugzilla #16790).</li>
8464
8465    <li>modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to
8466    fix new compile problem exposed by fix for fd_mask (patch by
8467    Hasso Tepper).</li>
8468
8469    <li>add configure-check for ncurses
8470    <code>use_extended_names</code>, (report by Martin
8471    Mokrejs).</li>
8472
8473    <li>correct computation for toolbar height; layout manager
8474    already takes into account <code>borderWidth</code>
8475    resource.</li>
8476
8477    <li>implement VT320-style SCS (select character set) for ISO
8478    Latin-1 supplemental.</li>
8479
8480    <li>fixes for vt100-style character sets in UTF-8 mode (Ubuntu
8481    #230919).</li>
8482
8483    <li>fix to make <code>luit</code> work with xterm's
8484    <code>-ls</code> option (report/patch by Marius Tolzmann).</li>
8485
8486    <li>update config.guess, config.sub</li>
8487  </ul>
8488
8489  <h1><a name="xterm_235" id="xterm_235">Patch #235 -
8490  2008/04/20</a></h1>
8491
8492  <ul>
8493    <li>add control sequences for some of the recent resource/menu
8494    settings:
8495      <ul>
8496        <li><code>altSendsEscape</code> (private mode 1039)</li>
8497
8498        <li><code>keepSelection</code> (private mode 1040)</li>
8499
8500        <li><code>selectToClipboard</code> (private mode 1041)</li>
8501
8502        <li><code>bellIsUrgent</code> (private mode 1042)</li>
8503
8504        <li><code>popOnBell</code> (private mode 1043)</li>
8505      </ul>
8506    </li>
8507
8508    <li>add resource <code>formatOtherKeys</code> to provide an
8509    alternate escape sequence format for the
8510    <code>modifyOtherKeys</code> resource (request by Paul LeoNerd
8511    Evans).</li>
8512
8513    <li>adjust saved-cursor position if the window is resized while
8514    displaying the alternate screen (Novell #196880, Debian
8515    #383384).</li>
8516
8517    <li>improve pointer-checks to fix a bug exposed by resizing
8518    during initialization under StumpWM window manager (Fedora
8519    Bugzilla #437928).</li>
8520
8521    <li>modify <code>unselectwindow()</code> to ensure that the
8522    mouse pointer is not hidden after xterm loses focus (report by
8523    Jeremy Huddleston).</li>
8524
8525    <li>add special check for fd_mask on Mac OS X (report by Jeremy
8526    Huddleston).</li>
8527
8528    <li>add <code>dylib</code> to autoconf's suffix list used for
8529    checking the result from <code>xmkmf</code>, to work with Mac
8530    OS X (report by Jeremy Huddleston).</li>
8531
8532    <li>correct initialization of bold- and wide-, wide-bold fonts
8533    which may be set via the <code>utf8Fonts</code> subresource
8534    (Debian #347790).</li>
8535  </ul>
8536
8537  <h1><a name="xterm_234" id="xterm_234">Patch #234 -
8538  2008/03/02</a></h1>
8539
8540  <ul>
8541    <li>modify <code>sinstall.sh</code> to use POSIX locale to
8542    bypass GNU ls changes to date-format.</li>
8543
8544    <li>improved/refined changes for closing bitmap font (patch by
8545    Andrea Odetti).</li>
8546
8547    <li>improve resize computation for situations where the
8548    negotiation fails, by invoking the xterm widget's core-class
8549    resize method (Debian #365602, patch by Jim Paris).</li>
8550
8551    <li>restore initialization of terminal's <code>VMIN</code> and
8552    <code>VTIME</code> settings, from <a href="#xterm_232">patch
8553    #232</a> changes (patch by Matthieu Herrb).</li>
8554  </ul>
8555
8556  <h1><a name="xterm_233" id="xterm_233">Patch #233 -
8557  2008/02/24</a></h1>
8558
8559  <ul>
8560    <li>add configure check for <code>ttydefaults.h</code>, include
8561    if needed, e.g., for systems where defining
8562    <code>_POSIX_C_SOURCE</code>, etc., prevents it from being
8563    included via <code>termios.h</code> (prompted by comments by
8564    Robert Delius Royar and Jeremy Huddleston).</li>
8565
8566    <li>bug-fixes for bugs.opensolaris.org (patches from Alan
8567    Coopersmith)
8568      <dl>
8569        <dt>4029911</dt>
8570
8571        <dd>fix a typo in manpage</dd>
8572
8573        <dt>4045962</dt>
8574
8575        <dd>xterm doesn't properly set ut_syslen</dd>
8576
8577        <dt>4192572</dt>
8578
8579        <dd>left-left-right misinterpreted as triple click</dd>
8580      </dl>
8581    </li>
8582
8583    <li>minor optimization to tab-initialization (patch by
8584    N&eacute;meth M&aacute;rton).</li>
8585
8586    <li>fix a case where an incorrect font was freed during
8587    initialization from <a href="#xterm_232">patch #232</a> changes
8588    (patch by Andrea Odetti).</li>
8589
8590    <li>improve comparison used in <code>SameFont</code> function
8591    for GC-caching (Julien Cristau).</li>
8592
8593    <li>correct macro name used for default <code>CKILL</code>
8594    definition to work with Mac OS X (report by Jeremy
8595    Huddleston).</li>
8596  </ul>
8597
8598  <h1><a name="xterm_232" id="xterm_232">Patch #232 -
8599  2008/01/30</a></h1>
8600
8601  <ul>
8602    <li>corrected logic in a font-cache used for reverse-video
8603    (Debian #404079).</li>
8604
8605    <li>add control sequence to alter <code>pointerMode</code> at
8606    runtime.</li>
8607
8608    <li>add limit-checks for rectangle operation parameters (report
8609    by Martin Pirker).</li>
8610
8611    <li>modify <code>minstall.sh</code> to suppress
8612    <code>$MANPAGER</code> and <code>$PAGER</code> environment
8613    variables, which may interfere with redirecting output of
8614    <code>man</code> to a shell variable (report/patch by Zdenek
8615    Sekera).</li>
8616
8617    <li>do not try to hide mouse pointer in the tek4014 window,
8618    fixes broken "-t" option at startup from <a href=
8619    "#xterm_230">patch #230</a> changes (report by Robert K.
8620    Nelson).</li>
8621
8622    <li>correct datatype used when drawing tek4014 data using xterm
8623    compiled for wide-characters, on big-endian machines (reports
8624    by Jeremy Huddleston, Harald Hanche-Olsen, Martin Costabel,
8625    Merle Reinhart).</li>
8626
8627    <li>modify to cache the font-names along with the bitmap font
8628    data, to improve comparison of fonts.</li>
8629
8630    <li>modify to allow building with configure options
8631    <code>--disable-ansi-color</code> and
8632    <code>--disable-leaks</code> (Debian #459817, report/patch by
8633    N&eacute;meth M&aacute;rton).</li>
8634
8635    <li>modify to allow building with configure options
8636    <code>--enable-wide-chars</code> and
8637    <code>--disable-c1-print</code> (Debian #459816, report/patch
8638    by N&eacute;meth M&aacute;rton).</li>
8639
8640    <li>add <code>pointerMode</code> resource to control whether
8641    and when the pointer cursor is hidden as the user types.</li>
8642
8643    <li>simplify initialization of ttyMode- and related characters
8644    using a table.</li>
8645
8646    <li>modify initialization-logic for stty values that correspond
8647    to ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp,
8648    rprnt flush, werase, lnext). These were reset to constants for
8649    both termios and legacy interfaces immediately after asking the
8650    system for the existing values since X11R6.1, rather than using
8651    them to provide inherited values. While the legacy interface
8652    has some constraints, e.g., on HPUX, the POSIX or termios
8653    interface should not. Your shell may reset these anyway
8654    (prompted by patch by Ed Schouten).</li>
8655
8656    <li>improve logic for hiding/displaying pointer-cursor (report
8657    by Mark Brukhartz).</li>
8658
8659    <li>add limit-checks to tabs.c, increase maximum column for
8660    setting tab-stops from 320 to 1024 (report by N&eacute;meth
8661    M&aacute;rton).</li>
8662
8663    <li>correct length, i.e., number of types of selection targets,
8664    computed by <code>ConvertSelection()</code> when not handling
8665    wide characters for the <code>XA_TARGETS()</code> case. This
8666    leaves an extra Atom on the end of the list which is not
8667    handled by <a href=
8668    "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322854">Java
8669    applications</a>. The problem was introduced in <a href=
8670    "#xterm_151">patch #151</a> (report by David Wood).</li>
8671  </ul>
8672
8673  <h1><a name="xterm_231" id="xterm_231">Patch #231 -
8674  2008/01/05</a></h1>
8675
8676  <ul>
8677    <li>undo change to <code>getXtermCell()</code> from patch #230
8678    using <code>PACK_PAIR</code> macro (Debian #459014, analysis by
8679    Caetano Jimenez Carezzato).</li>
8680
8681    <li>minor documentation fixes (patch by Slava Semushin)</li>
8682
8683    <li>add makefile actions to install KOI8RXTerm app-defaults
8684    file (patch by Julien Cristau).</li>
8685  </ul>
8686
8687  <h1><a name="xterm_230" id="xterm_230">Patch #230 -
8688  2007/12/31</a></h1>
8689
8690  <ul>
8691    <li>add <code>quietGrab</code> resource, which when true,
8692    suppresses cursor repainting when <code>NotifyGrab</code> and
8693    <code>NotifyUngrab</code> event types are received during
8694    change of focus (request by Nicolas George).</li>
8695
8696    <li>do not treat Unicode BIDI control characters as combining
8697    characters (Debian #457634).</li>
8698
8699    <li>add <code>koi8rxterm</code>, from Debian.</li>
8700
8701    <li>add manpage for <code>uxterm</code>, from Debian (Ubuntu
8702    #128136, Debian #438645)</li>
8703
8704    <li>remove ".xpm" suffixes from Icon filenames in desktop files
8705    since it confuses some lookups following the <a href=
8706    "http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">
8707    Icon Theme Specification</a> (report by Slava Semushin)</li>
8708
8709    <li>correct width-calculation used for adjusting proportional
8710    fonts, to work with wide-characters (Debian #441354).</li>
8711
8712    <li>fixes/improvements for double-size characters:
8713      <ul>
8714        <li>correct old clipping calculation which used total
8715        height of glyphs where ascent was needed.</li>
8716
8717        <li>if bold font is unavailable, fall back to normal
8718        font</li>
8719
8720        <li>adjust to "work" with Xft (which does not support
8721        double-width single-height characters).</li>
8722
8723        <li>restore reset of doublesize for a line when it is
8724        cleared, broken in <a href="#xterm_228">patch
8725        #228</a>.</li>
8726      </ul>
8727    </li>
8728
8729    <li>modify logic for <code>forceBoxChars</code> resource when
8730    using TrueType fonts to be consistent with bitmap fonts</li>
8731
8732    <li>modify logic for <code>forceBoxChars</code> resource to
8733    make the "Line-Drawing Characters" menu entry use xterm's
8734    line-drawing characters even asked to draw wide line-drawing
8735    characters which are available in the font.</li>
8736
8737    <li>modify rectangle-support functions to preserve colors when
8738    filling/erasing to match WRQ Reflection behavior (request by
8739    Enzo Toscano).</li>
8740
8741    <li>add getopt-parsing to tcapquery.pl, including feature to
8742    test the extended cursor/editing keys.</li>
8743
8744    <li>make missing double-width glyphs display as double-width
8745    (Debian #456236).</li>
8746
8747    <li>change <code>tcap-fkeys</code> and <code>rectangles</code>
8748    configure options to enable them by default.</li>
8749
8750    <li>hide the mouse pointer while user is typing (request by
8751    Rodolfo Borges).</li>
8752
8753    <li>extend configure options <code>--enable-tcap-query</code>
8754    and <code>--enable-tcap-fkeys</code> to send cursor- and
8755    editing-keypad keys modified according to the keyboard (or
8756    termcap) selection for shift, alt, control, meta.</li>
8757
8758    <li>modify <code>kdch1</code> in termcap, e.g.,
8759    <code>xterm-r6</code> to match the terminfo file.</li>
8760
8761    <li>add <code>-hm</code> option to turn
8762    <code>highlightColorMode</code> on or off.</li>
8763
8764    <li>add <code>highlightColorMode</code> resource to separate
8765    the new (since <a href="#xterm_225">patch #225</a>)
8766    highlighting with both text- and background-colors (prompted by
8767    report/example by Thomas Wolff).</li>
8768
8769    <li>add <em>Keep Selection</em> menu entry to turn the
8770    <code>keepSelection</code> resource on/off at runtime.</li>
8771
8772    <li>add <code>keepSelection</code> resource, which when
8773    enabled, tells xterm to retain the X selection even after it
8774    stops highlighting it (patch by Sergey Vlasov).</li>
8775
8776    <li>extend the <code>CSI&nbsp;&gt;&nbsp;n</code> sequence to
8777    allow disabling all types of modified-keys that the
8778    <code>CSI&nbsp;&gt;&nbsp;m</code> sequence affects.</li>
8779
8780    <li>move include for <code>&lt;xtermcap.h&gt;</code> in
8781    <code>resize.c</code> to avoid redefinition of
8782    <code>termios</code> structure on OpenSolaris (report by Rahul
8783    Gopinathan Nair).</li>
8784
8785    <li>extend terminfo building blocks for modified editing keys
8786    to include all six keys.</li>
8787
8788    <li>synchronize terminfo with ncurses (report by Stephane
8789    Chazelas)
8790      <ul>
8791        <li>equate <code>xterm-xfree86</code> and
8792        <code>xterm-xf86-v44</code>.</li>
8793
8794        <li>add ncurses extensions OTbs, AX, for termcap
8795        conversions.</li>
8796
8797        <li>make old/legacy entries such as <code>xterm-24</code>,
8798        <code>xterm-65</code> and aliases <code>xterms</code>,
8799        <code>vs100</code> inherit from
8800        <code>xterm-old</code>.</li>
8801
8802        <li>make <code>xterm-r5</code> and <code>xterm-r6</code>
8803        the same, ignoring historical errors in X Consortium's
8804        version.</li>
8805      </ul>
8806    </li>
8807
8808    <li>fix an ifdef in logic for selecting regular expressions
8809    while in a narrow-character locale (Debian #449227).</li>
8810  </ul>
8811
8812  <h1><a name="xterm_229" id="xterm_229">Patch #229 - 2007/8/12</a></h1>
8813
8814  <ul>
8815    <li>override locale in minstall.sh; change in <a href=
8816    "#xterm_226">patch #226</a> does not work in UTF-8 locale
8817    (report by Zdenek Sekera).</li>
8818
8819    <li>undo an incorrect fix for a memory leak in <a href=
8820    "#xterm_209">patch #209</a> (Debian #435858).</li>
8821  </ul>
8822
8823  <h1><a name="xterm_228" id="xterm_228">Patch #228 - 2007/7/22</a></h1>
8824
8825  <ul>
8826    <li>modify configure script to permit combining
8827    <code>--with-utempter</code> and <code>--enable-setuid</code>,
8828    e.g., for using xterm with the utempter library on FreeBSD
8829    (report by Andriy Gapon).</li>
8830
8831    <li>modify "Quit" menu entry to override the <code>-hold</code>
8832    command-line option.</li>
8833
8834    <li>add a check in the startup error-reporting to avoid writing
8835    to pipe when it has not been opened. In that case, report
8836    errors directly to the standard error.</li>
8837
8838    <li>add OPT_READLINE definition to xtermcfg.hin, overlooked in
8839    <a href="#xterm_205">patch #205</a> (report by Kalle Olavi
8840    Niemitalo).</li>
8841
8842    <li>modify <code>88colors2.pl</code> and
8843    <code>256colors2.pl</code>, adding <code>-r</code> option to
8844    reverse the palettes for the extended colors.</li>
8845
8846    <li>check for partial overwrite or deletion of multi-column
8847    characters in several cases, e.g., insert-character,
8848    delete-character, etc., and fill the remainder of the cells
8849    used by the multi-column characters affected with blanks.</li>
8850
8851    <li>correct character-class codes in wide-character mode for
8852    characters 215, 247 (see also <a href="#xterm_165">patch
8853    #165</a>).</li>
8854
8855    <li>fix missing assignment for UTF-8 parsing in widget
8856    initialization (Debian #403360).</li>
8857
8858    <li>correct index expression used to set line-wrapping flag,
8859    making selection from scrollback work consistently (Debian
8860    #430121, report by Vincent Lef&egrave;vre).</li>
8861
8862    <li>amend changes to handshake in <a href="#xterm_226">patch
8863    #226</a> to accommodate Solaris, which relies on the extra
8864    setting of the terminal size after I/O initialization. Do this
8865    by adding new resource <code>ptySttySize</code>, which is false
8866    for Linux and MacOS X, i.e., true for for Solaris and other
8867    SVR4 platforms, as well as FreeBSD (reports by David Wood,
8868    Renato Botelho).</li>
8869
8870    <li>check for X events after cursor-left, and carriage return,
8871    consistent with indexing operations (comments by Vegard Nossum
8872    and Ingo Molnar on a mailing-list).</li>
8873
8874    <li>initialize the <code>.keyboard</code> structure, needed for
8875    some platforms (such as Solaris) after <a href=
8876    "#xterm_227">patch #227</a> fixes for keysyms (patch by David
8877    Wood).</li>
8878
8879    <li>update config.guess, config.sub</li>
8880  </ul>
8881
8882  <h1><a name="xterm_227" id="xterm_227">Patch #227 - 2007/6/27</a></h1>
8883
8884  <ul>
8885    <li>exclude the Intel compiler from the extra gcc warning
8886    options added in <a href="#xterm_226">patch #226</a>.</li>
8887
8888    <li>modify change for Debian #422521 from <a href=
8889    "#xterm_226">patch #226</a> to work with configurations where
8890    the X server does not recognize the <code>XF86Paste</code> or
8891    <code>SunPaste</code> keysyms (report by Paolo Pumilia).</li>
8892
8893    <li>fix incorrect free in fix for "Selection" menu entry in
8894    <a href="#xterm_226">patch #226</a>.</li>
8895  </ul>
8896
8897  <h1><a name="xterm_226" id="xterm_226">Patch #226 - 2007/6/17</a></h1>
8898
8899  <ul>
8900    <li>add configure check to use
8901    <code>-Wno-unknown-pragmas</code> for Solaris, and a few other
8902    new gcc warning options to address regressions in its warning
8903    options.</li>
8904
8905    <li>add sample desktop and icon files, along with configure
8906    options for manipulating them.</li>
8907
8908    <li>fix an infinite loop when showing a 2-column character in a
8909    1-column screen (Debian #426863).</li>
8910
8911    <li>add <code>XF86Paste</code> and <code>SunPaste</code> to the
8912    default translations (Debian #422521, patch by Bernhard R
8913    Link).</li>
8914
8915    <li>update wcwidth.c (partly based on/prompted by mailing list
8916    comment).</li>
8917
8918    <li>update/improve keysym2ucs.c based on Unicode 5.0.1d3 and
8919    Xorg 7.1 keysymdef.h file.</li>
8920
8921    <li>improve <code>gen-pc-fkeys.pl</code>, making it show all of
8922    the building-block terminfo entries used by xterm.</li>
8923
8924    <li>correct strings used for modifiers applied to F1-F4 in
8925    xterm+pcf1 terminfo entry.</li>
8926
8927    <li>improve session management by adding the ICE connection
8928    number to the <code>select</code> call rather than waking up
8929    once per second (patch by Miroslav Lichvar).</li>
8930
8931    <li>add environment variable <code>$XTERM_LOCALE</code> to help
8932    with shell initialization, e.g., to set a specific locale for
8933    xterm on systems where a global locale is set in the shell
8934    startup scripts.</li>
8935
8936    <li>add resource settings <code>mkSampleSize</code> and
8937    <code>mkSamplePass</code> to modify the <code>mkWidth</code>
8938    added in <a href="#xterm_201">patch #201</a>. In <a href=
8939    "#xterm_202">patch #202</a>, xterm would also check if the
8940    system's <code>wcwidth</code> matched its built-in tables "well
8941    enough" to be used when <code>mkWidth</code> was false, and if
8942    not would use the built-in tables anyway. These resources allow
8943    the user to customize the decision (prompted by comments by
8944    Emanuele Giaquinta)</li>
8945
8946    <li>modify logic which resets/updates the screensize on the
8947    child process side of the pseudo-terminal to do this only if a
8948    successful handshake was received, e.g., as determined by the
8949    <code>waitForMap</code> resource (prompted by reports by
8950    Emanuele Giaquinta and Bernhard R Link, but see also <a href=
8951    "#xterm_177">patch #177</a> and <a href="#xterm_159">patch
8952    #159</a>.</li>
8953
8954    <li>improve permissions logic when closing pseudo-terminal
8955    (Debian #12261, patch by Nathanael Nerode, analysis by Richard
8956    Braakman).</li>
8957
8958    <li>add resource <code>highlightReverse</code> which controls
8959    whether xterm will allow selection highlighting to hide
8960    reverse-video or use the older behavior which inverts the
8961    foreground and background colors when selected text with
8962    reverse-video attribute (report by Adam M Costello, comments by
8963    Victor Vaile).</li>
8964
8965    <li>restore a special case for cursor-color in
8966    <code>ReverseVideo()</code> lost in rewrite for <a href=
8967    "#xterm_224">patch #224</a> (report by Adam Sulmicki).</li>
8968
8969    <li>correct initialization for menu entry for
8970    <code>bellIsUrgent</code> (patch by Emanuele Giaquinta).</li>
8971
8972    <li>correct length of underlining for double-width Xft fonts
8973    (report by Shidai Liu "Leo").</li>
8974
8975    <li>correct clipping for double-width Xft fonts (report by
8976    Shidai Liu "Leo").</li>
8977
8978    <li>modify initialization for <code>italicULMode</code> to
8979    avoid <code>XftPatternBuild</code> reusing bold attributes
8980    (report by Shidai Liu "Leo").</li>
8981
8982    <li>add a check in case someone tries to call the
8983    <code>popup-menu()</code> action on a menu which is not
8984    initialized (Debian #426364).</li>
8985
8986    <li>improve CF_IMAKE_CFLAGS to work with Solaris sed (report by
8987    Peter Bray).</li>
8988
8989    <li>improve guess for X's manpage section in
8990    <code>minstall.sh</code>, (prompted by comment by Miroslav
8991    Lichvar).</li>
8992
8993    <li>modify <code>minstall.sh</code> to handle manpage patch
8994    with more than one dot (patch by Miroslav Lichvar).</li>
8995
8996    <li>fix configure message for --disable-setgid option (patch by
8997    Miroslav Lichvar).</li>
8998
8999    <li>add <code>allowTitleOps</code> resource to allow users to
9000    prevent the title- and icon-names from changing (request by
9001    John Bashinski).</li>
9002
9003    <li>fix "spawn-new-terminal" action, for the case where no
9004    parameter is passed to the action (patch by Daniel
9005    Colascione).</li>
9006
9007    <li>fix error-checking on internal font switching for
9008    "Selection" menu entry (Debian #421523).</li>
9009
9010    <li>amend select/paste change from <a href="#xterm_225">patch
9011    #225</a> by limiting it to non-UTF-8/non-KOI8-R encoding
9012    (Debian #420974).</li>
9013
9014    <li>add workaround for groff ".URL" codes which are not present
9015    in some commonly-used bitmap fonts (Debian #418324).</li>
9016  </ul>
9017
9018  <h1><a name="xterm_225" id="xterm_225">Patch #225 - 2007/3/24</a></h1>
9019
9020  <ul>
9021    <li>add <code>useClipping</code> resource to allow clipping to
9022    be disabled.</li>
9023
9024    <li>use <code>XftDrawSetClipRectangles</code> to work around
9025    Xft pixel-trash (report by Reuben Thomas).</li>
9026
9027    <li>add configure option <code>--enable-tcap-fkeys</code>, and
9028    resource <code>tcapFunctionKeys</code>, which can be used to
9029    tell xterm to use function-key definitions from the termcap (or
9030    terminfo) which it uses to set $TERM on startup.</li>
9031
9032    <li>add resources <code>altIsNotMeta</code> and
9033    <code>altSendsEscape</code> to allow one to use Alt-keys like
9034    the meta-key even if they are bound to different keycodes
9035    (prompted by discussion with Daniel Jacobowitz).</li>
9036
9037    <li>revert a change from <a href="#xterm_216">patch #216</a>
9038    that unnecessarily made the meta modifier override the
9039    <code>eightBitInput</code> resource if the alt- and
9040    meta-modifiers happened to overlap (report/patch by Daniel
9041    Jacobowitz).</li>
9042
9043    <li>correct associated font for active icon for colored text
9044    (broken in <a href="#xterm_224">patch #224</a>).</li>
9045
9046    <li>correct ifdef's for Darwin (patch by Emanuele
9047    Giaquinta).</li>
9048
9049    <li>add <code>highlightTextColor</code> resource, and options
9050    <code>-selfg</code>, <code>-selbg</code> like <code>xwsh</code>
9051    (adapted from patch by Victor Vaile).</li>
9052
9053    <li>revise <code>find_closest_color()</code> function to
9054    address concern about borrowing from <code>Tcl/Tk</code>
9055    (request by Dan McNichol).</li>
9056
9057    <li>add "spawn-new-terminal" action, which can be assigned to
9058    key translation, allowing one to spawn a new copy of xterm
9059    using the current process's working directory (adapted from
9060    patch by Daniel Colascione).</li>
9061
9062    <li>improve select/paste between UTF-8 and Latin1 xterms by
9063    adapting the translations from <a href="#xterm_185">patch
9064    #185</a>. Extend that to include Unicode fullwidth forms
9065    FF00-FF5E. Also modify select/paste of DEC line-drawing
9066    characters in Latin1 mode to use ASCII characters.</li>
9067
9068    <li>add "Enable Bell Urgency" to VT Options menu, removed
9069    "Enable Margin Bell".</li>
9070
9071    <li>add <code>bellIsUrgent</code> resource to control whether
9072    the Urgency hint is set/reset.</li>
9073
9074    <li>modify to set Urgency window manager hint on bell, reset it
9075    on Focus-In event (patch by Emanuele Giaquinta).</li>
9076
9077    <li>add <code>--disable-setgid</code> configure option (request
9078    by Miroslav Lichvar).</li>
9079
9080    <li>fix a possible infinite loop in last change to
9081    <code>dabbrev-expand()</code> (patch by Emanuele
9082    Giaquinta).</li>
9083
9084    <li>modify initialization to set the pty erase value if the
9085    <code>erase</code> is set in the <code>ttyModes</code>
9086    resource. This overrides the <code>ptyInitialErase</code>
9087    setting (request by Llu&iacute;s Batlle i Rossell).</li>
9088
9089    <li>add <code>initialFont</code> resource to xterm widget, like
9090    tek-widget (Debian #299669).</li>
9091
9092    <li>amend change to <code>boldMode</code> from <a href=
9093    "#xterm_223">patch #223</a> for Debian #347790. As noted in
9094    Debian #412599, that made xterm no longer match the documented
9095    behavior. Add new resource <code>alwaysBoldMode</code> to allow
9096    overriding the comparison between normal/bold fonts when
9097    deciding whether to use overstriking to simulate bold
9098    fonts.</li>
9099
9100    <li>restore background color in ClearCurBackground(), omitted
9101    in changes for <a href="#xterm_223">patch #223</a> (report by
9102    Miroslav Lichvar).</li>
9103
9104    <li>correct logic for repainting double-width TrueType
9105    characters (prompted by test-case for Novell #246573).</li>
9106
9107    <li>add a check to avoid trying to repeat a multibyte character
9108    (report by Sami Farin).</li>
9109
9110    <li>modify parameter to <code>XftNameParse()</code> to select
9111    wide face-name as needed, to make <code>-fd</code> option work
9112    (patch by Mike Fabian, Novell #246573).</li>
9113
9114    <li>correct logic for mouse highlight tracking's abort
9115    sequence, broken in a restructuring modification from <a href=
9116    "#xterm_224">patch #224</a> (report by Thomas Wolff).</li>
9117
9118    <li>revert the simplification of blinking cursor, since that
9119    broke the xor'ing introduced in <a href="#xterm_193">patch
9120    #193</a> (report by Thomas Wolff).</li>
9121  </ul>
9122
9123  <h1><a name="xterm_224" id="xterm_224">Patch #224 - 2007/2/11</a></h1>
9124
9125  <ul>
9126    <li>simplify code for set/reset mode for blinking cursor (patch
9127    by Emanuele Giaquinta).</li>
9128
9129    <li>modify <code>dabbrev-expand()</code> to restart after the
9130    last match (patch by Emanuele Giaquinta).</li>
9131
9132    <li>add control sequences for enabling/disabling focus in/out
9133    event reporting (request by Bram Moolenaar).</li>
9134
9135    <li>improve startup performance of menus by adding resource
9136    setting <code>menuLocale</code> which can be set to override
9137    X's lengthy initialization of fontsets - which are seldom used
9138    for the <code>Xaw</code> popup menus (adapted from patch by
9139    Dave Coffin).</li>
9140
9141    <li>modify <code>do_precomposition()</code> function and
9142    <code>make-precompose.sh</code> to handle 21-bit codes vs the
9143    16-bit codes those were written for, and fix a few mis-sorted
9144    codes (patch by Thomas Wolff).</li>
9145
9146    <li>handle special case in <code>-cjk_width</code> which
9147    unexpectedly caused a character's width to change when a
9148    combining character (patch by Thomas Wolff)</li>
9149
9150    <li>fix build for GNU/KFreeBSD (Debian #40111).</li>
9151
9152    <li>consolidate GC creation/updating into a single module to
9153    reduce GC manipulation (prompted by Debian #389476, though a
9154    complete fix would involve optimizing the scrolling
9155    behavior).</li>
9156
9157    <li>fix ifdef of xtermCellWidth(), which broke for a case
9158    without TrueType and without wide-character support (report by
9159    Martin Pirker).</li>
9160
9161    <li>undo a comparison in
9162    <code>handle_translated_exposure</code> which did not work due
9163    to X server optimization. That caused the inner border to be
9164    repainted with unexpected colors when handling a repaint, e.g.,
9165    after switching to/from another workspace (Debian #401726,
9166    Redhat Bugzilla #223027).</li>
9167
9168    <li>allow <code>-cr</code> option to override cursor color when
9169    <code>-ah</code> option is used (Debian #406502).</li>
9170
9171    <li>add a note in xterm's manpage explaining that the
9172    <code>-bw</code> (or <code>-w</code>) option is only used by
9173    the window manager, if at all (Debian #405043).</li>
9174
9175    <li>make <code>Selection</code> of <code>VT&nbsp;Fonts</code>
9176    work with <code>selectToClipboard</code> resource.</li>
9177
9178    <li>correct length calculation for <code>Selection</code> entry
9179    of <code>VT&nbsp;Fonts</code> menu, broken since it ignored the
9180    actual selection length since X11R4.</li>
9181
9182    <li>fixes for fontsize changes with <code>-fa</code> option
9183    (Redhat Bugzilla #222340).</li>
9184  </ul>
9185
9186  <h1><a name="xterm_223" id="xterm_223">Patch #223 -
9187  2006/11/30</a></h1>
9188
9189  <ul>
9190    <li>add <code>--enable-rectangles</code> configure option
9191    (request by Martin Pirker).</li>
9192
9193    <li>correct default value for <code>--with-symlink</code>
9194    configure option.</li>
9195
9196    <li>fixes configure script macros that use
9197    <code>$X_EXTRA_LIBS</code>.</li>
9198
9199    <li>modify configure script to provide support for pre-package
9200    config versions of Xft aka "FreeType".</li>
9201
9202    <li>add the Xaw scrollbar translations resource to the xterm
9203    manpage, add an example showing how to change the mouse button
9204    assignments (Debian #382225).</li>
9205
9206    <li>amend a change from <a href="#xterm_216">patch #216</a>,
9207    which omitted modifiers for control, meta, etc., if they were
9208    mixed with any other modifiers. The intent of the change was to
9209    avoid confusion with <code>XK_Mode_switch</code> and
9210    <code>XK_ISO_Level3_Shift</code>; the check is now done
9211    explicitly (report by Daniel Jacobowitz).</li>
9212
9213    <li>interpret a negative value for
9214    <code>modifyCursorKeys</code> or
9215    <code>modifyFunctionKeys</code> resources to disable the
9216    respective features (prompted by Novell #220728).</li>
9217
9218    <li>amend cell-width computation for FreeType from <a href=
9219    "#xterm_217">patch #217</a>, which did not work for VT100
9220    line-drawing characters (Debian #399638, Gentoo #147111).</li>
9221
9222    <li>amend a change from <a href="#xterm_216">patch #216</a>,
9223    which made alt-modifier on a cursor-key send a modifier
9224    parameter (Novell #220728).</li>
9225
9226    <li>correct an off-by-one that made DECCRA not work
9227    (report/patch by Martin Pirker).</li>
9228
9229    <li>revert an optimization in SGR_Foreground() and
9230    SGR_Background from <a href="#xterm_209">patch #209</a> (Debian
9231    #347722, analysis by Pierre Lombard).</li>
9232
9233    <li>fix for <code>boldMode</code> (Debian #347790, patch by Tim
9234    Pope).</li>
9235
9236    <li>amend fix for <code>-iconic</code> in <a href=
9237    "#xterm_208">patch #208</a>, which broke the positioning part
9238    of <code>-geom</code> with toolbar configuration.</li>
9239
9240    <li>fix to prevent indexing error in regular expressions (patch
9241    by Dennis Schneider).</li>
9242
9243    <li>fixes to make the <code>internalBorder</code> area not
9244    change color due to reverseVideo and/or related exposure
9245    events. The latter was a very old bug exposed in <a href=
9246    "#xterm_196">patch #196</a> (report by Neil Hoggarth, also
9247    Debian #397624).</li>
9248  </ul>
9249
9250  <h1><a name="xterm_222" id="xterm_222">Patch #222 -
9251  2006/10/17</a></h1>
9252
9253  <ul>
9254    <li>minor optimization for recoloring cursor via dynamic
9255    colors.</li>
9256
9257    <li>fix a bug caused by restructuring of tek4014 widget (report
9258    by Paul Schenkeveld)</li>
9259  </ul>
9260
9261  <h1><a name="xterm_221" id="xterm_221">Patch #221 - 2006/10/1</a></h1>
9262
9263  <ul>
9264    <li>fix for regular expressions: the code which converted the
9265    column offset within a line did not check properly for the end
9266    of a line, and if allowed to match the whole line, would select
9267    the beginning of the following line. If the following line were
9268    empty, in turn it would select from the next, etc. (report by
9269    Sean Reifschneider).</li>
9270
9271    <li>minor optimization of color allocation to avoid repainting
9272    the screen if the corresponding color had not been
9273    allocated.</li>
9274
9275    <li>fixes for vttests/256colors.pl (report by Egmont
9276    Koblinger).</li>
9277
9278    <li>add terminfo building block entries for modifiers of the
9279    6-key editing keypad.</li>
9280
9281    <li>fix for initialization of tek4014 which broke on QNX
9282    6.1</li>
9283  </ul>
9284
9285  <h1><a name="xterm_220" id="xterm_220">Patch #220 - 2006/9/10</a></h1>
9286
9287  <ul>
9288    <li>make "xterm -t -iconic" work as expected, i.e., start in
9289    tek4014 mode, but iconified.</li>
9290  </ul>
9291
9292  <h1><a name="xterm_219" id="xterm_219">Patch #219 - 2006/9/4</a></h1>
9293
9294  <ul>
9295    <li>some internal restructuring to separate data for vt100 and
9296    tek4014 widgets.</li>
9297
9298    <li>fix a few cases where form-events would be seen by the
9299    vt100 widget when built with the toolbar configuration.</li>
9300  </ul>
9301
9302  <h1><a name="xterm_218" id="xterm_218">Patch #218 - 2006/8/27</a></h1>
9303
9304  <ul>
9305    <li>change behavior when encountering an illegal character in a
9306    title string. Rather than reject the string, translate illegal
9307    characters into "?" and use the string (requested by Thomas
9308    Wolff).</li>
9309
9310    <li>improve checks for nonprinting characters in title strings
9311    (report by Samuel Thibault).</li>
9312
9313    <li>correct typo in menu labels, changing
9314    <code>print-redirect</code> to <code>print-redir</code>, making
9315    it follow the manpage and match the usage for the actions table
9316    (report by Samuel Thibault).</li>
9317
9318    <li>correct a typo that prevents building with some older
9319    systems such as Solaris 2.6 (report by Julian Bridle).</li>
9320  </ul>
9321
9322  <h1><a name="xterm_217" id="xterm_217">Patch #217 - 2006/8/20</a></h1>
9323
9324  <ul>
9325    <li>minor improvements to FreeType font layout and
9326    drawing.</li>
9327
9328    <li>add a check in the ptyInitialErase logic to ensure that the
9329    termcap was read (Redhat Bugzilla #201246).</li>
9330
9331    <li>limit changes for reverse-video from <a href=
9332    "#xterm_216">patch #216</a> to cases where the reverse-video
9333    command-line option is used (report by Zdenek Sekera).</li>
9334
9335    <li>correct bitmap-derived pointsizes for TrueType fonts; they
9336    should be proportional to the square root of the area of the
9337    bitmap fonts.</li>
9338
9339    <li>add resources to specify pointsize of TrueType fonts
9340    (request by Reuben Thomas).</li>
9341
9342    <li>improve install of terminfo by filtering out harmless
9343    messages related to extended capabilities. At the same time,
9344    use ncurses tic to compile the extended capabilities if
9345    possible (report by Zdenek Sekera).</li>
9346
9347    <li>update "xterm+pcfkeys" terminfo entry to correspond to
9348    <a href="#xterm_216">patch #216</a>.</li>
9349  </ul>
9350
9351  <h1><a name="xterm_216" id="xterm_216">Patch #216 - 2006/8/3</a></h1>
9352
9353  <ul>
9354    <li>improve handling of <code>ConfigureNotify</code> events by
9355    checking if there are further events in the queue which
9356    obsolete the current one (adapted from rxvt 2.7.5). Only the
9357    normal normal (non-toolbar) configuration is addressed in this
9358    patch.</li>
9359
9360    <li>several changes to terminfo:
9361      <ul>
9362        <li>incorporate some minor changes from ncurses to help
9363        keep these synchronized:
9364          <dl>
9365            <dt>2005-02-26</dt>
9366
9367            <dd>modify sgr/sgr0 in xterm-new to improve tgetent's
9368            derived "me".</dd>
9369
9370            <dt>2006-02-18</dt>
9371
9372            <dd>remove ncv flag from xterm-16color</dd>
9373
9374            <dt>2006-06-24</dt>
9375
9376            <dd>improve xterm-256color by combining the 16-color
9377            setaf/setab strings with SGR 48, and cancelling the
9378            setf/setb strings.</dd>
9379          </dl>
9380        </li>
9381
9382        <li>use extended function-key definitions for xterm-sun,
9383        xterm-sco entries.</li>
9384
9385        <li>add terminfo building-blocks corresponding to the
9386        <code>modifyFunctionKeys</code> and
9387        <code>modifyCursorKeys</code> resources.</li>
9388      </ul>
9389    </li>
9390
9391    <li>ifdef'd Sun function-key feature to make it optional, like
9392    HP and SCO.</li>
9393
9394    <li>extend table for termcap-query feature through F63, and
9395    updated tcapquery.pl to match.</li>
9396
9397    <li>modify logic for function-key input processing to allow
9398    function key numbers which are constructed by control- and
9399    shift-modifiers to extend beyond X's hardcoded limit of
9400    35.</li>
9401
9402    <li>add control sequence to set or reset the
9403    <code>eightBitInput</code> resource.</li>
9404
9405    <li>change default resource <code>modifyFunctionKeys</code> to
9406    2 to avoid sending SS3 with parameters (report by Kalle Olavi
9407    Niemitalo).</li>
9408
9409    <li>add control sequences for setting and resetting the values
9410    of the <code>modifyCursorKeys</code>,
9411    <code>modifyFunctionKeys</code> and
9412    <code>modifyOtherKeys</code> resources.</li>
9413
9414    <li>add <code>modifyFunctionKeys</code> resource like
9415    <code>modifyCursorKeys</code>. Setting this to zero allows one
9416    to use the control- and shift-modifiers to construct function
9417    key strings, for terminals using many function keys, e.g., for
9418    <code>xterm-sun</code> or <code>xterm-sco</code>.</li>
9419
9420    <li>modify screen responses and function-key logic to reduce
9421    the number of writes made, to make it less likely that an
9422    application would read only part of a function-key in a read
9423    operation (suggested by John E Urbanczyk).</li>
9424
9425    <li>add <code>combiningChars</code> resource, which allows the
9426    user to specify the maximum number of combining characters that
9427    xterm will store for each cell in wide-character mode (prompted
9428    by request by Markus Kuhn to increase the limit from 2).</li>
9429
9430    <li>improve logic in <code>metaSendsEscape</code> in case the
9431    Alt- and Meta-keys are mapped to different modifiers. That
9432    allows one to use the Alt-key for shifting in the
9433    <code>eightBitInput</code> and use a Meta-key modifier to
9434    prefix the result with an <code>&lt;ESC&gt;</code>.</li>
9435
9436    <li>improve <code>modifyCursorKeys</code> logic to prevent it
9437    from modifying codes where <code>eightBitInput</code> or
9438    <code>metaSendsEscape</code> are set (request by Dan
9439    Nicolaescu).</li>
9440
9441    <li>improve <code>modifyCursorKeys</code> logic to prevent it
9442    from changing the user input when other modifiers such as AltGr
9443    are used (report by Thomas Wolff).</li>
9444
9445    <li>extend <code>modifyCursorKeys</code> to include the numeric
9446    keypad when in application mode.</li>
9447
9448    <li>improve <code>-reverse</code> (<code>-rv</code>) option
9449    (patch by Jason Vas Dias, Redhat #189161).</li>
9450
9451    <li>workaround for color resources on Fedora-5 which made the
9452    toolbar colors inconsistent.</li>
9453
9454    <li>corrected calls used for <code>--disable-setuid</code>
9455    option, add debugging traces to help diagnose this area.</li>
9456
9457    <li>modify configure script to ensure that
9458    <code>USE_UTMP_SETGID</code> is defined only if the check for
9459    POSIX saved-ids succeeds, or corresponds to one of the BSD
9460    systems known to have a workable <code>setegid</code>
9461    function.</li>
9462
9463    <li>extend configure check for POSIX saved-ids to include BSD
9464    systems</li>
9465
9466    <li>modify CF_SYSV configure macro to work with gcc on HPUX
9467    10.20, whose broken <code>&lt;term.h&gt;</code> relies on
9468    including <code>&lt;termios.h&gt;</code>.</li>
9469
9470    <li>change order of setuid/setgid ifdef checks in Imakefile to
9471    make it simpler to produce a setgid install, allowing the
9472    latter to override the former (prompted by an XFree86
9473    commit).</li>
9474
9475    <li>adapt a fix for setgid support from subsequent XFree86
9476    changes (patch by Emanuele Giaquinta).</li>
9477
9478    <li>further improve setgid support (patches by Emanuele
9479    Giaquinta).</li>
9480  </ul>
9481
9482  <h1><a name="xterm_215" id="xterm_215">Patch #215 - 2006/6/19 -
9483  XFree86 4.6.99.2</a></h1>
9484
9485  <ul>
9486    <li>improve setgid support by exploiting the saved-ids feature
9487    on which it relies (patch by Emanuele Giaquinta).</li>
9488
9489    <li>make the <code>modifyOtherKeys</code> resource disabled by
9490    default since the intermediate setting altered some common
9491    bindings (report by Emanuele Giaquinta).</li>
9492  </ul>
9493
9494  <h1><a name="xterm_214" id="xterm_214">Patch #214 - 2006/6/18 -
9495  XFree86 4.6.99.2</a></h1>
9496
9497  <ul>
9498    <li>modify makefile rule for ctlseqs.txt to strip
9499    backspace/overstrikes, and add a copy of ctlseqs.txt to the
9500    source tarballs (requests by Bram Moolenaar, Emanuele
9501    Giaquinta).</li>
9502
9503    <li>add <code>modifyOtherKeys</code> resource, analogous to the
9504    <code>modifyCursorKeys</code> resource. This applies to keys
9505    that normally would transmit nothing when a given modifier is
9506    applied (request by Dan Nicolaescu).</li>
9507
9508    <li>add <code>default</code> to the acceptable values for the
9509    <code>keyboardType</code> resource, allowing the
9510    <code>-kt</code> command-line option to override app-defaults
9511    resource settings of <code>sunKeyboard</code>, etc.</li>
9512
9513    <li>correct ifdef's for <code>XkbBell()</code> which used the
9514    header file but not the corresponding function in <a href=
9515    "#xterm_175">patch #175</a> (report by Zach Beane).</li>
9516
9517    <li>add xterm manpage to the <code>--with-symlink</code>
9518    logic.</li>
9519
9520    <li>regenerated configure script to omit some debugging
9521    artifacts of the SIGWINCH test.</li>
9522
9523    <li>fix <code>install-man</code> rule in
9524    <code>Makefile.in</code> to avoid including the
9525    <code>$(DESTDIR)</code> value in substitutions made on the
9526    manpages (patch by Emanuele Giaquinta).</li>
9527
9528    <li>improved fix for cursor deallocation (Redhat #186935, patch
9529    by Jason Vas Dias).</li>
9530
9531    <li>improve checks for setuid/setgid operation to accommodate
9532    limited resource management in some kernels (Gentoo
9533    #193238).</li>
9534
9535    <li>update config.guess, config.sub</li>
9536  </ul>
9537
9538  <h1><a name="xterm_213" id="xterm_213">Patch #213 - 2006/4/30 -
9539  XFree86 4.5.99.905</a></h1>
9540
9541  <ul>
9542    <li>minor optimization to cell layout; will use that to
9543    simplify some logic and allow for more than two combining
9544    characters in another patch.</li>
9545
9546    <li>add <code>utf8Latin1</code> resource to make optional the
9547    feature from <a href="#xterm_209">patch #209</a> which allowed
9548    ISO-8859-1 fonts to be used in cases where a wide font was
9549    given. This would only work for the special case where the user
9550    normally used Latin-1 and wanted some wide characters (report
9551    by Rostislav Krasny).</li>
9552
9553    <li>add <code>utf8Title</code> resource to manpage (Novell
9554    #52655).</li>
9555
9556    <li>fix typo in table entry for <code>utf8Title</code> resource
9557    which made it treated as an integer rather than boolean (patch
9558    by Mike Fabian, Novell #52655).</li>
9559  </ul>
9560
9561  <h1><a name="xterm_212" id="xterm_212">Patch #212 - 2006/4/9 -
9562  XFree86 4.5.99.904</a></h1>
9563
9564  <ul>
9565    <li>improve description of <code>forceBoxChars</code> in
9566    manpage (discussion with Joe Wells).</li>
9567
9568    <li>set checkmark for "Select To Clipboard" menu entry on
9569    startup, from resource setting.</li>
9570
9571    <li>update manpage to note that
9572    <code>*customization:color</code> is not needed, though it is
9573    useful (Redhat #188034).</li>
9574
9575    <li>add underscore to sample pattern for URL in
9576    <code>XTerm.ad</code> (Redhat #188037).</li>
9577
9578    <li>modify install rule for manpage to use the configured
9579    app-defaults directory (Redhat #188031).</li>
9580
9581    <li>add checks in <code>releaseCursorGCs()</code> to ensure
9582    GC's are distinct, needed since memory leak changes for
9583    <a href="#xterm_208">patch #208</a> (Redhat #186935, patch by
9584    Jason Vas Dias).</li>
9585
9586    <li>modify <code>Imakefile</code> definitions to allow
9587    <code>imake</code> to set <code>InstallXtermSetGID</code>. Add
9588    symbol <code>InstGidFlags</code>.</li>
9589
9590    <li>add configure script check to ensure that SIGWINCH if
9591    defined even when headers undefine this as a side-effect of
9592    <code>_POSIX_C_SOURCE</code>, etc.</li>
9593
9594    <li>resync with XFree86 CVS
9595      <ul>
9596        <li>ifdef-out chmod of terminal device for OS/2 (XFree86
9597        #1663, Frank Giessler).</li>
9598
9599        <li>move new <code>Imakefile</code> chunk which defines
9600        <code>$(CSGIDFLAGS)</code> before DEFINES, e.g., for IRIX64
9601        (Marc La France).</li>
9602      </ul>
9603    </li>
9604  </ul>
9605
9606  <h1><a name="xterm_211" id="xterm_211">Patch #211 - 2006/3/19 -
9607  XFree86 4.5.99.902</a></h1>
9608
9609  <ul>
9610    <li>modify prefix/suffix transformation in makefile to make
9611    <code>uxterm</code> install properly on Cygwin.</li>
9612
9613    <li>restore the sizeof-comparison for <code>struct
9614    lastlog</code> added in <a href="#xterm_208">patch #208</a>,
9615    rendered (mostly) obsolete in <a href="#xterm_210">patch
9616    #210</a>, since an imake configuration can still turn that code
9617    on (prompted by comment by David Dawes).</li>
9618
9619    <li>remove feature for <code>FreeBSDArchitecture</code> from
9620    <code>Imakefile</code> which would install xterm using the
9621    <code>utmp</code> group since a standard FreeBSD system has no
9622    such group, though it would support this configuration. FreeBSD
9623    packager uses the <code>configure</code> script, which can make
9624    the appropriate check (prompted by comment by David
9625    Dawes).</li>
9626
9627    <li>fixes for gcc redefinition warnings when built using imake
9628    (reports by David Dawes, Marc La France).</li>
9629  </ul>
9630
9631  <h1><a name="xterm_210" id="xterm_210">Patch #210 - 2006/3/12 -
9632  XFree86 4.5.99.902</a></h1>
9633
9634  <ul>
9635    <li>add configure check for workaround in <a href=
9636    "#xterm_208">patch #208</a> for Solaris' inconsistent support
9637    for struct lastlog to quiet compiler warnings (prompted by
9638    David Dawes commit message for XFree86).</li>
9639
9640    <li>fixes for BASE64 selection manipulation, e.g., ensure that
9641    the string terminator is written after cut-buffer data (report
9642    by Joe Allen).</li>
9643
9644    <li>add vttests/paste64.pl script to test experimental option
9645    for setting/getting selection data.</li>
9646
9647    <li>add some error-checking in fontutils.c (prompted by David
9648    Dawes commit message for XFree86).</li>
9649
9650    <li>change xterm manpage to show the actual color resource
9651    names <code>XtDefaultForeground</code> and
9652    <code>XtDefaultBackground</code> rather than black and white
9653    (prompted by discussion with Emanuele Giaquinta).</li>
9654
9655    <li>add <code>utf8Title</code> resource and menu entry,
9656    allowing the user to control whether title strings are
9657    interpreted as ISO-8859-1 or UTF-8 encoding (Novell #52655,
9658    Novell #113206).</li>
9659
9660    <li>change order of ifdef's for utempter versus platforms in
9661    <code>Imakefile</code> to ensure a proper value for
9662    <code>InstallXtermSetGID</code> (prompted by Marc La France
9663    commit message for XFree86).</li>
9664
9665    <li>update the cursor GCs when menu entry for reverse video is
9666    toggled. (Redhat #183993).</li>
9667
9668    <li>a memory-leak fix for <code>set_cursor_gcs()</code> in
9669    <a href="#xterm_208">patch #208</a> broke the <code>-cm</code>
9670    option (Redhat #182382).</li>
9671  </ul>
9672
9673  <h1><a name="xterm_209" id="xterm_209">Patch #209 - 2006/2/12 -
9674  XFree86 4.5.99.22</a></h1>
9675
9676  <ul>
9677    <li>remove <code>setf</code> and <code>setb</code> from
9678    <code>xterm-256color</code> terminfo entry to avoid issues with
9679    applications that ignore the ANSI strings (report by Emanuele
9680    Giaquinta).</li>
9681
9682    <li>remove obsolete references to "Xorg" to avoid confusion
9683    with "X.org" (prompted by David Dawes commit message for
9684    XFree86).</li>
9685
9686    <li>improve initial layout performance for the toolbar
9687    configuration by precalculating the height of the toolbar.</li>
9688
9689    <li>remove menu entry for "Enable Curses Emulation" (to make
9690    room for "Select To Clipboard").</li>
9691
9692    <li>add resource <code>selectToClipboard</code>, action
9693    <code>set-select</code> and a menu entry to allow users to
9694    switch between PRIMARY and CLIPBOARD for select/paste.</li>
9695
9696    <li>allow cursor to have the same color as foreground (text),
9697    since it is rendered as reverse (Debian #350664).</li>
9698
9699    <li>amend change for loading <code>utf8Fonts</code> resource
9700    from <a href="#xterm_204">patch #204</a> to allow an ISO-8859-1
9701    "normal" font to be combined with an ISO-10646 font if the
9702    latter is given via the <code>-fw</code> option or its
9703    corresponding resource value (prompted by comment in Novell
9704    #49305).</li>
9705
9706    <li>add <code>TIOCSCTTY</code> <code>ioctl()</code> ifdef'd for
9707    <code>__GNU__</code> to set the controlling terminal (Debian
9708    #348457).</li>
9709
9710    <li>add configure option <code>--disable-leaks</code>.</li>
9711
9712    <li>add a check in <code>Bell</code> to ensure that the VT100
9713    widget is realized, since it may be called by
9714    <code>xtermLoadFont</code> given an incorrect font resource
9715    (Redhat #180450).</li>
9716
9717    <li>improve initialization of wide-bold font by not using the
9718    derived value when it happens to have few glyphs (report by
9719    Mboso Sampson).</li>
9720
9721    <li>improve dynamic colors by not repainting the screen if only
9722    the cursor color changes (request by Bram Moolenaar).</li>
9723
9724    <li>fix menu initialization for tek4014 window broken in
9725    <a href="#xterm_206">patch #206</a>.</li>
9726
9727    <li>typo in manpage (Debian #351425).</li>
9728
9729    <li>correct loop logic in <code>dotext</code> to prevent an
9730    infinite loop if a wide character was just at the right margin
9731    when wrapping was disabled (report by Serge van den Boom).</li>
9732
9733    <li>initialize the saved-cursor data so a restore-cursor
9734    operation without a preceding save-cursor operation will not
9735    modify the foreground color.</li>
9736
9737    <li>add a new selection feature: regular expressions, and new
9738    resources which specify what happens on multiple mouse clicks:
9739    <code>on2Clicks</code>, <code>on3Clicks</code>,
9740    <code>on4Clicks</code> and <code>on5Clicks</code>.</li>
9741
9742    <li>revert the <code>XTerm.ad</code> change from <a href=
9743    "#xterm_208">patch #208</a> (Debian #348384).</li>
9744
9745    <li>fixes for the print-window to make it handle combining
9746    characters in UTF-8 mode.</li>
9747
9748    <li>add check to ensure that double-clicking to extend
9749    selection will not extend it into the scrollback area. This
9750    still allows users to scroll back and select text (Debian
9751    #347415).</li>
9752
9753    <li>add configure option <code>--with-tty-group</code> to help
9754    work around deficiencies in packager's build environment
9755    (Debian #349142).</li>
9756
9757    <li>fix typo in configure script option
9758    <code>--disable-narrowproto</code> (report by David
9759    Mart&iacute;nez Moreno).</li>
9760
9761    <li>amend CF_X_FREETYPE changes for <code>pkg-config</code>
9762    check to ensure that <code>Xft</code> is known to that tool
9763    (report and patch by Emanuele Giaquinta).</li>
9764
9765    <li>add an ifdef to allow <code>./configure
9766    --disable-active-icon</code> to work, broken by new code for
9767    testing memory leaks in <a href="#xterm_208">patch #208</a>
9768    (report by Brian Lindholm).</li>
9769  </ul>
9770
9771  <h1><a name="xterm_208" id="xterm_208">Patch #208 - 2006/1/3 -
9772  XFree86 4.5.99.19</a></h1>
9773
9774  <ul>
9775    <li>add <code>charClass</code> resource to
9776    <code>XTerm.ad</code> and <code>UXTerm.ad</code> which
9777    simplifies selecting URLs (prompted by Kirill Ponomarew).</li>
9778
9779    <li>modify install rule for <code>uxterm</code> to account for
9780    the <code>--program-prefix</code>, etc., options by invoking
9781    the transformed name of xterm rather than simply "xterm".</li>
9782
9783    <li>modify configure <code>--with-app-defaults</code> option to
9784    allow <code>--without-app-defaults</code>.</li>
9785
9786    <li>add configure <code>--with-symlink</code> option to make it
9787    simpler to install successive versions of <code>xterm</code>
9788    renamed using the <code>--program-prefix</code>, etc., options
9789    with a symbolic link pointing to the most recent.</li>
9790
9791    <li>make <code>-iconic</code> option work with toolbar
9792    configuration (Gentoo #113604).</li>
9793
9794    <li>suppress <code>lastlog</code> feature for 64-bit Solaris
9795    configuration since that platform provides only a 32-bit
9796    interface (report by Peter Bray).</li>
9797
9798    <li>fix memory reallocation for the "UTF-8" menu entry when
9799    xterm is started using the <code>+u8</code> option (reported by
9800    Jan Willem Stumpel).</li>
9801
9802    <li>add a configure check for the actual path of
9803    <code>luit</code>, to work around broken <code>imake</code>
9804    configurations.</li>
9805
9806    <li>add a configure check for <code>pkg-config</code> (Redhat
9807    Bugzilla #173541).</li>
9808
9809    <li>modify install-rule for <code>uxterm</code> to omit
9810    executable suffix, e.g., for Cygwin.</li>
9811
9812    <li>modify <code>sinstall.sh</code> to work around quirks in
9813    Cygwin configuration.</li>
9814  </ul>
9815
9816  <h1><a name="xterm_207" id="xterm_207">Patch #207 - 2005/11/13 -
9817  XFree86 4.5.99.16</a></h1>
9818
9819  <ul>
9820    <li>enable <code>lastlogx</code> support for NetBSD (was added,
9821    but not enabled in <a href="#xterm_186">patch #186</a>).</li>
9822
9823    <li>work around broken <code>lastlog.h</code> in glibc 2.3.5,
9824    which includes <code>utmp.h</code>.</li>
9825
9826    <li>revert part of recent XFree86 Imakefile change, restoring
9827    the <code>-I.</code> needed for <code>xmkmf</code> builds of
9828    xterm (XFree86 Bugzilla #1633, reports by Alexander Pohoyda,
9829    Matthieu Herrb).</li>
9830
9831    <li>change compiled-in default for <code>printerCommand</code>
9832    resource to an empty string. People who want to use the printer
9833    should be able to read the manual (Debian #311490).</li>
9834
9835    <li>modify <code>Imakefile</code> to work around old problems
9836    in <code>imake</code> configuration to allow test-builds using
9837    <code>xmkmf</code> on Linux. (This was not noticed since
9838    several releases had broken definitions relating to Xft which
9839    were harder to work around).</li>
9840
9841    <li>link <code>resize</code> for SCO platforms (Kean
9842    Johnston).</li>
9843  </ul>
9844
9845  <h1><a name="xterm_206" id="xterm_206">Patch #206 - 2005/11/3 -
9846  XFree86 4.5.99.15</a></h1>
9847
9848  <ul>
9849    <li>add configure <code>--with-app-defaults</code> option to
9850    allow app-defaults directory for install-rules to be
9851    customized.</li>
9852
9853    <li>remove default translations for
9854    <code>dabbrev-expand()</code> due to conflicts with existing
9855    keyboard arrangements.</li>
9856
9857    <li>remove redundant check for <code>_NET_WM_PID</code> (report
9858    by Emanuele Giaquinta).</li>
9859
9860    <li>set icon border width explicitly to work around fvwm
9861    problem with active icon resizing (report by Steve Morris,
9862    analysis by Dominik Vogt).</li>
9863
9864    <li>modify resource files to make the font-resources a little
9865    more specific, e.g., changing "*VT100*" to "*VT100.", to make
9866    the distinction between VT100.font and VT100.utf8Fonts.font
9867    sharper, in case a packager modifies one of those.</li>
9868
9869    <li>expanded comments in <code>UXTerm.ad</code> regarding the
9870    font resources (Debian #319179).</li>
9871
9872    <li>add <code>--enable-narrowproto</code> configure option to
9873    accommodate X.org "modular" build (report by Stephan Hermann,
9874    Gentoo #17220).</li>
9875
9876    <li>fix typo in xterm.man description of <code>+wf</code>
9877    (patch by Tobias Stoeckmann).</li>
9878
9879    <li>add <code>scrollBarBorder</code> resource (request by Floyd
9880    L Davidson).</li>
9881
9882    <li>modify <code>xterm-new</code> terminfo entry to use
9883    capabilities for shifted scroll forward/reverse as shifted
9884    cursor up/down.</li>
9885
9886    <li>correct updating of checkmark for toolbar entry in popup
9887    menu (report by Emanuele Giaquinta).</li>
9888
9889    <li>fix ifdef's to allow compiling with toolbar and without
9890    tek4014 (patch by Emanuele Giaquinta).</li>
9891
9892    <li>use <code>openpty()</code> for Darwin port (patch by
9893    Emanuele Giaquinta).</li>
9894
9895    <li>fix Gentoo #90697 a different way, postponing the logic in
9896    <code>SetupToolbar</code> until the toolbar is actually needed,
9897    i.e., the <code>+tb</code> option is handled as expected.</li>
9898
9899    <li>revert fix made in <a href="#xterm_203">patch #203</a> for
9900    Gentoo #90697. That introduced a problem with the control mouse
9901    click-popups, while most of the performance problems can be
9902    resolved by restricting the menu fonts (report by Emanuele
9903    Giaquinta).</li>
9904
9905    <li>fix a file-descriptor leak when calling
9906    <code>openpty()</code> (OpenBSD system/4561).</li>
9907
9908    <li>make a special case of resizing work like vt100: a hard
9909    reset also resets the 132/80 mode. The code to support this was
9910    present since X11R5, but not used because the corresponding
9911    initial state of the <code>-132</code> option was not
9912    saved.</li>
9913
9914    <li>restore window manager hints after
9915    <code>XtMakeResizeRequest()</code> calls. One instance from
9916    <a href="#xterm_205">patch #205</a> resulted in the window
9917    manager displaying pixels rather than than characters after
9918    selecting a different font size (FreeBSD ports/87424).</li>
9919
9920    <li>remove special case for Darwin in CF_XOPEN_SOURCE (Emanuele
9921    Giaquinta).</li>
9922
9923    <li>modify parsing of control sequence <code>CSI&nbsp;T</code>
9924    to allow scroll-down to be sent while mouse tracking is enabled
9925    (request by D Hugh Redelmeier).</li>
9926
9927    <li>correct termcap "me" (mode-end) string so it does not
9928    modify the alternate character set (report by Andrey
9929    Chernov).</li>
9930
9931    <li>correct size-comparison in HandleInterpret() broken in
9932    changes from <a href="#xterm_201">patch #201</a> to allocate
9933    input buffer (Debian #334317).</li>
9934
9935    <li>amend adjustments for scrollbar layout from <a href=
9936    "#xterm_204">patch #204</a> to make this apply only to the
9937    toolbar configuration. In the non-toolbar configuration, the
9938    resulting scrollbar was shifted by its borderwidth (report by
9939    Matthieu Herrb).</li>
9940
9941    <li>add select-cursor-extend() action.</li>
9942
9943    <li>fix some broken href's in xterm.log.html, and typo in the
9944    INSTALL file (report/patch by David Mart&iacute;nez
9945    Moreno).</li>
9946
9947    <li>modify <code>Imakefile</code> to use setgid mode for
9948    installing with Linux, OpenBSD and FreeBSD.</li>
9949
9950    <li>add configure --with-setuid and --with-reference options to
9951    allow packagers more flexibility in customizing install
9952    permissions.</li>
9953
9954    <li>generalize and make optional (configure --with-utmp-setgid)
9955    the change made for XFree86 Bugzilla #878 in <a href=
9956    "#xterm_205">patch #205</a> (FreeBSD bug report
9957    #ports/86663).</li>
9958  </ul>
9959
9960  <h1><a name="xterm_205" id="xterm_205">Patch #205 - 2005/9/18 -
9961  XFree86 4.5.99.12</a></h1>
9962
9963  <ul>
9964    <li>correct a typo in CF_FUNC_TGETENT introduced in <a href=
9965    "#xterm_198">patch #198</a> fix for Gentoo #69926.</li>
9966
9967    <li>implement logic in termcap query to process multiple
9968    parameters as documented in ctlseqs.ms</li>
9969
9970    <li>fix buffer size used for termcap query, which was not long
9971    enough for the terminfo "colors" name (patch by Bradd W.
9972    Szonye).</li>
9973
9974    <li>add configure option --enable-readline-mouse, which turns
9975    on the experimental OPT_READLINE code (patch by Ilya
9976    Zakharevich).</li>
9977
9978    <li>for FreeBSD, drop setuid privileges after startup (XFree86
9979    Bugzilla #878, report/patch by Alexander Pohoyda)</li>
9980
9981    <li>add menu entry (alt-esc) and corresponding action
9982    (alt-sends-esc) to toggle the <code>eightBitInput</code>
9983    resource setting.</li>
9984
9985    <li>generate configure script with autoconf 2.52 (patched) to
9986    use the feature therein which forces the script's locale to
9987    POSIX (Gentoo Bugzilla #105369).</li>
9988
9989    <li>modify computation of rows/columns on resize to avoid
9990    extending beyond the given limits, e.g., if resizing in
9991    response to a "maximize" in Gnome or KDE which do not use the
9992    window manager hints for this case (Debian #289123, Novell
9993    #61153).</li>
9994
9995    <li>modifications to work with z/OS 1.4 (Paul Giordano).</li>
9996
9997    <li>improve error-reporting when chown/chmod of the
9998    pseudo-terminal fails, e.g., if a copy of xterm which was
9999    designed to work with old-style pseudo-terminals is not
10000    installed setuid or setgid (report by Jeremy C. Reed).</li>
10001
10002    <li>patches from Emanuele Giaquinta:
10003      <ul>
10004        <li>ctlseqs.ms says that primary and secondary DA accept a
10005        nonzero parameter, which is incorrect. Also modify code to
10006        agree with this.</li>
10007
10008        <li>correct a comment in 88colres.pl</li>
10009
10010        <li>ctlseqs.ms says that the DEC Set/Reset control
10011        sequences for the backarrow key make it send DEL/BS,
10012        respectively, while it's the opposite.</li>
10013
10014        <li>update the menu entries for the metaSendsEscape,
10015        deleteIsDEL and numLock resources when changing them with
10016        the corresponding DEC Set/Reset control sequences.</li>
10017      </ul>
10018    </li>
10019
10020    <li>fixes for configure script:
10021      <ul>
10022        <li>add special case for QNX, defining _QNX_SOURCE.</li>
10023
10024        <li>check for preprocessors which do not perform -U and -D
10025        options in the given order.</li>
10026
10027        <li>improve macro to determine gcc version</li>
10028
10029        <li>improve check for Intel compiler and related warning
10030        options</li>
10031      </ul>
10032    </li>
10033
10034    <li>update config.guess, config.sub</li>
10035
10036    <li>improve fix from <a href="#xterm_198">patch #198</a> for
10037    <code>Cleanup()</code> by ensuring it is not called from the
10038    SIGCHLD handler (patch by Todd Miller (OpenBSD CVS)).</li>
10039
10040    <li>eliminate a retry for a better-matching bold font, to work
10041    around recent font server changes.</li>
10042
10043    <li>fixes for Novell #113277:
10044      <ul>
10045        <li>specify weight for wide font which may be derived from
10046        normal fontname.</li>
10047
10048        <li>cache the derived wide- and widebolt-fontnames.</li>
10049      </ul>
10050    </li>
10051
10052    <li>workaround for Gentoo Bugzilla #100728.</li>
10053
10054    <li>add menubar's border width to layout computation. Normally
10055    this is zero, but patterns such as
10056    <code>XTerm*borderWidth:1</code> would give poor layout for the
10057    toolbar configuration.</li>
10058  </ul>
10059
10060  <h1><a name="xterm_204" id="xterm_204">Patch #204 - 2005/8/4 -
10061  XFree86 4.5.99.9</a></h1>
10062
10063  <ul>
10064    <li>work around quirk in shell which allowed user to "run"
10065    uxterm script when there was no UTF-8 locale installed by
10066    entering "sh -x uxterm". Also popup an xmessage to show the
10067    problem for users who run this via a GUI (Debian #318513).</li>
10068
10069    <li>disallow changes to fonts, toolbar and scrollbar when the
10070    vt100 window is iconified, to simplify management of the active
10071    icon.</li>
10072
10073    <li>fixes to make <code>-geom</code> option work properly with
10074    the toolbar configuration (Gentoo #90717, Gentoo #91967).</li>
10075
10076    <li>minor improvements to scrollbar layout: ensure that the
10077    scrollbar border is zero if the vt100 border is zero.</li>
10078
10079    <li>improve initialization due to <code>utf8</code> resource by
10080    loading the <code>utf8Fonts</code> resource in the case where
10081    <code>locale</code> resource is false. Also in this case, do
10082    not disable switching UTF-8 mode on/off.</li>
10083
10084    <li>minor optimization of TrueType font-loading, loads italic
10085    font only when needed.</li>
10086
10087    <li>correct variable used to store temporary result from lookup
10088    of bold font, when initializing the wide-bold-font data and no
10089    immediate match is found by asking for a bold variant of the
10090    wide-font. The result was to use overstriking rather than the
10091    actual bold font (Debian #318162, patch by Eugene Konev).</li>
10092
10093    <li>add checks to ensure vt100 widget is realized when it might
10094    be updated via actions handled from a tek4014-only
10095    configuration.</li>
10096  </ul>
10097
10098  <h1><a name="xterm_203" id="xterm_203">Patch #203 - 2005/7/6 -
10099  XFree86 4.5.99.7</a></h1>
10100
10101  <ul>
10102    <li>modify initialization of <code>allowSendEvents</code> and
10103    <code>allowWindowOps</code> to prevent modification with the
10104    editres protocol.</li>
10105
10106    <li>fix compiler warning for NetBSD by including util.h in
10107    main.c (XFree86 Bugzilla #1596).</li>
10108
10109    <li>fix to build on Darwin 8.x, which no longer provides
10110    <code>setpgrp()</code> (patch by Min Sik Kim).</li>
10111
10112    <li>adapted fixes for Legend (SCO) from diffs attached to
10113    Freedesktop.Org Bugzilla #3180.</li>
10114
10115    <li>fix typo in xterm manpage description of <code>-ls</code>
10116    option (Freedesktop.Org Bugzilla #3543).</li>
10117
10118    <li>add support for interpreting the underline attribute as an
10119    italic font in Xft mode (patch by Chuck Blake).</li>
10120
10121    <li>improve initialization of toolbar so that individual
10122    pulldown menus are initialized on demand, as they are in the
10123    scenario where they are invoked as popup menus (Gentoo Bugzilla
10124    #90697).</li>
10125
10126    <li>fix logic in <code>find_utmp</code>, which did not reset
10127    result in <code>getutid()</code>, causing an infinite loop in
10128    some conditions (report by Emil Mikulic).</li>
10129
10130    <li>set the <code>_NET_WM_PID</code> property (Gentoo Bugzilla
10131    #91008).</li>
10132
10133    <li>modify ifdef's in ptyx.h and xterm_io.h to build with
10134    DragonFly (patch by Jeroen Ruigrok).</li>
10135
10136    <li>change default values for <code>minBufSize</code> and
10137    <code>maxBufSize</code> to 4096 and 32768 respectively so that
10138    the initial read request will match the value from before
10139    changes to use <code>sched_yield()</code>.</li>
10140
10141    <li>make paste of UTF-8 faster for Western character sets by
10142    checking range of incoming data (patch by Joe Allen).</li>
10143
10144    <li>add experimental option to allow applications to get or set
10145    the selection data as a BASE64 string (adapted from patch by
10146    Joe Allen).</li>
10147
10148    <li>fix an off-by-one error parsing <code>-S/nn</code> option
10149    (Debian #311438, report/fix by Peter Chubb).</li>
10150
10151    <li>fix an initialization bug from <a href="#xterm_201">patch
10152    #201</a> that broke logging (report by Rodney Thayer).</li>
10153
10154    <li>amend change to command-line processing in <a href=
10155    "#xterm_201">patch #201</a> to avoid conflict with
10156    <code>-e</code> option (report by Servatius Brandt).</li>
10157
10158    <li>suppress configure check for <code>_XOPEN_SOURCE</code> on
10159    darwin.</li>
10160
10161    <li>update config.guess, config.sub</li>
10162  </ul>
10163
10164  <h1><a name="xterm_202" id="xterm_202">Patch #202 - 2005/5/2 -
10165  XFree86 4.5.99.3</a></h1>
10166
10167  <ul>
10168    <li>add extended shift- and control-modifier cursor keys to
10169    "xterm+pcfkeys" terminfo entry to correspond to ncurses
10170    20050430 patch.</li>
10171
10172    <li>fix a rare case where text would be written with the wrong
10173    colors because output of scrolled text would reset the colors
10174    and the new text would be written with the same colors
10175    (report/testcase by Thomas Glanzmann).</li>
10176
10177    <li>rename <code>$CMD</code> variable in <code>plink.sh</code>
10178    because it is a reserved symbol in bash 3.00.16 (report by Ted
10179    Taylor).</li>
10180
10181    <li>add environment variables <code>$XTERM_SHELL</code> and
10182    <code>$XTERM_VERSION</code> (request by Zdenek Sekera).</li>
10183
10184    <li>corrected workaround for background color of menubar, which
10185    gave a too-broad expression, coloring the background of the
10186    VT100 widget unless overridden by another resource
10187    setting.</li>
10188
10189    <li>correct an error in the logic which decides when
10190    <code>sched_yield()</code> is run; it would occasionally hang
10191    when contending with other pseudo-terminal applications such as
10192    screen (report by Kirill Ponomarew).</li>
10193
10194    <li>modify initialization to decide whether to default to
10195    built-in <code>wcwidth()</code> versus system's version based
10196    on the starting locale and whether the system's version is poor
10197    quality (suggested by Bram Moolenaar).</li>
10198
10199    <li>update table for <code>mk_width()</code> from UnicodeData
10200    4.1.0 using Markus Kuhn's <code>uniset</code> script.</li>
10201  </ul>
10202
10203  <h1><a name="xterm_201" id="xterm_201">Patch #201 - 2005/4/21 -
10204  XFree86 4.5.99.2</a></h1>
10205
10206  <ul>
10207    <li>improve resource files to show how the menubar and popup
10208    menus can be colored (prompted by report by Joe Wells).</li>
10209
10210    <li>modify parsing of OSC (and SOS, etc), strings so their
10211    contents are not interpreted as UTF-8. This allows non-ASCII
10212    title strings to be set, provided that the window manager
10213    complies (report by Thomas Wolff).</li>
10214
10215    <li>improved some of the built-in line-drawing glyphs.</li>
10216
10217    <li>correct color of "box" character drawn for line-drawing
10218    glyph 1 (report by Nicolas George).</li>
10219
10220    <li>improve behavior when switching to UTF-8 mode after startup
10221    so xterm will check if the current fonts are already wide
10222    (ISO10646-1). If they are not, xterm will use the
10223    <code>utf8Fonts</code> subresource to load appropriate fonts
10224    (request by Bram Moolenaar).</li>
10225
10226    <li>modify logic for setting title-string so it applies to the
10227    current widget rather than the vt100 widget.</li>
10228
10229    <li>modify initialization for wide-bold fontname, to search for
10230    one if none is given (report by Michael Schroeder).</li>
10231
10232    <li>add resource <code>mkWidth</code> and command-line option
10233    <code>-mk_width</code> to control whether xterm uses the
10234    built-in version of wcwidth().</li>
10235
10236    <li>add resource settings for minimum/maximum input buffer
10237    size, and call to <code>sched_yield</code> to improve
10238    performance with newer Linux kernels (adapted from patch by
10239    Nicolas George).</li>
10240
10241    <li>correct computation of width for wide characters with the
10242    invisible attribute (report by Thomas Wolff).</li>
10243
10244    <li>modify interaction between <code>+u8</code> and
10245    <code>locale</code> resource to allow the command-line option
10246    to override the resource (requested by Thomas Wolff).</li>
10247
10248    <li>add a limit check for scrolling margins in a one-line
10249    screen, overlooked in fixes for <a href="#xterm_198">patch
10250    #198</a> (Debian #297430).</li>
10251
10252    <li>correct treatment of <code>iconBorderWidth</code> for
10253    resizing an active-icon, and its description in manpage (Debian
10254    #296592).</li>
10255
10256    <li>modify configure script <code>--disable-imake</code> to use
10257    the script's definitions anyway if it cannot detect imake
10258    (prompted by FreeBSD bug 77408).</li>
10259
10260    <li>ignore error in the I/O initialization that tries to set
10261    the tty to 7-bit input for the case where
10262    <code>eightBitInput</code> resource is false (Debian
10263    #298551).</li>
10264
10265    <li>modify command-processing to accept an optional parameter
10266    that tells xterm which shell program to use (request by Zdenek
10267    Sekera).</li>
10268
10269    <li>add simpler resource <code>keyboardType</code> which, when
10270    set, overrides the individual keyboard-type resources and
10271    eliminates the possibility of conflict between them.</li>
10272
10273    <li>add initialization for <code>scoFunctionKeys</code>
10274    resource (report by Rick K).</li>
10275
10276    <li>correct logic of <code>ReallocateBufOffsets()</code> which
10277    did not copy the content of the old screen buffer to the proper
10278    location, making a repaint clear after switching to
10279    wide-character mode (report by Bram Moolenaar):</li>
10280
10281    <li>implement the remaining pieces to make xterm allocate cells
10282    for wide-characters when the "UTF-8" menu entry is selected.
10283    Also, load the UTF-8 font when that menu entry is selected, or
10284    the escape sequence for UTF-8 mode is received (report by Bram
10285    Moolenaar):</li>
10286
10287    <li>add command-line options (<code>-tb</code>,
10288    <code>+tb</code>) and resource <code>toolBar</code> to allow
10289    menu/toolbar to disabled or enabled at startup (prompted by
10290    reports by Joe Wells).</li>
10291
10292    <li>correct typo in configure script's --enable-dec-locator
10293    option (report by Bram Moolenaar).</li>
10294  </ul>
10295
10296  <h1><a name="xterm_200" id="xterm_200">Patch #200 - 2005/2/6 -
10297  XFree86 4.4.99.23</a></h1>
10298
10299  <ul>
10300    <li>increase color pairs value for xterm-256color and
10301    xterm-88color to match ncurses, which has an experimental
10302    option to support this.</li>
10303
10304    <li>modify ifdef's to make AIX use termios rather than termio;
10305    the struct sizes for the two were not the same.</li>
10306
10307    <li>improve CF_WITH_IMAKE_CFLAGS configure macro script for
10308    OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and
10309    AIX.</li>
10310
10311    <li>modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch
10312    by Min Sik Kim).</li>
10313
10314    <li>modify find_utmp() to initialize the whole utmpx struct
10315    (except ut_id), since that is needed for OSF1 4.0D to prevent
10316    an infinite loop on exit.</li>
10317
10318    <li>add configure check before adding -D_POSIX_SOURCE since
10319    some platforms predefine it, e.g., cygwin.</li>
10320
10321    <li>add simplified sed expressions in CF_IMAKE_CFLAGS configure
10322    script macro to ensure value for PROJECTROOT is quoted on
10323    Solaris, i.e., when nested <code>\(</code> and <code>\)</code>
10324    are not interpreted correctly.</li>
10325
10326    <li>correct DEC rectangle operations to reset state after
10327    completing the operations.</li>
10328
10329    <li>modify CASE_ST handling in charproc.c to ensure that the
10330    parse state is reset even if xterm is not currently processing
10331    an OSC or other string (patch by Johnny Billquist forwarded by
10332    Matthias Scheler, NetBSD xsrc/29003).</li>
10333
10334    <li>fix OS/2 build for innotek_libc (patch by David Yeo).</li>
10335
10336    <li>fix a regression from <a href="#xterm_197">patch #197</a>
10337    fix for Debian #277832 which disowned the selection if it was
10338    scrolled, e.g., by the user pressing return at the bottom of
10339    the screen (Debian #291787).</li>
10340
10341    <li>move the warning/exit for missing $DISPLAY into the error
10342    handler in case <code>-display</code> is given, and the connect
10343    fails for some other reason.</li>
10344  </ul>
10345
10346  <h1><a name="xterm_199" id="xterm_199">Patch #199 - 2005/1/17 -
10347  XFree86 4.4.99.22</a></h1>
10348
10349  <ul>
10350    <li>instead of setting <code>$DISPLAY</code>, check for the
10351    unset variable and warn/exit on this condition (comments by H
10352    Merijn Brand and Bernhard R Link).</li>
10353
10354    <li>fix a typo in Imakefile from <a href="#xterm_198">patch
10355    #198</a> (reports/patches by Stefan Dirsch, Mike Castle).</li>
10356  </ul>
10357
10358  <h1><a name="xterm_198" id="xterm_198">Patch #198 - 2005/1/13 -
10359  XFree86 4.4.99.21</a></h1>
10360
10361  <ul>
10362    <li>set <code>$DISPLAY</code> to ":0" if it is not set.</li>
10363
10364    <li>add <code>utmpDisplayId</code> resource to allow users to
10365    control whether the display identifier (display number and
10366    screen number) are retained in the connection information
10367    recorded in utmp (discussion with Edoardo Tirtarahardja).</li>
10368
10369    <li>add <code>bellOnReset</code> resource to allow users to
10370    disable bell which sounds on hard reset since <a href=
10371    "#xterm_183">patch #183</a> changes to DECSCL (discussion with
10372    Danek Duvall).</li>
10373
10374    <li>improve <code>$WINDOWID</code> for configuration with
10375    toolbar by making it refer to the top-level shell rather than
10376    the parent of the current window. For that case, the parent is
10377    a form widget, which does not have a name, which made the
10378    <code>$WINDOWID</code> not very useful as a parameter for
10379    <code>xwininfo</code> (suggested by Dave Bodenstab).</li>
10380
10381    <li>fix a typo in WhichVFont() macro from <a href=
10382    "#xterm_197">patch #197</a> changes which broke the
10383    --disable-active-icon configuration (report by Ralf S.
10384    Engelschall).</li>
10385
10386    <li>improve some limit checks (Gentoo Bugzilla #75604).</li>
10387
10388    <li>add --disable-setuid option to configure script (Gentoo
10389    Bugzilla #76543).</li>
10390
10391    <li>add --disable-full-tgetent option to configure script,
10392    allowing one to ignore a termcap library in favor of
10393    ncurses/curses (Gentoo Bugzilla #69926).</li>
10394
10395    <li>modify configure script to choose useful warning options
10396    for Intel version 8.0 compiler.</li>
10397
10398    <li>update config.guess, config.sub</li>
10399
10400    <li>make active-icon work properly when TrueType fonts are used
10401    (Debian #286068).</li>
10402
10403    <li>correct change from <a href="#xterm_157">patch #157</a>
10404    which uses getlogin() to check for an alias; the storage used
10405    for the related getpwuid() call was overwritten by the data
10406    used for comparison (patch by Per Hedeland).</li>
10407
10408    <li>correct case of SCS for character set 0 (line-drawing) to
10409    allow it to be selected into GR.</li>
10410
10411    <li>fix a file-descriptor leak (Redhat Bugzilla #139597).</li>
10412
10413    <li>modify <code>creat_as()</code> to only fork if xterm is
10414    actually running as setuid and/or setgid. This works around a
10415    Cygwin bug which hangs when logging is enabled and makes xterm
10416    a little faster for systems using interfaces such as utempter
10417    (report by Al Goodman).</li>
10418
10419    <li>modify <code>Cleanup()</code> to avoid operations such as X
10420    calls that might use unsafe functions when it is called by a
10421    signal handler (report by Michiel Boland).</li>
10422
10423    <li>fix bugs in <a href="#xterm_191">patch #191</a> and in SRM
10424    changes from <a href="#xterm_197">patch #197</a> that broke
10425    DECSET 38: switch to Tek4014 emulation (report by Dave
10426    Bodenstab).</li>
10427
10428    <li>fix for manpage escapes (Marc La France).</li>
10429
10430    <li>improve on IRIX-specific change for Imakefile in XFree86
10431    CVS versus resize linking against termcap library to reflect
10432    definitions for USE_TERMCAP in resize.c</li>
10433  </ul>
10434
10435  <h1><a name="xterm_197" id="xterm_197">Patch #197 - 2004/11/30 -
10436  XFree86 4.4.99.19</a></h1>
10437
10438  <ul>
10439    <li>modify configure script to remove empty "-DPROJECTROOT="
10440    definition which resulted unusable values for luit's default
10441    path.</li>
10442
10443    <li>update precompose.c based on Unicode 4.0.1</li>
10444
10445    <li>several minor fixes based on Intel compiler warnings.</li>
10446
10447    <li>change default translations so a <code>BtnDown</code> which
10448    is not recognized is simply ignored rather than emitting a
10449    bell. That makes it less obtrusive when the user tries to use a
10450    mouse which provides more capabilities than the X mouse driver
10451    supports, e.g., one with a horizontal scroll wheel (Debian
10452    #265133).</li>
10453
10454    <li>note in xterm's manpage that <code>translations</code> is
10455    not specific to xterm (Debian #278897).</li>
10456
10457    <li>modify uxterm script to use locale program to verify if the
10458    derived locale is installed (Debian #246398).</li>
10459
10460    <li>correct font handling for active icon when in UTF-8 mode
10461    (report by Paolo Liberatore).</li>
10462
10463    <li>make active-icon and toolbar configurations work
10464    together.</li>
10465
10466    <li>modify the criteria for disowning primary selection.
10467    Previously, this happened anytime the cursor was moved before
10468    the end of the selection. That would ensure that any
10469    insert/delete of char or line, as well as scrolling, would
10470    disown the selection. The new criteria change this to checking
10471    if the operations would modify the data which is highlighted
10472    (Debian #277832).</li>
10473
10474    <li>reimplement <code>DECALN</code> with functions for vt420
10475    rectangles, fixes selection for this case.</li>
10476
10477    <li>implement vt420 rectangle operations.</li>
10478
10479    <li>add parsing, for debug/test of vt220 soft-fonts.</li>
10480
10481    <li>add menu entry, actions and escape sequence to allow
10482    enabling/disabling toolbars at runtime.</li>
10483
10484    <li>improve rendering for Xft, allow it to draw non-linedrawing
10485    characters such as "pi", which were drawn from internal tables
10486    with <a href="#xterm_180">patch #180</a> (Freedesktop.org
10487    Bugzilla #1260).</li>
10488
10489    <li>add configure option <code>--enable-mini-luit</code>,
10490    ifdef'd the mini-luit feature with
10491    <code>OPT_MINI_LUIT</code>.</li>
10492
10493    <li>add mini-luit feature, which supports Latin9 directly
10494    rather than via luit, provided that Unicode fonts are used
10495    (Freedesktop.org Bugzilla #1571, request by Stefan Dirsch,
10496    patch by Michael Schroeder).</li>
10497
10498    <li>for Linux, if IUTF8 is defined, e.g., on recent 2.6.x
10499    kernels, set the corresponding flag for the slave pty, to
10500    enable UTF-8 interpretation of backspace in cooked mode
10501    (Freedesktop.org Bugzilla #1578, request by Stefan
10502    Dirsch).</li>
10503
10504    <li>modify <code>faceSize</code> resource to use a
10505    floating-point internal value (adapted from patch by Sam
10506    Stephenson).</li>
10507
10508    <li>correct handling selection of tabs over cleared space in
10509    UTF-8 mode. In this special case, xterm represents the
10510    whitespace with a null rather than a space character (Debian
10511    #276447).</li>
10512
10513    <li>amend fix for infinite loop from <a href="#xterm_192">patch
10514    #192</a> to check if there is wrapped text to output in a
10515    following iteration (Debian #273202).</li>
10516
10517    <li>fixes ifdef'd with <code>__INTERIX</code> to allow building
10518    with Interix (Windows Services for UNIX) 3.5 using the xlibs
10519    libraries from freedesktop.org (patch by Min Sik Kim).</li>
10520
10521    <li>amend solution for Debian #252873, Debian #260471 from
10522    <a href="#xterm_194">patch #194</a> by making the cursor not
10523    explicitly colored if only the foreground color is set, and the
10524    cursor is on a blank space (Debian #275473).</li>
10525
10526    <li>correct logic for send/receive mode (SRM) with regard to
10527    control characters.</li>
10528
10529    <li>fix masking of invisible text in wide-character mode, which
10530    did not work for line-drawing characters.</li>
10531
10532    <li>incorporate CF_XOPEN_SOURCE into configure script,
10533    replacing CF_GNU_SOURCE.</li>
10534  </ul>
10535
10536  <h1><a name="xterm_196" id="xterm_196">Patch #196 - 2004/8/15 -
10537  XFree86 4.4.99.12</a></h1>
10538
10539  <ul>
10540    <li>add a special case to configure script to ignore NetBSD's
10541    <code>grantpt()</code> which was recently added (but not part
10542    of a release), until someone is able to ensure that xterm can
10543    use it (report by Min Sik Kim).</li>
10544
10545    <li>clear the buffer returned by getutid(). This fixes an
10546    infinite loop on some platforms introduced in <a href=
10547    "#xterm_193">patch #193</a> by Debian #256468 fix (report by
10548    David Ellement).</li>
10549  </ul>
10550
10551  <h1><a name="xterm_195" id="xterm_195">Patch #195 - 2004/8/8 -
10552  XFree86 4.4.99.11</a></h1>
10553
10554  <ul>
10555    <li>correct length used for blinking text, make the last column
10556    blink (patch by Alexander V Lukyanov).</li>
10557
10558    <li>start changes to make doublesize characters work with
10559    TrueType fonts (see <a href="#xterm_44">patch #44</a>).</li>
10560
10561    <li>trim leading/trailing blanks from color resources as done
10562    for other strings in <a href="#xterm_167">patch #167</a>.</li>
10563
10564    <li>fixes for <code>showBlinkAsBold</code> resource (report by
10565    Christoph Berg).</li>
10566  </ul>
10567
10568  <h1><a name="xterm_194" id="xterm_194">Patch #194 - 2004/7/27 -
10569  XFree86 4.4.99.11</a></h1>
10570
10571  <ul>
10572    <li>change clearing operations so foreground color attribute is
10573    not set. Usually this is benign, but in some cases when the
10574    cursor color is not set explicitly, the cursor would show this
10575    color (Debian #252873, Debian #260471).</li>
10576
10577    <li>add extra state (cursor-moved) to guard against deciding
10578    that the cursor did not require repainting after an indexing
10579    operation that leaves the cursor in the same location on the
10580    screen.</li>
10581
10582    <li>fix a case where a full-screen indexing operation would not
10583    restore the cursor-busy state.</li>
10584
10585    <li>fix a repainting bug introduced in <a href=
10586    "#xterm_180">patch #180</a>: when using a font lacking
10587    line-drawing characters, a repaint of the screen could skip
10588    horizontally an extra amount after filling in the missing
10589    character (reports by Nicolas George, Hans de Goede, Redhat
10590    Bugzilla #128341).</li>
10591
10592    <li>rename terminfo fragment "xterm-pc-fkeys" to
10593    "xterm+pcfkeys" for consistency with ncurses.</li>
10594  </ul>
10595
10596  <h1><a name="xterm_193" id="xterm_193">Patch #193 - 2004/7/19 -
10597  XFree86 4.4.99.10</a></h1>
10598
10599  <ul>
10600    <li>fix for wide-character selection from OpenBSD CVS
10601    (report/patch by Matthieu Herrb).</li>
10602
10603    <li>modify initialization and cleanup of utmp data to also
10604    compare the <code>ut_line</code> member (Debian #256468).</li>
10605
10606    <li>modify check on focus-change to ignore
10607    <code>FocusOut</code> events generated by
10608    <code>XGrabKeyboard</code>. This fixes a case where the text
10609    cursor would act as if focus were lost when selecting the
10610    "Secure Keyboard" menu option.</li>
10611
10612    <li>add <code>gen-pc-fkeys.pl</code> script, use that to
10613    generate terminfo fragment corresponding to the pc-style
10614    function keys.</li>
10615
10616    <li>fix a case where the checkmark by the "VT220 Keyboard" menu
10617    entry was not set on startup.</li>
10618
10619    <li>separated two methods for making the cursor blink (menu and
10620    escape sequence) by using the menu as the primary method and
10621    XOR'ing the state of the escape sequence against that.</li>
10622
10623    <li>modify logic for enabling blinking cursor via escape
10624    sequence as well as the related save/restore operations so this
10625    is only available if the <code>cursorBlink</code> resource was
10626    set on startup.</li>
10627  </ul>
10628
10629  <h1><a name="xterm_192" id="xterm_192">Patch #192 - 2004/7/12 -
10630  XFree86 4.4.99.9</a></h1>
10631
10632  <ul>
10633    <li>change resource settings for color4 and color12, add some
10634    discussion in <code>XTerm-col.ad</code> (Debian #241717).</li>
10635
10636    <li>add a note in xterm manpage discussing the difference
10637    between alt- and meta-keys, and the way the latter is used in
10638    the <code>eightBitInput</code> resource.</li>
10639
10640    <li>add a note in xterm manpage regarding possible conflict
10641    between resource settings for <code>xterm.vt100.font</code> and
10642    <code>xterm.vt100.utf8Fonts.font</code> (Debian #254650).</li>
10643
10644    <li>add compile-time customization of
10645    <code>backarrowKeyIsErase</code> and
10646    <code>ptyInitialErase</code> default resource values (adapted
10647    from OpenBSD CVS).</li>
10648
10649    <li>change parameter of <code>FIONREAD</code>
10650    <code>ioctl()</code> call from long to int (discussion on
10651    tech-x11@netbsd.org regarding LP64 by John Heasley and Matthias
10652    Scheler).</li>
10653
10654    <li>modify configure script options for Athena widgets to work
10655    as expected for "--without-Xaw3d", etc., (Gentoo Bugzilla
10656    #53455).</li>
10657
10658    <li>add case to uxterm to accommodate locales ending with
10659    "@euro", e.g., fr_FR.UTF-8@euro (Debian #255197,
10660    report/analysis by Matthieu Lagouge).</li>
10661
10662    <li>add special case for VT100 graphic's "box" character
10663    (discussion with Ben Armstrong).</li>
10664
10665    <li>add missing initialization for bitmap-font sizes needed to
10666    make fonts menu work with TrueType fonts (report by Ben
10667    Armstrong).</li>
10668
10669    <li>save the fontnames for bold fonts that are derived from
10670    normal fonts, or from the <code>boldFont</code> resource, so
10671    the same value is restored when switching with the VT Fonts
10672    menu (Debian #256086).</li>
10673
10674    <li>fix manpage preprocessing (Marc La France).</li>
10675
10676    <li>fix typo in manpage's description of character classes
10677    (Debian #257073).</li>
10678
10679    <li>modify terminfo to accommodate luit, which relies on G1
10680    being used via an ISO-2022 escape sequence (Debian #254316,
10681    analysis by Juliusz Chroboczek).</li>
10682
10683    <li>modify Makefile.in rule for ctlseqs.txt to work around
10684    groff SGR misfeature.</li>
10685
10686    <li>modify <code>XTerm.ad</code> to set <code>saveLines</code>
10687    default to 1024 (Redhat Bugzilla #127132).</li>
10688
10689    <li>add a limit-check in <code>dotext()</code> to prevent
10690    infinite loop in a corner case of UTF-8 configuration.</li>
10691
10692    <li>update config.guess, config.sub</li>
10693  </ul>
10694
10695  <h1><a name="xterm_191" id="xterm_191">Patch #191 - 2004/6/6 -
10696  XFree86 4.4.99.7</a></h1>
10697
10698  <ul>
10699    <li>correct options parsing for <code>-into</code> option so it
10700    can be combined with <code>-e</code> (Redhat Bugzilla #124518,
10701    report/patch by James Armstrong).</li>
10702
10703    <li>fix ifdef's for <code>OPT_COLOR_RES2</code> so that the
10704    fake resource table introduced in <a href="#xterm_188">patch
10705    #188</a> is not compiled if it is empty. This happened to work
10706    with gcc (report by Joel Konkle-Parker).</li>
10707
10708    <li>reorganize ptydata.c to use one input buffer shared between
10709    the VTxxx and tek4014 emulators. In the new scheme, UTF-8
10710    decoding is performed on characters as they are needed by the
10711    state machine rather than on buffers as they are read.</li>
10712
10713    <li>work around change in quoting of PROJECTROOT symbol when
10714    using configure script, from changes made in <a href=
10715    "#xterm_187">patch #187</a> for CF_IMAKE_CFLAGS (Gentoo
10716    Bugzilla #50982).</li>
10717  </ul>
10718
10719  <h1><a name="xterm_190" id="xterm_190">Patch #190 - 2004/5/25 -
10720  XFree86 4.4.99.6</a></h1>
10721
10722  <ul>
10723    <li>correct state for values in the range 128-159 after
10724    translating from UTF-8: this should be ignored unless the user
10725    overrides it with the <code>allowC1Printable</code> resource
10726    (reported by Simon Strandgaard).</li>
10727
10728    <li>add configure-script check for nl_langinfo(CODESET), use
10729    this to replace check of environment variables for UTF-8.</li>
10730
10731    <li>change Makefile.in rules for 256colres.h and 88colres.h so
10732    they are only made if they do not exist. The maintainer-clean
10733    rule will remove these files; they require perl to be
10734    made.</li>
10735
10736    <li>remove check in configure script --enable-toolbar that
10737    suppressed this option when building with Xaw7.</li>
10738
10739    <li>apply fixes to Tektronix widget used for VT100 widget to
10740    make toolbar work with Xaw7 (XFree86 4.x).</li>
10741  </ul>
10742
10743  <h1><a name="xterm_189" id="xterm_189">Patch #189 - 2004/5/16 -
10744  XFree86 4.4.99.6</a></h1>
10745
10746  <ul>
10747    <li>do not call xim_real_init() if <code>openIm</code> resource
10748    is false (Debian #249025).</li>
10749
10750    <li>minor improvements to built-in line-drawing.</li>
10751
10752    <li>fix a few portability issues with dynamic abbreviation
10753    support, i.e., did not compile on Tru64.</li>
10754
10755    <li>modify constraints in form used to layout toolbar, to work
10756    with newer Xaw in XFree86 4.x.</li>
10757  </ul>
10758
10759  <h1><a name="xterm_188" id="xterm_188">Patch #188 - 2004/5/12 -
10760  XFree86 4.4.99.6</a></h1>
10761
10762  <ul>
10763    <li>correct table entry for DEL in the ground state, which
10764    marked it as a printable character from <a href=
10765    "#xterm_171">patch #171</a> (report by D Hugh Redelmeier).</li>
10766
10767    <li>improve fix in <a href="#xterm_186">patch #186</a> for
10768    failure in xim_real_init() by adding a sleep.</li>
10769
10770    <li>fix a typo in os2main.c (XFree86 Bugzilla #1358,
10771    report/patch by Frank Giessler).</li>
10772
10773    <li>make escape sequence reporting dynamic colors consistent
10774    with the logic that sets it; choosing the opposite color when
10775    reverse video is set (XFree86 Bugzilla #1361, reported by Bradd
10776    W Szonye).</li>
10777
10778    <li>modify initialization of 256- and 88-colors so that colors
10779    beyond 16 are normally not X resources. This works around a
10780    hard-coded limit in Xt which breaks xterm when 256-colors and
10781    luit are both configured (report by Noah Friedman).</li>
10782
10783    <li>remove <code>ncv</code> from <code>xterm-256color</code>
10784    terminfo entry since it is no longer needed (report by Eli
10785    Zaretskii).</li>
10786
10787    <li>add "erase2" and "eol2" keywords to <code>ttyModes</code>
10788    resource, for recent/current FreeBSD.</li>
10789
10790    <li>improve ifdef's for utempter library to omit direct calls
10791    to <code>setutent()</code> or <code>getutent()</code> (adapted
10792    from patch by Christian Biere).</li>
10793
10794    <li>add dynamic abbreviation support like Emacs (patch by
10795    Tomasz Cholewo). This is ifdef'd with <code>OPT_DABBREV</code>,
10796    and enabled via the configure script
10797    <code>--enable-dabbrev</code> option.</li>
10798
10799    <li>fix problem responding to session management events, e.g.,
10800    which would make logging out very slow (patch by Eddy De Greef,
10801    Debian #233883).</li>
10802
10803    <li>work around a newer bug in toolbar with XFree86 by forcing
10804    menus to be fully initialized at startup. In older versions of
10805    XFree86 and X11R6, it was possible to delay initialization of
10806    the menu contents until it was popped up. (The longstanding bug
10807    with XFree86 4.x layout for toolbar still exists, though).</li>
10808
10809    <li>modify <code>xtermAddInput</code> to work around core dump
10810    on IRIX64 when initializing scrollbar translations if toolbar
10811    is compiled-in.</li>
10812
10813    <li>fix some minor conflicts in the 2-character entry names in
10814    the termcap file.</li>
10815  </ul>
10816
10817  <h1><a name="xterm_187" id="xterm_187">Patch #187 - 2004/4/27 -
10818  XFree86 4.4.99.4</a></h1>
10819
10820  <ul>
10821    <li>change xterm version string to use
10822    <code>__vendorversion__</code> where that is available, and
10823    "XTerm" otherwise.</li>
10824
10825    <li>improve description of <code>utf8</code> resource in
10826    manpage (Debian #179407).</li>
10827
10828    <li>modify configure macros CF_IMAKE_CFLAGS and CF_ADD_CFLAGS
10829    to handle <code>-D</code> options that define string values,
10830    e.g., for <code>XVENDORNAME</code>.</li>
10831
10832    <li>modify configure macro CF_IMAKE_CFLAGS to allow (if
10833    <code>$PATH</code> is set accordingly) to use the
10834    <code>xmkmf</code> script within an X build tree.</li>
10835
10836    <li>add missing <code>#undef OPT_SESSION_MGT</code> to
10837    xtermcfg.hin to make the configure script's
10838    --disable-session-mgt option work.</li>
10839
10840    <li>update config.guess, config.sub</li>
10841  </ul>
10842
10843  <h1><a name="xterm_186" id="xterm_186">Patch #186 - 2004/4/18 -
10844  XFree86 4.4.99.4</a></h1>
10845
10846  <ul>
10847    <li>change reset on <code>DECSCL</code> to a soft-reset
10848    (appears some DEC manuals have errors).</li>
10849
10850    <li>add a section to ctlseqs.ms elaborating on normal/alternate
10851    screens.</li>
10852
10853    <li>modify initialization of Acolors[] so that any
10854    XtDefaultForeground or XtDefaultBackground values are
10855    translated as in the Tcolors[], to use the window's
10856    foreground/background colors. This affects the
10857    <code>colorBD</code> and similar resources which normally have
10858    no explicit color assigned.</li>
10859
10860    <li>modify initialization of Tektronix window so that control
10861    sequences setting its color before the window is popped up will
10862    apply to its initial colors.</li>
10863
10864    <li>add control sequence to set Tektronix window's
10865    text-cursor.</li>
10866
10867    <li>modify initialization of terminal colors, e.g., mouse
10868    pointer and text cursor, to treat
10869    <code>XtDefaultForeground</code> and
10870    <code>XtDefaultBackground</code> values as the actual
10871    foreground and background colors of the terminal rather than
10872    white and black (Debian #241717).</li>
10873
10874    <li>remove an incorrect comparison against
10875    <code>PTYCHARLEN</code> in parsing the <code>-S</code> option
10876    (report by Michael B Taylor).</li>
10877
10878    <li>minor restructuring of terminfo/termcap files, having noted
10879    some packager's customizations which caused the structure to be
10880    confused.</li>
10881
10882    <li>eliminate an isolated use of MIN/MAX in charproc.c</li>
10883
10884    <li>replace <code>XtExtdefaultfont</code> and
10885    <code>XtExtdefaultbackground</code> by their more familiar
10886    equivalents <code>XtDefaultFont</code> and
10887    <code>XtDefaultBackground</code>.</li>
10888
10889    <li>replace ifdef's using <code>SCO</code>, <code>sco</code>
10890    and <code>SCO325</code> with <code>__SCO__</code> (XFree86
10891    Bugzilla #1301, Kean Johnston). But ensure that it still builds
10892    on platforms where this symbol is not defined.</li>
10893
10894    <li>add <code>scoFunctionKeys</code> resource, to match
10895    manpage.</li>
10896
10897    <li>update manpage discussion of menus and related
10898    resources.</li>
10899
10900    <li>enable utmpx support for NetBSD 1.6C and newer (patch by
10901    Matthias Scheler).</li>
10902
10903    <li>add a note in the manpage discussing xterm's treatment of
10904    open file-descriptors (request by Dan Shearer).</li>
10905
10906    <li>modify <code>Help()</code> to make "xterm -h" write to
10907    standard output rather than standard error (patch by Bram
10908    Moolenaar).</li>
10909
10910    <li>check for type of failure in xim_real_init() to avoid
10911    looping when the problem is an unsupported input method rather
10912    than a failure to connect to the XIM server. Problem was
10913    introduced in <a href="#xterm_175">patch #175</a> (XFree86
10914    Bugzilla #1306).</li>
10915
10916    <li>modify <code>Imakefile</code> to remove dependency of
10917    "install" target on the <code>xterm</code> executable to make
10918    installs from tree without attempting to rebuild anything
10919    (commit by David Dawes, report/patch from Lee Olsen).</li>
10920
10921    <li>remove call to <code>ShowCursor</code> from
10922    <code>SetCursorBlink()</code> since that is redundant, and can
10923    cause display glitches if the cursor is already blinking
10924    (XFree86 Bugzilla #1158, patch/report by Andreas Schwab).</li>
10925  </ul>
10926
10927  <h1><a name="xterm_185" id="xterm_185">Patch #185 - 2004/3/3 -
10928  XFree86 4.4</a></h1>
10929
10930  <ul>
10931    <li>fix tcap-query logic for the backspace key (XFree86
10932    Bugzilla #1233, report/patch by Anton Kovalenko).</li>
10933
10934    <li>add test-scripts resize.pl and tcapquery.pl</li>
10935
10936    <li>add translation to ASCII of commonly-used characters that
10937    groff translates to Unicode, when the font in use does not
10938    provide the corresponding glyphs (Debian #219551).</li>
10939
10940    <li>modify RequestMaximize(), which performs maximize/restore
10941    via control sequences, to account for window-frame (patch by
10942    Jess Thrysoee).</li>
10943
10944    <li>improve pattern used in <code>uxterm</code> to check for
10945    UTF-8 locale, e.g., for HPUX (patch by H Merijn Brand).</li>
10946
10947    <li>add <code>-fd</code> option and resource
10948    <code>faceNameDoublesize</code> to specify double-wide fonts
10949    with Xft (adapted from patch by Zarick Lau).</li>
10950
10951    <li>change a couple of resource classes from "Boolean" to
10952    specific values: <code>freeBoldBox</code>,
10953    <code>forceBoxChars</code>.</li>
10954
10955    <li>add resource <code>showMissingGlyphs</code> to outline
10956    places on the screen where a font lacks the corresponding
10957    glyph.</li>
10958
10959    <li>add resource <code>showBlinkAsBold</code> to control
10960    whether blinking text should be shown as bold or actual
10961    blinking text.</li>
10962
10963    <li>improve logic in ShowCursor() to avoid repainting the
10964    cursor when it is already visible, e.g., in response to the
10965    DECTCEM escape sequence. This also addresses XFree86 Bugzilla
10966    #1158.</li>
10967
10968    <li>implement blinking text, using the timer for blinking
10969    cursor.</li>
10970
10971    <li>modify FreeType support to allow resizing the font, in the
10972    same ways the window can be resized if fixed fonts are used.
10973    The relative font sizes are derived from the fixed font
10974    sizes.</li>
10975
10976    <li>add menu items and corresponding actions for switching
10977    on/off the UTF-8 mode and Xft (TrueType) support.</li>
10978
10979    <li>add logic to handle switching UTF-8 mode on/off. It worked
10980    if the escape sequences were flushed, but if data was mixed in
10981    with the same write, some were not handled properly (report by
10982    Nicolas George).</li>
10983
10984    <li>modify to allow turning UTF-8 mode on/off via escape
10985    sequence even if <code>-wc</code> option was not given at
10986    startup (patch by Peter Berg Larsen).</li>
10987
10988    <li>amend fix for XFree86 Bugzilla #981, adjusting for
10989    savedlines value (report by Tim Adye).</li>
10990
10991    <li>fix a typo in computing relative font size (Jess
10992    Thrysoee).</li>
10993  </ul>
10994
10995  <h1><a name="xterm_184" id="xterm_184">Patch #184 - 2003/12/31 -
10996  XFree86 4.3.99.903</a></h1>
10997
10998  <ul>
10999    <li>improve configure-script checks for FreeType and related
11000    libraries, using <code>xft-config</code> or
11001    <code>freetype-config</code> scripts when available.</li>
11002
11003    <li>fix configure-script check for <code>SYSV</code> definition
11004    by ensuring whether <code>sys_errlist[]</code> is declared, and
11005    by modifying the test program to include
11006    <code>X11/Intrinsic.h</code> to check that <code>wchar_t</code>
11007    is declared consistently (report by H Merijn Brand).</li>
11008  </ul>
11009
11010  <h1><a name="xterm_183" id="xterm_183">Patch #183 - 2003/12/26 -
11011  XFree86 4.3.99.903</a></h1>
11012
11013  <ul>
11014    <li>correct logic for configurations that may attempt to open
11015    both old/new-style pseudoterminals. In this case, the old-style
11016    are preferred. Logic was broken in <a href="#xterm_145">patch
11017    #145</a> (XFree86 Bugzilla #997, report/patch by Kean
11018    Johnston).</li>
11019
11020    <li>modify handling of <code>eightBitInput</code> resource in
11021    UTF-8 mode to translate the value into UTF-8. Otherwise an
11022    illegal UTF-8 code is sent to the application (report by Bram
11023    Moolenaar).</li>
11024
11025    <li>modify <code>uxterm</code> script to interpret help and
11026    version options so xterm does not always create a window when
11027    the user requests this information (Debian #223926).</li>
11028
11029    <li>add a limit check to ScrnTstWrapped() (XFree86 Bugzilla
11030    #981).</li>
11031
11032    <li>modify DECSCL to perform a hard reset (RIS) as per DEC
11033    manuals. Extended DECSCL to accept parameters for vt4XX and
11034    vt5xx terminals.</li>
11035
11036    <li>correct logic for ANSI conformance level escape sequences,
11037    which were confused with DEC conformance level escape
11038    sequences.</li>
11039
11040    <li>correct state for vt52 shift-in/shift-out, which was not
11041    reset properly after <a href="#xterm_171">patch #171</a>.</li>
11042
11043    <li>correct handling of graphics characters for vt52 mode,
11044    which did not display line-drawing characters after G1 fix from
11045    <a href="#xterm_182">patch #182</a>.</li>
11046
11047    <li>fixes for configure script to work with current Cygwin
11048    headers and libraries.</li>
11049
11050    <li>modify <code>Imakefile</code> to put the current directory
11051    at the beginning of the include searchpath (patch by David
11052    Dawes).</li>
11053  </ul>
11054
11055  <h1><a name="xterm_182" id="xterm_182">Patch #182 - 2003/12/2 -
11056  XFree86 4.3.99.901</a></h1>
11057
11058  <ul>
11059    <li>correct logic for <code>metaSendsEscape</code> resource to
11060    allow for the meta-right key to be tested. Improve check for
11061    meta/alt modifiers by dropping the assumption that a keysym is
11062    associated with only one modifier, and by ignoring NoSymbol
11063    entries in the xmodmap data (XFree86 Bugzilla #924, patch by
11064    David Dawes).</li>
11065
11066    <li>correct wrapping logic for line-drawing characters written
11067    in non-UTF-8 mode of xterm build for wide-characters (XFree86
11068    Bugzilla #918, report/patch by J&uuml;rgen Keil).</li>
11069
11070    <li>improve manpage description of resources, in particular the
11071    <code>utf8Fonts</code> class (XFree86 Bugzilla #905).</li>
11072
11073    <li>add definitions to compile with glibc-based GNU/Hurd,
11074    GNU/KFreeBSD and GNU/KNetBSD (XFree86 Bugzilla #893).</li>
11075
11076    <li>compiler-warning fixes (patch by Christian Biere).</li>
11077
11078    <li>add README.i18n (Tomohiro Kubota).</li>
11079
11080    <li>correct initialization of G1 character set mapping, which
11081    used line-drawing set as a result of confusion between "DEC
11082    Supplemental Graphic" and "DEC Special Graphic" character sets
11083    (see <a href="#xterm_34">patch #34</a> regarding DECSTR).</li>
11084
11085    <li>correct ifdef in main.c for variable utret (patch by
11086    Bernhard Rosenkraenzer).</li>
11087
11088    <li>document in xterm's manpage how to use XFree86 ":unscaled"
11089    keyword to suppress scaling of bold fonts.</li>
11090
11091    <li>when deriving bold fontname from normal fontname, use the
11092    normal font's average width to avoid for example selecting
11093    7x13bold from an 8x13 normal font (Debian #107769).</li>
11094  </ul>
11095
11096  <h1><a name="xterm_181" id="xterm_181">Patch #181 - 2003/10/26 -
11097  XFree86 4.3.99.15</a></h1>
11098
11099  <ul>
11100    <li>implement <code>boldMode</code> for wide-character logic in
11101    <code>drawXtermText()</code> (report by Michael
11102    Schroeder).</li>
11103
11104    <li>modify <code>UXTerm.ad</code> resource file to include
11105    "XTerm-color" rather than "XTerm", in case the latter file
11106    contains no color resource definitions, e.g., after <a href=
11107    "#xterm_180">patch #180</a>.</li>
11108
11109    <li>add action <code>load-vt-fonts()</code> and configure
11110    option <code>--enable-load-vt-fonts</code> which allows users
11111    to define additional sets of VT-fonts which can be loaded at
11112    runtime.</li>
11113
11114    <li>add logic to wide-character support which attempts to load
11115    fonts specified by <code>utf8Fonts</code> subresources at
11116    startup. The subresources have the same names as the fonts
11117    which they replace, e.g., <code>font</code>,
11118    <code>font1</code>, etc., so that the ISO-10646-1 fonts can be
11119    specified in the <code>XTerm</code> app-defaults file (adapted
11120    from patch by Tomohiro Kubota).</li>
11121
11122    <li>improve Set Font escape string handling by making the
11123    relative settings apply to the size of the font, as in shift
11124    keypad plus/minus rather than the menu index.</li>
11125
11126    <li>simplify parameter passing for the <code>set-vt-font</code>
11127    action and related code.</li>
11128
11129    <li>cleanup some include-ordering, moving some recently-added
11130    hardcoded stuff into xterm.h where it will not interfere with
11131    the configure script.</li>
11132
11133    <li>modify <code>xtermAddInput()</code> (see note on
11134    augmentation in <a href="#xterm_158">patch #158</a>) to use the
11135    complete set of default keyboard translations so that one can
11136    use shifted pageup, wheel mouse, etc., while the mouse pointer
11137    is over the scrollbar. (Debian #178812).</li>
11138
11139    <li>make save/restore mode controls apply to show/blink cursor
11140    states.</li>
11141
11142    <li>add escape sequence to start/stop blinking cursor, which
11143    allows implementing <code>cvvis</code> terminfo capability
11144    (request by Nate Bargmann).</li>
11145
11146    <li>add <code>indp</code> and <code>rin</code> to terminfo
11147    entry.</li>
11148
11149    <li>fix an out-of-bounds array reference in ScrnRefresh() for
11150    wide characters (report by Dan Harnett, patch by Todd Miller).
11151    This bug dates from <a href="#xterm_141">patch #141</a>.</li>
11152  </ul>
11153
11154  <h1><a name="xterm_180" id="xterm_180">Patch #180 - 2003/10/12 -
11155  XFree86 4.3.99.15</a></h1>
11156
11157  <ul>
11158    <li>several fixes for rendering using Xft via option
11159    <code>-fa</code>:
11160      <ul>
11161        <li>translate Unicode values, i.e,. from UTF-8 output to
11162        xterm, for line-drawing to xterm's internal code, etc.,
11163        since TrueType fonts generally do not have either set of
11164        line-drawing glyphs. xterm can draw these directly (report
11165        by Abigail Brady).</li>
11166
11167        <li>pass 16-bit values rather than 8-bit values to
11168        xtermXftDrawString() to allow for wide-characters.</li>
11169
11170        <li>remove spurious check for <code>colorBDMode</code>
11171        resource in logic that does bold fonts.</li>
11172
11173        <li>implement underlining.</li>
11174      </ul>
11175    </li>
11176
11177    <li>patches by Ilya Zakharevich:
11178      <ul>
11179        <li>improve drawXtermText() by making the recursive calls
11180        communicate through arguments, and not through
11181        saving/restoring global variables.</li>
11182
11183        <li>make double-width characters work with <code>-u8</code>
11184        option.</li>
11185
11186        <li>modify lookup of double-sized fonts by checking for a
11187        match ignoring x/y resolution if the first check
11188        fails.</li>
11189      </ul>
11190    </li>
11191
11192    <li>make height of TrueType fonts match ascent+descent (patch
11193    by Keith Packard).</li>
11194
11195    <li>correct configure-script check for imake $CFLAGS, which did
11196    not check properly if imake was not available.</li>
11197
11198    <li>correct install rule in Makefile.in for
11199    <code>uxterm</code>, which was attempting to strip the script
11200    (newsgroup posting by Fernan Aguero).</li>
11201
11202    <li>correct AF/AB strings in termcap for xterm-256color and
11203    xterm-88color entries (report by Josh Howard).</li>
11204
11205    <li>update wcwidth.c to incorporate changes from Markus Kuhn's
11206    2003-05-20 (Unicode 4.0) version of that file.</li>
11207
11208    <li>modify <code>scroll-back</code> and
11209    <code>scroll-forw</code> actions to accept an adjustment value,
11210    e.g.,
11211
11212      <pre>
11213              <code>scroll-back(1, page-2)</code>
11214</pre>to scroll back by 2 lines less than a page (patch by Greg
11215Klanderman).
11216    </li>
11217
11218    <li>use color resource setting from Debian package for xterm
11219    VT100 widget, since the choice of blues provides better
11220    contrast.</li>
11221
11222    <li>remove color resources from <code>XTerm.ad</code>, leaving
11223    them only in <code>XTerm-col.ad</code> (prompted by Debian
11224    package for xterm).</li>
11225
11226    <li>correct configure script option --enable-pty-handshake
11227    (report by Paul Gilmartin).</li>
11228
11229    <li>add <code>visualBellDelay</code> resource to modify the
11230    length of time used for visual bell, for very slow displays or
11231    very fast computers (reports by Ingo van Lil and Doug
11232    Toppin).</li>
11233
11234    <li>correct logic for initializing dynamic highlight color
11235    (patch by Jess Thrysoee).</li>
11236
11237    <li>add a check for non-zero size in call to
11238    <code>XCopyArea()</code> to accommodate a Solaris bug.</li>
11239
11240    <li>correct typo in example for character classes in xterm
11241    manpage (Debian #198910).</li>
11242
11243    <li>link xterm with bind_on_load option on Darwin to work
11244    around a deadlock in the dynamic loader when a signal is
11245    received while the dynamic loader is looking up symbols
11246    (patches by Rob Braun, Torrey Lyons).</li>
11247
11248    <li>modify configure script to avoid using "head -1".</li>
11249
11250    <li>update config.guess, config.sub</li>
11251
11252    <li>modify ifdef's to work around inclusion of types FcChar32
11253    and XftCharSpec with FreeType 2.0 (see <a href=
11254    "#xterm_175">patch #175</a>).</li>
11255
11256    <li>modify the predictable version of the generated logfile
11257    name (see <a href="#xterm_171">patch #171</a>) to append the
11258    process-id rather than a random value.</li>
11259
11260    <li>resync with XFree86 CVS
11261      <ul>
11262        <li>Enable SCO function keys in xterm</li>
11263
11264        <li>Make Delete key send DEL by default on SCO in
11265        xterm</li>
11266      </ul>
11267    </li>
11268  </ul>
11269
11270  <h1><a name="xterm_179" id="xterm_179">Patch #179 - 2003/5/21 -
11271  XFree86 4.3.99.5</a></h1>
11272
11273  <ul>
11274    <li>modify ifdef's for WTMPX_FILE to allow building on cygwin
11275    again.</li>
11276
11277    <li>change the default of pty-handshaking configure option (and
11278    related default for imake) to assume this feature is
11279    needed.</li>
11280
11281    <li>add ifdef's so configure option for XawPlus library works
11282    (patch by Pavel Roskin).</li>
11283
11284    <li>add <code>$(MAIN_DEFINES)</code> to the variables checked
11285    by the configure script that may contain information set by
11286    imake. This allows xterm to build/run properly using the
11287    configure script on IRIX64.</li>
11288
11289    <li>add configure check for ".exe" suffix on cygwin.</li>
11290  </ul>
11291
11292  <h1><a name="xterm_178" id="xterm_178">Patch #178 - 2003/5/18 -
11293  XFree86 4.3.99.5</a></h1>
11294
11295  <ul>
11296    <li>modify default for configure
11297    <code>--enable-pty-handshake</code> option to enable it for
11298    Solaris (report by Nelson Beebe).</li>
11299
11300    <li>modify <code>in_put()</code> function to call
11301    <code>PreeditPosition()</code> only when the cursor's position
11302    has changed. This addresses report by Stefan Baums of high CPU
11303    usage while xterm with chinput are running in the background
11304    (patch by Yong Li).</li>
11305
11306    <li>improved explanation of <code>-ls</code> conflict with
11307    <code>-e</code> option in xterm manpage (adapted from comments
11308    by Henning Makholm).</li>
11309
11310    <li>correct comment in terminfo file regarding modifier used
11311    for <code>kDC</code> (Debian #189764, report by Henning
11312    Makholm).</li>
11313
11314    <li>correct/extend some of the keypad description in ctlseqs.ms
11315    (report by Henning Makholm).</li>
11316
11317    <li>correct keypad-mapping table in input.c so
11318    <code>XK_KP_Equal</code> works (report by Henning
11319    Makholm).</li>
11320
11321    <li>modified to work with CJK double-width (bi-width/monospace)
11322    fonts. They're similar to Roman Czbora and David Starner's
11323    gnuunifonts in that Latin letters and numbers have all the same
11324    width which is exactly the half of the width of East Asian
11325    characters. (patch by Jungshik Shin
11326    &lt;jshin@mailaps.org&gt;).</li>
11327
11328    <li>add configure option <code>--enable-broken-osc</code> and
11329    resource <code>brokenLinuxOSC</code> to accommodate scripts
11330    which do not distinguish between running in the Linux console
11331    and running in X. Linux console recognizes malformed control
11332    strings which start with an <code>OSC</code>, but are
11333    fixed-length, with no terminator.</li>
11334
11335    <li>add configure option <code>--enable-broken-st</code> and
11336    resource <code>brokenStringTerm</code> to allow user to revert
11337    one part of the parsing table corrections from <a href=
11338    "#xterm_171">patch #171</a>. (reports by Matthias Scheler and
11339    Kirill Ponomarew indicate that someone's network firmware sends
11340    an <code>&lt;escape&gt;X</code>).</li>
11341
11342    <li>modify configure <code>--disable-imake</code> to provide
11343    values for <code>OSMAJORVERSION</code>,
11344    <code>OSMINORVERSION</code>, <code>FUNCPROTO</code> and
11345    <code>NARROWPROTO</code> (report by Heiko Schlichting).</li>
11346
11347    <li>correct <code>vttests/16colors.sh</code>, which omitted the
11348    <code>$SUF</code> variable in output strings (patch by Paul
11349    Gilmartin).</li>
11350
11351    <li>modify shell scripts in <code>vttests</code> directory to
11352    attempt to use named signals in the <code>trap</code>
11353    statement, making this portable to OS/390 (report by Paul
11354    Gilmartin). Tested on SunOS 4.1.4, which implements only
11355    numbers.</li>
11356  </ul>
11357
11358  <h1><a name="xterm_177" id="xterm_177">Patch #177 - 2003/3/23 -
11359  XFree86 4.3.0</a></h1>
11360
11361  <ul>
11362    <li>fix definition of <code>USE_HANDSHAKE</code>, must be
11363    numeric (reported by Jens Schleusener).</li>
11364  </ul>
11365
11366  <h1><a name="xterm_176" id="xterm_176">Patch #176 - 2003/3/22 -
11367  XFree86 4.3.0</a></h1>
11368
11369  <ul>
11370    <li>add configure option <code>--enable-pty-handshake</code> to
11371    allow one to compile-in support for the pty handshaking logic,
11372    and resource <code>ptyHandshake</code> to enable or disable it
11373    (suggested by Ian Collier).</li>
11374
11375    <li>restore <code>USE_HANDSHAKE</code> ifdef removed in
11376    <a href="#xterm_159">patch #159</a> to address Debian
11377    #39964.</li>
11378
11379    <li>move ifdef's for ttysize/winsize into xterm_io.h</li>
11380
11381    <li>simplify loop on <code>tgetent</code>, check if the
11382    successive entries in the lookup table are the same. That makes
11383    xterm do one less lookup if there is no "xterm" entry in the
11384    termcap file (report by Derek Martin).</li>
11385
11386    <li>correct manpage discussion of <code>$TERM</code> and
11387    <code>$TERMCAP</code> variables, which omitted the Tektronix
11388    emulation and a note of the final "dumb" fallback.</li>
11389
11390    <li>broaden ifdef for
11391    <code>XRegisterIMInstantiateCallback()</code> from <a href=
11392    "#xterm_175">patch #175</a> (XIM fix) to exclude non-XFree86
11393    (report by Nelson Beebe indicates this breaks for Solaris, IRIX
11394    and OSF/1).</li>
11395
11396    <li>correct resource-size for <code>iconFont</code> (this was
11397    added by X11R6.3).</li>
11398
11399    <li>improve configure check for XKB bell extension, to work
11400    around inconsistent implementation of this feature (reports by
11401    Nelson Beebe, Kriston Rehberg and David Ellement).</li>
11402
11403    <li>modify configure-check for <code>tty</code> group to be
11404    less strict in batch mode (report by Nelson Beebe).</li>
11405
11406    <li>modify to allow building with g++, to use its compiler
11407    warnings (suggested by Nelson Beebe).</li>
11408
11409    <li>modify <code>dec2ucs[]</code> table to reflect newer codes
11410    available for scanlines 1, 3, 7, 9 (report by Michael
11411    Schroeder).</li>
11412
11413    <li>add configure option for XawPlus library.</li>
11414  </ul>
11415
11416  <h1><a name="xterm_175" id="xterm_175">Patch #175 - 2003/3/9 -
11417  XFree86 4.3.0</a></h1>
11418
11419  <ul>
11420    <li>fix a SIGSEGV which could occur if xterm is connecting to
11421    XIM server, and the XIM server is destroyed (patch by Nam
11422    SungHyun).</li>
11423
11424    <li>modify to use built-in line-drawing characters for Xft
11425    fonts (patch by Andrew Tipton).</li>
11426
11427    <li>make menu reflect the state of the <code>tekInhibit</code>
11428    resource.</li>
11429
11430    <li>make <code>signalInhibit</code> resource work, i.e.,
11431    disable the menu entries that would send signals to, or exit
11432    xterm. This was probably broken in X11R5 when logging was
11433    disabled (report by Sven Mascheck).</li>
11434
11435    <li>changed classes of <code>colorBDMode</code> and similar
11436    resources that override colors when a video attribute is set to
11437    <code>ColorAttrMode</code>, to make them distinct from
11438    <code>ColorMode</code>. This avoids an unexpected rendering of
11439    reverse video, for example (report by Paul Fox).</li>
11440
11441    <li>changed class of <code>veryBoldColors</code> to
11442    <code>VeryBoldColors</code>, since <code>ColorMode</code> is
11443    associated with boolean resources.</li>
11444
11445    <li>add option <code>-k8</code> and resource
11446    <code>allowC1Printable</code> to allow users of non-VTxxx
11447    character sets such as KOI-8 to treat the C1 control area
11448    (character codes 128-159) as printable rather than control
11449    characters.</li>
11450
11451    <li>add a null-pointer check for return-value of
11452    <code>ptsname()</code> in HPUX-specific code (report by David
11453    Ellement).</li>
11454
11455    <li>revise the ifdef's used for <code>XKB</code> bell support.
11456    The code was using a nonstandard call
11457    <code>XkbStdBell()</code>. Changed to use
11458    <code>XkbBell()</code> (based on patch by
11459    &lt;derek@signalmarketing.com&gt;).</li>
11460
11461    <li>add a null-pointer check in <code>xtermLoadFont()</code> in
11462    case there is no wide-bold font (Nam SungHyun).</li>
11463
11464    <li>change <code>Makefile.in</code> to use autoconf's
11465    <code>bindir</code>, <code>libdir</code> and
11466    <code>mandir</code> variables (report by Nam SungHyun).</li>
11467
11468    <li>add <code>le</code> to termcap <code>xterm-basic</code>
11469    entry. Though missing from older termcaps for xterm, some
11470    applications check for it (report by Matthias Buelow).</li>
11471
11472    <li>modify <code>uxterm</code> script to strip modifiers such
11473    as "@euro" from the locale setting before adding ".UTF-8"
11474    (Debian #179929).</li>
11475
11476    <li>modify the remaining places where tek4014 emulation uses
11477    <code>XDefineCursor()</code>, to make it work as originally
11478    implemented, e.g., when switching back to alpha mode. Added
11479    test-screen in vttest to test this feature properly.</li>
11480  </ul>
11481
11482  <h1><a name="xterm_174" id="xterm_174">Patch #174 - 2003/2/25 -
11483  XFree86 4.2.99.903</a></h1>
11484
11485  <ul>
11486    <li>work-around for XFree86 bug which made
11487    <code>XDefineCursor()</code> on a shell-window no longer work.
11488    The tek4014 emulation used this. Use the next lower window
11489    (report by Karl Rudolf Bauchspiess).</li>
11490
11491    <li>add a resource setting <code>allowWindowOps</code> to
11492    control whether the extended window operations should be
11493    allowed, e.g., resize, iconify, report window attributes. This
11494    is to accommodate people who are not capable of using a pager
11495    to view log-files.</li>
11496  </ul>
11497
11498  <h1><a name="xterm_173" id="xterm_173">Patch #173 - 2003/2/6 -
11499  XFree86 4.2.99.902</a></h1>
11500
11501  <ul>
11502    <li>reset mouse mode to normal on a full reset. This does not
11503    apply to mouse hilite tracking mode, of course (see
11504    ctlseqs.ms).</li>
11505
11506    <li>add a time-delay at the point where mouse hilite tracking
11507    mode choses to not handle X events, to avoid runaway CPU usage
11508    (report by D Hugh Redelmeier).</li>
11509
11510    <li>check for illegal character in DECUDK string, quit if
11511    detected.</li>
11512  </ul>
11513
11514  <h1><a name="xterm_172" id="xterm_172">Patch #172 - 2002/12/27 -
11515  XFree86 4.2.99.3</a></h1>
11516
11517  <ul>
11518    <li>fixes to make repainting of 256-color example work properly
11519    (reports by Abigail Brady and Scott A Crosby).
11520      <ul>
11521        <li>set flag in <code>AllocateAnsiColor()</code> to ensure
11522        the color is allocated once only.</li>
11523
11524        <li>fix check in <code>ScrnRefresh</code>, which was
11525        comparing background colors only if the ANSI foreground
11526        colors also were set.</li>
11527      </ul>
11528    </li>
11529
11530    <li>merge <code>Error()</code> calls and some
11531    <code>exit()</code> calls into <code>SysError()</code>, and
11532    change that to add the brief explanation for each error code
11533    which is provided in the manpage. Change a few
11534    <code>SysError()</code>, calls to avoid using code 1, to avoid
11535    confusion with exit status from places that do not use
11536    <code>SysError()</code>.</li>
11537
11538    <li>simplify logic used to open a debug logfile as the standard
11539    error.</li>
11540
11541    <li>modify the <code>-e</code> option so that if it fails,
11542    xterm will check if only one argument follows, e.g., it was
11543    quoted, and then retry using <code>sh&nbsp;-c</code>.</li>
11544
11545    <li>modify parsing of DECUDK string parameter to allow a comma
11546    between pairs of hexadecimal digits (Ray Neuman
11547    &lt;raymond@one.com.au&gt; reports that "real" terminals accept
11548    this; perhaps they simply ignore unexpected characters).</li>
11549
11550    <li>fix a few problems with the <code>$TERMCAP</code> string
11551    generated by <code>resize</code>:
11552      <ul>
11553        <li>for Bourne shell, add an <code>export</code> command.
11554        This was missing as far back as X11R5.</li>
11555
11556        <li>escape exclamation marks, used in xterm's reset
11557        string.</li>
11558
11559        <li>translate literal <code>\177\</code> to "^?".</li>
11560      </ul>
11561    </li>
11562
11563    <li>improve configure check for <code>tgetent()</code> to work
11564    when <code>$TERMCAP</code> has been set to a specific
11565    entry.</li>
11566
11567    <li>modify <code>minstall.sh</code> to use "%" rather than "@",
11568    to avoid problems with AFS (report by Zdenek Sekera).</li>
11569
11570    <li>list fatal error codes from <code>error.h</code> in the
11571    manpage, remove unused codes in <code>error.h</code>.</li>
11572
11573    <li>use more explicit wording for manpage list of color
11574    resources, since at least one user confused the generic names
11575    such as "black" with the names in rgb.txt (the latter are now
11576    used).</li>
11577
11578    <li>minor fix to description of 1003 mouse mode in ctlseqs.ms
11579    (Larry Riedel).</li>
11580  </ul>
11581
11582  <h1><a name="xterm_171" id="xterm_171">Patch #171 - 2002/12/12 -
11583  XFree86 4.2.99.3</a></h1>
11584
11585  <ul>
11586    <li>modify parser tables to improve detection of malformed
11587    control sequences, making xterm behave more like a real DEC
11588    terminal (patch by Paul Williams).</li>
11589
11590    <li>update comment in <code>input.c</code> to document
11591    <code>Meta</code> as a modifier for escape sequences (patch by
11592    D Roland Walker).</li>
11593
11594    <li>add ifdef'd code for logging option which adds the hostname
11595    and a timestamp to the generated logfile name. The ifdef's are
11596    setup with the configure script (patch by Nelson Beebe).</li>
11597
11598    <li>remove <code>xevents()</code> call from the end of
11599    <code>BlinkCursor()</code>, to fix an occasional problem which
11600    caused xterm to pause until a key was pressed. The reason for
11601    this was that there was no check to ensure that there really
11602    were events for <code>xevents()</code> to process. (patch by
11603    Semen A Ustimenko &lt;semenu@FreeBSD.org&gt;).</li>
11604
11605    <li>remove unused mode-params from <code>open()</code> calls
11606    that do not create a file.</li>
11607
11608    <li>modify configure script to put new items first on
11609    <code>$CPPFLAGS</code> and <code>$CFLAGS</code> to avoid
11610    conflict with environment's <em>-I</em> and <em>-D</em>
11611    options.</li>
11612
11613    <li>update config.guess, config.sub</li>
11614
11615    <li>resync with XFree86 CVS
11616      <ul>
11617        <li>fix va_args glitches for xterm/libfontconfig: 0 ==
11618        (void*)0 isn't true for all platforms (Egbert Eich).</li>
11619
11620        <li>initialise ProgramName in xterm's main before
11621        referencing it (XFree86 #5473, Peter Valchev).</li>
11622
11623        <li>some cleanup of Imakefile ifdef's (Marc La
11624        France).</li>
11625      </ul>
11626    </li>
11627  </ul>
11628
11629  <h1><a name="xterm_170" id="xterm_170">Patch #170 - 2002/10/13 -
11630  XFree86 4.2.1</a></h1>
11631
11632  <ul>
11633    <li>correct an off-by-one allocating data for sorted help
11634    message.</li>
11635
11636    <li>modify configure script to check for Xpm library, on which
11637    XFree86 Xaw library depends.</li>
11638
11639    <li>update config.guess, config.sub</li>
11640  </ul>
11641
11642  <h1><a name="xterm_169" id="xterm_169">Patch #169 - 2002/10/5 -
11643  XFree86 4.2.1</a></h1>
11644
11645  <ul>
11646    <li>modify wording of some options in help message to make them
11647    use <code>-/+</code> consistently with respect to "on/off" or
11648    "off/on".</li>
11649
11650    <li>sort options list which is displayed in help- and
11651    syntax-messages at runtime to simplify maintenance.</li>
11652
11653    <li>remove support for Amoeba and Minix (Juliusz Chroboczek
11654    noted it was removed from XFree86 server; there have been no
11655    users since 1996).</li>
11656
11657    <li>add configure script option
11658    <code>--disable-session-mgt</code> to control whether the
11659    session management code should be compiled-in (request by H
11660    Merijn Brand).</li>
11661
11662    <li>ifdef'd the session-management changes with
11663    <code>OPT_SESSION_MGT</code>, to accommodate X11R5 which
11664    predates the related definitions.</li>
11665
11666    <li>fix <code>decode_keyvalue()</code>, which did not properly
11667    parse multiple settings as needed for the <code>ttyModes</code>
11668    resource, since it did not skip over the parsed data.</li>
11669
11670    <li>fix an option-parsing conflict between <code>-class</code>
11671    and <code>-cjk_width</code> (Nam SungHyun)</li>
11672
11673    <li>add a missing null in <code>XtVaSetValues()</code> call
11674    used in <code>Cleanup()</code> (Nam SungHyun)</li>
11675  </ul>
11676
11677  <h1><a name="xterm_168" id="xterm_168">Patch #168 - 2002/9/29 -
11678  XFree86 4.2.1</a></h1>
11679
11680  <ul>
11681    <li>improve data reported for control sequence that requests
11682    window position by taking into account the window decorations,
11683    e.g., border and title (patch by Jess Thrysoee
11684    &lt;jess@thrysoee.dk&gt;).</li>
11685
11686    <li>add <code>-cjk_width</code> and corresponding resource
11687    <code>cjkWidth</code> (patch by Jungshik Shin
11688    &lt;jshin@mailaps.org&gt;).</li>
11689
11690    <li>add <code>-into</code> option, for embedding xterm in a
11691    Tcl/Tk application (patch by George Peter Staplin
11692    &lt;georgeps@xmission.com&gt;).</li>
11693
11694    <li>add simple session management (XSM) client capabilities to
11695    xterm. So a session manager such as, e.g., xsm, should be able
11696    to respawn or kill xterms without the help of an SM proxy (like
11697    smproxy), which is a hack and almost always buggy (patch by
11698    David Madore).</li>
11699
11700    <li>fix conflict between ifdef's for
11701    <code>OPT_DEC_LOCATOR</code> and <code>OPT_READLINE</code> in
11702    button.c (reported by Ilya Zakharevich).</li>
11703
11704    <li>fix for inconsistent use of <code>struct utmp</code> versus
11705    <code>struct utmpx</code> introduced in <a href=
11706    "#xterm_167">patch #167</a> (patches by Paul Gilmartin, Marc La
11707    France).</li>
11708
11709    <li>modify logic for <code>metaSendsEscape</code> to allow it
11710    to work in a setup where the Meta-key is not recognized as a
11711    modifier by the key-translations logic (discussion of
11712    eightBitInput with H.J.Lu). Note however that Vincent
11713    Lef&egrave;vre reported this in January).</li>
11714
11715    <li>use null pointer values consistently, rather than literal
11716    "0", for ending variable-length argument lists, e.g., for
11717    <code>execlp()</code> (based on patch by Matthieu Herrb).</li>
11718
11719    <li>correct logic of <code>ChangeAnsiColorRequest()</code>,
11720    which would do a screen repaint after replying to a request for
11721    information.</li>
11722
11723    <li>improve scripts in vttests to work with systems whose
11724    shells support <code>echo -n</code> and have, as does Debian,
11725    an unrelated <code>print</code> utility.</li>
11726
11727    <li>add vttests/acolors.sh to demonstrate OSC 4, which queries
11728    or sets ANSI colors.</li>
11729
11730    <li>fixes for ctlseqs.ms (Pavel Roskin, Ilya Zakharevich).</li>
11731
11732    <li>typos in xterm manpage (Jens Schweikhardt)</li>
11733
11734    <li>remove a redundant GCC_UNUSED from InitPopup() (Nam
11735    SungHyun)</li>
11736  </ul>
11737
11738  <h1><a name="xterm_167" id="xterm_167">Patch #167 - 2002/8/24 -
11739  XFree86 4.2.0</a></h1>
11740
11741  <ul>
11742    <li>correct ifdef's for <code>USE_TERMCAP</code> to match
11743    cygwin configuration.</li>
11744
11745    <li>fix several places in ctlseqs.ms which had no boxes around
11746    the literal text (report by Ilya Zakharevich).</li>
11747
11748    <li>extend mouse support for readline, ifdef'd with
11749    OPT_READLINE (integrated patch from Ilya Zakharevich).</li>
11750
11751    <li>modify terminfo description to match default for
11752    <code>modifyCursorKeys</code> resource.</li>
11753
11754    <li>add <code>modifyCursorKeys</code> resource to control how
11755    the shift- and similar modifiers are used to make a cursor
11756    escape sequence. The default makes a modified escape sequence
11757    always start with CSI and puts the modifier as the second
11758    parameter, to avoid confusing applications that would interpret
11759    the first parameter as a repeat count. The original behavior
11760    can be obtained by setting the resource to 0 (newsgroup
11761    discussion with Stephen J Turnbull, Jeffrey Altman).</li>
11762
11763    <li>correct missing initializations for
11764    <code>appdefaultCursor</code> and <code>appdefaultKeypad</code>
11765    resources.</li>
11766
11767    <li>add configure option <code>--enable-luit</code> and ifdef'd
11768    the luit-related code with OPT_LUIT_PROG.</li>
11769
11770    <li>modify xterm to invoke luit (integrated patch by Tomohiro
11771    Kubota)</li>
11772
11773    <li>update wcwidth.c to match Markus Kuhn's 2002-05-18
11774    version.</li>
11775
11776    <li>correct limit-checking in <code>ComputeSelect()</code> to
11777    handle selections that extend off the visible area; rather than
11778    modify the parameters to <code>TrackText()</code>, use
11779    <code>ScrollSelection()</code> to update the highlighting
11780    limits. (reported by Yegappan Lakshmanan and Nelson Beebe,
11781    patch by Alexander V Lukyanov).</li>
11782
11783    <li>correct manpage description of <code>tiXtraScroll</code>
11784    resource (reported by Tony Finch).</li>
11785
11786    <li>changes from OpenBSD:
11787      <ul>
11788        <li>Make xterm setgid utmp to be able to update utmp even
11789        with root privileges revoked.</li>
11790
11791        <li>If not updating utmp, revoke group privileges totally
11792        too.</li>
11793      </ul>
11794    </li>
11795
11796    <li>changes from NetBSD:
11797      <ul>
11798        <li>Check that the return value from ttyslot() is greater
11799        than 0 before writing the utmp file. Fixes w's "w: Stale
11800        utmp entry: &lt;user&gt; &lt;tty&gt; &lt;pty&gt;"
11801        errors.</li>
11802
11803        <li>Use openpty() to deal with new pty naming scheme.</li>
11804      </ul>
11805    </li>
11806
11807    <li>add <code>print-redir</code> action and menu entry to allow
11808    user to switch terminal in/out of printer controller mode. It
11809    appears from the manual that a real vt220 would not switch back
11810    to normal mode, so another mechanism is used (addresses Debian
11811    #37517).</li>
11812
11813    <li>check if <code>printerCommand</code> resource string is
11814    empty, use this to allow user to disable printer function.</li>
11815
11816    <li>trim trailing blanks from resource strings.</li>
11817
11818    <li>check return value from <code>ptsname()</code>, which may
11819    return null for example if someone has changed the permissions
11820    of /dev/pts to zero (Debian #121899).</li>
11821
11822    <li>modify OS/2 version to use <code>__UNIXOS2__</code>
11823    definition rather than <code>__EMX__</code>, related cleanup
11824    (patch by Holger Veit).</li>
11825
11826    <li>used modified indent 2.0 (patch <a href=
11827    "ftp://ftp.invisible-island.net/gnu-patches/">20020428</a>) to
11828    reformat most of the C source files, to simplify
11829    maintenance.</li>
11830
11831    <li>fix a couple of places where there were leading tabs on
11832    symbol-definition lines in Imakefile (Marc La France from
11833    report by Tony Finch)</li>
11834
11835    <li>add imake variable (TraceXTerm) to allow building debug
11836    version (Egbert Eich).</li>
11837  </ul>
11838
11839  <h1><a name="xterm_166" id="xterm_166">Patch #166 - 2002/3/25 -
11840  XFree86 4.2.0</a></h1>
11841
11842  <ul>
11843    <li>correct a bug in selection: double clicking on a word which
11844    was partly scrolled off the screen may select that text (report
11845    by Vincent Lef&egrave;vre &lt;vincent@vinc17.org&gt;).</li>
11846
11847    <li>implement <code>veryBoldColors</code> resource to control
11848    whether the corresponding video attribute such as
11849    <code>bold</code> is displayed when using
11850    <code>colorBDMode</code>, etc. (request by Josh Howard
11851    &lt;jrh@vicor-nb.com&gt;).</li>
11852
11853    <li>define escape sequences for function keys F21-F35 (patch by
11854    Stephen P Wall).</li>
11855
11856    <li>change the colors for the 256-color model, making them less
11857    skewed toward black (patch by Stephen P Wall).</li>
11858
11859    <li>add <code>vt100Graphics</code> resource (see <a href=
11860    "#xterm_115">patch #115</a>, based on discussion with Glenn
11861    Maynard).</li>
11862
11863    <li>ifdef'd Xaw/Xaw3d/neXtaw includes separately to avoid
11864    potential incompatibilities between these flavors of Athena
11865    widgets.</li>
11866
11867    <li>add configure check for XFree86 4.x Xaw library, whose
11868    geometry management is broken, to avoid trying to use it for
11869    toolbar configuration.</li>
11870
11871    <li>updates to configure script from vile and lynx to allow
11872    configure.in to be compiled with autoconf 2.5x</li>
11873
11874    <li>add a check for null pointer return by
11875    <code>ptsname()</code> (newsgroup posting from Mike Silva
11876    &lt;mikesilva@lucent.com&gt;).</li>
11877
11878    <li>fill in a few details needed to allow UTF-8 mode to switch
11879    on/off after startup. This requires that <code>wideChars</code>
11880    resource be set. (based on comments in 4 Aug 2001 by Alexey
11881    Marinichev &lt;lyosha@lyosha.2y.net&gt;).</li>
11882
11883    <li>remove duplicate install rules that make directories, e.g.,
11884    so installing manpage will not create app-defaults
11885    directory.</li>
11886
11887    <li>add comment in in <code>do_osc()</code>, reserving cases 30
11888    and 31 for for Konsole (request by Stephan Binner
11889    &lt;Stephan.Binner@gmx.de&gt;).</li>
11890
11891    <li>fixes for ctlseqs.ms and xterm.man (patch by Werner Lemberg
11892    &lt;wl@gnu.org&gt;).</li>
11893
11894    <li>add check for monochrome display, disabling colorMode in
11895    that case (fixes Debian #134130).</li>
11896
11897    <li>resync with XFree86 CVS
11898      <ul>
11899        <li>Fix some xterm build warnings on *BSD (patch by David
11900        Dawes).</li>
11901
11902        <li>Only use SA_RESTART in xterm when it's available (patch
11903        by Frank Liu).</li>
11904
11905        <li>Fix incorrect code in signal handlers in most of the
11906        clients, xterm and xdm not done yet (patch by Matthieu
11907        Herrb).</li>
11908      </ul>
11909    </li>
11910  </ul>
11911
11912  <h1><a name="xterm_165" id="xterm_165">Patch #165 - 2002/1/5 -
11913  XFree86 4.1.0</a></h1>
11914
11915  <ul>
11916    <li>modify <code>uxterm</code> script to strip encoding part
11917    from environment variable before adding ".UTF-8" (based on
11918    Debian #125947, but using a more portable solution).</li>
11919
11920    <li>add an assignment statement in VTInitialize() to make
11921    <code>awaitInput</code> resource work.</li>
11922
11923    <li>use new macros init_Bres(), etc., in VTInitialize() to add
11924    trace of the initialization of resources.</li>
11925
11926    <li>modify checks for $LC_ALL, related environment variables to
11927    ensure the resulting strings are nonempty (report by Markus
11928    Kuhn).</li>
11929
11930    <li>add an ifdef in charproc.c for num_ptrs variable in case
11931    all configure options are disabled.</li>
11932
11933    <li>modify definition of getXtermBackground() to avoid negative
11934    array index warning on Tru64 (report by Jeremie Petit).</li>
11935
11936    <li>improve fix from patch #165 (still Debian #117184, report
11937    by Matt Zimmerman &lt;mdz@debian.org&gt;)</li>
11938
11939    <li>correct install rule for uxterm in Makefile.in, to handle
11940    the case where building in a different directory than xterm's
11941    source (patch by Paul Gilmartin).</li>
11942
11943    <li>documented ANSI.SYS-style cursor save/restore escape
11944    sequences in ctlseqs.ms, which are in xterm since X11R5.</li>
11945
11946    <li>correct two entries in the default charClass table, which
11947    did not follow the manpage comment about the character number
11948    corresponding to the class (patch by Marc Bevand
11949    &lt;bevand_m@epita.fr&gt;).</li>
11950
11951    <li>fix a couple of typos in comments in the app-defaults files
11952    (David Krause &lt;xfree86@davidkrause.com&gt;).</li>
11953
11954    <li>resync with XFree86 CVS
11955      <ul>
11956        <li>update language of copyrights in some files to reflect
11957        the fact that they were reassigned from X Consortium to The
11958        Open Group in 1998. Note that this xterm source is derived
11959        from the 1996 version from X Consortium, does not
11960        incorporate changes made by X Consortium or The Open Group
11961        after that date, hence we do not add The Open Group's 1998
11962        copyright date to related files.</li>
11963
11964        <li>save/restore <code>errno</code> in signal catcher
11965        (patch by Matthieu Herrb).</li>
11966
11967        <li>modify UXTerm.ad's font5 resource so that xterm can
11968        display double width characters using a font distributed
11969        with XFree86 (Tomohiro Kubota).</li>
11970      </ul>
11971    </li>
11972  </ul>
11973
11974  <h1><a name="xterm_164" id="xterm_164">Patch #164 - 2001/11/13 -
11975  XFree86 4.1.0</a></h1>
11976
11977  <ul>
11978    <li>correct a case where <code>ptyInitialErase</code> and
11979    <code>backarrowKeyIsErase</code> resources combine to set
11980    <code>DECBKM</code> mode, but a <code>reset</code> command
11981    would not reset xterm to that state, making the erase character
11982    revert to ^H (Debian #117184)</li>
11983  </ul>
11984
11985  <h1><a name="xterm_163" id="xterm_163">Patch #163 - 2001/11/04 -
11986  XFree86 4.1.0</a></h1>
11987
11988  <ul>
11989    <li>correct ifdef's for <code>__QNX__</code> and
11990    <code>USE_SYSV_PGRP</code> in main.c call to
11991    <code>tcsetpgrp</code>, which broke bash behavior around
11992    <a href="#xterm_140">patch #140</a> (report/patch by Frank Liu
11993    &lt;fliu@mail.vipstage.com&gt;).</li>
11994
11995    <li>modify trace.c to fix missing definition of GCC_UNUSED for
11996    compilers other than gcc when configured for trace code
11997    (report/patch by Paul Gilmartin).</li>
11998
11999    <li>change format in TraceOptions() to use long rather than
12000    int, since the latter could lose precision on 64-bit machines
12001    (report/patch by Nelson Beebe).</li>
12002
12003    <li>modify xterm manual page and minstall.sh to allow imake
12004    rules to define location of app-defaults directory (Debian
12005    #87611).</li>
12006
12007    <li>review/update list of conflicting preprocessor symbols to
12008    remove from $CPPFLAGS at the end of the configure script. In
12009    particular, this allows one to configure xterm without the
12010    utempter library on Redhat 7.1 (report/patch by Adam
12011    Sulmicki).</li>
12012  </ul>
12013
12014  <h1><a name="xterm_162" id="xterm_162">Patch #162 - 2001/10/23 -
12015  XFree86 4.1.0</a></h1>
12016
12017  <ul>
12018    <li>correct logic that processes <code>-class</code> option, so
12019    that a following <code>-e</code> option is handled (Debian
12020    #116297).</li>
12021
12022    <li>improve options-decoding to allow <code>-version</code> and
12023    <code>-help</code> options to be combined (Debian
12024    #110226).</li>
12025
12026    <li>add a 10 millisecond delay in event loop when processing
12027    <code>-hold</code> option, to avoid using too much CPU time
12028    (Debian #116213).</li>
12029
12030    <li>prefix final program execution in <code>uxterm</code> with
12031    "exec" to avoid a useless shell hanging around (Christian
12032    Weisgerber).</li>
12033  </ul>
12034
12035  <h1><a name="xterm_161" id="xterm_161">Patch #161 - 2001/10/10 -
12036  XFree86 4.1.0</a></h1>
12037
12038  <ul>
12039    <li>modify logic that resets keypad application mode to avoid
12040    doing this if there is no modifier associated with the Num_Lock
12041    keysym (report by John E Davis &lt;davis@space.mit.edu&gt; and
12042    Alan W Irwin &lt;irwin@beluga.phys.uvic.ca&gt;).</li>
12043
12044    <li>add built-in translation for Control/KP_Separator to
12045    KP_Subtract, to accommodate users who wish to use xmodmap to
12046    reassign the top row of the numeric keypad.</li>
12047
12048    <li>correct Imakefile install-rule for <code>uxname</code>
12049    script (reported by Nam SungHyun &lt;namsh@lge.com&gt;).</li>
12050
12051    <li>resync with XFree86 CVS &ndash; correct typo in
12052    <code>&lt;ncurses/term.h&gt;</code> ifdef.</li>
12053  </ul>
12054
12055  <h1><a name="xterm_160" id="xterm_160">Patch #160 - 2001/10/7 -
12056  XFree86 4.1.0</a></h1>
12057
12058  <ul>
12059    <li>modify logic in main.c (see <a href="#xterm_145">patch
12060    #145</a>) to avoid generating the same identifier, for example,
12061    for /dev/tty1 and /dev/pts/1, which is used to denote an entry
12062    in the utmp file (Debian bug report #84676), A similar fix was
12063    also sent by Jerome Borsboom &lt;borsboom@westbrabant.net&gt;
12064    in May, but I overlooked it when reviewing bug reports.</li>
12065
12066    <li>add configure check for <code>&lt;ncurses/term.h&gt;</code>
12067    to get rid of hardcoded <code>__CYGWIN__</code> ifdef in
12068    resize.c
12069      <p>NOTE: The CYGWIN port should not be linking
12070      <code>resize</code> with ncurses. It appears that the only
12071      reason it is, is because both the ncurses and termcap ports
12072      on that platform are badly misconfigured (essential pieces
12073      have been removed, etc). Checking for
12074      <code>&lt;ncurses/term.h&gt;</code> does not hurt anything,
12075      since there are some correct installations that are set up
12076      that way.</p>
12077    </li>
12078
12079    <li>add a sample <code>uxterm</code> script, which uses the
12080    <code>UXTerm</code> application defaults for UTF-8
12081    environments.</li>
12082
12083    <li>undo change to xterm application defaults, since this
12084    introduced an unnecessary incompatibility. The intended
12085    functionality was already addressed by the <a href=
12086    "#xterm_141">UXTerm</a> app-defaults file.</li>
12087
12088    <li>resync with XFree86 CVS
12089      <ul>
12090        <li>Modified xterm app default to use LFD fontnames instead
12091        of old type (Michael Schroeder).</li>
12092
12093        <li>Fix xterm when XIM is disabled - caused a segfault
12094        (Tomohiro Kubota).</li>
12095      </ul>
12096    </li>
12097  </ul>
12098
12099  <h1><a name="xterm_159" id="xterm_159">Patch #159 - 2001/9/19 -
12100  XFree86 4.1.0</a></h1>
12101
12102  <ul>
12103    <li>remove an ifdef for <code>USE_HANDSHAKE</code> added in
12104    patch #158 from the second <code>TIOCSSIZE</code> ioctl call in
12105    the initialization code. Paul Gilmartin reports that for
12106    Solaris 2.6 (sparc), stty does not show that xterm sets rows
12107    and columns unless the second ioctl is executed.</li>
12108
12109    <li>correct treatment of empty parameter list for some OSC
12110    strings (report by Sami Farin &lt;sfarin@ratol.fi&gt;).</li>
12111  </ul>
12112
12113  <h1><a name="xterm_158" id="xterm_158">Patch #158 - 2001/9/8 -
12114  XFree86 4.1.0</a></h1>
12115
12116  <ul>
12117    <li>augment key translations for scrollbar widget to ensure
12118    that keystrokes intended for the text area are not lost if the
12119    mouse pointer happens to fall on the scrollbar. This can
12120    happen, for instance, if the user's <code>app-defaults</code>
12121    or <code>.Xdefaults</code> file contains a translations
12122    resource, though it may also happen through unrelated resource
12123    settings: probably a bug in libXt (reported by Paul Fox
12124    &lt;pgf@foxharp.boston.ma.us&gt; and Dmitry Yu. Bolkhovityanov
12125    &lt;D.Yu.Bolkhovityanov@inp.nsk.su&gt;).</li>
12126
12127    <li>widen ifdef's in xterm.h to define
12128    <code>__EXTENSIONS__</code> on Solaris, for compilers other
12129    than gcc. This was added along <code>_POSIX_C_SOURCE</code>
12130    with in <a href="#xterm_151">patch #151</a>, but is not
12131    sufficient since Sun's compiler does not define
12132    <code>__STDC__</code> by default (report by Matthias Scheler
12133    &lt;tron@zhadum.de&gt;).</li>
12134
12135    <li>modify xterm to obtain the closest matching color if an
12136    exact color is not available, e.g., on 8-bit displays (patch by
12137    Stephen P Wall)</li>
12138
12139    <li>implement "OverTheSpot" preedit type of XIM input (patch by
12140    Tomohiro Kubota):
12141      <ul>
12142        <li>This preedit type is a reasonable compromise between
12143        simpleness of implementation and usefulness. "Root" preedit
12144        type is easy to implement but not useful; "OnTheSpot"
12145        preedit type is the best in the point of view of user
12146        interface but very complex. And more, "OverTheSpot" is the
12147        preedit type which the most XIM servers support. Thus, to
12148        achieve reasonable usability, support of "OverTheSpot"
12149        preedit type is needed.</li>
12150
12151        <li>In "OverTheSpot" preedit type, the preedit
12152        (preconversion) string is displayed at the position of the
12153        cursor. On the other hand, it is XIM server's
12154        responsibility to display the preedit string. Thus, it is
12155        needed for XIM client (here XTerm) to inform the XIM server
12156        of the cursor position. And more, to achieve good visual
12157        proportion, preedit string must be written using proper
12158        font. Thus, it is XIM client's responsibility to inform the
12159        XIM server of the proper font. The font must be supplied by
12160        "fontset". Fontset is a set of fonts with charsets which
12161        are specified by the current locale. Since XTerm uses
12162        ISO10646 fonts regardless of the current locale, the fonts
12163        for XIM must be prepared separately. It is difficult to
12164        prepare fonts which are similar to XTerm font. Thus, my
12165        patch uses a simple way - the default font is "*" which
12166        matches every fonts and X library will automatically choose
12167        fonts with proper charsets. I added "-fx" command option
12168        and "ximFont" resource to override this default font
12169        setting.</li>
12170
12171        <li>changed the definition of "OverTheSpot" preedit type
12172        from XIMPreeditPosition|XIMStatusArea to
12173        XIMPreeditPosition|XIMStatusNothing. This matches the
12174        behavior of other programs such as Rxvt, Kterm, Gedit.</li>
12175
12176        <li>A tiny XIM bugfix is also included. By calling
12177        XSetLocaleModifiers() with parameter of "", it can consider
12178        XMODIFIERS environmental variable which is a standard way
12179        for users to specify XIM server to be used.</li>
12180      </ul>
12181    </li>
12182
12183    <li>adjust configure script to accommodate repackaging of
12184    keysym2ucs.c as include-file for xutf8.c (patch by Tomohiro
12185    Kubota).</li>
12186
12187    <li>add the <code>UXTerm</code> app-defaults file to makefile
12188    install rules (request by Juliusz Chroboczek).</li>
12189
12190    <li>correct logic in <code>get_termcap()</code>, which returned
12191    false if the <code>tgetent()</code> call indicated that xterm
12192    was linked with terminfo. Although the <code>$TERMCAP</code>
12193    variable cannot be adjusted in this case, xterm still needs
12194    information from this call to extract data to initialize the
12195    erase-mode when the <code>ptyInitialErase</code> resource is
12196    false.</li>
12197
12198    <li>modify <code>ScrollbarReverseVideo()</code> function to
12199    cache the original border color, so it can restore that when an
12200    application flashes the screen (Bugzilla #38872).</li>
12201
12202    <li>resync with XFree86 CVS
12203      <ul>
12204        <li>remove ifdef's for X_NOT_STDC_ENV (patch by David
12205        Dawes).</li>
12206
12207        <li>add Cygwin to special errno handling case in ptydata.c
12208        (Alan Hourihane)</li>
12209
12210        <li>set screen size earlier in initialization, to address a
12211        race with window manager resizing its clients (Keith
12212        Packard).</li>
12213      </ul>
12214    </li>
12215  </ul>
12216
12217  <h1><a name="xterm_157" id="xterm_157">Patch #157 - 2001/6/18 -
12218  XFree86 4.1.0</a></h1>
12219
12220  <ul>
12221    <li>clean up button.c and input.c (patch by Juliusz
12222    Chroboczek). The basic idea is to use a single set of APIs in
12223    the XTerm core, and put a set of workarounds in a separate
12224    file. As you will notice, this drastically simplifies parts of
12225    the code; in particular, the only remaining ifdefs related to
12226    the differences between Xutf8 and legacy systems are related to
12227    the selection provider logic. This defines two new files,
12228    xutf8.h and xutf8.c, provide some half-hearted but fully
12229    portable emulation for the three Xutf8* functions that XTerm
12230    uses. Putting these in a separate file will allow people to
12231    experiment with more complex versions without making the core
12232    of XTerm more difficult to maintain. The functionality of the
12233    emulation is as follows.
12234      <ul>
12235        <li>Xutf8TextListToTextProperty fully handles XStringstyle
12236        and XUTF8StringStyle. It will only generate STRING for
12237        XStdICCTextStyle, and will only generate Latin-1 in
12238        XCompoundTextStyle (but label it as COMPOUND_TEXT, as the
12239        spec requires). (I have hesitated to make this function
12240        fail for XStdICCTextStyle and XCompoundTextStyle; this
12241        might be a smart thing to do, in the hope that the
12242        selection requestor will try UTF8_STRING afterwards;
12243        opinions?)</li>
12244
12245        <li>Xutf8TextPropertyToTextList fully handles STRING and
12246        UTF8_STRING. It systematically fails for
12247        COMPOUND_TEXT.</li>
12248
12249        <li>Xutf8LookupString will properly handle single-keystroke
12250        input for the keysyms covered by Markus' keysym2ucs
12251        function. It will not handle either compose key input or
12252        external input methods.</li>
12253      </ul>
12254    </li>
12255
12256    <li>add an ifdef for <code>SunXK_F36</code>, used in
12257    <code>xtermcapKeycode()</code> (patch by Mark Waggoner
12258    &lt;waggoner@ichips.intel.com&gt;).</li>
12259
12260    <li>modify check for login name to try <code>getlogin()</code>
12261    and $LOGNAME, $USER environment variables to detect if the user
12262    has logged in under an alias, i.e., an account with the same
12263    user id but a different name (Debian bug report #70084).</li>
12264
12265    <li>add resource <code>tiXtraScroll</code>, which can be used
12266    to preserve the screen contents in the scrollback rather than
12267    erasing it when starting a fullscreen application such as
12268    <code>vi</code> (patch by Ken Martin
12269    &lt;fletcher@catsreach.org&gt;).</li>
12270
12271    <li>two patches by Denis Zaitsev &lt;zzz@cd-club.ru&gt;:
12272      <ul>
12273        <li>added <code>forceBoxChars</code> resource to control
12274        the "line-drawing characters" option.</li>
12275
12276        <li>added <code>freeBoldBox</code> resource, which, when
12277        set true, suppresses check in
12278        <code>same_font_size()</code>, so xterm does not attempt to
12279        ensure that the bold font is the same size as the normal
12280        font.</li>
12281      </ul>
12282    </li>
12283
12284    <li>change the color class for ANSI colors and similar ones
12285    such as bold-color, etc., to follow the convention that the
12286    classname is the instance name with a leading capital (e.g.,
12287    <code>color0</code> and <code>Color0</code> rather than
12288    <code>color0</code> and <code>Foreground</code>). There was
12289    little use for Foreground as a class other than to create
12290    occasional confusion and bug reports, most recently by Nelson
12291    Beebe who reports that it disables colors in xterm but not on
12292    Linux, which is probably due to a difference in resource
12293    evaluation order. A configure script option
12294    (--disable-color-class) is provided for anyone who did use the
12295    older behavior.</li>
12296
12297    <li>fix a signal-handling bug. When running xterm with
12298    <code>ksh</code> or similar shell such as bash 2.05, xterm will
12299    hang and not respond to keystrokes after the user types
12300    <code>suspend</code>. Additionally the popup menus do not
12301    respond, so it is not possible to send SIGCONT to the shell.
12302    What is happening is that the shell is sending itself SIGSTOP,
12303    and it is being stopped. Per specification it also means that
12304    the operating system is sending SIGCHLD to parent to the bash
12305    (XTERM). Now the issue is that xterm assumes it cannot happen
12306    and it expects to receive SIGCHLD only upon
12307    <em>termination</em> of its children. This causes a deadlock
12308    with xterm waiting for the child to die, and the child waiting
12309    for SIGCONT. (report/patch by Adam Sulmicki), analysis/testing
12310    by Sven Mascheck
12311    &lt;sven.mascheck@student.uni-ulm.de&gt;).</li>
12312
12313    <li>correct some inconsistent checks for
12314    <code>XtReleaseGC()</code> calls in
12315    <code>xtermLoadFont()</code> (patch by Nam SungHyun
12316    &lt;namsh@lge.com&gt;).</li>
12317
12318    <li>updated wcwidth.c and keysym2ucs.c to versions dated
12319    2001/1/12 and 2001/4/18, respectively from
12320    http://www.cl.cam.ac.uk/~mgk25/ucs/</li>
12321
12322    <li>correction to change from <a href="#xterm_90">patch
12323    #90</a>, which was intended to reset the saved cursor position
12324    for normal/alternate screens on a soft reset, but actually
12325    wiped out all of the saved cursor information. Just reset the
12326    saved position for the current screen (report by Michael
12327    Schroeder).</li>
12328
12329    <li>modify ShowCursor() and HideCursor() so that if the cursor
12330    points to the second part of a wide character, make the
12331    show/hide operate on the first position of the wide character
12332    (patch by Sven Verdoolaege).</li>
12333
12334    <li>scrolling in the alternate screen just before switching
12335    back to the main screen can cause extra blank lines to be
12336    inserted into the scrollback buffer (patch by Paul Vojta
12337    &lt;vojta@math.berkeley.edu&gt;).</li>
12338
12339    <li>resync with XFree86 4.1.0:
12340      <ul>
12341        <li>Use TermcapLibrary as -lncurses instead of -ltermcap,
12342        fixes problem building xterm/resize on Cygwin/XFree86
12343        (Harold Hunt).</li>
12344
12345        <li>Install xterm.termcap and xterm.terminfo when
12346        installing xterm (Torrey T. Lyons).</li>
12347
12348        <li>Fix some build issues on Cygwin/XFree86 (Suhaib
12349        Siddiqi).</li>
12350
12351        <li>Define CBAUD, when it's missing in xterm, on LynxOS
12352        (Stuart Lissaman).</li>
12353      </ul>
12354    </li>
12355  </ul>
12356
12357  <h1><a name="xterm_156" id="xterm_156">Patch #156 - 2001/4/28 -
12358  XFree86 4.0.3</a></h1>
12359
12360  <ul>
12361    <li>change order of selection-target types to make 8-bit xterm
12362    prefer UTF8_STRING to COMPOUND_TEXT (patch by Juliusz
12363    Chroboczek).</li>
12364
12365    <li>document <code>-fa</code>, <code>-fs</code> command-line
12366    options and <code>faceName</code>, <code>faceSize</code>
12367    resources which are used by the freetype library support.</li>
12368
12369    <li>if configure script finds freetype libraries, but imake
12370    definitions do not have the XRENDERFONT definition, define it
12371    anyway.</li>
12372
12373    <li>modify configure script check for freetype libraries to
12374    include <code>&lt;Xlib.h&gt;</code>, since an older version of
12375    the related headers relies on this (patch by Adam
12376    Sulmicki).</li>
12377  </ul>
12378
12379  <h1><a name="xterm_155" id="xterm_155">Patch #155 - 2001/4/20 -
12380  XFree86 4.0.3</a></h1>
12381
12382  <ul>
12383    <li>correct return type of in_put() from <a href=
12384    "#xterm_155">patch #153</a> changes, which left it not wide
12385    enough for UTF-8 (patch by Bruno Haible).</li>
12386  </ul>
12387
12388  <h1><a name="xterm_154" id="xterm_154">Patch #154 - 2001/4/11 -
12389  XFree86 4.0.3</a></h1>
12390
12391  <ul>
12392    <li>undo check for return value from <code>pututline</code>
12393    (used for debugging) since that function does not return a
12394    value on Slackware 3.6.</li>
12395
12396    <li>correct length in ScreenWrite, when rendering invisible
12397    text (patch by Sven Verdoolaege &lt;skimo@kotnet.org&gt;).</li>
12398
12399    <li>fixes/improvements for the <code>i18nSelection</code>
12400    resource from patch #153, by Bruno Haible:
12401      <ul>
12402        <li>add missing initialization for
12403        <code>i18nSelection</code> resource.</li>
12404
12405        <li>split-out the non-ICCM aspect of the
12406        <code>i18nSelection</code> resource as a new resource,
12407        <code>brokenSelections</code>.</li>
12408      </ul>
12409    </li>
12410
12411    <li>add configure check for <code>&lt;time.h&gt;</code> and
12412    <code>&lt;sys/time.h&gt;</code>, to allow for Unixware&nbsp;7,
12413    which requires both. If the configure script is not used, only
12414    <code>&lt;time.h&gt;</code> will be included as before (report
12415    by Thanh Ma).</li>
12416
12417    <li>fix redefinition of <code>dup2</code>,
12418    <code>getutent</code>, <code>getutid</code>,
12419    <code>getutline</code> and <code>sleep</code> functions on
12420    Unixware&nbsp;7 (report by Thanh Ma
12421    &lt;Thanh.Ma@casi-rusco.com&gt;)</li>
12422
12423    <li>add a fall-back definition for <code>__hpux</code>, which
12424    is apparently not defined in some compilers on HPUX 11.0
12425    (reported by Clint Olsen).</li>
12426
12427    <li>change VAL_INITIAL_ERASE, which is used as a fallback for
12428    the <code>"kb"</code> termcap string to 8, since that matches
12429    the xterm terminal description (request by Alexander V
12430    Lukyanov).</li>
12431
12432    <li>correct an off-by-one in <code>ClearInLine</code>, which
12433    caused the erase-characters (ECH) control to display
12434    incorrectly (patch by Alexander V Lukyanov).</li>
12435
12436    <li>correct escape sequences shown in terminfo for shifted
12437    editing keys. The modifier code was for the control key rather
12438    than the shift key.</li>
12439  </ul>
12440
12441  <h1><a name="xterm_153" id="xterm_153">Patch #153 - 2001/3/29 -
12442  XFree86 4.0.3</a></h1>
12443
12444  <ul>
12445    <li>increase PTYCHARLEN to 8 for os390, add some debugging
12446    traces for UTMP functions (patch by Paul Gilmartin).</li>
12447
12448    <li>correct an misplaced brace in
12449    <code>SelectionReceived()</code> (patch by Bruno Haible).</li>
12450
12451    <li>correct an assignment dropped in
12452    <code>SelectionReceived()</code> which made it not compile for
12453    wide-characters combined with debug traces.</li>
12454
12455    <li>correct typo, clarify description of 88- and 256-color
12456    controls (report by Bram Moolenaar).</li>
12457
12458    <li>correct a typo in ctlseqs.ms which caused DEC Locator
12459    control sequences using single quote "'" display grave "`"
12460    instead (reported by Paul Williams, apparently in patch
12461    #114).</li>
12462  </ul>
12463
12464  <h1><a name="xterm_152" id="xterm_152">Patch #152 - 2001/3/13 -
12465  XFree86 4.0.2</a></h1>
12466
12467  <ul>
12468    <li>correct index in inner loop in <code>VTInitI18N()</code>
12469    from patch #151 changes, which resulted in infinite loop under
12470    some conditions (report/analysis by Paul Gilmartin).</li>
12471
12472    <li>remove spurious "%|" from terminfo sgr capabilities
12473    (report/analysis by Adam M Costello, Debian #89222).</li>
12474
12475    <li>add shell script to adjust list of dynamic libraries linked
12476    by <code>resize</code> when building with the standalone
12477    configure script. Otherwise it uses the same list as for xterm,
12478    which is excessive.</li>
12479
12480    <li>fix a few compiler warnings reported by the 20010305 gcc
12481    snapshot.</li>
12482  </ul>
12483
12484  <h1><a name="xterm_151" id="xterm_151">Patch #151 - 2001/3/10 -
12485  XFree86 4.0.2</a></h1>
12486
12487  <ul>
12488    <li>alter the behaviour of selections in XTerm (patch by
12489    Juliusz Chroboczek). It is believed to follow the ICCCM +
12490    UTF8_STRING to the letter, both in UTF-8 and in eight-bit mode.
12491    From his description:
12492      <ul>
12493        <li>When compiled against XFree86 4.0.2, the patched XTerm
12494        will make the selection available as COMPOUND_TEXT, STRING
12495        or UTF8_STRING in both modes. It will request selections in
12496        the following order:
12497          <p>UTF-8 mode: UTF8_STRING, TEXT, COMPOUND_TEXT,
12498          STRING.<br>
12499          eight-bit mode: TEXT, COMPOUND_TEXT, UTF8_STRING,
12500          STRING.</p>
12501        </li>
12502
12503        <li>When compiled against an earlier version of XFree86 (or
12504        compiled with OPT_UTF8_API=0), it will still obey the
12505        ICCCM, but will neither request nor provide UTF8_STRING in
12506        eight-bit mode, and neither TEXT nor COMPOUND_TEXT in UTF-8
12507        mode.</li>
12508
12509        <li>For compatibility with previous versions of XTerm, a
12510        resource <code>i18nSelections</code> is provided, please
12511        see the manpage for details. However, due to an unexpected
12512        combination of ICCCM extensions by various bits and pieces
12513        of the libraries, interacting with previous versions of
12514        XTerm will work in many locales even without this flag.
12515        (Please do not set this resource to true by default, as
12516        this would violate the ICCCM.)</li>
12517      </ul>
12518    </li>
12519
12520    <li>improved error checking/reporting in VTInitI18N(), ensuring
12521    that lack of input method styles is treated distinctly from a
12522    mismatch.</li>
12523
12524    <li>remove an incorrect ifdef from patch #141 which suppressed
12525    overstriking to simulate bold font when xterm was compiled to
12526    support wide characters (report/analysis by Adam M Costello
12527    &lt;amc@cs.berkeley.edu&gt;, Debian #76404, Debian
12528    #77575).</li>
12529
12530    <li>modify <code>RequestResize()</code> function to
12531    save/restore window manager hints. Its call to
12532    <code>XtMakeResizeRequest()</code> had the undesirable
12533    side-effect of clearing window manager hints, e.g., when
12534    switching to 132-columns via DECCOLM escape sequence. Window
12535    manager hints make it simple to resize xterm in terms of
12536    character cells rather than pixels (reports by Christian
12537    Weisgerber, Debian #79939).
12538      <p>This applies to the normal configuration. When built with
12539      toolbar support, the hints are applied to a different widget
12540      level (more work will be needed to make hints work with the
12541      toolbar).</p>
12542    </li>
12543
12544    <li>fix a redefinition warning for resize.c on OpenBSD (patch
12545    by Christian Weisgerber).</li>
12546
12547    <li>change resource corresponding to <code>-T</code> option to
12548    match Xt library's <code>-title</code>, i.e.,
12549    <code>.title</code> rather than <code>*title</code> so the
12550    command-line options are interchangeable as documented (Debian
12551    bug report #68843).</li>
12552
12553    <li>add script used from autoconf'd makefile for installing
12554    manpages, since recent XFree86 changing the way section numbers
12555    are represented makes the install dependent on extra
12556    scripts.</li>
12557
12558    <li>add configure check for freetype libraries and configure
12559    option --disable-freetype to override this feature.</li>
12560
12561    <li>modify some configure script macros to avoid using
12562    changequote(), which has been rendered useless in the latest
12563    autoconf alpha 2.49c</li>
12564
12565    <li>update config.guess, config.sub to 2001-2-13</li>
12566
12567    <li>remove redundant/contradictory __CYGWIN__ definitions from
12568    resize.c</li>
12569
12570    <li>correct manpage typo introduced by X11R6.5 resync.</li>
12571  </ul>
12572
12573  <p>Changes from XFree86 4.0.2:</p>
12574
12575  <ul>
12576    <li>add definition of <code>_POSIX_C_SOURCE</code> for Solaris
12577    to make this compile with <code>gcc -ansi -pedantic</code>
12578    (report by &lt;mark@zang.com&gt;.</li>
12579  </ul>
12580
12581  <h1><a name="xterm_150" id="xterm_150">Patch #150 - 2000/12/29 -
12582  XFree86 4.0.2</a></h1>
12583
12584  <ul>
12585    <li>move the binding for shifted keypad plus/minus, which
12586    invokes the <code>larger-vt-font()</code> and
12587    <code>smaller-vt-font()</code> actions, respectively, into the
12588    translations resource (suggested by Marius Gedminas
12589    &lt;mgedmin@puni.osf.lt&gt;).</li>
12590
12591    <li>modify configure script to support the
12592    <code>--program-prefix</code>, <code>--program-suffix</code>
12593    and <code>--program-transform-name</code> options (request by
12594    Alison Winters &lt;alison@mirrabooka.com&gt;).</li>
12595
12596    <li>fixes for wide/combining characters (Robert Brady):
12597      <ul>
12598        <li>fix a scrolling / combining characters display
12599        anomaly</li>
12600
12601        <li>fix a problem with double-width characters where if the
12602        primary font had no box-drawing characters, the right hand
12603        half of double-width characters was erased (reported by Yao
12604        Zhang &lt;yzhang@sharemedia.com&gt;).</li>
12605
12606        <li>fix special case of null byte for key handling in UTF-8
12607        locales.</li>
12608      </ul>
12609    </li>
12610
12611    <li>modify logic that compares sizes of normal and bold fonts
12612    to be more forgiving of the font server's choice of bold font
12613    which must match the normal font's size. Now
12614    <code>same_font_size()</code> compares the height of the fonts
12615    rather than individually ascent and descent, and allows the
12616    bold font to be one pixel smaller than the normal font
12617    (addresses a report by Alan Citterman &lt;alan@mticket.com&gt;,
12618    who says that something in patches <a href=
12619    "#xterm_146">#146</a> to <a href="#xterm_148">#148</a> made
12620    xterm more likely to overstrike bold fonts, and indirectly
12621    Debian bug report #76404, which reports the opposite).</li>
12622
12623    <li>make configure script use $CFLAGS and $CPPFLAGS
12624    consistently, including removing a chunk from configure.in
12625    which attempted to save/restore $CPPFLAGS while processing
12626    value set by the --x-includes option, but lost values set in an
12627    intervening AC_CHECK_HEADERS. This change modifies macros
12628    CF_ADD_CFLAGS, CF_ANSI_CC_CHECK and CF_X_TOOLKIT, as well as
12629    removing variables IMAKE_CFLAGS and X_CFLAGS from the generated
12630    makefile (the AC_CHECK_HEADERS problem was reported by Albert
12631    Chin-A-Young &lt;china@thewrittenword.com&lt;).</li>
12632
12633    <li>correct a comparison in SELECTWORD case of ComputeSelect(),
12634    which resulted in a word-selection wrapping past the first
12635    column without checking the first column's character class
12636    (reported by Christian Lacunza
12637    &lt;celacunza@netscape.net&gt;</li>
12638
12639    <li>correct a logic in UTF-8 mode for selecting double-width
12640    characters; a combining character was omitted (patch by Markus
12641    Kuhn).</li>
12642
12643    <li>add feature to pop (raise) window when a bell is received
12644    (patch by Gael Roualland
12645    &lt;gael.roualland@dial.oleane.com&gt;).</li>
12646
12647    <li>add __NetBSD__ and __OpenBSD__ to special-case in
12648    xterm_io.h for USE_POSIX_TERMIOS definition (patch by Christian
12649    Weisgerber).</li>
12650
12651    <li>move special-case HPUX include for &lt;sys/bsdtty.h&gt; to
12652    xterm_io.h to define TIOCSLTC, making HAS_LTCHARS defined for
12653    HPUX 10.20 (report by Bruno Betro).</li>
12654  </ul>
12655
12656  <h1><a name="xterm_149" id="xterm_149">Patch #149 - 2000/12/6 -
12657  XFree86 4.0.1h</a></h1>
12658
12659  <ul>
12660    <li>restructured includes for <code>termios.h</code>,
12661    <code>termio.h</code> and related definitions for main.c,
12662    os2main.c, screen.c and resize.c so they will share equivalent
12663    definitions in a new header <code>xterm_io.h</code>. This is
12664    intended to solve some problems mainly for HPUX which appear to
12665    arise from inconsistent definitions for SIGWINCH- and
12666    HAS_LTCHARS-related symbols (reports by Bruno Betro, Jeremie
12667    Petit and Clint Olsen).</li>
12668
12669    <li>improve usability of double-width fonts by allowing normal
12670    fonts to be given as double-width (from a patch by Fabrice
12671    Bellard &lt;bellard@email.enst.fr&gt;).</li>
12672
12673    <li>correct a few compiler warnings in TRACE() macros for
12674    signed/unsigned variable differences (reported by Clint
12675    Olsen).</li>
12676
12677    <li>make configure script use $CFLAGS and $CPPFLAGS more
12678    consistently, i.e., by using CF_ADD_CFLAGS in CF_ANSI_CC
12679    macro.</li>
12680
12681    <li>expanded description of environment variables in
12682    manual-page.</li>
12683
12684    <li>modify OPT_TCAP_QUERY feature to always return the termcap
12685    or terminfo capability string in the response, and to
12686    read/write the names in hexadecimal form to allow for the
12687    special case of termcap's <code>k;</code> name (patch by Bram
12688    Moolenaar).</li>
12689
12690    <li>add OPT_SAME_NAME and OPT_TCAP_QUERY to xtermcfg.hin, so
12691    the corresponding configure options work (patch by Bram
12692    Moolenaar).</li>
12693
12694    <li>resync with XFree86 4.0.1g:
12695      <ul>
12696        <li>Rewrite Xft library for Render extension/core text and
12697        font management Change xterm to use new interface (Keith
12698        Packard).</li>
12699      </ul>
12700    </li>
12701  </ul>
12702
12703  <h1><a name="xterm_148" id="xterm_148">Patch #148 - 2000/10/31 -
12704  XFree86 4.0.1d</a></h1>
12705
12706  <ul>
12707    <li>document logfile options in man-page.</li>
12708
12709    <li>correct spelling of <code>-samename</code> option in help
12710    message.</li>
12711
12712    <li>add configure script option
12713    <code>--enable-tcap-query</code> (request by Bram
12714    Moolenaar).</li>
12715
12716    <li>add a "Co" or "colors" entry to the OPT_TCAP_QUERY feature
12717    (patch by Bram Moolenaar).</li>
12718
12719    <li>patch by Kiyokazu Suto &lt;suto@ks-and-ks.ne.jp&gt;:
12720      <ul>
12721        <li>add support for bold font for double width characters.
12722        The font name may be specified with the command line option
12723        <code>-fwb</code> or with resource
12724        <code>wideBoldFont</code> (class
12725        <code>WideBoldFont</code>).</li>
12726
12727        <li>correct underlining of double width character string,
12728        which was drawn only half width.</li>
12729
12730        <li>correct binary search of precomposed character table,
12731        which may return wrong result when <code>int</code> is just
12732        32 bits.</li>
12733      </ul>
12734    </li>
12735
12736    <li>some changes to align terminfo with ncurses 5.2:
12737      <ul>
12738        <li>remove xtermm description, retaining xterm-mono since
12739        the former conflicts with ncurses.</li>
12740
12741        <li>modify initialization and reset strings to avoid
12742        putting the save/restore cursor operations bracketing
12743        changes to video attributes, since the changes could be
12744        lost when the cursor is restored. This affects xterm-r6 and
12745        xterm-8bit (the xterm-xfree86 entry uses the soft-reset
12746        feature which resets scrolling margins and origin mode
12747        without requiring us to save/restore the cursor
12748        position).</li>
12749
12750        <li>make a few entries explicitly inherit from
12751        xterm-xfree86 rather than xterm: xterm-rep, xterm-xmc,
12752        xterm-nrc</li>
12753      </ul>
12754    </li>
12755
12756    <li>ensure that sign-extension does not affect
12757    <code>ctype</code> macros by using <code>CharOf()</code> macro
12758    to coerce the parameter to an unsigned char.</li>
12759
12760    <li>resync with XFree86 4.0.1d:
12761      <ul>
12762        <li>Add primitive support in xterm for Xft based fonts
12763        (Keith Packard). The changes are ifdef'd with
12764        <code>-DXRENDERFONT</code>.</li>
12765      </ul>
12766    </li>
12767  </ul>
12768
12769  <h1><a name="xterm_147" id="xterm_147">Patch #147 - 2000/10/26 -
12770  XFree86 4.0.1c</a></h1>
12771
12772  <ul>
12773    <li>correct implementation of <code>ptyInitialErase</code>: the
12774    value assigned to <code>initial_erase</code> was for the
12775    control terminal, which is correct as far as it goes. But there
12776    was no following test for the pseudo-terminal's erase value,
12777    which would overwrite the default obtained from the control
12778    terminal (reported by Christian Weisgerber
12779    &lt;naddy@mips.inka.de&gt;).</li>
12780
12781    <li>modify check for printable-characters in OSC string to use
12782    xterm's ansi_table rather than isprint() macro, to isolate this
12783    check from locale settings. This fixes a problem using 8-bit
12784    characters to set the title (reported by Ricardas Cepas
12785    &lt;rch@richard.eu.org&gt;).</li>
12786
12787    <li>modify sample scripts to check for printf before print,
12788    since the latter is not as well standardized (e.g., on
12789    Linux).</li>
12790
12791    <li>updated config.sub, config.guess to reflect changes on
12792    subversions.gnu.org</li>
12793  </ul>
12794
12795  <h1><a name="xterm_146" id="xterm_146">Patch #146 - 2000/9/12 -
12796  XFree86 4.0.1c</a></h1>
12797
12798  <ul>
12799    <li>correct two instances overlooked from patch #141 which
12800    assumed UTF-8 mode without checking, causing a core dump in
12801    non-UTF-8 mode (one instance was reported by Tommi Virtanen
12802    &lt;tv@debian.org&gt;).</li>
12803
12804    <li>correct a problem selecting from the scrollback buffer in
12805    UTF-8 mode by changing remaining getXtermCell() calls to
12806    XTERM_CELL() as in the non-UTF-8 cases (report by Markus Kuhn,
12807    patch by Robert Brady).</li>
12808  </ul>
12809
12810  <h1><a name="xterm_145" id="xterm_145">Patch #145 - 2000/9/11 -
12811  XFree86 4.0.1c</a></h1>
12812
12813  <ul>
12814    <li>changes for UTF-8 configuration (Robert Brady):
12815      <ul>
12816        <li>doublewide characters don't lose their accents when the
12817        cursor moves onto or from them (a visual bug)</li>
12818
12819        <li>fix logic in addXtermCombining, which mean that if the
12820        low byte of a cell's first combining char was 0, a
12821        following combining char would go into combining slot 1,
12822        not 2.</li>
12823
12824        <li>modify logic for cut-buffers so UTF-8 data is first
12825        converted to Latin1.</li>
12826
12827        <li>collapse surrogates, 0xfffe, 0xffff to UCS_REPL.</li>
12828
12829        <li>modify to allow xterm to to show combining characters
12830        attached to doublewidth characters.</li>
12831
12832        <li>correct bug in linewrap with -u8 option (reported by
12833        Andreas Koenig &lt;andreas.koenig@anima.de&gt;).</li>
12834      </ul>
12835    </li>
12836
12837    <li>several changes to PTY logic (based on request by Tim Ryan
12838    &lt;timryan@nortelnetworks.com&gt;).
12839      <ul>
12840        <li>modify treatment of <code>-S</code> option to to make
12841        it work with Unix98 PTY's.</li>
12842
12843        <li>restore sense of IsPts flag in <code>get_pty()</code>,
12844        which was lost in Unix98 changes.</li>
12845
12846        <li>use new functions <code>my_pty_id()</code> and
12847        <code>my_pty_name()</code> to simplify/fix strings used for
12848        utmp, wtmp identifiers.</li>
12849
12850        <li>simplify <code>get_pty()</code> function, making it
12851        have a single return point so its inputs/outputs can be
12852        identified.</li>
12853      </ul>
12854    </li>
12855
12856    <li>update config.guess and config.sub and scripts to my
12857    20000819 patch, adding cases for OS/2 EMX.</li>
12858
12859    <li>add special case for os390 compiler options to configure
12860    script (patch by Paul Gilmartin)</li>
12861
12862    <li>fix some unused-variable compiler warnings (reported by
12863    Zdenek Sekera).</li>
12864
12865    <li>split-out some string functions into xstrings.c, to use
12866    them more consistently among main.c, os2main.c and
12867    resize.c</li>
12868
12869    <li>align termcap/terminfo files, adding entries to make them
12870    match. The termcap entries are necessarily less complete than
12871    the terminfo, to fit within 1023 character per entry.</li>
12872
12873    <li>add terminfo entry for xterm-sco (SCO function keys).</li>
12874
12875    <li>modify <code>same_font_name()</code> to properly handle
12876    wildcard introduced in <code>bold_font_name()</code>, making
12877    comparison for different fonts succeed when only the normal
12878    font is specified. This is needed to decide if 1-pixel offset
12879    should be used. (reported in a newsgroup by Bart Oldeman
12880    &lt;enbeo@enbeo.resnet.bris.ac.uk&gt;)</li>
12881
12882    <li>correct preprocessor line for OPT_WIDE_CHARS in
12883    drawXtermText() from patch #141 which resulted in overstriking
12884    for bold fonts not working.</li>
12885
12886    <li>correct Imakefile from 4.0.1c resync so UTF-8 modules are
12887    in UTF8SRC, UTF8OBJ lists, allowing build without UTF-8
12888    support.</li>
12889  </ul>
12890
12891  <h1><a name="xterm_144" id="xterm_144">Patch #144 - 2000/8/23 -
12892  XFree86 4.0.1b</a></h1>
12893
12894  <ul>
12895    <li>remove a spurious assignment in ScreenWrite() from Robert
12896    Brady's patch which set a null at the "end" of the buffer to be
12897    written. That made the autowrap feature write a blank in the
12898    first column for the non-UTF-8 configuration, rather than the
12899    actual character (reported by Alan Citterman
12900    &lt;alan@mticket.com&gt;).</li>
12901  </ul>
12902
12903  <h1><a name="xterm_143" id="xterm_143">Patch #143 - 2000/8/19 -
12904  XFree86 4.0.1b</a></h1>
12905
12906  <ul>
12907    <li>add a check to ensure that <code>-class</code> command-line
12908    option is not confused with <code>-c</code> (reported by Paul
12909    Townsend &lt;aab@aab.cc.purdue.edu&gt;).</li>
12910  </ul>
12911
12912  <h1><a name="xterm_142" id="xterm_142">Patch #142 - 2000/8/18 -
12913  XFree86 4.0.1b</a></h1>
12914
12915  <ul>
12916    <li>correction to precompose scripts, so 0061 + 0300 will now
12917    be really be displayed as 00C0 (patch by Robert Brady
12918    &lt;robert@susu.org.uk&gt;).</li>
12919
12920    <li>correct macro ClassSelects() in button.c, used to hide
12921    ifdef's for OPT_WIDE_CHARS in patch #141 (reported by Andreas
12922    Paul &lt;paula@informatik.tu-muenchen.de&gt;).</li>
12923
12924    <li>change wcwidth.h to include stddef.h rather than wchar.h,
12925    which is not present on OpenBSD and FreeBSD (reported by
12926    Christian Weisgerber and Bram Moolenaar).</li>
12927
12928    <li>newer config.sub and config.guess, from lynx
12929    2.8.4dev.7</li>
12930  </ul>
12931
12932  <h1><a name="xterm_141" id="xterm_141">Patch #141 - 2000/8/14 -
12933  XFree86 4.0.1b</a></h1>
12934
12935  <ul>
12936    <li>changes for doublewidth and combining characters, from
12937    http://www.ecs.soton.ac.uk/~rwb197/xterm/ (integrated patch by
12938    Robert Brady). In this context, doublewidth refers to 16-bit
12939    character sets which may have glyphs occupying two cells.</li>
12940
12941    <li>add command-line option <code>-class</code>, which allows
12942    one to override xterm's resource class. Also add resource file
12943    <code>UXTerm.ad</code>, which simplifies using xterm for both
12944    8-bit character sets and UTF-8.</li>
12945
12946    <li>fixes/improvements to OPT_TCAP_QUERY logic (patches by Bram
12947    Moolenaar, Stephen P Wall).</li>
12948  </ul>
12949
12950  <h1><a name="xterm_140" id="xterm_140">Patch #140 - 2000/7/23 -
12951  XFree86 4.0.1</a></h1>
12952
12953  <ul>
12954    <li>modify Makefile.in to circumvent GNU make's built-in suffix
12955    rule for ".sh" which confuses install.sh with the "make
12956    install" target (report/patch by Paul Gilmartin).</li>
12957
12958    <li>implement an experimental control sequence which an
12959    application may use to query the terminal to determine what
12960    sequence of characters it would send for a given function key.
12961    This is ifdef'd with OPT_TCAP_QUERY (request by Bram
12962    Moolenaar).</li>
12963
12964    <li>add /usr/local to search path in CF_X_ATHENA configure
12965    macro to build with Xaw3d on OpenBSD (patch by Christian
12966    Weisgerber).</li>
12967
12968    <li>add missing <code>#undef HAVE_TERMIO_C_ISPEED</code> to
12969    xtermcfg.hin, omitted in patch #133 fix for IRIX 6.5 baudrate
12970    (report by Alain Filbois &lt;Alain.Filbois@loria.fr&gt;).</li>
12971
12972    <li>correct a few errors in xterm.man: font in filename example
12973    for Tektronix emulation, and description of -nul/+nul
12974    command-line options (report by Eric Fischer
12975    &lt;enf@pobox.com&gt;).</li>
12976
12977    <li>update config.guess and config.sub, from tin and lynx.</li>
12978  </ul>
12979
12980  <h1><a name="xterm_139" id="xterm_139">Patch #139 - 2000/6/17 -
12981  XFree86 4.0d</a></h1>
12982
12983  <ul>
12984    <li>back out change to <code>-name</code> command-line option,
12985    restoring its original behavior (as noted by David Madore, the
12986    correct interpretation of this option is the application
12987    instance rather than the application class).</li>
12988  </ul>
12989
12990  <h1><a name="xterm_138" id="xterm_138">Patch #138 - 2000/6/15 -
12991  XFree86 4.0c</a></h1>
12992
12993  <ul>
12994    <li>workaround for fixed fonts which are generated from Unicode
12995    fonts: they omit glyphs for some xterm's less-used line-drawing
12996    characters, which caused xterm to set a flag telling it to use
12997    only its internal line-drawing characters. Do not set the flag
12998    (it can be set from the popup menu), and xterm will generate
12999    only the line-drawing glyphs which actually are missing.<br>
13000    Otherwise, when used for large fonts, xterm may generate a
13001    2-pixel wide line, which can leave dots on the screen.</li>
13002
13003    <li>restore first line of 256colres.pl, omitted in 4.0c
13004    diffs.</li>
13005  </ul>
13006
13007  <h1><a name="xterm_137" id="xterm_137">Patch #137 - 2000/6/10 -
13008  XFree86 4.0b</a></h1>
13009
13010  <ul>
13011    <li>make command-line <code>-name</code> option work as
13012    documented. Apparently this was lost in X11R5 when coding to
13013    use <code>XtAppInitialize</code>.</li>
13014
13015    <li>limit numeric parameters of control sequences to 65535 to
13016    simplify checks for numeric overflow.</li>
13017
13018    <li>change index into UDK list to unsigned to guard against
13019    numeric overflow making the index negative (Taneli Huuskonen
13020    &lt;huuskone@cc.helsinki.fi&gt;).</li>
13021
13022    <li>change <code>sun&nbsp;function-keys</code> resource name to
13023    <code>sunFunctionKeys</code> to work around redefinition of the
13024    token <code>sun</code> by xrdb on Solaris. Similarly, renamed
13025    resource <code>sun&nbsp;keyboard</code> to
13026    <code>sunKeyboard</code> (Stephen P Wall).</li>
13027
13028    <li>change similar resource names for HP and SCO to avoid
13029    potential conflict with xrdb symbols on other systems, as well
13030    as for consistency.</li>
13031
13032    <li>reorganized the install targets in the autoconf'd Makefile,
13033    adding install-app, install-bin, install-dirs and install-man.
13034    The app-defaults class can be overridden by setting the make
13035    variable 'CLASS', simplifying customization of xterm as a
13036    Unicode terminal, e.g., CLASS=UXTerm.</li>
13037
13038    <li>add limit checks to <code>ClearInLine()</code>,
13039    <code>ScrnInsertChar()</code>, <code>ScrnDeleteChar()</code> to
13040    correct potential out-of-bounds indexing (prompted by Debian
13041    bug report #64713, which reported a problem with ICH escape
13042    sequences).</li>
13043
13044    <li>updates to config.sub and config.guess Kevin Buettner
13045    &lt;kev@primenet.com&gt; for elf64_ia64 Bernd Kuemmerlen
13046    &lt;bkuemmer@mevis.de&gt; and MacOS X.</li>
13047
13048    <li>for os390, add check for errno set to ENODEV on failure to
13049    open /dev/tty when there is no controlling terminal (patch by
13050    Paul Gilmartin).</li>
13051
13052    <li>fixes for building on Digital Unix 4.0 and AIX 4.2 (patch
13053    from H Merijn Brand &lt;h.m.brand@hccnet.nl&gt;).</li>
13054
13055    <li>modify DECRQSS reply for DECSCL to additionally report if
13056    the terminal is set for 8-bit controls.</li>
13057  </ul>
13058
13059  <h1><a name="xterm_136" id="xterm_136">Patch #136 - 2000/6/3 -
13060  XFree86 4.0b</a></h1>
13061
13062  <ul>
13063    <li>add a resource (<code>limitResize</code>) limiting resizing
13064    via the CSI 4 t and CSI 8 t sequences.</li>
13065
13066    <li>ignore out-of-bounds resize requests, i.e., where
13067    sign-extension or truncation of the parameters would
13068    occur.</li>
13069  </ul>
13070
13071  <h1><a name="xterm_135" id="xterm_135">Patch #135 - 2000/5/29 -
13072  XFree86 4.0b</a></h1>
13073
13074  <ul>
13075    <li>remove code introduced in #134 which made some backgrounds
13076    bold.</li>
13077
13078    <li>minor correction to format of updated $TERMCAP when adding
13079    <code>kb</code> capability for <code>ptyInitialErase</code>
13080    logic.</li>
13081
13082    <li>improved test for SVR4 definition.</li>
13083  </ul>
13084
13085  <h1><a name="xterm_134" id="xterm_134">Patch #134 - 2000/5/28 -
13086  XFree86 4.0b</a></h1>
13087
13088  <ul>
13089    <li>update URL's and mailing addresses, moved to
13090    http://dickey.his.com and dickey@herndon4.his.com</li>
13091
13092    <li>correct missing quotes in CF_TTY_GROUP configure script
13093    macro in case the script is run in batch mode.</li>
13094
13095    <li>modify ownership-check of log file to ignore the group
13096    ownership. Otherwise xterm cannot create logfiles in
13097    directories with set-gid permissions.</li>
13098
13099    <li>simplify the logic that reads termcap data.</li>
13100
13101    <li>add fallback definition for B9600 in case line speed
13102    definition for 38400 is missing (report by Jack J Woehr
13103    &lt;jwoehr@ibm.net&gt;, for OpenBSD 2.6).</li>
13104
13105    <li>fix: Set highlightColor, and select a region containing the
13106    text cursor. If the window loses focus, the cursor becomes
13107    hollow, with the region inside the cursor being
13108    background/foreground, unlike the rest of the selection, which
13109    is foreground/highlight (patch by Ross Paterson
13110    &lt;ross@soi.city.ac.uk&gt;).</li>
13111
13112    <li>add configure script tests to define SVR4, SYSV and
13113    USE_POSIX_WAIT, which enables xterm to compile on Solaris 7 and
13114    SCO Openserver without imake, though there are still a few
13115    features for the latter which require <code>sco</code> to be
13116    predefined.</li>
13117
13118    <li>patches from Stephen P Wall:
13119      <ul>
13120        <li>add support for two Sun-specific function keys. These
13121        keys are labeled F11 and F12 on Sun Type 5 keyboards, but
13122        return SunXK_F36 and SunXK_F37. Support will only be
13123        compiled in if the header file &lt;X11/Sunkeysym.h&gt;
13124        exists and contains the appropriate symbol definitions. The
13125        keycodes for the DEC keycodes were arbitrary unused codes,
13126        but the ones for the Sun keycodes are what cmdtool and
13127        shelltool actually send.</li>
13128
13129        <li>add <code>colorRV</code> and <code>colorRVMode</code>
13130        resources to allow specifying a color to use for reverse
13131        video, similar to the existing UL, BD, and BL modes.</li>
13132
13133        <li>add <code>alwaysUseMods</code> resource, to override
13134        check if <code>alt</code> or <code>meta</code> modifiers
13135        are used in <code>translations</code> resource. Revamped
13136        the code to calculate the modifier value, and included Meta
13137        if alwaysUseMods is TRUE, using values 9-16.</li>
13138      </ul>
13139    </li>
13140
13141    <li>fixes for os390 (Paul Gilmartin):
13142      <ul>
13143        <li>regularize the definition of CONTROL() and remove an
13144        acknowledged "trial and error" table.</li>
13145
13146        <li>translate "^?" into A2E(0177) which is the EBCDIC "DEL"
13147        rather than plain 0177 which is the EBCDIC quotation
13148        mark.</li>
13149
13150        <li>modify <code>xtermMissingChar()</code> so that EBCDIC
13151        codes 128-159 are not rendered as blanks by X server
13152        running on Solaris, which sees those as control
13153        characters.</li>
13154
13155        <li>make debugging traces (configure --enable-trace) work
13156        properly with EBCDIC.</li>
13157      </ul>
13158    </li>
13159  </ul>
13160
13161  <h1><a name="xterm_133" id="xterm_133">Patch #133 - 2000/5/2 -
13162  XFree86 4.0a</a></h1>
13163
13164  <ul>
13165    <li>add substitutions in autoconf'd Makefile for CPPFLAGS,
13166    LDFLAGS and AWK (reported by Neil Bird).</li>
13167
13168    <li>correct uninitialized <code>childstat</code> variable from
13169    patch #131 in <code>creat_as()</code> function, which caused
13170    logging to not work on Solaris, whose <code>waitpid()</code>
13171    function does not initialize its parameter. Add check for EINTR
13172    on return from <code>waitpid()</code> as well (reported by Neil
13173    Bird &lt;neil.bird@rdel.co.uk&gt;).</li>
13174
13175    <li>remove a redundant check for working <code>setuid()</code>
13176    function introduced in patch #132. Greg Smith reports that this
13177    does not work as intended on os390.</li>
13178
13179    <li>change line speed from 9600bd to 38400bd, to accommodate
13180    people who mistakenly use $TERM set to <em>vt100</em>, to
13181    reduce the effect of padding associated with this terminal
13182    type.</li>
13183
13184    <li>add configure script check for IRIX 6.5's redefinition of
13185    baud rates associated with <code>struct termio</code>, to
13186    correct a situation where the baud rate was initialized to zero
13187    (reported by Andrew Isaacson &lt;adi@lcse.umn.edu&gt;).</li>
13188
13189    <li>remove unused configure script check for VDISABLE.</li>
13190  </ul>
13191
13192  <h1><a name="xterm_132" id="xterm_132">Patch #132 - 2000/4/11 -
13193  XFree86 4.0a</a></h1>
13194
13195  <ul>
13196    <li>undo an incorrect change from patch #113 caused the right
13197    scrollbar to be positioned incorrectly when re-enabling it
13198    (analysis by D Roland Walker).</li>
13199
13200    <li>add ctrlFKeys resource, replacing constant for adjusting
13201    control-F1 to control-F12 to VT220-style F10-F20. The resource
13202    changes the constant 12 to a default value of 10 (request by
13203    Jim Knoble &lt;jmknoble@pobox.com&gt;).</li>
13204
13205    <li>correct ifdef'ing for conflict between definitions in AIX's
13206    &lt;sys/select.h&gt; and &lt;X11/Xpoll.h&gt; (reported by Clint
13207    Olsen).</li>
13208
13209    <li>add checks for return-values of getutid(), initgroups() and
13210    setuid() in main.c, as well as modifying ifdef's for __osf__ to
13211    include tty-group and WTMP logic (adapted from patch by Paul
13212    Szabo &lt;psz@maths.usyd.edu.au&gt;)</li>
13213
13214    <li>modify resize.c to build and work on os390 (uses EBCDIC)
13215    (adapted from patch by Phil Sidler
13216    &lt;Phil.Sidler@airborne.com&gt;)</li>
13217
13218    <li>use Ires(), Bres() and Sres() macros to simplify resource
13219    list in charproc.c</li>
13220
13221    <li>resync with XFree86 4.0a:
13222      <ul>
13223        <li>correct a typo in os2main.c (Holger Veit, from
13224        4.0a).</li>
13225      </ul>
13226    </li>
13227  </ul>
13228
13229  <h1><a name="xterm_131" id="xterm_131">Patch #131 - 2000/3/3 -
13230  XFree86 3.9.18b</a></h1>
13231
13232  <ul>
13233    <li>improve logfile security (integrated patch by Branden
13234    Robinson)
13235      <ul>
13236        <li>make the <code>creat_as()</code> function more strict
13237        by using O_EXCL rather than O_APPEND.</li>
13238
13239        <li>fixes to make DEBUG ifdef's compile/run, including
13240        making the debug logfile more unique by appending a
13241        timestamp to its name.</li>
13242
13243        <li>include &lt;term.h&gt; in resize.c, to fix a
13244        missing-prototype warning.</li>
13245      </ul>
13246    </li>
13247
13248    <li>modified <code>creat_as()</code> a little more, retaining
13249    the ability to append to a logfile If the user specifies the
13250    name. Also, check if the opened file (which <a href=
13251    "#xterm_130">patch #130</a> ensures is owned by the effective
13252    user) is not writable by other users.</li>
13253
13254    <li>use <code>creat_as()</code> logic to make tek4014
13255    screen-copy more secure (noted by Branden Robinson).</li>
13256
13257    <li>ifdef'd some of Branden's changes to build/work on older
13258    machines.</li>
13259
13260    <li>correct missing initialization of the <code>.mode</code>
13261    flag in <code>ColorRes</code> struct, from patch #129. This
13262    worked on Linux because <code>malloc()</code> zeroes memory on
13263    that platform (reported by Christian Weisgerber).</li>
13264
13265    <li>modify logic for <code>deleteIsDEL</code> resource so it
13266    has internally 3 states: unspecified, true and false. If
13267    unspecified, the keyboard type determines whether the Delete
13268    key transmits <code>&lt;ESC&gt;[3~</code> or <code>\177</code>,
13269    and the popup menu entry reflects the internal state.
13270    Otherwise, the popup menu entry overrides the keyboard type
13271    (suggested by Dr Werner Fink, to make it simpler to set
13272    resources that imitate the legacy X11R6 xterm).</li>
13273  </ul>
13274
13275  <h1><a name="xterm_130" id="xterm_130">Patch #130 - 2000/3/1 -
13276  XFree86 3.9.18a</a></h1>
13277
13278  <ul>
13279    <li>modify <code>scroll-forw()</code> and
13280    <code>scroll-back()</code> actions, adding a third parameter
13281    which will direct xterm to ignore the action when mouse
13282    reporting is enabled. This is needed for the wheel mouse to be
13283    used to report to the application rather than scroll the
13284    window.</li>
13285
13286    <li>add menu entry and action to allow disabling xterm's
13287    assumption that the current font contains line-drawing
13288    characters if the font cells 1-31 are nonempty. Some fonts may
13289    have other characters (reported by Bruno Betro
13290    &lt;bruno@iami.mi.cnr.it&gt;).</li>
13291
13292    <li>add a check in <code>creat_as()</code> to ensure that the
13293    user really owns the logfile that has been opened.</li>
13294
13295    <li>add logic to implement SCO function-keys. (This is really
13296    incomplete, since I intend to revisit this and make xterm able
13297    to emulate scoansi better than just the function-keys).</li>
13298
13299    <li>add configure script option --enable-sco-fkeys, minor
13300    related fixes (patch by Dr Werner Fink).</li>
13301
13302    <li>fix typos in ctlseqs.ms (reported by Bram Moolenaar)</li>
13303
13304    <li>fix typo in sinstall.sh default for $TST_PROG (reported by
13305    Paul Gilmartin &lt;pg@sweng.stortek.com&gt;)</li>
13306  </ul>
13307
13308  <h1><a name="xterm_129" id="xterm_129">Patch #129 - 2000/2/26 -
13309  XFree86 3.9.18a</a></h1>
13310
13311  <ul>
13312    <li>improve initialization of ANSI colors by delaying
13313    allocation until each color is first used.</li>
13314
13315    <li>remove ifdef that prevented colorBD/colorUL/colorBL
13316    resources from working when 256-color configuration was built
13317    (reported by Todd Larason).</li>
13318
13319    <li>fix some minor inconsistencies in terminfo (Debian
13320    #58530).</li>
13321  </ul>
13322
13323  <h1><a name="xterm_128" id="xterm_128">Patch #128 - 2000/2/17 -
13324  XFree86 3.9.18</a></h1>
13325
13326  <ul>
13327    <li>correct logic for <code>oldXtermFKeys</code> resource,
13328    fixes a core dump when attempting to set it from the
13329    command-line (reported by Dr Werner Fink).</li>
13330
13331    <li>correct ifdef for meta-sends-escap so configure
13332    --disable-num-lock builds.</li>
13333  </ul>
13334
13335  <h1><a name="xterm_127" id="xterm_127">Patch #127 - 2000/2/12 -
13336  XFree86 3.9.17e</a></h1>
13337
13338  <ul>
13339    <li>add resource, popup menu entry and control sequence to
13340    allow changing the Delete key to send either DEL or the
13341    VT220-style Remove escape sequence.</li>
13342
13343    <li>remove logic for metaSendsEscape that would allow xterm to
13344    send <code>&lt;ESC&gt;[3~</code> before a function key that
13345    would begin with <code>&lt;ESC&gt;[3~</code> (request by
13346    Christian Weisgerber).</li>
13347
13348    <li>add missing action and documentation for
13349    meta-sends-escape.</li>
13350
13351    <li>correct a few typos in ctlseqs.ms (incorrect code for Cyan
13352    color)</li>
13353  </ul>
13354
13355  <h1><a name="xterm_126" id="xterm_126">Patch #126 - 2000/2/8 -
13356  XFree86 3.9.17c</a></h1>
13357
13358  <ul>
13359    <li>ensure that xterm will automatically activate the UTF-8
13360    mode whenever the name of the locale environment variable
13361    suggests that a UTF-8 locale is in use (patch by Markus Kuhn).
13362    This will help that by simply setting LC_CTYPE an entire system
13363    can be switched over to UTF-8, without users having to remember
13364    the UTF-8 command line options ("-u8", etc.) of the various
13365    applications. Command line options and X resource entries can
13366    still be used to override this default choice.</li>
13367
13368    <li>add old function-keys control sequences and popup menu
13369    entry, for compatibility with legacy X11R6 xterm.</li>
13370
13371    <li>revert translation of editing keypad "Delete" key to legacy
13372    \177.</li>
13373
13374    <li>simplify the color-resource data expressions with macro
13375    COLOR_RES, for later use in restructuring color
13376    initialization.</li>
13377
13378    <li>change encoding of wheel mouse (buttons 4 and 5) to avoid
13379    conflict with legacy mouse modifiers (suggested by Bram
13380    Moolenaar).</li>
13381  </ul>
13382
13383  <h1><a name="xterm_125" id="xterm_125">Patch #125 - 2000/1/31 -
13384  XFree86 3.9.17c</a></h1>
13385
13386  <ul>
13387    <li>make this work on OpenVMS (integrated patch by David
13388    Mathog).</li>
13389
13390    <li>rename some functions, e.g., <code>Index</code> to
13391    <code>xtermIndex</code> so that ports such as VMS which link
13392    externals ignoring case will not have library conflicts
13393    (reported by David Mathog).</li>
13394
13395    <li>correct logic of <code>do_reversevideo()</code>, which did
13396    not update the corresponding popup menu check mark (reported by
13397    David Mathog, this was a detail overlooked in patch #94).</li>
13398
13399    <li>change TRACE macro so semicolon is not within definition,
13400    making <em>indent</em> and similar programs work better.</li>
13401
13402    <li>add <code>depend</code> rule to Makefile.in</li>
13403
13404    <li>modify logic of boldColors resource to suppress it if an
13405    extended color control has been used, e.g., for 88-color or
13406    256-color mode (patch by Todd Larason).</li>
13407
13408    <li>revise logic that handles menus and input translation for
13409    keyboard type so only one can be selected at a time.</li>
13410
13411    <li>restore kdch1=\177 for the Sun function-key type, and make
13412    the the Delete key send DEL (\177) if the oldXtermFKeys
13413    resource is set.</li>
13414
13415    <li>rephrase logic and ifdef's for POSIX VDISABLE to avoid
13416    preprocessor expression that will not compile on NetBSD/x86
13417    1.4.1 (reported by Takaaki Nomura
13418    &lt;amadeus@yk.rim.or.jp&gt;).</li>
13419  </ul>
13420
13421  <h1><a name="xterm_124" id="xterm_124">Patch #124 - 2000/1/27 -
13422  XFree86 3.9.17b</a></h1>
13423
13424  <ul>
13425    <li>change coding of editing keypad's "Delete" key to
13426    &lt;escape&gt;[3~, in the default (Sun/PC) keyboard mode. This
13427    makes the terminfo kdch1 capability independent of the coding
13428    of the backarrow key, which sends either backspace (8) or DEL
13429    (127). The reason for doing this (compatibility with the
13430    <em>screen</em> program) outweighs the choice of DEL (127)
13431    which was used in X11R5/X11R6 xterms. The <em>screen</em>
13432    program translates whatever matches kdch1 into
13433    &lt;escape&gt;[3~, even if it happens to be the stty erase
13434    character.</li>
13435
13436    <li>add encoding for control/?, to work around xmodmap or key
13437    translations which may confuse backspace and delete. A
13438    control/? will send DEL (127), and a control/H will of course
13439    send backspace (8).</li>
13440
13441    <li>add encoding for kcbt to &lt;escape&gt;[Z (fixes Debian
13442    #54840).</li>
13443
13444    <li>minor correction to logic that encodes Sun and DEC function
13445    keys to avoid sending an escape sequence if the key symbol is
13446    not found in xterm's lookup table.</li>
13447
13448    <li>simplify ifdef's in main.c for POSIX VDISABLE so the "^-"
13449    pattern is more likely to be implemented when <em>imake</em>
13450    configures xterm (fixes Debian #55105).</li>
13451
13452    <li>change manpage to make it clearer what codes are sent by
13453    the backarrow key.</li>
13454  </ul>
13455
13456  <h1><a name="xterm_123" id="xterm_123">Patch #123 - 2000/1/22 -
13457  XFree86 3.9.17a</a></h1>
13458
13459  <ul>
13460    <li>add a note reserving OSC 51 for use in Emacs shell (request
13461    by Rob Mayoff &lt;mayoff@dqd.com&gt;).</li>
13462
13463    <li>correct a missing backslash in xterm-vt220 termcap.</li>
13464
13465    <li>cleanup remaining quoted includes, preferring bracketed
13466    form.</li>
13467
13468    <li>minor configure-script macro updates from tin and
13469    vile.</li>
13470
13471    <li>add configure-script option for using utempter library,
13472    adapted from Redhat 6.1 patch for XFree86 3.3.5</li>
13473
13474    <li>resync with XFree86 3.9.17a:
13475      <ul>
13476        <li>correction to QNX support (Frank Guangxin Liu)</li>
13477
13478        <li>some cosmetic changes that did not correct any reported
13479        problems.</li>
13480      </ul>
13481    </li>
13482  </ul>
13483
13484  <h1><a name="xterm_122" id="xterm_122">Patch #122 - 1999/12/28 -
13485  XFree86 3.9.16f</a></h1>
13486
13487  <ul>
13488    <li>move the suggested wheel-mouse button translations into
13489    charproc.c to simplify customization. Correct some minor logic
13490    errors in the support for buttons 4 and 5, used for wheel mice
13491    (reported by Bram Moolenaar).</li>
13492
13493    <li>implement <em>metaSendsEscape</em> resource, with
13494    corresponding control sequence and menu entry. Like
13495    <em>eightBitInput</em>, this causes xterm to send ESC prefixing
13496    the given key, but applies to all keys and is independent of
13497    the 8-bit/7-bit terminal setting. (requests by Alexander V
13498    Lukyanov and Marc Feeley).</li>
13499
13500    <li>correct potential indexing with negative subscript in
13501    udk_lookup(), (reported by Ian Collier
13502    &lt;Ian.Collier@comlab.ox.ac.uk&gt;).</li>
13503
13504    <li>modify configure script that sets TERMINFO_DIR to use
13505    ${prefix} rather than /usr if the --prefix option was specified
13506    (request by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
13507
13508    <li>modify checks for repeat-character control sequence to test
13509    the character class against xterm's state table, rather than
13510    the isprint() macro (patch by Alexander V Lukyanov).</li>
13511
13512    <li>change several functions to macros to improve speed</li>
13513
13514    <li>two corrections to simulation of bold font via
13515    overstriking:
13516      <ul>
13517        <li>use clipping to avoid leaving trash at end of the text,
13518        and</li>
13519
13520        <li>add brackets so wide-character logic does not
13521        fall-through into the overstriking logic (reported by Marc
13522        Feeley &lt;feeley@IRO.UMontreal.CA&gt;)</li>
13523      </ul>
13524    </li>
13525
13526    <li>add several entries to termcap file to make it have the
13527    same set of aliases as the terminfo file.</li>
13528
13529    <li>scale the color values used for xterm-256color terminfo
13530    entry to 0..1000, as expected by ncurses.</li>
13531
13532    <li>change xterm-r6 terminfo definitions for F1-F4 to match
13533    program.</li>
13534
13535    <li>Add QNX/Neutrino support (Frank Guangxin Liu
13536    &lt;frank@ctcqnx4.ctc.cummins.com&gt;)</li>
13537  </ul>
13538
13539  <h1><a name="xterm_121" id="xterm_121">Patch #121 - 1999/11/14 -
13540  XFree86 3.9.16c</a></h1>
13541
13542  <ul>
13543    <li>change label on "Sun/PC Keyboard" popup menu entry to
13544    "VT220 Keyboard", since the checked state corresponds to VT220
13545    rather than Sun/PC.</li>
13546
13547    <li>add configure test CF_UTMP_UT_XSTATUS to handle the
13548    variants of utmp exit status (reports by Dave Ellement, Jeremie
13549    Petit, Tomas Vanhala).</li>
13550
13551    <li>amend treatment of ALT key (see <a href="#xterm_94">patch
13552    #94</a>) so that if ALT is used as a modifier in key
13553    translations, then no parameter will be sent in escape
13554    sequences for Sun/PC function keys (request by Dr Werner
13555    Fink).</li>
13556
13557    <li>modify default for OPT_I18N_SUPPORT to assume that
13558    <code>XtSetLanguageProc()</code> is available in X11R5.
13559      <p>Caveat: <code>XtSetLanguageProc()</code> was added fairly
13560      late in the X11R5 patches, and some vendors shipped buggy
13561      versions of this function (request by Tomas Vanhala).</p>
13562    </li>
13563
13564    <li>correct configure macro CF_SYSV_UTMP to test-link with
13565    functions consistent with the header, e.g., getutent() for
13566    utmp.h and getutxent() for utmpx.h (reported by Greg
13567    Smith).</li>
13568
13569    <li>modify terminfo entry for <code>xterm-xfree86</code> to
13570    reflect modifiers for shift and control (from a patch by
13571    Alexander V Lukyanov).</li>
13572
13573    <li>modify terminfo entry for <code>xterm-sun</code> to match
13574    the function-key definitions in ncurses. The pageup/pagedown
13575    and related function keys correspond to the Sun keyboard, which
13576    does not necessarily correspond with X's notion of those
13577    keys.</li>
13578
13579    <li>modify treatment of XK_Delete keysym so it transmits
13580    parameterized VT220-style <code>&lt;ESC&gt;[3~</code> if
13581    modifiers (shift, control alt) are given (request by Alexander
13582    V Lukyanov).</li>
13583
13584    <li>corrected misspelled resource name in command-line option
13585    for HP function keys.</li>
13586  </ul>
13587
13588  <h1><a name="xterm_120" id="xterm_120">Patch #120 - 1999/10/28 -
13589  XFree86 3.9.16c</a></h1>
13590
13591  <ul>
13592    <li>refine the change to <code>SGR_Background()</code> in patch
13593    #119, by not flushing the pending scrolling operation if the
13594    background color is not actually changing. This combination
13595    occurs when using color-ls to display a long listing, since
13596    each line ends with an SGR0 which affects only the foreground
13597    color. The unnecessary flushing made it noticeably slower
13598    (reported by D Roland Walker &lt;walker@pobox.com&gt;).</li>
13599
13600    <li>remove obsolete documentation about modifiers which can be
13601    returned in mouse tracking mode, and modify logic to ignore
13602    modifiers other than the existing ones, e.g., NumLock (prompted
13603    by discussions with Christian Weisgerber and Brad Pepers
13604    &lt;brad@linuxcanada.com&gt;).</li>
13605
13606    <li>use free bit from obsolete shift-modifier coding of mouse
13607    tracking button events to encode buttons 4 and 5, e.g., for a
13608    wheel mouse (requests by Brad Pepers and Bram Moolenaar).</li>
13609
13610    <li>correct a place where the ptyInitialErase logic did not set
13611    the backarrowKey state, and modify it further to use tgetstr()
13612    rather than parse the termcap data returned from tgetent() so
13613    the ptyInitialErase logic will work when xterm is linked with a
13614    terminfo library (based on a patch by Dr Werner Fink
13615    &lt;werner@suse.de&gt;).</li>
13616
13617    <li>fix definition of HAVE_UTMP_UT_HOST for ISC configuration
13618    (patch by Michael Rohleder).</li>
13619
13620    <li>improve configure script's utmp tests (based on reports by
13621    Greg Smith for os390, and David Ellement for HPUX).</li>
13622
13623    <li>modify sinstall.sh to use uid=0 rather than 'root' to
13624    determine if the installer is privileged. This is needed on
13625    some systems since more than one account may be privileged
13626    (report by Greg Smith).</li>
13627
13628    <li>add an application resource, <code>messages</code> (and a
13629    corresponding -/+mesg option) which controls the initial
13630    permission on the terminal: if messages is set to true (the
13631    default), behavior is as without the patch; if it is set to
13632    false (as per -mesg), the terminal is opened in mode 0600, thus
13633    producing the effect of the <code>mesg n</code> command. This
13634    is useful for users who want to redirect all their messages to
13635    one particular xterm: it is more pleasant to do this with xterm
13636    resources than with explicit calls to the <code>mesg</code>
13637    program (patch, description by David Madore
13638    &lt;david.madore@ens.fr&gt;).</li>
13639  </ul>
13640
13641  <h1><a name="xterm_119" id="xterm_119">Patch #119 - 1999/10/16 -
13642  XFree86 3.9.16c</a></h1>
13643
13644  <ul>
13645    <li>add responses (DA and DSR) for DEC locator mode</li>
13646
13647    <li>add coding for ANSI color to DA response</li>
13648
13649    <li>implement UTF-8 translation for Media Copy (print)
13650    operations.</li>
13651
13652    <li>implement vt320 control sequences for Print Composed Main
13653    Display and for Print All Pages. The latter directs xterm to
13654    print the current screen as well as the scrollback buffer.</li>
13655
13656    <li>correct error in _GNU_SOURCE configure test, which left it
13657    always defined.</li>
13658
13659    <li>add more information, i.e., with strerror for some system
13660    calls in the main program which may fail due to insufficient
13661    permissions (prompted by a problem report for <code>-C</code>
13662    by Jeremie Petit &lt;Jeremie.Petit@digital.com&gt;).</li>
13663
13664    <li>add workaround for conflict between &lt;X11/Xpoll.h&gt; and
13665    &lt;sys/select.h&gt; on AIX 4.3 (Richard Griswold
13666    &lt;griswold@acm.org&gt;).</li>
13667
13668    <li>add configure script test to resolve conflict between
13669    between &lt;X11/Xpoll.h&gt; and &lt;sys/select.h&gt;</li>
13670
13671    <li>modify translation of UTF-8 sequences to reject "overly
13672    long" variations (patch by Markus Kuhn).</li>
13673
13674    <li>remove <code>utf8controls</code> resource, since Markus'
13675    change removes the corresponding logic.</li>
13676
13677    <li>correct a case where colors were not rendered properly.
13678    This happened when an application inserted several lines, then
13679    changed colors. If this was done all in one write, then there
13680    would be no intervening refresh, and the new color was applied
13681    to the pending scrolling operation which was awaiting the next
13682    refresh (reported by Stephane Chazelas
13683    &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
13684  </ul>
13685
13686  <h1><a name="xterm_118" id="xterm_118">Patch #118 - 1999/10/5 -
13687  XFree86 3.9.16b</a></h1>
13688
13689  <ul>
13690    <li>refine configure test for utmp versus utmpx, to build on
13691    HP-UX 10.x (reported by David Ellement).</li>
13692
13693    <li>move the configure check for <code>const</code> after the
13694    check for ANSI C compiler options, since those may be required
13695    to make it work properly on HP-UX.</li>
13696
13697    <li>add configure test for defining
13698    <code>_GNU_SOURCE</code></li>
13699
13700    <li>correction to <em>-hold</em> option, ensure that if data is
13701    already in the output buffer that it will be displayed before
13702    closing the PTY.</li>
13703
13704    <li>move the configure checks for setuid install of xterm into
13705    a script to avoid installing it setuid'd to a non-root user
13706    (reported by Adam Sulmicki &lt;adam@cfar.umd.edu&gt;).</li>
13707
13708    <li>correct configure script's check for termcap.h to avoid
13709    using ncurses' version of it on systems that have a working
13710    <code>tgetent()</code> function. This is needed to make
13711    <code>resize</code> work properly.</li>
13712
13713    <li>fix some typography in ctlseqs.ms description of DEC
13714    locator events (reported by Stephen P Wall).</li>
13715  </ul>
13716
13717  <h1><a name="xterm_117" id="xterm_117">Patch #117 - 1999/9/29 -
13718  XFree86 3.9.16b</a></h1>
13719
13720  <ul>
13721    <li>change order of tests in configure script for utmp and
13722    utmpx to test utmpx first, to compile on Solaris (reported by
13723    Leena Heino &lt;liinu@uta.fi&gt; and Patrik Hagglund
13724    &lt;patha@ida.liu.se&gt;).</li>
13725
13726    <li>add a configure test for utmp.ut_xtime, needed for SCO
13727    Openserver, and for lastlog, needed for Redhat 6.0, to refine
13728    the utmp/utmpx auto-configure.</li>
13729
13730    <li>remove a spurious comma in an #undef (reported by David
13731    Green &lt;greendjf@cvhp152.marconicomms.com&gt; and David
13732    Ellement &lt;ellement@sdd.hp.com&gt; both on HP-UX, whose
13733    compiler does care about syntax).</li>
13734
13735    <li>change ifdef's using __CYGWIN32__ to __CYGWIN__ (reported
13736    by Suhaib M. Siddiqi &lt;Ssiddiqi@InspirePharm.Com&gt;, who is
13737    told that the next Cygnus release will drop that symbol in
13738    their next release).</li>
13739
13740    <li>minor cleanup of ifdef's for makeColorPair (patch by
13741    Stephen P Wall).</li>
13742
13743    <li>work around problem observed in XFree86 3.3.5 (patch by
13744    Alexander V Lukyanov, Redhat #5419). From the problem report:
13745      <blockquote>
13746        <p>xterm consumes cpu when selecting text with mouse
13747        (holding down left mouse button) and when a program working
13748        under the xterm outputs something to stdout.</p>
13749
13750        <p>Easy way to reproduce:<br>
13751        <code>while :; do echo aaa; sleep 1; done</code><br>
13752        (while this runs, select text and hold down left mouse
13753        button) watch cpu load.<br>
13754        release left mouse button - spinning stops.</p>
13755      </blockquote>
13756    </li>
13757  </ul>
13758
13759  <h1><a name="xterm_116" id="xterm_116">Patch #116 - 1999/9/25 -
13760  XFree86 3.9.16a</a></h1>
13761
13762  <ul>
13763    <li>modify warning if change-ownership of PTY fails; some
13764    configurations may not happen to have old-style pty's (reported
13765    by Bob Maynard).</li>
13766
13767    <li>improve check in configure script for group ownership of
13768    installed xterm; some platforms use the -g option of ls to
13769    toggle group off rather than on (reported by Greg Smith).</li>
13770
13771    <li>minor improvement to toolbar geometry, to make it not
13772    resizable. This still is not satisfactory (but is usable) since
13773    the toolbar overlaps the xterm widget if the window is resized
13774    to make it smaller. It appears that some work is needed for the
13775    xterm widget's geometry management to make it function
13776    properly.</li>
13777
13778    <li>implement configure script tests for utmp, tty group.</li>
13779
13780    <li>implement <em>-hold</em> option, allowing users to retain
13781    the window after a shell has exited (this is recently an FAQ,
13782    but prompted by a comment by Joachim Plaettner-Hochwarth
13783    &lt;plaettner@aem.umn.edu&gt; in comp.unix.programmer, that the
13784    IRIX winterm provides this option).</li>
13785
13786    <li>add support for DEC Locator control sequences for xterm
13787    (integrated patch by Stephen P Wall):
13788
13789      <pre>
13790                DECEFR, "Enable Filter Rectangle"
13791                DECELR, "Enable Locator Reports"
13792                DECSLE, "Select Locator Events"
13793                DECRQLP, "Request Locator Position"
13794</pre>
13795      <p>This allows the xterm mouse to be used with applications
13796      that use the DEC Locator sequences, such as VAX Tpu, or SMG$
13797      based applications.</p>
13798    </li>
13799
13800    <li>improve print action (patch by Matthias Baake). From his
13801    notes,
13802      <ul>
13803        <li>Bug 1<br>
13804        Underlined text is preceded by ESC&nbsp;[0;2m . This should
13805        be ESC&nbsp;[0;4m&nbsp;, ESC&nbsp;[2m doesn't seem to have
13806        any effect. (print.c/send_SGR)</li>
13807
13808        <li>Bug 2<br>
13809        The check for the last non-empty column (while (last &gt;
13810        0) ... in print.c/printLine) omits the rightmost column of
13811        the screen, the loop must start with last =
13812        screen-&gt;max_col+1 instead of last =
13813        screen-&gt;max_col.</li>
13814
13815        <li>Bug 3<br>
13816        Any attributes of the first character (and of all
13817        immediately following characters with the same attributes)
13818        are ignored. The variable attr (print.c/printLine) should
13819        be initialized with 0, not with *a &amp; SGR_MASK.</li>
13820      </ul>
13821    </li>
13822  </ul>
13823
13824  <h1><a name="xterm_115" id="xterm_115">Patch #115 - 1999/9/18 -
13825  XFree86 3.9.16a</a></h1>
13826
13827  <ul>
13828    <li>integrated changes by Stephen P Wall to implement an
13829    88-color model for systems where 256-colors cannot be
13830    allocated.</li>
13831
13832    <li>when 256-color configuration is compiled, colored bold and
13833    underlining is not available; ifdef'd to avoid possible odd
13834    effects in this case (reported by Stephen P Wall).</li>
13835
13836    <li>add resource <em>cacheDoublesize</em>, to limit the caching
13837    of font information for double-sized characters. This addresses
13838    a problem reported by Aryeh Koenigsberg for X terminals with
13839    limited font memory.</li>
13840
13841    <li>modify treatment of line-drawing characters in UTF-8 mode
13842    so that the Unicode values are used rather than the C0 codes
13843    for storing the translated characters (request by Markus
13844    Kuhn).</li>
13845  </ul>
13846
13847  <h1><a name="xterm_114" id="xterm_114">Patch #114 - 1999/9/15 -
13848  XFree86 3.9.16</a></h1>
13849
13850  <ul>
13851    <li>add configure script checks for Athena headers and
13852    libraries under /usr/contrib to work on HPUX (reported by
13853    several people: David Nixon &lt;djn@csc.liv.ac.uk&gt; Aryeh
13854    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt; Johannes
13855    M&auml;hner &lt;johanm@camline.com&gt; Andrew Gaylard
13856    &lt;andrew.gaylard@bsw.co.za&gt;).</li>
13857
13858    <li>add check to configure script if xterm is installed setgid
13859    rather than setuid, since wtmp and utmp may be installed with
13860    group-writable permissions other than root (based on Debian bug
13861    report #7112 by Bo Branten &lt;bosse@ing.umu.se&gt;).</li>
13862
13863    <li>rewrote logic that removes data from termcap entry, e.g.,
13864    for titeInhibit, to make it less likely to remove the wrong
13865    data.</li>
13866
13867    <li>correct logic which checks for missing characters used for
13868    line drawing. The 0 character was tested unnecessarily, leading
13869    to some inefficiency when rendering.</li>
13870
13871    <li>change termcap capability which is used as input or output
13872    of ptyInitialErase logic from <em>kD</em> to <em>kb</em>.
13873    Christian Weisgerber &lt;naddy@mips.rhein-neckar.de&gt; pointed
13874    out in effect that <em>kD</em> (in terminfo <em>kdch1</em>)
13875    should correspond to the control sequence for <em>dch1</em>,
13876    which deletes from the current position toward the right.</li>
13877
13878    <li>check for failure to change ownership of the PTY device and
13879    warn when xterm is running setuid'd to root. This was reported
13880    to happen on the FreeBSD/NetBSD/OpenBSD systems as a result of
13881    the chflags() call.</li>
13882
13883    <li>add xterm-noapp terminfo entry to illustate a nominally
13884    bash-compatible terminal description.</li>
13885  </ul>
13886
13887  <h1><a name="xterm_113" id="xterm_113">Patch #113 - 1999/8/15 -
13888  XFree86 3.9.15b</a></h1>
13889
13890  <p>Several fixes. The main one is a first draft of pulldown
13891  menus. It's not complete (I have some minor/annoying geometry
13892  problems to correct), but is usable. Once it's complete I plan to
13893  add a menu to support additional selections that won't fit on the
13894  current popup menus. Also, this fits into my longterm plan to
13895  allow configuring with Motif libraries.</p>
13896
13897  <ul>
13898    <li>correct error in input conversion for NRC mode (reported by
13899    Stefan Traby &lt;stefan@sime.com&gt;).</li>
13900
13901    <li>fix initialization of num_lock data in Misc struct (since
13902    those fields of the reference widget aren't initialized), and
13903    add logic to deal with XVision whose NumLock key does not
13904    transmit but does alter keypad state.</li>
13905
13906    <li>correct a missing return-value in get_pty(), for SCO</li>
13907
13908    <li>add E2A fix for backspace (patch by Greg Smith), i.e.,<br>
13909    #define VAL_INITIAL_ERASE A2E(127)</li>
13910
13911    <li>correct foreground color within cursor outline when the
13912    window is unfocused (reported by Stephane Chazelas).</li>
13913
13914    <li>corrected position of scrollbar set in ResizeScrollBar(),
13915    which left it positioned incorrectly if the right scrollbar
13916    were enabled from the popup menu but was not initially enabled.
13917      <p>I have noticed some additional problems with
13918      right-scrollbar on X11R5 which I will correct later.</p>
13919    </li>
13920
13921    <li>integrate changes by Jean-Claude Michot for QNX from
13922    XFree86 3.3.4c</li>
13923
13924    <li>add resources menuBar/MenuBar, menuHeight/MenuHeight for
13925    later use in toolbar geometry.</li>
13926
13927    <li>add configure option --enable-toolbar</li>
13928
13929    <li>add missing definition to make ziconbeep logic not
13930    compile-in when configure script disables it.</li>
13931
13932    <li>add configure-check for input-method support in X
13933    libraries</li>
13934  </ul>
13935
13936  <h1><a name="xterm_112" id="xterm_112">Patch #112 - 1999/7/17 -
13937  XFree86 3.9Pw</a></h1>
13938
13939  <ul>
13940    <li>add null-pointer check to FlushLog(), fixes a core dump
13941    when both -l and -lf options are used when xterm is configured
13942    with wide-character support.</li>
13943
13944    <li>remove "ISO" case for SD, which was due to a typographical
13945    error in ECMA-48 (reported by Paul Williams
13946    &lt;paul@celigne.co.uk&gt; for vttest).</li>
13947
13948    <li>add "FILES" section to manpage.</li>
13949
13950    <li>generate header file to initialize default resources for
13951    colors 16-255.</li>
13952
13953    <li>fixes for os390 (Greg Smith):
13954      <ul>
13955        <li>add README.os390</li>
13956
13957        <li>use the pty_search() function to find an available
13958        pty/tty pair.</li>
13959
13960        <li>move E2A() call out of getXtermCell() to SaveText()
13961        function so it will be available in all
13962        configurations.</li>
13963      </ul>
13964    </li>
13965
13966    <li>patches by Todd Larason:
13967      <ul>
13968        <li>enable SGR 48 5 in ISO color mode, not just 256 color
13969        mode</li>
13970
13971        <li>change configure's --disable-256-color option to
13972        --enable-256-color, to match its effect</li>
13973
13974        <li>fix OSC 4 xx ? (report ansi color) to report a string
13975        which can actually be used to set the color back</li>
13976
13977        <li>fix OSC 4 xx yy (change ansi color) to not allow
13978        setting colors &gt; 15 in 16 color mode</li>
13979
13980        <li>simplify the COLOR_ settings a bit in ptyx.h, along
13981        with setting NUM_ANSI_COLORS needed for #1 and #4
13982        above</li>
13983
13984        <li>correct string-terminator code passed for reference to
13985        OSC responses; when in 7-bit mode, only the final byte of
13986        ST was seen.</li>
13987
13988        <li>Allow multiple color #;name pairs in OSC 4, and
13989        document changes to match.</li>
13990      </ul>
13991    </li>
13992  </ul>
13993
13994  <h1><a name="xterm_111" id="xterm_111">Patch #111 - 1999/7/10 -
13995  XFree86 3.9Pw</a></h1>
13996
13997  <ul>
13998    <li>add control sequences for specifying the RGB value of the
13999    ANSI colors, and for configuring with 256 colors (patch by Todd
14000    Larason &lt;jtl@molehill.org&gt;). I made the default
14001    configuration to 16-colors, because xterm uses the default
14002    color map (which has only 256 colors).</li>
14003
14004    <li>correct an error in DCS $ q m reporting for colors 8-15
14005    (Todd Larason).</li>
14006
14007    <li>add test/demo script for double size characters. Used this
14008    to test/correct display of double size characters that should
14009    wrap, underlined double size characters.</li>
14010
14011    <li>increased cache size for double size fonts to 8, to allow
14012    for both normal and bold fonts (discussion with Aryeh
14013    Koenigsberg &lt;aryeh.koenigsberg@telrad.co.il&gt;).</li>
14014
14015    <li>add fixes for port to OS390 aka MVS (integrated patch from
14016    Greg Smith &lt;rys@epaibm.rtpnc.epa.gov&gt;). OS390 uses EBCDIC
14017    rather than ASCII.</li>
14018
14019    <li>correct an off-by-one in binary search limits in
14020    keysym2ucs.c (Markus Kuhn).</li>
14021
14022    <li>implement logging for UTF-8 mode. The output is written in
14023    UTF-8 form.</li>
14024  </ul>
14025
14026  <h1><a name="xterm_110" id="xterm_110">Patch #110 - 1999/6/29 -
14027  XFree86 3.9Pu</a></h1>
14028
14029  <ul>
14030    <li>If colorMode is enabled by default, compile-in default
14031    resources to match the colors listed in XTerm-col.ad (this
14032    should fix a longstanding FAQ).</li>
14033
14034    <li>added new OSC&nbsp;3&nbsp;;&nbsp;PROPNAME=VALUE&nbsp;ST
14035    escape sequence to set an arbitrary X property on the top level
14036    xterm X11 window. Omit "=VALUE" to delete the X property (patch
14037    by Greg Badros &lt;gjb@cs.washington.edu&gt;).</li>
14038
14039    <li>change internal flag used for <em>utf8controls</em>
14040    resource so we allow 31-bit range of characters (suggested by
14041    Thomas Wolff).</li>
14042
14043    <li>add check for 16-bit characters in OSC strings, change them
14044    to '?' (reported by Thomas Wolff).</li>
14045
14046    <li>modify logic of same_font_name() to avoid trying to
14047    interpret both parameters as wildcard patterns. That does not
14048    (cannot) work, and in some instances the font server will
14049    return unresolved wildcards for the normal or bold fontnames,
14050    making them match inadvertently, triggering the fallback
14051    overstrike logic (reported by Tim Adye).</li>
14052  </ul>
14053
14054  <h1><a name="xterm_109" id="xterm_109">Patch #109 - 1999/6/23 -
14055  XFree86 3.9Pt</a></h1>
14056
14057  <ul>
14058    <li>correct range-check from patch #108, which resulted in not
14059    being able to select from the scrollback buffer (reported by
14060    Tim Adye &lt;T.J.Adye@rl.ac.uk&gt;)</li>
14061
14062    <li>correct "no available ptys" problem with Cygwin B20.1
14063    (patch by Tim Adye).</li>
14064
14065    <li>modified install-ti rule in Makefile.in to allow override
14066    of the terminfo directory when doing a "make install", i.e., by
14067    assigning to TERMINFO_DIR (request by Zdenek Sekera
14068    &lt;zs@sgi.com&gt;).</li>
14069
14070    <li>added install-full rule to Makefile.in</li>
14071
14072    <li>resync mkdirs.sh and install.sh scripts against current
14073    autoconf</li>
14074
14075    <li>implement $(DESTDIR) in Makefile.in, making it simple to
14076    install xterm and associated files into a directory just for
14077    packaging a binary release (suggested by CaT
14078    &lt;cat@zip.com.au&gt;).</li>
14079
14080    <li>change IChar type to unsigned, rather than unsigned short,
14081    making room for a flag to keep with 16-bit characters to
14082    prevent them from being interpreted as C0 or C1 controls
14083    (reported by Thomas Wolff).</li>
14084
14085    <li>correct a typo from patch #107, incorrect array name, in
14086    the filterUTF8 function (patch by Bruno Haible
14087    &lt;haible@ilog.fr&gt;)</li>
14088
14089    <li>add <em>utf8controls</em> resource to specify whether xterm
14090    should interpret 16-bit characters unpacked from UTF-8 form as
14091    control characters if they happen to fall into that range. This
14092    behavior is left unspecified by the Unicode standard (request
14093    by Thomas Wolff).</li>
14094
14095    <li>modify handling of OSC to recover if application sends
14096    16-bit characters with codes above 255. We cannot display them
14097    as is, but translate out-of-range characters to a '?' (reported
14098    by Thomas Wolff).</li>
14099  </ul>
14100
14101  <h1><a name="xterm_108" id="xterm_108">Patch #108 - 1999/6/19 -
14102  XFree86 3.9Ps</a></h1>
14103
14104  <ul>
14105    <li>add a range-check to LastTextCol(), to guard against
14106    indexing before the beginning of the scrollback buffer. This
14107    appears to happen with certain fonts under X11R5 (reported by
14108    Stephane Chazelas &lt;Stephane_Chazelas@Raytheon.com&gt;).</li>
14109
14110    <li>implement resource <em>boldMode</em>, to allow disabling
14111    the simulation of bold fonts when the bold and normal fonts are
14112    not different (requested by Will Day
14113    &lt;willday@rom.oit.gatech.edu&gt;).</li>
14114
14115    <li>change the atom "UTF-8" to "UTF8_STRING", and fixes a few
14116    bugs in the UTF-8 selection (patch by Juliusz Chroboczek).</li>
14117
14118    <li>correct logic of binary-search in keysym2ucs.c (patch by
14119    Markus Kuhn).</li>
14120
14121    <li>add special interpretation of keysym codes above 0x1000000
14122    as the corresponding UCS value plus 0x1000000 (patch by Markus
14123    Kuhn).</li>
14124  </ul>
14125
14126  <h1><a name="xterm_107" id="xterm_107">Patch #107 - 1999/6/12 -
14127  XFree86 3.9Pq</a></h1>
14128
14129  <ul>
14130    <li>Two changes from Stephen P Wall. From his description:
14131      <blockquote>
14132        <p>The first change is simple - I added ESC[3J to erase the
14133        stored lines above the screen. That's what the changes to
14134        util.c and ctlseqs.ms are.</p>
14135
14136        <p>The second change is to get the blinking cursor working.
14137        I took out the cursorBlinkTime resource, and put in
14138        cursorBlink (Boolean), cursorOnTime (time cursor is on in
14139        msecs) and cursorOffTime, and added a cursorblink item to
14140        the vtMenu to enable/disable it.</p>
14141      </blockquote>
14142    </li>
14143
14144    <li>improve selection (integrated patch by Juliusz Chroboczek).
14145    From his description:
14146      <blockquote>
14147        <p>With this patch, selection conversion works
14148        properly:</p>
14149
14150        <pre>
14151        ISO 8859-1 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
14152        ISO 8859-1 xterm -&gt; UTF-8 xterm (transferred as STRING);
14153        UTF-8 xterm -&gt; ISO 8859-1 xterm (transferred as STRING);
14154        UTF-8 xterm -&gt; UTF-8 xterm (transferred as UTF-8).
14155</pre>
14156        <p>It will not work properly if one xterm is in, say, ISO
14157        8859-2. Actually, for this case xterm breaks the ICCCM
14158        routinely (sending ISO 8859-2 data as STRING), so I
14159        wouldn't worry too much about it. I have not changed the
14160        behaviour in eight-bit mode in any way.</p>
14161      </blockquote>
14162    </li>
14163  </ul>
14164
14165  <h1><a name="xterm_106" id="xterm_106">Patch #106 - 1999/6/9 -
14166  XFree86 3.9Pq</a></h1>
14167
14168  <ul>
14169    <li>remove duplicate fix for OpenBSD in resize.c</li>
14170
14171    <li>correct logic in ScreenWrite, which did not reset the high
14172    bytes of 16-bit characters when overwriting them with a 8-bit
14173    character string (reported by Thomas Wolff).</li>
14174
14175    <li>provide limited support for input of UTF-8 16-bit data by a
14176    lookup table (integrated patch by Markus Kuhn).</li>
14177
14178    <li>correct check in non_blank_line to ensure we're in
14179    wide-character mode before looking at the high bytes, for
14180    InsertChar.</li>
14181  </ul>
14182
14183  <h1><a name="xterm_105" id="xterm_105">Patch #105 - 1999/6/5 -
14184  XFree86 3.9Pp</a></h1>
14185
14186  <ul>
14187    <li>implement new resource <em>trimSelection</em>, which allows
14188    xterm to trim trailing blanks from selected lines. This does
14189    not affect the highlighting. (reported by several people using
14190    <em>mutt</em>, including Hans Morten Kind &lt;edphk@uib.no&gt;,
14191    Jeremy &lt;jeremy@exit109.com&gt; and (Michael Fuller
14192    &lt;msf@mds.rmit.edu.au&gt;).</li>
14193
14194    <li>include term.h in resize for OpenBSD (patch by Matthieu
14195    Herrb).</li>
14196
14197    <li>correct logic for UTF-8 in functions that hide and show the
14198    cursor; it was displaying a space whenever the low byte of the
14199    character at the cursor position was zero (reported by Thomas
14200    Wolff &lt;Thomas.Wolff@icn.siemens.de&gt;).</li>
14201  </ul>
14202
14203  <h1><a name="xterm_104" id="xterm_104">Patch #104 - 1999/5/30 -
14204  XFree86 3.9Pn</a></h1>
14205
14206  <p>This is a resync patch against XFree86 3.9Pn, reflecting
14207  changes which were submitted by Branden Robinson, who worked with
14208  Wichert Akkerman &lt;wichert@cs.leidenuniv.nl&gt; to set up
14209  ifdef's to handle GNU libc 2.1, and use getpt() which lets xterm
14210  avoid having to know the actual PTY name.</p>
14211
14212  <p>I have also added a few fixes for signed/unsigned mismatches,
14213  and corrected a problem in the configure script (the UTF-8 code
14214  was always configured since the Imakefile defines this).</p>
14215
14216  <h1><a name="xterm_103" id="xterm_103">Patch #103 - 1999/5/14 -
14217  XFree86 3.9Pm</a></h1>
14218
14219  <ul>
14220    <li>correct selection logic: I omitted an offset that accounts
14221    for the distance into the scrollback buffer when rewriting this
14222    for <a href="#xterm_101">patch #101</a>. Also fixed a similar
14223    problem for selecting double size characters from the
14224    scrollback buffer (first was reported by D Roland Walker
14225    &lt;walker@pobox.com&gt;).</li>
14226
14227    <li>improved support for Unix98 PTY's, using patch in Debian
14228    bug report #35650, by J.H.M. Dassen
14229    &lt;jdassen@wi.leidenuniv.nl&gt;. From the patch description:
14230      <blockquote>
14231        <ul>
14232          <li>No longer links xterm against libutil on a glibc2.1
14233          system. libutil is a compatibility library and should
14234          only be used when necessary. Rather than having get_pty()
14235          use openpty() from this compatibility library, use the
14236          real UNIX98 pty support in get_pty() (open()ing the
14237          master pty, through getpt() if available (glibc
14238          extension)). Use openpty() only under glibc2.0.</li>
14239
14240          <li>GNU libc2 is not Linux-specific; already it runs on
14241          the Hurd. It provides the UNIX98 pty functions (plus the
14242          getpt() extension), regardless of the underlying OS.
14243          Changed two constructs to look for GNU libc2 only, not
14244          GNU libc2 on Linux.</li>
14245        </ul>
14246      </blockquote>
14247    </li>
14248
14249    <li>improve font configuration, by checking if the user's
14250    resource settings for normal and bold fonts give the same font
14251    sizes (fixes problem reported by Peter Waltenberg
14252    &lt;peterw@dascom.com&gt;).</li>
14253  </ul>
14254
14255  <h1><a name="xterm_102" id="xterm_102">Patch #102 - 1999/5/12 -
14256  XFree86 3.9Pm</a></h1>
14257
14258  <ul>
14259    <li>revert change to openpty call in <a href="#xterm_101">patch
14260    #101</a>; this causes xterm to fail on DEC-Alpha OSF/1 4.0B
14261    (reported by H Merijn Brand).</li>
14262
14263    <li>modify print.c to move include of stdio.h after the
14264    autoconf'd xtermcfg.h since HP's ANSI C compiler otherwise sees
14265    inconsistent prototype for getopt, probably due to problem with
14266    const (reported by H Merijn Brand).</li>
14267  </ul>
14268
14269  <h1><a name="xterm_101" id="xterm_101">Patch #101 - 1999/5/10 -
14270  XFree86 3.9Pm</a></h1>
14271
14272  <ul>
14273    <li>moved includes and definitions for 'select' from data.h to
14274    xterm.h to fix problem introduced by prototype for getPtyData,
14275    part of UTF-8 changes (reported by Jens Schleusener
14276    &lt;Jens.Schleusener@dlr.de&gt;)</li>
14277
14278    <li>added "Meta &lt;Btn2Down&gt;:clear-saved-lines()" default
14279    translation (patch by H Merijn Brand)</li>
14280
14281    <li>fixes to configure script and ifdef's in main.c to build on
14282    a HP9000/D390 (hppa-2.0w) running HP-UX 11.00 (64 bit) with
14283    egcs 1.1.2 and HP's ANSI C compiler (patch by H Merijn Brand
14284    &lt;PROCURA_BV@CompuServe.com&gt;)</li>
14285
14286    <li>add more parentheses in ifdef's (patch by Bob
14287    Maynard).</li>
14288
14289    <li>eliminate conflicting definitions for USE_TERMINFO in
14290    resize.c (reported by Jeremy Buhler).</li>
14291
14292    <li>change openpty call to pass NULL rather than ttydev
14293    parameter, since that was used only to estimate the length of
14294    the corresponding data, and may not really be long enough
14295    (reported by Andreas Jaeger)</li>
14296
14297    <li>update description in xterm manpage for character class
14298    table, which said it handles only 7-bit codes.</li>
14299
14300    <li>correct a typo in ScrnDeleteChar() which made it not clear
14301    the high byte of wide-character data.</li>
14302
14303    <li>add logic to convert selection to UTF-8 form when
14304    appropriate. This makes select/paste "work", but further work
14305    is needed to make UTF-8 recognized as a locale in Xlib.</li>
14306
14307    <li>correct right-limit check when selecting double-width
14308    characters.</li>
14309
14310    <li>change default answerback response to an empty string.</li>
14311  </ul>
14312
14313  <h1><a name="xterm_100" id="xterm_100">Patch #100 - 1999/5/3 -
14314  XFree86 3.9Pl</a></h1>
14315
14316  <ul>
14317    <li>Correct a typo in the default resource value for
14318    backarrowKeyIsErase: it was always true (reported by Bram
14319    Moolenaar).</li>
14320
14321    <li>improve configure script's test if the installed xterm is
14322    setuid, in case that is a symbolic link.</li>
14323
14324    <li>correct "install-ti" rule in Makefile.in, by not setting a
14325    blank $TERMINFO value. That is interpreted as "." by ncurses'
14326    tic.</li>
14327  </ul>
14328
14329  <h1><a name="xterm_99" id="xterm_99">Patch #99 - 1999/5/2 -
14330  XFree86 3.9Pk</a></h1>
14331
14332  <ul>
14333    <li>correct logic that computes num_ptrs count of the number of
14334    indices into the screen buffer. This is the maximum of the
14335    colors and character-set indices; was incorrect in patch
14336    #97.</li>
14337
14338    <li>correct argument type for sigsetjmp, incidental change in
14339    patch #96's Unix88 PTY patch (reported by Bram Moolenaar).</li>
14340
14341    <li>correct description of secondary DA in ctlseqs.ms (reported
14342    by Bram Moolenaar).</li>
14343
14344    <li>decouple the backarrowKey and ptyInitialErase resources by
14345    adding a new resource backarrowKeyIsErase, to accommodate
14346    people using applications which have hardcoded tests for
14347    characters 8 and 127 rather than relying on the stty
14348    settings.</li>
14349
14350    <li>modify the UTF-8 decoder so that all possible illegal UTF-8
14351    sequences are properly represented by U+FFFD. This should be
14352    very helpful for developers of code that output UTF-8 strings
14353    for debugging. See the file utf-8-test.txt in
14354    http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz for a
14355    demonstration text that contains numerous illegal UTF-8 values.
14356    (patch by Markus Kuhn).</li>
14357
14358    <li>correct a place in ScrnRefresh where I was filling the high
14359    byte of a wide character with a space rather than a null
14360    (reported by Markus Kuhn).</li>
14361  </ul>
14362
14363  <h1><a name="xterm_98" id="xterm_98">Patch #98 - 1999/4/26 -
14364  XFree86 3.9Pk</a></h1>
14365
14366  <ul>
14367    <li>correct data manipulation in unparseputc(), broken for
14368    little-endian machines by patch #97's UTF-8 changes. This meant
14369    that keyboard input on SunOS did not work, though Linux i386
14370    was fine.</li>
14371
14372    <li>modify initialization for backarrowKey and logic for
14373    initial-erase to prevent the initial-erase from overriding an
14374    explicitly set backarrowKey resource (reported by Vikas
14375    Agnihotri).</li>
14376
14377    <li>add a missing null-pointer check in ScrnRefresh, for the
14378    wide-characters configuration.</li>
14379  </ul>
14380
14381  <h1><a name="xterm_97" id="xterm_97">Patch #97 - 1999/4/25 -
14382  XFree86 3.9Pk</a></h1>
14383
14384  <ul>
14385    <li>add configure script test for -lutil, needed for openpty
14386    call when configuring xterm for Glibc-2.1 and Unix98 PTY's
14387    (first reported by Martin Lorentz"
14388    &lt;m.lorentz@w12.link-goe.de&gt;).</li>
14389
14390    <li>completely parenthesize ifdef expressions for Glibc
14391    (suggested by Bob Maynard).</li>
14392
14393    <li>add initial-erase options (-ie, +ie) to help message
14394    (reported by Vikas Agnihotri).</li>
14395
14396    <li>remove duplicate definition of USE_USG_PTYS (reported by
14397    Jeremy Buhler).</li>
14398
14399    <li>change termcap <em>kD</em> and terminfo <em>kdch1</em> to a
14400    DEL (\177). I overlooked this when separating the styles of
14401    keyboard with the <em>sunKeyboard</em> resources in patch #94,
14402    so that it normally matches the value of the stty erase
14403    character:
14404      <ul>
14405        <li>Reported by Jae Gangemi
14406        &lt;jgangemi@ccf.rutgers.edu&gt;, this caused emacs to not
14407        process the DEL properly, combining it with succeeding
14408        characters.</li>
14409
14410        <li>This does not appear to be related to a problem which I
14411        have found with <em>screen</em>, which translates the stty
14412        erase into the termcap <em>kD</em> or terminfo
14413        <em>kdch1</em> value (depending on how it is linked) if the
14414        $TERMCAP variable is set when <em>screen</em> is
14415        invoked.</li>
14416      </ul>
14417    </li>
14418
14419    <li>add command-line options for enabling UTF-8 mode: -u8 and
14420    +u8. The more obvious -utf8 and +utf8 would conflict with
14421    xterm's -ut and +ut (utmp) options. The UTF-8 changes were
14422    requested by Markus Kuhn &lt;Markus.Kuhn@cl.cam.ac.uk&gt;. This
14423    patch does not complete UTF-8 implementation, but makes it
14424    usable, i.e., display and refresh work, and I am able to
14425    display the test cases which Markus provides. More work is
14426    needed to complete this feature:
14427      <ul>
14428        <li>the control sequences for switching in/out of UTF-8
14429        mode are partly implemented (don't use them). Similarly,
14430        the switching between vt100 and tek4014 emulations when
14431        UTF-8 mode is enabled will not work properly.
14432          <p>You must use the -u8 command line option to use this
14433          feature, as well as compile with the OPT_WIDE_CHARS
14434          definition.</p>
14435        </li>
14436
14437        <li>cut/paste only copies 8-bit characters.</li>
14438
14439        <li>logging is disabled in the wide-character
14440        configuration</li>
14441
14442        <li>printing only writes 8-bit characters.</li>
14443
14444        <li>input only does 8-bit characters. This is the area that
14445        I know least about.</li>
14446      </ul>
14447    </li>
14448  </ul>
14449
14450  <h1><a name="xterm_96" id="xterm_96">Patch #96 - 1999/4/19 -
14451  XFree86 3.9Pj</a></h1>
14452
14453  <ul>
14454    <li>modify Makefile.in to work with configure script's --srcdir
14455    option. (patch by Jeremy Buhler
14456    &lt;jbuhler@cs.washington.edu&gt;)</li>
14457
14458    <li>add checks for 'echo -n' equivalent for 8colors.sh and
14459    16colors.sh scripts (reported by Vikas Agnihotri).</li>
14460
14461    <li>improve logic that looks for bold fonts to allow for
14462    wildcards in the specification for normal fonts, and to ensure
14463    that if a bold font is specified as normal, that xterm will
14464    simulate a bold version of that using a one-pixel offset
14465    overstrike (reported by Henrik Harmsen
14466    &lt;harmsen@erv.ericsson.se&gt;).</li>
14467
14468    <li>correct horizontal spacing of double width line-drawing
14469    characters that xterm simulates.</li>
14470
14471    <li>improve support for Unix98 PTY's, using patch in Debian bug
14472    report #35650, by Topi Miettinen
14473    &lt;Topi.Miettinen@medialab.sonera.fi&gt;. Andreas Jaeger says
14474    this also corrects a permissions problem reported by
14475    cat@zip.net.au</li>
14476
14477    <li>modify initial-erase logic to ensure that
14478    <code>ttyModes</code> resource overrides it.</li>
14479  </ul>
14480
14481  <h1><a name="xterm_95" id="xterm_95">Patch #95 - 1999/4/5 -
14482  XFree86 3.9Ph</a></h1>
14483
14484  <ul>
14485    <li>modify primary DA response to allow a '1' parameter.</li>
14486
14487    <li>add printer and national replacement character sets to
14488    VT220 primary DA response.</li>
14489
14490    <li>document primary and secondary DA responses in
14491    ctlseqs.ms</li>
14492
14493    <li>use the patch number (e.g., 95) in the secondary DA
14494    response, providing user applications a means of determining
14495    the version of xterm for feature comparison (request by Bram
14496    Moolenaar).</li>
14497
14498    <li>make xterm respond to secondary DA when the decTerminalID
14499    is set for VT100.</li>
14500
14501    <li>limit user-defined keys (DECUDK) to VT220-style keyboard
14502    when sunKeyBoard resource is true.</li>
14503
14504    <li>modify ifdef's for Linux-2.2.x with Glibc-2.1 to work with
14505    Glibc-2.1 and no Unix98 PTY support (patch from Andreas Jaeger
14506    &lt;aj@arthur.rhein-neckar.de&gt;)</li>
14507
14508    <li>add optional feature (resource and command-line options) to
14509    make xterm use the PTY's sense of erase character on startup,
14510    rather than requiring it to be \177, or set the PTY's erase
14511    character to match xterm's configuration. Note that while
14512    $TERMCAP is modified to reflect the actual configuration, the
14513    terminfo kdch1 string is not (request by Dirk H Hohndel
14514    &lt;hohndel@suse.de&gt;)</li>
14515
14516    <li>improve scripts in vttests to work with newer shells that
14517    do not use 'echo -n'.</li>
14518
14519    <li>add fonts.sh example script</li>
14520
14521    <li>correct inequality in handling of "#1" font
14522    specification.</li>
14523
14524    <li>correct call to XGetWMNormalHints() used for computing
14525    maximum screen size; the size hints may not have been set.</li>
14526
14527    <li>begin implementation of support for wide-characters
14528    (configure option --enable-wide-chars defines OPT_WIDE_CHARS,
14529    invoke xterm with -wc option to activate this feature). This
14530    patch optionally widens internal data structures, invokes the
14531    16-bit text output rather than the 8-bit version and adds some
14532    tables.</li>
14533  </ul>
14534
14535  <h1><a name="xterm_94" id="xterm_94">Patch #94 - 1999/3/27 -
14536  XFree86 3.9Pf</a></h1>
14537
14538  <ul>
14539    <li>further fixes for terminfo: ka1, ka3, etc., differ between
14540    the default xterm-xfree86 and xterm-vt220 entries.</li>
14541
14542    <li>change default (with sunKeyboard resource false) behavior
14543    of the editing keypad "Delete" to send a 127, like xterm-r6.
14544    The VT220-style <code>&lt;ESC&gt;[3~</code> is sent when
14545    sunKeyboard is true (reported by Tomas Vanhala).</li>
14546
14547    <li>add parameters to function keys to indicate if shift,
14548    control or alt are set. The codes are based on a description of
14549    a DEC VT510 with a PC keyboard, from Jeffrey Altman
14550    &lt;jaltman@watsun.cc.columbia.edu&gt;.</li>
14551
14552    <li>add control sequence 1035, set-num-lock action and num-lock
14553    menu entry to control the use of the NumLock and Alt keys for
14554    the Sun/PC and VT220 keyboard extensions.</li>
14555
14556    <li>implement DECSET/DECRST numeric keypad (DECNKM) mode.</li>
14557
14558    <li>modify terminfo and termcap to use recommended "X Window"
14559    or "X11" names rather than "X Windows" (reported by Tomas
14560    Vanhala).</li>
14561
14562    <li>suppress translation of shifted keypad "+" when sunKeyboard
14563    is true.</li>
14564
14565    <li>workaround unexpected behavior (perhaps bug) in
14566    XmbLookupString, which returns trash in the string buffer for
14567    numlock and control-key combined with keypad-keys.</li>
14568
14569    <li>modify ScrollBarReverseVideo() to keep scrollbar border
14570    visible when reverse video is toggled.</li>
14571
14572    <li>correct missing case for parameter 17 (set highlight color)
14573    in dynamic colors control sequences.</li>
14574
14575    <li>extend dynamic colors control sequences to allow users to
14576    determine the colors and font which are currently active.</li>
14577
14578    <li>minor tweak to OSC responses, to use BEL if the application
14579    used that to end the request, rather than ST. This works better
14580    with shell scripts, which may not handle an
14581    <code>&lt;ESC&gt;backslash</code> very well.</li>
14582
14583    <li>separate menu settings for reverse video from that done
14584    under program control.</li>
14585
14586    <li>corrected ifdef's for menus, which did not allow tek4014 to
14587    be suppressed properly (reported by Clint Olsen).</li>
14588
14589    <li>changes for Linux-2.2.x with GLibc-2.1 and /dev/ptmx
14590    support (integrated patch from Pavel Roskin):
14591      <ul>
14592        <li>main.c and resize.c were using different rules to
14593        determine whether ATT should be defined (actually
14594        USE_USG_PTYS is more apt).</li>
14595
14596        <li>copy definitions from main.c to resize.c to prevent
14597        sys/stream.h and sys/ptem.h from inclusion when SYSV is not
14598        defined</li>
14599
14600        <li>define CNUL if not already defined like other
14601        variables.</li>
14602
14603        <li>/dev/tty does exist in Linux, but it doesn't mean, it
14604        should be used. Therefore EACCES is now an acceptable
14605        result.</li>
14606
14607        <li>ifdef'd several calls such as <code>ioctl (ptyfd,
14608        I_PUSH, "ptem")</code> to build on Linux (I_PUSH is not
14609        defined when sys/stropts.h is not included).</li>
14610      </ul>
14611    </li>
14612
14613    <li>initialize second "ltc" variable in main.c (reported by
14614    David Dawes).</li>
14615
14616    <li>provide definition for USE_USG_PTYS in screen.c</li>
14617
14618    <li>add resource-files to install rule in standalone
14619    Makefile.in</li>
14620
14621    <li>add sample scripts to illustrate titlebar controls,
14622    resizing and colors.</li>
14623  </ul>
14624
14625  <h1><a name="xterm_93" id="xterm_93">Patch #93 - 1999/3/14 -
14626  XFree86 3.9Pd</a></h1>
14627
14628  <p>Here are several fixes and minor enhancements. The chief ones
14629  are the fixes for NumLock mode and reverse video, since we had
14630  become used to working around the problems.</p>
14631
14632  <ul>
14633    <li>remove kfnd/kll/kslt strings from terminfo, because curses
14634    applications do not necessarily return khome/kend pairs
14635    (reported by Vikas Agnihotri).</li>
14636
14637    <li>implement NumLock resource which overrides the keyboard
14638    tables for the special case of keypad keys. This is a problem
14639    introduced in xterm by X11R6 changes, i.e., an ambiguity which
14640    in effect discarded vt100 keypad support.</li>
14641
14642    <li>modify Sun/PC keyboard mode to extend this (emulation of
14643    DEC vt100 keypad) to the remainder of the numeric keypad. Now,
14644    the default operating mode of xterm uses the keyboard tables
14645    as-is (except if the NumLock mode overrides), but provides good
14646    vt100 keypad compatibility if the Sun/PC keyboard menu item is
14647    checked.</li>
14648
14649    <li>separate command-line settings for reverse video from that
14650    done under program control. This is a problem which was
14651    introduced by X11R6. Though <em>correct</em>, most users are
14652    confused by allowing the reset command to undo the effect of
14653    the command-line <kbd>-rv</kbd> option.</li>
14654
14655    <li>add description of function keys, keypad and cursor keys to
14656    ctlseqs.ms</li>
14657
14658    <li>add terminfo entries for xterm-vt52, xterm-sun and
14659    xterm-hp</li>
14660
14661    <li>correct typo (missing case value) for DECSET 35,
14662    enable/disable shifted keypad action and a few compiler
14663    warnings (reported by Zdenek Sekera &lt;zs@sgi.com&gt;).</li>
14664
14665    <li>correct reporting of color values 8-15 in DECRQSS (reported
14666    by Vikas Agnihotri).</li>
14667
14668    <li>modify parsing of ttyModes resource to recognize "^-" as
14669    "undef" (requested by Tomas Vanhala).</li>
14670
14671    <li>integrate/extend changes to add iconify/maximize actions
14672    (from Edward S. Arthur &lt;eda@ultranet.com&gt;).</li>
14673
14674    <li>add control sequences for maximizing/restoring window, and
14675    for reporting maximum screen size.</li>
14676
14677    <li>add 'interpret' action, to support local function-key
14678    interpretation. Used properly, this makes most of the
14679    specialized actions of xterm redundant.</li>
14680
14681    <li>add control sequence private modes 1051, 1052 and 1052, for
14682    setting the Sun and HP function key modes, and for setting the
14683    Sun/PC keyboard mode.</li>
14684
14685    <li>add configure option --disable-maximize</li>
14686
14687    <li>add configure option --disable-num-lcok</li>
14688
14689    <li>extend descriptions of configure script options in
14690    INSTALL.</li>
14691  </ul>
14692
14693  <h1><a name="xterm_92" id="xterm_92">Patch #92 - 1999/2/5 -
14694  XFree86 3.9Nz</a></h1>
14695
14696  <ul>
14697    <li>increase buffer size for tgetent (i.e., termcap) to 1500.
14698    This fixes a problem where <em>screen</em> is built using
14699    ncurses or GNU termcap and <em>xterm</em> is built using the
14700    standard termcap interface. The former does not limit the
14701    termcap size, while the latter is assumed to be no longer than
14702    1023 characters. The <em>screen</em> program's termcap entry is
14703    about 1200 characters long.</li>
14704
14705    <li>change update_menu_item() to a function, to simplify
14706    debugging. This also reduces the executable by 4Kb.</li>
14707
14708    <li>add control sequences for DECSET 30, 1010, 1011 like rxvt
14709    (enable or disable some features that were only settable via
14710    resources or command line arguments).</li>
14711
14712    <li>add control sequence for DECSET 35, which enables/disables
14713    the shifted keypad functions.</li>
14714
14715    <li>add support for switching font sizes, by stepping through
14716    the font menu using shifted keypad plus and minus.</li>
14717
14718    <li>correct missing initialization of tekInhibit and tekSmall
14719    resources.</li>
14720
14721    <li>correct ifdef's in charproc.c for XtNgeometry and
14722    XtCGeometry (reported by Bram Moolenaar).</li>
14723  </ul>
14724
14725  <h1><a name="xterm_91" id="xterm_91">Patch #91 - 1999/1/21 -
14726  XFree86 3.9Nw</a></h1>
14727
14728  <ul>
14729    <li>Implement logic to translate input characters which are
14730    mapped when in vt220 National Replacement Character mode
14731    (requested by Tomas Vanhala).</li>
14732
14733    <li>Resync configure scripts with my patches to autoconf
14734    2.13</li>
14735
14736    <li>Change order of -lXmu and -lXext to accommodate cygwin32
14737    (reported by Vikas Agnihotri).</li>
14738
14739    <li>Add "-ti" option to set terminal emulation level from
14740    command line rather than via resource.</li>
14741
14742    <li>Simplify some of the preprocessor logic using #elif.</li>
14743  </ul>
14744
14745  <h1><a name="xterm_90" id="xterm_90">Patch #90 - 1998/12/13 -
14746  XFree86 3.9Nq</a></h1>
14747
14748  <p>This implements several small fixes and enhancements. The
14749  chief one implements fallback support for line drawing characters
14750  with fonts that do not include those characters. But I
14751  implemented that last.</p>
14752
14753  <ul>
14754    <li>If any of the glyphs in positions 0-31 (used by xterm to
14755    implement the VT100 alternate character set) are zero-sized
14756    (i.e., missing), xterm will reserve a normal space for the
14757    glyph when drawing. I implemented a simple stroke-drawing
14758    function to draw the line-drawing characters and a couple of
14759    the other (simpler) characters such as diamond. (This was
14760    suggested by Vikas Agnihotri).</li>
14761
14762    <li>Modify the computation of doublesize characters to work
14763    around font servers which shift the scaled characters up/down
14764    or do not give the correct width.</li>
14765
14766    <li>Add popup menu item and corresponding resource settings to
14767    disable the font-scaling logic for doublesize characters to
14768    work around (older) font servers which simply do not draw the
14769    fonts scaled to the size that they said they would. I see this
14770    problem on a SunOS system running X11R5; the X11R6 servers seem
14771    well behaved.</li>
14772
14773    <li>Implement new escape sequence, private mode 1049, which
14774    combines the switch to/from alternate screen mode with screen
14775    clearing and cursor save/restore. Unlike the existing escape
14776    sequence, this clears the alternate screen when switching to it
14777    rather than when switching to the normal screen, thus retaining
14778    the alternate screen contents for select/paste operations.
14779      <p>When I implemented the popup menu entry to toggle between
14780      the normal and alternate screens, I considered only pasting
14781      from the normal screen to the alternate; this improvement
14782      allows either direction.</p>
14783    </li>
14784
14785    <li>Changed the termcap and terminfo for xterm-xfree86 and
14786    xterm-8bit to use the new 1049 private mode.</li>
14787
14788    <li>Modify the logic which switches between normal and
14789    alternate screens so that the save/restore cursor operations
14790    apply only to the current screen. That means that applications
14791    which use the terminfo smcur/rmcur or termcap ti/te
14792    capabilities will restore the cursor to the original position
14793    on the normal screen rather than to the most recent place where
14794    a save-cursor operation was performed.
14795      <p>I note that a real VT100 terminal would not behave in this
14796      way, but it is a moot point since the VT100 does not
14797      implement alternate screen, and therefore the save/restore
14798      cursor sequence would not be used in this context. I reviewed
14799      the logic which switches between normal and alternate screens
14800      based on some recent newsgroup postings as well as a proposed
14801      patch in the Debian group which attempts to do this (the
14802      patch has a bug, however, so I did not use it).</p>
14803    </li>
14804
14805    <li>Add popup menu entry for toggling the titeInhibit
14806    resource.</li>
14807
14808    <li>Add new resource answerbackString, which overrides the
14809    default "xterm" returned by xterm when responding to an ENQ
14810    (control/E) character (request by Rajesh Vaidheeswarran
14811    &lt;rv@fore.com&gt;).</li>
14812
14813    <li>Add new resource keyboardDialect for setting the NRC
14814    display character set (request by Tomas Vanhala, who notes that
14815    I should add logic to translate the keyboard as well).</li>
14816
14817    <li>Add new command-line option and corresponding resources for
14818    making xterm generate escape sequences compatible with HP
14819    terminals. Like the existing Sun escape sequences, this is
14820    available as a popup menu item. It is enabled by the configure
14821    script with the option --enable-hp-fkeys (requested by Toni
14822    Mueller &lt;sales@oeko.net&gt;).</li>
14823
14824    <li>Add configure script option --disable-boxchars to disable
14825    the fallback support for line drawing characters.</li>
14826
14827    <li>Fix ifdef's for configure script --disable-ansi-color, and
14828    reviewed all configure options to ensure that all can be
14829    enabled/disabled appropriately.</li>
14830
14831    <li>Update config.guess and config.sub, from Lynx.</li>
14832  </ul>
14833
14834  <h1><a name="xterm_89" id="xterm_89">Patch #89 - 1998/11/20 -
14835  XFree86 3.9Nm</a></h1>
14836
14837  <p>This patch completes the implementation of double-sized
14838  character support for the VT100 emulation, and fixes a few minor
14839  bugs:</p>
14840
14841  <ul>
14842    <li>corrected the cursor position in HideCursor, which did not
14843    multiply the column by two when in doublesize mode. This bug,
14844    which did not appear in normal use, dates back to my original
14845    <a href="#xterm_44">changes</a> to partly implement
14846    double-sized characters. I noticed it when cat'ing a typescript
14847    from vttest's double-sized character test.</li>
14848
14849    <li>ensure that the current line is repainted when switching
14850    between single and double width characters.</li>
14851
14852    <li>reduce the number of bits used for double-sized character
14853    coding from 3 to 2, to make more room for soft-font codes.</li>
14854
14855    <li>copy newer ifdef's from the XFree86 3.3.3 release's main.c,
14856    which address details of glibc and powerpc.</li>
14857
14858    <li>moved definition of DECL_ERRNO in xterm.h to match XFree86
14859    3.3.3</li>
14860
14861    <li>modify <em>resize</em> to remove the ifdef on SVr4 that
14862    suppressed printing the script for $LINES and $COLUMNS.
14863    Solaris' resize utility does this; suppressing the behavior is
14864    unnecessary.</li>
14865  </ul>
14866
14867  <p>I tested the double-sized characters using vttest and the
14868  xfsft patch. These fonts worked reasonably well:</p>
14869
14870  <pre>
14871        -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
14872        9x15
14873</pre>
14874  <p>The iso8859 font does not include box characters, of course,
14875  but looks good.</p>
14876
14877  <h1><a name="xterm_88" id="xterm_88">Patch #88 - 1998/10/31 -
14878  XFree86 3.9Nk and 3.3.2h</a></h1>
14879
14880  <p>This refines my <a href="#xterm_85">patch #85</a> by checking
14881  for a case where the font server returns a bold font that does
14882  not quite correspond to the normal font. When I asked for a bold
14883  version of the 6x12 font, the font server returned a near
14884  equivalent where the ascent and descent values did not match,
14885  causing xterm to leave lines across the display. This patch makes
14886  xterm reject that type of mismatch, falling back to the old font
14887  behavior.</p>
14888
14889  <h1><a name="xterm_87" id="xterm_87">Patch #87 - 1998/10/21 -
14890  XFree86 3.9Nj and 3.3.2f</a></h1>
14891
14892  <p>This corrects a problem reported by Stefan Dalibor. My table
14893  entries for the <em>printerExtent</em> and
14894  <em>printerFormFeed</em> resources used the wrong types for
14895  sizeof, causing the printer to not work properly on some
14896  platforms because the <em>printAttributes</em> resource was
14897  overwritten (e.g., Digital Unix with DEC Alpha).</p>
14898
14899  <p>I reviewed all of the resource table entries and fixed a
14900  potential problem with <em>resizeGravity</em>, which was typed as
14901  <em>int</em> rather than <em>XtGravity</em>.</p>
14902
14903  <h1><a name="xterm_86" id="xterm_86">Patch #86 - 1998/10/14 -
14904  XFree86 3.9Nj and 3.3.2e</a></h1>
14905
14906  <p>A small fix: when switching to/from the continuous mouse
14907  reporting mode, the event mask was incorrect if xterm was built
14908  under X11R5 because the original data was saved under an ifdef
14909  for active-icon.</p>
14910
14911  <h1><a name="xterm_85" id="xterm_85">Patch #85 - 1998/10/12 -
14912  XFree86 3.9Nj and 3.3.2e</a></h1>
14913
14914  <p>Some cleanup (I noticed the pixel droppings a few months ago
14915  after getting a new 17" monitor):</p>
14916
14917  <ul>
14918    <li>split-out the functions that load/reload fonts for xterm as
14919    new file fontutils.c to extend them to support automatic
14920    loading of bold font corresponding to the normal font. Adapted
14921    logic from EMU 1.3 for this purpose. This fixes most
14922    occurrences of pixel droppings from bold characters.</li>
14923
14924    <li>modified by renaming variables and adding casts to permit
14925    compile with g++.</li>
14926
14927    <li>modify headers so they can all be compiled without order
14928    dependencies, and use bracketed rather than quoting includes to
14929    allow compile from separate directory.</li>
14930
14931    <li>renamed xtermm terminfo entry to xterm-mono, to avoid
14932    conflict with Solaris entry now in ncurses.</li>
14933  </ul>
14934
14935  <h1><a name="xterm_84" id="xterm_84">Patch #84 - 1998/10/9 -
14936  XFree86 3.9Ni and 3.3.2e</a></h1>
14937
14938  <p>Several small fixes and enhancements, including a patch from
14939  Bjorn Helgaas:</p>
14940
14941  <ul>
14942    <li>correct initialization of TERMCAP environment variable,
14943    which was frequently set to garbage on non-Linux systems
14944    because "termcap" and "newtc" contained random data from the
14945    stack.</li>
14946
14947    <li>remove the LINEWRAPPED attribute from lines as they are
14948    cleared. Previously, the attribute was set but never
14949    cleared.</li>
14950
14951    <li>make word and line selections work even when lines are
14952    wrapped by xterm. Previously, selections were limited to one
14953    screen line.</li>
14954  </ul>
14955
14956  <p>as well as</p>
14957
14958  <ul>
14959    <li>modify logic for line-wrapping to reset the associated flag
14960    if the application deletes a character. This fixes a problem
14961    reported by Bjorn Helgaas where word/line selection would still
14962    wrap even after deleting characters from the first line.</li>
14963
14964    <li>add kll/kH capabilities to xterm-xfree86 entries in termcap
14965    and terminfo (request by Michael Schroeder).</li>
14966
14967    <li>shorten descriptions in termcap to make resolved entries
14968    all shorter than 1023 character limit.</li>
14969
14970    <li>use DECSTR control sequence to shorten initialization and
14971    reset strings in xterm-xfree86 termcap and terminfo.</li>
14972
14973    <li>use rmul/smul and rmir/smir in xterm-r5 terminfo to match
14974    termcap.</li>
14975
14976    <li>correct typos in initialization and reset strings in
14977    xterm-r5 termcap and terminfo.</li>
14978
14979    <li>disable special translations of key symbols (the backarrow
14980    key, the editing keypad and the keypad "+") when a modifier
14981    other than shift, control or numlock is used. This makes xterm
14982    handle the meta key as expected by people using emacs (reported
14983    by Pete Harlan &lt;harlan@pointofchoice.com&gt; in
14984    linux.debian.user newsgroup).</li>
14985  </ul>
14986
14987  <h1><a name="sync_83" id="sync_83">Resync #83 - 1998/10/7 -
14988  XFree86 3.3.2e</a></h1>
14989
14990  <p>Merge changes through <a href="#xterm_83">patch #83</a> with
14991  the 3.3.2e version.</p>
14992
14993  <p>This follows a change from XFree86 CVS which adds checks for
14994  non-null return from malloc (patch by Matthieu Herrb).</p>
14995
14996  <h1><a name="xterm_83" id="xterm_83">Patch #83 - 1998/8/25 -
14997  XFree86 3.9Nb</a></h1>
14998
14999  <p>Several small fixes and enhancements:</p>
15000
15001  <ul>
15002    <li>add configure test to infer if xterm should be installed
15003    setuid based on previously installed xterm (reported by Stephen
15004    Marley and Stefan Dalibor).</li>
15005
15006    <li>implement quasi-continuous mouse reporting (integrated
15007    patch by Jason Bacon).</li>
15008
15009    <li>correct control sequences transmitted by function keys F1
15010    to F4 when sunFunctionKeys resource is true (it was still using
15011    the VT100 control sequences).</li>
15012
15013    <li>modify handling of backarrow key so that the control
15014    modifier toggles the backspace/delete interpretation set by the
15015    backarrowKey resource.</li>
15016
15017    <li>limit the row and column values used to report mouse
15018    position.</li>
15019  </ul>
15020
15021  <p>From resync with XFree86 3.9Nb:</p>
15022
15023  <ul>
15024    <li>add support for the VSTATUS control character (patch by
15025    Robert Earl &lt;rearl@teleport.com&gt;).</li>
15026  </ul>
15027
15028  <h1><a name="xterm_82" id="xterm_82">Patch #82 - 1998/7/15 -
15029  XFree86 3.9Aj</a></h1>
15030
15031  <p>Bug fix for <a href="#xterm_81">patch #81</a>:</p>
15032
15033  <ul>
15034    <li>remove an #undef for NBBY, which caused compile problem on
15035    FreeBSD (reported by David Dawes).</li>
15036  </ul>
15037
15038  <h1><a name="xterm_81" id="xterm_81">Patch #81 - 1998/7/14 -
15039  XFree86 3.9Aj</a></h1>
15040
15041  <p>More bug fixes:</p>
15042
15043  <ul>
15044    <li>fix conflicting ifdef's for TIOCSLTC when building with
15045    Linux on AXP aka DEC Alpha (reported by Robin Cutshaw).</li>
15046
15047    <li>correction to patch #79, move assignment for
15048    *utptr-&gt;ut_user = 0; back into non-SVR4 ifdef in main.c,
15049    since this clobbers username on Solaris 2.5.1 (analysis by Will
15050    Day &lt;willday@rom.oit.gatech.edu&gt;).</li>
15051
15052    <li>corrected khome/kend in xterm-8bit terminfo
15053    description.</li>
15054
15055    <li>improve cursor color by making it always the reverse of
15056    fg/bg unless the cursorColor resource is set, i.e., to
15057    something other than the default foreground (reported by Vikas
15058    Agnihotri and Bram Moolenaar).</li>
15059
15060    <li>minor fixes for compiler warnings, including a syntax error
15061    in the AMOEBA ifdef's.</li>
15062  </ul>
15063
15064  <p>From resync with XFree86 3.9Aj:</p>
15065
15066  <ul>
15067    <li>correction to patch #73, supply missing #else for fallback
15068    definitions of size_t, time_t (Robin Cutshaw
15069    &lt;robin@intercore.com&gt;).</li>
15070  </ul>
15071
15072  <h1><a name="xterm_80" id="xterm_80">Patch #80 - 1998/6/29 -
15073  XFree86 3.9Ai</a></h1>
15074
15075  <p>This fixes a couple of items leftover or introduced by patch
15076  79:</p>
15077
15078  <ul>
15079    <li>take out the logic that suppresses editing-keypad in vt100
15080    mode (those keys are too valuable to give up for a fine point
15081    of emulation).</li>
15082
15083    <li>corrected a couple of places in terminfo where I missed
15084    using the vt220-style editing-keypad codes for Find/Select
15085    (mapped to Home/End).</li>
15086
15087    <li>checked termcap file against terminfo, fix several places
15088    where it was inconsistent.</li>
15089  </ul>
15090
15091  <h1><a name="xterm_79" id="xterm_79">Patch #79 - 1998/6/28 -
15092  XFree86 3.9Ai</a></h1>
15093
15094  <p>This patch fixes several small bugs:</p>
15095
15096  <ul>
15097    <li>use X_EXTRA_LIBS in standalone Makefile.in (patch by Tomas
15098    Vanhala).</li>
15099
15100    <li>add new resource 'oldXtermFKeys' which provides backward
15101    compatibility for F1-F4 control sequences with TOG's
15102    xterm.</li>
15103
15104    <li>determine the server's default foreground/background Pixel
15105    values, needed if the -flipPixels X server option is used
15106    (reported by David Dawes).</li>
15107
15108    <li>correct logic for F1-F4 function keys so that they generate
15109    VT100 compatible escape sequences in VT220 mode, since that is
15110    what the numeric keypad is supposed to do (reported by Ron
15111    Johnson, Jr. &lt;ronjohn@communique.net&gt;).</li>
15112
15113    <li>modify logic for editing keypad to work more like VT220:
15114    don't pass those codes in VT100-mode unless oldXtermFKeys mode
15115    is set.</li>
15116
15117    <li>correct an interaction with the editing-keypad logic that
15118    prevented backarrow key from sending a 127 for the delete key
15119    (the 'remove' escape sequence was being sent instead).</li>
15120
15121    <li>use return-value from getuid() rather than the parameter,
15122    to work on systems which do not update the latter (patch by
15123    Kevin Buhr &lt;buhr@mozart.stat.wisc.edu&gt;)</li>
15124
15125    <li>correct scrollbar border color when toggling to/from secure
15126    keyboard mode (patch by Jeff Uphoff
15127    &lt;juphoff@tarsier.cv.nrao.edu&gt;)</li>
15128
15129    <li>modifications to terminfo file:
15130      <ul>
15131        <li>rename description to xterm-xfree86, adding an entry
15132        'xterm' which is derived from xterm-xfree86 to simplify
15133        customization.</li>
15134
15135        <li>change string for kdch1 from \177 to \E[3~, to address
15136        complaints from Debian developers. (This applies to the key
15137        labeled "Delete", and does not affect the backarrow
15138        key).</li>
15139
15140        <li>add user-strings u6, u7, u8, u9 to entries to make them
15141        work with Daniel Weaver's "tack" program.</li>
15142
15143        <li>modify xterm-24, xterm-bold, xterm-boldso entries to
15144        disentangle them from explicit dependency upon
15145        xterm-xfree86.</li>
15146
15147        <li>add generic 'xterm-color' entry.</li>
15148
15149        <li>minor corrections to xterm-xfree86, xterm-8bit,
15150        xterm-r5 and xterm-r6 entries.</li>
15151      </ul>
15152    </li>
15153  </ul>
15154
15155  <h1><a name="xterm_78" id="xterm_78">Patch #78 - 1998/6/3 -
15156  XFree86 3.9Ah and 3.3.2</a></h1>
15157
15158  <p>Again, most of the bulk of this patch is for ANSI conversion.
15159  I used the IRIX compiler's -wlint option to find the remaining
15160  functions that use K&amp;R syntax (since gcc does not do this
15161  properly). Also, I changed the logic in the print code slightly
15162  to close unwanted files before opening a pipe to the printer.
15163  This may help in some configurations where the line printer hangs
15164  until xterm closes the pipe.</p>
15165
15166  <h1><a name="xterm_77" id="xterm_77">Patch #77 - 1998/5/26 -
15167  XFree86 3.9Ah and 3.3.2</a></h1>
15168
15169  <p>Most of the bulk of this patch is to convert the extended C
15170  (K&amp;R functions with prototypes) to ANSI. I verified that on
15171  Linux by comparing object files, to ensure that I did not, for
15172  example, interchange parameters in the function declarations.</p>
15173
15174  <p>The rest of the patch fixes several minor bugs, and adds a few
15175  features:</p>
15176
15177  <ul>
15178    <li>back-out my use of ncurses "captoinfo -f" option
15179    (if/then/else/endif) formatting, since ncurses did not
15180    correctly filter embedded newlines in terminfo capability
15181    strings until _after_ ncurses 4.1, thus corrupting
15182    setf/setb/sgr strings (reported by Darren Hiebert and
15183    others).</li>
15184
15185    <li>document SGR 8, 28 (invisible/visible), add corresponding
15186    capabilities to terminfo description.
15187      <p>I would also add the 'prot protected capability, but the
15188      control sequences for that would not be recognized or
15189      properly ignored by the older xterm programs.</p>
15190    </li>
15191
15192    <li>modify ChangeGroup to not suppress a null-resource, but
15193    treat it as an empty string (recommended by Stefan
15194    Dalibor).</li>
15195
15196    <li>add printerAutoClose resource to control whether printer is
15197    closed when going offline. More than one person reports
15198    problems (on Solaris 2.6 and Digital Unix 4.0) getting the
15199    printer to proceed unless xterm exits; I think that it is a
15200    problem flushing the pipe. Closing it ought to flush it.</li>
15201
15202    <li>adapt TOG fix-3 to in HandleKeymapChange and VTInitI18N
15203    (but adapt XtStackAlloc/XtStackFree for clarity, as well as
15204    fixing memory leak).</li>
15205
15206    <li>change calls on FillCurBackground to ClearCurBackground, in
15207    effect using XClearArea rather than XFillRectangle when
15208    clearing as a side-effect of scrolling and insertion (patch by
15209    Alexander V Lukyanov)</li>
15210
15211    <li>correct some places where insert/delete did not _move_ the
15212    color attributes, using memmove (patch by Alexander V Lukyanov
15213    &lt;lav@long.yar.ru&gt;)</li>
15214
15215    <li>add ifdef's for __CYGWIN32__, for port to cygnus version
15216    B19.1 (patch by Andrew Sumner
15217    &lt;andrew_sumner@hotmail.com&gt;).</li>
15218
15219    <li>remove #define for hpux that turned on USE_SYSV_ENVVARS,
15220    since this causes some applications (such as 'less') to get
15221    incorrect $LINES and $COLUMNS values (reported by Clint
15222    Olsen).</li>
15223
15224    <li>modify behavior for HP-UX, to set the "reserved" process
15225    group controls to _POSIX_VDISABLE so the TIOCSLTC ioctl does
15226    not produce an error (patch by Ben Yoshino
15227    &lt;ben@wiliki.eng.hawaii.edu&gt;).</li>
15228
15229    <li>correct length of underlining, reducing it by one pixel to
15230    avoid leaving a dot when the application does not clear the
15231    whole screen I noticed this only recently myself (and other
15232    people as well); it depends on the font chosen. A 6x10 font
15233    shows it, but the other fonts from XTerm.ad do not. I also see
15234    a similar problem with the emulation of bold fonts. (patch by
15235    Sergei Laskavy &lt;Laskavy@cs.msu.su&gt;).</li>
15236
15237    <li>add include for Xos.h to xterm.h, to ensure proper
15238    definitions (reported by Holger Veit).</li>
15239
15240    <li>update config.guess to recognize Unixware 2.1 and 7 (patch
15241    by Mike Hopkirk &lt;hops@sco.com&gt;).</li>
15242  </ul>
15243
15244  <h1><a name="xterm_76" id="xterm_76">Patch #76 - 1998/5/8 -
15245  XFree86 3.9Ah and 3.3.2</a></h1>
15246
15247  <p>A fix for the print-window function, and some minor
15248  cleanup:</p>
15249
15250  <ul>
15251    <li>modify logic that closes pipe in the print-window function
15252    to not use pclose, which does not work on all systems, since I
15253    did not open the pipe with popen (reported by Stefan
15254    Dalibor).</li>
15255
15256    <li>correct name of $(EXTRA_LOAD_FLAGS) imake variable
15257    (reported by Stefan Dalibor).</li>
15258
15259    <li>guard logic in ChangeGroup() function against null pointer
15260    (reported by Stefan Dalibor).</li>
15261
15262    <li>ensure that menu entry for toggling sunKeyboard resource is
15263    initialized (reported by Branden Robinson
15264    &lt;branden@purdue.edu&gt;).</li>
15265
15266    <li>gcc unused-variable warnings (reported by Bernd Ernesti
15267    &lt;bernd@arresum.inka.de&gt;)</li>
15268
15269    <li>rename global variable 'buffer' to 'VTbuffer'</li>
15270  </ul>
15271
15272  <h1><a name="xterm_75" id="xterm_75">Patch #75 - 1998/5/7 -
15273  XFree86 3.9Ah and 3.3.2</a></h1>
15274
15275  <p>This incorporates fixes from several people, as well as some
15276  improvements that I made based on feedback from users:</p>
15277
15278  <ul>
15279    <li>add option to standalone configure script,
15280    "--with-own-terminfo-dir", which causes xterm to pass a
15281    predefined value of $TERMINFO to the application. Also use this
15282    value in install rule "make install-ti", for the standalone
15283    configure script. (patch &amp; feedback from Tor Lillqvist
15284    &lt;tml@hemuli.tte.vtt.fi&gt;)</li>
15285
15286    <li>change ifdef's for "hpux" to "__hpux" (patch by Tor
15287    Lillqvist). The imake configuration uses the former, but the
15288    latter is predefined by HP's compilers.</li>
15289
15290    <li>define USE_SYSV_ENVVARS for HP-UX, curses does not use
15291    $TERMCAP (patch by Tor Lillqvist).</li>
15292
15293    <li>on HP-UX, use the /dev/ptym/clone device to allocate PTY's.
15294    Works both on HP-UX 9 and 10. (patch by Tor Lillqvist).</li>
15295
15296    <li>modify configure script to obtain the $(EXTRA_LOADFLAGS)
15297    value from imake, needed for compiling under DEC OSF/1
15298    (reported by Stefan Dalibor)</li>
15299
15300    <li>modify print-window action so that the printer is closed
15301    after printing a window, unless the printer was already opened
15302    (i.e., by an application running in the window). This makes the
15303    printing complete without having to exit xterm, since not all
15304    systems treat fflush through a pipe very well (reported by
15305    Stefan Dalibor)</li>
15306
15307    <li>modify printing code so that the ^M's are not printed if
15308    the printAttribute resource is set to zero (request by Stefan
15309    Dalibor).</li>
15310
15311    <li>correct typo in xterm.man, for the default value of
15312    printAttribute (reported by Stefan Dalibor).</li>
15313
15314    <li>correct printing code so that the alternate character set
15315    is printed, like other attributes, with escape sequences.</li>
15316
15317    <li>correct termcap description, removing spurious 'm'
15318    character from the 'op' capability (reported by Greg Woods
15319    &lt;woods@weird.com&gt;).</li>
15320
15321    <li>correct trace code so that the initial timestamp is
15322    set.</li>
15323
15324    <li>correct/modify utmp data for the Linux glibc 2
15325    configuration, so that the ut_line member is set before using
15326    it to update wtmp (patch by Bill Nottingham
15327    &lt;wen1@cec.wustl.edu&gt;).</li>
15328  </ul>
15329
15330  <h1><a name="xterm_74" id="xterm_74">Patch #74 - 1998/4/27 -
15331  XFree86 3.9Ag and 3.3.2</a></h1>
15332
15333  <p>This corrects a couple of recent bugs and adds a new
15334  resource:</p>
15335
15336  <ul>
15337    <li>modify definition of TRACE_CHILD so that it does not
15338    conflict with ifdef's for USE_USG_PTYS in main.c (reported by
15339    Vikas Agnihotri &lt;VikasA@att.com&gt; and Stefan
15340    Dalibor).</li>
15341
15342    <li>correct ownership of file (actually pipe) written by the
15343    print controls. When undoing the setuid changes in patch #69, I
15344    overlooked this. Now xterm forks a process which resets setuid
15345    and routes the printer data as the real user.</li>
15346
15347    <li>add a new resource, "printAttributes", which controls
15348    whether color attributes (or any attributes) are sent to the
15349    printer.</li>
15350  </ul>
15351
15352  <h1><a name="xterm_73" id="xterm_73">Patch #73 - 1998/4/25 -
15353  XFree86 3.9Ag and 3.3.2</a></h1>
15354
15355  <p>This patch does the following:</p>
15356
15357  <ul>
15358    <li>implements a print-window facility for xterm. Though useful
15359    in itself, I added it as part of some debugging which I am
15360    doing. (Occasionally during an exposure event xterm fails to
15361    restore the proper colors for highlighted text, and printing
15362    the screen will show the internal states nicely).
15363      <p>The print facility now also displays the color
15364      information. (I will probably make this a resource).</p>
15365    </li>
15366
15367    <li>modified the xterm-16color terminfo description to use the
15368    setaf and setab strings, which is a little more efficient
15369    (requested by Stephen Marley).</li>
15370
15371    <li>reduced some clutter of the ifdef/includes (e.g., stdlib.h,
15372    unistd.h, errno) making the configure script test for these.
15373      <p>I removed the symbols Size_t and Time_t, since they no
15374      longer serve a useful purpose.</p>
15375    </li>
15376
15377    <li>added some debugging traces to show the initial screen
15378    size, and the success/failure of the ioctl calls pass handle
15379    window resizing events to the application (for Clint Olsen).
15380      <p>I also modified the trace code to produce two files since
15381      some of the information is produced by the child process. So
15382      now they are Trace-parent.out and Trace-child.out</p>
15383    </li>
15384
15385    <li>updated configure test for ANSI compiler options to handle
15386    a special case for HP-UX 10.x (reported by Clint Olsen).</li>
15387  </ul>
15388
15389  <h1><a name="xterm_72" id="xterm_72">Patch #72 - 1998/4/17 -
15390  XFree86 3.9Ag and 3.3.2</a></h1>
15391
15392  <p>This is a patch from Chris Siebenmann
15393  &lt;cks@hawkwind.utcs.toronto.edu&gt;, which I have cleaned up a
15394  little, and integrated into the configure script.</p>
15395
15396  <p>From his description:</p>
15397
15398  <blockquote>
15399    <p>This set of patches is the latest incarnation of patches
15400    originally written by Ian! D Allen, then of the University of
15401    Waterloo and now of who knows where; I have been carrying them
15402    forward from xterm to xterm ever since about X11R4. What they
15403    do is add an option so that when an iconified xterm receives
15404    output it prepends '*** ' to its icon title and (optionally)
15405    beeps the bell; deiconifying the xterm removes the '*** '. Over
15406    the years I've found this to be incredibly convenient for
15407    monitoring all sorts of low-activity things.</p>
15408  </blockquote>
15409
15410  <h1><a name="xterm_71" id="xterm_71">Patch #71 - 1998/4/12 -
15411  XFree86 3.9Ag and 3.3.2</a></h1>
15412
15413  <p>This patch is a slightly modified version of one by Richard
15414  Braakman, which prevents buffer overflow in the input-method and
15415  preedit-type parsing in xterm. I changed a couple of details to
15416  make the code more maintainable, and looked for similar things -
15417  copying into a fixed-size buffer (found none, though I did spot
15418  an unused variable).</p>
15419
15420  <h1><a name="xterm_70" id="xterm_70">Patch #70 - 1998/3/29 -
15421  XFree86 3.9Af and 3.3.2</a></h1>
15422
15423  <p>This patch corrects some minor bugs in xterm, and fills in
15424  some more details in the VT220 emulation:</p>
15425
15426  <ul>
15427    <li>modify Imakefile to use SpecialCObjectRule for menu and
15428    data modules, making xterm build properly if logging is enabled
15429    (patch by Scott Sewall &lt;scott@iprg.nokia.com&gt;).</li>
15430
15431    <li>restore "ich" capability to terminfo entries, since Michael
15432    Schroeder points out that "ich1" is the one which is the
15433    problem in Solaris vi.</li>
15434
15435    <li>correct color of cursor, which would disappear on
15436    inverse-video since the initialization did not compare the
15437    cursor color against both foreground and background (reported
15438    by Olivier Calle).</li>
15439
15440    <li>correct abbreviation-test for -version and -help options,
15441    making command-line option -vb work (reported by Stefan
15442    Dalibor).</li>
15443
15444    <li>correct a dependency between ifdef's for OPT_I18N_SUPPORT
15445    and OPT_INPUT_METHOD (reported by Stefan Dalibor).</li>
15446
15447    <li>split-out character-set translations as new module
15448    charsets.c, to implement VT220 national replacement character
15449    sets (a mode where some of the characters are displayed as
15450    specific European glyphs). This relies on xterm using an ISO
15451    8859-1 font (approach suggested by Kenneth R. Robinette
15452    &lt;zkrr01@mailbox.neosoft.com&gt;).</li>
15453
15454    <li>correct a missing increment, which made SS2 and SS3
15455    controls repeat the shifted character.</li>
15456
15457    <li>add xterm-nrc to terminfo to illustrate the VT220 national
15458    replacement character sets.</li>
15459
15460    <li>reformat terminfo using new ncurses tic option "-f", which
15461    makes if/then/else/endif expressions easier to read.</li>
15462  </ul>
15463
15464  <h1><a name="xterm_69" id="xterm_69">Patch #69 - 1998/3/16 -
15465  XFree86 3.9Ad and 3.3.2</a></h1>
15466
15467  <p>This corrects the problem in xterm with utmp, reported by
15468  Olivier Calle &lt;olivier@tc.fluke.com&gt; as well as some other
15469  people after the XFree86 3.3.2 release.</p>
15470
15471  <p>The error was introduced by my <a href="#xterm_53">patch
15472  #53</a> in XFree86 3.9r (October 1997).</p>
15473
15474  <p>The correction removes the reset of setuid/setgid before the
15475  main event loop, and solves the problem which I had worked around
15476  in a different manner: for some reason, the particular waitpid()
15477  call in creat_as() hangs, does not return when the child process
15478  exits. I changed the ifdef's to force the Linux configuration to
15479  use wait() instead. This call appears to work properly on other
15480  platforms such as SunOS and Solaris.</p>
15481
15482  <p>I also added tests in the standalone configure script to check
15483  for the existence of waitpid().</p>
15484
15485  <h1><a name="xterm_68" id="xterm_68">Patch #68 - 1998/3/4 -
15486  XFree86 3.9Ad and 3.3.1z</a></h1>
15487
15488  <p>This corrects another problem with the logic for
15489  highlightColor resource. As reported by David Dawes:</p>
15490
15491  <blockquote>
15492    <p>I've just noticed a problem with with the "inverse" control
15493    sequence (ESC[7m) with the 3.3.2 xterm. What it does is sets
15494    the background black, and the text the usual foreground colour
15495    rather than simply swapping the foreground/background.</p>
15496  </blockquote>
15497
15498  <p>This appears to be because when I added logic to check that
15499  the highlightColor was distinct from foreground and background
15500  colors, I did not add a further check to see that it was not
15501  black (I would make an explicit check for the resource not being
15502  set, but see nothing definite in the headers that would let me
15503  reference an explicitly-undefined Pixel value, though there are
15504  some implications in xpm.h). But this should work.</p>
15505
15506  <h1><a name="xterm_67" id="xterm_67">Patch #67 - 1998/2/23 -
15507  XFree86 3.9Ad and 3.3.1e</a></h1>
15508
15509  <p>This patch does the following:</p>
15510
15511  <ul>
15512    <li>improve test for highlightColor so that xterm does not
15513    attempt to use that unless it is different from the foreground
15514    and background colors (reported by Stefan Dalibor
15515    &lt;Stefan.Dalibor@informatik.uni-erlangen.de&gt;.
15516      <p>I could not reproduce this until I noticed that the -rev
15517      option exposed it nicely.</p>
15518    </li>
15519
15520    <li>remove ich and ich1 from xterm and xterm-8bit terminfo
15521    descriptions. SVr4 terminfo documents that you must not combine
15522    these with smir/rmir, but ncurses allows it, opening a hole.
15523    Solaris 2.6 vi does not work properly if it is using a terminfo
15524    description when these are combined, since it was written to
15525    accommodate old terminals that required it (reported by Stephen
15526    Marley).</li>
15527
15528    <li>restore 1-pixel overlap of scrollbar border with left edge
15529    of window (reported by Jim Burmeister
15530    &lt;jimb@metrolink.com&gt;).</li>
15531
15532    <li>add a configure option, --enable-logfile-exec, which allows
15533    the user to specify a pipe for logfile. This defines
15534    ALLOWLOGFILEEXEC.</li>
15535
15536    <li>makes the ALLOWLOGFILEEXEC code compile &amp; run, if
15537    configured.</li>
15538
15539    <li>minor documentation nits.</li>
15540  </ul>
15541
15542  <h1><a name="xterm_66" id="xterm_66">Patch #66 - 1998/2/16 -
15543  XFree86 3.9Ad and 3.3.1d</a></h1>
15544
15545  <p>This fixes the problem reported with failure to build the
15546  <em>resize</em> program (BSDI, OSF/1) due to not having
15547  &lt;termcap.h&gt;, by changing the ifdef to one that would be set
15548  only if the file exists (not currently specified, except by the
15549  standalone configure script). We do not really need to include
15550  &lt;termcap.h&gt; to build, but only for a clean compile, since
15551  it may declare the tgetent() prototype. I also updated the
15552  man-page for <em>resize</em>, since I had recently noticed that
15553  it can be used to resize <em>xterm</em> using the "Sun" control
15554  sequences option.</p>
15555
15556  <h1><a name="xterm_65" id="xterm_65">Patch #65 - 1998/2/14 -
15557  XFree86 3.9Ad and 3.3.1c</a></h1>
15558
15559  <p>This is a small patch to xterm's 8-bit terminal description. I
15560  noticed while testing ncurses that I had specified the wrong
15561  (VT100-style) codes for the F1-F4. Xterm only uses VT220-style
15562  function keys in 8-bit mode.</p>
15563
15564  <h1><a name="xterm_64" id="xterm_64">Patch #64 - 1998/2/8 -
15565  XFree86 3.9Ad</a></h1>
15566
15567  <p>This fixes the following problems with xterm:</p>
15568
15569  <ul>
15570    <li>save/restore the ANSI foreground and background colors with
15571    the other visible attributes in the save-cursor and
15572    restore-cursor operations. This works around a problem with
15573    vim, which apparently assumed that switching between the normal
15574    and alternate screens resets the colors (reported by Jim Battle
15575    &lt;jb@chromatic.com&gt;).
15576      <p>It would be nice to implement save/restore cursor as a
15577      stack (and solve this type of problem completely), but that
15578      would lead to incompatibility with applications which assume
15579      they are running with a VT100 or VT220.</p>
15580    </li>
15581
15582    <li>corrects behavior of a restore-cursor operation which does
15583    not follow a save-cursor (it is supposed to set the character
15584    sets to a known initial state).</li>
15585
15586    <li>extends the sunKeyboard resource (and menu toggle) to
15587    modify the home, end and delete keys on a Sun or PC editing
15588    keypad, making them generate codes compatible with DEC VT220's
15589    Find, Select and Remove keys.</li>
15590
15591    <li>corrects a length in checking command-line options, which
15592    caused the "-help" message to not work when X was not
15593    running.</li>
15594
15595    <li>add some detail to the man-page (requested by Jason Bacon
15596    &lt;acadix@execpc.com&gt;)</li>
15597
15598    <li>modify the standalone configure script to ignore the broken
15599    nsl and socket libraries on IRIX 6.2 (the ones on 5.2 also are
15600    broken, so this change just widens the check for the system
15601    version number).</li>
15602  </ul>
15603
15604  <h1><a name="xterm_63" id="xterm_63">Patch #63 - 1998/2/5 -
15605  XFree86 3.9Ad</a></h1>
15606
15607  <p>This is another patch from Bjorn Helgaas
15608  &lt;helgaas@rsn.hp.com&gt;, which I've reviewed (and learned
15609  some). Following are his notes:</p>
15610
15611  <p>I poked around some more and finally got xterm-62 to build and
15612  run cleanly on HP-UX 10.20. Here are the patches. They look sort
15613  of ugly, so here's a little explanation:</p>
15614
15615  <ul>
15616    <li>aclocal.m4: Removed side effects from the AC_CACHE_VAL
15617    commands in CF_FUNC_TGETENT. Previously, LIBS was set inside
15618    AC_CACHE_VAL, which worked fine the first time configure was
15619    run, but failed if there were cached values.</li>
15620
15621    <li>aclocal.m4: Added temporary setting of LIBS before
15622    AC_TRY_LINK in CF_FUNC_TGETENT. Previously, the last value set
15623    by the AC_TRY_RUN loop was used, so only -lcurses was
15624    checked.</li>
15625
15626    <li>configure.in: Added temporary setting of CPPFLAGS before
15627    AC_CHECK_HEADERS for X11 files. Previously
15628    &lt;X11/DECkeysym.h&gt; and &lt;X11/Xpoll.h&gt; were found only
15629    if they were in the compiler's default include directories,
15630    even if `--x-includes=DIR' had been used or AC_PATH_XTRA had
15631    found them elsewhere.</li>
15632  </ul>
15633
15634  <p>The problem on HP-UX was that we were linking with -lcurses
15635  rather than -ltermcap due to the second bullet above, and
15636  apparently something in HP-UX curses is broken. This seems very
15637  strange, because the only thing used is tgetent, which should
15638  affect any tty/pty configuration, but I lost interest in tracking
15639  down the exact problem.</p>
15640
15641  <h1><a name="xterm_62" id="xterm_62">Patch #62 - 1998/1/23 -
15642  XFree86 3.9Ac</a></h1>
15643
15644  <p>This is a patch mostly by Bjorn Helgaas
15645  &lt;helgaas@dhc.net&gt; (I added the os2main.c change, and a
15646  little of the documentation). From Bjorn's description:</p>
15647
15648  <ul>
15649    <li>If you use the "-hc &lt;color&gt;" option or set the
15650    "highlightColor" resource, text is highlighted by changing only
15651    the background color, rather than using reverse video. I find
15652    this easier to read, especially when selecting multi-colored
15653    text, and it is similar to the way Netscape shows
15654    selections.</li>
15655
15656    <li>Most of the code changes are under "#if
15657    OPT_HIGHLIGHT_COLOR". The principal exception is in screen.c,
15658    where I added a couple calls to resetXtermGC(). This seems like
15659    it could be a bug even without the color highlighting changes
15660    (though I don't pretend to understand all the logic).</li>
15661  </ul>
15662
15663  <h1><a name="xterm_61" id="xterm_61">Patch #61 - 1998/1/17 -
15664  XFree86 3.9Ac</a></h1>
15665
15666  <p>This patch modifies the reset behavior of xterm slightly:</p>
15667
15668  <ul>
15669    <li>change the terminfo entry so that rs1 (one of the strings
15670    used by the 'reset' program) does a hard reset rather than
15671    switching character sets. This is more in accord with other
15672    terminal descriptions.</li>
15673
15674    <li>modifies the treatment of hard reset by the xterm program
15675    to reset the saved lines.</li>
15676
15677    <li>corrects hard reset by also resetting user-defined keys,
15678    i.e., DECUDK.</li>
15679  </ul>
15680
15681  <h1><a name="xterm_60" id="xterm_60">Patch #60 - 1998/1/10 -
15682  XFree86 3.9Ab</a></h1>
15683
15684  <p>This fixes some minor bugs and adds new functionality:</p>
15685
15686  <ul>
15687    <li>add support for blinking text.
15688      <ul>
15689        <li>This does not actually cause the text to flash, but
15690        text with the blink attribute can be displayed in color,
15691        using new resources colorBL and colorBLMode.</li>
15692
15693        <li>If colors are not used, the blinking text will be
15694        displayed as before (just like bold). The main purpose of
15695        this is to make applications work properly when they assume
15696        the emulator supports blinking text.</li>
15697
15698        <li>I did this by moving the per-cell LINEWRAPPED flag to a
15699        per-line flag, to make room for the new BLINK flag. There
15700        were no per-line flags, so this changes a lot of
15701        logic.</li>
15702      </ul>
15703    </li>
15704
15705    <li>corrected missing save-cursor logic in the handling of SGR
15706    1048 (the new control sequence I added in patch #54,
15707    1997/10/17). Reported by Darren Hiebert.</li>
15708
15709    <li>flush the output of the transparent printing after each
15710    line Reported by Tomas Vanhala
15711    &lt;vanhala@ling.helsinki.fi&gt;.</li>
15712
15713    <li>correct the modes that are affected by save/restore cursor
15714    by adding WRAPAROUND and PROTECTED.</li>
15715
15716    <li>corrected placement of one of the XSync calls that I added
15717    in patch #51, 1997/9/15, which had the side-effect of writing
15718    on the window border when the xterm was resizing from 132 to 80
15719    columns.</li>
15720
15721    <li>work around an incompatibility of the XKB definition used
15722    in xterm versus that symbol from IRIX 6.2's imake definitions
15723    (by adjusting the standalone configure script).</li>
15724  </ul>
15725
15726  <h1><a name="xterm_59" id="xterm_59">Patch #59 - 1998/1/5 -
15727  XFree86 3.9Ab</a></h1>
15728
15729  <p>My last patch has an off-by-one error in the comparison for
15730  argc. Douglas Kosovic &lt;douglask@dstc.edu.au&gt; showed me
15731  where (he got a core dump). Also, I think this explains Clint
15732  Olsen's problem, but the symptoms were more subtle (EINVAL for a
15733  system call if the -display option is omitted).</p>
15734
15735  <h1><a name="xterm_58" id="xterm_58">Patch #58 - 1998/1/3 -
15736  XFree86 3.9Ab</a></h1>
15737
15738  <p>This patch does the following:</p>
15739
15740  <ul>
15741    <li>implement logic to permit xterm to work with proportional
15742    fonts.
15743      <ul>
15744        <li>Thomas Wolff &lt;Thomas.Wolff@sietec.de&gt; requested
15745        this (but it isn't exactly what he's asking for - that's a
15746        more involved task).</li>
15747
15748        <li>I chose to do this by rendering the characters on a
15749        fixed pitch, because it would not be useful for existing
15750        applications to display varying numbers of characters on
15751        each line.</li>
15752
15753        <li>Except that this forces the display to be wider, it
15754        works reasonably well. A couple of special cases (reverse +
15755        colorBD, for example) do not display with proper colors,
15756        since the inter-character gaps are painted with the
15757        background.</li>
15758      </ul>
15759    </li>
15760
15761    <li>added a version number to the program (several people have
15762    requested this).</li>
15763
15764    <li>make the -version and -help options interpreted before the
15765    program attempts to open the display.</li>
15766
15767    <li>minor reorganization of the man-page (ordered the options,
15768    resources and translations alphabetically - and eliminated some
15769    duplication).</li>
15770
15771    <li>corrected a misspelled filename in Makefile.in, and added a
15772    lint rule.</li>
15773
15774    <li>updated the configure script to correct behavior when it
15775    cannot find imake, as well as to fix the IRIX+gcc build
15776    (conflict with /usr/include).</li>
15777
15778    <li>regenerated the configure script with a newer patch to
15779    autoconf that fixes a problem with environment space vs the
15780    configure --help message.</li>
15781  </ul>
15782
15783  <h1><a name="xterm_57" id="xterm_57">Patch #57 - 1997/12/26 -
15784  XFree86 3.9Aa</a></h1>
15785
15786  <p>This patch is mostly concerned with the standalone configure
15787  script; a few minor corrections are added:</p>
15788
15789  <ul>
15790    <li>add configure option --disable-tek4014, to allow xterm to
15791    be built without the tek4014 emulation.</li>
15792
15793    <li>add configure option --with-terminal-type, to allow xterm
15794    to be compiled with default $TERM value other than "xterm"
15795    (e.g., "xterm-16color") -- requested by Stephen Marley
15796    &lt;stephen@memex.com&gt;.</li>
15797
15798    <li>fix a typo in the configure --help message -- reported by
15799    Darren Hiebert &lt;darren@hmi.com&gt;.</li>
15800
15801    <li>review diffs between main.c and os2main.c, to make them
15802    more alike. (applies some minor bug-fixes to OS/2's
15803    version).</li>
15804
15805    <li>add missing quotes in memmove/bcopy configure test</li>
15806  </ul>
15807
15808  <h1><a name="xterm_56" id="xterm_56">Patch #56 - 1997/11/28 -
15809  XFree86 3.9x</a></h1>
15810
15811  <p>This patch is based on analysis by Arfst Ludwig
15812  &lt;arfst@luxor.IN-Berlin.DE&gt;, who reported:</p>
15813
15814  <blockquote>
15815    <p>Setting the following resources xterm (all current versions)
15816    receives a segmentation fault on &lt;Btn2Up&gt; after
15817    scrolling:</p>
15818
15819    <pre>
15820          *XTerm*VT100*translations:    #override \
15821              ~Shift~Ctrl&lt;Btn2Up&gt;: insert-selection(PRIMARY, CUT_BUFFER0)\n\
15822              Shift~Ctrl&lt;Btn2Up&gt;:  insert-selection(CLIPBOARD, CUT_BUFFER1)\n\
15823              ~Shift&lt;BtnUp&gt;:       select-end(PRIMARY, CUT_BUFFER0)\n\
15824              Shift&lt;BtnUp&gt;:        select-end(CLIPBOARD, CUT_BUFFER1)
15825</pre>
15826    <p>(The above resources intention is to be able to paste the
15827    latest selection even if the xterm was cleared.)</p>
15828
15829    <p>And here is how it works (and a fix!): The widget given to
15830    the action handler as first argument is not guaranteed to be a
15831    XtermWidget (it can be the ScrollbarWidget). Instead of
15832    accessing the widget's member directly XtDisplay gives the
15833    required pointer in a safe way.</p>
15834  </blockquote>
15835
15836  <p>I noticed that this was not the only instance (by reading the
15837  code, and testing with his example), and extended the solution to
15838  check the widget-class to ensure that it is indeed xterm's widget
15839  class before attempting to use it in the context of
15840  translations.</p>
15841
15842  <h1><a name="xterm_55" id="xterm_55">Patch #55 - 1997/11/25 -
15843  XFree86 3.9x</a></h1>
15844
15845  <p>This fixes the segmentation violation noted by Rogier Wolff
15846  about a month ago. He'd set xterm to 400 (rows) by 150 columns,
15847  which broke because there were limited buffers (200 rows) used
15848  for juggling data when adding or deleting lines and for switching
15849  between alternate and normal screens. I replaced this by an
15850  allocated buffer.</p>
15851
15852  <p>The bug is simple to test if you set titeInhibit false.</p>
15853
15854  <h1><a name="xterm_54" id="xterm_54">Patch #54 - 1997/10/17 -
15855  XFree86 3.9s</a></h1>
15856
15857  <p>This patch does the following:</p>
15858
15859  <ul>
15860    <li>correct a minor placement problem with the right
15861    scrollbar.</li>
15862
15863    <li>implement a new set of control sequences for switching
15864    between the normal and alternate VT100 screens. These work
15865    around the older sequences limitation that required
15866    modification of the runtime $TERMCAP to cooperate with the
15867    titeInhibit resource (that can't work with terminfo). I do this
15868    by moving all of the functionality of the rmcur terminfo
15869    capability into the control sequences.</li>
15870
15871    <li>implement the alternate-screen menu entry</li>
15872  </ul>
15873
15874  <h1><a name="xterm_53" id="xterm_53">Patch #53 - 1997/10/12 -
15875  XFree86 3.9r</a></h1>
15876
15877  <p>This patch adds a fix and implements a new feature (as well as
15878  some minor typos):</p>
15879
15880  <ul>
15881    <li>JCHANDRA@Inf.COM (JCHANDRA) noted that there was still a
15882    problem with the wait call with the logging option. It hung
15883    when the logfile was opened as a command-line option. I fixed
15884    this by moving the StartLogging() call down past the place
15885    where I'd reset the setuid mode. So the logfile is opened as
15886    the real user, without having to fork.</li>
15887
15888    <li>improve Rohleder's changes by renaming the command-line
15889    options and reducing the number of ifdef's.</li>
15890
15891    <li>implement right-scrollbars for xterm (patch by Michael
15892    Rohleder &lt;michael.rohleder@stadt-frankfurt.de&gt;).</li>
15893  </ul>
15894
15895  <h1><a name="xterm_52" id="xterm_52">Patch #52 - 1997/9/29 -
15896  XFree86 3.9q</a></h1>
15897
15898  <p>This patch addresses bugs and requests reported by</p>
15899
15900  <ul>
15901    <li>Bob Maynard &lt;rmaynard@montana.com&gt;,</li>
15902
15903    <li>Clint Olsen &lt;olsenc@ichips.intel.com&gt;,</li>
15904
15905    <li>JCHANDRA@Inf.COM (JCHANDRA),</li>
15906
15907    <li>Michael Schroeder
15908    &lt;Michael.Schroeder@informatik.uni-erlangen.de&gt;,</li>
15909
15910    <li>Pablo Ariel Kohan &lt;pablo@memco.co.il&gt;</li>
15911  </ul>
15912
15913  <p>Some of the changes are interrelated (it was an unusually busy
15914  week).</p>
15915
15916  <ul>
15917    <li>change the default resource value for colorMode to true,
15918    matching the Xterm.ad file.</li>
15919
15920    <li>correct behavior of 'ech' control, making the default and 0
15921    parameters erase one character rather than to the end of line
15922    (reported by Michael Schroeder).</li>
15923
15924    <li>add resource boldColors, command-line options +pc and -pc
15925    and configure-script option to specify behavior of xterm's
15926    mapping bold colors 0 through 7 to colors 8 through 15.
15927    (request by Pablo Ariel Kohan).</li>
15928
15929    <li>add resource colorAttrMode to specify whether colorULMode
15930    and colorBDMode can override the ANSI colors (report by Clint
15931    Olsen).</li>
15932
15933    <li>correct a conflict between colorULMode/colorBDMode versus
15934    ANSI colors, where exposure events would occasionally pick up
15935    the former (e.g., colorBD) rather than ANSI colors. Testing the
15936    colorAttrMode made this apparent, though it has been in the
15937    code since 3.2A (<a href="#xterm_35">patch #35</a> in Jan
15938    1997).</li>
15939
15940    <li>correct two problems with the optional logging support. On
15941    Linux at least, the waitpid call in creat_as hangs when the
15942    logging is toggled from the popup menu. Also, the mktemp
15943    template has the wrong number of X's (since X11R5!). Fixed the
15944    waitpid problem by exploiting the fact that the setuid behavior
15945    is reset before the popup menus are available. (reported by
15946    Jayachandran C.).</li>
15947
15948    <li>add configure script options for building with the Xaw3d
15949    and neXtaw libraries.</li>
15950
15951    <li>correct CF_IMAKE_CFLAGS standalone configure script macro,
15952    so that it will pick up $(ALLDEFINES) rather than
15953    $(STD_DEFINES). This is needed to make scrollbars work on
15954    Linux, since that uses narrow prototypes. (reported by Bob
15955    Maynard).</li>
15956
15957    <li>various minor updates to configure-script macros.</li>
15958  </ul>
15959
15960  <h1><a name="xterm_51" id="xterm_51">Patch #51 - 1997/9/15 -
15961  XFree86 3.9p</a></h1>
15962
15963  <p>Most of this patch is related to the standalone configure
15964  script, though there are fixes/enhancements as well:</p>
15965
15966  <ul>
15967    <li>add a new resource sunKeyboard, with associated
15968    command-line option and menu-toggle that allows using a normal
15969    Sun or PC keyboard to generated the complete DEC-style function
15970    keys and keypad.</li>
15971
15972    <li>correct a reversed foreground/background test in the
15973    control sequence that replies with the current SGR
15974    settings.</li>
15975
15976    <li>correct, by invoking XSync, a display problem that caused
15977    the program to not properly update newly exposed areas when a
15978    font change or 80/132 resize request was not completely
15979    accepted.</li>
15980
15981    <li>restructured autoconf macros (I made a library of all of
15982    the macros across the complicated configure scripts I'm working
15983    on).</li>
15984
15985    <li>use the autoconf config.guess and config.sub scripts to
15986    better identify the host-os.</li>
15987
15988    <li>improve the configure script that uses 'imake' as a
15989    fallback for definitions.</li>
15990
15991    <li>correct several instances of unsigned/signed mixed
15992    expressions.</li>
15993  </ul>
15994
15995  <p>I've tested the configure script on Linux, SunOS 4.1.3,
15996  Solaris 2.5.1, IRIX 5.2 and 6.2, AIX 3.2.5 and CLIX 3.1 (all but
15997  the last run properly as well).</p>
15998
15999  <h1><a name="xterm_50" id="xterm_50">Patch #50 - 1997/8/22 -
16000  XFree86 3.9m</a></h1>
16001
16002  <p>This is a collection of small fixes, and a couple of minor
16003  enhancements:</p>
16004
16005  <ul>
16006    <li>plug a security hole in the implementation of Media Copy
16007    (print) by invoking setuid just before the main loop.</li>
16008
16009    <li>add an ifdef'd include for &lt;sys/termio.h&gt; for HP-UX,
16010    which allows the program to process SIGWINCH events (this is a
16011    bug in X11R6.3)</li>
16012
16013    <li>add state-table entries for VT52 emulation to enter/exit
16014    keypad application mode.</li>
16015
16016    <li>disable the popup-menu entry for 8-bit controls when the
16017    terminal-id is less than 200 (e.g., VT52 or VT100).</li>
16018
16019    <li>ensure that the popup-menu entry for 8-bit controls is
16020    updated when the application enables/disables this mode,
16021    including the response to a full-reset.</li>
16022
16023    <li>implement VT300 DECBKM feature: set interpretation of the
16024    backarrow key to either backspace or delete. The initial
16025    setting is via resource; it can also be modified in the main
16026    popup menu.</li>
16027
16028    <li>implement VTxxx KAM (ISO AM), which allows a keyboard to be
16029    locked (i.e., the terminal discards input).</li>
16030
16031    <li>implement VTxxx SRM, which is used to control local echoing
16032    of input on the terminal.</li>
16033
16034    <li>add terminfo and termcap entries for xterm-8bit, a
16035    variation of the xterm description that uses 8-bit control
16036    characters.</li>
16037
16038    <li>add fallback definitions for Imakefile to allow it to work
16039    on some X11R5 systems that have no SpecialCObjectRule or
16040    ProgramTargetName macros.</li>
16041
16042    <li>add .c.o and .c.i rules to standalone Makefile.in</li>
16043
16044    <li>correct order of -lXmu and -lXext in standalone configure
16045    script.</li>
16046
16047    <li>add configure script options to allow selective disabling
16048    of active-icon, input-method and i18n code (mainly for users
16049    with X11R5 or an incomplete X11R6 configuration).</li>
16050
16051    <li>change menu-indices from #define's to enum values, thereby
16052    making it work better with the ifdef's for logging and
16053    active-icon (the X11R6.3 active-icon code is incorrectly
16054    ifdef'd; this corrects an error introduced by incorporating
16055    that code).</li>
16056
16057    <li>correct minor compile errors in the configuration where
16058    active-icon is not used.</li>
16059
16060    <li>add configure option to suppress echoing of long compiler
16061    commands</li>
16062
16063    <li>correct spelling of decTerminalID in configure script help
16064    message</li>
16065
16066    <li>use gcc __attribute__((unused)) to quiet warnings about
16067    unused parameters when compiling with -W (to make it simpler to
16068    find the real problems).</li>
16069  </ul>
16070
16071  <h1><a name="xterm_49" id="xterm_49">Patch #49 - 1997/8/10 -
16072  XFree86 3.9k</a></h1>
16073
16074  <p>This patch implements the VT100/VT220 Media Copy (i.e.,
16075  print-screen) control sequences.</p>
16076
16077  <h1><a name="xterm_48" id="xterm_48">Patch #48 - 1997/7/26 -
16078  XFree86 3.9j</a></h1>
16079
16080  <p>This patch does the following (all but the first affect only
16081  the standalone configure script):</p>
16082
16083  <ul>
16084    <li>minor correction to positioning of underlines for small
16085    (e.g., 5x8) font size.
16086      <p>The existing behavior allowed underlines to be drawn
16087      outside the character-cell, so they weren't cleared properly
16088      under some circumstances.</p>
16089    </li>
16090
16091    <li>adds more special-case tokens to the standalone configure
16092    script's imake-option filter (e.g., "&amp;&amp;", since a "make
16093    -n main.o" on my IRIX system uses that shell construct).</li>
16094
16095    <li>adds a '--enable-logging' option for the standalone
16096    configure script.</li>
16097
16098    <li>adds check and ifdef's for the standalone configure script
16099    to allow for building on platforms with X11R6, which lacks
16100    Xpoll.h (introduced in X11R6.1).</li>
16101  </ul>
16102
16103  <h1><a name="xterm_47" id="xterm_47">Patch #47 - 1997/7/13 -
16104  XFree86 3.9i</a></h1>
16105
16106  <p>This patch does the following</p>
16107
16108  <ul>
16109    <li>corrects an indexing error in the doublesize character
16110    logic (button.c) that caused core dump (this was reported by J.
16111    Wunsch).</li>
16112
16113    <li>corrects the logic of ShowCursor when it is painting in a
16114    doublesize cell (charproc.c).</li>
16115
16116    <li>corrects, according to vttest, the behavior when switching
16117    to doublesize characters and back again (doublechr.c).</li>
16118
16119    <li>adds cbt (back_tab) to the terminfo description (this was
16120    something that I'd overlooked as applicable to curses
16121    optimization last summer).</li>
16122
16123    <li>corrects, for the standalone xmc test, the logic for
16124    disabling xmc.</li>
16125  </ul>
16126
16127  <h1><a name="xterm_46" id="xterm_46">Patch #46 - 1997/7/4 -
16128  XFree86 3.9h</a></h1>
16129
16130  <p>This is a patch to provide test-support for some work I'm
16131  doing on ncurses. It does not modify the normal configuration of
16132  xterm; the code is compiled if the standalone configure option
16133  "--enable-xmc-glitch" is specified.</p>
16134
16135  <h1><a name="xterm_45" id="xterm_45">Patch #45 - 1997/7/2 -
16136  XFree86 3.9h</a></h1>
16137
16138  <p>This fixes the problem reported with xterm's cursor color
16139  versus the background (the second chunk in this patch) and also
16140  removes some duplicate initialization of the cursor GC's. If the
16141  cursor color at startup is the same as the background, then xterm
16142  will use the reverse GC, ignoring the setting of the colorMode
16143  resource.</p>
16144
16145  <h1><a name="xterm_44" id="xterm_44">Patch #44 - 1997/6/22 -
16146  XFree86 3.9g</a></h1>
16147
16148  <p>This implements the first part of the VT100 doublesize
16149  characters for xterm, as well as fixing a handful of bugs:</p>
16150
16151  <ul>
16152    <li>the doublesize character support uses the normal font
16153    (using scaled fonts will be another patch) with blanks to
16154    simulate doublesize characters. This patch does most of the
16155    global changes that'll be required. I've hidden most of the
16156    details in macros and ifdef's so it's easy to configure out
16157    (part of the patch is a configure option for that
16158    purpose).</li>
16159
16160    <li>corrected limits in DeleteChar() function -- it's always
16161    ignored the size of the left border and scrollbar. I noticed
16162    this when working on the doublesize characters since the glitch
16163    was doubled in size (i.e., it wrapped some garbage around the
16164    right margin).</li>
16165
16166    <li>corrected 'memmove()' logic, for standalone builds (it
16167    referenced a malloc wrapper from my development library).</li>
16168
16169    <li>add a check for HideCursor() to prevent repeated screen
16170    updates (which can cause a spurious cursor glitch to appear,
16171    e.g., during scrolling). I noticed this with the 3.2A version
16172    (but only a few weeks ago, when I started working on this
16173    patch).</li>
16174  </ul>
16175
16176  <h1><a name="xterm_43" id="xterm_43">Patch #43 - 1997/6/10 -
16177  XFree86 3.9d</a></h1>
16178
16179  <p>Here's a fix for two problems:</p>
16180
16181  <ul>
16182    <li>modify handling of tgetent results in xterm and resize
16183    programs to make them tolerant of missing termcap file, or
16184    unknown terminal name. In this scheme, an explicit "-tn" option
16185    will succeed, overriding the fallback list.</li>
16186
16187    <li>a nit in the configure script (log extra information to
16188    help diagnose which case of the test-compile of tgetent was
16189    used).</li>
16190  </ul>
16191
16192  <h1><a name="xterm_42" id="xterm_42">Patch #42 - 1997/6/8 -
16193  XFree86 3.2Xl</a></h1>
16194
16195  <p>Bram Moolenaar reported that the cursor color changed
16196  unexpectedly while scrolling. The cause was that it used the same
16197  GC's as the logic that draws the ANSI colors. The bug only
16198  appears if the cursorColor resource isn't set, and has been
16199  present since the initial implementation early last year. (The
16200  same bug also appears in rxvt ;-). Here's a fix.</p>
16201
16202  <h1><a name="xterm_41" id="xterm_41">Patch #41 - 1997/5/28 -
16203  XFree86 3.2Xl</a></h1>
16204
16205  <p>Some nits found by Darren Hiebert (missing part of
16206  install-rule, incorrect assignment for --enable-color-mode
16207  option).</p>
16208
16209  <h1><a name="xterm_40" id="xterm_40">Patch #40 - 1997/5/26 -
16210  XFree86 3.2Xl</a></h1>
16211
16212  <p>Patch for the configure script's logic for obtaining imake
16213  predefined symbols.</p>
16214
16215  <h1><a name="xterm_39" id="xterm_39">Patch #39 - 1997/5/24 -
16216  XFree86 3.2Xl</a></h1>
16217
16218  <p>This patch does the following:</p>
16219
16220  <ul>
16221    <li>integrate the 16-color change for 'xterm'</li>
16222
16223    <li>minor fixes/clarification of tgetent in terminfo vs termcap
16224    to 'resize'</li>
16225  </ul>
16226
16227  <p>(both changes also modify the configure script)</p>
16228
16229  <h1><a name="xterm_38" id="xterm_38">Patch #38 - 1997/5/22 -
16230  XFree86 3.2Xh</a></h1>
16231
16232  <p>This implements a simple configuration script with autoconf
16233  (to which I'll add more options later). It does the
16234  following:</p>
16235
16236  <ul>
16237    <li>configures xterm to build with X11R5 (at least on SunOS
16238    4.1, Solaris 2.4, possibly IRIX - sorry network was down today,
16239    but I did test an earlier version yesterday).</li>
16240
16241    <li>enables/disables the configuration ifdef's for ANSI color
16242    and VT52 emulation.</li>
16243  </ul>
16244
16245  <p>It does not make tests for the things that imake does (that's
16246  another project), instead it uses a hybrid of the autoconf tests
16247  for libraries and adds imake's compiler options (which are
16248  necessary in some cases to get main.c to compile).</p>
16249
16250  <h1><a name="xterm_37" id="xterm_37">Patch #37 - 1997/5/7 -
16251  XFree86 3.9a</a></h1>
16252
16253  <p>This corrects a minor, but annoying error in the vt220
16254  emulation: the DECUDK is only supposed to be interpreted for
16255  _shifted_ function keys.</p>
16256
16257  <h1><a name="xterm_36" id="xterm_36">Patch #36 - 1997/1/16 -
16258  XFree86 3.2r</a></h1>
16259
16260  <p>This corrects something that I overlooked in patch #27
16261  (21-aug-1996), which is that when trimming the region to be
16262  repainted for the highlightSelection resource of xterm, I still
16263  have to paint the background past the highlighted region. This
16264  only happens when I first do a selection in a window that's
16265  partly off-screen, then move the window on-screen.</p>
16266
16267  <h1><a name="xterm_35" id="xterm_35">Patch #35 - 1997/1/7 -
16268  XFree86 3.2o</a></h1>
16269
16270  <p>This patch does the following:</p>
16271
16272  <ul>
16273    <li>combines the coding for foreground and background colors
16274    into a single byte, reducing the memory required to store
16275    saved-lines in color. (I'll take back that byte in a following
16276    patch to use to ensure the character-set, so there's no
16277    long-term decrease in memory use).</li>
16278
16279    <li>modifies the PF1-PF4 coding in termcap/terminfo. Because
16280    xterm is still by default emulating vt100, the function key
16281    codes are vt100-compatible (I overlooked this in patch #31). I
16282    also reformatted the whole terminfo file into a single-column,
16283    for consistency.</li>
16284
16285    <li>adds an interim xterm-vt220 description to accommodate the
16286    old and new styles of function-keys (though probably it'd be
16287    better to drop the old-style altogether).</li>
16288  </ul>
16289
16290  <h1><a name="xterm_34" id="xterm_34">Patch #34 - 1997/1/5 -
16291  XFree86 3.2o</a></h1>
16292
16293  <p>This patch does the following:</p>
16294
16295  <ul>
16296    <li>implement DECSTR (soft terminal reset). The biggest diff is
16297    due to adding another state table (note that there's only one
16298    useful state here, but it's only 256 bytes rather than 1k as it
16299    would have been before I reduced the size of state
16300    entries).</li>
16301
16302    <li>some minor tidying up (e.g., signed/unsigned use bitcpy,
16303    MODE_DECCKM, resetColor, resetCharsets). More is done in
16304    <a href="#xterm_35">patch #35</a>.</li>
16305  </ul>
16306
16307  <p>I got the description of DECSTR from a vt420 user's manual.
16308  I'll do some testing with vttest to ensure that there's nothing
16309  else to do than what was documented.</p>
16310
16311  <h1><a name="xterm_33" id="xterm_33">Patch #33 - 1996/11/24 -
16312  XFree86 3.2</a></h1>
16313
16314  <p>This adds to the reset-fix by Matthieu Herrb
16315  &lt;Mathieu.Herrb@mipnet.fr&gt; a small change to make xterm able
16316  to output 8-bit characters in VT100 mode. Applications that run
16317  on real VT100's don't do that anyway, and this feature should be
16318  removed sometime after finishing off the VT220 emulation (VT220's
16319  can do 8-bit characters). That would be a good time to change the
16320  default terminal-id to 220.</p>
16321
16322  <h1><a name="xterm_32" id="xterm_32">Patch #32 - 1996/11/21 -
16323  XFree86 3.2</a></h1>
16324
16325  <p>This implements the REP (repeat) control for xterm. That isn't
16326  part of the DEC VTxxx series, but is defined in ISO 6429. (Note
16327  that the base xterm terminal description is <em>not</em> changed
16328  -- I added a variant, "xterm-rep").</p>
16329
16330  <h1><a name="xterm_31" id="xterm_31">Patch #31 - 1996/11/16 -
16331  XFree86 3.2</a></h1>
16332
16333  <p>This implements vt52 emulation in xterm (ifdef'd so it can be
16334  removed). I've been using it for testing for the past month or
16335  so.</p>
16336
16337  <h1><a name="xterm_30" id="xterm_30">Patch #30 - 1996/11/16 -
16338  XFree86 3.2</a></h1>
16339
16340  <p>From bug-report by &lt;auroux@clipper.ens.fr&gt; (Denis
16341  Auroux), missing reset to ground state. I checked through the
16342  rest of <em>that</em> table and found another, in the
16343  unimplemented MC (screen print).</p>
16344
16345  <h1><a name="xterm_29" id="xterm_29">Patch #29 - 1996/9/15 -
16346  XFree86 3.1.2Gb</a></h1>
16347
16348  <p>This patch does the following:</p>
16349
16350  <ul>
16351    <li>corrects the restoration of color for bold/underline color
16352    mode</li>
16353
16354    <li>adds a resource 'decTerminalID' to control the reporting
16355    level of xterm (e.g., VT100, VT220).</li>
16356
16357    <li>uses the new resource to implement/correct the DA1, DA2 and
16358    DECRPTUI reports.</li>
16359
16360    <li>change valid-response code in DECRQSS from 0 to 1 (the
16361    manual says 0, but the VT420 terminal I've been testing on says
16362    1).</li>
16363  </ul>
16364
16365  <p>All of these changes are based on vttest 2.6</p>
16366
16367  <p>(Most of the volume in the patch is to add 2 more state tables
16368  for parsing the 2nd/3rd device-attribute controls).</p>
16369
16370  <h1><a name="xterm_28" id="xterm_28">Patch #28 - 1996/8/31 -
16371  XFree86 3.1.2F</a></h1>
16372
16373  <p>This patch corrects the following reported by Roland Rosenfeld
16374  &lt;roland@spinnaker.rhein.de&gt;:</p>
16375
16376  <ul>
16377    <li>handle SGR 22, 24 and 25 in combination with colorUL and
16378    colorBD resources. Also noted &amp; fixed reset of colored
16379    underline/bold with SGR 0.</li>
16380
16381    <li>a typo in the termcap (missing '['), from 3.1.2Dj (my
16382    error)</li>
16383  </ul>
16384
16385  <p>Roland also complained that he couldn't use box characters
16386  with</p>
16387
16388  <pre>
16389        -adobe-courier-bold-r-normal--12-120-75-75-m-70-iso8859-1
16390</pre>
16391  <p>but that's a known xterm limitation (the box characters must
16392  be part of the font, in the first 32 locations).</p>
16393
16394  <h1><a name="xterm_27" id="xterm_27">Patch #27 - 1996/8/21 -
16395  XFree86 3.1.2Ek</a></h1>
16396
16397  <p>This patch fixes one of my long-term gripes: xterm's selection
16398  doesn't clearly show what's being selected (as per David's
16399  request, it's controlled by a resource, which defaults to the
16400  older behavior).</p>
16401
16402  <h1><a name="xterm_26" id="xterm_26">Patch #26 - 1996/8/20 -
16403  XFree86 3.1.2Ei</a></h1>
16404
16405  <p>Here's a patch to fix a problem with xterm's cut/paste and
16406  another to modify the appearance of the highlighting while
16407  selecting. (The changes are independent, so you can see if the
16408  change to screen.c is desirable).</p>
16409
16410  <h1><a name="xterm_25" id="xterm_25">Patch #25 - 1996/8/18 -
16411  XFree86 3.1.2Ei</a></h1>
16412
16413  <p>Here's a correction for two minor bugs that I picked up in
16414  testing, plus some lint (from Solaris 2.5) where NULL was used
16415  incorrectly:</p>
16416
16417  <ul>
16418    <li>make the second alternate font the same as the first
16419    (that's what vt420 and dtterm do)</li>
16420
16421    <li>corrected DECSCL report when DECSCL hasn't been set (i.e.,
16422    don't return a '60').</li>
16423  </ul>
16424
16425  <h1><a name="xterm_24" id="xterm_24">Patch #24 - 1996/8/11 -
16426  XFree86 3.1.2Ee</a></h1>
16427
16428  <p>This patch does several things. In effect, xterm can (I think)
16429  do a reasonably good job of emulating vt220 and vt320 terminals
16430  (as well as it was doing vt100, at any rate ;-).</p>
16431
16432  <p>It does NOT do:</p>
16433
16434  <ul>
16435    <li>soft fonts</li>
16436
16437    <li>rigel or sixel graphics</li>
16438  </ul>
16439
16440  <p>Anyway, I:</p>
16441
16442  <ul>
16443    <li>added ECH, CPL, CNL, SU, SD, CBT, CHT controls</li>
16444
16445    <li>added popup-menu for switching between DEC and Sun function
16446    keys. (corrected alignment err wrt logging entry at that
16447    point).</li>
16448
16449    <li>make xterm recognize both 8-bit and 7-bit controls
16450    (including popup menu for switching modes).</li>
16451
16452    <li>add user-definable function keys (aka DECUDK)</li>
16453
16454    <li>support concealed text</li>
16455
16456    <li>support protected text (both ISO compatible and DEC
16457    compatible - that's not the same thing, btw), with SPA, EPA,
16458    DECSCA, DECSED, DECSEL controls.</li>
16459
16460    <li>implement DECSCL.</li>
16461  </ul>
16462
16463  <p>I'll be continuing to test this patch for a while, but don't
16464  expect to add any new functionality (it passes all of the current
16465  tests I've built in vttest, but I need to make more tests)..</p>
16466
16467  <h1><a name="xterm_23" id="xterm_23">Patch #23 - 1996/7/31 -
16468  XFree86 3.1.2Ec</a></h1>
16469
16470  <p>This removes the blinking cursor I added last week (for
16471  performance reasons). Time-permitting, I'll revisit this after
16472  3.2 is released (there <em>will</em> be more work after XFree86
16473  3.2, I assume).</p>
16474
16475  <h1><a name="xterm_22" id="xterm_22">Patch #22 - 1996/7/26 -
16476  XFree86 3.1.2Ec</a></h1>
16477
16478  <p>I looked more closely at my "double-negative" and realized
16479  that I had been confused by the default color scheme (black on
16480  white) in combination with reverse video. However, I did see that
16481  the original_fg and original_bg data weren't really used - so I
16482  removed that logic.</p>
16483
16484  <p>Also:</p>
16485
16486  <ul>
16487    <li>during initialization, check if ANSI colors are set with
16488    non fg/bg values, disable color mode if not. This makes xterm
16489    tolerant of applications that allocate the whole color
16490    map.</li>
16491
16492    <li>implemented blinking cursor (default is <em>off</em>)</li>
16493  </ul>
16494
16495  <h1><a name="xterm_21" id="xterm_21">Patch #21 - 1996/7/24 -
16496  XFree86 3.1.2Ec</a></h1>
16497
16498  <p>This patch does the following:</p>
16499
16500  <ul>
16501    <li>fixes some minor typography in the control-sequences
16502    documentation (it didn't occur to me til I'd sent the last
16503    patch that I could use ghostview for previewing the troff
16504    output ;-)</li>
16505
16506    <li>adjusts the shell's background color in ReverseVideo so
16507    that flicker in resizing is reduced</li>
16508
16509    <li>adds an ifdef OPT_ISO_COLORS to allow configuring xterm
16510    without the ISO color support (saves a lot of memory)</li>
16511
16512    <li>used that ifdef to isolate/modify logic so that if the user
16513    doesn't have the colorMode enabled, then ISO color support is
16514    disabled (saving memory).
16515      <p>(If anyone needs numbers, I had savedLines set to 2000,
16516      and found a reduction from ~700k to ~400k of allocated
16517      memory, according to Purify).</p>
16518    </li>
16519  </ul>
16520
16521  <h1><a name="xterm_20" id="xterm_20">Patch #20 - 1996/7/24 -
16522  XFree86 3.1.2Ec</a></h1>
16523
16524  <p>This documents the changes in control sequences for window
16525  operations that I added in my previous patch. I'm testing another
16526  patch that allows the user to use less memory if colors aren't
16527  needed.</p>
16528
16529  <h1><a name="xterm_19" id="xterm_19">Patch #19 - 1996/7/21 -
16530  XFree86 3.1.2Ec</a></h1>
16531
16532  <p>This patch does the following:</p>
16533
16534  <ul>
16535    <li>fixes the core dump that I reported on IRIX 5.2 (in main.c)
16536      <p>(it's worth noting that this bug exists in X11R6.1, so I'd
16537      like to assume that someone's already submitted a fix to X
16538      Consortium...)</p>
16539    </li>
16540
16541    <li>change the interpretation of zero rows or columns in a
16542    resize-window request to use the root window's size (looking
16543    more carefully at dtterm, that seems to be what it does).</li>
16544
16545    <li>change some memmove calls to memcpy for slightly better
16546    performance. also, a couple of memset calls to bzero, since
16547    Quantify says bzero runs 20% faster, I assume because there's
16548    one less argument.</li>
16549
16550    <li>interpret character sets 1 and 2 (so that vttest gives a
16551    reasonable result) Both rxvt and dtterm do something
16552    equivalent.</li>
16553
16554    <li>fix a minor memory leak in the logic that retrieves the
16555    window or icon names (Purify found this for me while I ran
16556    vttest).</li>
16557  </ul>
16558
16559  <h1><a name="xterm_18" id="xterm_18">Patch #18 - 1996/7/18 -
16560  XFree86 3.1.2Ec</a></h1>
16561
16562  <p>This implements the following:</p>
16563
16564  <ul>
16565    <li>escape sequences that act like the CDE dtterm's window
16566    operations (though I have implemented the default width and
16567    height -- I've seen a rather buggy dtterm running that seems to
16568    treat width=0 or height=0 literally -- maybe that's a feature,
16569    not a bug?)</li>
16570
16571    <li>minor tweak to the screen-repainting when resizing (I still
16572    cannot entirely get rid of flicker).</li>
16573
16574    <li>still more fixes to terminfo &amp; termcap (I corrected my
16575    error for the hpa code and added some other stuff by comparing
16576    to ncurses' description and rxvt's).</li>
16577
16578    <li>a tweak to the changes by Michael Rohleder for the color
16579    translation</li>
16580
16581    <li>re-order attribute codes to allow later implementation of
16582    protected fields (dtterm supposedly does this; it's probably
16583    more useful than blinking or invisible text -- that uses up all
16584    of the available bits without changing the attribute scheme
16585    radically).</li>
16586  </ul>
16587
16588  <h1><a name="xterm_17" id="xterm_17">Patch #17 - 1996/7/2 -
16589  XFree86 3.1.2Eb</a></h1>
16590
16591  <p>This patch implements for xterm several minor features from
16592  ISO 6429 which are useful for terminfo applications. The HPA and
16593  VPA control sequences allow cursor movement along a row or
16594  column, cutting down a little on the characters transmitted. The
16595  other codes allow resetting specific graphic rendition attributes
16596  without modifying the other attributes. (now if someone just had
16597  time to implement blinking cursors...)</p>
16598
16599  <h1><a name="xterm_16" id="xterm_16">Patch #16 - 1996/6/25 -
16600  XFree86 3.1.2Ea</a></h1>
16601
16602  <p>Adam Tla/lka &lt;atlka@pg.gda.pl&gt; told me a couple of weeks
16603  ago that I'd missed some of the background coloring in xterm. I
16604  investigated, and found that while I'd picked up on the
16605  clear-to-bottom and clear-to-end-of-line operations, I'd
16606  overlooked the insert/delete lines. Just so I wouldn't overlook
16607  any more of these, I updated a copy of vttest to test ISO colors
16608  and bce (background color erase). This patch introduces a new
16609  function, ClearCurBackground, whose calls replace the direct
16610  XClearArea calls that I'd overlooked. (There's also a few
16611  compiler warnings fixed, etc ;-)</p>
16612
16613  <h1><a name="xterm_15" id="xterm_15">Patch #15 - 1996/5/29 -
16614  XFree86 3.1.2E</a></h1>
16615
16616  <p>This fixes the problem reported by David Dawes, by making the
16617  50msec select timeout for the Xaw3d arrow scrollbar a resource.
16618  (I made it a boolean for a variety of reasons -- to make it a
16619  number, you'd need an additional resource, to avoid breaking the
16620  logic).</p>
16621
16622  <h1><a name="xterm_14" id="xterm_14">Patch #14 - 1996/5/12 -
16623  XFree86 3.1.2Dj</a></h1>
16624
16625  <p>This patch brings the termcap and terminfo descriptions for
16626  xterm up to date. I made the following changes:</p>
16627
16628  <ul>
16629    <li>reformatted the terminfo description in a single-column
16630    (this is ok for terminfo, and will simplify future patches --
16631    can't do that for termcap, since it would impact buffer
16632    requirements on some systems).</li>
16633
16634    <li>omitted obsolete features in termcap to save a little space
16635    (bs, pt)</li>
16636
16637    <li>added color capabilities to termcap (ut, Co, NC, op, AB,
16638    AF)</li>
16639
16640    <li>corrected some capabilities (vi, ve)</li>
16641
16642    <li>added 'st' (set tab)</li>
16643
16644    <li>reduced function keys in termcap for 'xterm' to 12 because
16645    color capabilities makes that description larger than 1023
16646    characters.</li>
16647
16648    <li>created new termcap name 'xtermm' (monochrome) to match the
16649    terminfo list, and make that description have 20 function
16650    keys.</li>
16651
16652    <li>added corresponding color capabilities to terminfo (bce,
16653    colors, pairs, op, ncv, setab, setaf)</li>
16654
16655    <li>corrected corresponding capabilities in terminfo (civis,
16656    cnorm, rmcup, smcup)</li>
16657
16658    <li>added capabilities (el1, hts)</li>
16659
16660    <li>in both, corrected home/end keys to match the code
16661    correction made by Thomas Mueller in 3.1.2Bk
16662      <p>=&gt; (I'm still considering modifying the code &amp;
16663      description to match the rxvt program).</p>
16664    </li>
16665  </ul>
16666
16667  <h1><a name="xterm_13" id="xterm_13">Patch #13 - 1996/4/23 -
16668  XFree86 3.1.2Df</a></h1>
16669
16670  <p>This corrects my earlier changes for colors - the inner border
16671  of the xterm was getting painted with the wrong color, since I'd
16672  moved the call to set the background into the logic that tracks
16673  SGR information.</p>
16674
16675  <h1><a name="xterm_12" id="xterm_12">Patch #12 - 1996/3/16 -
16676  XFree86 3.1.2Dc</a></h1>
16677
16678  <p>This corrects a memory leak in xterm that happens whenever one
16679  switches fonts.</p>
16680
16681  <h1><a name="xterm_11" id="xterm_11">Patch #11 - 1996/3/5 -
16682  XFree86 3.1.2Db</a></h1>
16683
16684  <p>This patch corrects the behavior of the ANSI colors in xterm
16685  when reverse video is used, as well as some other lesser
16686  sins:</p>
16687
16688  <ul>
16689    <li>button.c
16690      <ul>
16691        <li>(compiler warnings: shadowing of 'time', redundant
16692        cast)</li>
16693      </ul>
16694    </li>
16695
16696    <li>charproc.c
16697      <ul>
16698        <li>renamed screen.colors[] array to screen.Acolors[] to
16699        more easily distinguish the non-ANSI colors from the ANSI
16700        colors.</li>
16701
16702        <li>moved logic of SGR_Save() into VTInitialize, getting
16703        rid of local private variables original_fg and
16704        original_bg.</li>
16705
16706        <li>moved some logic into getXtermForeground and
16707        getXtermBackground from SGR_Foreground, SGR_Background,
16708        etc.</li>
16709
16710        <li>corrected misleading 'row' to 'col' in case for CUF,
16711        CUB sequences.</li>
16712      </ul>
16713    </li>
16714
16715    <li>ctlseqs.ms</li>
16716
16717    <li>xterm.man
16718      <ul>
16719        <li>(correct a misconception which I'd added that the
16720        color0 through color6 resource values apply to non-ANSI
16721        colors)</li>
16722      </ul>
16723    </li>
16724
16725    <li>ptyx.h
16726      <ul>
16727        <li>added original_fg, original_bg to TScreen
16728        structure.</li>
16729      </ul>
16730    </li>
16731
16732    <li>scrollbar.c
16733      <ul>
16734        <li>(compiler warnings: redundant cast)</li>
16735      </ul>
16736    </li>
16737
16738    <li>util.c
16739      <ul>
16740        <li>new functions getXtermForeground and getXtermBackground
16741        replace the macros GET_FG and GET_BG, with the added
16742        functionality of checking for the reverse-video status of
16743        xterm.</li>
16744
16745        <li>in ReverseVideo, swap the SGR foreground and background
16746        colors also.</li>
16747      </ul>
16748    </li>
16749  </ul>
16750
16751  <h1><a name="xterm_10" id="xterm_10">Patch #10 - 1996/2/14 -
16752  XFree86 3.1.2Cd</a></h1>
16753
16754  <p>I observed an occasional glitch in the xterm's color behavior;
16755  a clear to end of line would get a color that had been used in a
16756  program that supposedly reset colors. I traced this down to the
16757  way xterm was modifying colors of GC's on the fly; it didn't
16758  restore the original color of the GC, even though it would later
16759  be used in functions (such as ClearRight) that assumed (my error)
16760  that the GC would have the current foreground or background
16761  color.</p>
16762
16763  <p>I fixed this by resetting the GC's colors with a new function
16764  'resetXtermGC()', and direct calls on
16765  SGR_Foreground/SGR_Background, as appropriate and using a new
16766  function 'updatedXtermGC()' to encapsulate the logic that
16767  modifies the GC's color. (I also removed some commented-out code
16768  that was trying to do this -- the problem was a little more
16769  obscure).</p>
16770
16771  <h1><a name="xterm_09" id="xterm_09">Patch #9 - 1996/2/10 -
16772  XFree86 3.1.2Cb</a></h1>
16773
16774  <p>This patch fixes the remaining problems that I had making
16775  xterm run with x11r5, as well as a couple of other bugs. It
16776  follows my patch from yesterday, that added ifdef's for some of
16777  the input-method resources.</p>
16778
16779  <ul>
16780    <li>corrected ifdef's that suppress the input-method code
16781    (doesn't exist in my x11r5, and xterm works adequately without
16782    it).</li>
16783
16784    <li>corrected fallback definition for 'Select()' macro (oops:
16785    I'd copied the wrong text...)</li>
16786
16787    <li>moved the declarations for the fd_set variables to
16788    data.[ch]</li>
16789
16790    <li>corrected an ifdef in resize.c (sunos 4.x doesn't have
16791    termcap.h)</li>
16792
16793    <li>corrected (in main.c) some unused/orphaned variables.</li>
16794  </ul>
16795
16796  <h1><a name="xterm_08" id="xterm_08">Patch #8 - 1996/2/9 -
16797  XFree86 3.1.2Cb</a></h1>
16798
16799  <p>This is mostly a documentation patch for xterm. It describes
16800  the color control sequences in more detail, and documents some
16801  other features of xterm that aren't described elsewhere.</p>
16802
16803  <p>I've also added a couple of ifdef's to fix (part of) the
16804  problem that I'm working on (making the program work properly on
16805  x11r5, where I'm doing memory testing -- I have a "good" version
16806  from mid-January, but my resync version doesn't work properly on
16807  x11r5). I'm not done with <em>that</em> yet.</p>
16808
16809  <h1><a name="xterm_07" id="xterm_07">Patch #7 - 1996/1/28 -
16810  XFree86 3.1.2n</a></h1>
16811
16812  <p>I did a (clean) build of 3.1.2n on Linux 1.2.13 (ELF). I've
16813  got an S3 card.</p>
16814
16815  <p>This fixes the following in the 3.1.2n xterm:</p>
16816
16817  <ul>
16818    <li>initialize cur_foreground, cur_background in charproc.c
16819    (Purify told me they weren't initialized).</li>
16820
16821    <li>add interpretation of codes 39, 49, to reset background and
16822    foreground to default value (I'm told that ISO 6429 does this;
16823    but I don't have a written reference -- yet -- can anyone help
16824    here?). Anyway, rxvt does it, and it'll solve my remaining
16825    color management problems.</li>
16826
16827    <li>shadowing of 'time' in menu.c</li>
16828
16829    <li>'Cardinal' vs 'int' in scrollbar.c</li>
16830
16831    <li>several changes to permit compile with X11R5 (the system
16832    that I've got Purify on won't be upgraded to X11R6 for a long
16833    time).</li>
16834  </ul>
16835
16836  <p>I built this version (with a minor nit that I'll patch soon)
16837  on SunOS 4.1.3 so that I can test it some more with Purify.</p>
16838
16839  <p><em>btw</em>: the changes made in Xpoll.h won't work on some
16840  older systems, because fd_set isn't a defined type (I've got one
16841  machine at least that this applies to).</p>
16842
16843  <h1><a name="xterm_06" id="xterm_06">Patch #6 - 1996/1/8</a></h1>
16844
16845  <p>This patch does all of the SGR foreground/background fixes
16846  (i.e., clearing the screen after an SGR color is set causes that
16847  color to be used in the foreground and/or background). If the
16848  FG_COLOR and/or BG_COLOR flags aren't set, then the xterm
16849  foreground and background default to the window's values. This
16850  usage is consistent with various types of hardware (especially
16851  the IBM PC), and is also used in rxvt.</p>
16852
16853  <ul>
16854    <li>charproc.c:
16855      <ul>
16856        <li>add/use new macros GET_FG, GET_BG - n/c.</li>
16857
16858        <li>add/use new functions SGR_Foreground() and
16859        SGR_Background() to set corresponding colors in GC's, and
16860        to retain sense of "original" colors.
16861          <p>=&gt; This makes redundant some of the corresponding
16862          logic in HideCursor to set the foreground and background,
16863          but I left it in since it <em>may</em> be fixing an
16864          unrelated requirement.</p>
16865        </li>
16866
16867        <li>set GC's in LoadNewFont() according to whether the SGR
16868        fg/bg colors are active.
16869          <p>=&gt; This fixes some glitches in the accompanying
16870          resize, that leaves parts of the window in the original
16871          background color.</p>
16872        </li>
16873      </ul>
16874    </li>
16875
16876    <li>screen.c:
16877      <ul>
16878        <li>modified ClearBufRows() to use the SGR fg/bg colors if
16879        they're set.</li>
16880
16881        <li>added function ScrnClearLines(), used this to replace
16882        portions of ScrnInsertLine() and ScrnDeleteLine(). The new
16883        function uses the SGR fg/bg colors if they're set.
16884          <p>=&gt; Otherwise, selection after an index or reverse
16885          index will paint the wrong colors.</p>
16886        </li>
16887
16888        <li>modified ScrnDeleteChar() and ScrnInsertChar() to use
16889        SGR fg/bg colors.</li>
16890      </ul>
16891    </li>
16892
16893    <li>util.c:
16894      <ul>
16895        <li>modified ClearRight() so that if either of the SGR
16896        fg/bg colors is set, we don't bzero the attributes and
16897        color arrays, but instead fill them with the appropriate
16898        codes.</li>
16899
16900        <li>modified ClearLeft to use SGR fg/bg colors.</li>
16901      </ul>
16902    </li>
16903  </ul>
16904
16905  <h1><a name="xterm_05" id="xterm_05">Patch #5 - 1996/1/7</a></h1>
16906
16907  <p>This patch modifies the object code, by replacing indexing
16908  expressions with temporary variables with the full indexing
16909  expression. At first glance, this seems inefficient (it did to me
16910  ;-), until remembering comments made in the compilers newsgroups
16911  that trying to "help" the compiler doesn't really work that well.
16912  A good optimizing compiler can do a better job than the
16913  programmer can. (There's a moral in the use of 'register'
16914  variables also, but I won't fix those...).</p>
16915
16916  <p>Anyway, the revised code generates a smaller object...</p>
16917
16918  <ul>
16919    <li>charproc.c:
16920      <ul>
16921        <li>recode index expressions in ShowCursor() and
16922        HideCursor() using SCRN_BUF_xxxxS macros - changes
16923        object.</li>
16924
16925        <li>replace constant '4' by MAX_PTRS - n/c.</li>
16926      </ul>
16927    </li>
16928
16929    <li>ptyx.h:
16930      <ul>
16931        <li>defined the SCRN_BUF_xxxxS macros in terms of BUF_xxxxS
16932        macros, to pick up references to ScrnBuf data directly, and
16933        added MAX_PTRS symbol to pick up those '4' constants strewn
16934        about the code - n/c.</li>
16935      </ul>
16936    </li>
16937
16938    <li>screen.c:
16939      <ul>
16940        <li>recode index expressions in ScreenWrite() using
16941        SCRN_BUF_xxxxS macros - changes object.</li>
16942
16943        <li>replace constant '4' by MAX_PTRS - n/c.</li>
16944
16945        <li>use macros BUF_CHARS, BUF_ATTRS - n/c.</li>
16946
16947        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
16948        - n/c</li>
16949      </ul>
16950    </li>
16951
16952    <li>scrollbar.c:
16953      <ul>
16954        <li>replace constant '4' by MAX_PTRS - n/c.</li>
16955
16956        <li>cast calloc to 'Char *' to fix compiler warning on IRIX
16957        - n/c</li>
16958      </ul>
16959    </li>
16960  </ul>
16961
16962  <h1><a name="xterm_04" id="xterm_04">Patch #4 - 1996/1/7</a></h1>
16963
16964  <p>When setting up for this phase, I saw that you'd corrected the
16965  bug that I found in ClearLeft. I decided to make this series of
16966  patches anyway, since readability never hurt (and there's the
16967  potential for finding another bug while reviewing this set).</p>
16968
16969  <ul>
16970    <li>button.c:
16971      <ul>
16972        <li>use SCRN_BUF_xxxxS macros - n/c</li>
16973      </ul>
16974    </li>
16975
16976    <li>charproc.c:
16977      <ul>
16978        <li>use SCRN_BUF_xxxxS macros - n/c</li>
16979      </ul>
16980    </li>
16981
16982    <li>ptyx.h:
16983      <ul>
16984        <li>added four macros: SCRN_BUF_CHARS, SCRN_BUF_ATTRS,
16985        SCRN_BUF_FORES, SCRN_BUF_BACKS to represent the four arrays
16986        that are derived from screen-&gt;buf.</li>
16987      </ul>
16988    </li>
16989
16990    <li>screen.c:
16991      <ul>
16992        <li>use SCRN_BUF_xxxxS macros - n/c</li>
16993      </ul>
16994    </li>
16995
16996    <li>util.c:
16997      <ul>
16998        <li>use SCRN_BUF_xxxxS macros - n/c</li>
16999      </ul>
17000    </li>
17001  </ul>
17002
17003  <h1><a name="xterm_03" id="xterm_03">Patch #3 - 1996/1/7</a></h1>
17004
17005  <p>This is my third (and final cleanup) patch for xterm. It gets
17006  rid of the unused stuff, and converts several functions to static
17007  (thereby reducing their scope).</p>
17008
17009  <p>At this point, the only compile warnings I've got (on Linux)
17010  are those about the select arguments (int vs fd_set type), and a
17011  missing declaration for waitpid. Those both are hard to get right
17012  without autoconfigure.</p>
17013
17014  <p>The next patches will address the functional changes...</p>
17015
17016  <ul>
17017    <li>Tekproc.c:
17018      <ul>
17019        <li>changed several functions to 'static' that aren't used
17020        outside this module -- changes object</li>
17021      </ul>
17022    </li>
17023
17024    <li>charproc.c:
17025      <ul>
17026        <li>changed several functions to 'static' that aren't used
17027        outside this module -- changes object</li>
17028
17029        <li>deleted unused function unparsefputs -- changes
17030        object.</li>
17031      </ul>
17032    </li>
17033
17034    <li>main.c:
17035      <ul>
17036        <li>changed several functions to 'static' that aren't used
17037        outside this module -- changes object</li>
17038
17039        <li>ifdef'd out unused function 'consolepr()' -- changes
17040        object</li>
17041
17042        <li>removed unused variable 'dummy_tio' -- changes
17043        object</li>
17044
17045        <li>moved variable 'discipline' to quiet unused-warning --
17046        changes object</li>
17047      </ul>
17048    </li>
17049
17050    <li>main.h:
17051      <ul>
17052        <li>deleted unused definition of DEFBORDERWIDTH - n/c</li>
17053      </ul>
17054    </li>
17055
17056    <li>misc.c:
17057      <ul>
17058        <li>changed several functions to 'static' that aren't used
17059        outside this module -- changes object</li>
17060
17061        <li>provide dummy return statements for xerror and xioerror
17062        to quiet compiler warnings -- changes object</li>
17063      </ul>
17064    </li>
17065
17066    <li>ptyx.h:
17067      <ul>
17068        <li>change sbuf_address and abuf_address to 'Char *' -
17069        n/c</li>
17070      </ul>
17071    </li>
17072
17073    <li>resize.c:
17074      <ul>
17075        <li>changed several functions to 'static' that aren't used
17076        outside this module -- changes object</li>
17077      </ul>
17078    </li>
17079
17080    <li>screen.c:
17081      <ul>
17082        <li>remove unnecessary 'Char **' casts - n/c</li>
17083      </ul>
17084    </li>
17085
17086    <li>util.c:
17087      <ul>
17088        <li>changed several functions to 'static' that aren't used
17089        outside this module -- changes object</li>
17090      </ul>
17091    </li>
17092  </ul>
17093
17094  <h1><a name="xterm_02" id="xterm_02">Patch #2 - 1996/1/7</a></h1>
17095
17096  <p>This is my second patch to xterm. It corrects most of the gcc
17097  warnings (except for some that are due to X header files ;-). I
17098  compared objects to keep track of the changes that don't affect
17099  the object code (n/c) versus those that do.</p>
17100
17101  <p>At this point, I'm compiling (fairly) clean with gcc
17102  options</p>
17103
17104  <pre>
17105        -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs
17106</pre>
17107  <p>(I also compiled with -Wshadow, but while that found some
17108  things that I wanted to find, there's far too many warnings from
17109  the X headers to be usable in this context).</p>
17110
17111  <p>The changes:</p>
17112
17113  <ul>
17114    <li>Tekproc.c:
17115      <ul>
17116        <li>parenthesized expression to avoid gcc warning --
17117        n/c.</li>
17118
17119        <li>corrected nested-extern declaration for Bool
17120        waiting_for_initial_map; ourTopLevelShellArgs, and
17121        number_ourTopLevelShellArgs - n/c</li>
17122      </ul>
17123    </li>
17124
17125    <li>charproc.c:
17126      <ul>
17127        <li>corrected potentially-unintialized variables 'scstype',
17128        'xim', and 'input_style' -- changes object.</li>
17129
17130        <li>adjusted logic of VTparse so that gcc won't warn about
17131        setjmp clobbering parsestate -- changes object.</li>
17132
17133        <li>corrected initialization of 'scstype', which could have
17134        been clobbered by setjmp/longjmp - changes object.</li>
17135
17136        <li>corrected nested-extern declaration of 'term',
17137        'ProgramName' - n/c</li>
17138      </ul>
17139    </li>
17140
17141    <li>cursor.c:
17142      <ul>
17143        <li>corrected nested-extern declaration of 'term' --
17144        n/c</li>
17145
17146        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
17147        - n/c</li>
17148      </ul>
17149    </li>
17150
17151    <li>input.c:
17152      <ul>
17153        <li>change interface of StringInput to assume size_t (i.e.,
17154        unsigned) nbytes -- changes object.</li>
17155
17156        <li>change interface of funcvalue, and sunfuncvalue to use
17157        'KeySym' type instead of 'int' - changes object.</li>
17158      </ul>
17159    </li>
17160
17161    <li>main.c:
17162      <ul>
17163        <li>moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h
17164        - n/c</li>
17165
17166        <li>corrected missing params of 'do_hangup()' -- changes
17167        object (note: the missing params were not used).</li>
17168
17169        <li>corrected missing param of 'Error()' -- changes
17170        object</li>
17171
17172        <li>corrected nested-extern 'environ' - n/c</li>
17173
17174        <li>adjusted assignments to 'tty_got_hung' and 'no_dev_tty'
17175        so that gcc can see they won't be clobbered by the longjmp
17176        - changes object.</li>
17177
17178        <li>use Size_t type - n/c.</li>
17179      </ul>
17180    </li>
17181
17182    <li>menu.c:
17183      <ul>
17184        <li>removed redundant prototype for 'do_hangup()' --
17185        n/c.</li>
17186
17187        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
17188        - n/c</li>
17189      </ul>
17190    </li>
17191
17192    <li>menu.h:
17193      <ul>
17194        <li>renamed 'time' parameters to avoid gcc -Wshadow warning
17195        - n/c</li>
17196      </ul>
17197    </li>
17198
17199    <li>misc.c:
17200      <ul>
17201        <li>corrected definition of 'HandleFocusChange()' --
17202        changes object</li>
17203
17204        <li>cast parameters in call to 'TekExpose()' -- n/c</li>
17205
17206        <li>corrected nested-extern declarations of 'term',
17207        'toplevel', ProgramName, and 'environ' -- n/c.</li>
17208
17209        <li>use Size_t type - n/c.</li>
17210      </ul>
17211    </li>
17212
17213    <li>proto.h:
17214      <ul>
17215        <li>moved definition of SIGNAL_T (and SIGNAL_RETURN) here
17216        from main.c, resize.c to allow use of this symbol in
17217        prototypes (mostly in xterm.h).</li>
17218
17219        <li>added definition 'Size_t' to use as corrected type for
17220        strncpy, malloc sizes - n/c.</li>
17221      </ul>
17222    </li>
17223
17224    <li>resize.c:
17225      <ul>
17226        <li>moved SIGNAL_T definition to proto.h -- n/c.</li>
17227
17228        <li>use Size_t type - n/c.</li>
17229      </ul>
17230    </li>
17231
17232    <li>screen.c:
17233      <ul>
17234        <li>use Size_t type - n/c.</li>
17235      </ul>
17236    </li>
17237
17238    <li>tabs.c:
17239      <ul>
17240        <li>corrected nested-extern declaration of 'term' --
17241        n/c</li>
17242      </ul>
17243    </li>
17244
17245    <li>util.c:
17246      <ul>
17247        <li>corrected/supplied parameters to 'TekExpose()' --
17248        changes object (note: 'TekExpose()' doesn't use its
17249        parameters).</li>
17250
17251        <li>corrected nested-extern declaration of
17252        'waiting_for_initial_map' -- n/c.</li>
17253
17254        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
17255        - n/c</li>
17256      </ul>
17257    </li>
17258
17259    <li>xterm.h:
17260      <ul>
17261        <li>prototype 'do_hangup()', 'HandleFocusChange()',
17262        'TekExpose()', 'Error()', 'Exit()' - forces changes in
17263        various places.</li>
17264
17265        <li>adjusted prototypes that pass 'Boolean' arguments to
17266        use 'int' (this is the "correct" ANSI approach to extended
17267        compiles; it's worth mentioning that gcc doesn't meet the
17268        ANSI spec here). I used gcc -Wconversion to find these, but
17269        there's a lot of unrelated warnings that are due to setting
17270        NARROWPROTO in the config - n/c.</li>
17271
17272        <li>renamed 'term' parameters to avoid gcc -Wshadow warning
17273        - n/c</li>
17274      </ul>
17275    </li>
17276  </ul>
17277
17278  <h1><a name="xterm_01" id="xterm_01">Patch #1 - 1996/1/6</a></h1>
17279
17280  <p>This is my first cleanup patch for xterm. It addresses all of
17281  the gcc warnings for -Wall, -Wmissing-prototypes and
17282  -Wstrict-prototypes that I can change without modifying the
17283  object code. (I'm compiling this with gcc 2.7.0 for an aout
17284  target, which makes it simple to compare objects. When I do
17285  ELF-only, I've got a tool that compares that sort of thing as
17286  well).</p>
17287
17288  <p>Briefly, this patch adds (and uses) two header files in the
17289  xterm directory:</p>
17290
17291  <pre>
17292        proto.h
17293        xterm.h
17294</pre>
17295  <p>I expect this to be the biggest patch by far. However (barring
17296  a misplaced prototype), it shouldn't break anything, since the
17297  intent of the patch is to provide missing declarations.</p>
17298</body>
17299</html>
17300